/* A quiet, native-feeling interface. System typography stays on the device. */
:root{--bg:#f5f5f7;--panel:#fff;--text:#1d1d1f;--muted:#77777d;--line:rgba(30,30,40,.09);--blue:#007aff;--green:#248a3d;--red:#d83a48;--orange:#ad6800;--dark:#1d1d1f;--radius:24px;--shadow:0 4px 24px rgba(25,30,50,.035);--surface:#ededf0;--glass:rgba(250,250,252,.8);--field:rgba(118,118,128,.07)}
:root[data-theme=dark]{--bg:#161618;--panel:#222225;--text:#f5f5f7;--muted:#a0a0a8;--line:rgba(255,255,255,.1);--blue:#409cff;--green:#5bd47a;--red:#ff7881;--orange:#ffca74;--dark:#f5f5f7;--surface:#2a2a2e;--glass:rgba(28,28,30,.85);--field:rgba(145,145,160,.1)}
html{scroll-behavior:smooth}body,:root[data-theme=dark] body{background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;letter-spacing:-.018em;color:var(--text)}button,input,textarea{font-family:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{transition:background .18s,box-shadow .18s,transform .18s}button:focus-visible,a:focus-visible{outline:3px solid #007aff66;outline-offset:4px}button:disabled{opacity:.4!important}svg{display:block}.app-header{position:sticky;top:0;z-index:1100;min-height:76px;padding:14px max(32px,calc((100vw - 1360px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--glass);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid var(--line)}.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:21px;font-weight:650;letter-spacing:-.6px;white-space:nowrap}.brand-symbol{width:36px;height:36px;display:grid;place-items:center;color:var(--blue)}.brand-symbol svg{width:36px;height:36px}.brand-team{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted);padding-left:14px;margin-left:5px;border-left:1px solid var(--line)}.top-right-tools{position:static!important;display:flex;flex-wrap:nowrap;gap:12px;margin:0!important;padding:0;width:auto;max-width:none;border:0;background:transparent;box-shadow:none;z-index:auto}.today-date{font-size:11px;font-weight:500;order:-1;margin-right:4px}.theme-toggle,.hamburger-toggle,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .hamburger-toggle{background:transparent;border:0;color:var(--muted);padding:8px;border-radius:10px;height:34px;font-size:12px;font-weight:500;box-shadow:none}.theme-toggle:hover,.hamburger-toggle:hover{background:var(--field);filter:none}.theme-toggle svg,.hamburger-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#syncStatus{font-size:11px!important;margin-right:6px;color:var(--muted)!important}.hamburger-dropdown,:root[data-theme=dark] .hamburger-dropdown{border-radius:18px;background:var(--panel);box-shadow:0 15px 50px #0002;border:1px solid var(--line)}.app{max-width:1424px;padding:52px 32px 24px}.hero{grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr);gap:48px;align-items:center;margin-bottom:54px}.hero-card,:root[data-theme=dark] .hero-card{background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:10px 0}.eyebrow{background:transparent;color:var(--muted);padding:0;margin:0 0 18px;display:flex;gap:9px;font-size:10px;font-weight:600;letter-spacing:1.4px}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}h1{font-size:clamp(36px,3.8vw,56px);font-weight:650;line-height:1.06;letter-spacing:-2.7px;margin:0 0 19px;max-width:650px}.subtitle{font-size:16px;line-height:1.6;font-weight:400;color:var(--muted);max-width:475px;margin-bottom:30px}.controls{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:9px}.control-button,.control-button.quiet,.control-button.danger-quiet,:root[data-theme=dark] .control-button.quiet,:root[data-theme=dark] .control-button.danger-quiet{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;width:auto;flex:0 0 auto;border:1px solid var(--line);border-radius:11px;font-size:12px;font-weight:500;letter-spacing:-.1px;background:var(--panel);color:var(--text);box-shadow:0 1px 2px #00000004;min-height:39px}.control-button.secondary{background:var(--blue);color:white;border-color:transparent;padding-inline:15px;box-shadow:0 3px 7px #007aff18}.control-button.danger-quiet,:root[data-theme=dark] .control-button.danger-quiet{color:var(--red);background:transparent;border-color:transparent}.control-button:hover,.control-button.quiet:hover,.control-button.danger-quiet:hover{background:var(--surface);box-shadow:none;filter:none;transform:translateY(-1px)}.control-button.secondary:hover{background:#006ce5;color:white}.action-icon{font-size:16px;line-height:1}.hero-card.session-panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 4px 20px #00000003;gap:20px}.session-title{margin-bottom:17px}.session-title h2{font-size:13px;font-weight:600}.facilitation-grid{gap:10px}.timer,:root[data-theme=dark] .timer{background:var(--field);color:var(--text);border:0;border-radius:16px;padding:15px 17px;box-shadow:none;gap:10px}.timer>div>div:first-child{font-size:10px!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:var(--muted);opacity:1!important}.timer-value{font-size:31px;font-weight:500;letter-spacing:-1.2px;font-variant-numeric:tabular-nums;line-height:1.15}.timer-actions{gap:5px}.small-button{border-radius:8px;font-weight:500;font-size:11px;padding:7px 10px;box-shadow:none}.small-button.light{color:var(--muted);background:var(--panel);backdrop-filter:none}.small-button.light:hover{color:var(--text);background:var(--surface)}.edit-icon-button,:root[data-theme=dark] .edit-icon-button{background:transparent;border:0;color:var(--muted);width:26px;height:26px}.edit-icon-button:hover{background:var(--surface);color:var(--blue)}.limit-box,:root[data-theme=dark] .limit-box{background:transparent;border:0;padding:5px 2px;border-radius:0}.limit-box>div:first-child>div:first-child{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:500!important;color:var(--text)!important}.limit-box>div:first-child>div:last-child{font-size:10px!important;margin-top:3px}.limit-value{font-weight:600;font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}.facilitation-sort-toggle{margin-top:12px;padding:14px 0 0;gap:10px;border:0;border-top:1px solid var(--line);background:transparent;box-shadow:none;border-radius:0}.sort-toggle-icon{width:28px;height:28px;border:0;background:var(--field);color:var(--muted);border-radius:8px}.sort-toggle-title{font-size:11px;font-weight:500}.sort-toggle-description{font-size:10px;margin-top:2px;color:var(--muted)}.sort-switch{width:34px;height:21px}.sort-switch-track{background:#d1d1d6;border:0}.sort-switch-thumb{width:17px;height:17px;top:2px;left:2px;box-shadow:0 1px 3px #0003}.sort-switch input:checked+.sort-switch-track{background:#34c759}.sort-switch input:checked+.sort-switch-track .sort-switch-thumb{transform:translateX(13px)}.stats{gap:0;padding-top:16px;border-top:1px solid var(--line)}.stat,:root[data-theme=dark] .stat{padding:0;border:0;border-radius:0;background:transparent}.stat+.stat{border-left:1px solid var(--line)}.stat strong{font-size:22px;font-weight:500;letter-spacing:-.6px}.stat span{font-size:9px;text-transform:none;letter-spacing:0;font-weight:400;display:block;margin-top:4px}.board-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px}.section-kicker{font-size:9px;letter-spacing:1.5px;font-weight:600;color:var(--muted)}.board-heading h2{font-size:28px;letter-spacing:-1px;font-weight:600;margin:7px 0 0}.keyboard-hint{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:4px;padding-bottom:4px}kbd{font-family:inherit;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:3px 5px;font-size:10px}.board{gap:19px;grid-template-columns:repeat(3,minmax(0,1fr))}.column,:root[data-theme=dark] .column{background:var(--surface);border:1px solid var(--line);border-radius:21px;box-shadow:none;backdrop-filter:none;min-height:460px}.column-header,.good .column-header,.bad .column-header,.action .column-header{background:transparent;color:var(--text);padding:23px 21px 17px}.column-header:after{display:none}.column-header h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:9px;letter-spacing:-.4px;margin-bottom:9px}.column-header p{font-size:11px;font-weight:400;line-height:1.5;color:var(--muted);opacity:1}.column-symbol{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#dbece1;color:var(--green);font-size:17px;font-weight:500}.bad .column-symbol{background:#f4dfe3;color:var(--red)}.action .column-symbol{background:#f4e8d0;color:var(--orange)}:root[data-theme=dark] .column-symbol{background:#264131}:root[data-theme=dark] .bad .column-symbol{background:#482c33}:root[data-theme=dark] .action .column-symbol{background:#49402a}.column-composer,:root[data-theme=dark] .column-composer{background:transparent;border:0;padding:0 15px 12px}.column-composer textarea,:root[data-theme=dark] .column-composer textarea{font-size:12px;min-height:72px;max-height:220px;padding:13px;background:var(--panel);border:1px solid transparent;border-radius:12px;line-height:1.5;resize:vertical;box-shadow:0 1px 3px #00000003}.column-composer textarea::placeholder{color:var(--muted);opacity:.7}.column-composer textarea:focus{background:var(--panel);border-color:#007aff55;box-shadow:0 0 0 3px #007aff10}.column-add-row{margin-top:7px}.column-add-btn{background:var(--panel);border:1px solid var(--line);color:var(--blue);border-radius:8px;padding:6px 12px;font-size:11px;font-weight:500}.column-add-btn:hover{background:var(--blue);color:white;filter:none}.cards,:root[data-theme=dark] .cards,:root[data-theme=dark] .column-header+.cards{background:transparent;padding:0 15px 15px;min-height:240px;overflow:visible}.card,:root[data-theme=dark] .card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px 16px;margin-bottom:10px;box-shadow:0 2px 4px #00000003}.card:hover{border-color:#007aff33;box-shadow:0 8px 20px #00000006;transform:translateY(-2px)}.card-text{font-size:13px;line-height:1.65;font-weight:400;letter-spacing:-.15px}.card-footer{border-color:var(--line);padding-top:11px;margin-top:17px;flex-wrap:wrap}.card-date{font-size:9px;letter-spacing:0}.vote-btn,.edit-btn,.delete-btn,:root[data-theme=dark] .vote-btn,:root[data-theme=dark] .edit-btn,:root[data-theme=dark] .delete-btn{background:transparent;border:0;border-radius:6px;padding:4px 7px;color:var(--muted);font-weight:400;font-size:10px}.edit-btn,:root[data-theme=dark] .edit-btn{color:var(--blue)}.delete-btn,:root[data-theme=dark] .delete-btn{color:var(--red)}.vote-btn.voted,:root[data-theme=dark] .vote-btn.voted{background:#007aff12;color:var(--blue)}.empty{background:transparent;border:1px dashed color-mix(in srgb,var(--muted) 23%,transparent);border-radius:13px;min-height:210px;gap:8px;padding:18px;color:var(--muted);font-size:11px;font-weight:400}.empty strong{font-weight:500;font-size:12px;color:var(--muted)}.empty-plus{width:33px;height:33px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;font-size:23px;color:var(--muted);margin-bottom:7px;opacity:.65}.empty>span:last-child{font-size:10px;opacity:.8}.app-footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);padding:24px 2px 6px;opacity:.8}.login-overlay,:root[data-theme=dark] .login-overlay{background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.login-box,:root[data-theme=dark] .login-box{max-width:400px;padding:38px;background:var(--glass);border:1px solid var(--line);box-shadow:0 25px 100px #0000000c;border-radius:28px;color:var(--text)}.login-symbol{margin:0 auto 20px;width:66px;height:66px;display:grid;place-items:center;background:var(--panel);color:var(--blue);border:1px solid var(--line);box-shadow:0 3px 10px #00000004;border-radius:18px}.login-symbol svg{width:48px;height:48px}.login-eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:600;color:var(--muted);margin-bottom:10px}.login-box h2{font-size:29px;letter-spacing:-1px;font-weight:600;margin-bottom:13px}.login-box p{font-size:13px;line-height:1.65;margin-bottom:25px}.login-input,:root[data-theme=dark] .login-input{background:var(--panel);border:1px solid var(--line);border-radius:11px;font-size:14px;text-align:left;padding:13px 15px}.remember-login{font-size:11px!important;line-height:1.5;align-items:flex-start!important}.login-btn{background:var(--blue);border-radius:11px;box-shadow:0 3px 8px #007aff15;padding:13px;font-size:13px;font-weight:500}.login-btn:hover{transform:none;background:#006ce5}.modal-box,:root[data-theme=dark] .modal-box{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:24px;box-shadow:0 25px 80px #0002}.modal-overlay{backdrop-filter:blur(10px);background:#0003}.modal-btn{font-weight:500;border-radius:10px}.modal-btn.confirm{background:var(--blue)}.modal-btn.cancel,:root[data-theme=dark] .modal-btn.cancel{background:var(--surface);color:var(--text)}.modal-input,:root[data-theme=dark] .modal-input{background:var(--field);border:1px solid var(--line);border-radius:10px;color:var(--text)}:root[data-theme=dark] #historyList>div{background:var(--panel)!important;border-color:var(--line)!important}
@media(min-width:1600px){.app{padding-top:68px}.hero{margin-bottom:62px}.column{min-height:500px}}
@media(max-width:1100px){.hero{gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(340px,1fr)}h1{font-size:43px;letter-spacing:-1.8px}.controls{gap:7px}.control-button{font-size:11px;padding:9px 11px}.today-date{display:none}.board{gap:13px}.column-header{padding-inline:17px}.column-header p{min-height:32px}}
@media(max-width:800px){.app-header{padding:12px 20px;min-height:65px;gap:12px}.brand-team{display:none}.top-right-tools{gap:7px}#syncStatus{font-size:9px!important;margin:0}.app{padding:32px 20px 20px}.hero{grid-template-columns:1fr;gap:24px;margin-bottom:32px;align-items:stretch}.hero-card{padding:5px 0}h1{font-size:43px;letter-spacing:-1.9px;max-width:500px}.subtitle{font-size:14px;margin-bottom:24px}.hero-card.session-panel{padding:18px}.facilitation-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:16px}.timer{flex-wrap:wrap}.timer-value{font-size:28px}.limit-box{gap:8px}.stats{gap:0}.board{grid-template-columns:1fr}.column{min-height:350px}.column-header p{min-height:0}.cards{min-height:180px}.empty{min-height:160px}.board-heading h2{font-size:25px}.keyboard-hint{display:none}.column-composer textarea{min-height:64px}.app-footer{font-size:9px}.session-title{margin-bottom:13px}}
@media(max-width:420px){.app-header{padding-inline:15px}.app-brand{gap:6px;font-size:19px}.brand-symbol,.brand-symbol svg{width:29px;height:29px}.top-right-tools{gap:2px}#syncStatus{max-width:83px;line-height:1.3}.theme-toggle{padding:7px;font-size:10px}.app{padding-inline:16px}h1{font-size:39px}.facilitation-grid{grid-template-columns:1fr;gap:13px}.timer{flex-wrap:nowrap}.limit-box{padding:0 2px}.controls{gap:7px}.control-button{min-height:40px;font-size:11px}.login-box{padding:29px 24px}.app-footer{flex-direction:column;align-items:center;gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Match state classes independently of control layout and theme. */
.hidden,.controls .control-button.hidden{display:none!important}
.controls{flex-direction:row}
.controls>button{width:auto;flex:0 0 auto;min-height:39px;padding:10px 13px;font-size:12px;font-weight:500}
.controls>.control-button{justify-content:center}
:root[data-theme=dark] .hero-card.session-panel{background:var(--panel);border:1px solid var(--line);padding:22px;gap:20px}
.sort-switch-track{width:34px;height:21px;padding:2px;box-sizing:border-box}
.sort-switch-thumb{width:17px;height:17px;flex:0 0 17px}
.timer-actions .small-button{min-height:32px;padding:7px 10px;font-size:11px}
@media(max-width:720px){.controls>button{width:auto;flex:0 0 auto}.controls>button:first-child{width:100%}.timer{flex-direction:row;align-items:center;flex-wrap:wrap}.timer-actions{display:flex;width:auto}.timer-actions .small-button{flex:0 0 auto;padding:7px 10px;min-height:32px}.stat{display:block;text-align:center}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
