@font-face{font-family:Recursive Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/recursive-display-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Recursive Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/recursive-display-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Recursive Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/recursive-display-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Recursive Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/recursive-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Recursive Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/recursive-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Recursive Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/recursive-mono-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}:root{color-scheme:light dark;--bg:#f6f3ec;--bg-2:#ece6da;--surface:#fffdf8;--text:#102321;--text-2:#33433f;--muted:#5d6b67;--line:#ddd5c6;--link:#0d6b62;--accent:#1a7a71;--accent-hover:#146a62;--accent-ink:#fff;--accent-soft:#d6ebe6;--coral:#ff5b3d;--coral-ink:#2a0b04;--sun:#ffb43a;--shadow:0 1px 2px #1023210f, 0 14px 34px -18px #10232161;--s-bg:#0b3633;--s-bg-2:#0e4440;--s-panel:#11504a;--s-panel-2:#155a53;--s-line:#23685f;--s-text:#f1f7f5;--s-muted:#a8c9c2;--s-teal:#5fd4c4;--focus:#ffb43a;--display:"Recursive Display", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--body:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--mono:"Recursive Mono", ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--radius:20px;--ease:cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme:dark){:root{--bg:#0a1716;--bg-2:#0f201e;--surface:#122725;--text:#e8f1ef;--text-2:#c2d3cf;--muted:#8ea7a2;--line:#1e3633;--link:#6fd6c8;--accent-soft:#123b37;--shadow:0 1px 2px #0000004d, 0 16px 40px -20px #000c}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font:17px/1.6 var(--body);-webkit-tap-highlight-color:transparent;flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}::selection{background:var(--accent);color:var(--accent-ink)}img,canvas,svg{max-width:100%;display:block}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{flex:none}.skip{inset-inline-start:12px;background:var(--text);color:var(--bg);z-index:20;border-radius:10px;padding:8px 14px;position:absolute;top:-60px}.skip:focus{top:12px}.wrap{width:min(1180px,100% - 32px);margin-inline:auto}.wrap.narrow>*{max-width:760px}.muted{color:var(--muted)}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;font-weight:800;line-height:1.12}.digits{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600}.btn{min-height:40px;font:650 .95rem/1.2 var(--body);cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:transform .15s var(--ease), background-color .15s ease, box-shadow .2s ease, color .15s ease;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 22px -12px #1a7a71e6}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.stage .btn.primary,.ring .btn.primary{background:var(--coral);color:var(--coral-ink);box-shadow:0 10px 26px -12px #ff5b3df2}.stage .btn.primary:hover:not(:disabled),.ring .btn.primary:hover:not(:disabled){background:#ff7257}.btn.ghost{color:var(--s-text);box-shadow:inset 0 0 0 1px var(--s-line);background:#ffffff12}.btn.ghost:hover:not(:disabled){background:#ffffff21}.btn.large{min-height:50px;padding:12px 22px;font-size:1.02rem}.icon-btn{width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--s-line);color:var(--s-text);cursor:pointer;background:#ffffff12;border:0;border-radius:12px;place-items:center;text-decoration:none;transition:background-color .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:#ffffff21}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.small{border-radius:10px;width:34px;height:34px}.site-header{--bleed:120px;top:calc(-1 * var(--bleed));z-index:10;margin-top:calc(-1 * var(--bleed));padding-top:var(--bleed);background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--line);position:sticky}.header-inner{align-items:center;gap:18px;min-height:64px;display:flex}.brand{font:800 1.05rem/1 var(--display);letter-spacing:-.01em;color:var(--text);white-space:nowrap;align-items:center;gap:10px;margin:0;text-decoration:none;display:inline-flex}.brand-tld{color:var(--accent)}@media (prefers-color-scheme:dark){.brand-tld{color:var(--s-teal)}}.main-nav{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.nav-link{color:var(--text-2);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:8px 12px;font-size:.95rem;text-decoration:none;list-style:none;display:inline-flex}.nav-link::-webkit-details-marker{display:none}.nav-link:hover,.menu[open]>.nav-link{background:var(--bg-2);color:var(--text)}.nav-link[aria-current=page]{color:var(--text);background:var(--accent-soft)}.menu{position:relative}.menu[open] .icon{transform:rotate(180deg)}.menu-panel{top:calc(100% + 6px);z-index:11;background:var(--surface);border:1px solid var(--line);min-width:250px;max-height:min(70vh,540px);box-shadow:var(--shadow);animation:pop .18s var(--ease);border-radius:16px;padding:6px;display:grid;position:absolute;inset-inline-start:0;overflow-y:auto}.menu-panel a{color:var(--text);border-radius:10px;padding:9px 12px;font-size:.95rem;text-decoration:none}.menu-panel a:hover{background:var(--bg-2)}.menu-panel a[aria-current=page]{color:var(--link);font-weight:650}.menu-more{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:4px;padding:10px 6px 4px;display:flex}.menu-more a{box-shadow:inset 0 0 0 1px var(--line);font:600 .82rem/1.2 var(--mono);border-radius:999px;padding:5px 10px}.lang-menu{margin-inline-start:auto}.lang-menu .menu-panel{grid-template-columns:repeat(2,minmax(0,1fr));min-width:300px;inset-inline:auto 0}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.header-cta{min-height:38px;padding:8px 14px}.header-cta img{border-radius:4px}@media (width<=860px){.header-inner{flex-wrap:wrap;gap:4px 12px;padding-block:10px}.main-nav{scrollbar-width:none;flex-basis:100%;order:3;margin-inline:-8px;overflow-x:auto}.header-cta{margin-inline-start:auto;padding:7px 11px;font-size:.86rem}.pinned{display:none}.brand{font-size:.98rem}.menu{position:static}.menu-panel{left:16px;right:16px}.lang-menu .menu-panel{min-width:0;left:16px;right:16px}}.stage{color:var(--s-text);background:radial-gradient(800px 420px at 0% -10%, #5fd4c429, transparent 65%), radial-gradient(600px 380px at 100% 110%, #ff5b3d1a, transparent 70%), linear-gradient(180deg, var(--s-bg-2), var(--s-bg));padding:40px 0 52px;position:relative;overflow:hidden}.stage:before{content:"";top:50%;aspect-ratio:1;background:repeating-conic-gradient(from -.5deg, #ffffff21 0 1deg, transparent 1deg 30deg), repeating-conic-gradient(from -.25deg, #ffffff0f 0 .5deg, transparent .5deg 6deg);pointer-events:none;border-radius:50%;width:640px;position:absolute;inset-inline-end:-220px;translate:0 -50%;-webkit-mask:radial-gradient(circle,#0000 0 57%,#000 57.5% 66%,#0000 66.5%);mask:radial-gradient(circle,#0000 0 57%,#000 57.5% 66%,#0000 66.5%)}.stage>.wrap{z-index:1;position:relative}.stage-intro{max-width:800px;margin-bottom:26px}.stage h1{margin:0 0 12px;font-size:clamp(2rem,1.3rem + 3vw,3.3rem)}.stage .lead{color:var(--s-muted);max-width:44em;font-size:clamp(1.02rem,.98rem + .3vw,1.18rem)}.stage a{color:var(--s-teal)}.deck{background:linear-gradient(180deg, #ffffff0a, transparent 160px), var(--s-panel);border:1px solid var(--s-line);border-radius:var(--radius);min-width:0;padding:clamp(16px,3vw,26px);box-shadow:0 30px 60px -30px #000000bf}.studio{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.studio.single{grid-template-columns:minmax(0,1fr);max-width:920px}@media (width<=960px){.studio{grid-template-columns:1fr}}.status{font:600 .78rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--s-muted);align-items:center;gap:10px;margin:0;display:inline-flex}.hint{color:var(--s-muted);margin:12px 0 0;font-size:.92rem}.privacy{color:var(--s-muted);align-items:center;gap:8px;margin:14px 0 0;font-size:.85rem;display:flex}.page-hero{padding:48px 0 6px}.page-hero h1{margin:0 0 12px;font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem)}.lead{color:var(--text-2);text-wrap:pretty;margin:0;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}.prose{color:var(--text-2);padding-block:44px 24px;font-size:1.06rem}.prose.first{padding-top:20px}.prose h2{color:var(--text);margin:2.2em 0 .6em;font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem)}.prose>h2:first-child{margin-top:0}.prose h3{color:var(--text);margin:1.8em 0 .5em;font-size:1.14rem}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose li{margin-bottom:.45em}.prose li::marker{color:var(--accent);font-weight:700}.prose strong{color:var(--text)}.prose code,.prose kbd{font:.9em var(--mono);background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:1px 6px}.prose table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.95rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:start;vertical-align:top;padding:10px 12px}.prose th{color:var(--text)}.prose td:first-child{font-variant-numeric:tabular-nums}@media (width<=640px){.prose table{display:block;overflow-x:auto}}.updated{color:var(--muted);margin-top:2em;font-size:.88rem}.ext{border-bottom:1px solid var(--line);padding:56px 0 40px}.ext-main{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,5vw,64px);display:grid}.ext h2{margin:0 0 14px;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.4rem)}.ext-text{color:var(--text-2);margin:0 0 18px}.ticks{gap:10px;margin:0 0 24px;padding:0;list-style:none;display:grid}.ticks li{align-items:flex-start;gap:10px;display:flex}.ticks .icon{color:var(--accent);margin-top:3px}.ext-note{color:var(--muted);margin:12px 0 0;font-size:.88rem}.ext-shot{margin:0}.ext-shot img{width:100%;height:auto;box-shadow:var(--shadow);border-radius:18px}@media (width<=900px){.ext-main{grid-template-columns:1fr}}.faq{padding:24px 0 40px}.faq h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem)}.faq details{border-top:1px solid var(--line)}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding-block:16px;padding-inline:0 40px;font-weight:650;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";inset-inline-end:6px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);width:10px;height:10px;transition:transform .2s var(--ease);position:absolute;top:22px;transform:rotate(45deg)}.faq details[open] summary:after{top:26px;transform:rotate(-135deg)}.faq details p{color:var(--text-2);margin:0 0 18px}.apps{padding:40px 0 8px}.apps-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.apps h2{margin:0 0 4px;font-size:clamp(1.3rem,1.1rem + .8vw,1.6rem)}.apps-head p{margin:0}.apps-nav{gap:8px;display:flex}.apps-nav .icon-btn{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--text)}.apps-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;gap:16px;margin-top:6px;padding:18px 2px 16px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 28px),#0000 100%)}.apps-track::-webkit-scrollbar{display:none}.apps-track.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;user-select:none}.app-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:inherit;scroll-snap-align:start;transition:transform .2s var(--ease), border-color .2s ease, box-shadow .2s ease;flex-direction:column;flex:0 0 min(270px,78vw);gap:6px;padding:18px;text-decoration:none;display:flex}.app-card:hover,.app-card:focus-visible{border-color:var(--accent);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-4px)}.app-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.app-top img{border-radius:10px}.app-badge{background:var(--accent-soft);color:var(--link);font:600 .7rem var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:3px 8px}.app-card b{font:800 1rem var(--display)}.app-text{color:var(--muted);flex:1;font-size:.92rem}.app-cta{border-top:1px solid var(--line);color:var(--link);align-items:center;gap:6px;margin-top:10px;padding-top:12px;font-size:.88rem;font-weight:600;display:flex}.app-cta .icon{transition:transform .2s var(--ease)}.app-card:hover .app-cta .icon{transform:translate(4px)}.site-footer{background:var(--bg-2);border-top:1px solid var(--line);margin-top:48px;padding:44px 0 26px}.footer-grid{grid-template-columns:1.3fr repeat(5,1fr);gap:28px;display:grid}.footer-about p{max-width:30em}.footer-about .brand{margin-bottom:10px}.footer-grid ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.footer-grid a{color:var(--text-2);text-decoration:none}.footer-grid a:hover{color:var(--link);text-decoration:underline}.footer-title{color:var(--muted);font:600 .76rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}.legal{color:var(--muted);margin-top:32px;font-size:.82rem}@media (width<=860px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.footer-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:lang(ar),:lang(he),:lang(ja),:lang(ko),:lang(zh),:lang(th){letter-spacing:normal!important}[dir=rtl] .icon.directional{scale:-1 1}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.deck h2,.shelf h2{margin:0 0 14px;font-size:1.15rem}.reminder-form{gap:18px;display:grid}.field{gap:6px;min-width:0;display:grid}.field>span:first-child,fieldset>legend{color:var(--s-muted);font:600 .78rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset>legend{margin-bottom:8px;padding:0}.stage input[type=text],.stage input[type=number],.stage input[type=time],.stage input[type=date],.stage select,.stage textarea{border:1px solid var(--s-line);width:100%;min-height:46px;color:var(--s-text);font:500 1rem/1.3 var(--body);color-scheme:dark;background:#0000002e;border-radius:14px;padding:10px 14px;transition:border-color .15s,background-color .15s}.stage input:hover,.stage select:hover{border-color:color-mix(in srgb, var(--s-teal) 45%, var(--s-line))}.stage input:focus-visible,.stage select:focus-visible,.stage textarea:focus-visible{outline:2px solid var(--s-teal);outline-offset:1px;border-radius:14px}.stage input::placeholder{color:color-mix(in srgb, var(--s-muted) 70%, transparent)}.field.big input{min-height:58px;font:800 clamp(1.15rem, 1rem + .8vw, 1.5rem) / 1.2 var(--display);letter-spacing:-.01em}.select-wrap{display:block;position:relative}.select-wrap select{appearance:none;cursor:pointer;padding-inline-end:38px}.select-wrap .icon{inset-inline-end:12px;pointer-events:none;color:var(--s-muted);position:absolute;top:50%;translate:0 -50%}.stage select option{background:var(--s-panel);color:var(--s-text)}.segmented{box-shadow:inset 0 0 0 1px var(--s-line);background:#00000038;border-radius:999px;margin-bottom:12px;padding:4px;display:inline-flex}.segmented label{cursor:pointer;position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{color:var(--s-muted);transition:background-color .2s var(--ease), color .2s ease;border-radius:999px;padding:7px 18px;font-weight:650;display:block}.segmented input:checked+span{background:var(--s-text);color:var(--s-bg)}.segmented input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:40px;box-shadow:inset 0 0 0 1px var(--s-line);color:var(--s-text);font:600 .95rem/1 var(--mono);cursor:pointer;transition:background-color .15s ease, box-shadow .15s ease, transform .15s var(--ease);background:#ffffff12;border:0;border-radius:999px;padding:8px 15px}.chip:hover{background:#ffffff21}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--s-teal);color:#062b27;box-shadow:none}.custom{gap:8px;max-width:300px;margin-top:10px;display:flex}.custom .number{flex:0 0 96px}.custom .number input{font-family:var(--mono);text-align:center}.custom .select-wrap{flex:1}.when-at{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px;display:grid}.sound-fields{grid-template-columns:minmax(150px,1fr) auto minmax(120px,.8fr);align-items:end;gap:10px 12px;display:grid}.sound-fields .icon-btn{border-radius:14px;width:46px;height:46px}.sound-fields .toggle{grid-column:1/-1}.volume input{width:100%;min-height:46px;accent-color:var(--s-teal)}.toggle{cursor:pointer;color:var(--s-text);align-items:center;gap:12px;display:inline-flex}.toggle input{appearance:none;width:44px;height:26px;box-shadow:inset 0 0 0 1px var(--s-line);cursor:pointer;background:#0000004d;border-radius:999px;flex:none;margin:0;transition:background-color .2s;position:relative}.toggle input:after{content:"";top:3px;background:var(--s-text);width:20px;height:20px;transition:translate .2s var(--ease);border-radius:50%;position:absolute;inset-inline-start:3px}.toggle input:checked{background:var(--s-teal)}.toggle input:checked:after{background:#062b27;translate:18px}[dir=rtl] .toggle input:checked:after{translate:-18px}@media (width<=520px){.sound-fields{grid-template-columns:1fr auto}.sound-fields .volume{grid-column:1/-1}}.form-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.form-status{color:var(--s-teal);margin:0;font-weight:600}.shelf{border-radius:var(--radius);border:1px solid var(--s-line);background:#00000029;padding:clamp(16px,3vw,22px)}.ringers{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ringer{--bar:#2fb3a3;color:#17302d;box-shadow:inset 4px 0 0 var(--bar);animation:drop-in .35s var(--ease);background:#f4f9f8;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 10px 12px 14px;display:grid}[dir=rtl] .ringer{box-shadow:inset -4px 0 0 var(--bar)}.ringer[data-kind=alarm]{--bar:var(--coral)}.ringer[data-kind=timer]{--bar:var(--sun)}.ringer[data-kind=interval],.ringer[data-kind=eyes]{--bar:#5b8def}.ringer-dot{background:var(--bar);border-radius:50%;width:8px;height:8px}.ringer-text{min-width:0;display:grid}.ringer-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ringer-text span{color:#5c716d;font-size:.85rem}.ringer-left{color:#0f5d55;white-space:nowrap;background:#dcefeb;border-radius:8px;padding:4px 8px;font-size:.85rem}.ringer .icon-btn{box-shadow:none;color:#6b807c;background:0 0}.ringer .icon-btn:hover{color:#b4321a;background:#e3ecea}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}}.shelf-empty{border:1px dashed var(--s-line);color:var(--s-muted);text-align:center;border-radius:14px;margin:0;padding:18px;font-size:.95rem}.shelf-notes{gap:8px;margin-top:16px;display:grid}.shelf-note{color:var(--s-muted);align-items:flex-start;gap:8px;margin:0;font-size:.85rem;display:flex}.shelf-note .icon{margin-top:3px}.shelf-notes .btn{justify-self:start;min-height:36px;font-size:.88rem}.ring{background:radial-gradient(340px 220px at 50% 0%, #ff5b3d47, transparent 70%), var(--s-bg);width:min(460px,100% - 32px);color:var(--s-text);text-align:center;border:0;border-radius:28px;padding:30px 26px 24px;box-shadow:0 40px 90px -30px #000c}.ring::backdrop{backdrop-filter:blur(4px);background:#0618169e}.ring[open]{animation:ring-in .35s var(--ease)}@keyframes ring-in{0%{opacity:0;transform:scale(.94)}}.ring-face{width:92px;height:92px;box-shadow:inset 0 0 0 2px var(--s-line), 0 0 0 10px #ff5b3d1f;color:var(--coral);background:#ffffff0f;border-radius:50%;place-items:center;margin:0 auto 18px;display:grid;position:relative}.ring-hand{background:conic-gradient(var(--coral) 0 3deg, transparent 3deg);border-radius:50%;position:absolute;inset:8px;-webkit-mask:radial-gradient(circle,#0000 0 54%,#000 55%);mask:radial-gradient(circle,#0000 0 54%,#000 55%)}@media (prefers-reduced-motion:no-preference){.ring[open] .ring-face .icon{animation:.9s ease-in-out infinite shake}.ring[open] .ring-hand{animation:4s linear infinite sweep}}@keyframes shake{0%,to{rotate:0deg}15%,45%{rotate:-14deg}30%,60%{rotate:14deg}75%{rotate:0deg}}@keyframes sweep{to{rotate:360deg}}.ring-kind{color:var(--s-muted);font:600 .8rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.ring-title{overflow-wrap:anywhere;margin:0;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.1rem)}.ring-rest{color:var(--s-teal);margin:14px 0 0;font-size:3.2rem;line-height:1}.ring-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.ring-actions .btn.large{flex-basis:100%}.ring-toast{inset-inline-end:16px;z-index:30;background:var(--s-bg);max-width:min(380px,100% - 32px);color:var(--s-text);animation:drop-in .35s var(--ease);border-radius:16px;align-items:center;gap:12px;padding:12px 12px 12px 16px;display:flex;position:fixed;bottom:16px;box-shadow:0 20px 50px -20px #000000b3}.ring-toast>.icon{color:var(--coral)}.ring-toast div{flex:1;min-width:0;display:grid}.ring-toast span{color:var(--s-muted);font-size:.85rem}.ext-shot{padding-bottom:12%;position:relative}.ext-shot .ext-shot-2{inset-inline-end:-4%;border:4px solid var(--bg);border-radius:14px;width:52%;position:absolute;bottom:0}.nf-stage{text-align:center;padding:56px 0 68px}.nf-stage:before{inset-inline-end:auto;left:50%;translate:-50% -50%}.nf-intro{flex-direction:column;align-items:center;display:flex}.nf-code{color:var(--coral);margin:0 0 18px;font-size:clamp(5rem,3rem + 10vw,9rem);line-height:1}@media (prefers-reduced-motion:no-preference){.nf-code{animation:1.2s step-end infinite blink}}@keyframes blink{50%{opacity:.25}}.nf-intro .lead{max-width:34em}.nf-lang{margin:14px 0 0}.nf-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.nf-tools{padding-block:48px 72px}.nf-tools h2{margin:0 0 18px;font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem)}.nf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.nf-card{border:1px solid var(--line);background:var(--surface);height:100%;color:var(--text);transition:border-color .15s ease, transform .15s var(--ease);border-radius:16px;align-items:center;gap:14px;padding:14px 16px;font-weight:600;text-decoration:none;display:flex}.nf-card:hover{border-color:var(--accent);transform:translateY(-1px)}.nf-card>.icon:last-child{color:var(--muted);margin-inline-start:auto}.nf-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--link);border-radius:12px;flex:none;place-items:center;display:grid}@media (width<=899px){.nf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.nf-grid{grid-template-columns:1fr}}.alarm-deck{gap:18px;display:grid}.clock-now{border-bottom:1px solid var(--s-line);gap:2px;padding:6px 0 14px;display:grid}.clock-now [data-now]{color:var(--s-text);font-size:clamp(2.8rem,1.6rem + 5vw,5rem);line-height:1}.clock-now span{color:var(--s-muted)}.alarm-time input{max-width:220px;font:600 1.6rem/1 var(--mono)!important}.custom .unit{color:var(--s-muted);align-self:center}.hours{gap:12px;display:grid}.rest input{max-width:120px;font-family:var(--mono)}.hub{padding-block:8px 24px}.stage+.hub{padding-top:28px}.hub h2{font-size:clamp(1.2rem,1rem + .8vw,1.5rem)}.hub ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hub a{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);font:600 .9rem/1.2 var(--mono);border-radius:999px;padding:7px 14px;text-decoration:none;transition:box-shadow .15s;display:inline-block}.hub a:hover{box-shadow:inset 0 0 0 1px var(--accent)}.hub a[aria-current=page]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.countdown-deck{gap:18px;display:grid}.countdown-form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);gap:10px;display:grid}@media (width<=640px){.countdown-form{grid-template-columns:1fr 1fr}.countdown-form .field:first-child{grid-column:1/-1}}.countdown-choice{max-width:320px}.countdown-target{color:var(--s-muted);margin:0;font-weight:600}.countdown-units{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.countdown-unit{box-shadow:inset 0 0 0 1px var(--s-line);background:#0003;border-radius:18px;justify-items:center;gap:6px;padding:18px 8px 14px;display:grid}.countdown-unit [data-unit]{font-size:clamp(2.2rem,1.2rem + 5vw,4.6rem);line-height:1}.countdown-unit:first-child [data-unit]{color:var(--s-teal)}.countdown-unit span{color:var(--s-muted);font:600 .75rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.countdown-today{color:var(--coral);font:800 1.6rem/1.2 var(--display);margin:0}.countdown-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.countdown-years,.moon-year{border-radius:var(--radius);border:1px solid var(--s-line);background:#00000029;margin-top:18px;padding:clamp(16px,3vw,22px)}.countdown-years ul{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 18px;margin:0;padding:0;list-style:none;display:grid}.countdown-years li{align-items:baseline;gap:12px;display:flex}.countdown-years b{color:var(--s-teal)}.moon-deck{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;display:grid}.moon-disc{aspect-ratio:1;background:radial-gradient(circle at 38% 34%,#ffffff8c,#0000 32%),radial-gradient(circle at 62% 58%,#968c6e59 0 12%,#0000 13%),radial-gradient(circle at 34% 64%,#968c6e47 0 9%,#0000 10%),radial-gradient(circle at 58% 30%,#968c6e38 0 7%,#0000 8%),radial-gradient(circle,#f8f1d8,#e7dbb2 70%,#cbbd8e);border-radius:50%;width:clamp(96px,18vw,150px);box-shadow:0 0 60px #f8f1d859}.moon-next{font:800 clamp(1.3rem, 1rem + 1.4vw, 2rem) / 1.2 var(--display);margin:8px 0 2px}.moon-in{color:var(--s-teal);margin:0 0 16px;font-size:1.1rem}.moon-year h2{margin:0 0 10px;font-size:1.15rem}.moon-year table{border-collapse:collapse;width:100%;font-size:.95rem}.moon-year th,.moon-year td{border-bottom:1px solid var(--s-line);text-align:start;padding:9px 10px}.moon-year thead th{color:var(--s-muted);font:600 .75rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.moon-year tbody th{font-weight:650}.moon-year td{font-variant-numeric:tabular-nums}@media (width<=560px){.moon-deck{text-align:center;grid-template-columns:1fr;justify-items:center}.moon-year table{display:block;overflow-x:auto}}.wrap-seg{border-radius:20px;flex-wrap:wrap}.water-result{box-shadow:inset 0 0 0 1px var(--s-line);background:#0003;border-radius:18px;align-items:center;gap:16px;padding:16px 18px;display:flex}.water-result>.icon{color:var(--s-teal)}.water-result div{gap:2px;display:grid}.water-result [data-liters]{font-size:clamp(1.8rem,1.2rem + 2.6vw,2.8rem);line-height:1.1}.water-result span{color:var(--s-muted)}.water-plan{color:var(--s-text);margin:0;font-weight:600}.timer-deck{grid-template-columns:minmax(240px,380px) minmax(0,1fr);grid-template-areas:"dial setup""controls setup";align-items:start;gap:18px 32px;display:grid}.dial{aspect-ratio:1;grid-area:dial;width:100%;position:relative}.dial svg{width:100%;height:100%}.dial-ticks line{stroke:#ffffff52;stroke-width:1.4px;stroke-linecap:round}.dial-track,.dial-progress{fill:none;stroke-width:10px;transform-origin:100px 100px;transform:rotate(-90deg)}.dial-track{stroke:#00000040}.dial-progress{stroke:var(--s-teal);stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:0}[data-hand]{transform-origin:100px 100px}.dial-dot{fill:var(--coral);stroke:var(--s-bg);stroke-width:3px}.dial[data-state=ready] .dial-dot{fill:var(--s-text)}.dial-readout{pointer-events:none;place-content:center;justify-items:center;gap:4px;display:grid;position:absolute;inset:0}.dial-readout [data-readout]{color:var(--s-text);font-size:clamp(2.6rem,1.6rem + 4.2vw,4.4rem);line-height:1}.dial-state{color:var(--s-muted);font:600 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.dial[data-state=paused] .dial-readout [data-readout]{color:var(--sun)}@media (prefers-reduced-motion:no-preference){.dial[data-state=paused] .dial-readout [data-readout]{animation:1.4s step-end infinite blink}}.timer-controls{grid-area:controls;justify-content:center;gap:10px;display:flex}.timer-controls .btn{min-width:150px}.timer-controls .icon-btn{border-radius:50%;width:50px;height:50px}.timer-controls [data-running=true]{background:var(--s-text);color:var(--s-bg);box-shadow:none}.timer-setup{grid-area:setup;gap:18px;min-width:0;display:grid}.hms{gap:8px;display:flex}.hms label{color:var(--s-muted);align-items:center;gap:6px;display:flex}.hms input{text-align:center;width:74px!important;font-family:var(--mono)!important}@media (width<=760px){.timer-deck{grid-template-columns:1fr;grid-template-areas:"dial""controls""setup"}.dial{max-width:320px;margin-inline:auto}}.timer-deck:fullscreen{background:var(--s-bg);border-radius:0;grid-template-columns:min(80vh,90vw);grid-template-areas:"dial""controls";place-content:center;display:grid}.timer-deck:fullscreen .timer-setup{display:none}.timer-deck:fullscreen .dial-readout [data-readout]{font-size:min(16vh,18vw)}.timer-tool.classroom{grid-template-columns:minmax(0,1fr)}.timer-tool.classroom .timer-deck{grid-template-columns:minmax(280px,460px) minmax(0,1fr)}@media (width<=760px){.timer-tool.classroom .timer-deck{grid-template-columns:1fr}}.holidays-next{font:800 clamp(1.3rem, 1rem + 1.4vw, 2rem) / 1.2 var(--display);margin:0 0 4px}.holidays-when{color:var(--s-teal);margin:0 0 16px;font-size:1.05rem}.holidays-year td{white-space:nowrap;width:13em}.holidays-year tbody th{font-weight:600}.holidays-year tr.past{opacity:.55}.holidays-year tr.next th,.holidays-year tr.next td{color:var(--s-teal)}.holidays-year tr.next th:before{content:"▸ "}.tag{box-shadow:inset 0 0 0 1px var(--s-line);color:var(--s-muted);font:600 .72rem/1.4 var(--mono);letter-spacing:.04em;vertical-align:.1em;white-space:nowrap;border-radius:999px;margin-inline-start:8px;padding:2px 8px;display:inline-block}.holidays-others{margin-top:12px}.holidays-others summary{cursor:pointer;color:var(--s-muted);font-weight:600}.holidays-others ul{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 18px;margin:10px 0 0;padding:0;font-size:.92rem;list-style:none;display:grid}.holidays-others .digits{color:var(--s-muted)}.holiday-breaks ul{padding-inline-start:1.1em}.holiday-breaks b{font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.table-scroll td.digits{white-space:nowrap}.dst-then{color:var(--s-muted);margin:0 0 16px}.holiday-notes{color:var(--muted);font-size:.92rem}.holiday-countries{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.holiday-countries li{box-shadow:inset 0 0 0 1px var(--s-line);background:#0000002e;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;display:flex}.holiday-countries a{color:var(--s-text);flex:1;padding:12px 14px;font-weight:650;text-decoration:none}.holiday-countries li:hover{box-shadow:inset 0 0 0 1px var(--s-teal)}.holiday-regions{color:var(--s-muted);font:600 .75rem/1 var(--mono);margin-inline-end:12px}@media (width<=560px){.holidays-year td{white-space:normal;width:auto}}
