*{margin:0;padding:0;box-sizing:border-box}:root{--color-cyan: #00d4ff;--color-teal: #0099bb;--color-emerald: #00ff88;--color-gold: #d4a84b;--color-amber: #ff8c42;--color-earth: #8b6914;--color-stone: #e8dcc8;--color-patina: #4a9b8f;--color-green: #4a7c59;--color-teal-dark: var(--color-teal);--color-purple: var(--color-emerald);--color-text: var(--color-stone);--color-text-muted: #888;--color-bg-primary: #006C00;--color-bg-card: #1a3e2a;--color-bg-card-hover: #2a5e3e;--color-border: #2a4e3a;--color-success: var(--color-emerald);--ark-red: #FF0000;--ark-blue: #0000FF;--ark-green: #00FF00;--ark-yellow: #FFFF00;--ark-cyan: #00FFFF;--ark-magenta: #FF00FF;--ark-light-green: #C0FFBA;--ark-light-grey: #C8CACA;--ark-light-brown: #786759;--ark-light-orange: #FFB46C;--ark-light-yellow: #FFFA8A;--ark-light-red: #FF756C;--ark-dark-grey: #7B7B7B;--ark-black: #3B3B3B;--ark-brown: #593A2A;--ark-dark-green: #224900;--ark-dark-red: #812118;--ark-white: #FFFFFF;--ark-forest: #006C00;--ark-hunter: #006600;--ark-emerald: #00B200;--ark-spring: #00FF7F;--ark-turquoise: #00C5AB;--ark-teal: #14849C;--ark-cyan-full: #00FFFF;--ark-glacial: #ACEAFF;--ark-ocean: #54A5A5;--ark-sapphire: #0059B2;--ark-azures: #007EFF;--ark-baby-blue: #72B8FF;--ark-cotton-candy: #FFBEFF;--ark-orchid: #D88CD8;--ark-gold: #FFBF00;--ark-tangerine: #FFA328;--ark-peach: #FFA73A;--ark-cantaloupe: #FFB872;--ark-salmon: #FFBEBE;--ark-latte: #D8B28C;--ark-dirt: #A57B54;--ark-tan: #CBB166;--ark-sand: #E6C872;--ark-parchment: #FFEFBE;--ark-mud: #423726;--ark-bark: #594828;--ark-leather: #98813F;--ark-camel: #B29B59;--ark-cream: #F5F5DB;--ark-actual-black: #171717;--ark-shadow: #363636;--ark-charcoal: #4E4E4E;--ark-gunmetal: #666666;--ark-slate: #7F7F7F;--ark-steel: #989898;--ark-silver: #CBCBCB;--ark-wisp: #E6E6E6;--ark-near-white: #EDEDED;--ark-near-black: #515151}@font-face{font-family:Jokerman;src:url(/fonts/Jokerman-Regular.ttf) format("truetype");font-weight:400;font-style:normal}body{font-family:Segoe UI,system-ui,sans-serif;background:var(--ark-forest);color:var(--color-text);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--color-teal);font-family:Jokerman,sans-serif}.map-view{padding:1rem}.map-header{text-align:center;margin-bottom:2rem}.map-header h1{font-size:2rem;background:linear-gradient(135deg,var(--color-cyan),var(--color-emerald));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.map-subtitle{color:var(--color-text-muted);font-size:1rem}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.station-card{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s;position:relative}.station-card:hover:not(.locked){transform:translateY(-5px);border-color:var(--color-teal);box-shadow:0 10px 30px #00d4ff33}.station-card.hovered:not(.locked){transform:translateY(-5px);border-color:var(--color-teal)}.station-card.locked{opacity:.6;cursor:not-allowed;filter:grayscale(.5)}.station-image-container{position:relative;width:100%;height:120px;overflow:hidden}.station-image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.station-card:hover:not(.locked) .station-image{transform:scale(1.05)}.station-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2rem;background:#00000080}.station-info{padding:1rem;text-align:center}.station-icon{font-size:2rem;display:block;margin-bottom:.5rem}.station-info h3{font-size:1rem;margin-bottom:.25rem;color:var(--color-teal)}.station-info p{font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.unlock-hint{display:block;margin-top:.5rem;font-size:.65rem;color:var(--color-gold);font-style:italic}@media (min-width: 768px){.map-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.station-image-container{height:150px}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(0,255,136,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(0,212,255,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.app-shell{display:flex;flex-direction:column;min-height:100vh;padding-bottom:70px;position:relative;z-index:1}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#003c00e6;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left{display:flex;align-items:center;gap:.75rem}.app-title{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--color-cyan),var(--color-emerald));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:.75rem}.app-content{flex:1;overflow-y:auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#003c00f2;border-top:1px solid var(--color-border);z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-tab{flex:1;padding:.5rem;background:none;border:none;cursor:pointer;text-align:center;transition:all .2s}.nav-tab.active{background:#00ff881a}.nav-icon{display:block;font-size:1.3rem;margin-bottom:.2rem}.nav-image{width:28px;height:28px;border-radius:6px;object-fit:cover;margin-bottom:.2rem;opacity:.7;transition:opacity .2s}.nav-tab.active .nav-image{opacity:1;box-shadow:0 0 8px var(--color-emerald)}.overseer-view{padding:1rem}.overseer-header{text-align:center;margin-bottom:2rem}.overseer-portrait{width:100px;height:100px;object-fit:contain;margin:0 auto 1rem;display:block;filter:drop-shadow(0 0 20px var(--color-emerald))}.overseer-subtitle{color:var(--color-text-muted);font-size:.9rem}.oracle-reading{background:var(--color-bg-card);border:1px solid var(--color-emerald);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.oracle-title{color:var(--color-emerald);font-family:Jokerman,sans-serif;margin-bottom:.75rem;font-size:1.2rem}.oracle-category{display:inline-block;margin-top:1rem;font-size:.65rem;padding:.15rem .4rem;background:#00ff881a;border-radius:6px;color:var(--color-emerald)}.oracle-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(0,255,136,.1) 0%,transparent 70%);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.oracle-text{position:relative;color:var(--color-stone);font-style:italic;line-height:1.6;text-align:center}.knowledge-list{display:flex;flex-direction:column;gap:.75rem}.knowledge-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s}.knowledge-card:hover{border-color:var(--color-emerald);transform:translateY(-2px)}.knowledge-card.active{border-color:var(--color-emerald);background:#00ff880d}.knowledge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.knowledge-header h3{font-size:.95rem;color:var(--color-emerald)}.knowledge-category{font-size:.65rem;padding:.15rem .4rem;background:#00ff881a;border-radius:6px;color:var(--color-emerald)}.knowledge-preview{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.75rem}.read-btn{width:100%;padding:.5rem;font-size:.8rem}.oracle-footer{text-align:center;margin-top:2rem;padding:1rem;color:var(--color-text-muted);font-size:.75rem;font-style:italic}.nav-label{display:block;font-size:.7rem;color:var(--color-text-muted)}.nav-tab.active .nav-label{color:var(--color-teal)}.btn-primary{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-teal),var(--color-emerald));border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #00ff884d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00ff8880}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:var(--color-text);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--color-teal)}.game-message{margin:1rem;padding:1rem;background:#00d4ff1a;border:1px solid var(--color-teal);border-radius:8px;text-align:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hatchery-view{padding:1rem}.hatchery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.hatchery-header h1{font-size:1.75rem;background:linear-gradient(135deg,var(--color-cyan),var(--color-emerald));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.egg-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.empty-shelf{grid-column:1 / -1;text-align:center;padding:3rem;color:var(--color-text-muted)}.egg-card{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:16px;padding:1rem;cursor:pointer;transition:all .3s;text-align:center}.egg-card:hover{transform:translateY(-5px);border-color:var(--color-teal)}.egg-card.selected{border-color:var(--color-teal);background:#00d4ff1a}.egg-visual{width:60px;height:80px;border-radius:50%/60% 60% 40% 40%;margin:0 auto .5rem;animation:bob 2s ease-in-out infinite}.egg-visual.large{width:100px;height:130px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.egg-rarity{font-size:.75rem;color:var(--color-text-muted);text-transform:capitalize}.incubator-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;text-align:center}.incubator-panel h3{color:var(--color-teal);margin-bottom:1rem}.incubator-egg{margin-bottom:1rem}.incubator-rarity{font-weight:700;margin-top:.5rem}.incubator-controls{margin:1rem 0}.control-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.control-row label{width:80px;color:var(--color-text-muted);font-size:.85rem}.meter{flex:1;height:8px;background:var(--color-bg-primary);border-radius:4px;overflow:hidden}.meter-fill{height:100%;background:linear-gradient(90deg,var(--color-cyan),var(--color-emerald));transition:width .3s}.hatch-btn{margin-top:1rem;padding:1rem 2rem;font-size:1.1rem}.hatch-btn:disabled{opacity:.5;cursor:not-allowed}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease}.tutorial-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:2rem;max-width:400px;text-align:center}.tutorial-card h3{color:var(--color-teal);margin-bottom:1rem}.tutorial-card p{color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.5}.tutorial-actions{display:flex;gap:1rem;justify-content:center}.tutorial-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--color-border)}.dot.active{background:var(--color-teal)}.incubation-timer{font-size:1.2rem;font-weight:700;color:var(--color-teal);font-variant-numeric:tabular-nums}.camp-view{padding:1rem}.companion-selector{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto}.companion-tab{padding:.5rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;white-space:nowrap}.companion-tab.active{border-color:var(--color-teal);background:#00d4ff1a}.companion-display{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}.companion-visual{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.companion-image{width:150px;height:150px;border-radius:12px;object-fit:contain;background:var(--color-bg-primary);padding:.5rem}.companion-info h2{color:var(--color-teal);margin-bottom:.5rem}.life-stage{display:inline-block;padding:.25rem .75rem;background:#00d4ff1a;border-radius:12px;font-size:.85rem;margin-bottom:1rem}.bond-bar{margin-top:.5rem}.bond-bar span{font-size:.85rem;color:var(--color-text-muted)}.care-meters{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.care-meter-label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.care-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.care-action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s}.care-action-btn:hover{border-color:var(--color-teal);transform:translateY(-2px)}.care-action-btn:disabled{opacity:.5;cursor:not-allowed}.care-icon{font-size:1.5rem}.care-label{font-size:.8rem;color:var(--color-text-muted)}.training-view{padding:1rem}.minigame-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.minigame-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s}.minigame-card:hover{transform:translateY(-2px);border-color:var(--color-teal)}.minigame-card.selected{border-color:var(--color-teal);background:#00d4ff1a}.minigame-icon{font-size:2rem;display:block;margin-bottom:.5rem}.minigame-card h3{font-size:.9rem;margin-bottom:.25rem}.difficulty{font-size:.75rem;font-weight:600}.minigame-detail{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;text-align:center}.minigame-detail h3{color:var(--color-teal);margin-bottom:.5rem}.trains-list{display:flex;gap:.5rem;justify-content:center;align-items:center;margin:1rem 0}.train-tag{padding:.25rem .5rem;background:#00d4ff1a;border-radius:8px;font-size:.8rem}.train-btn{margin-top:1rem}.explore-view{padding:1rem}.biome-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.biome-card{position:relative;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s}.biome-card:hover:not(.locked){transform:translateY(-2px);border-color:var(--color-teal)}.biome-card.selected{border-color:var(--color-teal);background:#00d4ff1a}.biome-card.locked{opacity:.5;cursor:not-allowed}.biome-info h3{color:var(--color-teal);margin-bottom:.25rem;font-size:.95rem}.biome-info p{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem}.biome-resources{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.resource-tag{padding:.15rem .4rem;background:#00d4ff1a;border-radius:6px;font-size:.7rem}.risk-meter{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.risk-meter .meter.small{height:4px}.meter-fill.risk{background:linear-gradient(90deg,#0f0,#ff0,red)}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2rem;background:#00000080;border-radius:12px}.dispatch-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}.dispatch-panel h3{color:var(--color-teal);margin-bottom:1rem}.duration-select{display:flex;gap:.5rem;margin-bottom:1rem}.duration-btn{flex:1;padding:.75rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer}.duration-btn.active{border-color:var(--color-teal);background:#00d4ff1a}.dispatch-btn{width:100%}.expeditions-panel{margin-top:1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}.expeditions-panel h3{color:var(--color-teal);margin-bottom:1rem}.expedition-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-border);font-size:.85rem}.expedition-row:last-child{border-bottom:none}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:24px;padding:2.5rem;text-align:center;max-width:400px;width:100%}.login-logo{margin-bottom:2rem}.logo-circle{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--color-cyan),var(--color-emerald));margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:3rem}.overseer-logo{width:120px;height:120px;object-fit:contain;margin:0 auto 1rem;display:block;filter:drop-shadow(0 0 20px var(--color-emerald))}.login-logo h1{font-size:2rem;background:linear-gradient(135deg,var(--color-cyan),var(--color-emerald));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.tagline{color:var(--color-text-muted);font-size:.9rem}.error-message{background:#ff44441a;border:1px solid var(--color-danger);color:var(--color-danger);padding:.75rem;border-radius:8px;margin-bottom:1rem}.login-hint{margin-top:1rem;font-size:.8rem;color:var(--color-text-muted)}.callback-loading,.callback-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.loading-overlay{text-align:center;padding:2rem;color:var(--color-text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:2rem;max-width:400px;width:90%;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer}.modal-card h2{color:var(--color-teal);margin-bottom:1.5rem}.settings-section{margin-bottom:1.5rem}.setting-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.toggle{position:relative;display:inline-block;width:48px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-border);border-radius:24px;cursor:pointer;transition:.3s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle input:checked+.toggle-slider{background:var(--color-teal)}.toggle input:checked+.toggle-slider:before{transform:translate(24px)}select{width:100%;padding:.5rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text)}
