@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#f8fafc;background:#08111f}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#08111f}button{font:inherit}.game-shell{min-height:100vh;overflow:hidden;position:relative;background:linear-gradient(145deg,#101d2c,#08111f 55%,#0b1823)}.game-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%);mask-image:linear-gradient(to bottom,#000,transparent 85%)}.game-content{position:relative;z-index:1;width:min(980px,100%);min-height:100vh;margin:auto;padding:clamp(18px,4vw,42px);display:flex;flex-direction:column;gap:18px}.city-light{position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(70px);opacity:.16;pointer-events:none}.city-light-one{background:#18b7c9;top:-170px;left:-100px}.city-light-two{background:#d98939;right:-180px;bottom:-130px}.hud-panel,.scene-panel,.controls-panel{border:1px solid rgba(148,163,184,.16);background:#0f1c2be6;box-shadow:0 18px 45px #0003}.top-panel{border-radius:18px;padding:22px}.brand-row,.coordinate-row,.stat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{color:#66d9e8;font-size:10px;font-weight:800;letter-spacing:.18em;margin:0 0 6px}.brand-row h1{font-size:clamp(20px,4vw,28px);letter-spacing:-.03em;margin:0}.connection-status{color:#8ee9bd;font-size:10px;font-weight:800;letter-spacing:.1em}.connection-status span{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#49db9a;box-shadow:0 0 12px #49db9a}.coordinate-row{border-top:1px solid rgba(148,163,184,.12);margin-top:18px;padding-top:13px;color:#71849a;font-size:10px;letter-spacing:.14em}.coordinate-row strong{color:#c4d0db;font-family:ui-monospace,monospace;font-size:12px;letter-spacing:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.stat-card{min-height:66px;padding:12px;border:1px solid rgba(148,163,184,.13);border-radius:10px;background:#050e197a}.stat-heading{color:#94a8ba;font-size:10px;font-weight:800;letter-spacing:.06em}.stat-heading span{color:#f4be57;font-size:15px}.stat-heading b{color:#f5c45d;font-size:12px;letter-spacing:0}.stat-heading b.green{color:#71e1ae}.stat-heading b.blue{color:#72c9f5}.stat-heading b.purple{color:#b9a9f2}.stat-card small{display:block;color:#5f7388;font-size:10px;margin-top:8px}.meter{height:4px;overflow:hidden;margin-top:12px;border-radius:5px;background:#263548}.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e49b3e,#f3c765);transition:width .3s ease}.scene-panel{display:grid;grid-template-columns:43% 57%;min-height:310px;overflow:hidden;border-radius:18px}.scene-art{position:relative;min-height:240px;overflow:hidden;background:linear-gradient(180deg,#18384a,#152a35 55%,#182027)}.scene-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 45%,#050a0fb3)}.scene-amber{background:linear-gradient(180deg,#6f5440,#29333a 58%,#171f23)}.scene-blue{background:linear-gradient(180deg,#164a61,#1b3440 58%,#111d25)}.sun{position:absolute;top:36px;right:28px;width:62px;height:62px;border-radius:50%;background:#f1bd65;box-shadow:0 0 45px #f1bd6580;opacity:.85}.skyline{position:absolute;bottom:0;width:100%;background:#111b25;clip-path:polygon(0 40%,12% 40%,12% 22%,24% 22%,24% 52%,35% 52%,35% 10%,47% 10%,47% 36%,60% 36%,60% 20%,74% 20%,74% 48%,87% 48%,87% 30%,100% 30%,100% 100%,0 100%)}.skyline-back{height:66%;opacity:.45;transform:scale(1.12)}.skyline-front{height:49%;opacity:.9}.road-line{position:absolute;z-index:2;bottom:22px;left:15%;width:70%;height:2px;background:#eabc60a6;box-shadow:0 0 14px #eabc6080}.scene-label{position:absolute;z-index:3;bottom:14px;left:16px;color:#cbd5e1;font-size:9px;letter-spacing:.18em}.location-copy{padding:clamp(22px,5vw,42px);align-self:center}.location-copy h2{margin:4px 0 12px;font-size:clamp(24px,4vw,36px);line-height:1.05;letter-spacing:-.04em}.description{max-width:430px;color:#a9bac7;line-height:1.6;margin:0 0 18px}.notice{display:flex;gap:9px;align-items:center;color:#8fa4b5;font-size:11px;line-height:1.4;margin-bottom:20px}.notice span{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1px solid #d59c49;border-radius:50%;color:#e6b15b}.primary-action{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:8px;padding:14px 16px;color:#07131d;background:#67d4df;font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 20px #2ac0cf29}.primary-action:hover{background:#86e2e8;transform:translateY(-1px)}.primary-action span{font-size:20px;line-height:10px}.controls-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:18px;padding:17px 22px}.controls-title span{display:block;color:#d5e1e9;font-size:11px;font-weight:900;letter-spacing:.15em}.controls-title small{display:block;color:#71849a;font-size:11px;margin-top:6px}.d-pad{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,40px);gap:5px}.d-pad button,.d-pad-center{border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#a9bdca;background:#17283a}.d-pad button{cursor:pointer}.d-pad button:hover,.d-pad button:active{color:#07131d;background:#67d4df}.d-pad button:first-child{grid-column:2}.d-pad button:nth-child(2){grid-column:1;grid-row:2}.d-pad-center{display:grid;place-items:center;grid-column:2;grid-row:2;color:#60768a;font:9px ui-monospace,monospace}.d-pad button:nth-child(4){grid-column:3;grid-row:2}.d-pad button:last-child{display:none}@media (max-width: 680px){.game-content{padding:14px;gap:12px}.top-panel{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.scene-panel{display:block}.scene-art{min-height:165px}.location-copy{padding:22px}.controls-panel{padding:14px 16px}.controls-title small{display:none}}
