:root{color:#1f2930;background:#f6f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1f2930;--muted: #687174;--paper: #fffdf8;--line: #273a4c;--line-soft: #cfc8bd;--pause: #5f8064;--pause-soft: #eef4ee}*{box-sizing:border-box}html{background:#f6f3ee}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}input{background:#fffdf8d1;border:1px solid var(--line-soft);border-radius:8px;color:var(--ink);font:inherit;min-height:44px;padding:8px 10px;width:100%}a{color:var(--pause);overflow-wrap:anywhere}.screen{align-items:center;background:linear-gradient(180deg,#ffffffb8,#f6f3eeeb),#f6f3ee;display:flex;min-height:100vh;padding:56px 28px}.session-shell{margin:0 auto;max-width:980px;width:100%}.is-session-view{align-items:center;padding:14px}.is-session-view .session-shell{display:flex;flex-direction:column;max-width:980px;min-height:auto}.brand-header{align-items:center;display:grid;gap:24px;justify-items:center;margin-bottom:34px}.is-session-view .brand-header{display:grid;grid-template-columns:auto auto 1fr;gap:12px;justify-items:start;margin-bottom:10px}.brand-mark{color:var(--ink);font-size:2.25rem;font-weight:800;line-height:1;margin:0}.is-session-view .brand-mark{align-self:center;font-size:1.15rem}.quiet-action{background:transparent;border:1px solid var(--line-soft);border-radius:8px;color:var(--muted);cursor:pointer;min-height:38px;padding:0 14px}.is-session-view .quiet-action{justify-self:start;min-height:34px;padding:0 10px;width:auto}.mode-switch{border:1px solid var(--line-soft);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;width:min(340px,100%)}.is-session-view .mode-switch{justify-self:end;width:min(260px,100%)}.mode-switch span,.mode-switch strong{align-items:center;display:flex;font-size:1rem;font-weight:650;justify-content:center;min-height:44px;padding:0 20px}.is-session-view .mode-switch span,.is-session-view .mode-switch strong{font-size:.88rem;min-height:34px;padding:0 10px}.mode-switch span,.mode-switch strong{background:#ffffffa6;color:var(--ink)}.mode-switch .selected{background:var(--pause);color:#fffdf8}.error{background:#fff1ed;border:1px solid #c66f56;border-radius:8px;color:#743927;margin:0 0 18px;padding:12px 14px}.pwa-diagnostics{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:-8px 0 18px}.pwa-diagnostics span{border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:750;padding:6px 10px}.pwa-diagnostics .ok{background:var(--pause-soft);border-color:#5f806459;color:var(--pause)}.entry-panel,.setup-strip,.share-panel{border:1px solid var(--line-soft);border-radius:8px;margin:0 auto 22px;max-width:720px;padding:18px}.auth-tabs{border:1px solid var(--line-soft);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px;overflow:hidden}.auth-tabs button{background:transparent;border:0;color:var(--ink);cursor:pointer;min-height:42px}.auth-tabs .selected{background:var(--line);color:#fffdf8}.form-grid,.setup-strip{display:grid;gap:14px}.form-grid label,.setup-strip label{color:var(--muted);display:grid;font-size:.9rem;font-weight:700;gap:6px}.setup-strip{grid-template-columns:repeat(4,1fr) auto;max-width:980px}.check-line{align-content:end}.check-line input{min-height:auto}.session-frame{border:2px solid var(--line);border-radius:8px;padding:30px 36px 34px}.is-session-view .session-frame{align-self:center;width:100%;padding:clamp(14px,2.8vh,26px) clamp(14px,3vw,32px)}.phase-row{align-items:center;display:grid;gap:16px;grid-template-columns:1fr minmax(240px,440px) 1fr;margin-bottom:24px}.is-session-view .phase-row{margin-bottom:clamp(10px,2vh,20px)}.phase-line{border-top:2px solid currentColor;color:var(--pause)}.phase-label{border:2px solid var(--pause);border-radius:6px;color:var(--pause);font-size:2rem;font-weight:900;line-height:1;margin:0;padding:18px 36px;text-align:center}.is-session-view .phase-label{font-size:clamp(1.25rem,3.4vw,1.9rem);padding:clamp(9px,1.8vh,16px) clamp(22px,5vw,48px)}.time-left{color:var(--ink);font-size:9rem;font-variant-numeric:tabular-nums;font-weight:850;line-height:.95;margin:0 0 30px;text-align:center}.is-session-view .time-left{font-size:clamp(4.8rem,15vw,8.6rem);margin-bottom:clamp(12px,2.6vh,24px)}.session-facts{border-bottom:1px solid #9aa3a5;border-top:1px solid #9aa3a5;display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 30px}.is-session-view .session-facts{margin-bottom:clamp(12px,2.4vh,22px)}.session-facts div{padding:18px 22px;text-align:center}.is-session-view .session-facts div{padding:clamp(9px,1.8vh,14px) 12px}.session-facts div+div{border-left:1px solid #9aa3a5}.session-facts dt{color:var(--muted);font-size:.9rem;font-weight:700;margin:0 0 6px}.is-session-view .session-facts dt{font-size:.78rem;margin-bottom:3px}.session-facts dd{color:var(--ink);font-size:1.2rem;font-weight:760;margin:0}.is-session-view .session-facts dd{font-size:1rem}.action-row{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}.is-session-view .action-row{gap:12px}.button{border-radius:8px;cursor:pointer;font-size:1.15rem;font-weight:760;min-height:64px;padding:0 24px}.is-session-view .button{font-size:1rem;min-height:48px;padding:0 16px}.button.primary{background:var(--pause);border:1px solid var(--pause);color:#fffdf8}.button.secondary{background:#fffdf88c;border:2px solid var(--line);color:var(--line)}.button:disabled{cursor:wait;opacity:.72}.session-summary{align-items:center;border:1px solid var(--line-soft);border-radius:8px;color:var(--ink);display:grid;font-size:1rem;font-weight:650;grid-template-columns:1fr 1fr;margin-top:28px;min-height:60px;overflow:hidden;text-align:center}.session-summary span{padding:16px 22px}.session-summary span+span{border-left:1px solid var(--line-soft)}.wake-lock-status{border:1px solid var(--line-soft);border-radius:8px;color:var(--muted);font-size:.9rem;font-weight:700;margin:12px auto 0;max-width:980px;padding:10px 14px;text-align:center}.is-session-view .wake-lock-status{font-size:.82rem;margin-top:8px;padding:7px 10px}.wake-lock-status.is-active{background:var(--pause-soft);border-color:#5f806459;color:var(--pause)}.wake-lock-status.is-unavailable,.wake-lock-status.is-blocked{background:#fffdf8ad}.alert-panel{align-items:center;border:1px solid var(--line-soft);border-radius:8px;display:flex;gap:14px;justify-content:space-between;margin:12px auto 0;max-width:980px;padding:12px 14px}.is-session-view .alert-panel{align-self:center;gap:10px;margin-top:8px;min-height:0;padding:8px 10px;width:100%}.alert-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.is-session-view .alert-controls{gap:8px}.alert-panel p{color:var(--muted);font-size:.9rem;font-weight:700;margin:0;text-align:right}.is-session-view .alert-panel p{font-size:.78rem}.file-button{align-items:center;background:#fffdf88c;border:2px solid var(--line);border-radius:8px;color:var(--line);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:760;justify-content:center;min-height:42px;padding:0 16px}.is-session-view .file-button{font-size:.86rem;min-height:34px;padding:0 10px}.file-button input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.compact-action{font-size:.9rem;min-height:42px}.is-session-view .compact-action{font-size:.82rem;min-height:34px}.button.compact{font-size:.95rem;min-height:42px;padding:0 16px}.is-session-view .button.compact{font-size:.86rem;min-height:34px;padding:0 10px}.share-panel{align-items:center;display:grid;gap:18px;grid-template-columns:1fr auto;margin-top:18px;max-width:980px}.share-panel span{color:var(--muted);display:block;font-size:.8rem;font-weight:800;margin-bottom:6px;text-transform:uppercase}.share-panel img{border:1px solid var(--line-soft);border-radius:8px;height:168px;width:168px}@media(max-width:760px){.screen{align-items:stretch;padding:18px}.is-session-view{padding:10px}.is-session-view .session-shell{min-height:auto}.brand-header{gap:16px;margin-bottom:20px}.is-session-view .brand-header{grid-template-columns:1fr auto;margin-bottom:8px}.is-session-view .brand-mark{font-size:1rem}.is-session-view .quiet-action{font-size:.78rem;justify-self:end;min-height:30px}.is-session-view .mode-switch{grid-column:1 / -1;width:100%}.brand-mark{font-size:1.7rem}.session-frame{border-color:var(--pause);padding:16px 14px 18px}.is-session-view .session-frame{padding:12px}.entry-panel,.setup-strip,.share-panel{margin-bottom:14px;padding:14px}.pwa-diagnostics{justify-content:flex-start}.setup-strip{grid-template-columns:1fr 1fr}.setup-strip .button,.check-line{grid-column:1 / -1}.phase-row{display:block;margin-bottom:20px}.is-session-view .phase-row{margin-bottom:10px}.phase-line{display:none}.phase-label{font-size:1.6rem;padding:12px 28px}.is-session-view .phase-label{font-size:clamp(1rem,7vw,1.5rem);padding:9px 14px}.time-left{font-size:5rem;margin-bottom:18px}.is-session-view .time-left{font-size:clamp(4rem,22vw,5.7rem);margin-bottom:10px}.session-facts{border-bottom:0;display:block;margin-bottom:18px}.is-session-view .session-facts{border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:10px}.session-facts div{border-bottom:1px solid var(--line-soft);padding:10px 8px}.is-session-view .session-facts div{border-bottom:0;padding:7px 4px}.session-facts div+div{border-left:0}.is-session-view .session-facts div+div{border-left:1px solid var(--line-soft)}.session-facts dt{font-size:.88rem}.is-session-view .session-facts dt{font-size:.68rem}.session-facts dd{font-size:1.05rem}.is-session-view .session-facts dd{font-size:.88rem}.action-row{gap:8px;grid-template-columns:1fr}.is-session-view .action-row{grid-template-columns:repeat(2,1fr)}.button{font-size:1.05rem;min-height:48px}.is-session-view .button{font-size:.95rem;min-height:42px}.session-summary{font-size:.86rem;margin-top:12px;min-height:56px}.session-summary span{padding:13px 8px}.share-panel{grid-template-columns:1fr}.alert-panel{align-items:stretch;flex-direction:column}.is-session-view .alert-panel{gap:6px}.alert-controls{align-items:stretch;display:grid;grid-template-columns:1fr}.is-session-view .alert-controls{grid-template-columns:1fr 1fr}.alert-panel p{text-align:left}.is-session-view .alert-panel p{font-size:.72rem;line-height:1.25}.share-panel img{justify-self:center}}@media(max-width:380px){.time-left{font-size:4.75rem}.is-session-view .time-left{font-size:3.75rem}.mode-switch span,.mode-switch strong{font-size:.9rem;padding:0 10px}}
