*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;color:#f0e6c8;background:radial-gradient(ellipse at 50% 40%,#2d6a30,#1a4a1c,#0d2e0e);background-attachment:fixed;display:flex;justify-content:center;align-items:stretch;padding:0}body:before{content:"";position:fixed;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0px,rgba(255,255,255,.015) 1px,transparent 1px,transparent 8px);pointer-events:none;z-index:0}#app{position:relative;z-index:1;width:100%;min-height:100vh;display:flex;flex-direction:column}main{flex:1;display:flex}header{text-align:center;padding:1.25rem 1rem 0}header h1{font-size:1.8rem;letter-spacing:.08em;text-transform:uppercase;color:#f5d87a;text-shadow:0 2px 8px rgba(0,0,0,.6)}.session-info{margin-top:.4rem;font-size:.9rem;color:#b8d4aa;letter-spacing:.05em}section{background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.timer-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;background:none;border:none;border-radius:0;margin-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}.clock-wrapper{position:relative;display:inline-flex;justify-content:center;align-items:center}.clock-svg{width:min(94vw,calc(100vh - 130px));height:min(94vw,calc(100vh - 130px));display:block}.clock-track{fill:none;stroke:#ffffff14;stroke-width:10}.clock-progress{fill:none;stroke:#4caf508c;stroke-width:10;stroke-linecap:round;stroke-dasharray:534.07;stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1s linear,stroke .4s}.clock-progress.warning{stroke:#f57c008c}.clock-progress.paused{stroke:#a032328c}.clock-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:clamp(.3rem,1.5vmin,.8rem);width:min(57vw,calc(60.7vh - 79px));text-align:center;pointer-events:none}.clock-inner .controls{pointer-events:all}.clock-label{font-size:clamp(.5rem,1.6vmin,.65rem);letter-spacing:.12em;text-transform:uppercase;color:#fff6;line-height:1;text-shadow:0 1px 6px rgba(0,0,0,.8)}.clock-blinds+.clock-label{margin-top:clamp(.3rem,1.5vmin,.8rem)}.clock-blinds{font-size:clamp(1.2rem,9vmin,2.4rem);font-weight:700;color:#f5d87a;text-shadow:0 2px 8px rgba(245,216,122,.4);line-height:1;white-space:nowrap}.slash{margin:0 .1em;color:#8fb88a}#countdown{font-size:clamp(1.2rem,9vmin,2.4rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#fff;text-shadow:0 0 16px rgba(255,255,255,.25);line-height:1}.next-blinds{font-size:clamp(.6rem,2.2vmin,.78rem);color:#8fb88a;white-space:nowrap}.controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;width:100%;margin-top:.3rem}button{padding:.5rem .25rem;font-size:.82rem;font-weight:600;letter-spacing:.03em;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;transition:background .15s,transform .1s,opacity .15s;color:#fff}button.full-width{grid-column:1 / -1}button:active{transform:scale(.97)}button:disabled{opacity:.35;cursor:not-allowed}#btn-start-pause{background:#2e7d32}#btn-start-pause:hover:not(:disabled){background:#388e3c}#btn-start-pause.running{background:#e65100}#btn-start-pause.running:hover:not(:disabled){background:#ef6c00}#btn-prev,#btn-next{background:transparent;border-color:#ffffff1f;color:#ffffff80;font-size:1.1rem;padding:.4rem .25rem}#btn-prev:hover:not(:disabled),#btn-next:hover:not(:disabled){background:#ffffff12;color:#ffffffd9}#btn-reset{background:#37474f}#btn-reset:hover:not(:disabled){background:#455a64}#btn-edit-config{position:absolute;top:1rem;right:1rem;z-index:10;width:2.4rem;height:2.4rem;padding:0;font-size:1.2rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#fff9;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}#btn-edit-config:hover:not(:disabled){background:#ffffff29;color:#fffffff2}#btn-edit-config:disabled{opacity:.35;cursor:not-allowed}#settings-overlay{position:fixed;inset:0;background:#000000a6;z-index:100;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#settings-overlay:not([hidden]){display:flex}.settings-panel{background:#0f2a10f7;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem 1.5rem 1.5rem;width:min(480px,92vw);max-height:85vh;overflow-y:auto}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-title{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#8fb88a}#btn-cancel-config{padding:.25rem .5rem;font-size:.85rem;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:5px;color:#ffffff80;cursor:pointer;transition:background .15s,color .15s}#btn-cancel-config:hover{background:#ffffff14;color:#ffffffd9}.edit-table input[type=number]{width:5rem;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#d4e8cc;padding:.25rem .35rem;font-size:.85rem;text-align:right;-moz-appearance:textfield}.edit-table input[type=number]::-webkit-inner-spin-button,.edit-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row-actions{display:flex;gap:3px;white-space:nowrap}.btn-row-action{padding:.2rem .4rem;font-size:.7rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:4px;cursor:pointer;color:#d4e8cc;transition:background .15s}.btn-row-action:hover:not(:disabled){background:#ffffff24}.btn-row-action:disabled{opacity:.3;cursor:not-allowed}.btn-delete:hover:not(:disabled){background:#e5393559}#btn-add-level{margin-top:.6rem;width:100%;padding:.4rem;font-size:.8rem;background:transparent;border:1px dashed rgba(255,255,255,.2);border-radius:5px;cursor:pointer;color:#8fb88a;transition:background .15s}#btn-add-level:hover{background:#ffffff0f}.sounds-section,.game-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.07)}.sounds-section .section-title,.game-section .section-title{margin-bottom:.6rem}.sound-group{margin-top:.6rem;padding-left:.25rem}.sound-group-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#ffffff59;margin-bottom:.2rem}.sound-option{display:flex;align-items:center;gap:.6rem;padding:.25rem 0;font-size:.85rem;color:#d4e8cc;cursor:pointer;-webkit-user-select:none;user-select:none}.sound-option input[type=checkbox]{accent-color:#4caf50;width:1rem;height:1rem;cursor:pointer;flex-shrink:0}.edit-footer{display:flex;gap:8px;margin-top:.75rem}#btn-reset-config{flex:1;padding:.4rem;font-size:.82rem;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;color:#d4e8cc;transition:background .15s}#btn-reset-config:hover{background:#ffffff21}#btn-save-config{flex:1;padding:.4rem;font-size:.82rem;font-weight:600;background:#2e7d32;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;color:#fff;transition:background .15s}#btn-save-config:hover{background:#388e3c}.voice-row{display:flex;align-items:center;gap:.75rem;overflow:hidden;margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.07);font-size:.8rem;color:#8fb88a;letter-spacing:.06em;text-transform:uppercase}#voice-select{flex:1;min-width:0;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:5px;color:#d4e8cc;padding:.3rem .5rem;font-size:.85rem;cursor:pointer}#btn-voice-preview{flex-shrink:0;padding:.3rem .6rem;font-size:.8rem;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:5px;cursor:pointer;color:#d4e8cc;transition:background .15s}#btn-voice-preview:hover{background:#ffffff24}#btn-voice-preview.playing{background:#e539354d;border-color:#e5393580;color:#ef9a9a}.rounds-table{width:100%;border-collapse:collapse;font-size:.9rem}.rounds-table th{text-align:left;padding:.4rem .5rem;color:#8fb88a;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.1)}.rounds-table td{padding:.5rem;color:#d4e8cc;border-bottom:1px solid rgba(255,255,255,.05)}.rounds-table tr.active td{color:#f5d87a;font-weight:700}.rounds-table tr.done td{color:#4a6e47;text-decoration:line-through}@media(hover:none)and (pointer:coarse){button{padding:.65rem .25rem;min-height:2.75rem}}@media(max-height:480px){header{padding:.35rem 1rem 0}header h1{font-size:1.2rem}.session-info{margin-top:.15rem;font-size:.8rem}}
