:root{--bg-cream: #f7f1de;--bg-sand: #ead39d;--surface: rgba(255, 252, 244, .88);--ink: #0f2747;--ink-muted: #34546f;--accent: #e6552d;--accent-strong: #b3341d;--success: #00704a;--border: rgba(15, 39, 71, .22);--shadow: 0 10px 35px rgba(15, 39, 71, .18);--font-display: "Impact", "Haettenschweiler", "Franklin Gothic Heavy", sans-serif;--font-body: "Trebuchet MS", "Gill Sans", "Verdana", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 15% 20%,#f8f8f8 0%,transparent 35%),radial-gradient(circle at 85% 20%,#ffdcb6 0%,transparent 30%),linear-gradient(165deg,var(--bg-cream) 0%,var(--bg-sand) 100%)}.app-shell{position:relative;min-height:100vh;overflow:hidden;padding:1.25rem}.ambient-shape{position:absolute;border-radius:50%;filter:blur(6px);opacity:.22;pointer-events:none}.ambient-shape-a{width:35vw;height:35vw;right:-6vw;top:-10vw;background:#ffd677}.ambient-shape-b{width:45vw;height:45vw;left:-8vw;bottom:-16vw;background:#9ed2c4}.setup-layout{position:relative;z-index:1;display:grid;place-items:center;min-height:calc(100vh - 2.5rem);animation:rise-in .42s ease-out}.setup-panel{width:min(54rem,100%);max-height:94vh;overflow:auto;background:var(--surface);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px solid var(--border);border-radius:1rem;box-shadow:var(--shadow);padding:1.5rem}.setup-header h2{margin:0;font-size:clamp(1.5rem,4vw,2.2rem);font-family:var(--font-display);letter-spacing:.03em}.setup-header p{margin:.45rem 0 1rem;color:var(--ink-muted)}.setup-form{display:grid;gap:.7rem}.setup-form label{font-size:.95rem;font-weight:700}.setup-form input,.setup-form textarea{width:100%;border:2px solid var(--border);border-radius:.65rem;font-size:1rem;padding:.7rem .8rem;font-family:var(--font-body);color:var(--ink);background:#fffefb}.setup-form textarea{resize:vertical}.checkbox-row{display:flex;align-items:center;gap:.55rem;font-weight:600}.checkbox-row input{width:auto}.setup-error{margin:0;color:var(--accent-strong);font-weight:700}.setup-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.35rem}.btn{border:0;border-radius:.7rem;padding:.66rem 1rem;font-size:.95rem;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:transform .12s ease,opacity .12s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fffdf8}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border)}.btn-danger{background:var(--accent-strong);color:#fff}.session-layout{position:relative;z-index:1;display:grid;gap:.9rem;min-height:calc(100vh - 8rem);animation:rise-in .42s ease-out}.session-layout-clock-only{grid-template-columns:1fr}.session-layout-split{grid-template-columns:minmax(0,7fr) minmax(18rem,3fr)}.clock-pane,.details-pane{border:2px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow)}.clock-pane{display:grid;grid-template-rows:auto 1fr;overflow:hidden}.session-header{padding:.8rem 1rem 0}.session-course{margin:0;font-size:clamp(1rem,2.2vw,1.35rem);color:var(--ink-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.session-exam{margin:.15rem 0 0;font-size:clamp(1.4rem,3.8vw,2.5rem);font-family:var(--font-display);letter-spacing:.03em}.lock-badge{margin:.45rem 0 0;display:inline-block;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--accent-strong);padding:.2rem .5rem;border-radius:999px}.clock-display{display:grid;align-content:center;justify-items:center;text-align:center;min-height:100%;padding:1rem}.clock-label{margin:0;font-size:clamp(1.1rem,3vw,2rem);font-weight:700;color:var(--ink-muted)}.clock-time{margin:.35rem 0 0;font-family:var(--font-display);font-size:clamp(4.4rem,20vw,20rem);letter-spacing:.06em;line-height:.95}.clock-status-paused .clock-time{color:var(--success)}.clock-status-finished .clock-label{color:var(--accent-strong)}.clock-status-finished .clock-time{color:var(--accent-strong);animation:alert-pulse .9s ease-in-out infinite}.details-pane{overflow:auto}.info-panel{padding:1rem;display:grid;gap:1rem}.info-section h2{margin:0;font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em}.info-section p{margin:.38rem 0 0;line-height:1.4}.info-section .key{font-weight:700}.rules-text{white-space:pre-wrap}.control-bar{position:relative;z-index:2;margin-top:.8rem;border:2px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.75rem}.control-group{display:flex;gap:.55rem;flex-wrap:wrap}.control-bar-locked{align-items:center}.lock-message{margin:0;font-weight:700}.lock-hint{margin:0;align-self:center;font-size:.9rem;color:var(--ink-muted)}.setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;background:#0f274759;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:1rem;display:grid;place-items:center}.setup-overlay .setup-panel{width:min(52rem,calc(100vw - 2rem))}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes alert-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.04)}}@media (max-width: 980px){.session-layout-split{grid-template-columns:1fr;grid-template-rows:minmax(50vh,1fr) auto}.clock-time{font-size:clamp(3.7rem,18vw,10rem)}.control-bar{justify-content:center}}
