:root{--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-num:ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--bg:#0f1115;--surface:#171a21;--surface-2:#1e222b;--surface-3:#272c37;--line:#2b303b;--text:#f2f3f5;--text-2:#a8b0be;--text-3:#6f7889;--accent:#7c95ff;--accent-ink:#0b1020;--accent-soft:#7c95ff29;--danger:#ff6369;--danger-soft:#ff636924;--ok:#4cc38a;--warn:#ffc53d;--shadow:0 8px 30px #00000073;--scrim:#050608a8;--r-sm:10px;--r:16px;--r-lg:24px;--gap:16px;--tap:48px;--fs-xs:.78rem;--fs-sm:.875rem;--fs:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:1.75rem;--fs-2xl:2.5rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f6f5f2;--surface:#fff;--surface-2:#f1efea;--surface-3:#e6e3dc;--line:#e2dfd8;--text:#1b1d21;--text-2:#5b616e;--text-3:#8b909b;--accent:#4060f0;--accent-ink:#fff;--accent-soft:#4060f01f;--danger:#d93a40;--danger-soft:#d93a401a;--ok:#20925a;--shadow:0 8px 30px #1e1e281f;--scrim:#14141966;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f6f5f2;--surface:#fff;--surface-2:#f1efea;--surface-3:#e6e3dc;--line:#e2dfd8;--text:#1b1d21;--text-2:#5b616e;--text-3:#8b909b;--accent:#4060f0;--accent-ink:#fff;--accent-soft:#4060f01f;--danger:#d93a40;--danger-soft:#d93a401a;--ok:#20925a;--shadow:0 8px 30px #1e1e281f;--scrim:#14141966;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-contrast=high]{--text-2:var(--text);--text-3:var(--text-2);--line:currentColor}:root[data-large-text=true]{font-size:118%}.wall{--fs-xs:clamp(.85rem, .75vw, 1.1rem);--fs-sm:clamp(.95rem, .85vw, 1.25rem);--fs:clamp(1.05rem, 1vw, 1.45rem);--fs-md:clamp(1.15rem, 1.15vw, 1.65rem);--fs-lg:clamp(1.35rem, 1.45vw, 2.1rem);--fs-xl:clamp(1.8rem, 2.1vw, 3rem);--fs-2xl:clamp(2.6rem, 3.6vw, 5.2rem);--tap:clamp(56px, 3.6vw, 76px);--gap:clamp(14px, 1.1vw, 24px);--r:clamp(16px, 1.1vw, 22px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:10px;display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.center{place-items:center;display:grid}.spacer{flex:1}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{min-height:var(--tap);background:var(--surface-3);color:var(--text);font-weight:600;font-size:var(--fs);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;transition:transform 80ms,background .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{color:var(--text-2);background:0 0}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.outline{border-color:var(--line);background:0 0}.btn.block{width:100%}.btn.sm{min-height:40px;font-size:var(--fs-sm);padding:0 14px}.icon-btn{width:var(--tap);height:var(--tap);color:var(--text-2);background:0 0;border:none;border-radius:999px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:active{transform:scale(.94)}.icon-btn.filled{background:var(--surface-2);color:var(--text)}.icon-btn.accent{background:var(--accent);color:var(--accent-ink)}svg.icon{flex:none;width:1.35em;height:1.35em}.field{flex-direction:column;gap:6px;display:flex}.field>span{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.field .hint{font-size:var(--fs-xs);color:var(--text-3);font-weight:400}.input,select.input,textarea.input{width:100%;min-height:var(--tap);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:var(--fs);padding:10px 14px}textarea.input{resize:vertical;min-height:96px}.input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.input.code{letter-spacing:.3em;text-align:center;font-size:var(--fs-xl);font-family:var(--font-num)}.form{flex-direction:column;gap:16px;display:flex}.form-error{color:var(--danger);font-size:var(--fs-sm);background:var(--danger-soft);border-radius:var(--r-sm);padding:10px 14px}.form-ok{color:var(--ok);font-size:var(--fs-sm)}.switch{flex:none;width:52px;height:32px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.switch span{background:var(--surface-3);border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(20px)}.switch input:disabled+span{opacity:.4}.switch input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.segmented{background:var(--surface-2);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:calc(var(--tap) - 8px);color:var(--text-2);background:0 0;border:none;border-radius:999px;padding:0 16px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000026}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);min-height:40px;color:var(--text-2);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 6px;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.chip.plain{padding:0 14px}.card{background:var(--surface);border-radius:var(--r);padding:var(--gap);border:1px solid var(--line)}.card-title{font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-weight:700}.list-rows{flex-direction:column;display:flex}.list-row{min-height:var(--tap);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 4px;display:flex}.list-row:last-child{border-bottom:none}.badge{background:var(--surface-3);color:var(--text-2);font-size:var(--fs-xs);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-weight:700;display:inline-flex}.badge.ok{color:var(--ok);background:#4cc38a26}.badge.warn{color:var(--warn);background:#ffc53d29}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.avatar{width:var(--av,40px);height:var(--av,40px);font-size:calc(var(--av,40px) * .5);background:color-mix(in srgb, var(--c,#888) 26%, var(--surface-2));box-shadow:inset 0 0 0 2px var(--c,#888);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid}.avatar.initials{font-weight:800;font-size:calc(var(--av,40px) * .4);color:var(--text)}.avatar.selected{box-shadow:inset 0 0 0 3px var(--c), 0 0 0 3px var(--bg), 0 0 0 5px var(--c)}.dot{background:var(--c,var(--accent));border-radius:50%;flex:none;width:10px;height:10px}.scrim{background:var(--scrim);z-index:50;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:640px;max-height:92vh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow);animation:.2s slide-up;overflow:auto}.sheet-head{align-items:center;gap:8px;margin-bottom:16px;display:flex}.sheet-head h2{font-size:var(--fs-lg);flex:1}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (min-width:720px){.scrim{align-items:center}.sheet{border-radius:var(--r-lg)}}.wall .sheet{max-width:min(900px,70vw);padding:calc(var(--gap) * 1.5)}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:.6;transform:translateY(24px)}}.pinpad{flex-direction:column;align-items:center;gap:20px;display:flex}.pin-dots{gap:14px;min-height:22px;display:flex}.pin-dots i{border:2px solid var(--text-3);border-radius:50%;width:18px;height:18px}.pin-dots i.on{background:var(--text);border-color:var(--text)}.pin-keys{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.pin-keys button{width:calc(var(--tap) * 1.45);height:calc(var(--tap) * 1.45);background:var(--surface-2);color:var(--text);font-size:var(--fs-xl);font-family:var(--font-num);border:none;border-radius:50%;font-weight:600}.pin-keys button:active{background:var(--surface-3);transform:scale(.95)}.pin-keys .ghost{font-size:var(--fs);color:var(--text-2);background:0 0}.shake{animation:.35s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.toasts{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:80;pointer-events:none;flex-direction:column;gap:8px;width:min(560px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:12px 16px;font-weight:600;animation:.2s slide-up}.toast.error{background:var(--danger);color:#fff}.banner{font-size:var(--fs-sm);background:var(--surface-2);color:var(--text-2);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 16px;font-weight:600;display:flex}.banner.warn{color:var(--warn);background:#ffc53d1f}.empty{text-align:center;color:var(--text-3);padding:28px 12px}.empty b{color:var(--text-2);margin-bottom:4px;display:block}.auth-page{place-items:center;min-height:100%;padding:24px 16px;display:grid}.auth-card{flex-direction:column;gap:20px;width:min(440px,100%);display:flex}.auth-card h1{font-size:var(--fs-xl)}.brand{font-weight:800;font-size:var(--fs-lg);align-items:center;gap:12px;display:flex}.brand img{width:44px;height:44px}.choice{border-radius:var(--r);text-align:left;border:1px solid var(--line);background:var(--surface);align-items:center;gap:16px;width:100%;padding:18px;display:flex}.choice:hover{border-color:var(--accent)}.choice .icon{width:28px;height:28px;color:var(--accent)}.choice b{font-size:var(--fs-md);display:block}.choice small{color:var(--text-2)}.codes{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--fs-md);grid-template-columns:1fr 1fr;gap:8px;display:grid}.codes span{background:var(--surface-2);text-align:center;border-radius:8px;padding:8px}.qr{border-radius:var(--r);background:#fff;width:-moz-fit-content;width:fit-content;margin:0 auto;padding:12px}.qr img{width:200px;height:200px;image-rendering:pixelated;display:block}.secret{word-break:break-all;background:var(--surface-2);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--fs-sm);border-radius:8px;padding:10px}.osk{z-index:90;background:var(--surface);border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;gap:8px;padding:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #00000059}.osk-row{justify-content:center;gap:8px;display:flex}.osk button{background:var(--surface-2);max-width:92px;height:clamp(54px,5.4vh,76px);color:var(--text);font-size:var(--fs-md);border:none;border-radius:12px;flex:1 1 0;font-weight:600}.osk button:active{background:var(--accent);color:var(--accent-ink)}.osk button.wide{flex-grow:1.6;max-width:180px}.osk button.space{flex-grow:6;max-width:520px}.osk button.fn{background:var(--surface-3);font-size:var(--fs-sm)}.ev{text-align:left;background:var(--surface-2);width:100%;color:var(--text);border:none;border-radius:12px;align-items:stretch;gap:10px;min-height:44px;padding:8px 10px 8px 8px;display:flex;position:relative;overflow:hidden}.ev:hover{background:var(--surface-3)}.ev .bar{background:var(--c);border-radius:4px;flex:none;width:5px}.ev .bar.multi{background:linear-gradient(var(--c1), var(--c2))}.ev .body{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.ev .title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.ev .meta{font-size:var(--fs-sm);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.ev.past{opacity:.5}.ev.now{box-shadow:inset 0 0 0 2px var(--accent)}.ev.requested{background:repeating-linear-gradient(135deg, var(--surface-2) 0 10px, var(--surface-3) 10px 20px)}.ev.allday{background:color-mix(in srgb, var(--c) 22%, var(--surface-2))}.ev .people{flex:none;align-items:center;gap:3px;display:flex}.ev .people .avatar{--av:26px}.ev.compact{min-height:0;font-size:var(--fs-sm);border-radius:8px;gap:6px;padding:4px 8px 4px 6px}.ev.compact .bar{width:4px}.ev.compact .title{font-weight:600}.ev.countdown{align-items:center}.ev.countdown .cd-emoji{font-size:var(--fs-xl);flex:none;line-height:1}.ev.countdown .cd-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.ev.countdown .meta .avatar{--av:20px}.ev.countdown .cd-days{flex-direction:column;flex:none;align-items:center;min-width:3.2em;line-height:1;display:flex}.ev.countdown .cd-days b{font-size:var(--fs-lg);font-weight:800}.ev.countdown .cd-days small{font-size:var(--fs-xs);color:var(--text-2);font-weight:700}.agenda{flex-direction:column;gap:18px;display:flex}.agenda-day h3{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:8px;font-weight:750}.agenda-day h3.today{color:var(--accent)}.agenda-day .evs{flex-direction:column;gap:8px;display:flex}.weekcols{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;height:100%;min-height:0;display:grid}.weekcol{background:var(--surface);border-radius:var(--r);border:1px solid var(--line);flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex}.weekcol.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.weekcol-head{align-items:baseline;gap:8px;padding:2px 4px 6px;display:flex}.weekcol-head .dow{color:var(--text-2);text-transform:uppercase;font-weight:700;font-size:var(--fs-sm);letter-spacing:.04em}.weekcol-head .dom{font-size:var(--fs-xl);font-weight:800;font-family:var(--font-num)}.weekcol.today .dom{color:var(--accent)}.weekcol .evs{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:auto}.weekcol .add{opacity:0;transition:opacity .15s}.weekcol:hover .add,.weekcol:focus-within .add{opacity:1}@media (max-width:900px){.weekcols{grid-template-columns:1fr}}.month{grid-template-rows:auto 1fr;gap:6px;height:100%;min-height:0;display:grid}.month-dows{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-dows span{text-align:center;font-size:var(--fs-sm);color:var(--text-3);text-transform:uppercase;font-weight:700}.month-cells{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:6px;min-height:0;display:grid}.mcell{background:var(--surface);border:1px solid var(--line);text-align:left;min-height:0;color:var(--text);border-radius:12px;flex-direction:column;gap:3px;padding:6px;display:flex;overflow:hidden}.mcell.other{opacity:.45}.mcell.today{border-color:var(--accent)}.mcell.selected{box-shadow:inset 0 0 0 2px var(--accent)}.mcell .d{font-weight:750;font-family:var(--font-num);font-size:var(--fs-sm)}.mcell.today .d{color:var(--accent-ink);background:var(--accent);border-radius:999px;width:-moz-fit-content;width:fit-content;padding:0 8px}.mcell .more{font-size:var(--fs-xs);color:var(--text-2);padding-left:4px;font-weight:700}.mcell .dots{flex-wrap:wrap;gap:3px;display:flex}.mcell .dots .dot{width:7px;height:7px}.timeline{grid-template-columns:64px 1fr;height:100%;display:grid;position:relative;overflow:auto}.timeline .hours{flex-direction:column;display:flex}.timeline .hour{height:var(--hour,64px);font-size:var(--fs-xs);color:var(--text-3);text-align:right;font-family:var(--font-num);padding-right:8px;transform:translateY(-.6em)}.timeline .lane{border-left:1px solid var(--line);position:relative}.timeline .line{height:var(--hour,64px);border-top:1px solid var(--line)}.timeline .tev{padding:2px;position:absolute}.timeline .tev .ev{align-items:flex-start;height:100%}.timeline .now-line{background:var(--danger);z-index:2;height:2px;position:absolute;left:0;right:0}.timeline .now-line:before{content:"";background:var(--danger);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.allday-strip{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-toolbar h2{font-size:var(--fs-lg);flex:1;min-width:140px}.filter-bar{align-items:center;gap:10px;padding:2px 2px 10px;display:flex;overflow-x:auto}.detail-rows{flex-direction:column;gap:14px;display:flex}.detail-row{align-items:flex-start;gap:12px;display:flex}.detail-row .icon{color:var(--text-3);margin-top:2px}.weekday-picker{flex-wrap:wrap;gap:6px;display:flex}.weekday-picker button{border:1px solid var(--line);width:44px;height:44px;color:var(--text-2);background:0 0;border-radius:50%;font-weight:700}.weekday-picker button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.list-tabs{scrollbar-width:none;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.list-tab{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.list-tab[aria-selected=true]{background:color-mix(in srgb, var(--c) 18%, var(--surface));border-color:var(--c);color:var(--text)}.list-tab .n{font-family:var(--font-num);color:var(--text-3);font-weight:700}.add-row{gap:8px;margin:10px 0;display:flex}.add-row .input{flex:1}.items{flex-direction:column;display:flex}.item{min-height:var(--tap);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:6px 2px;display:flex}.item:last-child{border-bottom:none}.check{width:calc(var(--tap) * .62);height:calc(var(--tap) * .62);border:2.5px solid var(--c,var(--text-3));color:#0000;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.check.on{background:var(--c,var(--ok));color:#fff}.check:active{transform:scale(.9)}.item .text{text-align:left;min-width:0;color:var(--text);font-size:var(--fs-md);background:0 0;border:none;flex:1;padding:6px 0}.item.done .text{color:var(--text-3);text-decoration:line-through}.item .qty{font-family:var(--font-num);color:var(--text-2);font-weight:700;font-size:var(--fs-sm)}.done-toggle{margin-top:6px}.lists-page{grid-template-rows:auto 1fr;gap:10px;height:100%;min-height:0;display:grid}.lists-scroll{min-height:0;overflow:auto}.wall-app{background:var(--bg);-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr auto;height:100dvh;display:grid;overflow:hidden}.wall-app input,.wall-app textarea{-webkit-user-select:text;user-select:text}.wall-top{align-items:center;gap:calc(var(--gap) * 2);padding:calc(var(--gap) * .8) calc(var(--gap) * 1.4) calc(var(--gap) * .4);display:flex}.clock{font-family:var(--font-num);align-items:baseline;gap:8px;font-weight:800;line-height:.95;display:flex}.clock .t{font-size:var(--fs-2xl);letter-spacing:-.02em}.clock .ap{font-size:var(--fs-lg);color:var(--text-2);font-weight:700}.wall-date{font-size:var(--fs-lg);color:var(--text-2);margin-top:4px;font-weight:700}.wall-top .mid{flex-wrap:wrap;flex:1;justify-content:center;gap:10px;display:flex}.pill{background:var(--surface-2);font-weight:700;font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 14px;display:inline-flex}.pill.admin{background:var(--accent-soft);color:var(--accent)}.wall-main{min-height:0;padding:calc(var(--gap) * .4) calc(var(--gap) * 1.4);overflow:hidden}.wall-page{gap:var(--gap);flex-direction:column;height:100%;min-height:0;display:flex}.wall-page-head{align-items:center;gap:10px;display:flex}.wall-page-head h2{font-size:var(--fs-xl);flex:1;font-weight:800}.wall-page-body{flex:1;min-height:0;overflow:auto}.dash{gap:var(--gap);height:100%;min-height:0;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--gap);flex-direction:column;min-width:0;min-height:0;display:flex}.panel.s{flex:1 1 0}.panel.m{flex:1.35 1 0}.panel.l{flex:1.8 1 0}.panel-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-head h3{font-size:var(--fs-md);flex:1;font-weight:800}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}@media (orientation:portrait){.dash{flex-wrap:wrap;overflow:auto}.panel{min-height:40vh;flex:100%!important}}.next-up{border-radius:var(--r);background:color-mix(in srgb, var(--c) 18%, var(--surface-2));margin-bottom:12px;padding:12px 14px}.next-up .label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-weight:800}.next-up .what{font-size:var(--fs-lg);font-weight:800}.wall-nav{padding:calc(var(--gap) * .6) calc(var(--gap) * 1.4) calc(var(--gap) * .8);align-items:center;gap:10px;display:flex}.wall-tabs{background:var(--surface);border:1px solid var(--line);border-radius:999px;gap:6px;padding:6px;display:flex}.wall-tabs button{min-height:var(--tap);color:var(--text-2);font-weight:750;font-size:var(--fs);background:0 0;border:none;border-radius:999px;align-items:center;gap:10px;padding:0 clamp(16px,1.6vw,30px);display:inline-flex}.wall-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.people-bar{align-items:center;gap:8px;padding:4px;display:flex;overflow-x:auto}.ambient{z-index:60;color:#f2f3f5;cursor:pointer;background:#000;place-items:center;animation:.6s fade-in;display:grid;position:fixed;inset:0}.ambient .inner{text-align:center;flex-direction:column;align-items:center;gap:2vh;display:flex}.ambient .big{font-family:var(--font-num);letter-spacing:-.03em;font-size:clamp(6rem,16vw,18rem);font-weight:800;line-height:.9}.ambient .date{color:#b8bfcc;font-size:clamp(1.6rem,2.8vw,3.4rem);font-weight:700}.ambient .next{color:#cfd5df;margin-top:3vh;font-size:clamp(1.2rem,1.8vw,2.2rem)}.ambient .hint{color:#5c6473;font-size:var(--fs-sm);position:absolute;bottom:3vh}.person-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.person-grid button{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-weight:700;font-size:var(--fs-md);flex-direction:column;align-items:center;gap:10px;padding:16px 8px;display:flex}.person-grid button:active{transform:scale(.97)}.locked-screen{text-align:center;place-items:center;height:100dvh;padding:24px;display:grid}.phone{grid-template-rows:auto auto 1fr auto;height:100dvh;display:grid;overflow:hidden}.phone-head{padding:calc(10px + env(safe-area-inset-top)) 16px 8px;align-items:center;gap:10px;display:flex}.phone-head h1{font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.phone-main{overscroll-behavior:contain;min-height:0;padding:4px 16px 24px;overflow:auto}.phone-main.fill{flex-direction:column;display:flex;overflow:hidden}.tabbar{border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid}.tabbar a{min-height:58px;color:var(--text-3);font-size:var(--fs-xs);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:700;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent)}.fab{right:18px;bottom:calc(76px + env(safe-area-inset-bottom));background:var(--accent);width:60px;height:60px;color:var(--accent-ink);box-shadow:var(--shadow);z-index:20;border:none;border-radius:50%;place-items:center;display:grid;position:fixed}.today-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin:6px 0 18px;display:flex}.today-hero .big{font-size:var(--fs-xl);font-weight:800}.block{margin-bottom:22px}.block>h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:10px;font-weight:800}.phone .month{height:auto}.phone .month-cells{grid-auto-rows:56px}.phone .mcell{padding:4px}.phone .weekcols,.phone .settings{height:auto}@media (min-width:900px){.phone{grid-template-columns:1fr;max-width:1100px;margin:0 auto}}.settings{gap:var(--gap);grid-template-columns:minmax(220px,280px) 1fr;height:100%;min-height:0;display:grid}.settings-nav{flex-direction:column;gap:4px;display:flex;overflow:auto}.settings-nav button{min-height:var(--tap);border-radius:var(--r-sm);color:var(--text-2);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:0 14px;font-weight:650;display:flex}.settings-nav button[aria-current=true]{background:var(--surface-2);color:var(--text)}.settings-body{min-height:0;padding-bottom:40px;overflow:auto}.settings-body h2{font-size:var(--fs-xl);align-items:center;gap:10px;margin-bottom:16px;display:flex}.section{flex-direction:column;gap:16px;max-width:760px;display:flex}.section h3{font-size:var(--fs-md);margin-top:8px}.setting-row{border-bottom:1px solid var(--line);min-height:var(--tap);align-items:center;gap:12px;padding:12px 0;display:flex}.setting-row:last-child{border-bottom:none}.setting-row .grow small{color:var(--text-3);font-size:var(--fs-xs);display:block}.module-cat{margin-top:12px}.module-cat h3{align-items:center;gap:8px;display:flex}.module-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.module-row .grow b{font-weight:650}.module-row .grow small{color:var(--text-2);font-size:var(--fs-sm);display:block}.module-row .tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.module-row.dim .grow{opacity:.6}.layout-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}@media (max-width:760px){.settings{grid-template-columns:1fr}.settings.has-section .settings-nav,.settings:not(.has-section) .settings-body{display:none}}
