:root{color:#23262f;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f4ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app{min-height:100vh;padding:24px}.top-band,.search-panel,.results-grid,.game-shell{width:min(1180px,100%);margin:0 auto 18px}.top-band{grid-template-columns:minmax(0,1fr) 420px;align-items:stretch;gap:16px;display:grid}.brand,.voice-panel,.search-panel,.match-list,.file-list,.question-stage,.report-panel{background:#fffdf8;border:1px solid #e5ddce;border-radius:8px;box-shadow:0 16px 48px #322a1f14}.brand{align-items:center;gap:16px;padding:20px;display:flex}.brand-mark{color:#fff;background:#263238;border-radius:8px;place-items:center;width:58px;height:58px;display:grid}.brand h1,.search-panel h2,.voice-panel h2,.question-stage h2,.report-panel h2{letter-spacing:0;margin:0;line-height:1.2}.brand h1{font-size:32px}.brand p,.voice-panel p,.report-panel p,.notice{color:#6b6257;margin:6px 0 0;line-height:1.6}.voice-panel{justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.eyebrow{color:#0f766e;margin:0 0 6px;font-size:13px;font-weight:800}.icon-button,.file-actions a,.file-actions button{color:#263238;cursor:pointer;background:#fff;border:1px solid #d6cbbb;border-radius:8px;place-items:center;width:44px;height:44px;display:inline-grid}.icon-button.danger{color:#b42318}.search-panel{padding:18px}.search-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px;display:grid;position:relative}.demo-strip{color:#0f766e;background:#e6f5f2;border:1px solid #b7ded8;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-weight:800;line-height:1.4;display:flex}.search-icon{color:#8a7f71;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-row input{color:#23262f;background:#fff;border:1px solid #d6cbbb;border-radius:8px;outline:none;width:100%;min-height:52px;padding:0 14px 0 46px}.search-row input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e29}.search-row button,.question-stage form button,.hint-box button,.stage-actions button{color:#fff;cursor:pointer;white-space:nowrap;background:#263238;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;display:inline-flex}.search-row button:disabled,.stage-actions button:disabled{opacity:.45;cursor:not-allowed}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chips button,.match-item,.choice{color:#23262f;cursor:pointer;background:#fffdf8;border:1px solid #d6cbbb;border-radius:8px}.chips button{padding:8px 10px}.results-grid{grid-template-columns:330px minmax(0,1fr);gap:16px;display:grid}.match-list,.file-list{padding:16px}.match-item{text-align:left;width:100%;margin-top:10px;padding:12px;display:block}.match-item strong,.match-item span{display:block}.match-item span{color:#6b6257;margin-top:4px;font-size:14px}.match-item.active,.choice.selected{background:#e6f5f2;border-color:#0f766e}.file-item{border-bottom:1px solid #eee6d8;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.file-item:last-child{border-bottom:0}.file-item h3{letter-spacing:0;margin:8px 0 0;font-size:16px;line-height:1.4}.tag,.skill-pill{border-radius:8px;align-items:center;padding:4px 8px;font-size:13px;font-weight:800;display:inline-flex}.tag.paper{color:#0f766e;background:#e6f5f2}.tag.answer{color:#92400e;background:#fef3c7}.file-actions{gap:8px;display:flex}.game-shell{grid-template-columns:86px minmax(0,1fr) 280px;align-items:start;gap:16px;display:grid}.game-map{justify-items:center;gap:10px;padding:10px 0;display:grid}.map-node{color:#23262f;cursor:pointer;background:#fffdf8;border:2px solid #d6cbbb;border-radius:50%;width:48px;height:48px;font-weight:900}.map-node.active{color:#fff;background:#263238;border-color:#263238}.map-node.done{border-color:#0f766e}.question-stage,.report-panel{padding:18px}.question-text{background:#f7f4ec;border:1px solid #e5ddce;border-radius:8px;margin:16px 0;padding:18px;font-size:20px;line-height:1.6}.question-visual{aspect-ratio:16/7;background:#f7f4ec;border:1px solid #e5ddce;border-radius:8px;width:100%;margin-top:16px;position:relative;overflow:hidden}.question-visual img{object-fit:cover;width:100%;height:100%;display:block}.image-placeholder{color:#0f766e;background:radial-gradient(circle at 22% 22%,#ff7b7b38,#0000 25%),radial-gradient(circle at 78% 20%,#f59e0b3d,#0000 24%),radial-gradient(circle at 72% 78%,#0f766e2e,#0000 26%),linear-gradient(135deg,#e6f5f2,#fff4cc);align-content:center;place-items:center;gap:8px;width:100%;height:100%;font-weight:800;display:grid}.image-loading-state{color:#263238;background:linear-gradient(90deg,#fff0,#ffffffa6,#fff0),linear-gradient(135deg,#fff4cc,#e6f5f2);align-content:center;place-items:center;gap:8px;width:100%;height:100%;animation:1.2s linear infinite shimmer;display:grid}.image-loading-state strong{font-size:18px}.image-loading-state span{color:#0f766e;font-weight:800}.image-badge,.image-refresh{z-index:2;position:absolute}.image-badge{color:#fff;background:#263238;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex;top:10px;left:10px}.image-refresh{color:#fff;cursor:pointer;background:#ff7b7b;border:0;border-radius:8px;min-height:36px;padding:0 12px;font-weight:900;bottom:10px;right:10px}@keyframes shimmer{0%{background-position:-220px 0,0 0}to{background-position:220px 0,0 0}}.answer-zone{gap:10px;display:grid}.voice-answer{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:14px;display:grid}.voice-answer button{color:#fff;cursor:pointer;white-space:nowrap;background:#0f766e;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;display:inline-flex}.voice-answer button.listening{background:#b42318}.voice-answer span{color:#6b6257;min-width:0;line-height:1.5}.choice{text-align:left;min-height:48px;padding:10px 12px}.question-stage form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.question-stage form input{border:1px solid #d6cbbb;border-radius:8px;outline:none;min-height:48px;padding:0 12px}.feedback{border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.feedback.correct{color:#166534;background:#dcfce7}.feedback.needs-work{color:#3730a3;background:#eef2ff}.hint-box{border:1px solid #e5ddce;border-radius:8px;margin-top:14px;padding:12px}.hint-box button{background:#0f766e}.hint-box p{color:#4f463d;margin:10px 0 0}.stage-actions{gap:10px;margin-top:14px;display:flex}.report-panel{position:sticky;top:16px}.skill-pill{color:#0f766e;background:#e6f5f2;margin:8px 8px 0 0}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=920px){.top-band,.results-grid,.game-shell{grid-template-columns:1fr}.game-map{grid-template-columns:repeat(6,48px);justify-content:start;overflow-x:auto}.report-panel{position:static}}@media (width<=640px){.app{padding:12px}.brand{align-items:flex-start}.brand h1{font-size:26px}.search-row,.voice-answer,.question-stage form,.file-item{grid-template-columns:1fr}.search-row button{min-height:48px}.file-actions{justify-content:flex-start}}
