body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body{margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;background:#f3f6ff;color:#1c2b4f}.layout{height:100vh;display:grid;grid-template-columns:260px 1fr;overflow:hidden}.sidebar{height:100vh;padding:20px;background:linear-gradient(180deg,#5d7bff,#7f5fff);color:#fff;display:flex;flex-direction:column;gap:12px;overflow:hidden}.sidebar h1{margin:0;font-size:24px}.subtle{margin:0;color:#ffffffe6}.darkSubtle{margin:0;color:#5b6d98}.gradeSelectWrap{margin-top:6px}.gradeTabs{display:flex;gap:8px;flex-wrap:wrap}.gradeTab{border:0;border-radius:999px;padding:6px 10px;font-weight:700;cursor:pointer;background:#fff3;color:#fff}.gradeTabActive{background:#fff;color:#3953a8}.menu{min-height:0;flex:1;display:flex;flex-direction:column;gap:14px;margin-top:8px;overflow-y:auto;padding-right:6px}.menuSection{display:flex;flex-direction:column;gap:6px}.menuSectionTitle{margin:0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#ffffffbf}.menuSectionItems{display:flex;flex-direction:column;gap:6px}.menuItem{border:0;text-align:left;border-radius:10px;padding:10px 12px;background:#ffffff2e;color:#fff;cursor:pointer;font-weight:600}.menuItemActive{background:#fff;color:#3953a8}.scoreCard{margin-top:auto;border-radius:12px;background:#fff3;padding:12px;display:grid;gap:4px}.scoreCard strong{font-size:26px}.content{padding:0;overflow-y:auto;display:flex;flex-direction:column}.topHeader{position:sticky;top:0;z-index:3;flex-shrink:0;padding:22px 28px 20px;background:linear-gradient(165deg,#fff,#f4f7ff 55%,#eef3ff);border-bottom:1px solid rgba(100,120,200,.22);box-shadow:0 8px 24px #28377812}.topHeaderInner{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;width:100%}.topHeaderText{min-width:0;flex:1}.topHeaderSection{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7db8}.topHeaderTitle{margin:0;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:800;color:#1a2b52;line-height:1.2}.topHeaderBadges{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.difficultyPill{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em;border:1px solid transparent}.difficultyPill-easy{background:#e6f9ef;color:#1b6b3d;border-color:#a8e0c0}.difficultyPill-medium{background:#fff4e0;color:#8a5a10;border-color:#f0d090}.difficultyPill-hard{background:#ffe8ec;color:#9a2344;border-color:#f5b8c4}.contentBody{padding:24px 28px 32px;flex:1}.activityCard{background:#fff;border:1px solid #d6e0ff;border-radius:14px;padding:20px;max-width:720px;box-shadow:0 12px 24px #35478814}.activityCardWide{max-width:720px}.sudokuHelp{margin:0 0 12px;font-size:14px;line-height:1.45}.sudokuActivityCard{background:linear-gradient(160deg,#fffefb,#f5f8ff 40%,#faf5ff);border:1px solid rgba(180,140,255,.35);box-shadow:0 12px 32px #5848b41f}.sudokuTitle{background:linear-gradient(110deg,#5b4dff,#ff6b9d,#00c2a8);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.sudokuToolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:14px}.sudokuToolbarColorful{padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#ffd6f0a6,#c8e6ffbf,#d4ffec99);border:1px solid rgba(255,140,200,.25)}.sudokuToolbarColorful .toolbarLabel{color:#4a3d7a}.toolbarLabel{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#3a4d7a}.toolbarSelect{min-width:200px;padding:8px 10px;border-radius:8px;border:1px solid #b8c8ff;font-size:14px;background:#fff}.sudokuToolbarColorful .toolbarSelect{border:2px solid rgba(120,100,220,.35);background:#fff;box-shadow:0 2px 8px #6450c814}.sudokuNewBtn{background:linear-gradient(135deg,#ffd54f,#ff9a6c)!important;color:#4a3010!important;box-shadow:0 4px 12px #ffa05059}.sudokuBoardFrame{width:fit-content;padding:4px;border-radius:16px;background:linear-gradient(130deg,#7c5cff,#ff5c9e,#2dd4bf,#fbbf24);box-shadow:0 8px 28px #643cc840;margin-bottom:8px}.sudokuActions .sudokuCheckBtn{background:linear-gradient(135deg,#22c55e,#14b8a6)!important;box-shadow:0 4px 14px #22c55e59}.sudokuActions .sudokuResetBtn{background:linear-gradient(135deg,#e9d5ff,#c4b5fd)!important;color:#3b2f5c!important}.questionText{margin:0 0 10px;font-size:28px;font-weight:700;color:#263f7d}.answerInput{width:100%;max-width:350px;border:1px solid #b8c8ff;border-radius:10px;font-size:16px;padding:10px 12px}.actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.primaryButton,.secondaryButton{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.primaryButton{background:#4767ff;color:#fff}.secondaryButton{background:#e8eeff;color:#2d4182}.feedbackText{margin:10px 0 0;font-weight:600;color:#1e3a8a;background:#e0e7ffbf;border:1px solid rgba(129,140,248,.32);border-radius:10px;padding:10px 12px}.feedbackText.feedback-success{color:#166534!important;background:#dcfce7eb!important;border-color:#22c55e6b!important}.feedbackText.feedback-error{color:#991b1b!important;background:#fee2e2eb!important;border-color:#f871716b!important}.feedbackText.feedback-hint{color:#92400e!important;background:#fef3c7eb!important;border-color:#f59e0b66!important}.feedbackText.feedback-neutral{color:#1e3a8a;background:#e0e7ffbf;border-color:#818cf852}.dotGrid{display:grid;grid-template-columns:repeat(3,58px);gap:10px}.dotButton{border:0;border-radius:999px;width:58px;height:58px;font-size:18px;font-weight:700;background:#dbe5ff;color:#26427f;cursor:pointer}.tileGrid{display:grid;grid-template-columns:repeat(2,80px);gap:10px}.tileButton{border:0;border-radius:10px;height:80px;font-size:24px;font-weight:700;background:#e6edff;color:#27437e;cursor:pointer}.sudokuGrid{display:grid;gap:4px;width:fit-content;margin-bottom:4px}.sudokuGridDynamic{gap:5px;padding:12px;border-radius:14px;background:linear-gradient(180deg,#fff,#f8f9ff);border:none}.sudokuCellGiven,.sudokuCellInput,.sudokuCellNativeSelect{width:100%;min-width:32px;height:44px;text-align:center;text-align-last:center;font-size:clamp(14px,2.5vw,20px);border-radius:10px;border:2px solid rgba(255,255,255,.85);box-sizing:border-box;transition:transform .12s ease,box-shadow .12s ease}.sudokuCellNativeSelect{margin:0;padding:0 18px 0 6px;font-family:inherit;font-weight:800;line-height:1.1;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-repeat:no-repeat;background-position:right 6px center;background-size:10px 6px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1.4 0 6 4.6 10.6 0 12 1.4l-6 6-6-6Z'/%3E%3C/svg%3E")}.sudokuCellNativeSelect:hover{transform:scale(1.04);box-shadow:0 4px 12px #503cb433;z-index:1}.sudokuCellNativeSelect:focus{outline:none}.sudokuCellNativeSelect:focus-visible{outline:2px solid rgba(99,102,241,.55);outline-offset:2px;z-index:2}.sudokuCellGiven{display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:inset 0 1px #ffffffa6}.sudokuCellInput{padding:0 2px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid rgba(184,200,255,1);background:#fff}.sudokuCellInput:hover{transform:scale(1.04);box-shadow:0 4px 12px #503cb433;z-index:1}.sudokuCellGiven.sudokuToneA{background:linear-gradient(165deg,#c4f1ff,#a5e3ff);color:#0a4a6e;border-color:#38bdf880}.sudokuCellGiven.sudokuToneB{background:linear-gradient(165deg,#fde68a,#fcd34d);color:#78350f;border-color:#f59e0b73}.sudokuCellInput.sudokuToneA{background:linear-gradient(165deg,#ecfeff,#cffafe);color:#0c4a6e;border-color:#22d3ee8c}.sudokuCellInput.sudokuToneB{background:linear-gradient(165deg,#fffbeb,#fef3c7);color:#78350f;border-color:#fbbf248c}.sudokuCellGiven.sudokuToneC{background:linear-gradient(165deg,#ddd6fe,#c4b5fd);color:#3b2f6b;border-color:#8b5cf673}.sudokuCellGiven.sudokuToneD{background:linear-gradient(165deg,#fbcfe8,#f9a8d4);color:#831843;border-color:#ec489973}.sudokuCellInput.sudokuToneC{background:linear-gradient(165deg,#f5f3ff,#ede9fe);color:#3b2f6b;border-color:#a78bfa8c}.sudokuCellInput.sudokuToneD{background:linear-gradient(165deg,#fdf2f8,#fce7f3);color:#831843;border-color:#f472b68c}.sudokuCellNativeSelect.sudokuToneA{background:linear-gradient(165deg,#ecfeff,#cffafe);color:#0c4a6e;border-color:#22d3ee8c}.sudokuCellNativeSelect.sudokuToneB{background:linear-gradient(165deg,#fffbeb,#fef3c7);color:#78350f;border-color:#fbbf248c}.sudokuCellNativeSelect.sudokuToneC{background:linear-gradient(165deg,#f5f3ff,#ede9fe);color:#3b2f6b;border-color:#a78bfa8c}.sudokuCellNativeSelect.sudokuToneD{background:linear-gradient(165deg,#fdf2f8,#fce7f3);color:#831843;border-color:#f472b68c}.sudokuActivityCard .feedbackText{padding:10px 14px;border-radius:10px;background:linear-gradient(90deg,#e0f2fee6,#fae8ffe6);border:1px solid rgba(147,197,253,.5)}.journeyActivityCard{width:100%;max-width:1280px;background:linear-gradient(170deg,#fff9ff,#f3f8ff 45%,#f0fff8);border:1px solid rgba(162,135,255,.35);box-shadow:0 14px 34px #553cb424}.journeyTitle{margin-bottom:8px;background:linear-gradient(110deg,#5b21b6,#ec4899,#0ea5e9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.journeyIntro{margin:0 0 14px;font-size:14px;line-height:1.45}.journeyControlRow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}.journeyControl{min-width:220px;flex:1}.journeyShuffleButton{background:linear-gradient(135deg,#fef08a,#fdba74)!important;color:#6b3000!important;border:1px solid rgba(234,88,12,.25)}.journeyStatusRow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.journeyBadge{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;letter-spacing:.01em;color:#312e81;background:#e0e7fff2;border:1px solid rgba(129,140,248,.35)}.journeyMapShell{border-radius:16px;padding:6px;background:linear-gradient(130deg,#7c3aed,#ec4899,#0ea5e9,#22c55e);box-shadow:0 12px 28px #47556938}.journeyMainLayout{display:grid;gap:14px;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);align-items:start}.journeyMapColumn{min-width:0}.journeySidePanel{display:grid;gap:10px}.journeyMapStage{position:relative;width:100%;height:clamp(250px,38vh,380px);border-radius:12px;overflow:hidden;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.8),transparent 40%),radial-gradient(circle at 80% 80%,rgba(191,219,254,.5),transparent 45%),linear-gradient(180deg,#ecfeff,#dbeafe 55%,#dcfce7)}.journeyMapStage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);background-size:28px 28px;opacity:.35;pointer-events:none}.journeyMapSvg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.journeyRouteBase{fill:none;stroke:#3b82f64d;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:3.5 3.5}.journeyRouteProgress{fill:none;stroke:#f97316;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(249,115,22,.6))}.journeyStop{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px}.journeyStopIcon{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:19px;border:2px solid rgba(148,163,184,.35);background:#ffffffd9;box-shadow:0 3px 8px #47556933}.journeyStop-done .journeyStopIcon{background:linear-gradient(165deg,#86efac,#34d399);border-color:#22c55e8c}.journeyStop-current .journeyStopIcon{background:linear-gradient(165deg,#fef08a,#facc15);border-color:#eab3088c}.journeyStop-upcoming .journeyStopIcon{opacity:.9}.journeyStop-destination .journeyStopIcon{animation:journeyPulse 1.25s ease-in-out infinite}.journeyStopLabel{font-size:11px;font-weight:800;color:#1e3a8a;background:#ffffffe0;border:1px solid rgba(125,211,252,.6);border-radius:999px;padding:2px 8px;white-space:nowrap}.journeyTraveler{position:absolute;transform:translate(-50%,-50%);z-index:4;width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:22px;background:radial-gradient(circle at 30% 25%,#fff,#fde68a 70%);border:2px solid rgba(245,158,11,.6);box-shadow:0 6px 14px #fb923c6b;transition:left .42s cubic-bezier(.22,1,.36,1),top .42s cubic-bezier(.22,1,.36,1);animation:journeyFloat 2s ease-in-out infinite}.journeyTraveler-win{box-shadow:0 0 0 6px #22c55e33,0 8px 16px #22c55e59}.journeyChallengeCard{border-radius:14px;padding:14px;background:#ffffffeb;border:1px solid rgba(165,180,252,.55);min-height:164px}.journeyChallengeMeta{margin:0 0 6px;font-size:12px;font-weight:800;color:#4c51bf;letter-spacing:.02em;text-transform:uppercase}.journeyChallengePrompt{margin:0 0 10px;font-size:20px;font-weight:800;color:#1f2f68}.journeyChoiceGrid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.journeyChoiceButton{border:0;border-radius:12px;padding:11px 12px;cursor:pointer;font-size:16px;font-weight:800;color:#243a8a;background:linear-gradient(135deg,#e0e7ff,#dbeafe);transition:transform .12s ease,box-shadow .12s ease}.journeyChoiceButton:hover{transform:translateY(-1px);box-shadow:0 6px 12px #6366f13d}.journeyWinCard{border-radius:14px;padding:14px;background:linear-gradient(135deg,#dcfce7f2,#e0f2fef2);border:1px solid rgba(34,197,94,.38);display:grid;gap:10px}.journeyWinTitle{margin:0;font-size:22px;font-weight:900;color:#166534}.journeyFeedback{margin-top:0;padding:10px 12px;border-radius:10px;border:1px solid rgba(129,140,248,.32);background:#eef2ffbf}.comprehensionActivityCard{width:100%;max-width:980px;background:linear-gradient(165deg,#fffefe,#f2f7ff 52%,#f8fffb);border:1px solid rgba(125,211,252,.35)}.comprehensionTitle{margin-bottom:8px;background:linear-gradient(120deg,#2563eb,#7c3aed,#14b8a6);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.comprehensionIntro{margin:0 0 12px}.comprehensionTabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.comprehensionTabButton{border:1px solid rgba(129,140,248,.35);border-radius:999px;background:#e0e7ffbf;color:#312e81;font-weight:800;font-size:12px;padding:8px 12px;cursor:pointer}.comprehensionTabButtonActive{background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;border-color:#4f46e56b}.comprehensionPassageCard,.comprehensionQuestionCard{border-radius:12px;border:1px solid rgba(129,140,248,.28);background:#ffffffeb;padding:14px}.comprehensionQuestionCard{margin-top:10px}.comprehensionPassageLabel,.comprehensionQuestionLabel{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:#4f46e5}.comprehensionPassageText{margin:0;line-height:1.55;color:#1f2937;font-size:15px}.comprehensionQuestionText{margin:0 0 10px;font-size:19px;font-weight:800;color:#1e3a8a}.comprehensionInput{max-width:500px}.wikiKnowledgeActivityCard{width:100%;max-width:1040px;background:linear-gradient(165deg,#fffefe,#eef8ff 54%,#f5fffb);border:1px solid rgba(56,189,248,.32)}.wikiKnowledgeTitle{margin-bottom:8px;background:linear-gradient(120deg,#0ea5e9,#4f46e5,#14b8a6);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.wikiKnowledgeIntro{margin:0 0 12px}.wikiKnowledgeBadgeRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.wikiKnowledgeBadge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:#0c4a6e;background:#cffafee6;border:1px solid rgba(34,211,238,.42)}.wikiPassageCard,.wikiQuestionCard{border-radius:12px;border:1px solid rgba(125,211,252,.42);background:#ffffffed;padding:14px}.wikiQuestionCard{margin-top:10px}.wikiPassageLabel,.wikiQuestionLabel{margin:0 0 6px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#0369a1}.wikiPassageText{margin:0;line-height:1.55;color:#1f2937}.wikiSourceLink{margin-top:8px;display:inline-block;font-size:13px;font-weight:700;color:#2563eb;text-decoration:none}.wikiSourceLink:hover{text-decoration:underline}.wikiQuestionText{margin:0 0 10px;font-size:19px;font-weight:800;color:#1e3a8a}.wikiChoiceGrid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px}.wikiChoiceButton{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;background:linear-gradient(135deg,#e0f2fe,#dbeafe);color:#1e3a8a;font-weight:800}.wikiChoiceButton:disabled{opacity:.58;cursor:not-allowed}.treasureActivityCard{width:100%;max-width:1100px;background:linear-gradient(165deg,#fffdf5,#f2f8ff 55%,#f3fff6);border:1px solid rgba(250,204,21,.3)}.treasureTitle{margin-bottom:8px;background:linear-gradient(120deg,#f59e0b,#f97316,#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.treasureIntro{margin:0 0 12px}.treasureBadgeRow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.treasureBadge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#7c2d12;background:#ffedd5e6;border:1px solid rgba(251,146,60,.35)}.treasureLayout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:14px}.treasureMapWrap{border-radius:14px;padding:6px;background:linear-gradient(125deg,#22c55e,#0ea5e9,#a855f7)}.treasureGridBoard{display:grid;gap:6px;background:linear-gradient(180deg,#f8fafc,#eef6ff);border-radius:11px;padding:10px}.treasureCell{height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1px solid rgba(148,163,184,.32);background:#fff}.treasureCellFound{background:linear-gradient(165deg,#fde68a,#fbbf24);border-color:#d9770673}.treasureCellMiss{background:linear-gradient(165deg,#dbeafe,#bfdbfe);border-color:#3b82f659}.treasureCellPreview{outline:2px solid rgba(168,85,247,.55);outline-offset:1px}.treasureClueCard{border-radius:14px;border:1px solid rgba(253,186,116,.45);background:#ffffffed;padding:14px}.treasureClueTitle{margin:0 0 8px;font-size:17px;font-weight:900;color:#7c2d12}.treasureEquationLabel{margin:10px 0 6px;font-weight:700;color:#334155}.treasureOptionRow{display:flex;flex-wrap:wrap;gap:8px}.treasureOptionButton{border:0;border-radius:10px;padding:8px 12px;cursor:pointer;background:#e0e7ff;color:#1e3a8a;font-weight:800}.treasureOptionButtonActive{background:linear-gradient(135deg,#f97316,#fb7185);color:#fff}.treasureActions{margin-top:14px}.treasureWinCard{margin-top:12px;border-radius:12px;border:1px solid rgba(34,197,94,.35);background:#dcfce7e6;padding:12px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.treasureWinTitle{margin:0;font-weight:900;color:#166534}.cityBuilderActivityCard{width:100%;max-width:1100px;background:linear-gradient(170deg,#fefcff,#eef8ff,#f6fff7);border:1px solid rgba(129,140,248,.35)}.cityBuilderTitle{margin-bottom:8px;background:linear-gradient(120deg,#4f46e5,#06b6d4,#22c55e);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.cityBuilderIntro{margin:0 0 12px}.cityBuilderControlRow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.cityBuilderDistrictControl{min-width:250px;flex:1}.cityBuilderStats{margin:12px 0;display:flex;flex-wrap:wrap;gap:8px}.cityStat{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#1d4ed8;background:#dbeafed9;border:1px solid rgba(96,165,250,.35)}.cityBuilderLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:14px}.cityLotsGrid{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:8px}.cityLot{min-height:96px;border-radius:12px;border:1px dashed rgba(148,163,184,.5);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:#ffffffd9}.cityLotFilled{border-style:solid;border-color:#818cf861;background:linear-gradient(165deg,#e0f2fe,#e0e7ff)}.cityLotIcon{font-size:24px}.cityLotName{font-size:12px;font-weight:700;color:#334155;text-align:center;padding:0 4px}.cityLotPlaceholder{font-size:24px;color:#94a3b8}.cityChallengeCard{border-radius:14px;border:1px solid rgba(129,140,248,.32);background:#ffffffeb;padding:14px}.cityChallengeLabel{margin:0 0 6px;text-transform:uppercase;font-size:11px;letter-spacing:.05em;font-weight:900;color:#4f46e5}.cityChallengePrompt{margin:0 0 10px;font-size:19px;font-weight:800;color:#1e3a8a}.cityChoices{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:8px}.cityChoiceButton{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;background:linear-gradient(135deg,#dbeafe,#c7d2fe);color:#1e40af;font-weight:800}.cityChoiceButton:disabled{opacity:.55;cursor:not-allowed}.cityWinCard{margin-top:12px;border-radius:12px;border:1px solid rgba(34,197,94,.36);background:#dcfce7e6;padding:10px;display:grid;gap:8px}.cityWinTitle{margin:0;font-weight:900;color:#166534}.detectiveActivityCard{width:100%;max-width:1100px;background:linear-gradient(165deg,#fff,#eef2ff 40%,#fef9f5);border:1px solid rgba(99,102,241,.3)}.detectiveTitle{margin-bottom:8px;background:linear-gradient(120deg,#4338ca,#7c3aed,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.detectiveIntro{margin:0 0 12px}.detectiveLayout{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.2fr);gap:14px}.detectiveSuspectsPanel,.detectiveCluePanel{border-radius:14px;border:1px solid rgba(165,180,252,.35);background:#ffffffeb;padding:12px}.detectivePanelTitle{margin:0 0 8px;font-weight:900;color:#3730a3}.detectiveSuspectList{display:grid;gap:8px}.detectiveSuspectCard{border-radius:10px;padding:8px;border:1px solid rgba(148,163,184,.3);display:flex;align-items:center;justify-content:space-between;gap:8px}.detectiveSuspectIdentity{display:flex;align-items:center;gap:8px;font-weight:700;color:#334155}.detectiveSuspectIcon{font-size:20px}.detectiveSuspectCleared{background:#dcfce7b3;border-color:#4ade8073}.detectiveSuspectCulprit{background:#fee2e2d9;border-color:#f8717173}.detectiveAccuseButton:disabled{opacity:.55;cursor:not-allowed}.detectiveClueMeta{margin:0 0 6px;text-transform:uppercase;font-size:11px;letter-spacing:.05em;font-weight:900;color:#4f46e5}.detectiveCluePrompt{margin:0 0 10px;font-size:19px;font-weight:800;color:#1e3a8a}.detectiveChoices{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.detectiveChoiceButton{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;background:linear-gradient(135deg,#ede9fe,#e0e7ff);color:#312e81;font-weight:800}.detectiveWinCard{border-radius:12px;border:1px solid rgba(34,197,94,.36);background:#dcfce7e0;padding:12px;display:grid;gap:8px}.detectiveWinTitle{margin:0;font-size:22px;font-weight:900;color:#166534}@media (max-width: 1100px){.journeyMainLayout{grid-template-columns:1fr}.journeyMapStage{height:clamp(250px,40vh,360px)}.treasureLayout,.cityBuilderLayout,.detectiveLayout{grid-template-columns:1fr}}@keyframes journeyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes journeyFloat{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 2px))}}@media (max-width: 720px){.layout{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{gap:10px;height:auto;overflow:visible}.content{padding:0;overflow:visible}.topHeader{padding:16px 16px 14px}.contentBody{padding:16px 16px 24px}.questionText{font-size:24px}.journeyControl{min-width:100%}.journeyChoiceGrid,.cityChoices,.detectiveChoices,.wikiChoiceGrid,.journeyMainLayout{grid-template-columns:1fr}.journeyMapStage{aspect-ratio:16 / 9;height:auto}.journeyStopIcon{width:30px;height:30px;font-size:16px}.journeyStopLabel{font-size:10px;max-width:130px;text-overflow:ellipsis;overflow:hidden}}
