:root{--font-display:var(--font-bricolage), "Bricolage Grotesque", system-ui, sans-serif;--font-text:var(--font-inter), "Inter", system-ui, sans-serif;--font-num:var(--font-mono), "JetBrains Mono", ui-monospace, monospace;--color-bg:#fafaf7;--color-surface:#fff;--color-text:#18181b;--color-muted:#66666d;--color-border:#e4e3de;--color-accent:#ff5a36;--color-accent-text:#fff;--color-soft:#fff1ec;--color-stage:#fff;--color-track:#efeee9;--color-scrim:#18181b5c;--color-danger:#c4320a;--color-ok:#187a4b;--chip-on-bg:var(--color-text);--chip-on-text:var(--color-bg);--theme-color:#fafaf7;--shadow-card:0 1px 0 #0000000a;--shadow-overlay:0 24px 60px #0000002e, 0 2px 8px #00000014;--border:inset 0 0 0 1px var(--color-border);--r-sm:10px;--r-md:14px;--r-lg:16px;--r-xl:20px;--r-sheet:28px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:28px;--s-8:40px;--fs-11:.6875rem;--fs-12:.75rem;--fs-14:.875rem;--fs-16:1rem;--fs-17:1.0625rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-30:1.875rem;--fs-40:2.5rem;--header-h:56px;--header-h-desk:72px;--panel-w:340px;--tap:48px;--nav-h:76px;--nav-bg:var(--color-surface);--nav-edge:inset 0 1px 0 var(--color-border);--nav-active-bg:var(--color-soft);--nav-inset:0px;--nav-radius:0px;--nav-blur:none;--safe-bottom:env(safe-area-inset-bottom,0px);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-ui:.18s;--dur-view:.42s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-os=ios]{--nav-h:64px;--nav-inset:12px;--nav-radius:32px;--nav-bg:color-mix(in srgb, var(--color-surface) 62%, transparent);--nav-blur:saturate(180%) blur(22px);--nav-edge:inset 0 0 0 .5px color-mix(in srgb, var(--color-text) 14%, transparent), inset 0 1px 0 #ffffff80;--nav-shadow:0 10px 30px #00000024;--nav-active-bg:color-mix(in srgb, var(--color-text) 8%, transparent)}:root[data-theme=night],:root[data-theme=chalk]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]),:root[data-theme=auto]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=night]{--color-bg:#111214;--color-surface:#1b1c20;--color-text:#f4f4f5;--color-muted:#a1a1aa;--color-border:#ffffff1f;--color-accent:#ff7a59;--color-accent-text:#1a0d08;--color-soft:#2a1d19;--color-stage:#16171a;--color-track:#ffffff1a;--color-scrim:#0009;--color-danger:#ff8a6b;--color-ok:#5fd39a;--theme-color:#111214;--shadow-overlay:0 24px 60px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme]),:root[data-theme=auto]{--color-bg:#111214;--color-surface:#1b1c20;--color-text:#f4f4f5;--color-muted:#a1a1aa;--color-border:#ffffff1f;--color-accent:#ff7a59;--color-accent-text:#1a0d08;--color-soft:#2a1d19;--color-stage:#16171a;--color-track:#ffffff1a;--color-scrim:#0009;--color-danger:#ff8a6b;--color-ok:#5fd39a;--theme-color:#111214;--shadow-overlay:0 24px 60px #00000080}}:root[data-theme=tomato]{--color-bg:#fff4ee;--color-surface:#fff;--color-text:#2b1209;--color-muted:#7a4a38;--color-border:#f5dacd;--color-accent:#e8452c;--color-accent-text:#fff;--color-soft:#ffe5dc;--color-stage:#fff;--color-track:#fbe6dc;--theme-color:#fff4ee}:root[data-theme=sand]{--color-bg:#f4eee3;--color-surface:#fbf8f2;--color-text:#2e2618;--color-muted:#6b5e48;--color-border:#e3d8c4;--color-accent:#d9902b;--color-accent-text:#2e2618;--color-soft:#f3e6cc;--color-stage:#fbf8f2;--color-track:#ece2cf;--theme-color:#f4eee3}:root[data-theme=mono]{--color-bg:#fff;--color-surface:#f5f5f5;--color-text:#111;--color-muted:#5f5f5f;--color-border:#e3e3e3;--color-accent:#111;--color-accent-text:#fff;--color-soft:#efefef;--color-stage:#f5f5f5;--color-track:#e6e6e6;--theme-color:#fff;--chip-on-bg:#111;--chip-on-text:#fff}:root[data-theme=mint]{--color-bg:#e9f7f1;--color-surface:#fff;--color-text:#0b3b2c;--color-muted:#486a5e;--color-border:#cde8dc;--color-accent:#0b6e4f;--color-accent-text:#fff;--color-soft:#d8f2e8;--color-stage:#fff;--color-track:#dcefe6;--theme-color:#e9f7f1}:root[data-theme=calm]{--color-bg:#eff3f8;--color-surface:#fff;--color-text:#1b2a41;--color-muted:#56667d;--color-border:#dce4ee;--color-accent:#36f;--color-accent-text:#fff;--color-soft:#e3ebff;--color-stage:#fff;--color-track:#e4eaf3;--theme-color:#eff3f8}:root[data-theme=chalk]{--color-bg:#23382e;--color-surface:#2c4438;--color-text:#f2f0e6;--color-muted:#b9c4bc;--color-border:#f2f0e629;--color-accent:#f6d365;--color-accent-text:#23382e;--color-soft:#355345;--color-stage:#284034;--color-track:#f2f0e61f;--color-scrim:#00000080;--color-danger:#ffb59e;--color-ok:#9be2b9;--theme-color:#23382e;--shadow-overlay:0 24px 60px #00000073}:root[data-theme=blush]{--color-bg:#fff0f3;--color-surface:#fff;--color-text:#3a0f1e;--color-muted:#81505e;--color-border:#f3d3dc;--color-accent:#e0335f;--color-accent-text:#fff;--color-soft:#ffe1e8;--color-stage:#fff;--color-track:#fbe3ea;--theme-color:#fff0f3}:root[data-theme=citrus]{--color-bg:#e9ff7a;--color-surface:#f7ffd0;--color-text:#13150b;--color-muted:#3f4520;--color-border:#13150b29;--color-accent:#13150b;--color-accent-text:#e9ff7a;--color-soft:#ddf56a;--color-stage:#f7ffd0;--color-track:#13150b1a;--theme-color:#e9ff7a;--chip-on-bg:#13150b;--chip-on-text:#e9ff7a}:root[data-theme=bold]{--color-bg:#ffe14d;--color-surface:#fff;--color-text:#111;--color-muted:#4a4220;--color-border:#11111129;--color-accent:#111;--color-accent-text:#ffe14d;--color-soft:#fff2a6;--color-stage:#fff;--color-track:#11111114;--theme-color:#ffe14d;--chip-on-bg:#111;--chip-on-text:#ffe14d}@media (prefers-reduced-motion:reduce){:root{--dur-ui:0s;--dur-view:0s}}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-text);-webkit-font-smoothing:antialiased}:where(button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:where(button:disabled){cursor:default}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:700}a{color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-weight:600;line-height:1}.sr{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.lbl{font-family:var(--font-text);font-size:var(--fs-12);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-weight:600}.hint{color:var(--color-muted);font-size:var(--fs-12);font-weight:400;display:block}kbd{font-family:var(--font-num);font-size:var(--fs-12);box-shadow:var(--border);background:var(--color-bg);border-radius:6px;padding:1px 6px}.pri,.sec{justify-content:center;align-items:center;gap:var(--s-2);block-size:56px;padding-inline:var(--s-5);border-radius:var(--r-lg);inline-size:100%;transition:transform var(--dur-ui) var(--ease-out), background-color var(--dur-ui), box-shadow var(--dur-ui);-webkit-tap-highlight-color:transparent;font-size:1.125rem;font-weight:700;display:inline-flex}.pri{background:var(--color-accent);color:var(--color-accent-text)}.pri:hover{filter:brightness(1.05)}.sec{background:var(--color-surface);box-shadow:var(--border);font-weight:600;font-size:var(--fs-16)}.sec:hover{background:var(--color-soft)}.pri:active,.sec:active,.chip:active,.ib:active{transform:scale(.97)}.pri:disabled,.sec:disabled{opacity:.45;transform:none}.pri .kbd{font-size:var(--fs-12);background:color-mix(in srgb, var(--color-accent-text) 18%, transparent);box-shadow:none;color:inherit;display:none}.ib{border-radius:var(--r-md);block-size:40px;inline-size:40px;color:var(--color-text);transition:background-color var(--dur-ui), transform var(--dur-ui) var(--ease-out);place-items:center;display:inline-grid}.ib:hover{background:var(--color-soft)}.ib.sm{block-size:36px;inline-size:36px}.chip{min-block-size:40px;padding-inline:var(--s-3);border-radius:var(--r-md);background:var(--color-surface);box-shadow:var(--border);font-size:var(--fs-14);white-space:nowrap;transition:background-color var(--dur-ui), color var(--dur-ui), transform var(--dur-ui) var(--ease-out);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{background:var(--color-soft)}.chip[aria-pressed=true]{background:var(--chip-on-bg);color:var(--chip-on-text);box-shadow:none}.card{background:var(--color-surface);border-radius:var(--r-xl);box-shadow:var(--border)}.seg{border-radius:var(--r-md);background:var(--color-bg);box-shadow:var(--border);gap:2px;padding:3px;display:inline-flex}.seg button{min-block-size:36px;font-size:var(--fs-14);color:var(--color-muted);transition:background-color var(--dur-ui), color var(--dur-ui);border-radius:11px;align-items:center;gap:6px;padding-inline:10px;font-weight:600;display:inline-flex}.seg button[aria-checked=true]{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #00000014, var(--border)}select,.text-in{font:inherit;font-size:var(--fs-14);color:var(--color-text);background:var(--color-bg);box-shadow:var(--border);border-radius:var(--r-sm);min-block-size:40px;padding-inline:var(--s-3);border:0;font-weight:600}.switch{appearance:none;background:var(--color-track);cursor:pointer;block-size:26px;inline-size:44px;transition:background-color var(--dur-ui);border-radius:999px;flex:none;margin:0;position:relative}.switch:after{content:"";background:var(--color-surface);block-size:20px;inline-size:20px;transition:transform var(--dur-ui) var(--ease-out);border-radius:50%;position:absolute;inset-block-start:3px;inset-inline-start:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--color-accent)}.switch:checked:after{transform:translate(18px)}[dir=rtl] .switch:checked:after{transform:translate(-18px)}input[type=range]{appearance:none;background:0 0;block-size:24px;inline-size:150px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-accent) var(--v,50%), var(--color-track) var(--v,50%));border-radius:3px;block-size:6px}input[type=range]::-moz-range-track{background:var(--color-track);border-radius:3px;block-size:6px}input[type=range]::-moz-range-progress{background:var(--color-accent);border-radius:3px;block-size:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-surface);border-radius:50%;block-size:22px;inline-size:22px;margin-block-start:-8px;box-shadow:0 1px 4px #0000004d}input[type=range]::-moz-range-thumb{background:var(--color-surface);border:0;border-radius:50%;block-size:22px;inline-size:22px;box-shadow:0 1px 4px #0000004d}.row{justify-content:space-between;align-items:center;gap:var(--s-3);min-block-size:44px;font-size:var(--fs-14);font-weight:600;display:flex}.row label{cursor:pointer}.sound-pick{align-items:center;gap:4px;display:inline-flex}.skip{position:absolute;inset-inline-start:-9999px}.skip:focus{z-index:50;background:var(--color-surface);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);inset-block-start:var(--s-4);inset-inline-start:var(--s-4)}header.top{z-index:20;justify-content:space-between;align-items:center;gap:var(--s-3);block-size:var(--header-h);padding-inline:var(--s-4);background:var(--color-bg);display:flex;position:sticky;inset-block-start:0}.logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);align-items:center;gap:10px;font-size:1.1875rem;font-weight:700;text-decoration:none;display:inline-flex}.mark{background:var(--color-accent);border-radius:8px;flex:none;block-size:26px;inline-size:26px;position:relative}.mark:before{content:"";border:3px solid var(--color-accent-text);border-inline-start-color:#0000;border-radius:50%;position:absolute;inset:6px;transform:rotate(45deg)}.acts{gap:2px;display:flex}.dnav{display:none}.tabbar{z-index:30;inset-inline:var(--nav-inset);block-size:calc(var(--nav-h) + var(--safe-bottom));padding:6px 6px var(--safe-bottom);background:var(--nav-bg);-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur);box-shadow:var(--nav-edge), var(--nav-shadow,none);border-radius:var(--nav-radius);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;inset-block-end:0}.tabbar a,.tabbar button{block-size:100%;min-inline-size:0;color:var(--color-muted);font-size:var(--fs-12);-webkit-tap-highlight-color:transparent;align-content:center;justify-items:center;gap:4px;font-weight:600;text-decoration:none;display:grid}.tab-ic{block-size:32px;inline-size:56px;transition:background-color var(--dur-ui), transform var(--dur-ui) var(--ease-out);border-radius:16px;place-items:center;display:grid}.tab-lb{white-space:nowrap;text-overflow:ellipsis;max-inline-size:100%;overflow:hidden}.tabbar [aria-current=page],.tabbar [data-active]{color:var(--color-text)}.tabbar [aria-current=page] .tab-ic,.tabbar [data-active] .tab-ic{background:var(--nav-active-bg);color:var(--color-accent)}dialog.sheet{box-sizing:border-box;inset-inline:var(--sheet-inset,0px);background:var(--sheet-bg,var(--color-surface));max-block-size:90dvh;inline-size:auto;max-inline-size:none;color:var(--color-text);border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--shadow-overlay);border:0;margin:0;padding:0;position:fixed;inset-block:auto 0;overflow-y:auto}dialog.sheet[open]{animation:sheet-in var(--dur-view) var(--ease-out)}dialog.sheet::backdrop{background:var(--color-scrim)}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.sheet-in{padding:var(--s-3) var(--s-5) calc(var(--s-6) + var(--safe-bottom));gap:var(--s-4);display:grid}.grab{background:var(--color-track);border-radius:3px;justify-self:center;block-size:5px;inline-size:36px}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{font-size:var(--fs-20);margin:0}.sheet-acts{gap:var(--s-2);grid-template-columns:1fr 2fr;display:grid}.more-group ul{margin:var(--s-2) 0 0;grid-template-columns:1fr 1fr;gap:6px;padding:0;list-style:none;display:grid}.more-group a{align-items:center;gap:var(--s-3);min-block-size:52px;padding-inline:var(--s-3);border-radius:var(--r-md);background:var(--color-bg);font-weight:600;font-size:var(--fs-14);text-decoration:none;display:flex}.more-group a[aria-current=page]{box-shadow:inset 0 0 0 2px var(--color-accent)}.more-ic{color:var(--color-accent);display:inline-grid}.themes{gap:var(--s-2);grid-template-columns:repeat(4,1fr);display:grid}.theme-opt{padding:var(--s-2) 0;border-radius:var(--r-md);font-size:var(--fs-12);justify-items:center;gap:6px;font-weight:600;display:grid}.theme-opt[aria-checked=true]{background:var(--color-soft)}.theme-sw{border-radius:16px;place-items:center;block-size:56px;inline-size:56px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.theme-sw i{border-radius:50%;block-size:14px;inline-size:14px;position:absolute;inset-block-end:6px}.theme-sw i:first-child{inset-inline-start:8px}.theme-sw i:nth-child(2){inset-inline-end:8px}.theme-sw b{font-family:var(--font-num);margin-block-end:10px;font-size:18px}.theme-sw[data-auto]{color:#ff5a36;background:linear-gradient(135deg,#fafaf7 50%,#111214 50%)}.theme-opt[aria-checked=true] .theme-sw{box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-accent)}.hms{justify-content:center;align-items:center;gap:var(--s-2);font-size:2.5rem;display:flex}.hms-f{justify-items:center;gap:4px;display:grid}.hms-f input{text-align:center;block-size:76px;inline-size:84px;font:inherit;font-family:var(--font-num);color:var(--color-text);background:var(--color-bg);border-radius:var(--r-lg);box-shadow:var(--border);border:0;font-weight:600}.hms-f label{font-family:var(--font-text);font-size:var(--fs-12);color:var(--color-muted);font-weight:600}.text-in{min-block-size:48px;inline-size:100%;font-weight:500}.err{color:var(--color-danger);font-size:var(--fs-14);margin:0;font-weight:600}main.tool-page{padding-block-end:calc(var(--nav-h) + var(--safe-bottom) + 96px)}main.text-page{padding-block:var(--s-6) calc(var(--nav-h) + var(--safe-bottom) + var(--s-8))}.tool{gap:var(--s-4);padding:var(--s-2) var(--s-4) 0;display:grid}.stage{align-content:start;justify-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-4) var(--s-4);background:var(--color-stage);text-align:center;display:grid;position:relative;overflow:hidden}.stage-head{gap:4px;display:grid}.stage-subtitle{color:var(--color-muted);font-size:var(--fs-14);margin:0}.face{place-items:center;min-block-size:140px;inline-size:100%;display:grid}.digits{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.04em;border-radius:var(--r-lg);color:var(--color-text);transition:background-color var(--dur-ui);padding:4px 2px;font-size:clamp(3.4rem,19vw,6.5rem);font-weight:600;line-height:1}.digits[data-size=long]{font-size:clamp(2.6rem,14vw,5rem)}.digits:not(:disabled):hover{background:var(--color-soft)}.digits:disabled{opacity:1}.digits-face{justify-content:center;align-items:center;gap:6px;display:flex}.adj-btn{border-radius:var(--r-md);background:var(--color-surface);block-size:44px;inline-size:44px;box-shadow:var(--border);transition:transform var(--dur-ui) var(--ease-out);flex:none;place-items:center;display:grid}.adj-btn:active{transform:scale(.94)}.adj-btn:disabled{opacity:.4}.ring-face{aspect-ratio:1;inline-size:min(300px,74vw,40dvh);position:relative}.ring-face svg{block-size:100%;inline-size:100%;display:block}.ring-arc{transition:stroke-dasharray .25s linear}.ring-in{place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.ring-in .digits{font-size:clamp(3.4rem,17vw,4.6rem)}.face-sub{font-size:var(--fs-14);color:var(--color-muted);margin:0}.pic-face{justify-items:center;gap:var(--s-3);display:grid}.pic-face svg{block-size:auto;inline-size:min(220px,56vw,30dvh)}.pic-face.sand svg{block-size:min(180px,22dvh);inline-size:auto}.pic-face .digits{font-size:clamp(2.8rem,13vw,3.6rem)}.disc-sector,.sand-face rect,.sand-face path{transition:d .3s linear}.sand-stream{animation:.4s linear infinite stream}@keyframes stream{50%{opacity:.6}}.face-note{min-block-size:1.4em;font-size:var(--fs-14);color:var(--color-muted);margin:0}.adds{gap:var(--s-2);display:flex}.timer-tool[data-status=idle] .adds{visibility:hidden;block-size:0;overflow:hidden}.adds .chip{padding-inline:var(--s-4)}.ctrls{z-index:25;inset-inline:var(--s-4);grid-template-columns:1fr 2fr;gap:10px;display:grid;position:fixed;inset-block-end:calc(var(--nav-h) + var(--safe-bottom) + var(--nav-inset) + 12px)}.ctrls .pri{box-shadow:0 8px 24px color-mix(in srgb, var(--color-accent) 35%, transparent)}.timer-tool[data-status=idle]:not([data-ringing]) .ctrls{grid-template-columns:1fr}.timer-tool[data-status=idle]:not([data-ringing]) .ctrls .sec{display:none}.view-seg{max-inline-size:100%}.view-seg span{display:none}.stage[data-flash]{animation:1s step-end infinite flash}.stage[data-flash] .digits,.stage[data-flash] .face-note{color:inherit}@keyframes flash{0%{background:var(--color-accent);color:var(--color-accent-text)}50%{background:var(--color-stage);color:var(--color-text)}}.timer-tool[data-ringing] .digits{animation:pulse 1s var(--ease-out) infinite}@keyframes pulse{50%{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.stage[data-flash]{background:var(--color-accent);color:var(--color-accent-text);animation:none}.timer-tool[data-ringing] .digits,.sand-stream{animation:none}}.panel{gap:var(--s-3);align-content:start;display:grid}.panel-card{padding:var(--s-4) var(--s-4) var(--s-3);gap:2px;display:grid}.panel-card>.lbl{margin-block-end:var(--s-2)}.chips{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}.keys-card{display:none}.keys{font-size:var(--fs-14);gap:6px;margin:0;display:grid}.keys div{justify-content:space-between;gap:var(--s-2);display:flex}.keys dd{color:var(--color-muted);margin:0}.wrap{max-inline-size:46rem;padding-inline:var(--s-4);margin-inline:auto}.page-text{padding-block:var(--s-8) 0}.content{line-height:1.6;font-size:var(--fs-17)}.content h1{font-size:var(--fs-30);margin-block:0 var(--s-3)}.content h2{font-size:var(--fs-24);margin-block:var(--s-8) var(--s-3)}.content .lead{font-size:var(--fs-20);color:var(--color-muted);margin-block:0 var(--s-4)}.faq details{border-block-end:1px solid var(--color-border);padding-block:var(--s-3)}.faq summary{cursor:pointer;justify-content:space-between;gap:var(--s-3);font-weight:600;list-style:none;display:flex}.faq summary:after{content:"+";font-family:var(--font-num);color:var(--color-accent)}.faq details[open] summary:after{content:"−"}.faq p{margin:var(--s-2) 0 0;color:var(--color-muted)}.crumbs ol{margin:0 0 var(--s-4);font-size:var(--fs-14);color:var(--color-muted);flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";opacity:.6;margin-inline-end:6px}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.link-chips{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}footer.site{padding-block:var(--s-8) calc(var(--nav-h) + var(--safe-bottom) + var(--s-6));border-block-start:1px solid var(--color-border);font-size:var(--fs-14);margin-block-start:var(--s-8)}footer.site .wrap{gap:var(--s-6);max-inline-size:72rem;display:grid}.foot-tools{gap:var(--s-5);grid-template-columns:repeat(2,1fr);display:grid}.foot-h{margin:0 0 var(--s-2);font-weight:700}footer.site ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}footer.site a{color:var(--color-muted);text-decoration:none}footer.site a:hover{color:var(--color-text);text-decoration:underline}.foot-legal{flex-wrap:wrap;gap:var(--s-2) var(--s-4)!important;display:flex!important}.pyxl-lang ul{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.pyxl-lang [aria-current]{font-weight:700}.pyxl-locale-suggest{gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--color-soft);font-size:var(--fs-14);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.pyxl-locale-suggest a{font-weight:700}.pyxl-locale-suggest button{color:var(--color-muted);text-decoration:underline}@media (min-width:640px){.chips{grid-template-columns:repeat(5,1fr)}.tool{max-inline-size:640px;margin-inline:auto}.view-seg span{display:inline}.foot-tools,.more-group ul{grid-template-columns:repeat(3,1fr)}dialog.sheet{--sheet-inset:max(0px, calc((100vw - 560px) / 2))}.themes{grid-template-columns:repeat(6,1fr)}}@media (min-width:1024px){header.top{block-size:var(--header-h-desk);padding-inline:var(--s-7);border-block-end:1px solid var(--color-border)}.logo{font-size:1.375rem}.dnav{border-radius:var(--r-md);background:var(--color-surface);box-shadow:var(--border);gap:4px;padding:4px;display:flex}.dnav a,.dnav button{block-size:38px;font-size:var(--fs-14);color:var(--color-muted);transition:background-color var(--dur-ui), color var(--dur-ui);border-radius:10px;align-items:center;gap:6px;padding-inline:14px;font-weight:600;text-decoration:none;display:inline-flex}.dnav a:hover,.dnav button:hover{color:var(--color-text);background:var(--color-bg)}.dnav [aria-current=page],.dnav [data-active]{background:var(--color-text)!important;color:var(--color-bg)!important}.tabbar{display:none}main.tool-page{padding-block-end:0}main.text-page{padding-block-end:var(--s-8)}.tool{grid-template-columns:minmax(0, 1fr) var(--panel-w);gap:var(--s-7);max-inline-size:none;padding:var(--s-7);block-size:calc(100dvh - var(--header-h-desk));min-block-size:620px;max-block-size:980px}.stage{padding:var(--s-8);align-content:center;gap:var(--s-4)}.stage-head{text-align:start;position:absolute;inset-block-start:var(--s-6);inset-inline-start:var(--s-7)}.view-seg{position:absolute;inset-block-start:var(--s-5);inset-inline-end:var(--s-5)}.face{min-block-size:0}.digits{font-size:clamp(9rem,15vw,14rem)}.digits[data-size=long]{font-size:clamp(7rem,11vw,10.5rem)}.ring-face{inline-size:min(520px,56dvh)}.ring-in .digits{font-size:clamp(5rem,8vw,7.5rem)}.pic-face{align-items:center;gap:var(--s-8);grid-template-columns:auto auto}.pic-face svg{inline-size:min(440px,52dvh)}.pic-face.sand svg{block-size:min(520px,56dvh)}.pic-face .digits{font-size:clamp(5rem,8vw,8.5rem)}.adj-btn{block-size:56px;inline-size:56px}.ctrls{grid-template-columns:1fr 1.6fr;inline-size:440px;position:static}.ctrls .pri{box-shadow:none}.pri .kbd{display:inline}.chips{grid-template-columns:repeat(2,1fr)}.panel{scrollbar-width:thin;margin:-2px;padding:2px;overflow-y:auto}.keys-card{display:grid}.page-text{padding-block-start:var(--s-8)}footer.site{padding-block-end:var(--s-8)}.foot-tools{grid-template-columns:repeat(6,1fr)}dialog.sheet{border-radius:var(--r-sheet);inline-size:560px;inset:50% auto auto 50%;translate:-50% -50%}dialog.sheet[open]{animation:pop-in var(--dur-view) var(--ease-out)}.grab{display:none}dialog.more-sheet{inline-size:720px}}@keyframes pop-in{0%{opacity:0;scale:.96}}.tool:fullscreen{block-size:100dvh;max-block-size:none;padding:var(--s-6);background:var(--color-bg);grid-template-columns:1fr}.tool:fullscreen .panel{display:none}.tool:fullscreen .stage{box-shadow:none}.tool:fullscreen .ctrls{position:static}.tool:fullscreen .digits{font-size:min(28vw,50dvh)}.tool:fullscreen .ring-face{inline-size:min(80dvh,80vw)}.stage>.stage-gear.ib{color:var(--color-muted);position:absolute;inset-block-start:var(--s-3);inset-inline-end:var(--s-3)}.stage-chips{gap:var(--s-2);inline-size:calc(100% + 2 * var(--s-4));margin-inline:calc(var(--s-4) * -1);padding-inline:var(--s-4);scrollbar-width:none;scroll-snap-type:x proximity;display:flex;overflow-x:auto}.stage-chips::-webkit-scrollbar{display:none}.stage-chips .chip{scroll-snap-align:start;padding-inline:var(--s-4);flex:none}.view-seg button{padding-inline:12px}.panel-desk{display:none}.panel:not(:has(>:not(.panel-desk))){display:none}.settings-sheet .alert-card{padding:0;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}.face-note:empty,.face-note{min-block-size:1.2em}@media (min-width:1024px){:is(.panel,.panel:not(:has(>:not(.panel-desk)))){display:grid}.panel-desk{gap:var(--s-3);display:grid}.stage>.stage-gear.ib,.stage-chips,.timer-tool[data-status=idle] .adds{display:none}}
[data-os=ios]{--glass-tint:color-mix(in srgb, var(--color-surface) 55%, transparent);--glass-tint-strong:color-mix(in srgb, var(--color-surface) 72%, transparent);--glass-blur:blur(24px) saturate(190%) brightness(1.04);--glass-edge:inset 0 .5px 0 .5px #ffffff8c, inset 0 -.5px 0 #ffffff2e, 0 0 0 .5px color-mix(in srgb, var(--color-text) 10%, transparent);--glass-shadow:0 8px 32px #0000001a, 0 1px 3px #0000000f;--glass-sheen:linear-gradient(160deg, #ffffff61 0%, #ffffff0f 38%, #fff0 60%, #ffffff1a 100%);--r-xl:26px;--r-lg:18px;--r-md:14px;--r-sheet:34px;--sheet-inset:8px}:root[data-os=ios][data-theme=night],:root[data-os=ios][data-theme=chalk]{--glass-tint:color-mix(in srgb, var(--color-surface) 50%, transparent);--glass-tint-strong:color-mix(in srgb, var(--color-surface) 70%, transparent);--glass-edge:inset 0 .5px 0 .5px #ffffff38, inset 0 -.5px 0 #ffffff0f, 0 0 0 .5px #ffffff14;--glass-sheen:linear-gradient(160deg, #ffffff24 0%, #ffffff05 40%, #fff0 60%, #ffffff0d 100%);--glass-shadow:0 10px 36px #00000073}@media (prefers-color-scheme:dark){:root[data-os=ios]:not([data-theme]),:root[data-os=ios][data-theme=auto]{--glass-edge:inset 0 .5px 0 .5px #ffffff38, inset 0 -.5px 0 #ffffff0f, 0 0 0 .5px #ffffff14;--glass-sheen:linear-gradient(160deg, #ffffff24 0%, #ffffff05 40%, #fff0 60%, #ffffff0d 100%);--glass-shadow:0 10px 36px #00000073}}[data-os=ios] body{background:radial-gradient(60% 40% at 85% 8%, color-mix(in srgb, var(--color-accent) 22%, transparent), transparent 70%), radial-gradient(50% 35% at 0% 55%, color-mix(in srgb, var(--color-accent) 12%, var(--color-soft) 30%), transparent 70%), var(--color-bg);background-attachment:fixed}[data-os=ios] :is(.card,.stage,.chip,.sec,.adj-btn,.seg,.acts,dialog.sheet,.more-group a,select,.hms-f input,.text-in){background-color:var(--glass-tint);background-image:var(--glass-sheen);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge)}[data-os=ios] :is(.card,.stage){box-shadow:var(--glass-edge), var(--glass-shadow)}[data-os=ios] .stage.card{background-color:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none}[data-os=ios] header.top{background:color-mix(in srgb, var(--color-bg) 55%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%)}[data-os=ios] .acts{border-radius:999px;padding:2px}[data-os=ios] .ib,[data-os=ios] :is(.chip,.sec,.adj-btn){border-radius:999px}[data-os=ios] .chip[aria-pressed=true]{background:var(--chip-on-bg);background-image:var(--glass-sheen);color:var(--chip-on-text)}[data-os=ios] .pri{background-color:color-mix(in srgb, var(--color-accent) 88%, transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 .5px 0 .5px #ffffff80, inset 0 -1px 2px #00000014, 0 10px 28px color-mix(in srgb, var(--color-accent) 38%, transparent);background-image:linear-gradient(#ffffff4d,#fff0 55%);border-radius:999px}[data-os=ios] :is(.pri,.sec,.chip,.adj-btn,.ib,.tabbar a,.tabbar button){transition:transform .35s var(--ease-spring), background-color var(--dur-ui)}[data-os=ios] :is(.pri,.sec,.chip,.adj-btn):active{transform:scale(1.04)}[data-os=ios] .seg{border-radius:999px;padding:3px}[data-os=ios] .seg button{border-radius:999px}[data-os=ios] .seg button[aria-checked=true]{background:var(--glass-tint-strong);background-image:var(--glass-sheen);box-shadow:var(--glass-edge), 0 2px 8px #0000001a}[data-os=ios] .switch{background:color-mix(in srgb, var(--color-text) 14%, transparent);block-size:31px;inline-size:51px}[data-os=ios] .switch:after{block-size:27px;inline-size:27px;transition:transform .35s var(--ease-spring), inline-size .2s;inset-block-start:2px;inset-inline-start:2px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029,inset 0 .5px #ffffffe6}[data-os=ios] .switch:active:after{inline-size:33px}[data-os=ios] .switch:checked{background:var(--color-accent)}[data-os=ios] .switch:checked:after{transform:translate(20px)}[data-os=ios] .switch:checked:active:after{transform:translate(14px)}[data-os=ios] input[type=range]::-webkit-slider-thumb{block-size:28px;inline-size:28px;margin-block-start:-11px;box-shadow:0 3px 8px #0000002e,0 0 0 .5px #0000000f}[data-os=ios] .tabbar{block-size:var(--nav-h);background-color:var(--glass-tint);background-image:var(--glass-sheen);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge), 0 12px 40px #00000029;padding:4px;inset-block-end:calc(var(--nav-inset) + var(--safe-bottom) * .6)}[data-os=ios] .tabbar :is(a,button){border-radius:999px;gap:1px;font-size:10.5px;font-weight:600}[data-os=ios] .tab-ic{block-size:28px;inline-size:auto;background:0 0!important}[data-os=ios] .tabbar :is([aria-current=page],[data-active]){background:color-mix(in srgb, var(--color-text) 9%, transparent);color:var(--color-accent);box-shadow:inset 0 .5px 0 .5px #ffffff73}[data-os=ios] .tabbar :is(a,button):active{transform:scale(1.08)}[data-os=ios] .ctrls{inset-block-end:calc(var(--nav-h) + var(--nav-inset) + var(--safe-bottom) * .6 + 12px)}[data-os=ios] dialog.sheet{background-color:var(--glass-tint-strong);border-radius:var(--r-sheet);box-shadow:var(--glass-edge), var(--shadow-overlay);inset-block-end:calc(var(--sheet-inset) + var(--safe-bottom) * .5)}[data-os=ios] dialog.sheet::backdrop{background:#0000002e}[data-os=ios] dialog.sheet[open]{animation:glass-in .5s var(--ease-spring)}@keyframes glass-in{0%{opacity:0;transform:translateY(60px)scale(.96)}}[data-os=ios] .sheet-head h2{font-family:var(--font-text);letter-spacing:-.01em;font-size:1.0625rem;font-weight:600}[data-os=android]{--m3-container:color-mix(in srgb, var(--color-accent) 7%, var(--color-surface));--m3-container-high:color-mix(in srgb, var(--color-accent) 11%, var(--color-surface));--m3-container-highest:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));--m3-secondary:color-mix(in srgb, var(--color-accent) 24%, var(--color-surface));--m3-on-secondary:var(--color-text);--m3-outline:color-mix(in srgb, var(--color-text) 38%, var(--color-surface));--m3-outline-variant:color-mix(in srgb, var(--color-text) 14%, var(--color-surface));--m3-state:color-mix(in srgb, currentColor 10%, transparent);--m3-emph:cubic-bezier(.2, 0, 0, 1);--nav-h:80px;--nav-bg:var(--m3-container);--nav-edge:none;--nav-active-bg:var(--m3-secondary);--r-xl:24px;--r-lg:16px;--r-md:12px;--r-sheet:28px}[data-os=android] body{background:var(--color-bg)}[data-os=android] header.top{background:var(--color-bg);transition:background-color .3s}[data-os=android] .logo{font-family:var(--font-text);letter-spacing:0;font-size:1.375rem;font-weight:600}[data-os=android] :is(.card,.stage){background:var(--m3-container);box-shadow:none}[data-os=android] .stage{background:var(--m3-container-high);border-radius:28px}[data-os=android] :is(.pri,.sec){font-family:var(--font-text);letter-spacing:.01em;transition:border-radius .25s var(--m3-emph), transform .2s var(--m3-emph), box-shadow .2s;border-radius:999px;font-weight:600;position:relative;overflow:hidden}[data-os=android] .pri{box-shadow:0 1px 3px #0003,0 4px 8px 3px #00000014}[data-os=android] .pri:active{border-radius:16px;transform:none}[data-os=android] .sec{background:var(--m3-secondary);color:var(--m3-on-secondary);box-shadow:none}[data-os=android] .sec:active{border-radius:16px;transform:none}[data-os=android] .chip{min-block-size:36px;box-shadow:inset 0 0 0 1px var(--m3-outline-variant);background:0 0;border-radius:8px;font-weight:500;position:relative;overflow:hidden}[data-os=android] .chip[aria-pressed=true]{background:var(--m3-secondary);color:var(--m3-on-secondary);box-shadow:none}[data-os=android] .chip[aria-pressed=true]:before{content:"";border-block-end:2px solid;border-inline-start:2px solid;block-size:8px;inline-size:14px;margin-inline-end:8px;transform:rotate(-45deg)translate(1px,-2px)}[data-os=android] .adj-btn{background:var(--m3-secondary);box-shadow:none;border-radius:16px}[data-os=android] .adj-btn:active{border-radius:28px}[data-os=android] .ib{border-radius:999px;position:relative;overflow:hidden}[data-os=android] .seg{box-shadow:inset 0 0 0 1px var(--m3-outline);background:0 0;border-radius:999px;gap:0;padding:0;overflow:hidden}[data-os=android] .seg button{min-block-size:40px;color:var(--color-text);border-radius:0;padding-inline:12px;font-weight:500}[data-os=android] .seg button+button{box-shadow:inset 1px 0 0 var(--m3-outline)}[data-os=android] .seg button[aria-checked=true]{background:var(--m3-secondary);box-shadow:none}[data-os=android] .seg button+button[aria-checked=true]{box-shadow:inset 1px 0 0 var(--m3-outline)}[data-os=android] .switch{background:var(--m3-container-highest);block-size:32px;inline-size:52px;box-shadow:inset 0 0 0 2px var(--m3-outline)}[data-os=android] .switch:after{background:var(--m3-outline);block-size:16px;inline-size:16px;box-shadow:none;transition:transform .25s var(--m3-emph), inline-size .25s var(--m3-emph), block-size .25s var(--m3-emph), inset .25s var(--m3-emph);inset-block-start:8px;inset-inline-start:8px}[data-os=android] .switch:checked{background:var(--color-accent);box-shadow:none}[data-os=android] .switch:checked:after{background:var(--color-accent-text);block-size:24px;inline-size:24px;inset-block-start:4px;inset-inline-start:4px;transform:translate(20px)}[data-os=android] .switch:active:after{block-size:28px;inline-size:28px;inset-block-start:2px;inset-inline-start:2px}[data-os=android] .switch:checked:active:after{transform:translate(18px)}[data-os=android] input[type=range]::-webkit-slider-runnable-track{border-radius:8px;block-size:16px}[data-os=android] input[type=range]::-webkit-slider-thumb{background:var(--color-accent);block-size:44px;inline-size:4px;box-shadow:0 0 0 6px var(--m3-container);border-radius:2px;margin-block-start:-14px}[data-os=android] .tabbar{padding:12px 0 calc(16px + var(--safe-bottom));background:var(--nav-bg);border-radius:0;align-items:start;inset-inline:0}[data-os=android] .tabbar :is(a,button){letter-spacing:.03em;block-size:auto;color:var(--color-muted);align-content:start;gap:4px;font-size:12px;font-weight:500}[data-os=android] .tab-ic{block-size:32px;inline-size:64px;transition:background-color .2s, inline-size .3s var(--m3-emph);border-radius:16px;position:relative;overflow:hidden}[data-os=android] .tabbar :is([aria-current=page],[data-active]){color:var(--color-text);font-weight:700}[data-os=android] .tabbar :is([aria-current=page],[data-active]) .tab-ic{background:var(--m3-secondary);color:var(--m3-on-secondary);animation:m3-pill .35s var(--m3-emph)}@keyframes m3-pill{0%{inline-size:32px}}[data-os=android] .ctrls{inset-block-end:calc(var(--nav-h) + var(--safe-bottom) + 16px)}[data-os=android] dialog.sheet{background:var(--m3-container);border-radius:28px 28px 0 0;box-shadow:0 -2px 10px #0000001f}[data-os=android] .grab{background:var(--m3-outline);border-radius:2px;block-size:4px;inline-size:32px;margin-block:6px 4px}[data-os=android] dialog.sheet[open]{animation:m3-sheet .4s var(--m3-emph)}@keyframes m3-sheet{0%{transform:translateY(100%)}}[data-os=android] .sheet-head h2{font-family:var(--font-text);letter-spacing:0;font-size:1.5rem;font-weight:400}[data-os=android] .more-group a{background:var(--m3-container-high);border-radius:16px;position:relative;overflow:hidden}[data-os=android] :is(select,.text-in,.hms-f input){background:var(--m3-container-highest);box-shadow:inset 0 -1px 0 var(--m3-outline);border-radius:4px 4px 0 0}[data-os=android] .hms-f input:focus{box-shadow:inset 0 -2px 0 var(--color-accent);outline:none}[data-os=android] .lbl{text-transform:none;letter-spacing:.01em;font-size:var(--fs-14);color:var(--color-accent);font-weight:500}[data-os=android] :is(.pri,.sec,.chip,.ib,.tab-ic,.more-group a,.adj-btn,.seg button):hover{background-image:linear-gradient(var(--m3-state), var(--m3-state))}.ripple{pointer-events:none;opacity:.16;animation:ripple .55s var(--m3-emph,ease-out) forwards;background:currentColor;border-radius:50%;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(1)}}@media (min-width:1024px){[data-os=ios] body{background-attachment:scroll}[data-os=android] dialog.sheet,[data-os=ios] dialog.sheet{border-radius:var(--r-sheet);inset:50% auto auto 50%}}@media (prefers-reduced-motion:reduce){.ripple{display:none}[data-os] dialog.sheet[open],[data-os=android] .tabbar [aria-current=page] .tab-ic{animation:none}}@media (prefers-reduced-transparency:reduce){[data-os=ios] :is(.card,.stage,.chip,.sec,.adj-btn,.seg,dialog.sheet,.tabbar,.pri,header.top){-webkit-backdrop-filter:none;backdrop-filter:none;background-color:var(--color-surface)}}
