
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#14213f;background:#f4f6fa;font-synthesis:none;--blue:#163be0;--ink:#14213f;--muted:#59667d;--line:#dbe1ed}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #efad25;outline-offset:4px}button{border:1px solid var(--line);background:white;color:var(--ink);padding:12px 17px;border-radius:10px;font-weight:600;font-size:14px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#eef2ff}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#102dab}.ghost{background:transparent;border-color:transparent}.small{padding:8px 12px}.skip{position:fixed;top:-100px;left:15px;z-index:200;background:white;padding:10px}.skip:focus{top:10px}.topbar{height:82px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid var(--line);gap:25px}.brand{font-size:29px;letter-spacing:-1.4px;font-weight:800;display:flex;align-items:center;gap:10px}.mark{display:grid;place-items:center;width:34px;height:34px;background:var(--blue);color:white;border-radius:9px;font-size:23px;letter-spacing:-2px}.brand small{font-size:12px;letter-spacing:1px;font-weight:600;color:var(--muted);border:1px solid var(--line);padding:4px 7px;border-radius:5px;margin-left:5px}.nav{display:flex;align-self:stretch;gap:30px}.nav button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:8px 3px;font-size:15px;background:transparent;color:var(--muted)}.nav button.active{border-bottom-color:var(--blue);color:var(--blue)}.locale{display:flex;align-items:center;gap:7px;font-size:14px}.locale button{padding:7px 9px;border:0;background:transparent;color:var(--muted)}.locale button.active{color:var(--blue);background:#edf1ff}.main{max-width:1390px;margin:0 auto;padding:40px 4.5% 30px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:750;letter-spacing:1.8px;color:var(--blue);margin:0 0 9px}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.pagehead h1{font-size:clamp(27px,3vw,38px);line-height:1.17;letter-spacing:-1.2px;margin:0 0 10px;font-weight:750}.pagehead p{color:var(--muted);font-size:16px;margin:0}.quiet-pill{font-size:13px;color:var(--muted);display:inline-block;background:white;border:1px solid var(--line);padding:8px 11px;border-radius:30px;white-space:nowrap}.workgrid{display:grid;grid-template-columns:minmax(340px, .95fr) minmax(420px,1.2fr);gap:25px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:26px}.panel h2{font-size:19px;letter-spacing:-.4px;margin:0 0 22px}.step{font-size:12px;color:var(--blue);background:#edf1ff;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;margin-right:9px;vertical-align:middle}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.field{display:flex;flex-direction:column;gap:7px}.field label,.field legend{font-size:14px;font-weight:600}.field.full{grid-column:1/-1}select,input,textarea{border:1px solid #cdd5e4;border-radius:8px;color:var(--ink);padding:11px 12px;background:#fff;min-width:0;width:100%;font-size:16px}textarea{resize:vertical;line-height:1.5}fieldset{border:0;padding:0;margin:0;min-width:0}.typegrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.typegrid label{border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:9px;padding:12px;font-size:14px;cursor:pointer}.typegrid label:has(input:checked){border-color:var(--blue);background:#f0f3ff;color:var(--blue)}.typegrid input{width:15px;height:15px;accent-color:var(--blue);margin:0}.formfooter{margin-top:23px}.formfooter button{width:100%;padding:15px;font-size:16px}.help{font-size:13px;color:var(--muted);line-height:1.5;margin:11px 0 0}.preview{display:flex;flex-direction:column;padding:0;overflow:hidden;background:#eaf0ff;border-color:#d3def8}.previewhead{padding:20px 25px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;letter-spacing:1px;color:#4c5d87;border-bottom:1px solid #d2dcf2}.previewhead span:last-child{letter-spacing:0;font-weight:500}.previewcard{flex:1;padding:36px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:335px;background:#f0f4ff}.previewcard .tag{font-size:12px;color:var(--blue);background:#dfe7ff;padding:6px 10px;border-radius:6px;font-weight:700;letter-spacing:1px}.previewcard h3{font-size:32px;letter-spacing:-1px;margin:18px 0 22px}.clue{font-size:23px;line-height:1.5;margin:0}.concealed{font-size:20px;color:#a6b2ce;border:1px dashed #c5d0e7;padding:7px 30px;border-radius:7px;margin-top:14px}.previewbottom{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;font-size:14px;border-top:1px solid #d2dcf2;background:white}.clockmini{font-variant-numeric:tabular-nums;font-size:19px;font-weight:700}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:31px 0 15px;gap:12px}.sectionhead h2{font-size:18px;letter-spacing:-.3px;margin:0}.sectionhead span{font-size:13px;color:var(--muted)}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.preset{background:white;border:1px solid var(--line);padding:18px;border-radius:12px;text-align:left;display:flex;gap:14px;align-items:flex-start}.tile-icon{min-width:39px;height:39px;display:grid;place-items:center;font-size:22px;background:#edf1ff;color:var(--blue);border-radius:10px}.preset:nth-child(2) .tile-icon{background:#e3f6ee;color:#1c7655}.preset:nth-child(3) .tile-icon{background:#fff1d9;color:#95611a}.preset strong{font-size:15px;display:block;margin:1px 0 7px}.preset small{display:block;color:var(--muted);font-size:13px;line-height:1.5}.footnote{font-size:12px;color:var(--muted);margin-top:25px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.reviewbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reviewcards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reviewcard{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:12px}.reviewcard h3{font-size:15px;color:var(--blue);margin:0}.reviewcard label{font-size:14px;display:block;margin-bottom:7px}.reviewcard textarea{font-size:16px}.info{padding:13px 16px;border:1px solid #d3def8;border-radius:10px;background:#edf2ff;line-height:1.6;font-size:14px;margin:15px 0 22px;color:#334975}.librarygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.librarycard{background:white;border:1px solid var(--line);border-radius:13px;padding:22px}.librarycard h2{font-size:21px;margin:14px 0}.librarycard p{font-size:14px;color:var(--muted);line-height:1.5}.librarycard .actions{display:flex;gap:7px;margin-top:20px;flex-wrap:wrap}.empty{background:white;border:1px dashed #bbc7dd;border-radius:15px;padding:65px 25px;text-align:center}.empty h2{font-size:24px}.empty p{color:var(--muted);margin:0 0 25px}.focuswrap{max-width:1000px;margin:auto}.focuscard{background:#152446;border-radius:20px;color:white;min-height:490px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:45px;text-align:center}.focuscard h2{font-size:22px;font-weight:500;color:#d3dffb}.focustime{font-size:clamp(80px,13vw,140px);font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-5px;margin:15px 0}.focusbuttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.focussettings{display:flex;justify-content:center;gap:10px;margin:23px 0}.focussettings button.active{background:var(--blue);color:white}.player{position:fixed;inset:0;z-index:40;background:#f3f6fc;overflow:auto;display:flex;flex-direction:column}.player:fullscreen{overflow:auto}.playerheader{display:flex;justify-content:space-between;align-items:center;padding:15px 26px;gap:15px;background:white;border-bottom:1px solid var(--line)}.playerheader .meta{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--muted)}.playerheader strong{color:var(--ink);font-size:17px}.playerbody{display:grid;grid-template-columns:1fr 255px;gap:20px;flex:1;padding:22px;min-height:0}.stage{padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);background:white;border-radius:18px;min-height:400px}.stage .eyebrow{margin-bottom:21px;font-size:14px}.stage h1{font-size:clamp(30px,4.4vw,62px);line-height:1.2;letter-spacing:-1.5px;margin:0 0 27px;max-width:100%;overflow-wrap:anywhere}.stage .hints{font-size:clamp(24px,3vw,40px);line-height:1.5;max-width:950px}.stage .hints p{margin:5px 0 15px}.stage .answer{font-size:clamp(29px,4vw,52px);font-weight:750;color:#14563f;background:#e6f5ed;padding:15px 27px;border-radius:10px;margin:20px 0 0;max-width:100%;overflow-wrap:anywhere}.stage .forbidden{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:clamp(24px,3vw,38px);color:#a83043}.stage .forbidden span{background:#fff0f0;padding:11px 17px;border-radius:10px}.options{display:grid;grid-template-columns:1fr 1fr;gap:15px;width:100%;max-width:950px}.options button{font-size:clamp(20px,2.3vw,32px);font-weight:500;text-align:left;padding:20px;border:2px solid var(--line);overflow-wrap:anywhere}.options button.right{background:#e1f3e9;border-color:#257354;color:#164d38}.options button.wrong{background:#fff0f0;border-color:#be4d5e}.options button span{font-size:17px;font-weight:700;margin-right:12px;color:var(--muted)}.tools{display:flex;flex-direction:column;gap:13px}.tool{background:white;border:1px solid var(--line);border-radius:13px;padding:17px}.tool h2{font-size:13px;color:var(--muted);margin:0 0 12px;font-weight:600}.timer{font-size:43px;font-variant-numeric:tabular-nums;letter-spacing:-2px;font-weight:650}.timer.done{color:#b33440}.toolactions{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}.toolactions button{padding:7px 10px;font-size:13px}.teams{display:flex;flex-direction:column;gap:9px}.team{display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:5px}.team button{padding:3px 8px;font-size:18px}.team b{font-size:20px;min-width:20px;text-align:center}.team div{display:flex;gap:5px;align-items:center}.drawnumber{font-size:31px;font-weight:700;color:var(--blue)}.signal{border-left:5px solid #2b7851}.signal.s1{border-color:#a96b08}.signal.s2{border-color:#b23442}.playerfooter{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 25px;background:white;border-top:1px solid var(--line)}.playerfooter .actions{display:flex;gap:9px;flex-wrap:wrap}.progress{font-size:14px;color:var(--muted)}#notice{position:fixed;left:50%;transform:translateX(-50%);bottom:25px;background:#14213f;color:white;border-radius:10px;padding:13px 20px;font-size:14px;z-index:100;max-width:90vw;display:none}#notice.show{display:block}.completion{max-width:650px;margin:45px auto;background:white;border:1px solid var(--line);border-radius:18px;padding:45px;text-align:center}.completion h1{font-size:34px}.completion p{color:var(--muted);line-height:1.6}.completion .reviewbar{justify-content:center;margin-top:25px}dialog{border:1px solid var(--line);border-radius:15px;padding:28px;color:var(--ink);max-width:450px;width:90%}dialog::backdrop{background:#14213f88}dialog h2{font-size:22px;margin-top:0}dialog p{line-height:1.6;color:var(--muted)}.danger{color:#a92a3e}.group-list{max-height:200px;overflow:auto;font-size:13px;line-height:1.7;color:var(--muted)}@media(min-width:1700px){.main{padding-top:55px}}@media(max-width:1050px){.topbar{padding:0 25px}.nav{gap:18px}.main{padding:30px 25px}.workgrid{grid-template-columns:1fr 1fr;gap:18px}.panel{padding:21px}.preview{padding:0}.previewcard{padding:25px 15px}.presets{gap:10px}.preset{padding:15px;gap:10px}.playerbody{grid-template-columns:1fr 220px;padding:15px}.stage{padding:22px}.librarygrid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.topbar{height:auto;min-height:75px;flex-wrap:wrap;gap:4px 12px;padding:14px 20px 0}.brand{font-size:25px}.brand small{font-size:12px}.locale{margin-left:auto}.nav{order:3;width:100%;height:49px;justify-content:center;gap:35px}.main{padding:26px 18px}.pagehead{align-items:start}.quiet-pill{display:none}.workgrid{grid-template-columns:1fr}.previewcard{min-height:260px}.presets,.reviewcards,.librarygrid{grid-template-columns:1fr}.previewhead{padding:17px 21px}.pagehead h1{font-size:29px}.sectionhead span{display:none}.footnote{flex-direction:column}.playerbody{display:flex;flex-direction:column}.stage{min-height:370px;padding:23px 16px}.tools{display:grid;grid-template-columns:1fr 1fr}.stage h1{font-size:34px;letter-spacing:-1px}.stage .hints{font-size:26px}.playerheader{padding:12px}.playerheader .meta{gap:8px;flex-wrap:wrap}.playerheader .meta .brand{display:none}.playerfooter{padding:13px;flex-wrap:wrap}.playerfooter .actions{gap:6px}.playerfooter button{padding:10px;font-size:13px}.options{gap:8px}.options button{font-size:20px;padding:13px}.reviewbar button{font-size:13px;padding:10px}.focuscard{padding:30px 15px;min-height:410px}.completion{padding:28px 20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Compact class confirmation inside the existing timetable review. */
.schedule-class-proposal{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin:18px 0}.schedule-class-proposal h2{font-size:19px;margin:0 0 8px}.schedule-class-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.schedule-class-row .schedule-field{min-width:0}.schedule-class-row input,.schedule-class-row select{width:100%}@media(max-width:600px){.schedule-class-row{grid-template-columns:1fr;gap:5px}.schedule-class-proposal{padding:13px}}
.general-settings{max-width:1100px;margin:0 auto}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.general-settings .panel{min-width:0;padding:22px}.general-settings h2{font-size:20px;margin:0 0 16px}.general-settings p{color:#53657b;line-height:1.6}.general-settings label{display:flex;flex-direction:column;gap:8px;font-size:14px}.general-settings select,.general-settings input[type=number]{width:100%;max-width:100%;padding:10px;box-sizing:border-box}.general-settings .settings-check{flex-direction:row;align-items:center;gap:10px}.general-settings .settings-check input{width:20px;height:20px;flex:none}.settings-editor{grid-column:1/-1}.settings-editor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,200px);gap:16px;align-items:end;padding:14px 0;border-bottom:1px solid #e5ebf2}.general-settings details{margin-top:16px}.general-settings summary{cursor:pointer;padding:12px 0;font-weight:600}.general-settings [data-settings-status]{min-height:24px}@media(max-width:650px){.settings-grid{grid-template-columns:1fr}.settings-editor-row{grid-template-columns:1fr}.general-settings .panel{padding:16px}}
