.calc-button,.calc-pad,.calc-display,.calc-close,.napkin{--calc-surface:var(--surface,#f7fcff);--calc-sunk:var(--surface-sunk,#e6f3fb);--calc-ink:var(--ink,#0d2240);--calc-ink-soft:var(--ink-soft,#37506d);--calc-op:var(--brand-soft,#dcefff);--calc-edit:var(--close-soft,#fdf1d4);--calc-edit-ink:var(--close-ink,#7a5304);--calc-primary:var(--accent,#ffb43f);--calc-primary-hover:var(--accent-hover,#ffc566);--calc-primary-ink:var(--accent-ink,#0d2240);--calc-edge:var(--edge,#0d2240);--calc-drop:var(--drop,#03193073);--calc-focus:var(--focus,#ff6a00);--calc-line:var(--line-strong,#93b9d4);--calc-lcd:#c9dab0;--calc-lcd-shade:#b2c79a;--calc-lcd-ink:#1c3424;--calc-lcd-error:#a3301f;--napkin-paper:#fbf7ec;--napkin-rule:#cddcee;--napkin-margin:#f2a8a2;--napkin-pencil:#4a4f5c;--napkin-ink:#24448e;--napkin-result:#0d2240}@media (prefers-color-scheme:dark){.calc-button,.calc-pad,.calc-display,.calc-close,.napkin{--calc-lcd:#16261e;--calc-lcd-shade:#10201a;--calc-lcd-ink:#8ff0b8;--calc-lcd-error:#ffb46b;--napkin-paper:#e4d9c3;--napkin-rule:#b4bed0;--napkin-margin:#cf8a86;--napkin-pencil:#3e4250;--napkin-ink:#263f7a;--napkin-result:#1a1630}}.calc-button[data-theme=day],.calc-pad[data-theme=day],.calc-display[data-theme=day],.calc-close[data-theme=day],.napkin[data-theme=day]{--calc-surface:#f7fcff;--calc-sunk:#e6f3fb;--calc-ink:#0d2240;--calc-ink-soft:#37506d;--calc-op:#dcefff;--calc-edit:#fdf1d4;--calc-edit-ink:#7a5304;--calc-primary:#ffb43f;--calc-primary-hover:#ffc566;--calc-primary-ink:#0d2240;--calc-edge:#0d2240;--calc-drop:#03193073;--calc-focus:#ff6a00;--calc-line:#93b9d4;--calc-lcd:#c9dab0;--calc-lcd-shade:#b2c79a;--calc-lcd-ink:#1c3424;--calc-lcd-error:#a3301f;--napkin-paper:#fbf7ec;--napkin-rule:#cddcee;--napkin-margin:#f2a8a2;--napkin-pencil:#4a4f5c;--napkin-ink:#24448e;--napkin-result:#0d2240}.calc-button[data-theme=dusk],.calc-pad[data-theme=dusk],.calc-display[data-theme=dusk],.calc-close[data-theme=dusk],.napkin[data-theme=dusk]{--calc-surface:#231c3a;--calc-sunk:#1b152f;--calc-ink:#f1e9ff;--calc-ink-soft:#c9bfe0;--calc-op:#3a2c57;--calc-edit:#3a2e12;--calc-edit-ink:#f6d58e;--calc-primary:#43305f;--calc-primary-hover:#56407a;--calc-primary-ink:#fff;--calc-edge:#ffb46b;--calc-drop:#00000080;--calc-focus:#ffd166;--calc-line:#5a4a86;--calc-lcd:#16261e;--calc-lcd-shade:#10201a;--calc-lcd-ink:#8ff0b8;--calc-lcd-error:#ffb46b;--napkin-paper:#e4d9c3;--napkin-rule:#b4bed0;--napkin-margin:#cf8a86;--napkin-pencil:#3e4250;--napkin-ink:#263f7a;--napkin-result:#1a1630}.calc-button,.calc-close,.calc-key{--calc-px:3px;box-shadow:0 calc(-1 * var(--calc-px)) 0 0 var(--calc-edge), 0 var(--calc-px) 0 0 var(--calc-edge), calc(-1 * var(--calc-px)) 0 0 0 var(--calc-edge), var(--calc-px) 0 0 0 var(--calc-edge), 0 calc(var(--calc-px) + 4px) 0 0 var(--calc-drop)}.calc-button{background:var(--calc-surface);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;flex:none;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:background-color .12s;display:inline-flex}@media (hover:hover){.calc-button:hover{background:var(--calc-op)}}.calc-button:active,.calc-button[aria-expanded=true]{background:var(--calc-op);box-shadow:0 calc(-1 * var(--calc-px)) 0 0 var(--calc-edge), 0 var(--calc-px) 0 0 var(--calc-edge), calc(-1 * var(--calc-px)) 0 0 0 var(--calc-edge), var(--calc-px) 0 0 0 var(--calc-edge);transform:translateY(4px)}.calc-button:focus-visible,.calc-key:focus-visible{outline:3px solid var(--calc-focus);outline-offset:4px;z-index:1;position:relative}.calc-pad{background:var(--calc-sunk);box-shadow:inset 0 3px 0 0 var(--calc-line);gap:12px 10px;padding:14px 12px 16px;display:grid}.calc-pad[data-size=desktop]{box-shadow:inset 0 0 0 2px var(--calc-line);gap:9px 8px;padding:10px 10px 13px}.calc-key{background:var(--calc-surface);min-width:0;min-height:48px;color:var(--calc-ink);font-family:var(--font-display-stack,monospace);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px 4px;font-size:1.4rem;font-weight:600;line-height:1;transition:background-color 90ms;display:flex}.calc-pad[data-size=desktop] .calc-key{--calc-px:2px;min-height:36px;font-size:1.1rem}.calc-key[data-kind=op],.calc-key[data-kind=unit]{background:var(--calc-op)}.calc-key[data-kind=edit]{background:var(--calc-edit);color:var(--calc-edit-ink)}.calc-key[data-kind=equals]{background:var(--calc-primary);color:var(--calc-primary-ink);letter-spacing:.02em;font-size:1.2rem}.calc-pad[data-size=desktop] .calc-key[data-kind=equals]{font-size:1rem}.calc-key[data-kind=unit]{gap:3px}.calc-key-sub{font-family:var(--font-text-stack,system-ui, sans-serif);letter-spacing:.02em;color:var(--calc-ink-soft);font-size:.62rem;font-weight:600}.calc-pad[data-size=desktop] .calc-key-sub{font-size:.55rem}@media (hover:hover){.calc-key:hover:not(:disabled){background:var(--calc-op)}.calc-key[data-kind=op]:hover:not(:disabled),.calc-key[data-kind=unit]:hover:not(:disabled){background:var(--calc-surface)}.calc-key[data-kind=edit]:hover:not(:disabled){background:var(--calc-edit);filter:brightness(1.04)}.calc-key[data-kind=equals]:hover:not(:disabled){background:var(--calc-primary-hover)}}.calc-key:active:not(:disabled),.calc-key[data-pressed]:not(:disabled){box-shadow:0 calc(-1 * var(--calc-px)) 0 0 var(--calc-edge), 0 var(--calc-px) 0 0 var(--calc-edge), calc(-1 * var(--calc-px)) 0 0 0 var(--calc-edge), var(--calc-px) 0 0 0 var(--calc-edge);transform:translateY(4px)}.calc-pad[data-size=desktop] .calc-key:active:not(:disabled),.calc-pad[data-size=desktop] .calc-key[data-pressed]:not(:disabled){transform:translateY(3px)}.calc-key:disabled{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion:reduce){.calc-key,.calc-button{transition:none}}.calc-display{background:repeating-linear-gradient(to bottom, transparent 0 2px, var(--calc-lcd-shade) 2px 3px), var(--calc-lcd);min-width:0;min-height:52px;box-shadow:inset 0 0 0 3px var(--calc-edge), inset 3px 3px 0 3px var(--calc-lcd-shade);color:var(--calc-lcd-ink);font-family:var(--font-display-stack,monospace);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-end;align-items:center;padding:6px 12px;font-size:1.55rem;font-weight:600;line-height:1;display:flex;overflow:hidden}.calc-display[data-size=desktop]{min-height:40px;box-shadow:inset 0 0 0 2px var(--calc-edge), inset 2px 2px 0 2px var(--calc-lcd-shade);padding:4px 10px;font-size:1.2rem}.calc-display-text{flex:none}.calc-display[data-error]{color:var(--calc-lcd-error)}.calc-close{background:var(--calc-surface);width:44px;height:44px;color:var(--calc-ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.calc-close[data-size=desktop]{--calc-px:2px;width:36px;height:36px}@media (hover:hover){.calc-close:hover{background:var(--calc-op)}}.calc-close:active{box-shadow:0 calc(-1 * var(--calc-px)) 0 0 var(--calc-edge), 0 var(--calc-px) 0 0 var(--calc-edge), calc(-1 * var(--calc-px)) 0 0 0 var(--calc-edge), var(--calc-px) 0 0 0 var(--calc-edge);transform:translateY(4px)}.calc-close:focus-visible{outline:3px solid var(--calc-focus);outline-offset:4px}.napkin{--napkin-row:28px;--napkin-gutter:40px;padding:0 14px 6px var(--napkin-gutter);background-color:var(--napkin-paper);background-image:linear-gradient(90deg, transparent calc(var(--napkin-gutter) - 9px), var(--napkin-margin) calc(var(--napkin-gutter) - 9px), var(--napkin-margin) calc(var(--napkin-gutter) - 7px), transparent calc(var(--napkin-gutter) - 7px)), repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--napkin-row) - 2px), var(--napkin-rule) calc(var(--napkin-row) - 2px), var(--napkin-rule) var(--napkin-row));color:var(--napkin-pencil);font-family:var(--font-text-stack,system-ui, sans-serif);margin:10px 0 0;position:relative}.napkin:before{content:"";background:linear-gradient(90deg, var(--napkin-paper) 50%, transparent 50%) 0 0 / 8px 4px repeat-x;height:4px;position:absolute;top:-4px;left:0;right:0}.napkin[data-size=desktop]{--napkin-row:30px;--napkin-gutter:46px}.napkin-title{height:var(--napkin-row);color:var(--napkin-pencil);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:.72rem;font-weight:700;display:flex}.napkin-steps{margin:0;padding:0;list-style:none}.napkin-row{height:var(--napkin-row);white-space:nowrap;align-items:baseline;gap:10px;margin:0;padding-top:5px;display:flex;position:relative}.napkin-op{left:calc(-1 * var(--napkin-gutter));width:calc(var(--napkin-gutter) - 12px);text-align:center;color:var(--napkin-ink);font-family:var(--font-display-stack,monospace);font-size:1.15rem;font-weight:600;position:absolute}.napkin-value{color:var(--napkin-ink);font-family:var(--font-display-stack,monospace);flex:none;font-size:1.15rem;font-weight:600}.napkin-say{text-overflow:ellipsis;min-width:0;font-size:.86rem;overflow:hidden}.napkin[data-size=desktop] .napkin-value,.napkin[data-size=desktop] .napkin-op{font-size:1.25rem}.napkin[data-size=desktop] .napkin-say{font-size:.92rem}.napkin-result{box-shadow:inset 0 2px 0 0 var(--napkin-pencil)}.napkin-result .napkin-value{color:var(--napkin-result);text-underline-offset:3px;font-size:1.35rem;-webkit-text-decoration:underline double;text-decoration:underline double;text-decoration-thickness:2px}.napkin[data-size=desktop] .napkin-result .napkin-value{font-size:1.45rem}
.sspot-vignette{display:block}.sspot-ring{flex:none;place-items:center;display:inline-grid;position:relative}.sspot-ring>svg{grid-area:1/1;display:block}.sspot-ring-count{font-family:var(--font-display-stack,monospace);color:#0d2240;font-variant-numeric:tabular-nums;grid-area:1/1;font-size:.95rem;font-weight:600;line-height:1}.sspot-ring[data-theme=dusk] .sspot-ring-count{color:#f1e9ff}.sspot-ring[data-heat=warm] .sspot-ring-count,.sspot-ring[data-heat=hot] .sspot-ring-count{color:#c43b1c}.sspot-ring[data-theme=dusk][data-heat=warm] .sspot-ring-count,.sspot-ring[data-theme=dusk][data-heat=hot] .sspot-ring-count{color:#ffb46b}@keyframes sspot-ring-pulse{0%,60%,to{transform:scale(1)}30%{transform:scale(1.08)}}.sspot-ring[data-heat=warm]:not([data-calm]){animation:1s steps(3,end) infinite sspot-ring-pulse}.sspot-ring[data-heat=hot]:not([data-calm]){animation:.5s steps(3,end) infinite sspot-ring-pulse}@media (prefers-reduced-motion:reduce){.sspot-ring{animation:none!important}}
