@font-face{font-family:Fusion Pixel;src:url(/fonts/FusionPixel-12px-zh_hans.woff2)format("woff2");font-display:swap}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background:var(--c-night);color:var(--c-text);-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-sm);line-height:var(--lh);overscroll-behavior:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--c-accent);color:var(--c-accentInk)}:focus-visible{outline:2px solid var(--c-accentSoft);outline-offset:2px}.px{background:var(--c-panel);box-shadow:0 calc(var(--pb) * -1) 0 0 var(--c-panelEdge), 0 var(--pb) 0 0 var(--c-panelEdge), calc(var(--pb) * -1) 0 0 0 var(--c-panelEdge), var(--pb) 0 0 0 var(--c-panelEdge), inset 0 2px 0 0 var(--c-panelEdgeLight)}.px-inset{background:var(--c-panel2);box-shadow:0 -2px 0 0 var(--c-line), 0 2px 0 0 var(--c-line), -2px 0 0 0 var(--c-line), 2px 0 0 0 var(--c-line), inset 0 2px 0 0 #00000040}.btn{appearance:none;cursor:pointer;min-height:44px;font-size:var(--fs-sm);color:var(--c-text);background:var(--c-panel2);box-shadow:0 -2px 0 0 var(--c-panelEdge), 0 2px 0 0 #090a10, -2px 0 0 0 var(--c-panelEdge), 2px 0 0 0 var(--c-panelEdge), inset 0 2px 0 0 var(--c-panelEdgeLight);transition:transform var(--t-fast) var(--ease), filter var(--t-fast);border:0;padding:10px 16px}.btn:active:not(:disabled){box-shadow:0 -2px 0 0 var(--c-panelEdge), 0 0 0 0 #090a10, -2px 0 0 0 var(--c-panelEdge), 2px 0 0 0 var(--c-panelEdge);transform:translateY(2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--c-accent);color:var(--c-accentInk);box-shadow:0 -2px 0 0 #b3801f, 0 2px 0 0 #6a4710, -2px 0 0 0 #b3801f, 2px 0 0 0 #b3801f, inset 0 2px 0 0 var(--c-accentSoft)}.btn.danger{color:#ffb4ad}.btn.ghost{box-shadow:none;background:0 0}.btn.icon{place-items:center;min-width:44px;padding:8px;display:inline-grid}.chip{font-size:var(--fs-xs);color:var(--c-muted);background:var(--c-panel2);align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.dot{flex:none;width:8px;height:8px;display:inline-block}.muted{color:var(--c-muted)}.faint{color:var(--c-faint)}.lg{font-size:var(--fs-lg);line-height:1.2}.md{font-size:var(--fs-md)}.xs{font-size:var(--fs-xs)}.row{align-items:center;gap:var(--sp-2);display:flex}.col{gap:var(--sp-2);flex-direction:column;display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selectable{-webkit-user-select:text;user-select:text}.field{background:var(--c-panel2);width:100%;color:var(--c-text);box-shadow:0 -2px 0 0 var(--c-line), 0 2px 0 0 var(--c-line), -2px 0 0 0 var(--c-line), 2px 0 0 0 var(--c-line);-webkit-user-select:text;user-select:text;border:0;outline:none;padding:10px 12px}.field:focus{box-shadow:0 -2px 0 0 var(--c-accent), 0 2px 0 0 var(--c-accent), -2px 0 0 0 var(--c-accent), 2px 0 0 0 var(--c-accent)}textarea.field{resize:vertical;min-height:96px}.app{background:var(--c-night);padding:max(env(safe-area-inset-top), var(--inset-top,0px)) env(safe-area-inset-right) 0 env(safe-area-inset-left);flex-direction:column;display:flex;position:fixed;inset:0}.sheet-backdrop{z-index:40;animation:fade var(--t-base) var(--ease);background:#05060a73;position:fixed;inset:0}.sheet{z-index:41;width:min(100%, var(--sheet-max));max-height:86vh;padding-bottom:max(env(safe-area-inset-bottom), var(--inset-bottom,0px));animation:sheet-in var(--t-base) var(--ease);flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.sheet .grip{background:var(--c-panelEdgeLight);flex:none;align-self:center;width:44px;height:4px;margin:10px 0 6px}.sheet .body{-webkit-overflow-scrolling:touch;padding:4px var(--sp-4) var(--sp-5);overscroll-behavior:contain;overflow-y:auto}@keyframes sheet-in{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes fade{0%{opacity:0}}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 20px);z-index:60;max-width:min(92vw,520px);animation:toast-in var(--t-base) var(--ease);padding:10px 16px;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}}.island-launch{animation:island var(--t-slow) var(--ease) both}@keyframes island{0%{clip-path:inset(0 calc(50% - 60px) calc(100% - 36px) round 18px);filter:brightness(1.6)}60%{filter:brightness(1.1)}to{clip-path:inset(0);filter:none}}@media (prefers-reduced-motion:reduce){.island-launch,.sheet,.sheet-backdrop,.toast{animation:none}}html.native-app,html.native-app body{background:0 0}.app.native{background:var(--c-night)}.app.island-open{animation:island-open .56s var(--ease) both}.app.island-open>*{animation:island-content .56s var(--ease) both}.app.island-close{animation:.34s cubic-bezier(.55,0,.75,.35) both island-close}.app.island-close>*{animation:.34s reverse both island-content}@keyframes island-open{0%{clip-path:inset(var(--py) calc(100% - var(--px) - var(--pw)) calc(100% - var(--py) - var(--ph)) var(--px) round calc(var(--ph) / 2))}28%{clip-path:inset(calc(var(--py) - 4px) calc(100% - var(--px) - var(--pw) / 2 - 92px) calc(100% - var(--py) - var(--ph) - 8px) calc(var(--px) + var(--pw) / 2 - 92px) round 24px)}to{clip-path:inset(0)}}@keyframes island-close{0%{clip-path:inset(0)}70%{clip-path:inset(calc(var(--py) - 4px) calc(100% - var(--px) - var(--pw) / 2 - 92px) calc(100% - var(--py) - var(--ph) - 8px) calc(var(--px) + var(--pw) / 2 - 92px) round 24px)}to{clip-path:inset(var(--py) calc(100% - var(--px) - var(--pw)) calc(100% - var(--py) - var(--ph)) var(--px) round calc(var(--ph) / 2))}}@keyframes island-content{0%,30%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.app.island-open,.app.island-close,.app.island-open>*,.app.island-close>*{animation-duration:1ms}}.hit{appearance:none;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.hit:focus-visible,.hit.selected{box-shadow:0 -2px 0 0 var(--c-accent), 0 2px 0 0 var(--c-accent), -2px 0 0 0 var(--c-accent), 2px 0 0 0 var(--c-accent);outline:none}.hit.waiting:after{content:"";aspect-ratio:1;border:2px solid var(--c-accent);opacity:0;width:70%;animation:ring 1.6s var(--ease) infinite;position:absolute;top:-14%;left:50%;transform:translate(-50%,-50%)}@keyframes ring{0%{opacity:.8;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)}}@media (prefers-reduced-motion:reduce){.hit.waiting:after{opacity:.6;animation:none}}.office canvas{display:block}
