.focus-page{color:#1d2b28}.focus-message{margin:0 0 20px;min-height:24px}.focus-message[data-error="true"]{color:#9a3b29}.focus-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.65fr);gap:22px}.focus-settings,.focus-display,.focus-history,.focus-backup,.focus-help{padding:28px}.focus-section-title{display:flex;align-items:center;gap:10px;margin-bottom:22px}.focus-section-title h2{margin:0;font-size:20px}.focus-step{font-size:11px;border:1px solid #cbd5cc;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.focus-settings .field{display:flex;flex-direction:column;gap:8px}.focus-settings input[type="text"],.focus-settings input[type="number"]{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #c5d0c7;border-radius:9px;padding:10px;background:#fff;color:#1d2b28;font:inherit}.duration-fields{border:0;padding:0;margin:22px 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.duration-fields legend{margin-bottom:8px}.focus-presets{display:flex;gap:8px;flex-wrap:wrap}.focus-presets .button{padding:8px 11px;font-size:13px}.focus-apply{margin-top:18px;width:100%}.focus-check{display:flex;align-items:center;gap:9px;margin-top:26px}.focus-check input{width:17px;height:17px;accent-color:#236b51}.focus-small{font-size:13px;line-height:1.8}.focus-display{display:flex;align-items:center;flex-direction:column;justify-content:center;background:#e9efe5;border:1px solid #d5dfd0;min-width:0;min-height:390px}.focus-board-top{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:auto}.focus-phase{font-size:12px;letter-spacing:1px;text-transform:uppercase}.focus-board-top .button{font-size:12px;padding:8px 12px}.focus-display h2{text-align:center;font-size:20px;font-weight:500;margin:35px 0 15px;max-width:100%;overflow-wrap:anywhere}.focus-clock{font-size:clamp(58px,7.6vw,118px);font-weight:500;letter-spacing:-5px;line-height:1.12;font-variant-numeric:tabular-nums}.focus-duration{font-size:13px;color:#637368;margin:16px 0 22px}.focus-display progress{appearance:none;-webkit-appearance:none;width:70%;height:4px;border:0;border-radius:3px;overflow:hidden;background:#d1ddcd;display:block}.focus-display progress::-webkit-progress-bar{background:#d1ddcd}.focus-display progress::-webkit-progress-value{background:#236b51}.focus-display progress::-moz-progress-bar{background:#236b51}.focus-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:28px}.focus-actions .button{min-width:84px}.focus-display #board-hint{margin:16px 0 0;text-align:center}.focus-history,.focus-backup,.focus-help{margin-top:22px}.focus-history-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.focus-history h2,.focus-backup h2{margin:8px 0 0;font-size:22px}.focus-history h2 span{font-size:14px;font-weight:400;margin-left:8px;color:#637368}.focus-history .toolbar,.focus-backup .toolbar{display:flex;flex-wrap:wrap;gap:10px}.focus-history .eyebrow,.focus-backup .eyebrow{font-size:11px;letter-spacing:2px;margin:0}.focus-empty{text-align:center;padding:35px 10px;color:#637368;border-top:1px solid #e2e7df;margin:20px 0 0}.focus-history table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.focus-history th,.focus-history td{text-align:left;padding:14px 10px;border-top:1px solid #e2e7df;overflow-wrap:anywhere;vertical-align:top}.focus-history th{font-weight:500;font-size:12px;color:#637368}.focus-history th:first-child{width:45%}.focus-history th:nth-child(2){width:20%}.focus-backup{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:16px}.focus-backup .toolbar{justify-content:flex-end}.focus-backup #import-preview{grid-column:1/-1}.focus-file-label{position:relative;overflow:hidden;cursor:pointer;display:inline-flex;align-items:center}.focus-file-label input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.focus-file-label:focus-within{outline:3px solid #96bbaa;outline-offset:3px}.focus-help summary{cursor:pointer;font-weight:600}.focus-help ol{padding-left:22px;font-size:14px;line-height:1.9}.focus-help li+li{margin-top:8px}.focus-display:fullscreen{box-sizing:border-box;width:100vw;height:100vh;border:0;border-radius:0;padding:32px 5vw;justify-content:center}.focus-display:fullscreen .focus-board-top{margin-bottom:0;position:absolute;left:5vw;right:5vw;top:28px;width:auto}.focus-display:fullscreen .focus-clock{font-size:clamp(72px,17vw,260px)}.focus-display:fullscreen h2{font-size:clamp(20px,3vw,40px);margin-top:0}.focus-display:fullscreen .focus-duration{font-size:18px}.focus-display:fullscreen progress{width:55%}.focus-display:fullscreen .focus-actions{margin-top:48px}.focus-page [hidden]{display:none!important}.focus-page button:disabled,.focus-page input:disabled{opacity:.5;cursor:not-allowed}.focus-page button:focus-visible,.focus-page input:focus-visible,.focus-page summary:focus-visible{outline:3px solid #96bbaa;outline-offset:3px}@media(max-width:760px){.focus-layout{grid-template-columns:1fr}.focus-display{grid-row:1;min-height:350px}.focus-settings,.focus-display,.focus-history,.focus-backup,.focus-help{padding:22px}.focus-clock{font-size:76px;letter-spacing:-3px}.focus-backup{grid-template-columns:1fr}.focus-backup .toolbar{justify-content:flex-start}.focus-history th:first-child{width:38%}.focus-history th:nth-child(2){width:21%}.focus-history th,.focus-history td{padding:12px 5px;font-size:12px}.focus-display:fullscreen .focus-clock{font-size:18vw;letter-spacing:-3px}}@media(prefers-reduced-motion:reduce){.focus-page *{scroll-behavior:auto}}
.focus-backup #clear-all-confirm{grid-column:1/-1}
/* Presentation fallback also works where the browser rejects native fullscreen. */
.focus-display.is-page-presentation,.focus-display:fullscreen{position:fixed;inset:0;z-index:1000;box-sizing:border-box;width:100%;height:100vh;height:100dvh;min-height:0;max-height:none;overflow:auto;border:0;border-radius:0;padding:clamp(14px,3vh,32px) 5vw;justify-content:flex-start;gap:clamp(7px,1.4vh,16px);background:#e9efe5}
.focus-display.is-page-presentation>* ,.focus-display:fullscreen>*{flex-shrink:0}
.focus-display.is-page-presentation .focus-board-top,.focus-display:fullscreen .focus-board-top{position:static;top:auto;left:auto;right:auto;width:100%;margin:0 0 auto;gap:12px}
.focus-display.is-page-presentation h2,.focus-display:fullscreen h2{font-size:clamp(18px,3vw,38px);margin:12px 0 0;max-width:min(100%,1100px)}
.focus-display.is-page-presentation .focus-clock,.focus-display:fullscreen .focus-clock{font-size:clamp(52px,min(16vw,23vh),240px);letter-spacing:-.045em}
.focus-display.is-page-presentation .focus-duration,.focus-display:fullscreen .focus-duration{font-size:clamp(13px,2vw,18px);margin:0}
.focus-display.is-page-presentation progress,.focus-display:fullscreen progress{width:60%;min-height:4px;margin:8px 0}
.focus-display.is-page-presentation .focus-actions,.focus-display:fullscreen .focus-actions{margin:8px 0 0}
.focus-display.is-page-presentation #board-hint,.focus-display:fullscreen #board-hint{margin:0}
.focus-display.is-page-presentation #presentation-note,.focus-display:fullscreen #presentation-note{margin:auto 0 0;text-align:center;padding-top:8px}
@media(max-height:520px){.focus-display.is-page-presentation,.focus-display:fullscreen{gap:5px;padding:10px 4vw}.focus-display.is-page-presentation h2,.focus-display:fullscreen h2{font-size:18px;margin:4px 0 0}.focus-display.is-page-presentation .focus-clock,.focus-display:fullscreen .focus-clock{font-size:clamp(44px,19vh,90px)}.focus-display.is-page-presentation .focus-actions,.focus-display:fullscreen .focus-actions{margin:0}.focus-display.is-page-presentation #board-hint,.focus-display:fullscreen #board-hint{display:none}.focus-display.is-page-presentation #presentation-note,.focus-display:fullscreen #presentation-note{font-size:11px;padding-top:0}}
