@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{font-family:'Be Vietnam Pro',sans-serif;color:#42362c;background:#fbf6e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(#dfcda740 1px,transparent 1px) 0 0/18px 18px}button,input,select{font:inherit}button{cursor:pointer;border:0;transition:transform .15s,background .15s}button:hover:not(:disabled){transform:translateY(-2px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #e8a63f;outline-offset:3px}input,select{width:100%;border:1px solid #dacdb5;border-radius:0;background:#fffdf6;padding:13px;color:#42362c}input:focus,select:focus{outline:3px solid #eab44760;border-color:#c88d36}header{height:85px;border-bottom:1px solid #e7ddc9;background:#fffdf5;display:flex;align-items:center;gap:24px;padding:0 max(5%,calc((100vw - 1280px)/2))}.brand{text-decoration:none;color:#417c59;display:flex;align-items:center;gap:11px;font-size:35px}.brand span{font-size:14px;letter-spacing:1px;line-height:1.5}.brand b{display:block;color:#8f572d;font-size:18px}.live{margin-left:auto;font-size:12px;color:#598465}.quiet{background:transparent;color:#7e6c58;font-size:13px;padding:12px}main{max-width:1280px;margin:auto;padding:32px 30px}.heading{text-align:center;margin:4px 0 29px}.eyebrow{color:#9c7951;font-size:10px;letter-spacing:2px;font-weight:700}h1{font-size:38px;letter-spacing:-1.2px;margin:10px 0;color:#354e36}p{font-size:13px;line-height:1.85;color:#8d7d67}.heading p{margin:8px 0}.classroom{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:26px;align-items:stretch}.board-frame{position:relative;border:14px solid #ad6d37;border-radius:0;background:#a96731;box-shadow:0 5px 0 #794827,0 15px 30px #66482b18;min-width:0}.board{padding:22px 25px 18px;background:radial-gradient(ellipse at 35% 30%,#2f6b4b,#174730);border:3px solid #654924;border-radius:0;min-height:428px;color:#fff9df;box-shadow:inset 0 0 35px #092f2940}.board-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#d5dfb9}.board-top>span{width:32%}.board-top>span:last-child{text-align:right}#clock{font-size:27px;font-weight:800;letter-spacing:2px;border:1px solid #bacfb166;border-radius:0;padding:5px 17px;background:#ffffff09}.board h2{text-align:center;font-size:24px;margin:18px 0 3px;letter-spacing:.3px}.board-help{text-align:center;color:#c1d0b8;font-size:11px;min-height:21px;margin:0}.puzzle{position:relative;width:100%;margin:0 auto 3px}.puzzle svg{display:block;width:100%;overflow:visible}.puzzle path{fill:none;stroke-width:21;stroke-linejoin:round;stroke-linecap:round;opacity:.92}.svg-label{fill:#f8f6de;font-size:20px;font-weight:500;paint-order:stroke;stroke:#24563d;stroke-width:5px;stroke-linejoin:round}.number rect{fill:#fff9df;stroke:#e2ad57;stroke-width:3;rx:0}.number text{font-size:27px;fill:#344431;text-anchor:middle;font-weight:700}.answer{position:absolute;width:10.37%;height:15.15%;padding:0;border:2px solid #99cda6;border-radius:0;text-align:center;font-size:clamp(14px,2vw,24px);font-weight:800;background:#fffbe7;color:#274a32}.answer::placeholder{color:#b8c3a2}.answer:disabled{opacity:1;background:#e7eacb}.answer.correct{border:3px solid #62de8c;background:#ddf7d5}.answer.wrong{border:3px solid #ee8973;background:#ffe3d5}.a0{left:86.58%;top:5.45%}.a1{left:86.58%;top:27.27%}.a2{left:38.11%;top:75.75%}.a3{left:86.58%;top:75.75%}.board-bottom{border-top:1px dashed #d7dfbb44;display:flex;align-items:center;justify-content:space-between;padding-top:14px;gap:10px}.board-bottom>span{font-size:10px;color:#c9d5b7}#submit{background:#f6d077;color:#59431f;padding:11px 22px;border-radius:0;font-size:12px;font-weight:800}.chalk{position:absolute;bottom:-10px;right:50px;width:55px;height:7px;transform:rotate(-3deg);background:#f4edd7;border-radius:0}.panel{background:#fffdf6;border:1px solid #e7dcc5;border-radius:0;padding:26px;box-shadow:0 7px 16px #72563706}.tag{display:inline-block;background:#f4ead2;color:#a07b44;padding:7px 10px;border-radius:0;font-size:9px;font-weight:800;letter-spacing:1.2px}.panel h2{font-size:21px;margin:18px 0 8px}.panel p{font-size:12px}label{display:block;font-size:11px;font-weight:600;margin:15px 0 8px}form .primary{width:100%;margin-top:18px}.primary{background:#39734e;color:#fff9e5;padding:13px 20px;border-radius:0;font-size:12px;font-weight:700;box-shadow:0 3px 0 #255435}.note{font-size:10px;line-height:2;color:#a18e71;margin-top:22px}.big-icon{font-size:70px;text-align:center;padding:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.seats-section{margin-top:39px}.section-heading h2{font-size:20px;margin:8px 0 18px}.section-heading small{font-size:10px;background:#eee6d2;border-radius:0;padding:5px 10px;margin-left:10px;color:#958263;font-weight:500}.seat-legend{font-size:10px;color:#7e9a6a}.seat-legend i{font-style:normal;color:#c49540;margin-left:12px}.seats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.seat{position:relative;text-align:left;min-height:128px;border:1px solid #dfccaa;border-radius:0;background:linear-gradient(135deg,#f4dfb0,#edcc92);box-shadow:0 4px 0 #b99161;padding:19px 18px 14px;color:#744b26;overflow:hidden}.seat:after{content:'';position:absolute;bottom:36px;left:0;right:0;border-bottom:1px solid #b1824e2b}.seat-top{display:flex;justify-content:space-between;align-items:center;font-size:10px}.seat-icon{font-size:25px}.seat strong{display:block;font-size:14px;margin:10px 0 17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-status{font-size:9px;opacity:.7}.seat.filled{background:linear-gradient(135deg,#e5ead2,#d4dfb3);border-color:#bbcda4;box-shadow:0 4px 0 #93a57b}.seat.done{background:linear-gradient(135deg,#f8e5a4,#efd280)}.seat.mine{outline:3px solid #538563;outline-offset:3px}.admin{margin-top:35px}.controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.controls label{margin:0;width:155px}.controls input{margin-top:8px}.secondary{padding:13px 17px;background:#eee6d5;border-radius:0;color:#765d3b;font-size:12px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid #ebe3d4}th{font-size:10px;color:#8d795d;background:#f7f1e3}td .good{color:#388154}td .bad{color:#b9523c}#adminNotice{background:#f6eedb;padding:10px;border-radius:0;color:#76613d}footer{margin-top:36px;padding:22px 0;border-top:1px solid #e6dcc7;color:#a39376;font-size:10px;display:flex;justify-content:space-between}footer span{font-size:8px;letter-spacing:1.5px}dialog{border:1px solid #e7dcc5;border-radius:0;background:#fffdf6;padding:35px;width:min(420px,90vw);color:#42362c}dialog::backdrop{background:#20372a99;backdrop-filter:blur(4px)}dialog h2{font-size:22px}.close{position:absolute;right:12px;top:8px;font-size:27px;background:none;color:#8d795d}#loginError{color:#b9523c}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 24px;border-radius:0;background:#423c2e;color:white;font-size:12px;box-shadow:0 5px 25px #0002;z-index:10;max-width:90vw}[hidden]{display:none!important}@media(min-width:1400px){main{padding-top:40px}.board{min-height:445px}}@media(max-width:1000px){.classroom{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.panel{padding:20px}.board{padding:18px 12px;min-height:385px}.board h2{font-size:20px}.board-top{font-size:8px}.seats{gap:14px}main{padding:25px 20px}}@media(max-width:760px){header{height:70px;padding:0 18px;gap:8px}.brand span{font-size:10px}.brand b{font-size:13px}.brand{font-size:28px}.live{font-size:9px}.quiet{font-size:11px;padding:8px}.heading h1{font-size:29px}.heading p{font-size:11px}.classroom{grid-template-columns:1fr}.board-frame{border-width:10px}.board{min-height:0;padding:16px 12px}.board h2{font-size:21px}.puzzle{margin:18px 0}.board-top{font-size:8px}#clock{font-size:24px;padding:5px 10px}.board-help{font-size:10px}.answer{font-size:clamp(13px,4vw,22px)}.seats{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start}.seat-legend{display:none}.panel{padding:23px}.panel p{margin-bottom:10px}.note{margin-top:14px}#joinForm{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}#joinForm label{margin:8px 0 0}#joinForm label[for=teamName]{grid-column:1;grid-row:1}#teamName{grid-column:1;grid-row:2}#joinForm label[for=slot]{grid-column:2;grid-row:1}#slot{grid-column:2;grid-row:2}#joinForm .primary{grid-column:1/-1;margin-top:6px}.big-icon{display:none}.board-bottom>span{max-width:65%;line-height:1.5}.seats-section{margin-top:30px}footer span{display:none}.section-heading small{margin-left:4px}.controls{gap:10px}.controls button{flex-grow:1}.controls label{width:100%}.admin{padding:17px}}

