:root{color:#143f43;--teal:#07595d;--deep:#064a4e;--cream:#fbf7ef;--yellow:#f5b400;--mint:#e8f0e7;--red:#df4a2f;--surface:#fff;--text:#143f43;--heading:#173b39;--sidebar:#dce6e0;--sidebar-text:#123f43;--sidebar-active:#c7d7d0;--button:#e7d8bd;--button-text:#123f43;--button-hover:#ddc9a7;--heading-font:"Cormorant Garamond",Georgia,serif;--body-font:"Inter",system-ui,sans-serif;background:#fbf7ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--cream);color:var(--text);margin:0}button,input,select,textarea{font:inherit}body,button,input,select,textarea{font-family:var(--body-font)}h1,h2,.card h2,.hero h1,.game h1,.presentation h1{font-family:var(--heading-font);color:var(--heading)}a{color:inherit;text-decoration:none}.logo{letter-spacing:.12em;color:var(--teal);font-size:28px}button{background:var(--button);color:var(--button-text);cursor:pointer;border:0;border-radius:9px;padding:12px 18px;font-weight:800;transition:all .16s}button:hover{background:var(--button-hover)}button:disabled{opacity:.5;cursor:not-allowed}.yellow{background:var(--yellow)!important;color:#17383a!important}.ghost{background:var(--surface)!important;color:var(--text)!important;border:1px solid #ccd5d2!important}.primary{background:var(--teal)!important;color:#fff!important}.bad{background:var(--red)!important;color:#fff!important}.ok{color:#fff!important;background:#258a43!important}.small{font-size:12px;padding:8px 10px!important}.landing{flex-direction:column;min-height:100vh;display:flex}.landing header{justify-content:space-between;padding:28px 5vw;display:flex}.hero{grid-template-columns:260px 1fr;align-items:start;gap:48px;padding:20px 5vw 60px;display:grid}.hero h1{margin:20px 0;font-size:58px;line-height:1.02}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.card{background:var(--surface);border:1px solid #e8e2d8;border-radius:15px;padding-bottom:16px;position:relative;overflow:hidden;box-shadow:0 10px 28px #063f4512}.card .photo{height:160px;font:700 26px var(--heading-font);color:#07595d;background:linear-gradient(135deg,#d9e8e2,#f6d88d);place-items:center;display:grid}.card small,.card h2,.card p,.card button{margin-left:18px;margin-right:18px}.card h2{margin-top:6px;margin-bottom:8px;font-size:27px}.card button{width:calc(100% - 36px)}.pill{background:var(--teal);color:#fff;border-radius:30px;padding:6px 10px;font-size:11px;font-weight:800;position:absolute;top:12px;right:12px}.landing footer{background:var(--teal);color:#fff;text-align:center;margin-top:auto;padding:25px;font-weight:650}.empty{background:var(--surface);border-radius:16px;padding:40px}.join{background:linear-gradient(165deg,#fffaf2 0 72%,var(--teal) 72%);flex-direction:column;align-items:center;min-height:100vh;padding:40px;display:flex}.joinbox{background:var(--surface);text-align:center;border-radius:18px;width:min(460px,100%);margin-top:45px;padding:38px;box-shadow:0 20px 60px #064a4e30}.joinbox h2{font-size:34px}.joinbox input,.joinbox select{border:1px solid #d8d8d2;border-radius:8px;width:100%;margin:7px 0;padding:15px;font-size:18px}.joinbox button{width:100%;margin-top:10px}.error{color:#b52c1c}.team{background:linear-gradient(170deg,#fffaf4 0 68%,var(--teal) 68%);min-height:100vh;padding:24px}.top{justify-content:space-between;align-items:center;display:flex}.game{text-align:center;width:min(650px,100%);margin:45px auto}.game h1{font-size:56px}.points{color:var(--teal);font-size:90px;font-weight:850}.points small{font-size:20px}.game input,.game textarea{border:1px solid #cfd9d6;border-radius:10px;width:100%;margin:14px 0;padding:18px;font-size:20px}.brake{width:100%;padding:20px;font-size:24px;background:var(--yellow)!important;color:#17383a!important}.locked{background:var(--surface);border-radius:12px;padding:28px;font-weight:800}.cluebox{background:var(--surface);text-align:left;border-radius:16px;margin:18px 0;padding:24px;box-shadow:0 8px 22px #05484d10}.cluebox small{color:#687878;font-weight:800}.cluebox p{font-size:22px;line-height:1.45}.countdown{color:var(--teal);background:#fffc;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:850;display:inline-flex}.admin{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin aside{background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid #0000000d;flex-direction:column;gap:7px;padding:24px 14px;display:flex}.admin aside b{letter-spacing:.08em;margin:5px 2px 25px;font-size:18px}.admin aside em{color:var(--teal);font-style:normal}.admin aside a,.admin aside span{border-radius:7px;padding:11px 12px;font-size:14px}.admin aside a:hover,.admin aside span:hover{background:var(--sidebar-active)}.admin aside a.active{background:var(--sidebar-active);font-weight:800}.sidelogout{border:1px solid color-mix(in srgb,var(--sidebar-text) 22%,transparent);text-align:left;margin-top:8px;color:var(--sidebar-text)!important;background:0 0!important}.admin main{padding:34px;overflow:auto}.adminhead{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.adminhead h1{margin:0;font-size:45px}.admincards{grid-template-columns:repeat(3,minmax(250px,1fr));gap:18px;display:grid}.admincard,.panel{background:var(--surface);border:1px solid #e6e3db;border-radius:12px;padding:20px;box-shadow:0 7px 22px #05484d0b}.admincard h2{font-size:25px}.admincard button{width:100%}.sidegrow{flex:1}.modal{z-index:20;background:#002a2f80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal>div{background:var(--surface);border-radius:15px;width:min(620px,94vw);max-height:90vh;padding:30px;overflow:auto}.modal input,.modal select,.modal textarea,.panel input,.panel select,.panel textarea{color:#163d40;background:#fff;border:1px solid #ccd5d2;border-radius:8px;width:100%;margin:6px 0 14px;padding:12px}.modal textarea,.panel textarea{resize:vertical;min-height:90px}.modal label,.panel label{margin:13px 0;font-size:13px;font-weight:700;display:block}.modal button{margin-right:8px}.controlgrid{grid-template-columns:340px 1fr;gap:18px;margin-bottom:18px;display:grid}.panel h2{font-size:30px}.bigpoints{margin:20px 0;font-size:34px;font-weight:850}.panel>button{margin-top:8px}.controlstack>button{width:100%;display:block}.row,.submission{border-bottom:1px solid #eee;grid-template-columns:1fr 120px 100px;align-items:center;gap:10px;padding:13px 0;display:grid}.submission{grid-template-columns:1fr 2fr 90px 42px 42px}.addteam{gap:8px;margin-top:16px;display:flex}.addteam input{flex:1;margin:0}.live{color:#1a8b42;font-weight:800}.tabs{flex-wrap:wrap;gap:8px;margin:-5px 0 20px;display:flex}.tabs button{background:0 0;border:1px solid #d3d8d5}.tabs button.active{background:var(--button);border-color:#0000}.roundgrid{gap:16px;display:grid}.roundcard{background:var(--surface);border:1px solid #e0e4df;border-radius:14px;grid-template-columns:80px 1fr auto;align-items:start;gap:18px;padding:18px;display:grid}.roundnumber{background:var(--mint);border-radius:50%;place-items:center;width:58px;height:58px;font-size:22px;font-weight:900;display:grid}.roundcard h3{font-family:var(--heading-font);color:var(--heading);margin:3px 0 6px;font-size:28px}.cluechips{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.cluechip{background:#f1f4f0;border-radius:999px;padding:5px 9px;font-size:12px}.roundactions{flex-wrap:wrap;gap:7px;display:flex}.clueeditor{grid-template-columns:72px 1fr;align-items:start;gap:10px;margin:10px 0;display:grid}.clueeditor b{color:var(--teal);padding-top:15px}.emptyhint{color:#687878;text-align:center;border:1px dashed #c9d1cc;border-radius:12px;padding:28px}.scoretable{border-collapse:collapse;width:100%}.scoretable td,.scoretable th{text-align:left;border-bottom:1px solid #eee;padding:12px}.scoretable td:last-child,.scoretable th:last-child{text-align:right}.presentation{background:var(--teal);color:#fff;flex-direction:column;min-height:100vh;padding:40px;display:flex}.presentation .logo{color:#fff}.presentation>div{text-align:center;max-width:1100px;margin:auto}.presentation h1{color:#fff;margin:15px;font-size:70px}.presentpoints{color:#ffd056;font-size:180px;font-weight:900}.presentation h2{color:#ffd056;font-size:42px}.presentation .presentclue{max-width:900px;margin:25px auto;font-size:38px;line-height:1.35}.presentation .countdown{color:#fff;background:#ffffff18;font-size:28px}.settingsgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.colorrow{grid-template-columns:1fr 48px 120px;align-items:center;gap:12px;margin:12px 0;display:grid!important}.colorrow input[type=color]{border-radius:8px;width:48px;height:40px;padding:2px}.fontpreview{background:var(--cream);border:1px solid #00000012;border-radius:14px;margin-top:24px;padding:26px}.fontpreview h1{margin:8px 0;font-size:42px}.previewsidebar{border:1px solid #0001;border-radius:14px;grid-template-columns:155px 1fr;margin-top:18px;display:grid;overflow:hidden}.previewsidebar aside{background:var(--sidebar);color:var(--sidebar-text);padding:18px}.previewsidebar aside div{border-radius:7px;margin:4px 0;padding:8px}.previewsidebar aside div:nth-child(2){background:var(--sidebar-active)}.previewsidebar section{background:var(--cream);padding:18px}.userhead,.userrow{grid-template-columns:1.1fr 1.5fr .6fr 1.1fr;align-items:center;gap:16px;padding:13px 6px;display:grid}.userhead{color:#6c7878;border-bottom:1px solid #00000015;font-size:13px}.userrow{border-bottom:1px solid #0000000d}.userrow small{opacity:.65;margin-top:4px;display:block}.rolepill{background:var(--mint);border-radius:20px;width:max-content;padding:5px 9px;font-size:12px;font-weight:800;display:inline-block}.actions{justify-content:flex-end;gap:7px;display:flex}.notice{background:#fff7d6;border:1px solid #f1d271;border-radius:10px;margin:0 0 18px;padding:13px 16px}.notice.success{background:#eaf7ed;border-color:#9dd8aa}.narrow{max-width:680px}.muted{color:#6d7777}.panel hr{border:0;border-top:1px solid #00000012;margin:24px 0}.versionpill{background:var(--surface);border:1px solid #00000014;border-radius:999px;padding:10px 14px;font-weight:700}.updateStatus{background:color-mix(in srgb,var(--teal) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--teal) 18%,transparent);border-radius:16px;padding:18px}.updateStatus.success{background:#e9f8ed;border-color:#9dd8aa}.updateStatus.failed,.updateStatus.unavailable{background:#fff0ee;border-color:#efb2aa}.updateStatus.running,.updateStatus.restarting{background:#fff8de;border-color:#ead277}.updateLog{color:#eef8f6;white-space:pre-wrap;word-break:break-word;background:#102f32;border-radius:14px;max-height:340px;padding:16px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.panel input[type=file]{background:var(--surface);border:1px dashed #00000038;border-radius:12px;padding:14px}@media (width<=900px){.hero{grid-template-columns:1fr}.hero h1 br{display:none}.cards,.admin{grid-template-columns:1fr}.admin aside{display:none}.admin main{padding:18px}.admincards,.controlgrid,.settingsgrid{grid-template-columns:1fr}.submission{grid-template-columns:1fr 1fr}.landing header span{display:none}.hero h1{font-size:46px}.userhead{display:none}.userrow{grid-template-columns:1fr}.actions{justify-content:flex-start}.roundcard{grid-template-columns:55px 1fr}.roundactions{grid-column:2}.previewsidebar{grid-template-columns:110px 1fr}.adminhead{flex-direction:column;align-items:flex-start}.adminhead h1{font-size:38px}}.updatePackage{border-bottom:1px solid #e7e2da}.updatePackage:last-child{border-bottom:0}.verifyok{color:#207a42;font-weight:700}.verifybad{color:#b54135;font-weight:700}.verifydetails{background:#00000006;border-radius:12px;margin:0 0 14px;padding:14px 18px;font-size:.92rem}.verifydetails code{word-break:break-all;font-size:.78rem}.historyrow{border-bottom:1px solid #ece7df;grid-template-columns:36px minmax(180px,1fr) minmax(170px,.7fr) minmax(120px,.6fr);align-items:center;gap:14px;padding:12px 4px;display:grid}.historyrow:last-child{border-bottom:0}.historyrow small{color:#78807d;margin-top:3px;display:block}@media (width<=900px){.historyrow{grid-template-columns:30px 1fr}.historyrow>span:nth-child(3),.historyrow>span:nth-child(4){grid-column:2}}
