html.phasekeeper-room,html.phasekeeper-room body{overflow:hidden!important;overscroll-behavior:none!important}html.phasekeeper-room body{height:100dvh!important;min-height:100dvh!important}html.phasekeeper-attendee body{background:#071412!important}html.phasekeeper-attendee body>#app{visibility:hidden!important;pointer-events:none!important}#room-overlay{position:fixed;inset:0;z-index:2147483000;isolation:isolate}.room-launch{position:fixed;right:24px;bottom:24px;z-index:30;min-height:46px;padding:0 18px;border:1px solid var(--edge,rgba(241,249,245,.3));border-radius:12px;background:var(--panel,rgba(4,14,9,.92));color:var(--ink,#f1f9f5);cursor:pointer;font:800 14px/1 system-ui,sans-serif;box-shadow:0 12px 30px #0000004d}.room-controller-badge{position:fixed;left:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 13px;border:1px solid var(--edge,#fff4);border-radius:12px;background:var(--panel,#06120d);color:var(--ink,#fff);font:800 12px/1 system-ui,sans-serif;box-shadow:0 12px 30px #0005}.room-controller-badge button{border:1px solid var(--edge,#fff3);background:var(--surface,#fff1);color:inherit;border-radius:8px;padding:7px 9px;cursor:pointer}.room-controller-qr{position:fixed;left:24px;bottom:78px;z-index:29;width:158px;padding:10px;border:1px solid #fff3;border-radius:14px;background:#f1f9f5;color:#071412;display:grid;justify-items:center;gap:5px;box-shadow:0 14px 35px #0006;font:800 10px/1 system-ui,sans-serif;letter-spacing:.1em;text-align:center}.room-controller-qr-image{width:138px;height:138px;display:grid;place-items:center;background:#fff;overflow:hidden}.room-controller-qr-image img{display:block;width:134px;height:134px}.room-controller-qr strong{font-size:12px;letter-spacing:.16em}.room-organiser-reveal{border:0;background:none;color:#496b5e;font:800 9px/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;padding:3px 0}.room-controller-secret{color:#071412!important;font-size:13px!important;letter-spacing:.16em}.room-backdrop{position:fixed;inset:0;z-index:2147483001;display:grid;place-items:center;padding:20px;background:#000b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none}.room-dialog{width:min(680px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--edge,#fff3);border-radius:22px;background:var(--panel,#091710);color:var(--ink,#f1f9f5);box-shadow:0 30px 100px #0009;font-family:Archivo Variable,system-ui,sans-serif}.room-dialog header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px;border-bottom:1px solid var(--line,#fff2)}.room-dialog h2{margin:3px 0 0;font-size:clamp(1.5rem,4vw,2.3rem);letter-spacing:-.04em}.room-kicker{margin:0;color:var(--accent,#eccf75);font-size:.7rem;font-weight:850;letter-spacing:.16em}.room-close{width:40px;height:40px;border:1px solid var(--edge,#fff3);border-radius:10px;background:var(--surface,#fff1);color:var(--ink,#fff);font-size:24px;cursor:pointer}.room-body{padding:24px}.room-copy,.room-help{color:var(--muted,#a5b6ae);line-height:1.55}.room-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.room-primary,.room-secondary,.room-share button,.room-current button,.room-secret-toggle{min-height:46px;padding:0 15px;border-radius:11px;cursor:pointer;font-weight:800}.room-primary{border:0;background:var(--accent,#eccf75);color:var(--accent-ink,#001c11)}.room-secondary,.room-share button,.room-current button,.room-secret-toggle{border:1px solid var(--edge,#fff3);background:var(--surface,#fff1);color:var(--ink,#f1f9f5)}.room-current{display:grid;gap:6px;margin-top:20px;padding:16px;border:1px solid var(--line,#fff2);border-radius:14px;background:var(--surface,transparent)}.room-current span,.room-share span,.room-secret span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted,#a5b6ae)}.room-current strong{font-size:1.5rem;letter-spacing:.12em}.room-current button{width:max-content}.room-label{display:grid;gap:7px;margin:12px 0;color:var(--muted,#a5b6ae);font-weight:750}.room-label input{min-height:48px;border:1px solid var(--edge,#fff3);border-radius:10px;background:var(--input,#0004);color:var(--ink,#fff);padding:0 13px;font:800 1rem/1 system-ui,sans-serif;letter-spacing:.1em}.room-created{text-align:center}.room-created .room-body{display:grid;justify-items:center;gap:15px}.room-qr{width:240px;height:240px;display:grid;place-items:center;background:#fff;border-radius:14px;color:#111;overflow:hidden}.room-qr img{display:block;width:220px;height:220px}.room-share,.room-secret{width:min(520px,100%);display:grid;gap:7px;padding:15px;border:1px solid var(--line,#fff2);border-radius:14px;background:var(--surface,transparent);text-align:left}.room-share code{overflow:auto;color:var(--ink,#fff);font-size:.82rem}.room-secret strong{font-size:1.8rem;letter-spacing:.15em;color:var(--accent,#eccf75)}.room-secret-toggle{width:max-content}.room-secret small{color:var(--muted,#a5b6ae)}.room-danger-actions{width:min(520px,100%);margin-top:2px}.room-danger{width:100%;min-height:44px;padding:0 15px;border:1px solid #e78d8d66;border-radius:11px;background:#7b292922;color:#ffb5b0;cursor:pointer;font-weight:800}.room-error{margin:16px 0 0;padding:12px;border-radius:10px;background:#ff888122;color:#ffaaa4}.room-access-card{width:min(560px,100%);padding:30px;border:1px solid var(--line,#fff2);border-radius:20px;background:var(--panel,#091710dd);box-shadow:0 30px 100px #0008}.room-access-card>p{color:var(--muted,#a5b6ae);line-height:1.55}.room-access-card strong{color:var(--ink,#f1f9f5)}.room-access-card .room-label{margin-top:24px;text-align:left}.room-access-card .room-actions{justify-content:center}.room-present{position:fixed;inset:0;z-index:2147483002;width:100%;height:100dvh;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 25%,#194534,#071412 70%);color:#f1f9f5;font-family:Archivo Variable,system-ui,sans-serif;display:flex;flex-direction:column;touch-action:none;--room-display-color:#f1f9f5}.room-present-top{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;flex:0 0 auto}.room-present-top h2{margin:4px 0 0}.room-present-top button{border:1px solid #fff3;background:#fff1;color:#a5b6ae;border-radius:10px;padding:10px 13px;cursor:pointer}.room-clock{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.room-season{color:var(--room-display-color)!important;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.room-clock h1{margin:12px 0;font-size:clamp(2rem,6vw,6rem);letter-spacing:-.04em;color:var(--room-display-color)!important}.room-timer{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:clamp(6rem,19vw,18rem);font-weight:800;line-height:.9;letter-spacing:-.03em;color:var(--room-display-color)!important}.room-status{font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--room-display-color)!important}.room-status.is-running{color:var(--room-display-color)!important}.room-progress{width:min(800px,80%);height:8px;border-radius:10px;overflow:hidden;background:#fff2;margin:20px 0}.room-progress span{display:block;width:100%;height:100%;background:var(--room-display-color)!important;transform-origin:left}.room-phase-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.room-phase-list span{padding:8px 12px;border:1px solid #fff2;border-radius:999px;color:#a5b6ae}.room-phase-list .active{color:#fff;border-color:var(--room-display-color);background:color-mix(in srgb,var(--room-display-color) 13%,transparent)}.room-present footer{text-align:center;padding:18px;color:#7f958b;font-size:.78rem;flex:0 0 auto}.room-error-screen{display:grid;place-items:center;text-align:center;padding:30px}.room-error-screen h1{font-size:clamp(2rem,5vw,4rem);margin:10px 0}.room-error-screen p{color:#a5b6ae;max-width:520px}.room-present[data-alert=warning] .room-season,.room-present[data-alert=warning] .room-clock h1,.room-present[data-alert=warning] .room-timer,.room-present[data-alert=warning] .room-status{color:#fdb85b!important}.room-present[data-alert=warning] .room-progress span{background:#fdb85b!important}.room-present[data-alert=urgent] .room-season,.room-present[data-alert=urgent] .room-clock h1,.room-present[data-alert=urgent] .room-timer,.room-present[data-alert=urgent] .room-status{color:#ff8881!important}.room-present[data-alert=urgent] .room-progress span{background:#ff8881!important}.room-current[hidden],[hidden]{display:none!important}@media(max-width:700px){.room-launch{right:14px;bottom:14px}.room-controller-badge{left:14px;bottom:14px}.room-controller-qr{left:14px;bottom:68px;width:132px;padding:7px}.room-controller-qr-image{width:98px;height:98px}.room-controller-qr-image img{width:94px;height:94px}.room-present-top{padding:12px 14px}.room-clock{padding:12px 10px}.room-timer{font-size:clamp(4.5rem,25vw,10rem)}.room-dialog{max-height:calc(100dvh - 20px);border-radius:16px}.room-dialog header,.room-body{padding:16px}.room-qr{width:210px;height:210px}.room-qr img{width:194px;height:194px}.room-present footer{padding:10px 14px}.room-access-card{padding:20px}}html.phasekeeper-attendee .room-present[data-alert=""] .room-season,html.phasekeeper-attendee .room-present[data-alert=""] .room-clock h1,html.phasekeeper-attendee .room-present[data-alert=""] .room-timer,html.phasekeeper-attendee .room-present[data-alert=""] .room-status{color:#f1f9f5!important}html.phasekeeper-attendee .room-present[data-alert=""] .room-progress span{background:#f1f9f5!important}.correction-grid{grid-template-columns:1fr!important}.correction-grid [data-action=set-date]{display:none!important}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-variable.woff2) format("woff2-variations")}:root{--ink: #f1f9f5;--muted: #a5b6ae;--panel: rgba(3,48,33,.92);--surface: rgba(255,255,255,.07);--input: rgba(0,0,0,.24);--line: rgba(239,247,243,.17);--accent: #eccf75;--accent-ink: #001c11;--phase: #d78671;--bg: #0d3828;--stage: #194534;--warn: #fdb85b;--danger: #ff8881;--edge: rgba(241,249,245,.3);font-family:Archivo Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select{font:inherit}button{color:inherit;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}button:disabled{cursor:not-allowed;opacity:.42;transform:none!important}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 360px;background:radial-gradient(circle at 24% 15%,color-mix(in srgb,var(--phase) 18%,transparent),transparent 34rem),linear-gradient(145deg,var(--stage),var(--bg) 72%)}.clock-stage{min-height:100vh;padding:28px 38px 34px;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand img{width:42px;height:42px;object-fit:contain;border-radius:10px}.brand>div{min-height:42px;display:flex;align-items:center;min-width:0}.brand-name{min-height:42px;display:flex;align-items:center;font-weight:750;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tournament-title{margin:22px auto 0;max-width:920px;color:var(--ink);font-size:clamp(1.45rem,3vw,2.6rem);line-height:1.08;font-weight:850;letter-spacing:-.035em;text-align:center;text-wrap:balance}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:8px}.primary-btn,.secondary-btn,.quiet-btn,.transport-btn,.setup-btn,.add-btn,.remove-btn,.icon-btn,.close-btn{min-height:44px;border-radius:11px;padding:0 15px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;font-weight:750}.primary-btn{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.primary-btn:hover{box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 30%,transparent)}.secondary-btn{background:color-mix(in srgb,var(--ink) 10%,transparent);border-color:var(--line)}.secondary-btn:hover,.transport-btn:hover,.setup-btn:hover,.icon-btn:hover{border-color:color-mix(in srgb,var(--ink) 30%,transparent);background:color-mix(in srgb,var(--ink) 13%,transparent)}.quiet-btn{min-height:40px;padding:0 10px;color:var(--muted);background:transparent}.quiet-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.transport-btn{background:transparent;border-color:color-mix(in srgb,var(--ink) 22%,transparent);min-width:120px}.setup-btn{background:var(--surface);border-color:var(--edge)}.add-btn{min-height:38px;padding:0 12px;background:transparent;border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}.add-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.remove-btn{min-height:38px;padding:0 10px;color:var(--danger);background:transparent;border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.remove-btn:hover{background:color-mix(in srgb,var(--danger) 9%,transparent)}.icon-btn,.close-btn{width:40px;min-height:40px;padding:0;background:var(--surface);border-color:var(--edge)}.close-btn{font-size:1.45rem;font-weight:500}.compact-btn{display:none}.link-btn{text-decoration:none;margin-top:8px}.warn-hint{color:var(--warn);margin-top:10px}.full-btn{width:100%}.clock-core{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:36px 0 24px}.phase-kicker{color:var(--accent);font-size:clamp(.8rem,1.2vw,.95rem);font-weight:850;letter-spacing:.18em;text-transform:uppercase}.phase-title{margin:12px 0 8px;font-size:clamp(2.5rem,6vw,6.7rem);line-height:.96;letter-spacing:-.06em;max-width:100%;white-space:nowrap;min-height:calc(clamp(2.5rem,6vw,6.7rem)*.96);display:flex;align-items:center;justify-content:center}.timer{margin:18px 0 10px;font-size:clamp(5rem,14vw,13.5rem);font-weight:800;font-stretch:112%;line-height:.92;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.presenting .timer{font-size:clamp(6rem,21vw,19rem);font-stretch:118%}.status{min-height:28px;color:var(--muted);font-weight:750;letter-spacing:.08em;text-transform:uppercase}.status.running{color:color-mix(in srgb,var(--phase) 65%,var(--ink))}.status.paused{color:var(--accent)}.progress-track{width:min(760px,82%);height:7px;margin-top:30px;border-radius:20px;background:color-mix(in srgb,var(--ink) 11%,transparent);overflow:hidden}.progress-bar{height:100%;width:100%;background:var(--phase);transform-origin:left;transition:transform .25s linear}.phase-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:28px}.phase-pill{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);font-size:.8rem}.phase-pill.active{color:var(--ink);background:color-mix(in srgb,var(--phase) 20%,transparent);border-color:color-mix(in srgb,var(--phase) 55%,transparent)}.transport{display:flex;justify-content:center;align-items:center;gap:10px}.play{min-width:180px;min-height:58px;border:0;border-radius:15px;padding:0 24px;background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 32px color-mix(in srgb,var(--accent) 25%,transparent);cursor:pointer;font-weight:850}.control-panel{border-left:1px solid var(--edge);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:26px 22px;overflow-y:auto;max-height:100vh;box-shadow:-18px 0 44px color-mix(in srgb,#000 30%,transparent)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}.panel-head h2,.section-title{margin:0;font-size:1rem}.panel-section{padding:20px 0;border-top:1px solid var(--line)}.panel-section:first-of-type{border-top:0;padding-top:0}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.adjust-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 6px}.adjust-btn{min-height:72px;border:1px solid var(--edge);border-radius:13px;background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-content:center;gap:1px}.adjust-btn strong{font-size:1.35rem;line-height:1}.adjust-btn span{color:var(--muted);font-size:.75rem}.adjust-btn:hover{border-color:color-mix(in srgb,var(--ink) 30%,transparent);background:color-mix(in srgb,var(--ink) 10%,transparent)}.next-card{margin-top:12px;padding:14px;background:var(--surface);border:1px solid var(--edge);border-radius:13px}.next-card span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}.next-card strong{font-size:.95rem}.reset-btn{margin-top:9px}.reset-copy{margin:0 0 12px;color:var(--muted);font-size:.88rem;line-height:1.5}.correction-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.hint{color:var(--muted);font-size:.8rem;line-height:1.55}.dialog-backdrop{position:fixed;inset:0;background:color-mix(in srgb,#000 62%,transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:grid;place-items:center;z-index:20;padding:20px}.dialog{width:min(980px,100%);max-height:min(880px,94vh);display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--edge);border-radius:20px;box-shadow:0 30px 90px color-mix(in srgb,#000 55%,transparent),0 0 0 1px color-mix(in srgb,#000 25%,transparent)}.small-dialog{width:min(480px,100%)}.dialog-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:color-mix(in srgb,var(--ink) 6%,var(--panel));border-bottom:1px solid var(--edge)}.dialog-header h2{margin:0;font-size:1.35rem}.setup-layout{min-height:0;flex:1;display:grid;grid-template-columns:210px minmax(0,1fr)}.setup-tabs{padding:18px 12px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel) 80%,transparent);display:flex;flex-direction:column;gap:7px}.setup-tabs button{min-height:64px;width:100%;border:1px solid transparent;border-radius:12px;padding:10px;background:transparent;color:var(--muted);cursor:pointer;text-align:left;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:9px}.setup-tabs button:hover{background:var(--surface);color:var(--ink)}.setup-tabs button[aria-selected=true]{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--ink);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}.setup-tabs strong,.setup-tabs small{display:block}.setup-tabs strong{font-size:.9rem}.setup-tabs small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.3}.tab-number{width:26px;height:26px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800}.setup-tabs button[aria-selected=true] .tab-number{background:var(--accent);color:var(--accent-ink);border-color:transparent}.dialog-body{min-height:0;overflow-y:auto;padding:24px 26px 30px}.setup-panel{max-width:720px;margin:0 auto}.panel-intro h3{margin:2px 0 7px;font-size:1.35rem;letter-spacing:-.02em}.panel-intro>p:last-child{margin:0;color:var(--muted);line-height:1.55}.compact-intro{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:20px}.wide-field{grid-column:1 / -1}.compact-form{grid-template-columns:minmax(150px,1fr) minmax(200px,1.2fr)}.field{display:grid;gap:7px;margin-top:13px}.field label{color:var(--muted);font-size:.875rem;font-weight:750}.field small{color:var(--muted);font-size:.75rem;line-height:1.35}.field input,.field select{width:100%;min-height:44px;color:var(--ink);border:1px solid var(--edge);border-radius:10px;background:var(--input);padding:8px 11px}.field input[type=file]{padding-top:9px}.input-suffix{display:grid;grid-template-columns:1fr auto;align-items:stretch}.input-suffix input{border-radius:10px 0 0 10px}.input-suffix span{display:flex;align-items:center;padding:0 12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;font-size:.8rem}.subsection-head{margin-top:30px;display:flex;justify-content:space-between;align-items:end;gap:16px}.subsection-head h4{margin:0;font-size:1rem}.subsection-head p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.phase-editor{display:grid;gap:10px;margin-top:12px}.phase-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(110px,.6fr) auto;gap:9px;align-items:end}.phase-row .field{margin-top:0}.phase-row .remove-btn{margin-bottom:0}.rule-row{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr auto;gap:9px;align-items:end}.rule-row .field{margin-top:0}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.logo-preview{margin-top:12px;min-height:72px;display:flex;align-items:center;gap:12px;padding:12px;border:1px dashed var(--line);border-radius:12px;background:var(--surface)}.logo-preview img{width:48px;height:48px;object-fit:contain;border-radius:9px}.logo-preview span{color:var(--muted);font-size:.8rem}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.theme-card{min-height:94px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;text-align:left}.theme-card:hover{border-color:var(--edge);transform:translateY(-1px)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.theme-swatch{display:flex;gap:5px;margin-bottom:10px}.theme-swatch i{display:block;width:23px;height:12px;border-radius:999px}.theme-card strong{display:block;font-size:.9rem}.theme-card span{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}@media(max-width:980px){.shell{grid-template-columns:1fr}.control-panel{border-left:0;border-top:1px solid var(--edge);max-height:none}.clock-stage{min-height:70vh}}@media(max-width:700px){.clock-stage{padding:18px 16px 24px;min-height:62vh}.brand img{width:36px;height:36px}.brand>div{min-height:36px}.brand-name{min-height:36px}.top-actions .quiet-btn:not(.compact-btn){display:none}.compact-btn{display:inline-flex}.clock-core{padding:28px 0 22px}.phase-title{font-size:clamp(2.25rem,10vw,4rem)}.timer{font-size:clamp(4.6rem,23vw,8rem)}.presenting .timer{font-size:clamp(5rem,26vw,11rem)}.progress-track{width:92%}.transport-btn{min-width:96px}.play{min-width:150px}.control-panel{padding:20px 16px}.form-grid,.compact-form,.theme-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.phase-row,.rule-row{grid-template-columns:1fr}.phase-row .remove-btn{width:100%}.setup-layout{grid-template-columns:1fr}.setup-tabs{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr)}.setup-tabs button{min-height:58px}.dialog{max-height:96vh}.dialog-header{padding:16px 18px}.dialog-body{padding:18px 18px 24px}.subsection-head{align-items:start;flex-direction:column}}body.presenting .clock-stage{grid-column:1 / -1}body.presenting .control-panel{display:none}body.presenting .top-actions{gap:0}body.presenting .top-actions .quiet-btn{display:inline-flex}body.presenting .clock-core{padding-top:20px}body.presenting .phase-title{font-size:clamp(3rem,8vw,8rem)}body.presenting .phase-strip{max-width:90%}body.presenting .transport{margin-top:10px}@media(max-height:760px)and (min-width:981px){.clock-stage{padding-top:18px;padding-bottom:18px}.clock-core{padding-top:18px;padding-bottom:12px}.timer{margin-top:10px;margin-bottom:6px}.progress-track{margin-top:18px}.phase-strip{margin-top:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.theme-card{min-height:112px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);cursor:pointer;display:grid;gap:10px;text-align:left}.theme-card:hover{border-color:color-mix(in srgb,var(--ink) 32%,transparent)}.theme-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-preview{height:52px;overflow:hidden;border-radius:9px;background:var(--card-bg);display:grid;grid-template-columns:1fr 35%;padding:8px;gap:6px}.theme-preview i{grid-row:1 / 3;border-radius:5px;background:var(--card-panel);position:relative}.theme-preview i:after{content:"";position:absolute;left:8px;right:22%;bottom:8px;height:5px;border-radius:9px;background:var(--card-accent)}.theme-preview b,.theme-preview em{border-radius:4px;background:color-mix(in srgb,var(--card-ink) 18%,transparent)}.theme-preview em{background:var(--card-accent)}.theme-copy{display:flex;align-items:start;justify-content:space-between;gap:8px}.theme-copy strong,.theme-copy small{display:block}.theme-copy strong{font-size:.88rem}.theme-copy small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}.mode-badge{flex:0 0 auto;padding:3px 6px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.transfer-card,.example-card{margin-top:20px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.transfer-card{display:flex;justify-content:space-between;align-items:center;gap:18px}.transfer-card p,.example-card p{margin:4px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}.action-cluster{display:flex;gap:8px;flex-wrap:wrap}.preference-list{margin-top:20px;border:1px solid var(--line);border-radius:13px;overflow:hidden}.preference-row{min-height:70px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--surface);cursor:pointer}.preference-row+.preference-row{border-top:1px solid var(--line)}.preference-row strong,.preference-row small{display:block}.preference-row strong{font-size:.875rem}.preference-row small{margin-top:4px;color:var(--muted);font-size:.75rem;line-height:1.35}.switch{width:46px;height:26px;appearance:none;border:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 45%,transparent);position:relative;cursor:pointer;flex:0 0 auto}.switch:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:var(--stage);top:3px;left:3px;transition:.2s;box-shadow:0 1px 4px color-mix(in srgb,var(--bg) 30%,transparent)}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(20px);background:var(--accent-ink)}.phase-editor,.timing-editor,.warning-editor{display:grid;gap:10px;margin:14px 0}.phase-row{display:grid;grid-template-columns:38px minmax(150px,1.6fr) 105px 82px 92px 70px;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.phase-row .field,.timing-row .field,.warning-row .field{margin:0}.phase-row .move{display:grid;gap:4px}.phase-row .move button{width:38px;min-height:32px}.year-end-badge{min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:9px;background:color-mix(in srgb,var(--accent) 9%,transparent)}.year-end-badge strong,.year-end-badge small{display:block}.year-end-badge strong{color:var(--accent);font-size:.72rem}.year-end-badge small{margin-top:2px;color:var(--muted);font-size:.65rem}.warning-row{display:grid;grid-template-columns:auto 90px minmax(135px,1fr) 70px;gap:8px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.warning-row>span{color:var(--muted);font-size:.82rem;font-weight:700}.section-divider{height:1px;margin:34px 0;background:var(--line)}.example-card{border-left:3px solid var(--accent)}.example-card>span{color:var(--accent);font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.example-card strong{color:var(--ink)}.timing-row{display:grid;grid-template-columns:minmax(165px,1.6fr) 100px 110px 82px 70px;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.empty-note{margin:0;padding:16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:.82rem;line-height:1.5}.dialog-actions{flex:0 0 auto;display:flex;justify-content:space-between;gap:10px;padding:14px 24px;border-top:1px solid var(--edge);background:color-mix(in srgb,var(--ink) 6%,var(--panel))}.small-dialog .dialog-body{overflow:visible}.small-dialog .dialog-actions{margin:20px -24px -28px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:11px 16px;border-radius:999px;font-weight:750;box-shadow:0 12px 40px color-mix(in srgb,var(--bg) 40%,transparent);z-index:40}.hidden{display:none!important}.warning .timer{color:var(--warn)}.warning .progress-bar{background:var(--warn)}.urgent .timer{color:var(--danger)}.urgent .progress-bar{background:var(--danger)}.urgent .status{color:var(--danger)}.urgent.ticking{animation:urgentPulse 1s infinite}@keyframes urgentPulse{50%{filter:brightness(1.15)}}.presenting .control-panel{display:none}.presenting .shell{grid-template-columns:1fr}.presenting .clock-stage{padding:26px 48px 30px}.presenting .phase-title{font-size:clamp(3rem,8vw,9rem);min-height:calc(clamp(3rem,8vw,9rem)*.96)}.presenting .phase-kicker{font-size:clamp(1rem,1.9vw,1.5rem)}.presenting .progress-track{width:min(1100px,88%);height:11px}.presenting .transport{opacity:.35;transition:opacity .2s ease}.presenting .transport:hover,.presenting .transport:focus-within{opacity:1}.presenting .topbar{opacity:.55;transition:opacity .2s ease}.presenting .topbar:hover,.presenting .topbar:focus-within{opacity:1}@media(max-width:900px){.shell{grid-template-columns:1fr}.clock-stage{min-height:72vh;padding:22px 20px 26px}.control-panel{max-height:none;border-left:0;border-top:1px solid var(--edge);box-shadow:0 -18px 44px color-mix(in srgb,#000 30%,transparent)}.setup-layout{grid-template-columns:1fr}.setup-tabs{flex-direction:row;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.setup-tabs button{min-height:54px}.phase-row{grid-template-columns:38px minmax(170px,1fr) 105px 82px}.phase-row .year-end-badge,.phase-row .remove-btn{grid-row:2}.timing-row{grid-template-columns:1fr 1fr 1fr}.timing-row .field:first-child{grid-column:1 / -1}}@media(max-width:560px){.clock-stage{min-height:64vh;padding:17px 14px 22px}.brand img{width:34px;height:34px}.brand-name{font-size:.9rem}body:not(.presenting) .top-actions .quiet-btn:first-child{display:none}.compact-btn{display:inline-flex}.phase-title{font-size:clamp(2.1rem,12vw,4rem);min-height:calc(clamp(2.1rem,12vw,4rem)*.96)}.tournament-title{margin-top:18px;font-size:clamp(1.25rem,7vw,2rem)}.timer{font-size:clamp(4.5rem,25vw,8rem)}.progress-track{width:94%}.phase-strip{display:none}.transport{gap:7px}.transport-btn{min-width:0;padding:0 10px;font-size:.8rem}.play{min-width:130px;padding:0 14px}.dialog-backdrop{padding:0}.dialog{max-height:100vh;height:100vh;border-radius:0;border:0}.dialog-header,.dialog-actions{padding-left:15px;padding-right:15px}.setup-tabs{overflow-x:auto}.setup-tabs button{min-width:170px}.dialog-body{padding:20px 15px 26px}.form-grid,.compact-form,.theme-grid{grid-template-columns:1fr}.transfer-card,.subsection-head{align-items:stretch;flex-direction:column}.subsection-head .add-btn{width:100%}.phase-row,.timing-row{grid-template-columns:1fr 1fr}.phase-row .move{grid-row:1;grid-column:1 / -1;display:flex}.phase-row .field:nth-child(2),.timing-row .field:first-child{grid-column:1 / -1}.phase-row .year-end-badge,.phase-row .remove-btn{grid-row:auto}.warning-row{grid-template-columns:1fr 1fr}.warning-row>span{grid-column:1 / -1}.small-dialog{height:auto;max-height:calc(100vh - 28px);margin:14px;border:1px solid var(--line);border-radius:16px}.small-dialog .dialog-actions{margin-left:-15px;margin-right:-15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.brand>div .eyebrow{display:none}.brand-name{min-height:42px;display:flex;align-items:center}@media(max-width:560px){.brand-name{min-height:34px}}
