:root{--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, "Helvetica Neue", sans-serif;--serif:"Libre Baskerville", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--bg:#f8f8f7;--paper:#f1f0ec;--surface:#fff;--ink:#34322d;--ink-strong:#1a1916;--muted:#858481;--faint:#b9b8b4;--line:#e8e7e3;--hover:#f2f1ee;--danger:#d9463c;--warn:#b7791f;--ok:#3aa55d;--shadow:0 1px 2px #0000000a, 0 8px 28px #00000014;--st-ready:#c9c8c3;--st-in_progress:#4a8ee6;--st-needs_review:#e0a526;--st-approved:#3aa55d;font-family:var(--sans);color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;font-size:13px}*{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;margin:0;overflow:hidden}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.app-shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-shell input,.app-shell textarea,.app-shell select{-webkit-user-select:text;user-select:text}button,input,select,textarea{font:inherit;color:var(--ink)}button,select,input,textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px}button{cursor:pointer;white-space:nowrap;min-height:32px;padding:6px 11px;font-weight:500;transition:background .12s,color .12s,border-color .12s}button:hover:not(:disabled){background:var(--hover)}button.active{color:#fff;background:var(--ink);border-color:var(--ink)}button.active:hover:not(:disabled){background:var(--ink-strong)}button:disabled{opacity:.35;cursor:not-allowed}button.primary{color:#fff;background:var(--ink-strong);border-color:var(--ink-strong)}button.primary:hover:not(:disabled){background:#3d3b36}button.quiet{color:var(--muted);background:0 0;border-color:#0000}button.quiet:hover:not(:disabled){color:var(--ink);background:var(--hover)}input,select,textarea{outline:none;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--faint);box-shadow:0 0 0 3px #0000000a}textarea{line-height:1.5}label{color:var(--muted);gap:6px;font-size:12px;font-weight:500;display:grid}.muted,.hint{color:var(--muted)}.hint{margin:6px 0 0;font-size:12px;line-height:1.45}.eyebrow{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:600}.error{color:var(--danger)}.warning{color:var(--warn);font-size:12px}.brand{font:500 13px var(--sans);letter-spacing:.12em;align-items:center;gap:8px;display:flex}.mark{color:#fff;background:var(--ink-strong);min-width:36px;height:28px;font:700 13px var(--sans);letter-spacing:-.01em;border-radius:8px;place-items:center;padding:0 7px;display:inline-grid}input[type=range]{appearance:none;cursor:pointer;background:0 0;border:0;height:16px;padding:0}input[type=range]:focus{box-shadow:none}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:3px}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:3px}input[type=range]::-moz-range-progress{background:var(--faint);border-radius:2px;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ink);border:0;border-radius:50%;width:12px;height:12px;margin-top:-4.5px;transition:transform .1s}input[type=range]::-moz-range-thumb{background:var(--ink);border:0;border-radius:50%;width:12px;height:12px;transition:transform .1s}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.2)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}input[type=range]:hover::-moz-range-thumb{transform:scale(1.2)}input[type=range]:active::-moz-range-thumb{transform:scale(1.2)}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #0000001f}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #0000001f}.status-ready{--accent:var(--st-ready)}.status-in_progress{--accent:var(--st-in_progress)}.status-needs_review{--accent:var(--st-needs_review)}.status-approved{--accent:var(--st-approved)}.auth-shell{background:var(--bg);place-items:center;width:100%;height:100%;display:grid}.auth-card{justify-items:center;gap:28px;width:min(300px,100% - 32px);display:grid}.auth-card .brand{font-size:14px}.auth-card .mark{min-width:0;height:auto;color:inherit;font:inherit;letter-spacing:inherit;background:0 0;border-radius:0;padding:0}.auth-card .error{text-align:center;margin:0}.auth-actions{gap:10px;width:100%;display:grid}.auth-actions form{gap:10px;display:grid}.auth-actions input{width:100%;min-height:44px}.auth-actions button{min-height:44px}.auth-actions .google{justify-content:center;align-items:center;gap:10px;display:inline-flex}.auth-actions .google svg{background:#fff;border-radius:4px;flex:none;padding:2px}.auth-sent{color:var(--muted);text-align:center;overflow-wrap:anywhere;margin:0;font-size:13px}.auth-sent strong{color:var(--ink);font-weight:500}.invite-row{gap:6px;display:flex}.invite-row input{flex:1;min-width:0}.people{gap:2px;margin:4px 0 0;padding:0;list-style:none;display:grid}.people li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:6px 2px;font-size:13px;display:flex}.people li span{min-width:0;display:grid}.people li small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.people li em{color:var(--muted);font-size:12px;font-style:normal}.people li.pending span{color:var(--muted)}.splash{width:100%;height:100%;color:var(--muted);background:var(--paper);place-content:center;justify-items:center;gap:12px;display:grid}.app-shell{width:100%;height:100%;position:relative}.workspace,.editor-region{position:absolute;inset:0}.banner{z-index:40;max-width:calc(100% - 32px);color:var(--danger);box-shadow:var(--shadow);background:#fff6f5;border:1px solid #f1c9c5;border-radius:12px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.banner button{min-height:24px;color:inherit;background:0 0;border:0;padding:0 8px}.queue-dock{z-index:30;width:14px;position:absolute;top:0;bottom:0;left:0}.queue-handle{background:0 0;border:0;border-radius:0 10px 10px 0;width:22px;height:96px;min-height:0;padding:0;transition:opacity .15s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.queue-handle:before{content:"";background:var(--faint);opacity:.8;border-radius:2px;width:4px;height:56px;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.queue-handle:hover:not(:disabled){background:0 0}.queue-dock.open .queue-handle{opacity:0}.queue{border:1px solid var(--line);background:var(--surface);width:280px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;transition:transform .2s .25s;display:flex;position:absolute;top:10px;bottom:10px;left:10px;overflow:hidden;transform:translate(calc(-100% - 24px))}.queue-dock.open .queue{transition-delay:0s;transform:none}.queue-dock:has(.dataset-menu,.dataset-name) .queue{transition-delay:0s;transform:none}@media (hover:hover){.queue-dock:hover .queue{transition-delay:0s;transform:none}.queue-dock:hover .queue-handle{opacity:0}}.dataset-picker{position:relative}.queue-head{align-items:center;gap:4px;padding:10px 10px 8px;display:flex}.dataset-current{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:0;height:36px;padding:0 10px;display:flex}.dataset-current span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:400 15px var(--serif);color:var(--ink-strong);flex:1;overflow:hidden}.dataset-current svg{fill:none;width:12px;height:12px;stroke:var(--muted);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .15s}.dataset-current[aria-expanded=true] svg{transform:rotate(180deg)}.dataset-current:hover:not(:disabled),.dataset-current[aria-expanded=true]{background:var(--hover)}.queue-head .add-frames{border-radius:10px;flex:none;width:32px;min-height:32px;padding:0;font-size:18px;line-height:1}.dataset-name{width:100%;min-width:0;height:34px;font:400 14px var(--serif);color:var(--ink-strong);border-color:var(--faint);flex:1;padding:4px 10px}.dataset-name[aria-invalid=true]{border-color:var(--danger)}.dataset-note{color:var(--muted);overflow-wrap:anywhere;margin:-2px 16px 8px;font-size:11px;line-height:1.4}.dataset-note.error{color:var(--danger);cursor:pointer}.dataset-menu{z-index:5;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;gap:1px;padding:6px;display:grid;position:absolute;top:48px;left:8px;right:8px}.dataset-item{border-radius:8px;align-items:center;gap:2px;display:flex}.dataset-item:hover{background:var(--hover)}.dataset-item.editing{padding:2px}.dataset-item.editing:hover{background:0 0}.dataset-choose{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-width:0;min-height:34px;padding:0 8px;font-size:13px;display:flex;overflow:hidden}.dataset-choose:hover:not(:disabled){background:0 0}.dataset-item.active .dataset-choose{color:var(--ink-strong);font-weight:500}.dataset-check{width:14px;color:var(--ok);flex:none;font-size:12px}.dataset-rename{opacity:0;flex:none;width:30px;min-height:30px;padding:0;transition:opacity .1s}.dataset-item:hover .dataset-rename,.dataset-rename:focus-visible{opacity:1}@media (hover:none){.dataset-rename{opacity:1}}.dataset-rename svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;width:13px;height:13px}.dataset-new{border:0;border-top:1px solid var(--line);text-align:left;min-height:34px;color:var(--muted);background:0 0;border-radius:0 0 8px 8px;margin-top:4px;padding:0 8px 0 28px;font-size:13px}.dataset-new:hover:not(:disabled){color:var(--ink);background:var(--hover)}.progress{background:var(--line);border-radius:2px;height:3px;margin:0 14px 10px;display:flex;overflow:hidden}.progress i{background:var(--accent);flex-basis:0;height:100%;transition:flex-grow .3s;display:block}.frame-list{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 6px;overflow-y:auto}.frame-row{text-align:left;border:0;border-left:3px solid var(--accent);background:0 0;border-radius:4px 8px 8px 4px;grid-template-columns:26px 1fr auto;align-items:center;gap:6px;width:100%;min-height:0;margin:1px 0;padding:6px 8px 6px 7px;display:grid}.frame-row:hover:not(:disabled){background:var(--hover)}.frame-row.active,.frame-row.active:hover:not(:disabled){color:var(--ink);border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, white)}.frame-index{color:var(--faint);font:10px var(--mono);text-align:right}.frame-copy{gap:1px;min-width:0;display:grid}.frame-copy strong,.frame-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frame-copy strong{font:500 12px var(--sans);color:var(--ink)}.frame-copy small{color:var(--muted);font-size:11px;font-weight:400}.sam-dot{background:var(--st-in_progress);border-radius:50%;width:8px;height:8px;margin-right:2px}.sam-dot.working{background:var(--faint);animation:1s ease-in-out infinite alternate sam-pulse}@keyframes sam-pulse{0%{opacity:.35}to{opacity:1}}.batch-pill{z-index:25;text-align:center;min-width:200px;padding:8px 14px 10px;font-size:12px;font-weight:500;top:12px;left:24px;overflow:hidden}.batch-pill i{background:var(--st-in_progress);height:3px;transition:width .4s;position:absolute;bottom:0;left:0}.batch-pill.finished i{background:var(--ok)}.queue-foot{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:2px;padding:8px 8px 8px 14px;font-size:12px;display:flex}.queue-foot span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.queue-foot button{min-height:28px;padding:3px 8px;font-size:12px}.empty-state{text-align:center;color:var(--muted);background:radial-gradient(circle, #dcdad4 1px, transparent 1.2px) 0 0 / 22px 22px, var(--paper);place-content:center;display:grid;position:absolute;inset:0}.empty-state h1{font:400 24px var(--serif);color:var(--ink);margin:0}.editor{position:absolute;inset:0}.canvas-wrap{background:radial-gradient(circle, #dcdad4 1px, transparent 1.2px) 0 0 / 22px 22px, var(--paper);position:absolute;inset:0;overflow:hidden}.mask-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.mask-canvas.tool-select{cursor:grab}.mask-canvas.panning{cursor:grabbing}.float{z-index:10;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-radius:14px;position:absolute}.float button{background:0 0;border-color:#0000}.float button:hover:not(:disabled){background:var(--hover)}.float button.active{color:#fff;background:var(--ink)}.float button.primary{color:#fff;background:var(--ink-strong)}.float button.primary:hover:not(:disabled){background:#3d3b36}.float .divider{background:var(--line);flex:none;width:1px;height:20px;margin:0 4px}.dock{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));scrollbar-width:none;align-items:center;gap:2px;max-width:calc(100% - 32px);padding:6px;display:flex;overflow-x:auto;transform:translate(-50%)}.dock button{border-radius:10px;min-height:34px;padding:6px 11px}.dock kbd{color:var(--faint);font:10px var(--mono);margin-left:6px}.dock button.active kbd{color:#ffffff8c}.dock button.nav{width:34px;padding:0;font-size:18px;line-height:1}.dock .done-button{min-width:76px;margin:0 2px}.dock button.working{animation:1s ease-in-out infinite alternate working}@keyframes working{0%{box-shadow:0 0 #4a8ee600}to{box-shadow:0 0 0 3px #4a8ee659}}.segmented{background:var(--hover);border-radius:10px;gap:2px;margin:0 2px;padding:2px;display:inline-flex}.dock .segmented button{min-width:30px;min-height:30px;padding:2px 8px;font-size:16px;line-height:1}.brush{white-space:nowrap;align-items:center;gap:6px;margin:0 4px 0 8px;display:flex}.brush input{width:80px}.brush b{min-width:32px;color:var(--muted);font:400 11px var(--mono)}.corner{align-items:center;gap:2px;padding:5px;display:flex;top:12px;right:12px}.corner button{min-height:30px;padding:4px 10px;font-size:12px}.corner .opacity{padding:0 6px;display:flex}.corner .opacity input{width:64px}.save-state{min-width:0;max-width:280px;color:var(--warn);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;padding:0 8px 0 6px;font-size:12px;display:flex;overflow:hidden}.save-state svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.save-state.ok{color:var(--ok)}.save-state.busy{color:var(--faint)}.save-state.busy .dots{stroke-width:2px;animation:1s ease-in-out infinite save-pulse}.save-state.bad{color:var(--danger)}@keyframes save-pulse{50%{opacity:.3}}.corner button.icon{place-items:center;width:30px;padding:0;display:grid}.corner button.icon svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.popover{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));gap:8px;width:min(320px,100% - 32px);padding:12px;display:grid;transform:translate(-50%)}.popover .popover-title{font:400 15px var(--serif);color:var(--ink-strong);align-items:center;gap:8px;margin:0 0 2px;display:flex}.popover input,.popover textarea{border-color:var(--line);background:var(--surface);width:100%}.popover textarea{resize:vertical;min-height:110px}.popover button{border-color:var(--line);width:100%}.button-row{gap:6px;display:flex}.low-confidence{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding-top:8px;font-size:12px;display:flex}.low-confidence .swatch{background:#ff5c38;border-radius:3px;flex:none;width:12px;height:12px}.low-confidence span:nth-child(2){flex:1}.popover .low-confidence input{text-align:center;width:64px;min-height:30px;font:12px var(--mono);padding:4px 6px}.popover .low-confidence button{width:auto;min-height:30px;padding:4px 12px}.popover button.danger-quiet:not(:disabled){color:var(--danger);border-color:#f1c9c5}.popover button.danger-quiet:hover:not(:disabled){background:#fff6f5}.service-state{background:var(--danger);border-radius:50%;width:7px;height:7px}.service-state.ready{background:var(--ok)}.service-state.starting{background:#e0a526;animation:1.4s ease-in-out infinite service-pulse}@keyframes service-pulse{50%{opacity:.35}}.notices{gap:10px;width:min(380px,100% - 32px);padding:12px;display:grid;top:12px;left:50%;transform:translate(-50%)}.notice{gap:8px;display:grid}.notice+.notice{border-top:1px solid var(--line);padding-top:10px}.notice p{margin:0;font-size:12px}.notice .notice-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.notice .dismiss{border:0;width:26px;min-height:24px;padding:0;font-size:18px;line-height:1}.notice button{border-color:var(--line)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a19162e;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.admin-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(0,1fr);gap:4px;width:min(440px,100%);max-height:calc(100% - 32px);padding:18px 20px 20px;display:grid;overflow-y:auto;box-shadow:0 2px 6px #0000000d,0 24px 60px #00000029}.admin-panel header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.admin-panel h2{font:400 22px var(--serif);color:var(--ink-strong);margin:0}.admin-panel .close{width:34px;padding:0;font-size:22px;line-height:1}.admin-section{border-top:1px solid var(--line);gap:8px;padding:14px 0;display:grid}.admin-section h3{font:400 15px var(--serif);color:var(--ink-strong);margin:0 0 2px}.admin-section .button-row>*{flex:1}.file-pick{border:1.5px dashed var(--faint);min-height:64px;color:var(--muted);background:var(--bg);text-align:center;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:10px 12px;font-size:13px;font-weight:500;transition:border-color .12s,color .12s,background .12s;display:flex;position:relative}.file-pick:hover{border-color:var(--muted);color:var(--ink)}.file-pick.small{min-height:40px;font-size:12px}.file-pick.chosen{border-style:solid;border-color:var(--ink);color:var(--ink);background:var(--surface)}.file-pick span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-pick input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.copy-field{gap:6px;display:flex}.range-row{color:var(--muted);align-items:center;gap:8px;display:flex}.range-row input{text-align:center;width:0;min-width:0;font:14px var(--mono);flex:1}.copy-field input{min-width:0;font:12px var(--mono);color:var(--muted);flex:1}.admin-message{color:var(--ink);background:var(--hover);border-radius:10px;margin:4px 0 0;padding:8px 10px;font-size:12px}.admin-message.error{color:var(--danger);background:#fff6f5}button.danger,.float button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled),.float button.danger:hover:not(:disabled){background:#c23a31}@media (pointer:coarse){.dock{gap:3px;padding:7px}.dock button{min-height:44px;padding:8px 13px}.dock button.nav{width:44px}.dock .segmented button{min-width:38px;min-height:38px}.dock kbd{display:none}.brush input{width:110px;height:28px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8.5px}input[type=range]::-moz-range-thumb{width:20px;height:20px}.corner button{min-height:40px;padding:6px 12px}.corner button.icon{width:40px}.popover button,.popover input{min-height:44px}.frame-row{padding-top:10px;padding-bottom:10px}.queue-handle{width:28px;height:120px}}@media (width<=900px){.dock kbd,.corner .opacity{display:none}}.toast{z-index:30;color:var(--ink);white-space:nowrap;pointer-events:none;border-radius:999px;padding:8px 14px;font-size:12px;animation:3s forwards toast;top:12px;left:50%;transform:translate(-50%)}.toast:before{content:"";background:var(--danger);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.toast.ok{animation-duration:5s}.toast.ok:before{background:var(--ok)}.sam-switch{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.sam-switch span{gap:1px;display:grid}.sam-switch strong{color:var(--ink-strong);font-size:13px;font-weight:600}.sam-switch small{color:var(--muted);font-size:11px}.switch{background:var(--line);border:0;border-radius:999px;flex:none;width:38px;height:22px;min-height:22px;padding:0;transition:background .15s;position:relative}.switch i{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch.on{background:var(--ok)}.switch.on.starting{background:#e0a526}.switch.on i{transform:translate(16px)}.switch:disabled{opacity:.55}.popover button.switch{border:0;width:38px;height:22px;min-height:22px}.popover button.switch.on{background:var(--ok)}.popover button.switch.on.starting{background:#e0a526}.gpu-dot{vertical-align:2px;background:var(--ok);border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.gpu-dot.starting{background:#e0a526;animation:1.4s ease-in-out infinite service-pulse}@keyframes toast{0%{opacity:0;transform:translate(-50%,-4px)}8%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.check-card{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));gap:10px;width:min(360px,100% - 32px);padding:12px;display:grid;transform:translate(-50%)}.check-head{justify-content:space-between;align-items:baseline;gap:8px;margin:0 2px;display:flex}.check-head strong{font:400 17px var(--serif);color:var(--ink-strong)}.check-head span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.check-answers{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.check-answers button{border-radius:12px;min-height:48px;font-weight:500}.float .check-answers button:not(.primary){border-color:var(--line);background:var(--surface)}.float .check-answers .check-no:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--line));background:#fff6f5}.float .check-answers .check-yes:hover:not(:disabled){color:#1f7a45;border-color:color-mix(in srgb, #2f9e5b 35%, var(--line));background:#f2faf5}.check-answers kbd{border:1px solid var(--line);color:var(--muted);font:500 10px var(--sans);border-radius:5px;margin-left:6px;padding:1px 5px}.check-more{justify-content:center;gap:2px;display:flex}.check-more button{min-height:28px;font-size:12px}.check-entry b{color:#fff;background:var(--ink);border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600}.check-entry:disabled b{background:var(--muted)}@media (pointer:coarse){.check-answers kbd{display:none}.check-answers button{min-height:56px}}.notice.flash,.dataset-note.flash{animation:5s forwards notice-life}@keyframes notice-life{0%{opacity:0}5%,88%{opacity:1}to{opacity:0}}.sam-result{background:var(--hover);border-radius:10px;align-items:center;gap:4px;margin:0;padding:6px 8px;font-size:12px;display:flex}.sam-result span{flex:1}.sam-result button{min-height:28px;padding:0 10px;font-size:12px}p.sam-result.error{color:var(--danger);background:#fff6f5}.note-layer{pointer-events:none;position:absolute;inset:0}.note-pin{width:0;height:0;position:absolute;top:0;left:0}.note-pin>button{pointer-events:auto;background:var(--warn);color:#fff;width:24px;height:24px;min-height:24px;font:600 11px var(--sans);border:2px solid #fff;border-radius:50% 50% 50% 2px;place-items:center;padding:0;display:grid;position:absolute;top:-30px;left:-12px;transform:rotate(-45deg);box-shadow:0 1px 4px #00000059}.note-pin>button:hover:not(:disabled){background:color-mix(in srgb, var(--warn) 85%, black)}.note-pin.open>button{background:var(--ink-strong)}.note-pin>button span{transform:rotate(45deg)}.note-card{pointer-events:auto;gap:8px;width:260px;padding:10px 12px 12px;display:grid;position:absolute;top:-12px;left:16px}.note-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.note-card textarea{resize:vertical;border-color:var(--line);background:var(--surface);width:100%;min-height:84px;font-size:13px}.note-card button.danger-quiet{min-height:28px;color:var(--danger);border-color:#f1c9c5;justify-self:start;padding:3px 10px;font-size:12px}.tour{z-index:60;pointer-events:none;position:fixed;inset:0}.tour-backdrop,.tour-card{pointer-events:auto}body.tour-queue-open .queue{transition-delay:0s;transform:none}body.tour-action .tour-backdrop{pointer-events:none}.tour-backdrop{background:#14131147;position:absolute;inset:0}:is(.tour-ring~.tour-backdrop,.tour:has(.tour-ring) .tour-backdrop){background:0 0}.tour-ring{box-shadow:0 0 0 2px #fff, 0 0 0 5px var(--ink-strong), 0 0 0 100vmax #14131147;pointer-events:none;border-radius:16px;transition:left .2s,top .2s,width .2s,height .2s;position:fixed}.tour-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;gap:6px;padding:16px 16px 12px;display:grid;position:fixed}.tour-card h2{font:400 20px/1.2 var(--serif);color:var(--ink-strong);margin:0}.tour-card p{color:var(--ink);margin:0;font-size:13px;line-height:1.5}.tour-card .tour-count{color:var(--muted);letter-spacing:.04em;font-size:11px}.tour-actions{align-items:center;gap:6px;margin-top:8px;display:flex}.tour-actions span{flex:1}.tour-actions button{min-height:32px;padding:4px 12px;font-size:12px}
