:root{--ground: #fbfaf8;--panel: #ffffff;--sunk: #f4f2ee;--line: #e4e0d9;--line-soft: #efece6;--ink: #1b1a21;--ink-2: #54515e;--ink-3: #8b8794;--ink-4: #b0acb8;--brass: #9a6e2f;--ok: #3f7a52;--serif: ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--tap: 44px}@media(prefers-color-scheme:dark){:root{--ground: #141319;--panel: #1c1b23;--sunk: #232229;--line: #33313d;--line-soft: #2a2933;--ink: #ebe8f2;--ink-2: #b5b1c1;--ink-3: #87838f;--ink-4: #5e5a68;--brass: #d8ac63;--ok: #6fae83}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.app{display:flex;flex-direction:column;min-height:100%;max-width:560px;margin:0 auto}.topbar{display:flex;align-items:center;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--line-soft)}.studio{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.01em}.status-dot{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--ink-3)}.status-dot i{width:7px;height:7px;border-radius:50%;background:var(--ink-4)}.status-dot.up i{background:var(--ok)}.status-dot.down i{background:#b03a2e}main:not(.surface){flex:1;padding:20px 16px 32px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:0 0 6px}h1{font-family:var(--serif);font-size:27px;font-weight:600;line-height:1.15;letter-spacing:-.015em;margin:0 0 10px;text-wrap:balance}p.lede{margin:0 0 22px;color:var(--ink-2);text-wrap:pretty}.card{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:14px 15px;margin-bottom:12px}.card h2{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-weight:500;margin:0 0 10px}.kv{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px}.kv:last-child{border-bottom:0}.kv .k{color:var(--ink-3);width:96px;flex:none}.kv .v{font-family:var(--mono);font-variant-numeric:tabular-nums;word-break:break-all}footer{padding:16px;border-top:1px solid var(--line-soft);font-size:12.5px;color:var(--ink-4)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{display:flex;flex-direction:column;height:100dvh;max-width:560px;margin:0 auto;background:var(--ground)}.shell.center{align-items:center;justify-content:center}.bar{flex:none;display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid var(--line-soft);background:var(--panel)}.bar-name{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back{flex:none;width:32px;height:32px;margin-left:-6px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--ink-2);cursor:pointer}.back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.back:focus-visible{outline:2px solid var(--brass);border-radius:8px}.switcher{flex:1 1 auto;min-width:0}.switcher select{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.01em;border:0;background:none;color:var(--ink);padding:4px 0;max-width:100%}.avatar{flex:none;margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--sunk);color:var(--ink-2);font-family:var(--mono);font-size:12px;letter-spacing:.02em;cursor:pointer}.avatar:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.surface{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px 28px}.tabs{flex:none;display:flex;border-top:1px solid var(--line);background:var(--panel);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 7px;min-height:var(--tap);border:0;background:none;color:var(--ink-3);font:inherit;font-size:11px;letter-spacing:.01em;cursor:pointer}.tab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tab.on{color:var(--brass);font-weight:600}.tab.on svg{stroke-width:2.1}.tab:focus-visible{outline:2px solid var(--brass);outline-offset:-3px}.segments{display:flex;gap:4px;padding:3px;margin-bottom:16px;border-radius:10px;background:var(--sunk)}.seg{flex:1 1 0;font:inherit;font-size:13.5px;font-weight:550;min-height:38px;border:0;border-radius:8px;background:none;color:var(--ink-3);cursor:pointer}.seg.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #0000000f}.seg:focus-visible{outline:2px solid var(--brass)}.rows{display:flex;flex-direction:column;gap:1px;margin-bottom:20px}.row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;width:100%;min-height:var(--tap);padding:13px 14px;border:1px solid var(--line);background:var(--panel);color:inherit;font:inherit;text-align:left;cursor:pointer}.row:first-child{border-radius:10px 10px 0 0}.row:last-child{border-radius:0 0 10px 10px}.row:only-child{border-radius:10px}.row+.row{border-top:0;margin-top:-1px}.row-label{font-size:15px;font-weight:550}.row-hint{grid-column:1;font-size:13px;color:var(--ink-3)}.row-chev{grid-column:2;grid-row:1 / -1;width:18px;height:18px;fill:none;stroke:var(--ink-4);stroke-width:2}.row.danger .row-label{color:#b03a2e}.row:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.crumb{font:inherit;font-size:14px;min-height:var(--tap);padding:0;margin-bottom:4px;border:0;background:none;color:var(--brass);cursor:pointer}.empty{padding:26px 18px;margin-bottom:16px;border:1px dashed var(--line);border-radius:10px;text-align:center}.empty-title{margin:0 0 6px;font-family:var(--serif);font-size:17px;color:var(--ink-2)}.empty .muted{margin:0;text-wrap:pretty}.strip{padding:14px 15px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--brass) 35%,transparent);background:color-mix(in srgb,var(--brass) 7%,transparent);border-radius:10px}.strip-title{margin:0 0 4px;font-weight:600;font-size:15px}.strip .muted{margin:0 0 10px}.strip .btn{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.center{align-items:center;justify-content:center}.muted{color:var(--ink-3)}.small{font-size:13.5px}.gate{flex:1;display:flex;flex-direction:column;justify-content:center;padding:32px 20px 40px;gap:20px}.gate-head h1{margin-bottom:6px}.gate-head .lede{margin-bottom:0}.stack{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13.5px;color:var(--ink-2);font-weight:550}.field small{font-size:12.5px;color:var(--ink-3)}.field input{font:inherit;font-size:16px;padding:12px 13px;min-height:var(--tap);border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}.field input:focus-visible{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}.btn{font:inherit;font-size:15px;font-weight:600;min-height:var(--tap);padding:12px 16px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;width:100%}.btn.primary{background:var(--brass);border-color:var(--brass);color:#fff}.btn:disabled{opacity:.55;cursor:default}.btn:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.link{font:inherit;font-size:inherit;background:none;border:0;padding:0;color:var(--brass);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link.danger{color:#b03a2e;font-size:12.5px;margin:-13px 0 -13px 10px;padding:13px 6px;min-height:var(--tap)}.link:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.rule{display:flex;align-items:center;gap:12px;color:var(--ink-4);font-size:12.5px}.rule:before,.rule:after{content:"";flex:1;height:1px;background:var(--line)}.error{margin:0;font-size:13.5px;color:#b03a2e;background:color-mix(in srgb,#b03a2e 8%,transparent);border:1px solid color-mix(in srgb,#b03a2e 26%,transparent);border-radius:8px;padding:9px 11px}.switch{margin:0;font-size:14px;color:var(--ink-2);text-align:center}.card .btn{margin-top:10px}.card .kv .v{display:flex;align-items:center}button.studio{font-family:var(--serif);background:none;border:0;padding:0;color:inherit;cursor:pointer}.link.push{margin-left:auto}.tiles{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.tile{font:inherit;display:flex;flex-direction:column;gap:3px;text-align:left;width:100%;min-height:var(--tap);padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:inherit;cursor:pointer}.tile:disabled{opacity:.6;cursor:default}.tile:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.tile-name{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.01em}.tile-sub{font-size:13.5px;color:var(--ink-3)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{font:inherit;font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:var(--sunk);color:var(--ink-3)}button.chip{cursor:pointer;position:relative;min-height:30px}button.chip:after{content:"";position:absolute;inset:-7px -2px}button.chip.on{background:color-mix(in srgb,var(--brass) 14%,transparent);border-color:color-mix(in srgb,var(--brass) 45%,transparent);color:var(--brass)}button.chip:focus-visible{outline:2px solid var(--brass);outline-offset:2px}button.chip:disabled{opacity:.5;cursor:default}.person{padding:10px 0;border-bottom:1px solid var(--line-soft)}.person:last-of-type{border-bottom:0}.person-head{display:flex;flex-direction:column;gap:1px}.person-name{font-size:15px;font-weight:550}.person-mail{font-family:var(--mono);font-size:12px;color:var(--ink-3);word-break:break-all}.you{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-left:7px}.field textarea,.field select{font:inherit;font-size:16px;padding:12px 13px;min-height:var(--tap);border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}.field textarea{resize:vertical;line-height:1.45}.field textarea:focus-visible,.field select:focus-visible{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}.card h2.spaced{margin-top:18px}.token{border:1px solid color-mix(in srgb,var(--brass) 40%,transparent);background:color-mix(in srgb,var(--brass) 7%,transparent);border-radius:9px;padding:11px 12px;margin-bottom:14px}.token p{margin:0 0 8px;color:var(--ink-2)}.token code{display:block;font-family:var(--mono);font-size:12px;line-height:1.5;word-break:break-all;padding:9px 10px;border-radius:7px;background:var(--panel);border:1px solid var(--line)}.warn{margin:10px 0 0;font-size:13.5px;color:var(--brass);background:color-mix(in srgb,var(--brass) 9%,transparent);border:1px solid color-mix(in srgb,var(--brass) 30%,transparent);border-radius:8px;padding:9px 11px}h2.section{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-weight:500;margin:22px 0 10px}.card.dim .person-name,.card.dim .chip{color:var(--ink-3)}.card.dim{background:var(--sunk)}.guardians{display:flex;flex-direction:column;gap:2px;margin-top:9px;font-size:13px;color:var(--ink-3)}.guardian:before{content:"↳ ";color:var(--ink-4)}.day{padding:8px 0;border-bottom:1px solid var(--line-soft)}.day:last-of-type{border-bottom:0}.day-name{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-bottom:4px}.slot{display:flex;align-items:center;gap:8px;min-height:32px}.slot-time{font-variant-numeric:tabular-nums;font-size:14.5px}.slot-note{font-size:12.5px;color:var(--ink-3)}.times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rank-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--sunk);border:1px solid var(--line);font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.ranks{display:flex;flex-direction:column;gap:6px;margin:10px 0}.rank{display:flex;align-items:center;gap:9px;font-size:14px}.pref{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line-soft)}.pref select{flex:1 1 120px;min-width:0}.pref input[type=time]{flex:1 1 96px;min-width:0}.pref select,.pref input[type=time]{font:inherit;font-size:16px;padding:9px 10px;min-height:var(--tap);border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}.pref-actions{display:flex;gap:4px;margin-left:auto}.pref-actions .link{min-width:var(--tap);min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:16px;margin:0;padding:0}.pref-actions .link:disabled{opacity:.3;cursor:default}.check{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-size:14.5px;color:var(--ink-2)}.check input{width:20px;height:20px;accent-color:var(--brass);flex:none}.evidence{margin:12px 0;padding:11px 12px;border-radius:8px;background:var(--sunk);font-size:14.5px;line-height:1.5;white-space:pre-wrap;text-wrap:pretty}
