:root{--font:-apple-system, "SF Pro Text", "SF Pro Display", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--bg:#fbfbfd;--text:#1d1d1f;--muted:#6e6e73;--faint:#8e8e93;--accent:#007aff;--danger:#ff3b30;--warn:#c93400;--panel:#ffffffc7;--panel-solid:#fff;--border:#00000017;--hover:#0000000f;--press:#0000001a;--shadow:0 8px 30px #0000001a, 0 1px 3px #0000000f;--ease:cubic-bezier(.32, .72, 0, 1);--spring:cubic-bezier(.34, 1.4, .64, 1);font:14px/1.4 var(--font);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased}[data-theme=dark]{--bg:#1c1c1e;--text:#f5f5f7;--muted:#a1a1a6;--faint:#8e8e93;--accent:#0a84ff;--danger:#ff453a;--warn:#ff9f0a;--panel:#2c2c2ec7;--panel-solid:#2c2c2e;--border:#ffffff1a;--hover:#ffffff17;--press:#ffffff26;--shadow:0 8px 30px #00000073, 0 1px 3px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body,#root{background:var(--bg);height:100%;margin:0;transition:background-color .3s;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{position:fixed;inset:0;overflow:hidden}.board{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.panel{background:var(--panel);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border:.5px solid var(--border);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;animation:panel-in .35s var(--ease) both;border-radius:16px;align-items:center;gap:2px;padding:5px;display:flex;position:absolute}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.dock{border-radius:20px;padding:6px;animation-name:dock-in;bottom:18px;left:50%;transform:translate(-50%)}@keyframes dock-in{0%{opacity:0;transform:translate(-50%,10px)scale(.98)}}.group{gap:2px;display:flex}.sep{background:var(--border);flex:none;width:1px;height:22px;margin:0 5px}.tool{width:40px;height:40px;color:var(--text);transition:background-color .15s ease, color .15s ease, transform .2s var(--spring);border-radius:12px;place-items:center;display:grid;position:relative}.tool.small{border-radius:10px;width:34px;height:34px}.tool:hover:not(:disabled){background:var(--hover)}.tool:active:not(:disabled){background:var(--press);transform:scale(.92)}.tool.active{background:var(--accent);color:#fff}.tool.active:hover{background:var(--accent)}.solve{color:#fff;height:40px;transition:transform .2s var(--spring), filter .15s ease, box-shadow .2s ease;background:linear-gradient(135deg,#5e5ce6,#0a84ff);border-radius:12px;align-items:center;gap:7px;padding:0 14px 0 11px;font-weight:600;display:flex;position:relative}.solve:hover{filter:brightness(1.08)}.solve:active{transform:scale(.95)}.solve.active{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent)}[data-tip]:after{content:attr(data-tip);color:#fff;white-space:pre;pointer-events:none;opacity:0;transition:opacity .15s ease 0s, transform .15s var(--ease) 0s;z-index:50;background:#1e1e20eb;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:500;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}[data-theme=dark] [data-tip]:after{color:#1d1d1f;background:#f5f5f7f2}.below[data-tip]:after,.zoom [data-tip]:after{top:calc(100% + 10px);bottom:auto}[data-tip]:hover:after{opacity:1;transition-delay:.45s;transform:translate(-50%)}[data-tip]:active:after,.swatch[data-tip]:after,.size[data-tip]:after{transition-delay:.45s}.style-panel{gap:4px;padding:6px 10px;animation-name:dock-in;bottom:86px;left:50%;transform:translate(-50%)}.swatches,.sizes{align-items:center;gap:4px;display:flex}.swatch{width:26px;height:26px;transition:transform .2s var(--spring);border-radius:50%;place-items:center;display:grid;position:relative}.swatch:before{content:"";background:var(--c);border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 .5px #00000026}.swatch:hover{transform:scale(1.12)}.swatch.on{box-shadow:0 0 0 2px var(--panel-solid), 0 0 0 4px var(--c)}.size{border-radius:10px;place-items:center;width:32px;height:32px;transition:background-color .15s;display:grid;position:relative}.size i{background:var(--text);opacity:.55;border-radius:50%;transition:opacity .15s;display:block}.size:hover,.size.on{background:var(--hover)}.size.on i{opacity:1}.history{top:16px;left:16px}.topright{top:16px;right:16px}.status{height:34px;color:var(--muted);white-space:nowrap;border-radius:17px;gap:8px;padding:0 14px 0 12px;font-size:12.5px;font-weight:500;animation-name:dock-in;top:16px;left:50%;transform:translate(-50%)}.status .dot{background:#34c759;border-radius:50%;flex:none;width:7px;height:7px}.status.down .dot{background:var(--danger)}.status.down{color:var(--danger)}.faint{color:var(--faint)}.zoom{bottom:18px;left:16px}.zoom-pct{font-variant-numeric:tabular-nums;border-radius:10px;min-width:52px;height:34px;font-size:13px;font-weight:500;transition:background-color .15s;position:relative}.zoom-pct:hover{background:var(--hover)}.pill-btn{background:var(--hover);height:30px;transition:background-color .15s ease, transform .2s var(--spring);border-radius:15px;align-items:center;gap:5px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.pill-btn:hover{background:var(--press)}.pill-btn:active{transform:scale(.95)}.pill-btn.primary{background:var(--accent);color:#fff}.pill-btn.danger{background:var(--danger);color:#fff}.pill-btn.icon{justify-content:center;width:30px;padding:0}.ai-layer{transform-origin:0 0;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.ai-note{white-space:nowrap;line-height:1.3;font-family:var(--font);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.ai-note .katex{font-size:1.15em}.ai-note.reveal{animation:write-on .9s var(--ease) both}@keyframes write-on{0%{clip-path:inset(-20% 100% -20% 0);opacity:.4}to{clip-path:inset(-20% -10% -20% 0);opacity:1}}.ai-loading{align-items:center;gap:.18em;height:1.3em;display:inline-flex}.ai-loading i{background:currentColor;border-radius:50%;width:.22em;height:.22em;animation:1.1s ease-in-out infinite pulse}.ai-loading i:nth-child(2){animation-delay:.15s}.ai-loading i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.ai-error{color:var(--danger);align-items:center;gap:.35em;font-size:.5em;font-weight:500;display:inline-flex}.ai-empty{color:var(--faint);font-size:.5em}.details{-webkit-user-select:text;user-select:text;flex-direction:column;align-items:stretch;gap:6px;max-height:300px;padding:14px 16px;font-size:13px;animation-name:panel-in;position:absolute;overflow:auto}.details .label{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}.details .read{font-size:15px;overflow-x:auto}.details .sketch{color:var(--muted);font-size:13px}.details .warn{color:var(--warn)}.details .meta,.details .small,.muted{color:var(--muted)}.details .meta,.details .small{font-size:12px}.details .err{color:var(--danger)}.details .row{align-items:center;gap:6px;margin-top:4px;display:flex}.details .row input{border:.5px solid var(--border);background:var(--hover);border-radius:10px;flex:1;min-width:0;height:30px;padding:0 10px}.text-editor{resize:none;white-space:pre;caret-color:var(--accent);z-index:5;background:0 0;border:none;outline:none;margin:0;padding:0;position:absolute;overflow:hidden}.hint{text-align:center;pointer-events:none;max-width:340px;animation:.8s .2s both fade-in;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}@keyframes fade-in{0%{opacity:0}}.hint-title{letter-spacing:-.02em;color:var(--text);opacity:.85;font-size:26px;font-weight:600}.hint-body{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.5}.toast{color:#fff;box-shadow:var(--shadow);cursor:pointer;animation:toast-in .35s var(--ease) both;z-index:60;background:#1e1e20eb;border-radius:14px;padding:10px 16px;font-size:13px;position:absolute;top:66px;left:50%;transform:translate(-50%)}[data-theme=dark] .toast{color:#1d1d1f;background:#f5f5f7f2}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media (width<=720px){.status,.solve span{display:none}.solve{padding:0 11px}.tool{width:36px}.dock{max-width:calc(100vw - 16px);overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.resume-bar{top:calc(66px + var(--sat,0px));z-index:59;max-width:calc(100vw - 24px);animation:toast-in .35s var(--ease) both;border-radius:14px;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:13px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.resume-bar>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.resume-x{width:28px;height:28px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.resume-x:hover{background:var(--hover);color:var(--text)}html.native,html.native [data-theme]{--panel:var(--panel-solid)}html.native *,html.native :before,html.native :after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html.native .home-btn{display:none}.switch-btn{height:40px;color:var(--text);transition:background-color .15s ease, transform .2s var(--spring);border-radius:12px;align-items:center;gap:7px;margin-left:4px;padding:0 10px;font-weight:500;display:flex;position:relative}.switch-btn:hover{background:var(--hover)}.switch-btn:active{transform:scale(.96)}.switch{background:var(--press);border-radius:9px;flex:none;width:30px;height:18px;transition:background-color .22s;position:relative}.switch:after{content:"";width:14px;height:14px;transition:transform .25s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch-btn.on .switch{background:#34c759}.switch-btn.on .switch:after{transform:translate(12px)}.tool.on{color:var(--accent)}.activity{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--panel-solid);border-radius:50%;animation:1.1s ease-in-out infinite pulse;position:absolute;top:6px;right:6px}.work{z-index:30;background:var(--panel);-webkit-backdrop-filter:saturate(180%)blur(28px);backdrop-filter:saturate(180%)blur(28px);border:.5px solid var(--border);animation:work-in .38s var(--ease) both;transition:height .3s var(--ease), box-shadow .2s ease;border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 22px 70px #0000002e,0 2px 8px #00000014}[data-theme=dark] .work{box-shadow:0 22px 70px #0000008c,0 2px 8px #00000059}.work.dragging{transition:none;box-shadow:0 30px 90px #0000003d,0 2px 8px #0000001a}@keyframes work-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}.work-title{cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:.5px solid var(--border);flex:none;align-items:center;gap:10px;height:40px;padding:0 12px;display:flex}.work.collapsed .work-title{border-bottom:none}.work.dragging .work-title{cursor:grabbing}.lights{gap:8px;display:flex}.light{border-radius:50%;place-items:center;width:12px;height:12px;display:grid;box-shadow:inset 0 0 0 .5px #0000002e}.light svg{fill:none;stroke:#0000008c;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:8px;height:8px;transition:opacity .12s}.lights:hover .light svg,.light:focus-visible svg{opacity:1}.light.red{background:#ff5f57}.light.yellow{background:#febc2e}.light.green{background:#28c840}.work-name{letter-spacing:-.01em;font-size:13px;font-weight:600}.work-phase{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.work-phase span{text-overflow:ellipsis;overflow:hidden}.work-phase.done{color:#248a3d}[data-theme=dark] .work-phase.done{color:#30d158}.work-phase.error{color:var(--danger)}.spin{opacity:.75;border:1.6px solid;border-right-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.75s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.work-body{-webkit-user-select:text;user-select:text;overscroll-behavior:contain;flex:1;min-height:0;padding:4px 16px 12px;font-size:13px;overflow-y:auto}.work-body section{border-bottom:.5px solid var(--border);animation:panel-in .3s var(--ease) both;padding:12px 0}.work-body section:last-child{border-bottom:none}.sec-head{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.sec-head .faint{text-transform:none;letter-spacing:0;font-weight:500}.mode-tag{letter-spacing:.02em;background:var(--hover);color:var(--muted);border-radius:6px;padding:2px 7px;font-size:10.5px}.mode-tag.solution{color:#248a3d;background:#34c7592e}[data-theme=dark] .mode-tag.solution{color:#30d158}.read-tex{font-size:16px;overflow:auto hidden}.read-tex .katex-display,.answer-tex .katex-display{text-align:left;margin:2px 0}.read-tex .katex-display>.katex,.answer-tex .katex-display>.katex{text-align:left}.work .warn{color:var(--warn);margin-top:6px}.work .meta{color:var(--faint);margin-top:6px;font-size:11.5px}.work .row{align-items:center;gap:8px;display:flex}.timeline{flex-direction:column;gap:10px;padding-left:14px;display:flex;position:relative}.timeline:before{content:"";background:var(--border);border-radius:1px;width:1.5px;position:absolute;top:6px;bottom:6px;left:3px}.timeline>*{animation:panel-in .28s var(--ease) both;position:relative}.timeline>:before{content:"";background:var(--panel-solid);width:7px;height:7px;box-shadow:inset 0 0 0 1.5px var(--faint);border-radius:50%;position:absolute;top:7px;left:-14px}.timeline>.calc:before{box-shadow:inset 0 0 0 1.5px var(--accent);top:12px}.think{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.5}.wait{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.calc{background:var(--hover);border:.5px solid var(--border);border-radius:10px;padding:9px 11px}.calc-head{color:var(--accent);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.calc-ms{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.calc-in{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:6px;display:flex}.work code{word-break:break-all;font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:12px}.calc-detail{color:var(--muted);font-size:12px}.calc-out{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:6px;font-size:14px;display:flex;overflow:auto hidden}.calc-out .eq{color:var(--faint)}.calc-out .approx{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.calc-out.ok,.calc-out.err{align-items:center;font-size:12.5px}.calc-out.ok{color:#248a3d}[data-theme=dark] .calc-out.ok{color:#30d158}.calc-out.err{color:var(--danger)}.badge{letter-spacing:.01em;text-transform:none;border-radius:7px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;display:inline-flex}.badge.ok{color:#248a3d;background:#34c75929}[data-theme=dark] .badge.ok{color:#30d158}.badge.computed{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.badge.unchecked{color:#c93400;background:#ff950029}[data-theme=dark] .badge.unchecked{color:#ff9f0a}.answer-tex{font-size:19px;overflow:auto hidden}.steps{flex-direction:column;gap:7px;margin:0;padding-left:22px;font-size:15px;display:flex}.steps li{padding-right:28px;position:relative;overflow:auto hidden}.step-ask{border:.5px solid var(--border);width:22px;height:22px;color:var(--muted);opacity:.45;border-radius:7px;font-size:12px;font-weight:600;transition:opacity .15s,background-color .15s;position:absolute;top:0;right:0}.steps li:hover .step-ask,.step-ask:focus-visible{opacity:1}.step-ask:hover{background:var(--hover);color:var(--text)}@media (pointer:coarse){.step-ask{opacity:1;width:28px;height:28px}}.steps li::marker{color:var(--faint);font-size:12px}.note{color:var(--muted);margin:8px 0 0;line-height:1.5}.failed p{color:var(--danger);margin:0;line-height:1.5}.work-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:36px 18px;line-height:1.5;display:flex}.work-empty svg{color:var(--accent)}.work-empty .title{color:var(--text);font-size:15px;font-weight:600}.work-foot{border-top:.5px solid var(--border);flex:none;align-items:center;gap:8px;height:46px;padding:0 8px 0 14px;display:flex}.fb{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.fb .pill-btn{height:26px;padding:0 10px;font-size:12px}.foot-actions{gap:2px;margin-left:auto;display:flex}.foot-actions [data-tip]:after{left:auto;right:0;transform:translateY(4px)}.foot-actions [data-tip]:hover:after{transform:translate(0)}.tex .katex{font-size:1.08em}.tnote{white-space:nowrap;line-height:1.25;font-family:var(--font);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-start;gap:.35em;display:flex;position:absolute}.tnote.fresh{animation:tnote-in .55s var(--ease) .5s both}@keyframes tnote-in{0%{opacity:0;transform:translateY(6px)}}.tnote .katex{font-size:1.12em}.tline.boxed{border:.09em solid;border-radius:.3em;padding:.18em .5em}.chip{z-index:25;background:var(--panel);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border:.5px solid var(--border);max-width:min(560px,100vw - 32px);box-shadow:var(--shadow);animation:panel-in .3s var(--ease) both;border-radius:14px;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:13px;display:flex;position:absolute}.chip.unsure{border-color:#ff95008c}.chip-label{letter-spacing:.02em;color:var(--faint);white-space:nowrap;flex:none;font-size:11px;font-weight:600}.chip.unsure .chip-label{color:#c93400}[data-theme=dark] .chip.unsure .chip-label{color:#ff9f0a}.chip-read{white-space:nowrap;min-width:0;font-size:15px;overflow:auto hidden}.chip-alt{background:var(--hover);max-width:220px;transition:background-color .15s ease, transform .2s var(--spring);border-radius:10px;flex:none;padding:3px 10px;font-size:14px;overflow:hidden}.chip-alt:hover{background:var(--press)}.chip-alt:active{transform:scale(.95)}.chip-edit{width:26px;height:26px;color:var(--muted);border-radius:8px;flex:none;place-items:center;transition:background-color .15s;display:grid;position:relative}.chip-edit:hover{background:var(--hover);color:var(--text)}.chip-form{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.chip-form input{border:.5px solid var(--border);background:var(--hover);border-radius:9px;flex:1;min-width:180px;height:28px;padding:0 10px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13px}.chip-form .pill-btn{height:28px}.style-row{align-items:center;gap:8px;margin-top:10px;display:flex}.seg{background:var(--hover);border-radius:9px;padding:2px;display:inline-flex}.seg button{height:24px;color:var(--muted);border-radius:7px;padding:0 11px;font-size:12px;font-weight:500;transition:background-color .18s,color .18s}.seg button.on{background:var(--panel-solid);color:var(--text);box-shadow:0 1px 3px #00000024}.toggle-chip{background:var(--hover);height:28px;color:var(--muted);border-radius:9px;padding:0 11px;font-size:12px;font-weight:500;transition:background-color .18s,color .18s}.toggle-chip.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.tnote.cols{flex-direction:row;align-items:flex-start;gap:0}.tcol{border-left:.07em solid;flex-direction:column;align-items:flex-start;gap:.35em;padding:0 .9em;display:flex}.tcol:first-child{border-left:none;padding-left:0}.tcol:last-child{padding-right:0}.thead{letter-spacing:.02em;opacity:.75;margin-bottom:.1em;padding-bottom:.15em;font-size:.7em;font-weight:600}.wcols{align-items:flex-start;display:flex;overflow:auto hidden}.wcol{border-left:1px solid var(--border);flex-direction:column;gap:6px;min-width:0;padding:0 12px;display:flex}.wcol:first-child{border-left:none;padding-left:0}.whead{border-bottom:.5px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding-bottom:4px;font-size:11px;font-weight:600}.wline{white-space:nowrap;font-size:14px}.chip.docked{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;max-width:none;box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;padding:0;animation:none;position:static}.chip.docked .chip-label{flex-basis:100%}.chip.docked .chip-read{flex:auto}.chip.docked .chip-form{flex-basis:100%}.chip.docked .chip-form input{min-width:0}.wcols{flex-direction:column;gap:10px;overflow-x:auto}.wcol{border-left:none;border-top:.5px solid var(--border);padding:8px 0 0}.wcol:first-child{border-top:none;padding-top:0}.whead{border-bottom:none;padding-bottom:2px}.figures{border-radius:18px;flex-direction:column;align-items:stretch;gap:0;width:min(600px,100vw - 16px);max-height:min(58vh,460px);padding:0;animation-name:dock-in;bottom:144px;left:50%;overflow:hidden;transform:translate(-50%)}.fig-head{border-bottom:.5px solid var(--border);flex:none;align-items:center;gap:10px;padding:8px 8px 6px 16px;font-weight:600;display:flex}.fig-hint{color:var(--faint);margin-left:auto;font-size:12px;font-weight:400}.fig-scroll{overscroll-behavior:contain;padding:2px 12px 12px;overflow-y:auto}.fig-scroll h4{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:12px 4px 6px;font-size:11px}.fig-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;display:grid}.fig{color:var(--text);transition:background-color .15s ease, transform .2s var(--spring);border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;font-size:11px;display:flex}.fig span{color:var(--muted);text-align:center;line-height:1.2}.fig:hover{background:var(--hover)}.fig:active{transform:scale(.94)}.fig.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.fig.on span{color:var(--accent)}.board{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}@media (hover:none){[data-tip]:after{display:none}}@media (pointer:coarse){.tool{width:44px;height:44px}.tool.small{width:40px;height:40px}.swatch{width:32px;height:32px}.size{width:40px;height:40px}.solve,.switch-btn{height:44px}.pill-btn{height:36px}.seg button{height:32px;padding:0 14px}.light{width:16px;height:16px}.fig{padding:10px 4px 8px}}.dock-ai,.dock-tools{display:contents}.fig-ico{width:60px;height:42px;color:var(--text);place-items:center;font-style:normal;display:grid}@media (width<=900px){.dock{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));border-radius:18px;flex-wrap:nowrap;gap:0;padding:5px;animation-name:panel-in;transform:none}.dock-tools{overscroll-behavior-x:contain;scrollbar-width:none;flex:1;align-items:center;min-width:0;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000)}.dock-tools::-webkit-scrollbar{display:none}.dock-tools .group{flex:none}.dock-tools .group+.group:before{content:"";background:var(--border);flex:none;width:1px;height:22px;margin:auto 4px}.dock .basic-shape{display:none}.dock>.sep{margin:0 4px}.dock-ai{flex:none;align-items:center;gap:2px;display:flex}.dock-ai .switch-btn{margin-left:0;padding:0 8px}.style-panel{bottom:calc(72px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;row-gap:0;width:calc(100vw - 12px);max-width:none;overflow:visible}.style-panel .sep{display:none}.swatches,.sizes{flex-wrap:wrap;justify-content:center}.figures{bottom:calc(72px + env(safe-area-inset-bottom));max-height:min(62vh,100dvh - 160px)}.fig-hint{display:none}.zoom{top:76px;bottom:auto;left:16px}.toast{top:136px}}@media (width<=720px){.switch-btn span{display:none}.dock-ai .solve{padding:0 11px}.dock-ai .solve span,.status{display:none}.history{top:8px;left:8px}.topright{top:8px;right:8px}.zoom{top:64px;bottom:auto;left:8px}.toast{text-align:center;max-width:calc(100vw - 24px);top:124px}}.fig-head{border-bottom:0;padding:8px 8px 8px 10px}.fig-tabs{background:var(--hover);border-radius:10px;flex:1;gap:2px;padding:3px;display:flex}.fig-tabs button{height:28px;color:var(--muted);border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:550;transition:background .15s,color .15s;display:flex}.fig-tabs button.on{color:var(--text);background:var(--panel-solid);box-shadow:0 1px 3px #0000001a, 0 0 0 .5px var(--border)}.fig-tabs em{min-width:18px;color:var(--muted);background:var(--press);border-radius:999px;padding:0 5px;font-size:11px;font-style:normal;line-height:16px}.fig-search{height:34px;color:var(--faint);background:var(--panel-solid);box-shadow:0 0 0 .5px var(--border);border-radius:10px;flex:none;align-items:center;gap:8px;margin:0 10px 4px;padding:0 4px 0 10px;transition:box-shadow .15s;display:flex}.fig-search:focus-within{box-shadow:0 0 0 1.5px var(--accent)}.fig-search input{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:13px}.fig-search input::placeholder{color:var(--faint)}.fig-foot{color:var(--faint);margin:12px 4px 0;font-size:12px}.fig-ai{text-align:left;width:100%;color:var(--text);background:var(--hover);border-radius:12px;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;transition:background .15s;display:flex}.fig-ai:hover{background:var(--press)}.fig-ai i{color:#fff;background:linear-gradient(135deg,#5e5ce6 0%,#007aff 55%,#32ade6 100%);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.fig-ai span,.dg-card span{flex-direction:column;min-width:0;display:flex}.fig-ai b,.dg-card b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.fig-ai small,.dg-card small{color:var(--muted);font-size:11.5px}.dg-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.dg-card{text-align:left;color:var(--text);background:var(--hover);transition:background .15s ease, transform .2s var(--spring);border-radius:12px;flex-direction:column;gap:6px;padding:6px 6px 8px;display:flex}.dg-card:hover{background:var(--press)}.dg-card:active{transform:scale(.97)}.dg-card span{padding:0 4px}.dg-thumb{background:var(--panel-solid);border-radius:8px;width:100%;height:84px}.fig-empty{color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:28px 0 12px;font-size:13px;display:flex}.fig-empty-ai{color:#fff;background:linear-gradient(135deg,#5e5ce6 0%,#007aff 55%,#32ade6 100%);border-radius:9px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}@media (width<=900px){.dock{overflow:visible}.dock .tool.t-figure.holds-shape{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}}@media (width<=720px){.dock .tool.t-hand,.dock .tool.t-text{display:none}.dock .tool.t-figure.holds-text{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.dock-tools{-webkit-mask-image:none;mask-image:none}.dock-tools .group+.group:before{margin:auto 2px}.dock>.sep{margin:0 3px}.dock-ai .switch-btn{justify-content:center;min-width:44px;margin:0;padding:0}.dock-ai .switch-btn .switch{display:none}.dock-ai .switch-btn.on{color:#34c759;background:#34c7592e}}@media (width<=400px){.dock .tool{width:40px}.dock-ai .solve{padding:0 10px}}.tr-more,.size-pick{flex:none;display:none;position:relative}.topright .tr-menu{z-index:90;min-width:232px;position:absolute;top:calc(100% + 10px);left:auto;right:-5px}@media (width<=900px){.panel.style-panel{left:calc(8px + var(--sal,0px));right:calc(8px + var(--sar,0px));box-sizing:border-box}}@media (width<=720px){.tr-more{display:block}.topright .tr-extra{display:none}.style-panel.ink-style{border-radius:18px;flex-wrap:nowrap;justify-content:flex-start;gap:2px;padding:5px 6px}.style-panel.ink-style>.sizes{display:none}.style-panel.ink-style>.sep{flex:none;margin:0 3px;display:block}.style-panel.ink-style .swatches{flex-wrap:nowrap;flex:1;justify-content:space-between;gap:0;min-width:0}.style-panel.ink-style .swatch{aspect-ratio:1;flex:0 40px;width:auto;min-width:0;height:auto}.style-panel.ink-style .swatch:before{width:20px;height:20px}.size-pick{display:block}.size-pick .size.cur{background:var(--hover);border-radius:12px;width:40px;height:40px}.size-pick .size.cur.open{background:var(--press)}.size-pick .size.cur i{background:var(--text)}.size-pop{gap:2px;padding:5px;animation-name:panel-in;bottom:calc(100% + 12px);right:-6px}.size-pop [data-tip]:after,.style-panel.ink-style [data-tip]:after{display:none}.style-panel.ink-style>.tool.small{flex:none;width:40px;height:40px}}.sim-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:6px;display:grid}.sim-card{text-align:left;background:var(--hover);color:var(--text);transition:background-color .15s ease, transform .2s var(--spring);border-radius:12px;align-items:center;gap:10px;padding:9px 10px;display:flex}.sim-card:hover{background:var(--press)}.sim-card:active{transform:scale(.97)}.sim-card span{flex-direction:column;gap:1px;min-width:0;display:flex}.sim-card b{font-size:12.5px;font-weight:600}.sim-card small{color:var(--muted);font-size:11px;line-height:1.25}.sim-card-ico{color:#fff;background:linear-gradient(135deg,#5e5ce6,#0a84ff);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;padding-left:2px;font-style:normal;display:grid}.sim-panel{border-radius:18px;flex-direction:column;align-items:stretch;gap:0;width:340px;padding:0;top:64px;bottom:96px;left:16px;overflow:hidden}.sim-head{flex:none;align-items:center;gap:10px;padding:10px 8px 8px 12px;display:flex}.sim-ico{color:#fff;background:linear-gradient(135deg,#5e5ce6,#0a84ff);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.sim-name{flex-direction:column;flex:1;min-width:0;display:flex}.sim-name b{font-size:13.5px;font-weight:650}.sim-name span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.sim-transport{flex:none;align-items:center;gap:4px;padding:2px 12px 0;display:flex}.sim-play{color:#fff;background:var(--accent);height:34px;transition:transform .2s var(--spring), filter .15s ease;border-radius:10px;align-items:center;gap:6px;padding:0 14px 0 11px;font-weight:600;display:flex}.sim-play:hover{filter:brightness(1.08)}.sim-play:active{transform:scale(.95)}.sim-speed{margin-left:auto}.sim-speed button{padding:0 8px}.sim-time{font-variant-numeric:tabular-nums;color:var(--muted);border-bottom:.5px solid var(--border);flex:none;padding:6px 14px 8px;font-size:11.5px}.sim-scroll{overscroll-behavior:contain;flex:1;padding:0 14px 16px;overflow-y:auto}.sim-scroll h4{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:14px 0 8px;font-size:11px}.sim-presets{flex-wrap:wrap;gap:6px;display:flex}.sim-presets .toggle-chip{text-align:left;height:auto;min-height:28px;padding:5px 10px;line-height:1.25}.sim-presets .toggle-chip:hover{background:var(--press);color:var(--text)}.sim-range{margin:0 0 12px;display:block}.sim-row{justify-content:space-between;gap:8px;margin-bottom:4px;font-size:12.5px;display:flex}.sim-row b{font-variant-numeric:tabular-nums;font-weight:600}.sim-range input[type=range]{width:100%;height:22px;accent-color:var(--accent);touch-action:pan-y;margin:0}.sim-choice{flex-direction:column;gap:6px;margin:0 0 12px;font-size:12.5px;display:flex}.seg.wrap{flex-wrap:wrap;align-self:flex-start;max-width:100%}.sim-toggle{justify-content:space-between;width:100%;height:36px;margin:0 0 4px;padding:0 2px;font-size:12.5px}.sim-toggle:hover{background:0 0}.sim-formulas{flex-direction:column;gap:8px;display:flex}.sim-formula{background:var(--hover);border-radius:10px;padding:8px 10px}.sim-formula>span{color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.sim-formula .katex-display{text-align:left;margin:2px 0 0;padding:2px 0;overflow:auto hidden}.sim-formula .katex-display>.katex{text-align:left;font-size:1em}@media (width<=900px){.sim-panel{top:auto;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom));width:auto;max-height:min(58vh,100dvh - 150px);animation-name:panel-in}}.menu{z-index:100;background:var(--panel);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border:.5px solid var(--border);-webkit-user-select:none;user-select:none;min-width:228px;max-width:min(300px,100vw - 16px);max-height:calc(100dvh - 16px);animation:menu-in .16s var(--ease) both;transform-origin:0 0;border-radius:12px;padding:5px;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #0000002e,0 1px 4px #00000014}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}}.menu-colors{border-bottom:.5px solid var(--border);justify-content:space-between;gap:2px;margin-bottom:4px;padding:4px 4px 6px;display:flex}.menu-colors .swatch{width:24px;height:24px}.menu-group+.menu-group{border-top:.5px solid var(--border);margin-top:4px;padding-top:4px}.menu-item{width:100%;height:30px;color:var(--text);text-align:left;border-radius:7px;align-items:center;gap:8px;padding:0 10px 0 6px;font-size:13px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--accent);color:#fff;outline:none}.menu-item:hover:not(:disabled) .menu-keys,.menu-item:hover:not(:disabled) .menu-ico{color:#ffffffd9}.menu-item:disabled{opacity:.38}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover:not(:disabled){background:var(--danger);color:#fff}.menu-ico{width:20px;color:var(--muted);flex:none;place-items:center;display:grid}.menu-item.accent .menu-ico{color:#fff;background:linear-gradient(135deg,#5e5ce6 0%,#007aff 55%,#32ade6 100%);border-radius:6px;height:20px;box-shadow:0 2px 6px #007aff4d}.menu-item.accent .menu-label{font-weight:600}.menu-item.accent:hover:not(:disabled) .menu-ico{color:#fff;box-shadow:none;background:#ffffff38}.menu-item.danger .menu-ico{color:inherit}.menu-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.menu-keys{color:var(--faint);white-space:nowrap;font-size:11.5px}@media (pointer:coarse){.menu-item{height:42px;font-size:15px}.menu-keys{display:none}.menu-colors .swatch{width:30px;height:30px}}.selbar{z-index:20;animation:selbar-in .2s var(--ease) both;border-radius:14px;gap:0;padding:4px;transform:translate(-50%)}@keyframes selbar-in{0%{opacity:0;transform:translate(-50%,4px)scale(.97)}}.selbar .tool{width:42px;height:42px}.tool.danger{color:var(--danger)}.sim-lookup{gap:6px;display:flex}.sim-lookup input{min-width:0;font:inherit;border:1px solid var(--line,#d2d2d7);color:inherit;background:0 0;border-radius:8px;flex:1;padding:6px 10px;font-size:13px}.sim-lookup-error{color:var(--red,#d70015);margin:6px 0 0;font-size:12px}.ob{--ob-stone:#121821;--ob-chalk:#eef2f6;--ob-mist:#9aa7b4;--ob-answer:#6cb4ff;--ob-lasso:#a9b8ff;--ob-ease:cubic-bezier(.32, .72, 0, 1);z-index:1000;overscroll-behavior:contain;background:var(--ob-stone);color:var(--ob-chalk);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);-webkit-font-smoothing:antialiased;position:fixed;inset:0;overflow:hidden auto}.ob-fields{pointer-events:none;will-change:transform;position:fixed;inset:-12%}.ob-field{will-change:transform;border-radius:50%;position:absolute}.ob-f1{background:radial-gradient(closest-side,#3b4f9a8c,#3b4f9a00 100%);width:70vmax;height:70vmax;animation:26s ease-in-out infinite alternate ob-drift-a;top:-18%;left:-8%}.ob-f2{background:radial-gradient(closest-side,#2a8f8a5c,#2a8f8a00 100%);width:60vmax;height:60vmax;animation:32s ease-in-out infinite alternate ob-drift-b;bottom:-20%;right:-14%}.ob-f3{background:radial-gradient(closest-side,#6cb4ff29,#6cb4ff00 100%);width:46vmax;height:46vmax;animation:38s ease-in-out -12s infinite alternate-reverse ob-drift-a;top:30%;left:38%}@keyframes ob-drift-a{to{transform:translate(6%,8%)scale(1.08)}}@keyframes ob-drift-b{to{transform:translate(-7%,-5%)scale(1.12)}}.ob-shell{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));flex-direction:column;display:flex;position:relative}.ob-head{flex:none;align-items:center;height:44px;display:flex}.ob-mark{color:var(--ob-chalk);opacity:.92}.ob-main{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,5vw,80px);width:100%;max-width:1180px;margin:0 auto;padding:24px 0 8px;display:grid}.ob-copy{will-change:transform;max-width:31rem}.ob-title{letter-spacing:-.038em;margin:0;font-size:clamp(2.5rem,2.4vw + 1.6rem,4.25rem);font-weight:650;line-height:1.02}.ob-line{display:block}.ob-sub{max-width:28rem;color:var(--ob-mist);animation:ob-rise .9s var(--ob-ease) .35s both;margin:22px 0 0;font-size:clamp(1rem,.3vw + .92rem,1.125rem);line-height:1.55}.ob-cta{animation:ob-rise .9s var(--ob-ease) .5s both;margin-top:32px}.ob-error{color:#ffb4a8;max-width:26rem;margin:14px 0 0;font-size:.875rem;line-height:1.45}.ob-legal{color:#9aa7b4cc;animation:ob-rise .9s var(--ob-ease) .6s both;margin:18px 0 0;font-size:.78rem;line-height:1.5}.ob-legal a{color:var(--ob-chalk);text-underline-offset:3px;-webkit-text-decoration:underline #eef2f659;text-decoration:underline #eef2f659}.ob-legal a:hover{text-decoration-color:currentColor}.ob a:focus-visible{outline:2px solid var(--ob-answer);outline-offset:3px;border-radius:4px}@keyframes ob-rise{0%{opacity:0;transform:translateY(14px)}}.gsi-btn{color:#1f1f1f;height:48px;font-family:Roboto, var(--font);letter-spacing:.01em;white-space:nowrap;transition:transform .25s var(--ob-ease), box-shadow .25s var(--ob-ease), background-color .2s ease;background:#fff;border:1px solid #747775;border-radius:999px;align-items:center;gap:12px;padding:0 22px 0 14px;font-size:15px;font-weight:500;display:inline-flex;box-shadow:0 10px 30px #00000047}.gsi-btn:hover:not(:disabled){background:#f8faff;transform:translateY(-1px);box-shadow:0 14px 36px #00000057}.gsi-btn:active:not(:disabled){background:#eef1f6;transform:scale(.98)}.gsi-btn:disabled{opacity:.7;cursor:progress}.gsi-btn:focus-visible{outline:3px solid var(--ob-answer);outline-offset:3px}.gsi-icon{place-items:center;width:20px;height:20px;display:grid}.ob-stage{will-change:transform;transform-style:preserve-3d}.ob-stage-in{animation:ob-stage-in 1.2s var(--ob-ease) .1s both}@keyframes ob-stage-in{0%{opacity:0;transform:translateY(24px)scale(.97)}}.ob-card{aspect-ratio:360/236;-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);background:radial-gradient(circle at 1px 1px,#eef2f621 1px,#0000 1.4px) 0 0/22px 22px,linear-gradient(160deg,#ffffff17,#ffffff06);border:1px solid #ffffff1c;border-radius:30px;width:100%;position:relative;overflow:hidden;box-shadow:0 40px 90px -30px #000000b3,inset 0 1px #ffffff1f}.ob-board{width:100%;height:100%;display:block}.ob-ink{stroke:var(--ob-chalk)}.ob-answer{stroke:var(--ob-answer)}.ob-lasso{stroke:var(--ob-lasso);stroke-opacity:.85}.ob-glow{opacity:.6}.ob-chip{color:var(--ob-chalk);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1e283699;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:7px 12px 7px 9px;font-size:.78rem;font-weight:500;display:inline-flex;position:absolute;bottom:7%;right:5%;box-shadow:0 10px 24px #0000004d}.ob-chip svg{color:#7fe0b4}.ob-still .ob-field,.ob-still .ob-sub,.ob-still .ob-cta,.ob-still .ob-legal,.ob-still .ob-stage-in{animation:none}@media (prefers-reduced-motion:reduce){.ob *,.ob :before,.ob :after{transition:none!important;animation:none!important}}@media (width<=900px){.ob-main{grid-template-columns:minmax(0,1fr);align-content:center;gap:36px;padding-top:12px}.ob-stage{order:-1;justify-self:center;width:min(100%,560px)}.ob-copy{justify-self:center;max-width:34rem}}@media (width<=520px){.ob-shell{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right))}.ob-main{gap:28px}.ob-card{border-radius:24px}.ob-title{font-size:clamp(2.15rem,9vw,2.6rem)}.ob-sub{margin-top:16px}.ob-cta{margin-top:26px}.gsi-btn{justify-content:center;width:100%}.ob-chip{font-size:.72rem}}@media (height<=520px) and (orientation:landscape){.ob-head{height:32px}.ob-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:8px 0 0}.ob-stage{order:0;width:100%}.ob-title{font-size:clamp(1.7rem,3.4vw,2.3rem)}.ob-sub{margin-top:10px;font-size:.9rem;line-height:1.45}.ob-cta{margin-top:16px}.ob-legal{margin-top:10px}.gsi-btn{width:auto}}.db{overscroll-behavior:contain;background:var(--bg);color:var(--text);-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.db-top{z-index:5;padding:max(14px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 12px max(20px, env(safe-area-inset-left));background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(18px)saturate(180%);backdrop-filter:blur(18px)saturate(180%);border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.db-mark{color:var(--text);flex:none}.db-top-right{align-items:center;gap:8px;min-width:0;margin-right:52px;display:flex}.db-chip{border:.5px solid var(--border);background:var(--panel-solid);white-space:nowrap;cursor:pointer;max-width:100%;min-height:36px;transition:transform .15s var(--ease), background-color .15s ease;border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 14px;font-size:13px;font-weight:500;display:inline-flex}.db-chip:not(:has(b)){padding-right:14px}.db-chip b{background:var(--accent);color:#fff;border-radius:999px;padding:5px 10px;font-weight:600}.db-chip.warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent);color:var(--warn)}.db-chip:hover{background:var(--hover)}.db-chip:active{transform:scale(.97)}.db-main{width:min(1180px,100%);padding:26px max(20px, env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));margin:0 auto}.db-hero{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.db-hero h1{letter-spacing:-.02em;margin:0 0 4px;font-size:clamp(24px,4.6vw,34px);font-weight:700;line-height:1.15}.db-muted{color:var(--muted);margin:0}.db-streak{border:.5px solid var(--border);background:var(--panel-solid);border-radius:16px;flex:none;align-items:center;gap:10px;padding:10px 16px 10px 12px;display:flex}.db-streak div{flex-direction:column;line-height:1.1;display:flex}.db-streak b{font-size:20px;font-weight:700}.db-streak span{color:var(--muted);font-size:12px}.db-notice{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);border-radius:12px;margin:0 0 16px;padding:10px 14px}.db-tools{gap:10px;margin-bottom:18px;display:flex}.db-search{border:.5px solid var(--border);background:var(--panel-solid);min-width:0;height:42px;color:var(--muted);border-radius:12px;flex:1;align-items:center;gap:8px;padding:0 14px;display:flex}.db-search:focus-within{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:1px}.db-search input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:15px}.db-btn{border:.5px solid var(--border);background:var(--panel-solid);white-space:nowrap;cursor:pointer;min-height:42px;transition:transform .15s var(--ease), background-color .15s ease, opacity .15s ease;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;display:inline-flex}.db-btn:hover:not(:disabled){background:var(--hover)}.db-btn:active:not(:disabled){transform:scale(.97)}.db-btn:disabled{opacity:.5;cursor:default}.db-btn.primary{background:var(--accent);color:#fff;border-color:#0000}.db-btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.db-btn.danger{background:var(--danger);color:#fff;border-color:#0000}.db-btn:focus-visible,.db-card-open:focus-visible,.db-card-more:focus-visible,.db-chip:focus-visible,.db-new:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=560px){.db-tools .db-btn{display:none}}.db-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px;display:grid}@media (width<=420px){.db-grid{grid-template-columns:1fr 1fr;gap:12px}}.db-card{border:.5px solid var(--border);background:var(--panel-solid);min-width:0;transition:transform .2s var(--ease), box-shadow .2s ease;animation:db-in .32s var(--ease) both;border-radius:18px;flex-direction:column;display:flex;position:relative;box-shadow:0 1px 2px #0000000a}.db-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.db-card-open{border-radius:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;width:100%;padding:0;display:flex}.db-thumb{aspect-ratio:16/10;background:radial-gradient(circle, color-mix(in srgb, var(--text) 9%, transparent) 1px, transparent 1.2px) 0 0 / 14px 14px, var(--bg);border-radius:13px;margin:6px 6px 0;position:relative;overflow:hidden}.db-thumb canvas{width:100%;height:100%;display:block}.db-thumb-empty{color:var(--faint);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.db-card-meta{min-width:0;padding:10px 44px 12px 14px}.db-card-meta h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:15px;font-weight:600;overflow:hidden}.db-card-meta p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.db-badge{color:color-mix(in srgb, #34c759 70%, var(--text));background:#34c7592e;border-radius:999px;padding:1px 7px;font-weight:600}.db-card-more{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;bottom:8px;right:6px}.db-card-more:hover{background:var(--hover);color:var(--text)}.db-menu{z-index:3;border:.5px solid var(--border);background:var(--panel-solid);min-width:150px;box-shadow:var(--shadow);animation:db-pop .18s var(--spring) both;border-radius:14px;flex-direction:column;padding:5px;display:flex;position:absolute;bottom:48px;right:8px}.db-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 12px}.db-menu button:hover{background:var(--hover)}.db-menu .danger{color:var(--danger)}.db-new{min-height:180px;box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border-style:dashed;border-width:1.5px;justify-content:center;align-items:center;gap:8px;font-weight:600}.db-new:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.db-new-plus{background:color-mix(in srgb, var(--accent) 12%, transparent);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;font-size:26px;line-height:1;display:grid}.db-new kbd{border:.5px solid var(--border);font:11px var(--font);color:var(--faint);border-radius:5px;padding:1px 6px}@media (hover:none){.db-new kbd{display:none}}.db-empty{text-align:center;color:var(--muted);margin:30px 0}.db-scrim{z-index:1200;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#0000005c;place-items:center;animation:.2s both db-fade;display:grid;position:fixed;inset:0}.db-dialog{background:var(--panel-solid);width:min(400px,100%);color:var(--text);animation:db-pop .28s var(--spring) both;border-radius:20px;flex-direction:column;gap:12px;padding:22px;display:flex;box-shadow:0 30px 80px #0000004d}.db-dialog h2{margin:0;font-size:18px}.db-dialog input{border:.5px solid var(--border);background:var(--bg);border-radius:12px;outline:none;height:44px;padding:0 14px;font-size:15px}.db-dialog input:focus{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent)}.db-row{justify-content:flex-end;gap:8px;display:flex}.db-plans{background:var(--panel-solid);width:min(920px,100%);max-height:calc(100dvh - 32px);color:var(--text);animation:db-pop .3s var(--spring) both;border-radius:24px;flex-direction:column;gap:14px;padding:24px;display:flex;overflow-y:auto;box-shadow:0 30px 80px #0000004d}.db-plans-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.db-plans-head h2{letter-spacing:-.01em;margin:0 0 2px;font-size:24px}.db-icon-btn{background:var(--hover);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.db-alert,.db-success,.db-note{border-radius:12px;margin:0;padding:10px 14px}.db-alert{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--text)}.db-success{background:#34c75929}.db-note{background:var(--hover);color:var(--muted)}.db-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;display:grid}.db-plan{border:.5px solid var(--border);background:var(--bg);border-radius:18px;flex-direction:column;gap:8px;padding:20px;display:flex;position:relative}.db-plan.featured{border:1.5px solid var(--accent)}.db-plan.current{box-shadow:inset 0 0 0 1.5px #34c759b3}.db-plan-tag{background:var(--accent);color:#fff;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;position:absolute;top:-10px;right:16px}.db-plan h3{margin:0;font-size:17px}.db-price{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700}.db-price small{color:var(--muted);margin-left:4px;font-size:14px;font-weight:500}.db-plan ul{flex-direction:column;flex:1;gap:7px;margin:6px 0 10px;padding:0;list-style:none;display:flex}.db-plan li{align-items:flex-start;gap:8px;font-size:13.5px;display:flex}.db-plan li svg{color:#34c759;flex:none;margin-top:3px}.db-plan-foot{background:var(--hover);min-height:42px;color:var(--muted);border-radius:12px;place-items:center;margin:0;font-size:13px;display:grid}.db-skel{background:linear-gradient(100deg, var(--hover) 30%, var(--press) 50%, var(--hover) 70%) 0 0 / 300% 100%;min-height:320px;animation:1.3s linear infinite db-shimmer}.db-plans-foot{border-top:.5px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.db-plans-foot p{margin:0}.db-link{color:var(--danger);cursor:pointer;background:0 0;border:0;font-weight:600}.db-fine{color:var(--faint);margin:0;font-size:12px}.db-spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite db-turn}@media (width<=560px){.db-scrim:has(.db-plans){place-items:end stretch;padding:0}.db-plans{width:100%;max-height:92dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));animation:db-up .32s var(--ease) both;border-radius:24px 24px 0 0}.db-hero{flex-direction:column;align-items:flex-start}}@keyframes db-in{0%{opacity:0;transform:translateY(6px)}}@keyframes db-pop{0%{opacity:0;transform:scale(.96)}}@keyframes db-up{0%{transform:translateY(100%)}}@keyframes db-fade{0%{opacity:0}}@keyframes db-turn{to{transform:rotate(360deg)}}@keyframes db-shimmer{to{background-position:-300% 0}}@media (prefers-reduced-motion:reduce){.db *,.db-scrim,.db-scrim *{transition:none!important;animation:none!important}}.home-btn{right:max(16px, env(safe-area-inset-right));bottom:calc(max(18px, env(safe-area-inset-bottom)) + 54px);z-index:45;border:.5px solid var(--border);background:var(--panel);width:44px;height:44px;color:var(--text);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);cursor:pointer;transition:transform .2s var(--spring), opacity .2s ease;border-radius:50%;place-items:center;display:grid;position:fixed}.home-btn:hover{transform:scale(1.06)}.home-btn:active{transform:scale(.95)}.home-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=900px){.home-btn{right:max(8px, env(safe-area-inset-right));bottom:calc(120px + env(safe-area-inset-bottom));width:40px;height:40px}body:has(.style-panel,.figures,.pg-panel,.sim-panel) .home-btn{opacity:0;pointer-events:none}}.db-redeem{border-top:.5px solid var(--border);padding-top:12px}.db-upgrade{background:var(--accent);color:#fff;cursor:pointer;min-height:34px;transition:background-color .15s ease, transform .15s var(--ease);border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:600}.db-upgrade:hover{background:color-mix(in srgb, var(--accent) 88%, #000)}.db-upgrade:active{transform:scale(.97)}.db-upgrade:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.db-sort{border:.5px solid var(--border);background:var(--panel-solid) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;height:42px;color:var(--text);font:inherit;appearance:none;cursor:pointer;border-radius:12px;flex:none;padding:0 34px 0 14px;font-size:14px}.db-sort:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:1px}.db-pin{vertical-align:-1px;width:13px;height:13px;color:var(--accent);margin-right:5px}.st-btn.st-btn-accent{background:var(--accent);color:#fff}.st-btn.st-btn-accent:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.db-shared{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);vertical-align:2px;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600}.db-share .db-muted{margin:0;font-size:13px;line-height:1.45}.db-share .db-small{font-size:12px}.db-share-link{gap:8px;display:flex}.db-share-link input{flex:1;min-width:0;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13px}.db-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.db-seg{background:var(--bg);border:.5px solid var(--border);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:4px;padding:3px;display:grid}.db-seg button{height:34px;color:var(--text);border-radius:9px;font-size:13px}.db-seg button.on{background:var(--panel-solid);font-weight:600;box-shadow:0 1px 4px #0000001f}.db-error{color:#ff3b30;margin:0;font-size:13px}.st-scrim{z-index:1100;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#00000052;place-items:center;animation:.24s both st-fade;display:grid;position:fixed;inset:0}.st-scrim.closing{animation:.2s both st-fade-out}.st-panel{background:var(--panel-solid);width:min(460px,100%);max-height:min(720px,100dvh - 48px);color:var(--text);border:.5px solid var(--border);animation:st-pop .34s var(--spring) both;border-radius:22px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #0000004d,0 2px 8px #0000001f}.st-scrim.closing .st-panel{animation:.2s ease-in both st-pop-out}@keyframes st-fade{0%{opacity:0}}@keyframes st-fade-out{to{opacity:0}}@keyframes st-pop{0%{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes st-pop-out{to{opacity:0;transform:translateY(6px)scale(.98)}}.st-grabber{display:none}.st-head{flex:none;justify-content:space-between;align-items:center;padding:16px 16px 8px 22px;display:flex}.st-head h2{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:650}.st-close{background:var(--hover);width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;transition:background-color .15s;display:grid}.st-close:hover{background:var(--press);color:var(--text)}.st-body{overscroll-behavior:contain;padding:4px 22px 18px;overflow-y:auto}.st-section{border-top:.5px solid var(--border);padding:16px 0}.st-section:first-child{border-top:0;padding-top:6px}.st-section h3{color:var(--muted);margin:0 0 6px;font-size:.8rem;font-weight:600}.st-account{align-items:center;gap:14px;display:flex}.st-avatar{object-fit:cover;background:var(--hover);border-radius:50%;flex:none}.st-initial{width:var(--avatar,36px);height:var(--avatar,36px);font-size:calc(var(--avatar,36px) * .42);color:#fff;background:linear-gradient(140deg,#5e7ce2,#2a8f8a);place-items:center;font-weight:600;display:grid}.st-who{flex:1;min-width:0}.st-name{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.st-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.st-row{align-items:center;gap:16px;min-height:44px;padding:8px 0;display:flex}.st-row-text{flex:1;min-width:0}.st-row-title{font-size:.95rem;font-weight:500;display:block}.st-row-hint{color:var(--muted);margin-top:2px;font-size:.8rem;line-height:1.4}.st-row-control{flex:none}.st-switch{background:var(--press);border-radius:999px;width:46px;height:28px;transition:background-color .22s;position:relative}.st-switch i{width:24px;height:24px;transition:transform .28s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #00000038}.st-switch.on{background:#34c759}[data-theme=dark] .st-switch.on{background:#30d158}.st-switch.on i{transform:translate(18px)}.st-seg{background:var(--hover);border-radius:9px;padding:2px;display:inline-flex}.st-seg button{min-width:64px;height:30px;color:var(--muted);border-radius:7px;padding:0 12px;font-size:.85rem;font-weight:500;transition:background-color .2s,color .2s}.st-seg button.on{background:var(--panel-solid);color:var(--text);box-shadow:0 1px 4px #00000024}[data-theme=dark] .st-seg button.on{background:#48484a}.st-btn{background:var(--hover);white-space:nowrap;border-radius:999px;height:34px;padding:0 14px;font-size:.875rem;font-weight:500;transition:background-color .15s}.st-btn:hover:not(:disabled){background:var(--press)}.st-btn.danger{background:var(--danger);color:#fff}.st-btn.danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.08)}.st-btn.danger-ghost{color:var(--danger)}.st-confirm p{margin:4px 0 12px;font-size:.875rem;line-height:1.5}.st-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.st-usage{margin:0;padding:0;list-style:none}.st-meter{padding:7px 0}.st-meter-head{justify-content:space-between;margin-bottom:6px;font-size:.9rem;display:flex}.st-meter-num{color:var(--muted);font-variant-numeric:tabular-nums}.st-bar{background:var(--hover);border-radius:999px;height:6px;overflow:hidden}.st-bar i{border-radius:inherit;background:var(--accent);transform-origin:0;height:100%;transition:transform .6s var(--ease);display:block}.st-bar.high i{background:#ff9f0a}.st-bar.full i{background:var(--danger)}.st-muted{color:var(--muted);margin:4px 0;font-size:.85rem}.st-usage-foot{margin-top:6px}.st-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:.85rem}.st-foot{border-top:.5px solid var(--border);color:var(--faint);text-align:center;padding-top:14px;font-size:.78rem}.st-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.st-scrim{padding:env(safe-area-inset-top) 0 0;place-items:end stretch}.st-panel{width:100%;max-height:calc(100dvh - max(24px, env(safe-area-inset-top)) - 12px);padding-bottom:env(safe-area-inset-bottom);animation:st-sheet .42s var(--ease) both;border-radius:22px 22px 0 0}.st-scrim.closing .st-panel{animation:.22s ease-in both st-sheet-out}.st-grabber{background:var(--press);border-radius:999px;width:36px;height:5px;margin:8px auto 0;display:block}.st-head{padding-top:8px}}@keyframes st-sheet{0%{transform:translateY(100%)}}@keyframes st-sheet-out{to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.st-scrim,.st-scrim.closing,.st-panel,.st-scrim.closing .st-panel{animation:none}.st-switch i,.st-bar i{transition:none}}.acct-btn{right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:45;background:var(--panel);border:.5px solid var(--border);width:44px;height:44px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);transition:transform .25s var(--spring), opacity .2s ease;border-radius:50%;place-items:center;padding:3px;animation:.4s .3s both st-fade;display:grid;position:fixed}.acct-btn:hover{transform:scale(1.06)}.acct-btn:active{transform:scale(.95)}.acct-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.acct-btn .st-avatar{width:36px;height:36px}@media (width<=900px){.acct-btn{right:max(8px, env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));width:40px;height:40px}.acct-btn .st-avatar{--avatar:32px;width:32px;height:32px}body:has(.style-panel,.figures,.pg-panel,.sim-panel) .acct-btn{opacity:0;pointer-events:none}.acct-btn:not(.top){display:none}}.acct-btn.top{top:calc(max(14px, env(safe-area-inset-top)) - 7px);opacity:1;pointer-events:auto;bottom:auto}@media (width<=900px){.acct-btn.top{top:calc(max(14px, env(safe-area-inset-top)) - 5px);bottom:auto}}.limit-toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:1050;background:var(--panel-solid);width:max-content;max-width:min(440px,100vw - 24px);color:var(--text);border:.5px solid var(--border);box-shadow:var(--shadow);animation:lt-in .4s var(--spring) both;border-radius:16px;align-items:flex-start;gap:12px;padding:12px 12px 12px 16px;font-size:.9rem;line-height:1.4;display:flex;position:fixed;transform:translate(-50%)}.limit-toast strong{font-weight:600;display:block}.limit-toast button{background:var(--hover);border-radius:999px;flex:none;height:28px;padding:0 10px;font-size:.8rem;font-weight:500}@keyframes lt-in{0%{opacity:0;transform:translate(-50%,12px)}}@media (width<=900px){.limit-toast{bottom:calc(128px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.acct-btn,.limit-toast{transition:none;animation:none}}.splash{z-index:1200;color:#1d1d1f;background:#fbfbfd;place-items:center;display:grid;position:fixed;inset:0}.splash.dark{color:#eef2f6;background:#121821}.splash svg{animation:1.6s ease-in-out .4s infinite alternate both splash-breathe}@keyframes splash-breathe{0%{opacity:.25}to{opacity:.9}}@media (prefers-reduced-motion:reduce){.splash svg{opacity:.7;animation:none}}
