:root{--bg: #f7f8fa;--surface: #ffffff;--surface-2: #f4f5f7;--surface-3: #eceef1;--border: #e8eaee;--border-faint: #f1f2f5;--border-strong: #d9dce2;--ink: #101828;--ink-2: #475467;--ink-3: #98a2b3;--accent: #4f46e5;--accent-ink: #4338ca;--accent-soft: color-mix(in srgb, var(--accent) 7%, #fff);--accent-ring: color-mix(in srgb, var(--accent) 18%, transparent);--neon-cyan: #06b6d4;--neon-violet: #7c5cff;--neon-magenta: #ec4899;--grad: linear-gradient(135deg, #06b6d4 0%, #7c5cff 55%, #ec4899 100%);--ok: #12a15e;--warn: #d98412;--err: #e0424d;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--pad-card: var(--sp-6);--pad-card-sm: var(--sp-4);--gap-card: var(--sp-5);--gap-section: var(--sp-10);--page-x: clamp(16px, 4vw, 72px);--page-y: clamp(24px, 5vh, 64px);--gutter: var(--page-x);--v-space: var(--page-y);--font-sans: "Inter", "Noto Sans SC", "PingFang SC", "HarmonyOS Sans", "Microsoft YaHei", system-ui, sans-serif;--font-display: "Inter", "Noto Sans SC", "PingFang SC", "HarmonyOS Sans", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-display: clamp(28px, 2.1vw, 46px);--fs-h1: clamp(20px, 1vw + 15px, 28px);--fs-h2: clamp(16px, .45vw + 14px, 19px);--fs-h3: clamp(14.5px, .25vw + 13.6px, 16px);--fs-body: clamp(14.5px, .3vw + 13.4px, 16px);--fs-sm: clamp(13px, .2vw + 12.4px, 14px);--fs-cap: clamp(12px, .15vw + 11.6px, 13px);--lh-tight: 1.24;--lh-snug: 1.45;--lh-body: 1.7;--ls-tight: -.022em;--ls-normal: -.005em;--ls-wide: .06em;--radius-card: 16px;--radius-modal: 20px;--radius-input: 12px;--radius-btn: 999px;--sh-card: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .03);--sh-hover: 0 10px 26px -8px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .04);--sh-pop: 0 20px 50px -12px rgba(16, 24, 40, .18), 0 4px 12px rgba(16, 24, 40, .06);--sh-1: var(--sh-card);--sh-2: var(--sh-card);--ease: cubic-bezier(.215, .61, .355, 1);--ease-apple: cubic-bezier(.28, .11, .32, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--d-fast: .15s;--d-base: .3s;--d-slow: .5s;--d-apple: .7s;--nav-h: clamp(64px, 5.4vh, 88px);--max-read: 100%;--max-grid: 100%;--max-page: 100%}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}html,body,#root{width:100%;min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-normal);font-feature-settings:"cv11","ss01";touch-action:manipulation;-webkit-tap-highlight-color:transparent;overflow-x:hidden}body:before{content:"";position:fixed;inset:0 0 auto 0;height:42vh;z-index:-1;pointer-events:none;background:radial-gradient(90vw 42vh at 50% -12%,rgba(79,70,229,.045),transparent 70%)}#root{display:flex;flex-direction:column;min-height:100dvh}#root>main{flex:1 0 auto;width:100%}h1,h2,h3,h4{margin:0;font-weight:600;color:var(--ink);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}p{margin:0}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}button,input,textarea,select{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}::selection{background:color-mix(in srgb,var(--accent) 18%,transparent)}.grad-text::selection,.f-about::selection{background:#6d28d9;color:#fff;-webkit-text-fill-color:#fff}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}.t-h1{font-size:var(--fs-h1);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.t-h2{font-size:var(--fs-h2);font-weight:600;line-height:var(--lh-snug)}.t-h3{font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug)}.t-sm{font-size:var(--fs-sm)}.t-cap{font-size:var(--fs-cap);color:var(--ink-3);line-height:var(--lh-snug)}.num{font-variant-numeric:tabular-nums;letter-spacing:var(--ls-tight)}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.en{font-size:11px;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-3);font-weight:500}.page{width:100%;max-width:100%;margin:0 auto;padding:var(--page-y) var(--page-x) calc(var(--page-y) + var(--sp-8))}.read{max-width:100%;margin:0}.nav-inner{display:flex;align-items:center;gap:clamp(6px,.8vw,16px);width:100%;max-width:100%;margin:0 auto;padding:0 var(--page-x);height:var(--nav-h)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(260px,22vw,360px)),1fr));gap:var(--gap-card)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:var(--gap-card)}.dash-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--gap-card)}@media (max-width: 899px){.dash-grid{grid-template-columns:1fr}}.section{margin-top:var(--gap-section)}.section:first-child{margin-top:0}.row{display:flex;align-items:center;gap:var(--sp-2)}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.col{display:flex;flex-direction:column;gap:var(--sp-3)}.gap-4{gap:var(--sp-1)}.gap-8{gap:var(--sp-2)}.gap-16{gap:var(--sp-4)}.mt-4{margin-top:var(--sp-1)}.mt-8{margin-top:var(--sp-2)}.mt-16{margin-top:var(--sp-4)}.bar{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar>i{display:block;height:100%;border-radius:999px;transition:width var(--d-slow) var(--ease)}.grow{flex:1}.center{text-align:center}.icon{width:1em;height:1em;display:inline-block;vertical-align:-.14em;flex:0 0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--pad-card);box-shadow:var(--sh-card);position:relative;overflow:hidden;transition:border-color var(--d-base) var(--ease),box-shadow var(--d-base) var(--ease),transform var(--d-base) var(--ease)}.card.interactive{cursor:pointer}.card.interactive:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--sh-hover)}.card.interactive:active{transform:translateY(0)}.card.accent{border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.card.accent:before{content:"";position:absolute;inset:0 auto auto 0;width:3px;height:100%;background:var(--grad)}.card.tight{padding:var(--pad-card-sm)}.card-title{font-size:var(--fs-h2);font-weight:600}.card.spot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--accent) 5%,transparent),transparent 70%);opacity:0;transition:opacity var(--d-base) var(--ease)}.card.spot:hover:after{opacity:1}.stat{display:flex;flex-direction:column;gap:var(--sp-1)}.stat-label{font-size:var(--fs-cap);color:var(--ink-3)}.stat-value{font-size:clamp(22px,1.6vw,30px);font-weight:700;line-height:1.15;letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums}button{font:inherit;font-size:var(--fs-sm);font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-btn);padding:0 var(--sp-5);min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);transition:background-color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}button:hover{border-color:var(--border-strong);background:var(--surface-2)}button:active{transform:scale(.985)}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{transform:none;border-color:var(--border);background:var(--surface)}.btn-primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 1px 2px #10182814}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 90%,#000);border-color:transparent}.btn-primary:disabled,.btn-primary:disabled:hover{background:var(--accent);color:#fff;border-color:transparent}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-text{border-color:transparent;background:none;padding:0 var(--sp-3);color:var(--ink-2);min-height:34px}.btn-text:hover{background:var(--surface-2);border-color:transparent;color:var(--ink)}.btn-danger{color:var(--err);border-color:color-mix(in srgb,var(--err) 26%,var(--border))}.btn-danger:hover{background:color-mix(in srgb,var(--err) 6%,#fff);border-color:color-mix(in srgb,var(--err) 36%,var(--border))}.btn-sm{min-height:32px;padding:0 var(--sp-4);font-size:var(--fs-cap)}.icon-btn{width:38px;height:38px;min-height:38px;padding:0;font-size:16px}.tag{display:inline-flex;align-items:center;gap:var(--sp-1);height:24px;padding:0 var(--sp-3);font-size:var(--fs-cap);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border-faint);border-radius:999px}.chip{border-radius:999px;padding:0 var(--sp-4);min-height:34px;font-size:var(--fs-sm);color:var(--ink-2);background:var(--surface)}.chip:hover{color:var(--ink)}.chip[aria-pressed=true],.chip.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,var(--border));background:var(--accent-soft);font-weight:600}label{display:block;font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:var(--sp-2);font-weight:500}input,textarea,select{font:inherit;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--radius-input);padding:0 var(--sp-4);min-height:42px;background:var(--surface);color:var(--ink);width:100%;transition:border-color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease),background-color var(--d-fast) var(--ease)}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px var(--accent-ring)}textarea{padding:var(--sp-3) var(--sp-4);min-height:96px;resize:vertical;line-height:var(--lh-body)}.field{margin-bottom:var(--sp-4)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.switch{display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer}.switch input{width:auto;min-height:0;accent-color:var(--accent)}.sel-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:0 var(--sp-4);font:inherit;font-size:var(--fs-sm);text-align:left;border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.sel-btn:hover:not(:disabled){border-color:var(--border-strong)}.sel-btn:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px var(--accent-ring)}.sel-btn:disabled{opacity:.55;cursor:not-allowed}.sel-chev{display:grid;place-items:center;flex:0 0 auto;color:var(--ink-3);transition:transform .18s var(--ease)}.sel-chev.up{transform:rotate(180deg)}.sel-menu{position:fixed;z-index:70;margin:0;padding:6px;list-style:none;display:grid;gap:2px;align-content:start;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #10182824;animation:sel-pop .16s var(--ease) both}@keyframes sel-pop{0%{opacity:0;transform:translateY(-4px)}}.sel-opt{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:0 10px;border-radius:9px;font-size:var(--fs-sm);color:var(--ink);cursor:pointer}.sel-opt.on{background:var(--surface-2)}.sel-opt.sel{color:var(--accent);font-weight:600}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.tbl th{text-align:left;font-weight:500;color:var(--ink-3);font-size:var(--fs-cap);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-faint);color:var(--ink-2);vertical-align:top}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--surface-2)}.toast-wrap{position:fixed;left:50%;top:calc(var(--sp-5) + env(safe-area-inset-top));transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:var(--sp-2);align-items:center;pointer-events:none}.toast{background:var(--surface);color:var(--ink);border:1px solid var(--border-faint);padding:var(--sp-3) var(--sp-5);border-radius:999px;font-size:var(--fs-sm);box-shadow:var(--sh-pop);animation:toast-in var(--d-base) var(--ease-apple)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.96)}}@keyframes bar-in{0%{transform:scaleY(0)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182852;z-index:60;display:grid;place-items:center;padding:var(--sp-5);animation:fade-in var(--d-base) var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-modal);width:min(560px,100%);max-height:86vh;overflow:auto;padding:var(--sp-6);box-shadow:var(--sh-pop);animation:modal-in var(--d-base) var(--ease-apple)}@keyframes modal-in{0%{opacity:0;transform:scale(.97) translateY(8px)}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-5)}.dlg-overlay{z-index:100}.dlg{width:min(400px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-modal);padding:var(--sp-6);text-align:center;box-shadow:var(--sh-pop);animation:modal-in var(--d-base) var(--ease-apple)}.dlg-icon{width:44px;height:44px;margin:0 auto var(--sp-3);border-radius:50%;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 16%,transparent)}.dlg-icon.bad{color:var(--err);background:color-mix(in srgb,var(--err) 8%,#fff);border-color:color-mix(in srgb,var(--err) 20%,transparent)}.dlg-title{font-size:var(--fs-h2);font-weight:650;color:var(--ink);letter-spacing:var(--ls-tight)}.dlg-desc{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body);white-space:pre-wrap;word-break:break-word}.dlg-input-row{margin-top:var(--sp-4)}.dlg-input-row input{width:100%;text-align:center;letter-spacing:.04em}.dlg-btns{display:flex;gap:var(--sp-3);margin-top:var(--sp-5)}.btn-dlg{flex:1;min-width:0;padding:10px 0;border-radius:var(--radius-btn);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:var(--fs-body);font-weight:550;cursor:pointer;transition:background var(--d-fast) var(--ease),color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease)}.btn-dlg:hover{background:var(--surface-2);color:var(--ink)}.btn-dlg.good{background:var(--accent);border-color:var(--accent);color:#fff}.btn-dlg.good:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.btn-dlg.good:disabled{opacity:.45;cursor:not-allowed}.btn-dlg.bad{background:var(--err);border-color:var(--err);color:#fff}.btn-dlg.bad:hover{background:color-mix(in srgb,var(--err) 86%,#000);border-color:color-mix(in srgb,var(--err) 86%,#000);color:#fff}.dlg-shake{animation:dlg-shake .4s var(--ease)}@keyframes dlg-shake{20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.yz{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-5);background:var(--bg)}.yz-card{width:min(380px,100%);max-height:none}.yz-brand{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-5)}.yz-badge{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--grad);color:#fff;font-weight:700;font-size:14px;flex:0 0 auto}.yz-name{font-weight:700;font-size:var(--fs-h2)}.yz-sub{font-size:var(--fs-sm);color:var(--ink-3)}.yz-tip{color:var(--ink-2);margin-top:var(--sp-2)}.yz-err{color:var(--err);margin-top:6px}.yz-lock{color:var(--warn);margin-top:6px}.sk{background:var(--surface-2);border-radius:10px;animation:sk-breathe 1.5s var(--ease) infinite}@keyframes sk-breathe{0%,to{opacity:.6}50%{opacity:1}}.empty{display:grid;place-items:center;gap:var(--sp-3);padding:var(--sp-12) var(--sp-5);text-align:center;color:var(--ink-3)}.rise,.rise-in{animation:rise var(--d-base) var(--ease-apple) both;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.fade-in{animation:fade-in var(--d-base) var(--ease) both}.pop{animation:pop var(--d-base) var(--ease-spring) both}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.grad-text{background:var(--grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-flow 20s linear infinite}@keyframes gradient-flow{to{background-position:220% 0}}.shiny{position:relative;overflow:hidden}.shiny:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%);transform:translate(-130%);pointer-events:none}.shiny:hover:after{animation:shiny-sweep .9s var(--ease)}@keyframes shiny-sweep{to{transform:translate(130%)}}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes star-spin{to{--angle: 360deg}}.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--d-slow) var(--ease-apple),transform var(--d-slow) var(--ease-apple)}.reveal.shown{opacity:1;transform:none}::view-transition-old(root){animation:vt-out .14s var(--ease) both}::view-transition-new(root){animation:vt-in var(--d-slow) var(--ease-apple) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}.navbar{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);position:sticky;top:0;z-index:40;width:100%}.nav-brand{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer}.nav-badge{width:clamp(32px,2vw,40px);height:clamp(32px,2vw,40px);border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:clamp(15px,.5vw + 13px,19px);background:var(--grad);box-shadow:0 2px 8px #10182824}.nav-name{font-weight:700;font-size:clamp(17px,.5vw + 15px,22px);letter-spacing:-.015em}.nav-sub{font-size:clamp(12px,.2vw + 11.4px,13.5px);letter-spacing:var(--ls-wide)}.nav-links{margin-left:auto;gap:var(--sp-1)}.nav-burger{margin-left:auto;width:44px;height:44px;min-height:44px}.nav-drawer{align-items:stretch;padding:0}.nav-sheet{width:100%;border-radius:0;padding-top:calc(18px + env(safe-area-inset-top));background:var(--surface)}.nav-sheet-item{display:flex;align-items:center;gap:var(--sp-3);text-align:left;min-height:54px;padding-left:var(--sp-4);font-size:var(--fs-h3);border-radius:var(--radius-input);border-color:transparent;background:none}.nav-sheet-item:hover{background:var(--surface-2);border-color:transparent;transform:none}.nav-sheet-item[aria-current=page]{color:var(--accent);font-weight:600;background:var(--accent-soft)}.nav-item{border-color:transparent;background:none;box-shadow:none;padding:0 var(--sp-4);min-height:44px;font-size:clamp(14px,.3vw + 13px,16px);color:var(--ink-2);position:relative;border-radius:999px;transition:color var(--d-fast) var(--ease),background-color var(--d-fast) var(--ease)}.nav-item:hover{color:var(--ink);background:var(--surface-2);border-color:transparent;transform:none}.nav-item[aria-current=page]{color:var(--ink);font-weight:600}.nav-item[aria-current=page]:after{content:"";position:absolute;left:var(--sp-4);right:var(--sp-4);bottom:0;height:2px;border-radius:2px;background:var(--grad);transform-origin:left;animation:grow-line .35s var(--ease-apple)}@keyframes grow-line{0%{transform:scaleX(0)}}.site-footer{position:relative;padding:var(--sp-10) var(--page-x) calc(var(--sp-10) + env(safe-area-inset-bottom))}.footer-inner{position:relative;width:100%;max-width:100%;margin:0 auto;text-align:center;font-size:var(--fs-cap);color:var(--ink-3)}.f-line1{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px 16px}.f-line2{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px 20px;margin:10px 0 0}.f-line2 a{color:var(--ink-3);text-decoration:none;border-bottom:1px dashed var(--border-strong);transition:color var(--d-fast) var(--ease)}.f-line2 a:hover{color:var(--ink-1)}.f-about{padding:0;border:none;font:inherit;letter-spacing:inherit;font-weight:600;cursor:pointer}.f-about:hover,.f-about[aria-expanded=true]{background:var(--grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;border-color:transparent}.f-about-card{position:absolute;bottom:calc(100% + 18px);left:50%;translate:-50% 0;z-index:46;width:min(600px,calc(100vw - 40px));padding:30px 34px 28px;text-align:left;background:var(--surface);border:1px solid var(--border-faint);border-radius:20px;box-shadow:0 24px 60px -18px #1018282e,0 4px 14px #1018280f;animation:f-about-in .3s var(--ease-apple)}.f-about-title{margin:0;font-weight:650;font-size:1.15rem;color:var(--ink-1);letter-spacing:.08em}.f-about-rule{width:34px;height:3px;border-radius:999px;margin:14px 0 16px;background:linear-gradient(90deg,#06b6d4,#ec4899)}.f-about-body{margin:0;font-size:var(--fs-body);line-height:2.05;color:var(--ink-2);letter-spacing:.02em}@keyframes f-about-in{0%{opacity:0;translate:-50% 12px}to{opacity:1;translate:-50% 0}}.back-top{position:fixed;right:var(--sp-5);bottom:calc(var(--sp-5) + env(safe-area-inset-bottom));z-index:45;width:42px;height:42px;min-height:42px;padding:0;border-radius:999px;background:var(--surface);box-shadow:var(--sh-hover);display:grid;place-items:center;font-size:16px;animation:pop var(--d-base) var(--ease-spring)}.fb-todo{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-faint);border-radius:var(--radius-btn);background:var(--surface-2)}.fb-todo .btn-sm{flex:0 0 auto}@media (max-width: 767px){.fb-todo{flex-direction:column}.fb-todo .btn-sm{align-self:flex-end}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}html[data-motion=off] .reveal{opacity:1;transform:none}@media (max-width: 1023px){:root{--gap-section: var(--sp-8);--pad-card: var(--sp-5)}}@media (max-width: 767px){:root{--gap-card: var(--sp-4);--gap-section: var(--sp-6);--pad-card: var(--sp-4);--page-y: var(--sp-6)}.form-grid{grid-template-columns:1fr}.overlay{align-items:end;padding:0}.modal{width:100%;max-height:90vh;border-radius:var(--radius-modal) var(--radius-modal) 0 0;animation:sheet-up var(--d-base) var(--ease-apple);padding-bottom:calc(var(--sp-6) + env(safe-area-inset-bottom))}@keyframes sheet-up{0%{transform:translateY(100%)}}.nav-desktop{display:none!important}.back-top{right:var(--sp-4)}}@media (min-width: 768px){.nav-mobile{display:none!important}}.gate{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-content:safe center;gap:clamp(12px,2vh,26px);padding:clamp(16px,3vh,40px) var(--page-x);position:relative;overflow:hidden auto;cursor:pointer;background:radial-gradient(120% 120% at 50% 18%,#ffffff 0%,var(--bg) 52%,#eaf0f9 100%);transition:transform 1.4s var(--ease),filter 1.4s var(--ease)}.gate:focus-within{cursor:auto}.gate.flying{transform:scale(1.12);filter:blur(6px)}.gate-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.gate-star{position:absolute;width:4px;height:4px;border-radius:50%;opacity:.8;animation:gate-twinkle 3s ease-in-out infinite}@keyframes gate-twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2)}}.gate-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.gate-orbs i{position:absolute;border-radius:50%;filter:blur(clamp(28px,3.4vw,80px));opacity:.16;animation:gate-orb 14s ease-in-out infinite alternate}.gate-orbs i:nth-child(1){width:24vmax;height:24vmax;left:-8%;top:-14%;background:var(--neon-cyan)}.gate-orbs i:nth-child(2){width:16vmax;height:16vmax;right:-6%;top:22%;background:var(--neon-violet);animation-duration:17s}.gate-orbs i:nth-child(3){width:11vmax;height:11vmax;left:30%;bottom:-16%;background:var(--neon-magenta);animation-duration:20s}@keyframes gate-orb{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(4%,6%,0) scale(1.12)}}.gate-sentence{z-index:1;text-align:center;max-width:min(100%,860px);font-size:clamp(26px,2.6vw + 14px,54px);font-weight:700;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:var(--ink);transition:transform var(--d-slow) var(--ease-apple),opacity var(--d-slow) var(--ease-apple)}.gate-sentence.out{animation:sentence-out var(--d-slow) var(--ease) both}.gate-sentence.final{transform:scale(.72);opacity:.9}@keyframes sentence-out{to{opacity:0;transform:translateY(-16px) scale(.94);filter:blur(6px)}}.gate-card{z-index:1;width:min(clamp(330px,32vw,480px),calc(100% - var(--page-x) * 2));padding:clamp(24px,2.2vw,36px) clamp(22px,2.2vw,38px) clamp(18px,1.8vw,26px);border-radius:var(--radius-modal);overflow:hidden;position:relative;cursor:auto;text-align:center;background:color-mix(in srgb,#ffffff 84%,transparent);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:var(--sh-pop),0 1px #ffffffe6 inset;animation:card-up .9s var(--ease-spring) .12s both}.gate-card:after{content:"✦";position:absolute;right:14px;bottom:8px;font-size:30px;line-height:1;color:color-mix(in srgb,var(--accent) 10%,transparent);pointer-events:none}@keyframes card-up{0%{opacity:0;transform:translateY(28px) scale(.96);filter:blur(4px)}}.gate-q{font-size:var(--fs-h1);font-weight:600;margin:var(--sp-1) 0 var(--sp-5)}.gate-answer{position:relative;width:100%}.gate-input{border:none;border-bottom:1px solid var(--border-strong);border-radius:0;background:transparent;text-align:center;font-size:var(--fs-h2);font-weight:500;min-height:44px;padding:var(--sp-1) var(--sp-2) var(--sp-3)}.gate-input:hover,.gate-input:focus{border-bottom-color:transparent;box-shadow:none}.gate-underline{position:absolute;left:50%;bottom:0;height:2px;width:0;border-radius:2px;transform:translate(-50%);background:var(--grad);transition:width .5s var(--ease-apple)}.gate-answer:focus-within .gate-underline{width:100%}.gate-submit{width:100%;min-height:46px;margin-top:var(--sp-5);font-size:var(--fs-body)}.gate-submit:disabled{background:var(--surface-3);color:var(--ink-3);border-color:transparent}.gate-note{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-top:var(--sp-3);padding:5px var(--sp-3);border-radius:var(--radius-btn);font-size:var(--fs-cap);color:var(--ink-3);text-align:left;background:var(--surface-2);border:1px solid var(--border-faint)}.gate-note.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,#fff);border-color:color-mix(in srgb,var(--warn) 24%,var(--border-faint))}.gate-note.err{color:var(--err);background:color-mix(in srgb,var(--err) 8%,#fff);border-color:color-mix(in srgb,var(--err) 24%,var(--border-faint))}.gate-note svg{flex:0 0 auto}.gate-welcome{font-size:var(--fs-h2);font-weight:600;padding:var(--sp-2) 0 var(--sp-3)}.gate-card.shake{animation:shake .4s var(--ease)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.gate-skip{position:absolute;bottom:clamp(18px,4vh,42px);left:0;right:0;z-index:1;text-align:center;font-size:var(--fs-cap);color:var(--ink-3);animation:gate-skip-in 1.2s var(--ease) .9s both}@keyframes gate-skip-in{0%{opacity:0;transform:translateY(6px)}}.gate-skip.gate-start{font-size:var(--fs-sm);color:var(--ink-2);animation-delay:.5s}.gate-start:after{content:"";display:block;width:34px;height:1.5px;margin:10px auto 0;background:var(--grad);border-radius:999px;animation:gate-skip-in 1.2s var(--ease) 1s both}@media (max-width: 767px){.gate-sentence{font-size:clamp(24px,6.4vw,34px)}.gate-orbs i{opacity:.12}}@media (prefers-reduced-motion: reduce){.gate-star,.gate-orbs i{animation:none}.gate-sentence.final{transform:none;opacity:1}}.home{position:relative;overflow:clip;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);column-gap:clamp(36px,6vw,96px)}.h-aurora{position:fixed;top:-12vh;right:0;bottom:-12vh;left:0;z-index:-1;pointer-events:none;transform:translate3d(0,calc(var(--sp, 0) * -9vh),0);filter:hue-rotate(calc(var(--sp, 0) * 52deg));will-change:transform,filter}.au{position:absolute;border-radius:50%;translate:calc(var(--mx, 0) * var(--depth, 1) * 1.4vw) calc(var(--my, 0) * var(--depth, 1) * 2vh);transition:translate .12s linear}.au-1{--depth: 1.5;width:62vw;height:62vw;top:-8vw;right:-14vw;background:radial-gradient(closest-side,#06b6d438,#06b6d400 74%);animation:au-drift-1 46s var(--ease) infinite}.au-2{--depth: 1;width:56vw;height:56vw;top:20vh;left:-18vw;background:radial-gradient(closest-side,#7c5cff33,#7c5cff00 74%);animation:au-drift-2 38s var(--ease) infinite}.au-3{--depth: 1.2;width:58vw;height:58vw;bottom:-12vw;left:14vw;background:radial-gradient(closest-side,#ec48992b,#ec489900 74%);animation:au-drift-3 54s var(--ease) infinite}.au-flow{position:absolute;top:6%;right:6%;bottom:6%;left:6%;background:conic-gradient(from 0deg at 50% 58%,#06b6d40f,#7c5cff12 30%,#ec48990d 62%,#06b6d40f);filter:blur(72px);animation:flow-rot 80s linear infinite}@keyframes flow-rot{to{transform:rotate(1turn)}}@keyframes au-drift-1{0%,to{transform:translateZ(0) scale(1);opacity:1}33%{transform:translate3d(-7vw,5vh,0) scale(1.16);opacity:.8}66%{transform:translate3d(4vw,-3vh,0) scale(.9);opacity:.96}}@keyframes au-drift-2{0%,to{transform:translateZ(0) scale(1);opacity:.88}40%{transform:translate3d(6vw,6vh,0) scale(1.12);opacity:1}72%{transform:translate3d(-3vw,-4vh,0) scale(.93);opacity:.8}}@keyframes au-drift-3{0%,to{transform:translateZ(0) scale(1);opacity:1}30%{transform:translate3d(5vw,-6vh,0) scale(1.1);opacity:.82}65%{transform:translate3d(-5vw,3vh,0) scale(.94);opacity:.98}}.h-aurora:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(56% 42% at 50% 42%,#f7f8facc,#f7f8fa00)}.h-left{position:relative;display:flex;flex-direction:column;padding-top:clamp(4px,2vh,24px)}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.h-eyebrow{opacity:0;animation:eye-in .9s var(--ease-apple) forwards}@keyframes eye-in{0%{opacity:0;letter-spacing:.52em}to{opacity:1;letter-spacing:.34em}}.h-core{opacity:0;animation:halo-in 1.1s var(--ease-apple) .18s forwards}@keyframes halo-in{0%{opacity:0;transform:scale(.68)}to{opacity:1;transform:scale(1)}}.h-name{animation:name-in .9s var(--ease-apple) .36s backwards}@keyframes name-in{0%{opacity:0;transform:translateY(18px);filter:blur(8px);letter-spacing:.22em}to{opacity:1;filter:blur(0);letter-spacing:.06em}}.h-say{opacity:0;animation:rise-in .7s var(--ease-apple) .62s forwards}.h-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3);padding-left:.34em}.h-id{display:grid;justify-items:start;gap:clamp(6px,1.2vh,14px)}.h-core{position:relative;display:grid;align-items:center;padding:clamp(18px,3vh,34px) 0}.h-halo{position:absolute;width:clamp(300px,34vw,540px);aspect-ratio:1;left:-6%;translate:calc(var(--mx, 0) * -1.1vw) calc(var(--my, 0) * -1.6vh);background:radial-gradient(closest-side at 38% 32%,#06b6d430,#06b6d400 70%),radial-gradient(closest-side at 62% 40%,#7c5cff2e,#7c5cff00 72%),radial-gradient(closest-side at 50% 68%,#ec489924,#ec489900 70%);animation:halo-breathe 9s ease-in-out 1.5s infinite;transition:translate .16s linear}@keyframes halo-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.86}}.h-name{position:relative;font-size:clamp(64px,9vw,136px);font-weight:250;letter-spacing:.06em;line-height:1.08;translate:calc(var(--mx, 0) * .6vw) calc(var(--my, 0) * .9vh);background:linear-gradient(105deg,var(--ink) 44%,color-mix(in srgb,var(--neon-violet) 42%,var(--ink)) 52%,var(--ink) 60%);background-size:260% 100%;background-position:108% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:name-in .9s var(--ease-apple) .36s backwards,name-sheen 9s ease-in-out 2.8s infinite;transition:translate .2s linear}@keyframes name-sheen{0%,78%{background-position:108% 0}93%,to{background-position:-8% 0}}.h-say{display:inline-flex;align-items:center;gap:11px;padding:12px 24px;border-radius:999px;background:#ffffffad;width:fit-content;border:1px solid var(--border-faint);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 32px -20px #1e202666;font-size:clamp(14px,1.1vw,17px);color:var(--ink-2);letter-spacing:.05em}.say-dot{flex:none;width:8px;aspect-ratio:1;border-radius:50%;background:var(--grad);animation:say-pulse 2.6s ease-out infinite}@keyframes say-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--neon-violet) 34%,transparent)}70%,to{box-shadow:0 0 0 9px transparent}}.h-pills{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2.2vh,22px);margin-top:clamp(18px,3.4vh,34px)}.pill-wrap{position:relative;display:grid}.pill-wrap:nth-child(2n){justify-self:end}.pill-wrap.reveal{transform:scaleX(.22) translateY(14px)}.pill-wrap:nth-child(odd).reveal{transform-origin:0% 50%}.pill-wrap:nth-child(2n).reveal{transform-origin:100% 50%}.pill-wrap.reveal.shown{transform:none;transition:opacity .56s var(--ease-spring),transform .76s var(--ease-spring);transition-delay:calc(var(--pi, 0) * .17s + .14s)}.pill{display:inline-flex;align-items:center;gap:14px;height:66px;padding:0 30px;border-radius:999px;position:relative;overflow:hidden;cursor:pointer;color:var(--ink);border:1px solid color-mix(in srgb,var(--neon-cyan) 20%,var(--border-faint));background:linear-gradient(120deg,color-mix(in srgb,var(--neon-cyan) 11%,#fff),color-mix(in srgb,var(--neon-violet) 9%,#fff));box-shadow:0 14px 34px -18px color-mix(in srgb,var(--neon-cyan) 36%,transparent);transition:transform .34s var(--ease-spring),box-shadow .34s var(--ease);animation:pill-float 8s ease-in-out infinite;animation-delay:calc(var(--pi, 0) * -2.8s)}.pill-1{border-color:color-mix(in srgb,var(--neon-magenta) 20%,var(--border-faint));background:linear-gradient(120deg,color-mix(in srgb,var(--neon-violet) 10%,#fff),color-mix(in srgb,var(--neon-magenta) 12%,#fff));box-shadow:0 14px 34px -18px color-mix(in srgb,var(--neon-magenta) 36%,transparent)}@keyframes pill-float{0%,to{translate:0 0}50%{translate:0 -6px}}.pill:after{content:"";position:absolute;top:-20%;bottom:-20%;width:34%;left:-46%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.72),transparent);transform:skew(-14deg);transition:left .64s var(--ease);pointer-events:none}.pill:hover:after,.pill:focus-visible:after{left:116%}.pill:hover,.pill:focus-visible{transform:translateY(-4px) scale(1.025);outline:none;box-shadow:0 22px 48px -18px color-mix(in srgb,var(--neon-violet) 40%,transparent)}.pill:active{transform:translateY(-2px) scale(.97);transition-duration:.12s}.pill-dot{flex:none;width:8px;aspect-ratio:1;border-radius:50%;background:var(--grad)}.pill-0 .pill-dot{animation:say-pulse 2.6s ease-out infinite}.pill-1 .pill-dot{animation:say-pulse 2.6s ease-out 1.3s infinite}.pill-zh{font-size:17px;font-weight:600;letter-spacing:.1em}.pill .pill-arrow{flex:none;opacity:.26;transform:translate(-5px);transition:opacity var(--d-base) var(--ease),transform var(--d-base) var(--ease)}.pill:hover .pill-arrow,.pill:focus-visible .pill-arrow{opacity:1;transform:none}.deco{position:absolute;pointer-events:none}.deco-ring{width:88px;aspect-ratio:1;top:9%;right:8%;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);animation:deco-sway 12s ease-in-out infinite}.deco-dot{width:12px;aspect-ratio:1;right:20%;top:22%;border-radius:50%;background:color-mix(in srgb,var(--neon-cyan) 42%,transparent);animation:deco-sway 10s ease-in-out infinite reverse}@keyframes deco-sway{0%,to{translate:0 0}50%{translate:0 -12px}}.h-right{display:flex;flex-direction:column;gap:clamp(52px,11vh,104px);padding-block:clamp(12px,4vh,44px) 0}.h-col{display:grid;justify-items:start;gap:var(--sp-3)}.h-cap{display:flex;align-items:center;gap:10px;font-size:var(--fs-cap);letter-spacing:.24em;color:var(--ink-3);text-transform:uppercase}.h-cap i{width:6px;aspect-ratio:1;border-radius:50%;background:var(--grad)}.h-log{list-style:none;margin:var(--sp-2) 0 0;padding:0;width:100%;display:grid;gap:6px}.h-log-row{display:flex;align-items:center;gap:14px;padding:17px 2px;border-bottom:1px dashed var(--border-faint)}.h-log-row:last-child{border-bottom:none}.h-log-row.reveal{transition-delay:calc(var(--i, 0) * 70ms)}.h-dot{flex:none;width:9px;aspect-ratio:1;border-radius:50%;background:var(--grad);opacity:.85}.h-log-row:first-child .h-dot{animation:dot-pulse 2.8s ease-out 1.2s infinite}@keyframes dot-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--neon-violet) 30%,transparent)}70%,to{box-shadow:0 0 0 10px transparent}}.h-log-text{color:var(--ink-2);font-size:var(--fs-body);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h-log-at{margin-left:auto;flex:none;color:var(--ink-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.h-empty{color:var(--ink-3);font-size:var(--fs-sm)}@media (max-width: 899px){.home{grid-template-columns:1fr;row-gap:clamp(40px,8vh,64px)}.h-left{padding-top:clamp(8px,4vh,40px)}.deco{display:none}.h-name{font-size:clamp(58px,15vw,96px)}.h-halo{width:clamp(280px,78vw,420px);left:-4%}.h-pills{flex-direction:row;flex-wrap:wrap;align-items:center}.pill-wrap:nth-child(2n){justify-self:auto}.pill-wrap.reveal{transform-origin:0% 50%}.h-right{padding-top:0}.au-1{width:88vw;height:88vw;top:-16vw;right:-26vw}.au-2{width:80vw;height:80vw;left:-30vw}.au-3{width:82vw;height:82vw;left:0}.au-flow{filter:blur(56px)}.h-log-text{white-space:normal}}@media (max-width: 480px){.h-pills{gap:12px}.pill{height:56px;padding:0 22px;gap:11px}.pill-zh{font-size:15px}}@media (prefers-reduced-motion: reduce){.au,.au-flow,.h-halo,.h-name,.pill,.pill-0 .pill-dot,.pill-1 .pill-dot,.say-dot,.deco,.h-log-row:first-child .h-dot{animation:none}.h-eyebrow,.h-core,.h-say{opacity:1;transform:none}.h-aurora{transform:none;filter:none}.au,.h-halo,.h-name{translate:0 0}.pill-wrap.reveal{transform:none}.pill:after{display:none}}html[data-motion=off] .au,html[data-motion=off] .au-flow,html[data-motion=off] .h-halo,html[data-motion=off] .h-name,html[data-motion=off] .pill,html[data-motion=off] .pill-0 .pill-dot,html[data-motion=off] .pill-1 .pill-dot,html[data-motion=off] .say-dot,html[data-motion=off] .deco,html[data-motion=off] .h-log-row:first-child .h-dot{animation:none}html[data-motion=off] .h-eyebrow,html[data-motion=off] .h-core,html[data-motion=off] .h-say{opacity:1;transform:none}html[data-motion=off] .h-aurora{transform:none;filter:none}html[data-motion=off] .au,html[data-motion=off] .h-halo,html[data-motion=off] .h-name{translate:0 0}html[data-motion=off] .pill-wrap.reveal{transform:none}html[data-motion=off] .pill:after{display:none}.work-tags{display:flex;flex-wrap:wrap;gap:6px}.work-tags i{font-style:normal;font-size:12px;letter-spacing:.04em;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border-faint);border-radius:999px;padding:2px 10px;transition:color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease)}.work-card:hover .work-tags i{color:color-mix(in srgb,var(--wac, var(--accent)) 62%,var(--ink-3));border-color:color-mix(in srgb,var(--wac, var(--accent)) 28%,var(--border-faint))}.work-body .work-tags{margin-top:auto}.work-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.work-pct{font-size:var(--fs-sm);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.work-prog{height:3px;flex:0 0 auto;background:var(--surface-3)}.work-prog>span{display:block;height:100%;background:var(--grad);border-radius:0 999px 999px 0;transform-origin:left;animation:grow-line .8s var(--ease-apple)}.works-grid .work-card:hover{border-color:color-mix(in srgb,var(--wac, var(--accent)) 30%,var(--border));box-shadow:0 16px 36px -14px color-mix(in srgb,var(--wac, var(--accent)) 42%,transparent)}.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--gap-card)}.work-card{padding:0;display:flex;flex-direction:column}.work-cover-wrap{position:relative}.work-cover{position:relative;height:clamp(150px,16vw,240px);overflow:hidden;border-radius:var(--radius-card) var(--radius-card) 0 0}.work-cover.big .idx{position:absolute;left:var(--sp-4);top:var(--sp-2);font-size:clamp(44px,4.4vw,84px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.work-cover.big .wm{position:absolute;right:var(--sp-4);bottom:var(--sp-2);font-size:clamp(13px,1.3vw,20px);font-weight:700;letter-spacing:var(--ls-wide);text-transform:uppercase;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-cover .bub{position:absolute;border-radius:50%;filter:blur(6px);opacity:.55}.work-cover .b1{width:clamp(90px,9vw,200px);height:clamp(90px,9vw,200px);right:-6%;top:-24%;animation:orb-float 9s ease-in-out infinite alternate}.work-cover .b2{width:clamp(44px,4vw,92px);height:clamp(44px,4vw,92px);left:-4%;bottom:-8%;animation:orb-float 11s ease-in-out infinite alternate-reverse}.work-cover .b3{width:clamp(18px,1.6vw,36px);height:clamp(18px,1.6vw,36px);left:38%;top:16%;animation:orb-float 8s ease-in-out infinite alternate}.work-cover img{width:100%;height:100%;object-fit:cover;display:block}.work-pin{position:absolute;right:var(--sp-3);top:var(--sp-3);z-index:2;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-cap);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);padding:3px var(--sp-3);color:var(--accent);box-shadow:var(--sh-card)}.bf-gal{margin:var(--sp-6) 0 0}.bf-gal h3{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:var(--fs-sm);font-weight:700}.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:var(--sp-3)}.gal-item{position:relative;display:block;margin:0;padding:0;border:none;background:var(--surface-2);font:inherit;text-align:left;min-width:0;aspect-ratio:4 / 3;border-radius:var(--radius-card);overflow:hidden;cursor:zoom-in;box-shadow:var(--sh-card);transition:transform var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.gal-item:hover{transform:translateY(-3px);box-shadow:var(--sh-pop, 0 10px 30px rgba(31, 35, 65, .14))}.gal-item>img,.gal-item>video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;transition:transform .45s var(--ease)}.gal-item:hover>img,.gal-item:hover>video{transform:scale(1.045)}.gal-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid var(--border-faint);pointer-events:none}.gal-item:hover:after{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.gal-lead{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gal-item.is-vid{cursor:pointer}.gal-item.is-vid>video{object-fit:cover}.gal-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(16,20,34,.58));opacity:.92}.gal-play{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ffffffeb;color:var(--accent);box-shadow:0 6px 22px #10142259;transition:transform var(--d-fast) var(--ease)}.gal-play svg{margin-left:3px}.gal-item:hover .gal-play{transform:scale(1.1)}.gal-cap{position:absolute;left:10px;right:10px;bottom:8px;color:#fff;font-size:var(--fs-cap);line-height:1.35;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.gal-lead .gal-cap{left:16px;right:16px;bottom:12px;font-size:var(--fs-sm);font-weight:600}@media (max-width: 640px){.gal-grid{grid-template-columns:repeat(2,1fr)}.gal-lead{grid-column:span 2;grid-row:span 1;aspect-ratio:16 / 10}.gal-play{width:44px;height:44px}}.lb-stage{position:relative;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-card);background:radial-gradient(120% 100% at 50% 0%,#262a36,#14161d 78%)}.lb-stage img,.lb-stage video{display:block;max-width:100%;max-height:68dvh;object-fit:contain}.lb-stage img{border-radius:4px}.lb-nav{position:absolute;top:50%;translate:0 -50%;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;background:#ffffff24;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color var(--d-fast) var(--ease),opacity var(--d-fast) var(--ease)}.lb-nav:hover:not(:disabled){background:#ffffff47}.lb-nav:disabled{opacity:.25;cursor:default}.lb-nav.prev{left:12px}.lb-nav.next{right:12px}.lb-count{position:absolute;top:12px;right:12px;padding:3px 11px;border-radius:999px;background:#ffffff29;color:#fff;font-size:var(--fs-cap);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-3)}.lb-cap{font-size:var(--fs-sm);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-hint{font-size:var(--fs-cap);color:var(--ink-3);white-space:nowrap}.ucal-hero{position:relative;overflow:hidden;margin-bottom:var(--sp-6);padding:var(--sp-6) var(--sp-5) var(--sp-5);border:1px solid var(--border-faint);border-radius:var(--radius-card);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface) 58%)}.ucal-hero h1{position:relative;margin:0;font-size:clamp(26px,2.8vw,36px);font-weight:800;letter-spacing:var(--ls-tight)}.ucal-hero p{position:relative;margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--fs-sm)}.ucal-eyebrow{position:relative;margin-bottom:var(--sp-2);font-size:var(--fs-cap);font-weight:700;letter-spacing:.22em;color:color-mix(in srgb,var(--accent) 72%,var(--ink-2))}.ucal-bub{position:absolute;border-radius:50%;filter:blur(18px);opacity:.5;pointer-events:none}.ucal-bub.b1{width:150px;height:150px;right:-30px;top:-50px;background:color-mix(in srgb,var(--accent) 30%,#fff)}.ucal-bub.b2{width:70px;height:70px;right:120px;bottom:-26px;background:color-mix(in srgb,var(--neon-violet) 26%,#fff)}.ucal-stats{position:relative;display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}.ucal-stats span{display:inline-flex;align-items:baseline;gap:5px;padding:5px 13px;border:1px solid var(--border-faint);border-radius:999px;background:var(--surface);font-size:var(--fs-cap);color:var(--ink-3)}.ucal-stats b{font-size:var(--fs-body);color:var(--ink-1);font-variant-numeric:tabular-nums}.ucal-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-4)}.ucal-title{font-size:var(--fs-h3);letter-spacing:.04em;font-variant-numeric:tabular-nums}.ucal-month-n{margin-left:var(--sp-2);padding:2px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-cap);font-weight:600;letter-spacing:0}.ucal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.ucal-week span{text-align:center;font-size:var(--fs-cap);color:var(--ink-3)}.ucal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ucal-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:8px 2px;border:1px solid transparent;border-radius:12px;background:transparent;font:inherit;cursor:default;transition:background-color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.ucal-cell.out{opacity:.3}.ucal-cell.has{cursor:pointer;background:var(--surface);border-color:var(--border-faint);box-shadow:var(--sh-card)}.ucal-cell.has:hover{border-color:var(--accent);transform:translateY(-2px)}.ucal-num{font-size:var(--fs-body);line-height:1.2;font-variant-numeric:tabular-nums;color:var(--ink-2);display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%}.ucal-cell.today .ucal-num{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 40%,transparent)}.ucal-dots{display:flex;gap:3px;min-height:7px}.ucal-dots i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 0%,#fff)}.ucal-hint{margin:var(--sp-3) 0 0}.ucal-sec{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-6) 0 var(--sp-4);font-size:var(--fs-h3);font-weight:700}.ucal-sec svg{color:var(--accent)}.ucal-upcoming{display:flex;flex-direction:column;gap:var(--sp-3)}.ucal-fore{position:relative;display:flex;align-items:center;gap:var(--sp-3);text-align:left;width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid transparent;border-radius:999px;background:var(--surface-2);font:inherit;cursor:pointer;transition:background-color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease)}.ucal-fore:hover{background:color-mix(in srgb,var(--fc, var(--accent)) 6%,#fff);border-color:color-mix(in srgb,var(--fc, var(--accent)) 30%,transparent)}.ucal-fore-ico{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:999px;background:color-mix(in srgb,var(--fc, var(--accent)) 13%,#fff);color:var(--fc, var(--accent))}.ucal-fore>svg{margin-left:auto;color:var(--ink-3);flex:0 0 auto;transition:transform var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}.ucal-fore:hover>svg{transform:translate(3px);color:var(--fc, var(--accent))}.ucal-fore-main{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1 1 auto}.ucal-fore-main b{font-size:var(--fs-body)}.ucal-fore-track{display:block;height:4px;border-radius:999px;background:color-mix(in srgb,var(--ink-3) 14%,transparent);overflow:hidden}.ucal-fore-track i{display:block;height:100%;border-radius:999px;background:var(--fc, var(--accent))}.ucal-fore-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto}.ucal-fore-meta b{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.ucal-fore-meta .t-cap{white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width: 560px){.ucal-fore{flex-wrap:wrap}.ucal-fore-meta{flex-direction:row;align-items:baseline;gap:var(--sp-2);width:100%;padding-left:calc(40px + var(--sp-3))}.ucal-fore>svg{display:none}}.cal{position:relative;display:flex;flex-direction:column;gap:var(--sp-6);padding-left:26px}.cal:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;border-radius:999px;background:var(--border-faint)}.cal-day{position:relative}.cal>.cal-day:before{content:"";position:absolute;left:-26px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--accent)}.cal-day h4{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);font-weight:700;letter-spacing:.04em}.cal-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--sp-3);align-items:start;padding:11px var(--sp-2);margin:0 calc(var(--sp-2) * -1);border-radius:var(--radius-btn);transition:background-color var(--d-fast) var(--ease)}.cal-item:hover{background:var(--surface-2)}.cal-item+.cal-item{border-top:1px dashed var(--border-faint)}.cal-tag{display:block;width:100%;text-align:center;font-size:var(--fs-cap);font-weight:600;border-radius:999px;padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.cal-main{min-width:0}.cal-main b{display:block;font-size:var(--fs-body)}.cal-main p{margin:3px 0 0;font-size:var(--fs-sm);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.ucal-hero{padding:var(--sp-5) var(--sp-4)}.ucal-cell{min-height:46px;border-radius:9px}.cal{padding-left:20px}.cal:before{left:6px}.cal>.cal-day:before{left:-20px;width:9px;height:9px;border-width:2.5px}.cal-item{grid-template-columns:72px minmax(0,1fr)}}.work-cover-wrap>:first-child{transition:transform .6s var(--ease-apple)}.work-card:hover .work-cover-wrap>:first-child{transform:scale(1.045)}.work-body{display:flex;flex-direction:column;gap:var(--sp-2);flex:1 1 auto;padding:var(--pad-card)}.work-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(var(--fs-sm) * var(--lh-body) * 2)}.work-go{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--accent)}.work-card:hover .work-go svg{transform:translate(3px)}.work-go svg{transition:transform var(--d-base) var(--ease)}.work-status{font-size:var(--fs-cap);border-radius:var(--radius-btn);padding:1px var(--sp-2);white-space:nowrap}.work-status.wip{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,#fff)}.works-suggest{flex:0 0 auto}.work-cta{position:relative;display:flex;align-items:center;gap:var(--sp-3);overflow:hidden;min-height:62px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-btn);background:var(--grad);color:#fff;text-decoration:none;box-shadow:0 10px 24px -10px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform var(--d-base) var(--ease),box-shadow var(--d-base) var(--ease)}.work-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px color-mix(in srgb,var(--accent) 62%,transparent)}.work-cta:active{transform:translateY(0) scale(.995)}.work-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.32) 50%,transparent 68%);transform:translate(-130%);transition:transform .7s var(--ease-apple)}.work-cta:hover:after{transform:translate(130%)}.wc-ico{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;background:#fff3}.wc-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.wc-txt b{font-size:var(--fs-h3);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.wc-txt>span{font-size:var(--fs-cap);opacity:.82;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wc-arrow{margin-left:auto;display:grid;place-items:center;transition:transform var(--d-base) var(--ease)}.work-cta:hover .wc-arrow{transform:translate(4px)}.work-cta.soon{background:var(--surface-2);color:var(--ink-2);border:1px dashed var(--border);box-shadow:none;cursor:pointer;width:100%;text-align:left;font-family:inherit}.work-cta.soon .wc-ico{background:var(--surface-3);color:var(--ink-3)}.work-cta.soon:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--ink)}.work-cta.soon:hover .wc-arrow{transform:translate(4px);color:var(--accent)}.work-cta.soon:after{display:none}.work-strip{display:grid;gap:var(--sp-3);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border-faint)}.ws-row{display:flex;align-items:center;gap:var(--sp-3)}.ws-act{display:flex;align-items:stretch;gap:var(--sp-3)}.ws-detail{flex:1.3 1 0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;font-size:var(--fs-h3);font-weight:700;border:none;border-radius:var(--radius-btn);background:var(--grad);color:#fff;cursor:pointer;box-shadow:0 8px 20px -8px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform var(--d-base) var(--ease),box-shadow var(--d-base) var(--ease)}.ws-detail:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px color-mix(in srgb,var(--accent) 62%,transparent)}.ws-visit{flex:1 1 0;min-height:58px;padding:var(--sp-2) var(--sp-3)}.ws-visit .wc-ico{width:32px;height:32px}.ws-pct{font-size:var(--fs-h3);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.ws-track{flex:1 1 auto;height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.ws-track>span{display:block;height:100%;border-radius:999px;background:var(--grad);transform-origin:left;animation:grow-line .7s var(--ease-apple)}.ws-cap{font-size:var(--fs-cap);color:var(--ink-3)}.bf-hero{position:relative;overflow:hidden;border-radius:var(--radius-card);padding:clamp(20px,2.2vw,32px);margin-bottom:var(--sp-5);background:linear-gradient(135deg,var(--accent-soft),transparent 72%);border:1px solid var(--border-faint)}.bf-hero:after{content:"✦";position:absolute;right:18px;top:8px;font-size:44px;line-height:1;color:color-mix(in srgb,var(--accent) 10%,transparent);pointer-events:none}.bf-hero i.bf-bub{position:absolute;border-radius:50%;filter:blur(18px);opacity:.5;pointer-events:none;animation:orb-float 9s ease-in-out infinite alternate}.bf-hero i.bf-bub.b1{width:150px;height:150px;right:-30px;top:-50px;background:color-mix(in srgb,var(--accent) 30%,#fff)}.bf-hero i.bf-bub.b2{width:70px;height:70px;right:120px;bottom:-26px;background:color-mix(in srgb,var(--neon-violet) 26%,#fff);animation-duration:12s}.bf-name{font-size:clamp(24px,2.2vw,36px);font-weight:800;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin:var(--sp-2) 0 0}.bf-lead{margin:var(--sp-3) 0 0;font-size:var(--fs-h3);color:var(--ink-2);line-height:var(--lh-snug);max-width:58ch;white-space:pre-line}.bf-meter{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-5)}.bf-num{font-size:clamp(40px,3.6vw,62px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.bf-num i{font-style:normal;font-size:.45em;font-weight:700;margin-left:2px}.bf-meter-main{flex:1 1 auto;min-width:0;display:grid;gap:var(--sp-2)}.bf-track{display:block;height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bf-bar{display:block;height:100%;border-radius:999px;background:var(--grad);position:relative;transform-origin:left;animation:grow-line .9s var(--ease-apple)}.bf-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);animation:bp-shine 2.4s var(--ease-apple) infinite}@keyframes bp-shine{0%{transform:translate(-120%)}to{transform:translate(120%)}}.bf-meter-cap{font-size:var(--fs-cap);color:var(--ink-3)}.bf-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--sp-4)}.bf-sec{padding:var(--sp-4);border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--border-faint)}.bf-sec h3{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:700}.bf-ico{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--accent-soft);color:var(--accent);flex:0 0 auto}.bf-prose{white-space:pre-line;line-height:var(--lh-body);color:var(--ink-2);margin-top:var(--sp-2)}.bf-quote{position:relative;margin:var(--sp-5) 0 0;padding:var(--sp-4) var(--sp-5) var(--sp-4) calc(var(--sp-4) + 6px);border-radius:6px var(--radius-card) var(--radius-card) 6px;background:var(--surface-2)}.bf-quote:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:3px;background:var(--grad)}.bf-quote p{white-space:pre-line;line-height:var(--lh-body);color:var(--ink);font-size:var(--fs-body)}.bf-quote footer{margin-top:var(--sp-2);font-size:var(--fs-cap);color:var(--ink-3)}.bf-quote:after{content:"”";position:absolute;right:var(--sp-3);top:-14px;font-size:64px;line-height:1;font-weight:800;color:color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none}.bf-steps-wrap{margin:var(--sp-6) 0 0}.bf-steps-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-1)}.bf-steps-head h3{margin:0;font-size:var(--fs-sm);font-weight:700}.bf-steps-head span{font-size:var(--fs-cap);color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:.06em}.bf-steps{list-style:none;margin:0;padding:0}.bf-steps li{position:relative;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:0 var(--sp-3);padding:var(--sp-2) 0}.bf-steps li:not(:last-child):after{content:"";position:absolute;left:14px;top:40px;bottom:-8px;width:2px;background:var(--border)}.bf-steps li.done:not(:last-child):after{background:var(--grad)}.bf-steps li.todo:not(:last-child):after{background:repeating-linear-gradient(180deg,var(--border) 0 4px,transparent 4px 9px)}.bs-dot{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface);border:1.5px solid var(--border);color:var(--ink-3)}.bf-steps li.done .bs-dot{background:var(--grad);border-color:transparent;color:#fff}.bf-steps li.doing .bs-dot{border-color:var(--accent);color:var(--accent);animation:bp-pulse 2s var(--ease) infinite}@keyframes bp-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 30%,transparent)}50%{box-shadow:0 0 0 6px transparent}}.bs-name{font-size:var(--fs-body);min-width:0}.bf-steps li.todo .bs-name{color:var(--ink-3)}.bf-steps li.doing .bs-name{font-weight:600;color:var(--accent)}.bs-state{font-size:var(--fs-cap);border-radius:var(--radius-btn);padding:0 var(--sp-2);white-space:nowrap}.bf-steps li.done .bs-state{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,#fff)}.bf-steps li.doing .bs-state{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,#fff)}.bf-steps li.todo .bs-state{color:var(--ink-3);background:var(--surface-2)}@media (max-width: 480px){.bf-steps li{grid-template-columns:30px 1fr}.bs-state{grid-column:2;justify-self:start}}@media (max-width: 640px){.bf-meter{flex-wrap:wrap}}.soon-page{position:relative;min-height:calc(100dvh - var(--nav-h));display:grid;place-items:center;overflow:hidden;padding:var(--page-y) var(--page-x)}.soon-orbs i,.soon-stars .st{position:absolute;border-radius:50%;pointer-events:none}.soon-orbs i{filter:blur(clamp(24px,3vw,60px));opacity:.28;animation:orb-float 11s ease-in-out infinite alternate}.soon-orbs i:nth-child(1){width:22vmax;height:22vmax;left:-6%;top:-8%;background:var(--neon-cyan)}.soon-orbs i:nth-child(2){width:15vmax;height:15vmax;right:-4%;top:26%;background:var(--neon-violet);animation-duration:13s}.soon-orbs i:nth-child(3){width:8vmax;height:8vmax;left:22%;bottom:6%;background:var(--neon-magenta);animation-duration:9s}.soon-stars .st{width:4px;height:4px;background:var(--accent);opacity:.35;animation:st-twinkle 2.6s ease-in-out infinite}@keyframes st-twinkle{0%,to{opacity:.12;transform:scale(.8)}50%{opacity:.5;transform:scale(1.15)}}.soon-stage{position:relative;z-index:1;text-align:center;max-width:min(100%,620px);display:flex;flex-direction:column;align-items:center}.soon-badge{display:grid;place-items:center;width:clamp(52px,4.4vw,68px);height:clamp(52px,4.4vw,68px);border-radius:20px;background:var(--grad);color:#fff;box-shadow:0 12px 30px -10px color-mix(in srgb,var(--accent) 55%,transparent);animation:soon-breathe 3.2s var(--ease) infinite}@keyframes soon-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.soon-title{font-size:clamp(40px,4.6vw,76px);font-weight:800;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-top:var(--sp-5)}.soon-sub{margin-top:var(--sp-3);font-size:var(--fs-h3);color:var(--ink-2)}.soon-card{width:min(100%,460px);margin-top:var(--sp-6);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:var(--sh-card);text-align:left}.sc-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.sc-pct{font-size:var(--fs-h2);font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.sc-track{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:var(--sp-3)}.sc-track>span{display:block;height:100%;border-radius:999px;background:var(--grad);transform-origin:left;animation:grow-line .9s var(--ease-apple)}.sc-cap{margin-top:var(--sp-2);font-size:var(--fs-cap);color:var(--ink-3)}.soon-actions{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-6);flex-wrap:wrap;justify-content:center}.soon-timer{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}@media (max-width: 767px){.soon-title{font-size:clamp(34px,10vw,44px)}}.fb-form{display:grid;gap:var(--sp-4)}.fb-form .field:last-of-type{margin-bottom:0}.fb-hero{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:var(--radius-btn);background:linear-gradient(135deg,var(--accent-soft),transparent 85%);color:var(--ink-2);font-size:var(--fs-cap);line-height:1.6}.fb-hero svg{flex:0 0 auto;color:var(--accent);margin-top:3px}.fb-row{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-3);align-items:start}.fb-tag{margin-bottom:0!important;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:3px 10px;border-radius:var(--radius-btn);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-cap);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 480px){.fb-row{grid-template-columns:1fr}.fb-tag{justify-self:start}}.work-dl{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}.work-dl-item{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:14px 24px;border:1px solid transparent;border-radius:14px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 1px 2px #10182814;transition:filter var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}.work-dl-item:hover{background:var(--accent);filter:brightness(1.07);color:#fff;text-decoration:none;transform:translateY(-1px)}.work-dl-item:active{background:var(--accent);color:#fff}.work-dl-item .t-cap{color:inherit;opacity:.8;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-head{display:grid;gap:var(--sp-2);justify-items:start;margin-bottom:var(--sp-5)}.dl-titlerow{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-2)}.dl-titlerow h1{margin:0;font-size:clamp(26px,4vw,36px);font-weight:700;letter-spacing:.06em}.dl-en{color:var(--ink-3);font-size:var(--fs-sm);letter-spacing:.12em}.dl-tags{display:flex;gap:var(--sp-2);flex-wrap:wrap}.dl-tag{font-size:12px;letter-spacing:.14em;color:var(--ink-3);border:1px solid var(--border-faint);border-radius:999px;padding:2px 10px 2px 12px}.dl-meta{color:var(--ink-3);font-size:13.5px;letter-spacing:.04em}.dl-meta b{color:var(--accent);font-variant-numeric:tabular-nums}.dl-list{display:grid}.dl-row{display:grid;grid-template-columns:1fr auto;gap:var(--sp-4);align-items:start;padding:var(--sp-4) 0}.dl-row+.dl-row{border-top:1px dashed var(--border-faint)}.dl-row:first-child{padding-top:0}.dl-row:last-child{padding-bottom:0}.dl-row-main{display:grid;gap:var(--sp-2)}.dl-verline{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.dl-ver{font-variant-numeric:tabular-nums;font-size:var(--fs-md);font-weight:700;letter-spacing:.02em}.dl-latest{font-size:12px;letter-spacing:.2em;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px 3px 14px}.dl-notes{margin:0;padding:0;list-style:none;display:grid;gap:6px;color:var(--ink-2);font-size:var(--fs-sm)}.dl-notes li{position:relative;padding-left:18px}.dl-notes li:before{content:"";position:absolute;left:4px;top:.72em;width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--accent) 55%,transparent)}.dl-dl{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:38px;padding:0 var(--sp-5);border:none;border-radius:999px;background:var(--grad);color:#fff;font-weight:600;font-size:var(--fs-sm);text-decoration:none;white-space:nowrap;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.dl-dl:hover{transform:translateY(-2px);box-shadow:0 10px 20px -8px color-mix(in srgb,var(--accent) 70%,transparent);text-decoration:none}.dl-dl .t-cap{color:inherit;opacity:.78}.ws-act a:hover{text-decoration:none}.dlv-edit{display:grid;gap:6px;padding:var(--sp-3) 0;border-top:1px solid var(--border-faint)}.dlv-edit:first-child{border-top:none;padding-top:0}@media (max-width: 560px){.dl-row{grid-template-columns:1fr}.dl-dl{justify-self:start}}.tk{display:flex;align-items:center;gap:10px;padding:6px 0}.tk-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:tk-pulse 1.2s var(--ease) infinite}.tk-body{display:flex;flex-direction:column;gap:4px;flex:1}.tk-shimmer{font-size:13px;letter-spacing:.02em;display:inline-block;width:fit-content;background:linear-gradient(90deg,var(--ink-3) 0%,var(--accent) 50%,var(--ink-3) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:tk-shimmer 1.6s linear infinite,tk-swap .3s var(--ease)}@keyframes tk-shimmer{to{background-position:-200% 0}}@keyframes tk-swap{0%{opacity:0;filter:blur(3px);transform:translateY(3px)}}@keyframes tk-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.35);opacity:1}}.tk-bar{height:2px;background:var(--surface-2);border-radius:2px;overflow:hidden;max-width:220px}.tk-bar i{display:block;height:100%;width:40%;border-radius:2px;background:var(--grad);animation:tk-flow 1.4s var(--ease) infinite}@keyframes tk-flow{0%{transform:translate(-100%)}to{transform:translate(250%)}}.tk-mood{color:var(--ink-3);font-size:12px}@media (prefers-reduced-motion: reduce){.tk-shimmer{background:none;color:var(--ink-3);animation:none}.tk-dot,.tk-bar i{animation:none}.tk-bar i{width:100%;opacity:.4}}.chat-page{--chat-w: min(100%, 860px);display:flex;align-items:stretch;height:calc(100dvh - var(--nav-h));overflow:hidden}.chat-side{width:clamp(232px,20vw,288px);flex:0 0 auto;display:flex;flex-direction:column;padding:var(--sp-4);border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface) 72%,var(--bg))}.chat-side-top{display:flex;align-items:center;gap:var(--sp-2)}.chat-side-top .chat-side-new{flex:1 1 auto;min-width:0}.chat-side-close{display:none;flex:0 0 auto}.chat-sessions{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-top:var(--sp-3);min-height:0}.chat-group{display:flex;flex-direction:column;gap:2px}.chat-group+.chat-group{margin-top:var(--sp-3)}.chat-group-label{padding:var(--sp-1) var(--sp-3) 0;font-size:var(--fs-cap);color:var(--ink-3)}.chat-session-wrap{position:relative;display:flex;align-items:center;border-radius:999px}.chat-session-wrap:hover,.chat-session-wrap.on{background:var(--surface-2)}.chat-session-wrap.on{background:var(--accent-soft)}.chat-session{display:flex;align-items:center;gap:var(--sp-2);flex:1 1 auto;min-width:0;min-height:42px;padding:var(--sp-2) var(--sp-3);background:none;border-color:transparent;color:var(--ink-2);font-size:var(--fs-sm);text-align:left}.chat-session:hover{background:none;border-color:transparent;color:var(--ink);transform:none}.chat-session-wrap.on .chat-session{color:var(--accent);font-weight:600}.chat-session-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-session-del{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;margin-right:4px;padding:0;border:none;border-radius:50%;background:none;color:var(--ink-3);opacity:0;transition:opacity var(--d-fast) var(--ease),color var(--d-fast) var(--ease),background var(--d-fast) var(--ease)}.chat-session-wrap:hover .chat-session-del,.chat-session-del:focus-visible{opacity:1}.chat-session-del:hover{color:var(--err);background:color-mix(in srgb,var(--err) 10%,transparent)}.chat-side-foot{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border-faint)}.chat-side-settings{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:30px;padding:0 12px;border:none;background:none;color:var(--ink-3);font-size:var(--fs-cap);border-radius:999px}.chat-side-settings:hover{color:var(--ink);background:var(--surface-2)}.me-chip{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:56px;padding:var(--sp-2) var(--sp-3);border-radius:999px;border:1px solid var(--border);background:var(--surface);text-align:left;transition:background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.me-chip:hover{background:var(--surface-2);border-color:var(--border-strong);transform:none;box-shadow:none}.me-chip.has-id:hover{border-color:var(--border);background:var(--surface-2)}.me-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:var(--fs-h3);background:var(--grad);flex:0 0 auto;box-shadow:0 1px 4px #10182824}.me-avatar.is-guest{background:var(--surface-2);color:var(--ink-3);font-size:var(--fs-h2);border:1.5px dashed var(--border-strong);box-shadow:none}.me-name{flex:1 1 auto;min-width:0;font-size:var(--fs-sm);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.me-go{flex:0 0 auto;color:var(--accent);margin-left:auto;transition:transform var(--d-fast) var(--ease)}.me-chip:hover .me-go{transform:translate(2px)}.u-avatar{display:inline-block;border-radius:50%;overflow:hidden;flex:0 0 auto;box-shadow:0 1px 4px #10182824;background:#fff}.u-avatar img{display:block;width:100%;height:100%;object-fit:cover}.id-hero{display:flex;align-items:center;gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border-faint);margin-bottom:var(--sp-4)}.id-hero-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.id-hero-meta b{font-size:var(--fs-h3)}.id-hero-meta .mono{font-family:var(--font-mono);font-size:var(--fs-cap);color:var(--ink-2)}.id-acts{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.id-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.id-option{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--border);border-radius:20px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.id-option:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));transform:translateY(-2px);box-shadow:var(--sh-hover)}.id-option b{font-size:var(--fs-sm)}.id-option svg{color:var(--accent)}.id-code-input{font-family:var(--font-mono);font-size:24px;font-weight:700;letter-spacing:.5em;text-indent:.5em;text-align:center;min-height:56px;border-radius:999px}.id-err{display:flex;align-items:center;gap:6px;color:var(--err);font-size:var(--fs-cap);margin-top:var(--sp-2);animation:fade-in var(--d-fast) var(--ease)}.id-trail{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto;display:flex;flex-direction:column}.id-trail li{display:flex;gap:var(--sp-3);padding:var(--sp-2) 0;align-items:baseline;border-bottom:1px dashed var(--border-faint);font-size:var(--fs-sm)}.id-trail li .mono{flex:0 0 auto}.id-trail li span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-scrim{display:none}.chat-stage{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;position:relative}.chat-menu-btn{display:none;position:absolute;left:var(--sp-3);top:var(--sp-3);z-index:20;box-shadow:var(--sh-hover);background:var(--surface)}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.chat-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--chat-w);margin-inline:auto;padding:clamp(24px,6vh,80px) clamp(12px,1.6vw,24px);min-height:100%;text-align:center}.chat-hero-eyebrow{margin-bottom:var(--sp-3);font-size:var(--fs-cap);letter-spacing:.18em}.chat-hero-title{font-size:var(--fs-display);font-weight:700;letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.chat-hero-sub{margin-top:var(--sp-3);color:var(--ink-2);font-size:var(--fs-h2);font-weight:400}.ask-bar,.composer-bar{display:flex;align-items:flex-end;gap:var(--sp-2);width:100%;background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-5);box-shadow:var(--sh-card);text-align:left;position:relative;transition:border-color var(--d-base) var(--ease),box-shadow var(--d-base) var(--ease),border-radius var(--d-base) var(--ease)}.ask-bar{margin-top:clamp(22px,4vh,40px)}.ask-bar:focus-within,.composer-bar:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px var(--accent-ring),var(--sh-card)}.ask-bar textarea,.composer-bar textarea{border:none;box-shadow:none;background:transparent;border-radius:0;min-height:26px;max-height:180px;padding:var(--sp-2) 0;text-align:left;resize:none;overflow-y:auto;line-height:1.6}.ask-bar textarea:hover,.ask-bar textarea:focus,.composer-bar textarea:hover,.composer-bar textarea:focus{border:none;box-shadow:none}.send-btn{width:40px;height:40px;min-height:40px;padding:0;border-radius:999px;border:none;background:var(--accent);color:#fff;flex:0 0 auto}.send-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 90%,#000)}.send-btn:disabled{background:var(--surface-3);color:var(--ink-3)}.chat-flow{display:flex;flex-direction:column;width:var(--chat-w);margin-inline:auto;padding:var(--sp-6) clamp(12px,1.6vw,24px) var(--sp-4)}.msg{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;animation:rise var(--d-base) var(--ease-apple) both}.msg.user{justify-content:flex-end}.msg .avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:var(--fs-cap);font-weight:700;background:var(--grad);flex:0 0 auto}.msg.user{gap:var(--sp-3)}.msg.user .avatar.guest{background:var(--surface-2);color:var(--ink-3);border:1.5px dashed var(--border-strong);box-shadow:none}.msg.user .bubble{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border-faint));border-radius:20px 20px 6px;padding:var(--sp-3) var(--sp-4);max-width:78%;white-space:pre-wrap;word-break:break-word}.msg-main{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:86%}.msg.ai .bubble{flex:0 1 auto;min-width:0;max-width:100%;white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--border-faint);border-radius:6px 20px 20px;padding:var(--sp-3) var(--sp-4);box-shadow:var(--sh-card)}.msg .acts{opacity:0;transition:opacity var(--d-fast) var(--ease);display:flex;gap:var(--sp-1);margin-top:var(--sp-2);align-items:center}.msg.ai:hover .acts,.msg.ai:focus-within .acts{opacity:1}.msg .acts button{min-height:0;min-width:0;width:26px;height:24px;padding:0;display:grid;place-items:center;color:var(--ink-3);border-color:transparent;background:none;border-radius:999px}.msg .acts button:hover{color:var(--accent);background:var(--surface-2)}.msg .acts button svg{display:block}.md h3{font-size:var(--fs-h3);margin:var(--sp-3) 0 var(--sp-2)}.md ul{margin:var(--sp-2) 0;padding-left:var(--sp-5)}.md ul ul,.md ul ol,.md ol ul,.md ol ol{margin:2px 0}.md code{background:var(--surface-2);padding:1px 8px;border-radius:999px;font-size:var(--fs-cap);font-family:var(--font-mono)}.md .tbl-wrap{overflow-x:auto;margin:var(--sp-3) 0;border-radius:12px}.md table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.md th,.md td{border:1px solid var(--border-faint);padding:6px 12px;text-align:left}.md th{background:var(--surface-2);font-weight:600;white-space:nowrap}.md tbody tr:hover td{background:var(--surface-2)}.md blockquote{margin:var(--sp-2) 0;padding:var(--sp-2) var(--sp-4);border-left:3px solid var(--accent-soft);background:var(--surface-2);border-radius:0 12px 12px 0;color:var(--ink-2)}.md hr{border:none;border-top:1px solid var(--border-faint);margin:var(--sp-4) 0}.md a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;word-break:break-all}.md s{text-decoration:line-through;color:var(--ink-3)}.md-tail{white-space:pre-wrap}.msg.ai .think{width:100%;margin-bottom:var(--sp-2);font-size:var(--fs-cap);color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border-faint);border-radius:14px;padding:var(--sp-2) var(--sp-3)}.msg.ai .think summary{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;list-style:none}.msg.ai .think summary::-webkit-details-marker{display:none}.msg.ai .think[open] summary{margin-bottom:var(--sp-2)}.msg.ai .think-text{max-height:220px;overflow-y:auto;overscroll-behavior:contain;white-space:pre-wrap;word-break:break-word;line-height:1.65}.code-block{position:relative;margin:var(--sp-3) 0}.code-block .code-lang{position:absolute;top:10px;right:14px;font-size:var(--fs-cap);color:var(--ink-3);font-family:var(--font-mono);letter-spacing:var(--ls-wide);pointer-events:none}.code-block pre{margin:0}.md pre{background:var(--surface-2);padding:var(--sp-4);border-radius:16px;overflow:auto;border:1px solid var(--border-faint)}.md pre code{background:none;padding:0}.cursor:after{content:"▌";color:var(--accent);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.chat-dock{flex:0 0 auto;width:var(--chat-w);margin-inline:auto;padding:var(--sp-2) clamp(12px,1.6vw,24px) calc(var(--sp-4) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 82%,transparent)}@media (max-width: 900px){.chat-side{position:fixed;left:0;top:var(--nav-h);bottom:0;z-index:60;width:min(322px,86vw);background:var(--surface);box-shadow:var(--sh-pop);transform:translate(-100%);visibility:hidden;transition:transform var(--d-base) var(--ease-apple),visibility 0s var(--d-base)}.chat-side.open{transform:none;visibility:visible;transition:transform var(--d-base) var(--ease-apple)}.chat-side-close{display:grid}.chat-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#10182852;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--d-base) var(--ease)}.chat-menu-btn{display:grid}}@media (max-width: 767px){.msg.user .bubble{max-width:88%}}.ais-page{display:flex;flex-direction:column;width:100%;min-height:calc(100vh - var(--nav-h));background:var(--surface);margin:0 calc(-1 * var(--page-x)) calc(-1 * (var(--page-y) + var(--sp-8)));padding:var(--page-y) var(--page-x) var(--sp-8)}.ais-guest-guard{display:flex;justify-content:center;padding:var(--sp-8) var(--sp-4)}.ais-guest-card{max-width:460px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.ais-layout{display:grid;grid-template-columns:clamp(120px,12vw,160px) minmax(0,1fr);gap:clamp(var(--sp-5),4vw,var(--sp-8));align-items:start}.ais-nav{position:sticky;top:calc(var(--nav-h) + var(--sp-4));display:flex;flex-direction:column;gap:4px}.ais-nav-item{padding:9px 16px;border:none;background:none;text-align:left;border-radius:999px;color:var(--ink-2);font-size:var(--fs-h3);transition:color var(--d-fast) var(--ease),background var(--d-fast) var(--ease)}.ais-nav-item:hover{color:var(--ink);background:var(--surface-2)}.ais-nav-item.on{color:var(--ink);font-weight:600;background:var(--surface-2)}.ais-panel{display:flex;flex-direction:column;gap:var(--sp-5);min-height:480px;animation:rise var(--d) var(--ease) both}.ais-tpl-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-4)}.ais-tpl{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 14px;font-size:var(--fs-cap);color:var(--ink-2);cursor:pointer;transition:all .15s ease}.ais-tpl:hover{border-color:color-mix(in srgb,#7c5cff 45%,var(--border));color:var(--ink);transform:translateY(-1px)}.ais-tpl.on{background:var(--grad);border-color:transparent;color:#fff;font-weight:600}.ais-p-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap-card);align-items:stretch}.ais-p-col{display:flex;flex-direction:column;gap:var(--sp-3)}.ais-zone-cap{display:flex;align-items:baseline;gap:8px;margin:0;font-size:var(--fs-cap);font-weight:700;color:var(--ink-2);letter-spacing:.02em}.ais-zone-cap:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--grad);flex:0 0 auto;align-self:center}.ais-zone-cap span{font-weight:400;color:var(--ink-3)}.ais-p-grid .ais-tpl-row{margin-bottom:var(--sp-2)}.ais-dims{display:grid;gap:var(--sp-3)}.ais-dim{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:var(--sp-4)}.ais-dim-name{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:var(--fs-body);color:var(--ink-1);white-space:nowrap}.ais-dim-name b{font-weight:600;color:var(--accent);font-size:var(--fs-cap);font-variant-numeric:tabular-nums}.ais-dim-scale{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.ais-dim-scale i{font-style:normal;font-size:var(--fs-cap);color:var(--ink-3);white-space:nowrap;width:3.5em}.ais-dim-scale i:last-child{text-align:right}.ais-quick{display:grid;gap:var(--sp-3)}.ais-quick label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-cap);color:var(--ink-2)}.ais-quick input{max-width:none}.ais-p-preview{margin:0;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px dashed var(--border-faint);font-size:var(--fs-cap);line-height:1.8;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;flex:1}.ais-note{margin:0}.ais-dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-card)}.ais-dash>.card{display:flex;flex-direction:column;gap:var(--sp-3)}.ais-dash .span2{grid-column:1 / -1}@media (max-width: 1100px){.ais-dash{grid-template-columns:repeat(2,minmax(0,1fr))}}.ais-hello{position:relative;overflow:hidden;gap:10px;padding:clamp(30px,4vw,52px) clamp(24px,3.2vw,44px)}.ais-hello:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(480px 220px at 86% -30%,color-mix(in srgb,#8b5cf6 16%,transparent),transparent 72%),radial-gradient(420px 200px at 104% 120%,color-mix(in srgb,#06b6d4 13%,transparent),transparent 72%),radial-gradient(260px 140px at 70% 130%,color-mix(in srgb,#ec4899 8%,transparent),transparent 72%)}.ais-hello>*{position:relative}.ais-hello-date{margin:0;font-size:var(--fs-cap);color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase}.ais-hello-welcome{margin:0;font-size:clamp(28px,3vw,42px);font-weight:800;line-height:1.25;letter-spacing:-.015em;color:var(--ink-1)}.ais-hello-welcome em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ais-hello-wish{margin:0;font-size:var(--fs-body);color:var(--ink-2);display:flex;align-items:center;gap:10px}.ais-hello-wish:before{content:"";flex:0 0 auto;width:18px;height:3px;border-radius:2px;background:var(--grad)}.ais-ct{margin:0;font-size:var(--fs-h3);font-weight:700;color:var(--ink-1);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ais-ct .t-cap{font-weight:400}.ais-water-num{display:flex;align-items:baseline;gap:4px}.ais-water-num b{font-size:clamp(24px,2vw,32px);line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}.ais-water-num i{font-style:normal;color:var(--ink-3);font-size:var(--fs-body)}.ais-water-ops{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ais-water-btn{border:none;color:#fff;background:linear-gradient(135deg,#7dd3fc,#38bdf8 55%,#0ea5e9);box-shadow:0 2px 8px #38bdf859}.ais-water-btn:hover{background:linear-gradient(135deg,#93dcfd,#4cc3f9 55%,#22b0ee)}.ais-water-btn:active{background:linear-gradient(135deg,#6cc8f7,#2aa9ec 55%,#0284c7)}.ais-ct-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ais-ct-row .ais-ct{flex:1 1 auto}.ais-sport-card{cursor:pointer}.ais-sport-line{margin:auto 0;font-size:var(--fs-h3);font-weight:600;color:var(--ink-1);line-height:1.6}.ais-mini-form{display:flex;gap:6px}.ais-mini-form input{flex:1 1 auto;min-width:0}.ais-mini-form input[type=number]{flex:0 0 auto;width:96px}.ais-mini-form button{flex:0 0 auto;white-space:nowrap}.ais-mini-list{display:flex;flex-direction:column;gap:4px;max-height:168px;overflow-y:auto}.ais-mini-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--surface-2);font-size:var(--fs-cap)}.ais-mini-item p{margin:0;flex:1 1 auto;min-width:0;word-break:break-word;color:var(--ink-1)}.ais-mini-item input[type=checkbox]{flex:0 0 auto;width:15px;height:15px;min-height:0;padding:0;accent-color:var(--accent)}.ais-mini-item.done p{text-decoration:line-through;color:var(--ink-3)}.ais-mood-card{gap:var(--sp-4)}.ais-mood-center{display:flex;flex-direction:column;gap:4px;margin:auto 0;padding:var(--sp-4) 0}.ais-mood-meters{display:flex;flex-direction:column;gap:8px}.ais-meter{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px}.ais-meter>span{font-size:var(--fs-cap);color:var(--ink-3)}.ais-meter-val{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-cap);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.ais-mood-go{align-self:flex-start}.ais-think-state{display:flex;flex-direction:column}.ais-think-state>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:7px 0}.ais-think-state>div+div{border-top:1px dashed var(--border-faint)}.ais-think-state span{color:var(--ink-3);font-size:var(--fs-sm)}.ais-think-state b{color:var(--ink-1);font-size:var(--fs-body);font-weight:600;font-variant-numeric:tabular-nums}.mood-page{display:flex;flex-direction:column;gap:var(--sp-5)}.mood-back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border:1px solid var(--border);background:#fff;padding:7px 16px;cursor:pointer;border-radius:999px;font-size:var(--fs-cap);color:var(--ink-2);letter-spacing:.02em;box-shadow:0 1px 3px #1018280f;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.mood-back:hover,.mood-back:active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 2px 10px color-mix(in srgb,#7c5cff 30%,transparent)}.mood-back-arrow{display:inline-block;transition:transform .18s ease}.mood-back:hover .mood-back-arrow,.mood-back:active .mood-back-arrow{transform:translate(-3px)}.mood-chips{display:flex;flex-wrap:wrap;gap:8px}.mood-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 14px;font-size:var(--fs-cap);color:var(--ink-2);cursor:pointer;transition:all .15s ease}.mood-chip:hover{border-color:color-mix(in srgb,#7c5cff 45%,var(--border));color:var(--ink);transform:translateY(-1px)}.mood-chip.on{background:var(--grad);border-color:transparent;color:#fff;font-weight:600}.mood-init-btn{color:#fff;background:var(--err);border-color:transparent}.mood-init-btn:hover{background:color-mix(in srgb,var(--err) 88%,#000);border-color:transparent}.mood-init-modal{width:min(400px,92vw);padding:var(--sp-6)}.mood-init-title{margin:0 0 var(--sp-2);font-size:var(--fs-h3);color:var(--ink-1)}.mood-init-ops{display:flex;justify-content:flex-end;gap:8px;margin-top:var(--sp-5)}.mood-init-ops .btn-sm:disabled{opacity:.55;cursor:not-allowed}.mood-rules-modal{width:min(560px,94vw);padding:var(--sp-6);max-height:86vh;overflow-y:auto}.mood-sec{margin:var(--sp-4) 0 6px;font-size:var(--fs-body);color:var(--ink-1)}.mood-sec:first-of-type{margin-top:0}.mood-rule-table{display:flex;flex-direction:column}.mood-rule-row{display:grid;grid-template-columns:96px minmax(0,1fr) 44px auto;align-items:baseline;gap:8px;padding:5px 0;font-size:var(--fs-cap)}.mood-rule-row+.mood-rule-row{border-top:1px dashed var(--border-faint)}.mood-rule-row b{color:var(--ink-1);font-weight:600}.mood-rule-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mood-rule-d{font-variant-numeric:tabular-nums;text-align:right}.mood-rule-d.up{color:#e11d48}.mood-rule-d.down{color:#16a34a}.mood-trend{width:100%;height:auto;display:block}.mood-trend-zero{stroke:var(--border-faint);stroke-dasharray:3 4}.mood-trend-line{filter:drop-shadow(0 1px 2px rgba(124,92,255,.18))}.mood-trend-dot{fill:#7c5cff;stroke:#fff;stroke-width:1.5}.mood-stats{display:flex;gap:var(--sp-6);flex-wrap:wrap;padding:var(--sp-2) 0;border-bottom:1px dashed var(--border-faint)}.mood-stats>div{display:flex;flex-direction:column;gap:1px}.mood-stats b{font-size:var(--fs-h3);color:var(--ink-1);font-variant-numeric:tabular-nums}.mood-stats b.up{color:#e11d48}.mood-stats b.down{color:#16a34a}.mood-stats span{font-size:var(--fs-cap);color:var(--ink-3)}.mood-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:var(--gap-card);align-items:stretch}.mood-map-card{display:flex;align-items:center;justify-content:center}.mood-side{display:flex;flex-direction:column;gap:var(--sp-2)}.mood-side .ais-mood-zh{font-size:clamp(30px,3.4vw,44px)}.mood-side-ops{display:flex;justify-content:flex-end;margin-top:auto}.mood-log-card{display:flex;flex-direction:column;gap:var(--sp-3)}@media (max-width: 900px){.mood-layout{grid-template-columns:1fr}}.mood-map{width:100%;max-width:640px;height:auto;display:block;touch-action:none;cursor:crosshair;border-radius:12px}.mm-grid{stroke:var(--border-faint);stroke-width:1}.mm-axis{stroke:var(--border);stroke-width:1}.mm-word{font-size:11px;fill:var(--ink-3);opacity:.7}.mm-num{font-size:10px;fill:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.mm-halo{fill:var(--accent);opacity:.12;pointer-events:none}.mm-dot{fill:url(#aisDot);stroke:#fff;stroke-width:2;pointer-events:none}.ais-mood-zh{font-size:clamp(22px,1.8vw,30px);line-height:1.2;color:var(--ink)}.ais-log{border-top:1px dashed var(--border-faint);padding-top:var(--sp-2);display:flex;flex-direction:column;gap:2px}.ais-log-at{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin-right:8px;opacity:.8}.ais-persona{width:100%;resize:vertical;line-height:1.7;margin-top:var(--sp-2)}.ais-persona-foot{display:flex;align-items:center;gap:12px;margin-top:6px}.ais-saved{font-size:var(--fs-cap);color:var(--accent);animation:rise var(--d-fast) var(--ease) both}.ais-think{display:grid;gap:var(--gap-card);margin-top:0}.ais-panel input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--accent) 0 var(--pct, 50%),var(--border-faint) var(--pct, 50%) 100%)}.ais-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:transparent;border:none}.ais-panel input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:transparent;border:none}.ais-panel input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:var(--border-faint)}.ais-panel input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--accent)}.ais-seg{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--border-faint);border-radius:999px;background:var(--surface-2);align-self:flex-start}.ais-seg button{min-height:28px;padding:0 16px;border:none;background:none;color:var(--ink-3);font-size:var(--fs-cap);border-radius:999px;transition:color var(--d-fast) var(--ease),background var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.ais-seg button:hover{color:var(--ink)}.ais-seg button.on{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:0 1px 4px #1018281f}.ais-mem-stack{display:flex;flex-direction:column;gap:var(--gap-card)}.ais-mem-stack .ais-p-col{gap:var(--sp-3)}.ais-mem-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-6);align-items:center}.ais-mem-total{display:flex;flex-direction:column;gap:2px}.ais-mem-total-num{display:flex;align-items:baseline;gap:4px}.ais-mem-total-num b{font-size:clamp(34px,3vw,46px);line-height:1.1;color:var(--ink-1);font-variant-numeric:tabular-nums;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ais-mem-total-num i{font-style:normal;font-size:var(--fs-cap);color:var(--ink-3)}.ais-mem-stat-grid{display:flex;flex-wrap:wrap;gap:8px}.ais-stat{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 14px;font-size:var(--fs-cap);color:var(--ink-2);cursor:pointer;transition:all .15s ease}.ais-stat:hover{border-color:color-mix(in srgb,#7c5cff 45%,var(--border));color:var(--ink);transform:translateY(-1px)}.ais-stat.on{background:var(--accent);border-color:transparent;color:#fff;font-weight:600}.ais-stat b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-1)}.ais-stat.on b{color:#ffffffd9}.ais-stat-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--ink-3)}.ais-stat-dot.all{background:var(--grad)}.ais-stat-dot.k-name{background:#4f46e5}.ais-stat-dot.k-pref{background:#0d9488}.ais-stat-dot.k-dislike{background:#dc2626}.ais-stat-dot.k-profile{background:#2563eb}.ais-stat-dot.k-goal{background:#7c3aed}.ais-stat-dot.k-note{background:#d97706}.ais-stat-dot.k-digest{background:#94a3b8}.ais-stat-dot.k-manual{background:var(--ink-3)}.ais-mem-ctrls{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ais-mem-strengths{display:flex;flex-wrap:wrap;gap:6px}.ais-mem-attrs{display:flex;flex-wrap:wrap;gap:var(--sp-5) var(--sp-6);padding-top:var(--sp-3);border-top:1px dashed var(--border-faint)}.ais-mem-attrs>div{display:flex;flex-direction:column;gap:1px}.ais-mem-attrs span{font-size:var(--fs-cap);color:var(--ink-3)}.ais-mem-attrs b{font-size:var(--fs-body);font-weight:600;color:var(--ink-1);font-variant-numeric:tabular-nums}@media (max-width: 960px){.ais-mem-hero{grid-template-columns:1fr;gap:var(--sp-4)}.ais-mem-ctrls{align-items:flex-start}}.ais-add-row{display:flex;gap:8px}.ais-add-cap{margin:0 0 8px;font-size:var(--fs-cap);font-weight:600;color:var(--ink-2)}.ais-modal .ais-add-cap:not(:first-child),.ais-modal .switch{margin-top:var(--sp-4)}.ais-add-textarea{width:100%;resize:vertical;line-height:1.7}.ais-add-foot{display:flex;align-items:center;gap:12px;margin-top:8px}.ais-add-foot .btn-sm{margin-left:auto}.ais-modal .t-cap.dim{display:block;margin-top:6px}.ais-add{margin-top:var(--sp-2)}.ais-add input{flex:1 1 auto;min-width:0}.ais-add button{flex:0 0 auto;white-space:nowrap}.ais-mem-list{display:flex;flex-direction:column;gap:6px;margin-top:var(--sp-2)}.ais-mem-search{width:100%}.ais-mem-kinds{display:flex;flex-wrap:wrap;gap:6px}.ais-mem-kind{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:3px 12px;font-size:var(--fs-cap);color:var(--ink-2);cursor:pointer;transition:all .15s ease}.ais-mem-kind i{font-style:normal;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.ais-mem-kind:hover{border-color:color-mix(in srgb,#7c5cff 45%,var(--border));color:var(--ink)}.ais-mem-kind.on{background:var(--accent);border-color:transparent;color:#fff;font-weight:600}.ais-mem-kind.on i{color:#ffffffbf}.ais-mem-strength{display:inline-block;margin-left:8px;padding:0 8px;border-radius:999px;font-style:normal;font-size:11px;font-weight:600;vertical-align:1px}.ais-mem-strength.s-深厚{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.ais-mem-strength.s-清晰{color:#0d9488;background:#0d94881a}.ais-mem-strength.s-模糊{color:#d97706;background:#d977061f}.ais-mem-strength.s-将淡去{color:#dc2626;background:#dc26261a}.ais-mem-fade{display:block;height:3px;margin-top:5px;border-radius:999px;background:var(--border-faint);position:relative;overflow:hidden}.ais-mem-fade:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--fade, 30%);border-radius:999px;background:var(--accent);opacity:.55}.ais-mem-fade[data-level=将淡去]:before{background:#dc2626}.ais-mem-fade[data-level=模糊]:before{background:#d97706}.ais-mem-ops{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto}.ais-mem-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--surface-2)}.ais-mem-bar{width:3px;align-self:stretch;border-radius:2px;flex:0 0 auto;background:var(--ink-3);opacity:.55}.ais-mem-bar.k-name{background:#4f46e5}.ais-mem-bar.k-pref{background:#0d9488}.ais-mem-bar.k-dislike{background:#dc2626}.ais-mem-bar.k-profile{background:#2563eb}.ais-mem-bar.k-goal{background:#7c3aed}.ais-mem-bar.k-note{background:#d97706}.ais-mem-bar.k-digest{background:#94a3b8}.ais-mem-body{flex:1 1 auto;min-width:0}.ais-mem-body p{margin:0;font-size:var(--fs-body);color:var(--ink-1);word-break:break-word}.ais-ops{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--sp-2)}@media (max-width: 760px){.ais-layout{grid-template-columns:1fr;gap:var(--sp-3)}.ais-nav{position:sticky;top:var(--nav-h);z-index:30;flex-direction:row;gap:6px;padding:8px 10px;border:1px solid var(--border-faint);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);overflow-x:auto;scrollbar-width:none}.ais-nav::-webkit-scrollbar{display:none}.ais-nav-item{padding:0 14px;min-height:32px;border-radius:999px;flex:0 0 auto}.ais-nav-item:before{display:none}.ais-nav-item.on{color:var(--accent);background:none}.ais-dash{grid-template-columns:1fr}.ais-dash .span2{grid-column:auto}.ais-p-grid{grid-template-columns:1fr}.ais-dim{grid-template-columns:96px minmax(0,1fr);gap:10px}.ais-mood-zh{font-size:var(--fs-h2)}.ais-panel{min-height:360px}}.term-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:var(--sp-5);background:color-mix(in srgb,var(--ink) 28%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:term-fade var(--d-fast) var(--ease)}@keyframes term-fade{0%{opacity:0}}.term{width:min(720px,100%);max-height:min(560px,82dvh);display:flex;flex-direction:column;background:color-mix(in srgb,var(--ink) 94%,#000);color:#e8e6df;border-radius:14px;box-shadow:0 24px 64px -24px #0000008c;overflow:hidden;font-family:ui-monospace,Cascadia Mono,Consolas,JetBrains Mono,monospace;animation:term-up var(--d-slow) var(--ease-apple)}@keyframes term-up{0%{opacity:0;transform:translateY(18px) scale(.985)}}.term-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid rgb(255 255 255 / .08)}.term-dot{width:10px;height:10px;border-radius:50%;background:#ffffff29}.term-title{margin-left:auto;font-size:12px;letter-spacing:.08em;color:#fff6}.term-box{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-3) var(--sp-4) 0;font-size:13.5px;line-height:1.75}.term-line{margin:0;white-space:pre-wrap;word-break:break-word}.term-line.in{color:#9ff0c8}.term-line.err{color:#f0a3a3}.term-line:not(.in):not(.err){color:#e8e6dfd1}.term-input{display:flex;align-items:baseline;gap:8px;padding:6px 0 var(--sp-3)}.term-prompt{color:#9ff0c8;flex:0 0 auto}.term-input input{flex:1;min-width:0;border:none;outline:none;background:none;color:#e8e6df;font:inherit;caret-color:#9ff0c8}.term-hint{padding:8px 14px;border-top:1px solid rgb(255 255 255 / .08);font-size:11.5px;color:#ffffff57;letter-spacing:.04em}
