html,body{color:#1e1e2e;background:#f5f5f7;height:100%;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.shell{flex-direction:column;height:100vh;display:flex}header{color:#fff;background:#1e1e2e;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 1rem;display:flex}header a{color:#cdd6f4;margin-left:1rem;text-decoration:none}header a:hover{color:#fff}header .brand{margin-left:0;font-weight:600}main{flex:1;min-height:0;display:flex;overflow:auto}.home{width:100%;max-width:960px;margin:0 auto;padding:2rem 1rem}.home h1{margin-top:0}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.card{color:inherit;background:#fff;border:1px solid #e0e0e6;border-radius:10px;padding:1.25rem;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}.card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}.card h2{margin:0 0 .5rem;font-size:1.15rem}.card p{color:#5c5f77;margin:0;font-size:.95rem}.frame-page{flex-direction:column;flex:1;min-height:0;display:flex}.frame-bar{text-align:right;background:#313244;padding:.25rem 1rem;font-size:.85rem}.frame-bar a{color:#cdd6f4;text-decoration:none}.service-frame{border:0;flex:1;width:100%}.not-found{text-align:center;margin:auto}