@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-500-normal-BWnGEVsr.woff2)format("woff2"),url(/assets/figtree-latin-500-normal-B_yy1phn.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2)format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sora-latin-500-normal-01eiPEn0.woff2)format("woff2"),url(/assets/sora-latin-500-normal-w58xtEt9.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2)format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2)format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff)format("woff")}:root{--bg:#eef2f2;--surface:#fff;--surface-2:#e6eced;--ink:#13232a;--muted:#566870;--line:#d3dcde;--brand:#0d5465;--brand-ink:#fff;--brand-soft:#daeaee;--light:#e9b949;--ok:#2c7a4c;--ok-soft:#ddf0e3;--warn:#9a6614;--warn-soft:#f7ead2;--bad:#b23a2e;--bad-soft:#f6deda;--display:"Sora", "Avenir Next", "Segoe UI", system-ui, sans-serif;--body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;--r:14px;--r-sm:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1517;--surface:#142124;--surface-2:#1b2c30;--ink:#e4edef;--muted:#94a8ae;--line:#294046;--brand:#5bb7c9;--brand-ink:#05232a;--brand-soft:#16363e;--light:#e9b949;--ok:#62c48d;--ok-soft:#163226;--warn:#e3b358;--warn-soft:#352812;--bad:#f07c6f;--bad-soft:#3c1b18;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1517;--surface:#142124;--surface-2:#1b2c30;--ink:#e4edef;--muted:#94a8ae;--line:#294046;--brand:#5bb7c9;--brand-ink:#05232a;--brand-soft:#16363e;--light:#e9b949;--ok:#62c48d;--ok-soft:#163226;--warn:#e3b358;--warn-soft:#352812;--bad:#f07c6f;--bad-soft:#3c1b18;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;min-height:100dvh;font-size:15px;line-height:1.45}h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:-.01em;margin:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.num{font-variant-numeric:tabular-nums}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:calc(110px + env(safe-area-inset-bottom,0px));max-width:472px;margin:0 auto}.app.wide{max-width:880px}.app.bare{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.top{align-items:center;gap:12px;padding-block:6px 14px;display:flex}.brandname{font-family:var(--display);font-size:17px;font-weight:600;line-height:1.1}.who{color:var(--muted);font-size:13px}.iconbtn{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;margin-left:auto;display:grid;position:relative}.iconbtn+.iconbtn{margin-left:0}.iconbtn svg{width:22px;height:22px}.stack{flex-direction:column;gap:14px;display:flex}.sec-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-top:8px;display:flex}.sec-h h2{font-size:16px;font-weight:600}.sec-h .meta{color:var(--muted);font-size:12.5px}.hello h1{font-size:24px;font-weight:600}.hello p{color:var(--muted);margin:2px 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.row{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.row:first-child{border-top:0}.row .main{flex:1;min-width:0}.row .t{font-weight:600}.row .s{color:var(--muted);font-size:13.5px}.row .end{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}button.row{text-align:left;width:100%;color:inherit;background:0 0;border-bottom:0;border-left:0;border-right:0}.ico{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:10px;flex:none;place-items:center;display:grid}.ico svg{width:19px;height:19px}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.c-ok{background:var(--ok-soft);color:var(--ok)}.c-warn{background:var(--warn-soft);color:var(--warn)}.c-bad{background:var(--bad-soft);color:var(--bad)}.c-info{background:var(--brand-soft);color:var(--brand)}.c-mute{background:var(--surface-2);color:var(--muted)}.chips{flex-wrap:wrap;gap:6px;display:flex}.btn{background:var(--brand);color:var(--brand-ink);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn.soft{background:var(--brand-soft);color:var(--brand)}.btn.sm{border-radius:10px;padding:7px 12px;font-size:13.5px}.btn.bad{background:var(--bad-soft);color:var(--bad)}.btn.block{width:100%}.btn[disabled]{opacity:.45;cursor:default}.btn svg{width:18px;height:18px}.btns{flex-wrap:wrap;gap:8px;display:flex}.linkbtn{color:var(--brand);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-weight:600;text-decoration:underline}.banner{border-radius:var(--r);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);padding:14px}.banner .t{color:var(--warn);font-weight:700}.banner.info{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.banner.info .t{color:var(--brand)}.kv{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.note{color:var(--muted);font-size:12.5px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=720px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.tile .k{color:var(--muted);font-size:12.5px}.tile .v{font-family:var(--display);font-size:24px;font-weight:600}.tile .s{color:var(--muted);font-size:12px}.field{flex-direction:column;gap:6px;display:flex}.field label,.lbl{font-size:13px;font-weight:600}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px;font-size:16px}.field .hint{color:var(--muted);font-size:12.5px}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg label{position:relative}.seg input{opacity:0;margin:0;position:absolute;inset:0}.seg span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 12px;font-size:13.5px;font-weight:500;display:inline-block}.seg input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.seg input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--brand);flex:none;margin:1px 0 0}.err{color:var(--bad);font-size:13.5px;font-weight:600}.okmsg{color:var(--ok);font-size:13.5px;font-weight:600}.ugrid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;display:grid}.ugrid label{position:relative}.ugrid input{opacity:0;margin:0;position:absolute;inset:0}.ugrid span{text-align:center;border:1px solid var(--line);background:var(--surface);font-family:var(--display);border-radius:12px;padding:12px 4px;font-size:15px;font-weight:600;display:block}.ugrid input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.ugrid input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.code-input{font-family:var(--display);letter-spacing:.4em;text-align:center;padding:14px 12px!important;font-size:28px!important}.entry{flex-direction:column;justify-content:center;gap:22px;min-height:100dvh;padding-block:24px;display:flex}.entry .mark{align-items:center;gap:12px;display:flex}.entry h1{font-size:26px;font-weight:600}.doc h3{margin:16px 0 6px;font-size:15.5px;font-weight:600}.doc p,.doc li{font-size:14.5px}.doc ul{margin:6px 0;padding-left:20px}.doc p+p{margin-top:8px}.nav{z-index:15;background:var(--surface);border-top:1px solid var(--line);padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px));padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0}.nav-in{max-width:472px;margin:0 auto;display:flex}.nav.wide .nav-in{max-width:880px}.nav a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 2px 10px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.nav a svg{width:22px;height:22px}.nav a[aria-current=page]{color:var(--brand)}.scrim{z-index:40;background:#050e1180;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:520px;max-height:92%;padding:18px max(16px,env(safe-area-inset-left,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px));border-radius:20px 20px 0 0;overflow:auto}@media (width>=720px){.scrim{align-items:center}.sheet{border-radius:20px;max-height:86%}}.sheet-h{align-items:center;gap:10px;margin-bottom:14px;display:flex}.sheet-h h3{flex:1;font-size:19px;font-weight:600}.x{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.x svg{width:18px;height:18px}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--ink);color:var(--bg);pointer-events:none;border-radius:12px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0000002e}.empty{text-align:center;color:var(--muted);padding:16px;font-size:14px}.soon{border:1.5px dashed var(--line);border-radius:var(--r);flex-direction:column;gap:6px;padding:18px;display:flex}.soon .t{font-family:var(--display);font-size:16px;font-weight:600}@media (prefers-reduced-motion:no-preference){.sheet{animation:.22s ease-out up}@keyframes up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}}.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-size:12.5px;font-weight:600}.tbl td{border-top:1px solid var(--line);padding:8px 10px}.tbl td.r,.tbl th.r{text-align:right}.tbl td:first-child{white-space:nowrap}@media (width<=479px){.tbl .hide-sm{display:none}.tbl th,.tbl td{padding:8px 7px}}.scrollx{overflow-x:auto}.demo-strip{background:var(--ink);color:var(--bg);text-align:center;padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top,0px));font-size:12.5px}.demo-strip+.app{padding-top:14px}.h1{font-size:22px;font-weight:600}.row span.t,.row span.s{display:block}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pre{white-space:pre-line;overflow-wrap:anywhere}.ico.bad{background:var(--bad-soft);color:var(--bad)}.banner.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.banner.bad .t{color:var(--bad)}.btn.ok{background:var(--ok);color:var(--bg)}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.cols{flex-direction:column;gap:14px;display:flex}@media (width>=720px){.cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}}.quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quick button{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-align:center;color:var(--ink);flex-direction:column;align-items:center;gap:8px;padding:12px 8px;font-size:13px;font-weight:600;display:flex}.quick button[disabled]{opacity:.55;cursor:default}.quick small{color:var(--muted);margin-top:-4px;font-size:11.5px;font-weight:500}.hero-action{text-align:left;border-radius:var(--r);background:var(--brand);width:100%;color:var(--brand-ink);border:0;align-items:center;gap:14px;padding:16px;display:flex}.hero-action .ico{color:var(--brand-ink);background:#ffffff29;width:44px;height:44px}.hero-action .t{font-family:var(--display);font-size:17px;font-weight:600}.hero-action .s{opacity:.85;font-size:13.5px}.timeline{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.timeline li{grid-template-columns:14px 1fr;gap:10px;font-size:14px;display:grid}.timeline li:before{content:"";background:var(--brand);border-radius:50%;width:10px;height:10px;margin-top:5px}.timeline .when{color:var(--muted);font-size:12.5px}.thumbs{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.thumb{border:1px solid var(--line);background:var(--brand-soft);width:56px;height:56px;color:var(--brand);border-radius:10px;flex:none;place-items:center;padding:0;display:inline-grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb svg{width:20px;height:20px}.file{border:1.5px dashed var(--line);color:var(--muted);background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:12px;font-size:13.5px;display:flex;position:relative}.file.has{border-style:solid;border-color:var(--brand);color:var(--ink)}.file input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file svg{flex:none;width:22px;height:22px}.file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;font-size:13.5px;display:grid}.bar .track{background:var(--surface-2);border-radius:5px;grid-column:1/-1;height:8px;display:block;overflow:hidden}.bar .fill{background:var(--brand);border-radius:5px;height:100%;display:block}details.card>summary{cursor:pointer;font-weight:600}.dot{background:var(--bad);color:#fff;border-radius:10px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-5px;right:-5px}.lightbox{z-index:60;background:#000000e0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.lightbox img{border-radius:12px;max-width:100%;max-height:100%}.lightbox .x{top:calc(12px + env(safe-area-inset-top,0px));position:absolute;right:12px}.toast .undo{pointer-events:auto;color:inherit;text-underline-offset:3px;background:0 0;border:0;margin-left:12px;padding:4px 2px;font-weight:700;text-decoration:underline}.kind{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.kind button{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);flex-direction:column;align-items:center;gap:6px;padding:12px 4px;font-size:13px;font-weight:600;display:flex}.kind button[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.kind .ico{width:36px;height:36px}.cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);max-width:340px;padding:10px}.cal-h{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.cal-h b{font-family:var(--display);text-transform:capitalize;font-size:14.5px;font-weight:600}.cal-h .x{font-size:20px;line-height:1}.cal-h .x:disabled{opacity:.3;cursor:default}.cal-g{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.cal-g .dow{color:var(--muted);padding:4px 0;font-size:11.5px;font-weight:600}.cd{font-variant-numeric:tabular-nums;height:38px;color:var(--ink);background:0 0;border:0;border-radius:9px;font-size:14px;font-weight:500}.cd.today{box-shadow:inset 0 0 0 1.5px var(--brand)}.cd.in{background:var(--brand-soft);color:var(--brand);border-radius:4px}.cd.sel{background:var(--brand);color:var(--brand-ink);font-weight:700}.cd:disabled{opacity:.28;cursor:default}.cal-sum{color:var(--brand);margin-top:8px;font-size:13px;font-weight:600}.wk span{text-align:center;min-width:44px}.door-search{border-radius:12px!important;padding:13px 14px!important;font-size:16px!important}.door-col h2 .cnt{background:var(--brand);min-width:26px;height:26px;color:var(--brand-ink);vertical-align:2px;border-radius:13px;place-items:center;margin-left:8px;padding:0 7px;font-size:14px;display:inline-grid}.door-col.in h2 .cnt{background:var(--ok);color:var(--bg)}.drow{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 14px;display:flex}.drow:first-child{border-top:0}.drow .main{flex:1;min-width:0}.drow .t{font-size:16px;font-weight:700;line-height:1.25}.drow .s{color:var(--muted);font-size:13.5px}.ucode{text-align:center;min-width:66px;font-family:var(--display);background:var(--brand-soft);color:var(--brand);border-radius:12px;flex:none;padding:12px 6px;font-size:17px;font-weight:700}.door-col.in .ucode{background:var(--ok-soft);color:var(--ok)}.btn.big{border-radius:12px;min-width:108px;min-height:50px;font-size:16.5px}.ugrid2{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;display:grid}.ugrid2 label{position:relative}.ugrid2 input{opacity:0;margin:0;position:absolute;inset:0}.ugrid2 span{text-align:center;border:1px solid var(--line);background:var(--surface);font-family:var(--display);border-radius:12px;padding:12px 4px;font-size:15px;font-weight:600;display:block}.ugrid2 input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.ugrid2 input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.struck{opacity:.6;text-decoration:line-through}
