:root{--bg: #071321;--panel: #0d1a28;--panel-soft: #162739;--line: rgba(255,255,255,.12);--text: #f5f1e8;--muted: #c0c9d4;--sand: #b29a6d;--sand-soft: #e5d8bd;--accent: #6c8fb0;--good: #214933;--bad: #5c2c2c;--shadow: 0 22px 48px rgba(0,0,0,.35)}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at top,#15283a,#08111c 55%,#050b12)}a{color:#9ec0e8}button,input{font:inherit}h1,h2,h3,p{margin-top:0}.app-shell{max-width:1540px;margin:0 auto;padding:18px}.top-tabs{display:flex;gap:10px;margin-bottom:14px}.top-tab{border:1px solid var(--line);background:#ffffff0d;color:var(--text);padding:12px 20px;border-radius:14px 14px 0 0;cursor:pointer;font-weight:700}.top-tab.active{background:linear-gradient(180deg,#20344a,#0f1f2f);border-bottom-color:transparent}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:#e2d3af}.eyebrow.light{color:#e2d3af}.tab-layout{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:860px;border:1px solid var(--line);border-radius:0 24px 24px;overflow:hidden;box-shadow:var(--shadow);background:#0a1521}.left-rail{background:linear-gradient(180deg,#08131f,#0c1a28);border-right:1px solid var(--line);padding:22px 18px}.brand-lockup{display:flex;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.brand-badge{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#b9a16f,#8b744b);color:#08131f;font-weight:900}.brand-title{font-size:1.25rem;font-weight:900;letter-spacing:.03em}.brand-subtitle{color:var(--sand-soft);text-transform:uppercase;font-size:.82rem;letter-spacing:.12em}.rail-group-title{margin:22px 0 14px;color:var(--sand-soft);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.location-list{display:flex;flex-direction:column;gap:10px}.location-card{width:100%;text-align:left;display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--line);background:#ffffff08;color:var(--text);cursor:pointer}.location-card:hover{background:#ffffff14}.location-dot{width:12px;height:12px;border-radius:50%;background:#e7ecef}.location-name{font-weight:800}.location-detail{color:var(--muted);font-size:.92rem}.main-stage{display:flex;flex-direction:column;background:#091523}.stage-banner{padding:24px 28px;background:linear-gradient(90deg,#ffffff0d,#ffffff05);border-bottom:1px solid var(--line)}.stage-banner h1,.game-header h1{font-size:clamp(2rem,2.6vw,3rem);margin-bottom:10px}.stage-banner p,.game-header p,.card-section p,.summary,.dramatic-note,.source-list,.fact-list{color:var(--muted);line-height:1.55}.map-stage{position:relative;flex:1;min-height:720px;background:#0f2030}.stage-map,.game-map{width:100%;height:100%;display:block;object-fit:contain}.labeled-marker{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px}.marker-label{font-size:clamp(1rem,1.8vw,1.65rem);font-weight:900;color:#f4f1e8;text-shadow:0 3px 12px rgba(0,0,0,.35)}.marker-line{width:0;height:68px;border-left:4px dashed rgba(244,241,232,.85)}.labeled-marker.inland .marker-line{height:88px}.map-hotspot.main{width:36px;height:36px;border-radius:50%;border:6px solid #eef4f7;background:#132331;cursor:pointer;box-shadow:0 0 0 6px #ffffff1a,0 12px 30px #00000038}.map-hotspot.main:hover{background:#3d6587}.game-layout{border:1px solid var(--line);border-radius:0 24px 24px;overflow:hidden;box-shadow:var(--shadow);background:#0a1521}.game-header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}.game-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.primary-button,.ghost-button,.mini-link,.close-button,.clear-link{cursor:pointer;border:0}.primary-button,.ghost-button{padding:12px 18px;border-radius:999px;font-weight:800}.primary-button{background:linear-gradient(180deg,#bca374,#8b7147);color:#0b1724}.ghost-button{background:#ffffff0f;border:1px solid var(--line);color:var(--text)}.score-pill{background:#ffffff12;border:1px solid var(--line);color:var(--text);padding:12px 16px;border-radius:999px;font-weight:800}.game-grid{display:grid;grid-template-columns:minmax(0,1.25fr) 360px;min-height:760px}.simple-game-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.game-board-card{position:relative;border-right:1px solid var(--line);background:#0f2030;min-height:760px}.clean-board{min-height:680px}.drag-card,.placed-card{padding:12px 14px;border-radius:14px;background:#bca3742e;border:1px solid rgba(229,216,189,.25);color:#f7f0df;font-weight:800}.drag-card{cursor:grab}.count-card{display:flex;justify-content:space-between;align-items:center;gap:14px;min-width:220px}.count-card.disabled{opacity:.45;cursor:not-allowed}.drop-hint,.result-line{color:var(--muted);font-size:.92rem;margin-top:10px}.mini-link,.clear-link{background:transparent;color:#a7caef;text-decoration:underline;padding:0}.clear-link{font-size:.9rem}.game-side-card{padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}.game-side-card.collapsed{padding:14px 10px;align-items:center;justify-content:flex-start}.collapse-label{display:none;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.12em;text-transform:uppercase;color:var(--sand-soft);font-weight:800;margin-top:12px}.game-side-card.collapsed .collapse-label{display:block}.card-section{background:#ffffff08;border:1px solid var(--line);border-radius:20px;padding:16px}.card-section-scroll{overflow:auto;max-height:520px}.pool-area{display:flex;flex-wrap:wrap;gap:12px}.counts-only{flex-direction:column}.drop-list{display:flex;flex-direction:column;gap:12px}.drop-zone-list{border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:12px;background:#071321e0;min-width:0}.drop-zone-list.correct{background:#214933eb}.drop-zone-list.wrong{background:#5c2c2ceb}.drop-head,.placed-wrap{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0}.drop-head span,.placed-card{min-width:0;overflow-wrap:anywhere}.drop-head{margin-bottom:10px;font-weight:800}.compact-sources{padding-left:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#010910b8;display:grid;place-items:center;padding:20px;z-index:1000}.modal-card{position:relative;width:min(1100px,100%);max-height:92vh;overflow:auto;background:#f4efe6;color:#172331;border-radius:26px;box-shadow:0 24px 60px #00000073;padding:24px}.modal-card .eyebrow{color:#6d5b37}.modal-card .summary,.modal-card .source-list,.modal-card .fact-list,.modal-card .dramatic-note{color:#455362}.close-button{position:absolute;top:14px;right:16px;width:42px;height:42px;border-radius:50%;background:#e0d7c7;color:#172331;font-size:1.6rem}.video-frame-wrap{margin:18px 0;border-radius:20px;overflow:hidden;background:#000}.video-frame-wrap iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.modal-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.info-box{background:#efe7d8;border:1px solid rgba(23,35,49,.12);border-radius:18px;padding:16px}.fact-list,.source-list{padding-left:20px}.youtube-link{font-weight:700}@media (max-width: 1280px){.simple-game-grid{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width: 1180px){.tab-layout,.game-grid,.simple-game-grid{grid-template-columns:1fr}.left-rail,.game-side-card{border-right:0}.game-board-card{border-right:0;border-bottom:1px solid var(--line)}.game-side-card.collapsed .collapse-label{writing-mode:horizontal-tb;transform:none}}@media (max-width: 820px){.game-header{flex-direction:column;align-items:flex-start}.modal-grid{grid-template-columns:1fr}.map-stage{min-height:500px}.game-board-card{min-height:620px}}.menu-collapsed{grid-template-columns:minmax(0,1fr) 84px}.command-layout{min-height:860px}.command-stack{display:flex;flex-direction:column;gap:18px;padding:24px 28px 30px}.command-scenario-card,.command-video-card,.command-finish-card{background:#ffffff08;border:1px solid var(--line);border-radius:22px;padding:20px}.command-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.command-choice{text-align:left;min-height:108px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:#0b1724eb;color:var(--text);font-weight:800;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.command-choice:hover{transform:translateY(-2px);background:#ffffff14}.command-choice.selected{border-color:#e5d8bd8c}.command-choice.correct{background:#214933eb;border-color:#83cb9a8c}.command-choice.wrong{background:#5c2c2ceb;border-color:#e091918c}.command-video-wrap{margin:0}.command-bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.command-info-box{min-height:220px}.command-finish{display:grid;place-items:center;min-height:680px;padding:28px}.command-finish-card{width:min(720px,100%);text-align:center}.command-finish-card .primary-button{margin-top:8px}@media (max-width: 1100px){.command-choice-grid,.command-bottom-grid{grid-template-columns:1fr}}
