:root{--font-body:"Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display:"Bahnschrift SemiBold", "Avenir Next", "Segoe UI Variable Display", "PingFang SC", sans-serif;--color-wallpaper-top:#f6ede2;--color-wallpaper-mid:#edf2f8;--color-wallpaper-bottom:#dce6f2;--color-text-primary:#162739;--color-text-secondary:#5c6c81;--color-text-tertiary:#8794a8;--color-line:#1220331a;--color-line-strong:#1220332e;--color-accent:#1e63ff;--color-accent-soft:#1e63ff1f;--color-accent-ink:#1851bf;--color-shell:#ffffffa3;--color-shell-strong:#ffffffd6;--color-panel-strong:#fffffff0;--color-shadow:#15253b1a;--transition-fast:.22s cubic-bezier(.22, 1, .36, 1);--transition-normal:.32s cubic-bezier(.22, 1, .36, 1);--content-max-width:1200px;--content-padding:24px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px)}[data-theme=dark]{--color-wallpaper-top:#111925;--color-wallpaper-mid:#142134;--color-wallpaper-bottom:#101924;--color-text-primary:#edf3fc;--color-text-secondary:#afbbcc;--color-text-tertiary:#7f8ca0;--color-line:#ffffff1a;--color-line-strong:#ffffff29;--color-accent:#72a3ff;--color-accent-soft:#72a3ff24;--color-accent-ink:#a9c7ff;--color-shell:#17212fb8;--color-shell-strong:#1e2a3ce0;--color-panel-strong:#182332e6;--color-shadow:#00000042}@media (width<=768px){:root{--content-padding:16px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%}body{min-height:100dvh;font-family:var(--font-body);color:var(--color-text-primary);background:radial-gradient(circle at 0% 12%, #ffb57e2e, transparent 22%), radial-gradient(circle at 100% 0%, #428dff29, transparent 26%), linear-gradient(180deg, var(--color-wallpaper-top) 0%, var(--color-wallpaper-mid) 52%, var(--color-wallpaper-bottom) 100%);line-height:1.6;position:relative}body:before,body:after{content:"";pointer-events:none;z-index:0;position:fixed;inset:0}body:before{background-color:#0000;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;-webkit-mask-image:linear-gradient(#0006,#0000 86%);mask-image:linear-gradient(#0006,#0000 86%)}body:after{filter:blur(28px);background:radial-gradient(circle at 16% 20%,#ffffff61,#0000 12%),radial-gradient(circle at 84% 14%,#ffffff38,#0000 14%)}#root{min-height:inherit;z-index:1;position:relative}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}input{border:none}::selection{background:var(--color-accent);color:#f8fbff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#5a6e8866;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#5a6e8899}.header{z-index:120;padding-top:var(--safe-area-top);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);position:sticky;top:0}.header-inner{max-width:var(--content-max-width);padding:14px calc(var(--content-padding) + var(--safe-area-right)) 10px calc(var(--content-padding) + var(--safe-area-left));grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:14px;margin:0 auto;display:grid}.header-brand{flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.header-caption{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px}.header-title{font-family:var(--font-display);letter-spacing:-.05em;color:var(--color-text-primary);font-size:20px}.header-button{background:var(--color-shell);border:1px solid var(--color-line);width:42px;height:42px;color:var(--color-text-primary);transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);border-radius:14px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex;box-shadow:0 12px 24px #15253b14}.header-button:hover{background:var(--color-shell-strong);border-color:var(--color-line-strong);transform:translateY(-1px)}.header-button.is-theme{color:var(--color-accent-ink)}@media (width<=520px){.header-inner{padding-top:12px}.header-title{font-size:18px}}.app-card{min-width:0;height:196px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);background:linear-gradient(#fffffff5,#f7f9fde0);border:1px solid #12203314;border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:14px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 18px 40px #15253b14}.app-card:before{content:"";background:var(--app-tone-wash);filter:blur(12px);pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-18px}.app-card--feature{height:268px;padding:22px}.app-card-topline,.app-card-footer{z-index:1;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:relative}.app-card-emblem{aspect-ratio:1;background:linear-gradient(135deg, var(--app-tone-top), var(--app-tone-bottom));width:44px;color:var(--app-tone-ink);letter-spacing:-.06em;box-shadow:inset 0 1px 0 #ffffff4d, 0 14px 30px var(--app-tone-shadow);border-radius:16px;place-items:center;font-size:14px;font-weight:800;display:grid}.app-card--feature .app-card-emblem{border-radius:22px;width:62px;font-size:17px}.app-card-badge{background:var(--app-tone-pill);max-width:100%;min-height:24px;color:var(--app-tone-pill-ink);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.app-card-content{z-index:1;flex-direction:column;justify-content:flex-start;gap:8px;min-height:0;display:flex;position:relative}.app-card-title{font-family:var(--font-display);letter-spacing:-.05em;color:var(--color-text-primary);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;line-height:1.1;display:-webkit-box;overflow:hidden}.app-card--feature .app-card-title{font-size:24px}.app-card-description{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.app-card-domain{min-width:0;color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.app-card-arrow{color:var(--color-text-secondary);flex-shrink:0;font-size:16px}.app-card-footer{align-items:center;min-width:0}.tone-coast{--app-tone-top:#1769ff;--app-tone-bottom:#68a1ff;--app-tone-ink:#eef5ff;--app-tone-pill:#1769ff1a;--app-tone-pill-ink:#1851bf;--app-tone-wash:#1769ff2e;--app-tone-shadow:#1769ff2e}.tone-sun{--app-tone-top:#ff9e3d;--app-tone-bottom:#ffcf63;--app-tone-ink:#530;--app-tone-pill:#ff9e3d24;--app-tone-pill-ink:#b46207;--app-tone-wash:#ff9e3d2e;--app-tone-shadow:#ff9e3d2e}.tone-mint{--app-tone-top:#0fa89a;--app-tone-bottom:#6ed4c7;--app-tone-ink:#f0fffc;--app-tone-pill:#0fa89a1f;--app-tone-pill-ink:#0d7c72;--app-tone-wash:#0fa89a29;--app-tone-shadow:#0fa89a2e}.tone-ember{--app-tone-top:#ff6b47;--app-tone-bottom:#ff9f76;--app-tone-ink:#fff2ed;--app-tone-pill:#ff6b471f;--app-tone-pill-ink:#bf452a;--app-tone-wash:#ff6b472e;--app-tone-shadow:#ff6b472e}.tone-ink{--app-tone-top:#23354f;--app-tone-bottom:#526883;--app-tone-ink:#eef4ff;--app-tone-pill:#23354f1a;--app-tone-pill-ink:#23354f;--app-tone-wash:#23354f29;--app-tone-shadow:#23354f33}[data-theme=dark] .app-card{background:linear-gradient(#1b2535f0,#161f2ce0);border-color:#ffffff14;box-shadow:inset 0 1px #ffffff0a,0 20px 44px #00000047}[data-theme=dark] .app-card-badge{color:var(--color-text-secondary);background:#ffffff14}@container (width<=150px){.app-card{border-radius:18px;gap:8px;height:148px;padding:12px}.app-card-topline{flex-direction:column;align-items:flex-start}.app-card-title{font-size:14px}.app-card-description,.app-card-arrow{display:none}.app-card-domain{font-size:10px}}.app-shell{min-height:100dvh}.portal-main{max-width:var(--content-max-width);padding:8px calc(var(--content-padding) + var(--safe-area-right)) calc(36px + var(--safe-area-bottom)) calc(var(--content-padding) + var(--safe-area-left));flex-direction:column;gap:18px;margin:0 auto;display:flex}.row-section,.menu-sheet{border:1px solid var(--color-line);box-shadow:inset 0 1px 0 #ffffff80, 0 24px 48px var(--color-shadow)}.row-section{background:linear-gradient(#ffffffdb,#f8faffc7);border-radius:30px;padding:22px;animation:.42s cubic-bezier(.22,1,.36,1) rise-in}.panel-kicker,.menu-label{letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px;font-weight:700}.row-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.row-heading h1,.menu-sheet h2{font-family:var(--font-display);letter-spacing:-.06em;color:var(--color-text-primary);margin-top:8px;font-size:30px;line-height:1.02}.row-heading p{max-width:30rem;color:var(--color-text-secondary);margin-top:10px;font-size:14px;line-height:1.7}.app-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.app-link{min-width:0;height:100%;color:inherit;display:block;container-type:inline-size}.app-link:hover .app-card,.menu-close:hover{transform:translateY(-2px)}.app-link:hover .app-card{border-color:#1e63ff2e;box-shadow:inset 0 1px #ffffffb8,0 26px 52px #15253b1f}.menu-backdrop{z-index:180;padding:calc(80px + var(--safe-area-top)) 16px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e162342;justify-content:flex-start;display:flex;position:fixed;inset:0}.menu-sheet{width:min(100%,360px);max-height:calc(100dvh - var(--safe-area-top) - 96px);overscroll-behavior:contain;background:linear-gradient(#fffffff2,#f8faffe0);border-radius:30px;flex-direction:column;gap:18px;padding:22px;display:flex;overflow-y:auto}.menu-sheet-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.menu-close{background:var(--color-shell);border:1px solid var(--color-line);min-height:40px;color:var(--color-text-primary);transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.menu-sheet-group{flex-direction:column;gap:10px;display:flex}.menu-link{background:#ffffffb8;border:1px solid #12203314;border-radius:20px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.menu-link-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.menu-link strong{color:var(--color-text-primary);flex:1}.menu-chip{min-width:28px;min-height:22px;color:var(--color-accent-ink);background:#1e63ff1a;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.menu-link-meta,.menu-link-desc{margin:0;display:block}.menu-link-meta{color:var(--color-text-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.menu-link-desc{color:var(--color-text-secondary);font-size:14px;line-height:1.6}[data-theme=dark] .row-section,[data-theme=dark] .menu-sheet,[data-theme=dark] .menu-link{background:linear-gradient(#182332eb,#131c29e0);border-color:#ffffff14}[data-theme=dark] .menu-link{box-shadow:inset 0 1px #ffffff08}[data-theme=dark] .menu-chip{color:#c9ddff;background:#7aa8ff24}[data-theme=dark] .menu-backdrop{background:#070b1180}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.row-section,.menu-sheet{border-radius:26px;padding:18px}.row-heading{flex-direction:column;align-items:flex-start}}@media (width<=520px){.portal-main{padding-top:4px}.row-heading h1,.menu-sheet h2{font-size:24px}}@media (prefers-reduced-motion:reduce){.row-section{animation:none}.app-link:hover .app-card,.menu-close:hover{transform:none}}
