:root{color-scheme:light;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#212529;background:#f8f9fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)!important}.survey-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 18px}.question-card{width:min(100%,720px);min-height:400px;padding:clamp(28px,5vw,48px);background:#fff;border:1px solid #dee2e6;border-radius:10px;box-shadow:0 .125rem .5rem rgba(0,0,0,.07);display:flex;flex-direction:column;justify-content:center;animation:fade-in .25s ease-out both}@keyframes fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.question-card h1{font-size:clamp(26px,3.5vw,34px);line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:0 0 30px}.completion-note{color:#6c757d;margin:0}.answer-field{width:100%;max-width:560px;height:48px;padding:11px 14px;background:#fff;border:1px solid #ced4da;border-radius:6px;color:#212529;font-size:16px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.answer-field:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.answer-field::placeholder{color:#6c757d}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choices.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{display:flex;align-items:center;min-height:52px;padding:10px 15px;text-align:left;border:1px solid #ced4da;border-radius:6px;background:#fff;color:#212529;font-size:15px;font-weight:400;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out}.choice:hover{border-color:#0d6efd;color:#0d6efd}.choice.selected{border-color:#0d6efd;background:#e7f1ff;color:#084298}.choice .radio{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:none;margin-right:10px;border:1px solid #adb5bd;border-radius:50%}.choice.selected .radio{border-color:#0d6efd}.choice.selected .radio:after{content:"";width:8px;height:8px;border-radius:50%;background:#0d6efd}.actions{display:flex;align-items:center;gap:14px;margin-top:28px;min-height:42px}.next-btn,.primary-btn{border:1px solid #0d6efd;border-radius:6px;background:#0d6efd;color:#fff;padding:9px 20px;min-height:42px;font-size:15px;font-weight:500;line-height:1.5;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.next-btn:hover,.primary-btn:hover{background:#0b5ed7;border-color:#0a58ca}.next-btn:disabled{opacity:.65;cursor:not-allowed}.error{color:#b02a37;font-size:13px}.extra-field{margin-top:16px}.number-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;max-width:540px}.number-grid .choice{justify-content:center;padding:9px;min-height:48px}.number-grid .radio{display:none}.doodle-wrap{max-width:640px;border:1px solid #ced4da;border-radius:6px;overflow:hidden;background:#fff}.draw-canvas{display:block;width:100%;height:275px;touch-action:none;cursor:crosshair}.drawing-tools{display:flex;align-items:center;gap:15px;margin-top:13px}.swatches{display:flex;gap:8px}.swatch{width:27px;height:27px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #adb5bd}.swatch.active{box-shadow:0 0 0 2px #0d6efd}.clear-btn,.text-btn{border:0;background:none;color:#0d6efd;padding:6px 4px;font-size:14px}.clear-btn:hover,.text-btn:hover{text-decoration:underline}.game-dialog{width:min(440px,calc(100% - 24px));max-height:calc(100vh - 30px);overflow:auto;padding:0;border:1px solid #dee2e6;border-radius:8px;background:#fff;box-shadow:0 .5rem 1rem rgba(0,0,0,.2);animation:fade-in .2s ease-out}.game-dialog::backdrop{background:rgba(0,0,0,.5)}.game-inner{padding:28px;text-align:center}.game-inner h2{font-size:24px;font-weight:600;margin:0 0 12px}.game-inner p{color:#6c757d;font-size:14px;line-height:1.5;margin:0 0 20px}.game-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-width:350px;margin:18px auto}.cell{aspect-ratio:1;min-width:0;padding:0;border:1px solid #a9c7f5;border-radius:4px;background:#dbeafe;color:#084298;font-weight:600;font-size:16px;transition:background-color .15s ease-in-out}.cell:hover{background:#cfe2ff}.cell.revealed{border-color:#dee2e6;background:#f8f9fa;color:#212529}.cell.mine{background:#b6d4fe;border-color:#86b7fe}.game-meta{display:flex;align-items:center;justify-content:space-between;max-width:350px;margin:auto;color:#495057;font-size:14px}.mode-btn{border:1px solid #0d6efd;border-radius:6px;background:#fff;color:#0d6efd;padding:7px 11px;font-size:13px;transition:background-color .15s ease-in-out,color .15s ease-in-out}.mode-btn:hover,.mode-btn.active{background:#0d6efd;color:#fff}.game-finish{font-size:18px;font-weight:600;margin-top:12px}.admin-shell{max-width:1220px;margin:0 auto;padding:48px 20px 70px}.admin-shell h1{font-size:30px;font-weight:600;margin:0 0 8px}.admin-shell p{color:#6c757d}.login-card{max-width:420px;margin:8vh auto;padding:32px;background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 .125rem .5rem rgba(0,0,0,.07)}.login-card h1{font-size:25px;margin-bottom:24px}.login-card label{display:block;margin:17px 0 6px;font-size:14px;font-weight:500}.login-card input{width:100%;height:42px;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;background:#fff}.login-card input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.login-card .primary-btn{margin-top:24px}.admin-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-top .eyebrow{display:none}.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.stat{min-width:155px;padding:15px 18px;background:#fff;border:1px solid #dee2e6;border-radius:8px}.stat b{display:block;font-size:25px;font-weight:600}.stat span{color:#6c757d;font-size:13px}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:20px}.panel{min-width:0;padding:22px;background:#fff;border:1px solid #dee2e6;border-radius:8px}.panel h2{font-size:19px;font-weight:600;margin:0 0 16px}.record,.visit{border-top:1px solid #dee2e6;padding:13px 0}.record:first-of-type,.visit:first-of-type{border-top:0}.record summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-size:14px;font-weight:600}.record small,.visit small{color:#6c757d;font-size:11px;font-weight:400}.record dl{display:grid;grid-template-columns:125px 1fr;gap:8px 12px;margin:18px 0;font-size:13px}.record dt{color:#6c757d}.record dd{margin:0;overflow-wrap:anywhere}.record img{width:100%;max-width:320px;border:1px solid #dee2e6;border-radius:6px}.visit{font-size:13px}.visit strong,.visit span{display:block;overflow-wrap:anywhere}.visit span{color:#6c757d}.empty{color:#6c757d;font-size:14px}@media(max-width:700px){.survey-shell{align-items:flex-start;padding:20px 12px}.question-card{min-height:340px;padding:26px 22px}.question-card h1{font-size:27px}.choices.cols3{grid-template-columns:1fr}.number-grid{grid-template-columns:repeat(4,1fr)}.admin-shell{padding:26px 12px}.admin-grid{grid-template-columns:1fr}.admin-shell h1{font-size:25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.outline-btn{border:1px solid #0d6efd;border-radius:6px;background:#fff;color:#0d6efd;padding:9px 20px;min-height:42px;font-size:15px;font-weight:500;line-height:1.5;transition:background-color .15s ease-in-out,color .15s ease-in-out}.outline-btn:hover{background:#0d6efd;color:#fff}.game-result{padding:38px 28px}.game-result h2{margin-bottom:26px}.game-result-actions,.admin-actions,.confirm-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.game-result-actions{justify-content:center}.admin-actions{justify-content:flex-end}.panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.panel-title span{color:#6c757d;font-size:12px}.confirm-dialog{width:min(430px,calc(100% - 24px));padding:0;border:1px solid #dee2e6;border-radius:8px;background:#fff;box-shadow:0 .5rem 1rem rgba(0,0,0,.2);animation:fade-in .2s ease-out}.confirm-dialog::backdrop{background:rgba(0,0,0,.5)}.confirm-dialog form{padding:28px}.confirm-dialog h2{margin:0 0 12px;font-size:22px;font-weight:600}.confirm-dialog p{margin:0 0 24px;color:#6c757d;line-height:1.5}.confirm-actions{justify-content:flex-end}@media(max-width:700px){.admin-top{flex-direction:column}.admin-actions{justify-content:flex-start}.panel-title{align-items:flex-start;flex-direction:column}}
