*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#031b2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#eaf6ff}#app-root{position:fixed;inset:0;touch-action:none;overscroll-behavior:none}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#ui-root{position:absolute;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#ui-root input,#ui-root textarea{user-select:text;-webkit-user-select:text}:where(#ui-root)>*{pointer-events:auto}#ui-root>.touch-controls,.touch-controls{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.look-zone{position:absolute;inset:0;pointer-events:auto;touch-action:none}.joystick-zone{position:absolute;left:0;bottom:0;width:46%;height:42%;max-width:300px;max-height:340px;pointer-events:auto;touch-action:none}.joystick-base{position:absolute;width:88px;height:88px;border-radius:50%;background:#b4e6ff0d;border:1.5px solid rgba(180,230,255,.16);display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);opacity:.26;transition:opacity .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),background .18s cubic-bezier(.22,1,.36,1)}.joystick-base.engaged{opacity:1;background:#b4e6ff17;border-color:#b4e6ff57}.joystick-base.sprinting{border-color:#ffc447b3;background:#ffc4471a}.joystick-knob{position:absolute;left:50%;top:50%;width:38px;height:38px;border-radius:50%;background:#ffffff8c;transform:translate(-50%,-50%)}.joystick-base.engaged .joystick-knob{box-shadow:0 0 0 6px #b4e6ff14}.button-cluster{position:absolute;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.button-column,.button-row,.button-primary{display:flex;gap:10px;pointer-events:none}.button-column{flex-direction:column;align-items:center}.button-primary{align-items:flex-end;gap:12px}.button-row-secondary{gap:8px;opacity:.88}.touch-btn{pointer-events:auto;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#031b2e8c;color:#eaf6ff;font-size:20px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:none}.button-row-secondary .touch-btn{width:46px;height:46px;font-size:17px}.touch-btn-lg{width:58px;height:58px;font-size:22px}.touch-btn:active,.touch-btn.pressed{background:#ffffff4d}.touch-btn.active{background:#ffb7038c;border-color:#ffb703}.depth-pill{display:flex;flex-direction:column;pointer-events:none;border-radius:34px;overflow:hidden}.depth-pill .touch-btn{width:62px;height:58px;border-radius:0;border:none;font-size:18px}.depth-pill .touch-btn:first-child{border-bottom:1px solid rgba(255,255,255,.16)}.sprint-btn{font-size:22px;font-weight:700}.creator{position:absolute;inset:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#041019,#03131f 42%,#020a12);overflow-y:auto;overscroll-behavior:contain}.creator-stage{position:relative;flex:0 0 auto;height:46vh;min-height:260px;background:radial-gradient(120% 70% at 50% -10%,rgba(120,220,255,.22),transparent 60%),linear-gradient(180deg,#06263c,#041a2b 55%,#03121e)}.creator-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.creator-canvas.dragging{cursor:grabbing}.creator-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(150,220,240,.35);background:#0414208c;color:#dbeef7;font-size:15px}.creator-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#bee1f073;pointer-events:none}.creator-sheet{flex:1 1 auto;display:flex;flex-direction:column;gap:20px;padding:20px 18px calc(28px + env(safe-area-inset-bottom,0px))}.creator-archetypes{display:flex;gap:12px}.creator-archetypes button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 10px;border-radius:12px;border:1px solid rgba(120,190,215,.22);background:#0a20308c;color:#b9d7e6;font-size:14px;letter-spacing:.12em;text-transform:uppercase}.creator-archetypes button.chosen{border-color:#4fd8e8d9;color:#eaffff;box-shadow:0 0 0 1px #4fd8e859,0 0 22px #4fd8e82e inset}.creator-archetypes svg,.creator-dive svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.creator-name{display:flex;align-items:center;gap:14px}.creator-name span,.creator-group h2{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#7fa8bd}.creator-name input{flex:1;padding:13px 14px;border-radius:10px;border:1px solid rgba(120,190,215,.22);background:#081a2899;color:#eaf6ff;font-size:15px}.creator-group{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;border:1px solid rgba(120,190,215,.16);background:#07182580}.creator-group h2{margin:0;padding-bottom:10px;border-bottom:1px solid rgba(120,190,215,.14)}.creator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:10px}.creator-swatch{aspect-ratio:1;border-radius:10px;border:1px solid rgba(255,255,255,.12);padding:0;background:linear-gradient(150deg,#ffffff47,#fff0 45%),var(--swatch)}.creator-swatch.chosen{border-color:#4fd8e8;box-shadow:0 0 0 2px #4fd8e88c,0 0 16px #4fd8e859}.creator-chips{display:flex;gap:10px}.creator-chips button{flex:1;padding:11px 8px;border-radius:10px;border:1px solid rgba(120,190,215,.22);background:#0a20308c;color:#b9d7e6;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.creator-chips button.chosen{border-color:#4fd8e8d9;color:#eaffff;box-shadow:0 0 0 1px #4fd8e859}.creator-shape label{display:flex;align-items:center;gap:14px}.creator-shape span{width:62px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7fa8bd}.creator-shape input[type=range]{flex:1;accent-color:#4fd8e8}.creator-dive{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px;padding:18px;border-radius:14px;border:1px solid rgba(79,216,232,.75);background:linear-gradient(180deg,#174e68bf,#092638bf);color:#eaffff;font-size:18px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;box-shadow:0 0 26px #4fd8e838}@media (min-width: 820px) and (orientation: landscape){.creator{flex-direction:row}.creator-stage{flex:1 1 50%;height:auto}.creator-sheet{flex:1 1 50%;max-width:560px;overflow-y:auto}}.hud-icon-row{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:16px;display:flex;gap:10px}.hud-icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#031b2e99;color:#eaf6ff;font-size:20px;display:flex;align-items:center;justify-content:center}.toast-container{position:absolute;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(90vw,360px)}.toast{background:#031b2ee6;border:1px solid rgba(255,183,3,.6);color:#eaf6ff;padding:10px 16px;border-radius:10px;font-size:14px;text-align:center;opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}.toast.visible{opacity:1;transform:translateY(0)}.encyclopedia-screen{position:absolute;inset:0;background:#030f1af2;overflow-y:auto;padding:16px}.encyclopedia-panel{max-width:720px;margin:0 auto}.encyclopedia-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.encyclopedia-header h1{font-size:22px;font-weight:600}.close-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#ffffff14;color:#eaf6ff;font-size:18px}.species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.species-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px;font-size:12px;line-height:1.4;color:inherit;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.species-card.locked{opacity:.62}.species-portrait{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px;background:radial-gradient(circle at 50% 42%,#78c8ff24,#04142200 68%);margin-bottom:8px}.species-portrait-missing{background:#ffffff0a}.species-status{display:inline-block;margin-top:8px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid currentColor}.species-status.safe{color:#7ce0a8}.species-status.watch{color:#ffd479}.species-status.warn{color:#ffab5c}.species-status.risk{color:#ff8a8a}.species-status.unknown{color:#dcecf68c}.encyclopedia-progress-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--foam-dim, rgba(200, 228, 245, .66));margin-top:3px}.encyclopedia-progress{height:3px;border-radius:2px;background:#ffffff1a;overflow:hidden;margin-bottom:18px}.encyclopedia-progress span{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,#6fdcff,#ffc447);transition:width var(--calm, .42s) var(--ease, ease)}.species-sheet{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#020c148c;padding:12px;z-index:5}.species-sheet[hidden]{display:none}.species-sheet-inner{width:100%;max-width:560px;max-height:86vh;overflow-y:auto;padding:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));border-radius:20px;background:#061a2a;border:1px solid var(--glass-edge, rgba(255, 255, 255, .16));box-shadow:0 -10px 50px #0009;animation:sheet-rise .32s cubic-bezier(.22,1,.36,1) both}@keyframes sheet-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.species-sheet-head{display:flex;align-items:flex-start;gap:14px}.species-sheet-title{flex:1;min-width:0}.species-sheet-portrait{width:92px;height:92px;flex:none;object-fit:contain;border-radius:14px;background:radial-gradient(circle at 50% 42%,#78c8ff29,#04142200 70%)}.species-sheet-head h2{font-size:21px;letter-spacing:-.01em}.species-sheet h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#c8e4f599;margin:16px 0 6px}.species-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 16px;margin-top:16px}.species-facts dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c8e4f58c}.species-facts dd{font-size:14px;line-height:1.4}.species-fact-list,.species-threats{list-style:none;display:flex;flex-direction:column;gap:7px}.species-fact-list li,.species-threats li{position:relative;padding-left:16px;font-size:14px;line-height:1.45;color:#e0f0fae0}.species-fact-list li:before,.species-threats li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--cyan, #6fdcff)}.species-threats li:before{background:#ff8a8a}.species-name{font-size:15px;font-weight:700;margin-bottom:2px}.species-sci{font-style:italic;opacity:.75;font-size:12px}.touch-controls.hidden-for-photo,.touch-controls.dormant{display:none}.photo-mode-overlay{position:absolute;inset:0;pointer-events:none}.photo-controls{position:absolute;bottom:calc(28px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;pointer-events:auto}.zoom-slider{width:140px;accent-color:#6fdcff}.shutter-btn{width:64px;height:64px;border-radius:50%;border:3px solid #eaf6ff;background:#ffffff26;font-size:24px}.gallery-screen{position:absolute;inset:0;background:#030f1af2;overflow-y:auto;padding:16px}.gallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;max-width:720px;margin-inline:auto}.gallery-header h1{font-size:22px;font-weight:600}.gallery-empty{text-align:center;opacity:.7;margin-top:40px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-width:720px;margin:0 auto}.gallery-tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.15)}.photo-lightbox{position:fixed;inset:0;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10}.photo-lightbox img{max-width:92vw;max-height:70vh;border-radius:12px}.lightbox-actions{display:flex;gap:12px}.lightbox-actions button{padding:10px 20px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#eaf6ff}.lightbox-delete{border-color:#e5484d!important;background:#e5484d40!important}.build-menu{position:absolute;bottom:calc(190px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;background:#031b2ebf;border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:12px;width:min(90vw,360px)}.build-piece-row{display:flex;gap:8px;width:100%}.build-piece-btn{flex:1;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#ffffff0f;color:#eaf6ff;font-size:12px}.build-piece-btn.active{background:#7cffb24d;border-color:#7cffb2}.build-actions{display:flex;gap:8px;width:100%}.build-place-btn,.build-exit-btn{flex:1;padding:10px;border-radius:10px;border:none;font-size:14px;font-weight:600}.build-place-btn{background:#ffb703;color:#031b2e}.build-exit-btn{background:#ffffff1a;color:#eaf6ff;border:1px solid rgba(255,255,255,.3)}.chat-ui{position:absolute;left:12px;bottom:calc(210px + env(safe-area-inset-bottom,0px));width:min(72vw,300px);display:flex;flex-direction:column;gap:6px}.chat-messages{max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;font-size:12px;padding:6px;background:#030f1a73;border-radius:8px}.chat-message{color:#eaf6ff;word-break:break-word}.chat-message.chat-system{opacity:.65;font-style:italic}.chat-form{display:flex;gap:6px}.chat-input{flex:1;padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#031b2e99;color:#eaf6ff;font-size:13px}.chat-form button{padding:7px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffb70359;color:#eaf6ff;font-size:13px}.settings-screen{position:absolute;inset:0;background:#030f1af2;overflow-y:auto;padding:16px}.settings-panel{max-width:420px;margin:0 auto}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.settings-header h1{font-size:22px;font-weight:600}.settings-field{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.settings-field label{font-size:14px}.settings-field select,.settings-field input[type=range]{flex:1;max-width:55%}.settings-field input[type=range]{accent-color:#4fc3f7}.settings-field input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:13px;border:1px solid rgba(255,255,255,.28);background:#ffffff14;position:relative;cursor:pointer;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}.settings-field input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#eaf6ffd9;transition:transform .18s cubic-bezier(.22,1,.36,1)}.settings-field input[type=checkbox]:checked{background:#4fc3f773;border-color:#4fc3f7bf}.settings-field input[type=checkbox]:checked:after{transform:translate(20px)}.settings-field:has(.settings-value) input[type=range]{max-width:42%}.settings-value{min-width:46px;text-align:right;font-size:13px;font-variant-numeric:tabular-nums;opacity:.75}.settings-field select{padding:6px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#ffffff14;color:#eaf6ff}.main-menu{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 90% 55% at 50% 58%,#020e18b8,#020e1800 70%),linear-gradient(180deg,#020e1873,#020e181a 35%,#020e1899);text-align:center;padding:24px;animation:menu-in .9s cubic-bezier(.22,1,.36,1) both}@keyframes menu-in{0%{opacity:0}to{opacity:1}}#game-canvas{opacity:0;transition:opacity 1.4s cubic-bezier(.22,1,.36,1)}#game-canvas.revealed{opacity:1}.main-menu-panel{display:flex;flex-direction:column;align-items:center;gap:14px}.main-menu-panel h1{font-size:48px;font-weight:800;letter-spacing:4px;color:#eaf6ff;text-shadow:0 2px 18px rgba(0,12,22,.85),0 0 30px rgba(191,232,255,.55);animation:title-rise 1.4s cubic-bezier(.22,1,.36,1) both}@keyframes title-rise{0%{opacity:0;transform:translateY(14px);letter-spacing:12px}to{opacity:1;transform:translateY(0);letter-spacing:4px}}.main-menu-panel .tagline{font-size:15px;opacity:.8;margin-bottom:12px;text-shadow:0 1px 10px rgba(0,12,22,.8);animation:fade-up 1.2s .26s cubic-bezier(.22,1,.36,1) both}.main-menu-btn{animation:fade-up 1.2s .48s cubic-bezier(.22,1,.36,1) both}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.main-menu-btn{padding:16px 36px;border-radius:14px;border:none;background:#ffb703;color:#031b2e;font-size:16px;font-weight:700}:root{--abyss: #04121f;--deep: #0a2740;--shallow: #12405f;--foam: #eaf6ff;--foam-dim: rgba(234, 246, 255, .62);--accent: #ffc447;--accent-deep: #e8a11d;--cyan: #6fdcff;--glass: rgba(9, 34, 54, .62);--glass-strong: rgba(6, 24, 40, .86);--glass-edge: rgba(160, 220, 255, .22);--glass-edge-soft: rgba(160, 220, 255, .12);--shadow-lift: 0 8px 28px rgba(0, 12, 24, .45);--shadow-deep: 0 24px 60px rgba(0, 10, 20, .6);--ease: cubic-bezier(.22, .9, .28, 1);--fast: .16s;--calm: .26s;--radius: 14px;--radius-lg: 20px}.hud-icon-btn,.chat-ui,.build-menu,.toast,.photo-controls{background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift)}.hud-icon-row{gap:12px}.hud-icon-btn{width:38px;height:38px;font-size:17px;border-radius:50%;transition:transform var(--fast) var(--ease),background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.hud-icon-btn:hover{background:#143e5cb8;border-color:#b4ebff66;transform:translateY(-2px)}.hud-icon-btn:active{transform:translateY(0) scale(.94)}.touch-btn{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift);transition:transform var(--fast) var(--ease),background var(--fast) var(--ease)}.touch-btn:active,.touch-btn.pressed{transform:scale(.92);background:#ffc4475c}.touch-btn.active{background:#ffc4476b;border-color:var(--accent)}.depth-pill{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift)}.depth-pill .touch-btn{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;box-shadow:none}.depth-pill .touch-btn:first-child{border-bottom:1px solid var(--glass-edge)}.depth-pill .touch-btn:active,.depth-pill .touch-btn.pressed{transform:none;background:#ffc4475c}.joystick-base{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.joystick-knob{background:radial-gradient(circle at 35% 30%,#fffffff2,#a0d7f59e);box-shadow:0 4px 16px #00142880}.chat-ui{padding:10px;border-radius:var(--radius);gap:8px;transition:width var(--calm) var(--ease)}.chat-status{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--foam-dim)}.chat-status-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.chat-ui.chat-solo{width:max-content}.chat-ui.chat-solo .chat-messages,.chat-ui.chat-solo .chat-form{display:none}.chat-ui.chat-solo .chat-status-dot{background:var(--foam-dim);box-shadow:none}.chat-messages{background:#03101c80;border-radius:10px;line-height:1.45}.chat-input{background:#03101c9e;border:1px solid var(--glass-edge-soft);border-radius:10px;transition:border-color var(--fast) var(--ease)}.chat-input:focus{outline:none;border-color:#6fdcff99}.chat-form button{border-radius:10px;border:1px solid var(--glass-edge);background:#ffc44738;color:var(--foam);transition:background var(--fast) var(--ease),transform var(--fast) var(--ease)}.chat-form button:hover{background:#ffc4475c}.chat-form button:active{transform:scale(.96)}.toast{border-radius:var(--radius);border-color:#ffc44773;padding:12px 18px;font-weight:500;letter-spacing:.01em;transform:translateY(-12px) scale(.98);transition:opacity var(--calm) var(--ease),transform var(--calm) var(--ease)}.toast.visible{transform:translateY(0) scale(1)}.encyclopedia-screen,.gallery-screen,.settings-screen{background:radial-gradient(circle at 50% 0%,#12405ff0,#04121ff7 70%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:oceana-fade var(--calm) var(--ease)}.creator{animation:oceana-fade var(--calm) var(--ease)}@keyframes oceana-fade{0%{opacity:0}}.encyclopedia-header h1,.gallery-header h1,.settings-header h1{font-weight:650;letter-spacing:-.015em}.close-btn{border-radius:50%;border:1px solid var(--glass-edge);background:var(--glass);transition:background var(--fast) var(--ease),transform var(--fast) var(--ease)}.close-btn:hover{background:#143e5ccc}.close-btn:active{transform:scale(.92)}.species-card{background:linear-gradient(160deg,#184a6c8c,#081e309e);border:1px solid var(--glass-edge-soft);border-radius:var(--radius);box-shadow:var(--shadow-lift);transition:transform var(--calm) var(--ease),border-color var(--calm) var(--ease)}.species-card:not(.locked):hover{transform:translateY(-3px);border-color:#6fdcff66}.species-card:active{transform:scale(.98)}.species-name{letter-spacing:-.01em}.build-menu{border-radius:var(--radius-lg);padding:14px}.build-piece-btn{border-radius:10px;border-color:var(--glass-edge-soft);transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.build-place-btn{background:linear-gradient(180deg,var(--accent),var(--accent-deep));box-shadow:0 6px 18px #e8a11d59}.main-menu-btn{background:linear-gradient(180deg,var(--accent),var(--accent-deep));box-shadow:0 10px 30px #e8a11d57;letter-spacing:.01em;transition:transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.main-menu-btn:hover{transform:translateY(-2px);box-shadow:0 14px 38px #e8a11d73}.main-menu-btn:active{transform:translateY(0) scale(.985)}.main-menu{background:radial-gradient(ellipse 95% 48% at 50% 62%,#020e18bd,#020e1800 72%),linear-gradient(180deg,#020e1866,#020e180f 34%,#020e188c)}.main-menu-panel h1{font-size:58px;font-weight:200;letter-spacing:14px;text-indent:14px;text-shadow:0 0 40px rgba(140,220,255,.55);animation:oceana-rise .9s var(--ease) both}.main-menu-panel .tagline{letter-spacing:.06em;color:var(--foam-dim);animation:oceana-rise .9s .12s var(--ease) both}.main-menu-panel .main-menu-btn{animation:oceana-rise .9s .24s var(--ease) both}.main-menu-panel .build-stamp{margin-top:20px;font-size:11px;letter-spacing:.04em;color:var(--foam-dim);opacity:.45;animation:oceana-rise .9s .44s var(--ease) both}.main-menu-panel .main-menu-btn.secondary{margin-top:12px;background:transparent;color:var(--foam-dim);border:1px solid var(--foam-dim);box-shadow:none;animation-delay:.34s}.main-menu-panel .main-menu-btn.secondary:hover{background:#ffffff14;color:var(--foam)}@keyframes oceana-rise{0%{opacity:0;transform:translateY(14px)}}.creator-name input,.settings-field select{border-radius:10px;border-color:var(--glass-edge-soft);background:#03101c8c;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.creator-name input:focus,.settings-field select:focus{outline:none;border-color:#6fdcff99}.settings-field{border-bottom-color:var(--glass-edge-soft)}.photo-controls{padding:12px 20px;border-radius:999px}.shutter-btn{border-color:var(--foam);background:#ffffff29;transition:transform var(--fast) var(--ease)}.shutter-btn:active{transform:scale(.9)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.creator-shape input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.5rem;background:transparent;cursor:pointer}.creator-shape input[type=range]::-webkit-slider-runnable-track{height:.3rem;border-radius:999px;background:#ffffff24}.creator-shape input[type=range]::-moz-range-track{height:.3rem;border-radius:999px;background:#ffffff24}.creator-shape input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.05rem;height:1.05rem;margin-top:-.375rem;border-radius:50%;border:none;background:linear-gradient(180deg,#ffd97a,#f0a92e);box-shadow:0 1px 4px #00000073}.creator-shape input[type=range]::-moz-range-thumb{width:1.05rem;height:1.05rem;border-radius:50%;border:none;background:linear-gradient(180deg,#ffd97a,#f0a92e);box-shadow:0 1px 4px #00000073}.creator-shape input[type=range]:focus-visible{outline:2px solid rgba(255,200,90,.7);outline-offset:3px;border-radius:999px}.map-screen{position:absolute;inset:0;display:flex;flex-direction:column;background:#020e18f0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:calc(9px + env(safe-area-inset-top,0px)) 9px calc(9px + env(safe-area-inset-bottom,0px));gap:7px}.map-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-title{display:flex;align-items:baseline;gap:10px;min-width:0}.map-title .map-here{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-header h1{font-size:15px;font-weight:600;letter-spacing:.02em}.map-here{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--foam-dim, rgba(200, 228, 245, .7));margin-top:0}.map-canvas-wrap{position:relative;flex:0 1 auto;width:100%;aspect-ratio:1 / 1.16;max-height:100%;margin:auto 0;min-height:0;border-radius:var(--radius, 16px);overflow:hidden;border:1px solid var(--glass-edge, rgba(255, 255, 255, .16));box-shadow:var(--shadow-lift, 0 10px 40px rgba(0, 0, 0, .45))}.map-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.map-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%) translateY(6px);padding:8px 14px;border-radius:999px;background:#ffc447e6;color:#06202f;font-size:12px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.map-hint.visible{opacity:1;transform:translate(-50%) translateY(0)}.map-footer{display:flex;flex-direction:column;gap:7px}.map-readout{font-size:10.5px;font-variant-numeric:tabular-nums;color:#c8e4f5b8;text-align:center}.map-actions{display:flex;gap:8px}.map-btn{flex:1;padding:9px;border-radius:12px;border:1px solid var(--glass-edge, rgba(255, 255, 255, .16));background:var(--glass, rgba(12, 40, 62, .6));color:#eaf6ff;font-size:12.5px;-webkit-tap-highlight-color:transparent;transition:background .16s ease,transform .16s ease}.map-btn:active{transform:scale(.97)}.map-btn.active{background:#ffc44766;border-color:var(--accent, #ffc447)}.map-btn.danger{background:#c8464647;border-color:#ff787873}.map-detail{position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-height:56%;overflow-y:auto;padding:16px;border-radius:18px;background:#061a2a;border:1px solid var(--glass-edge, rgba(255, 255, 255, .16));box-shadow:0 -8px 40px #0009}.map-detail[hidden]{display:none}.map-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.map-detail-kind{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent, #ffc447)}.map-detail h2{font-size:20px;margin-top:2px}.map-detail h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#c8e4f599;margin:14px 0 6px}.detail-close{width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--glass-edge, rgba(255, 255, 255, .16));background:#ffffff14;color:#eaf6ff;font-size:20px;line-height:1}.map-blurb{margin-top:8px;font-size:14px;line-height:1.45;color:#e0f0fad9}.map-stats{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.map-stats dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c8e4f58c}.map-stats dd{font-size:15px;font-variant-numeric:tabular-nums}.map-species{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.map-species li{padding:5px 10px;border-radius:999px;background:#5abef029;border:1px solid rgba(120,205,255,.28);font-size:13px}.map-species li.unknown{background:#ffffff0d;border-color:#ffffff1f;color:#dcecf673;font-style:italic}.map-marker-edit{display:flex;gap:10px;margin-top:14px}.marker-label{flex:1;min-width:0;padding:11px 12px;border-radius:14px;border:1px solid var(--glass-edge, rgba(255, 255, 255, .16));background:#ffffff12;color:#eaf6ff;font-size:14px}.map-marker-edit .map-btn{flex:0 0 auto;padding:11px 16px}.icon{width:1.35em;height:1.35em;display:block;flex:none;vector-effect:non-scaling-stroke}.hud-icon-btn .icon{width:22px;height:22px}.touch-btn .icon{width:24px;height:24px}.button-row-secondary .touch-btn .icon{width:21px;height:21px}.touch-btn-lg .icon{width:30px;height:30px}.depth-pill .touch-btn .icon{width:22px;height:22px}.close-btn,.detail-close{display:flex;align-items:center;justify-content:center}.close-btn .icon,.detail-close .icon{width:17px;height:17px}.toast-container{z-index:6}.toast{display:flex;align-items:center;gap:10px;max-width:100%;border-radius:var(--radius);padding:11px 16px;font-size:14px;line-height:1.35;text-align:left;color:var(--foam);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift)}.toast .icon{width:18px;height:18px;opacity:.9}.toast-text{min-width:0}.toast-info{border-color:#a0dcff3d}.toast-info .icon{color:var(--cyan)}.toast-success{border-color:#7cffb257}.toast-success .icon{color:#7cffb2}.toast-warn{border-color:#ffc44780}.toast-warn .icon{color:var(--accent)}.toast.repeat{animation:toast-nudge .32s var(--ease)}@keyframes toast-nudge{40%{transform:translateY(2px) scale(1.015)}}.discovery-card{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:var(--radius-lg);background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--shadow-deep);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);text-align:left;opacity:0;transform:translateY(-14px) scale(.97);transition:opacity .42s var(--ease),transform .42s var(--ease)}.discovery-card.visible{opacity:1;transform:translateY(0) scale(1)}.discovery-card.is-new{border-color:#ffc44773;box-shadow:var(--shadow-deep),0 0 34px #ffc44729}.discovery-portrait{width:76px;height:76px;flex:none;border-radius:14px;background:radial-gradient(circle at 50% 42%,rgba(80,170,220,.3),transparent 70%);display:flex;align-items:center;justify-content:center;overflow:hidden}.discovery-portrait img{width:100%;height:100%;object-fit:contain}.discovery-body{min-width:0}.discovery-kicker{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--foam-dim)}.discovery-card.is-new .discovery-kicker{color:var(--accent)}.discovery-body h2{font-size:18px;font-weight:650;letter-spacing:-.012em;margin-top:3px;text-wrap:balance}.discovery-sci{font-size:12.5px;font-style:italic;color:var(--foam-dim)}.discovery-fact{margin-top:7px;padding-top:7px;border-top:1px solid var(--glass-edge-soft);font-size:12.5px;line-height:1.45;color:#e0f0fad1}.scan-reticle{position:absolute;left:50%;top:50%;width:132px;height:132px;transform:translate(-50%,-50%);pointer-events:none;opacity:0;color:var(--cyan);transition:opacity .22s var(--ease);--lock: 0}.scan-reticle.active{opacity:1}.scan-reticle.complete{color:var(--accent)}.scan-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.scan-ring-track,.scan-ring-progress{fill:none;stroke-width:1.6}.scan-ring-track{stroke:currentColor;opacity:.16}.scan-ring-progress{stroke:currentColor;stroke-linecap:round;stroke-dasharray:276.5;stroke-dashoffset:276.5;filter:drop-shadow(0 0 5px currentColor)}.scan-bracket{position:absolute;width:18%;height:18%;border:2px solid currentColor;opacity:.85}.scan-bracket.tl{top:calc(4% + var(--lock) * 9%);left:calc(4% + var(--lock) * 9%);border-right:none;border-bottom:none;border-top-left-radius:4px}.scan-bracket.tr{top:calc(4% + var(--lock) * 9%);right:calc(4% + var(--lock) * 9%);border-left:none;border-bottom:none;border-top-right-radius:4px}.scan-bracket.bl{bottom:calc(4% + var(--lock) * 9%);left:calc(4% + var(--lock) * 9%);border-right:none;border-top:none;border-bottom-left-radius:4px}.scan-bracket.br{bottom:calc(4% + var(--lock) * 9%);right:calc(4% + var(--lock) * 9%);border-left:none;border-top:none;border-bottom-right-radius:4px}.scan-sweep{position:absolute;left:14%;right:14%;height:1.5px;background:linear-gradient(90deg,transparent,currentColor,transparent);filter:drop-shadow(0 0 6px currentColor);opacity:.75}.scan-reticle.active .scan-sweep{animation:scan-sweep 1.15s var(--ease) infinite}@keyframes scan-sweep{0%{top:16%;opacity:0}15%{opacity:.8}85%{opacity:.8}to{top:84%;opacity:0}}.scan-distance{position:absolute;left:50%;top:calc(100% + 7px);transform:translate(-50%);white-space:nowrap;font-size:11px;letter-spacing:.1em;font-variant-numeric:tabular-nums;color:currentColor;text-shadow:0 1px 6px rgba(0,12,22,.9)}.scan-reticle.complete .scan-sweep{animation:none;opacity:0}.photo-mode-overlay{z-index:5}.photo-frame{position:absolute;inset:6% 5%;pointer-events:none}.frame-corner{position:absolute;width:26px;height:26px;border:2px solid rgba(255,255,255,.72)}.frame-corner.tl{top:0;left:0;border-right:none;border-bottom:none}.frame-corner.tr{top:0;right:0;border-left:none;border-bottom:none}.frame-corner.bl{bottom:0;left:0;border-right:none;border-top:none}.frame-corner.br{bottom:0;right:0;border-left:none;border-top:none}.frame-thirds{position:absolute;inset:0}.frame-thirds i{position:absolute;background:#ffffff24}.frame-thirds i:nth-child(1),.frame-thirds i:nth-child(2){top:0;bottom:0;width:1px}.frame-thirds i:nth-child(1){left:33.333%}.frame-thirds i:nth-child(2){left:66.666%}.frame-thirds i:nth-child(3),.frame-thirds i:nth-child(4){left:0;right:0;height:1px}.frame-thirds i:nth-child(3){top:33.333%}.frame-thirds i:nth-child(4){top:66.666%}.photo-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.photo-mode-overlay.shutter-fired .photo-flash{animation:photo-flash .22s ease-out}@keyframes photo-flash{0%{opacity:.55}to{opacity:0}}.zoom-control{display:flex;align-items:center;gap:10px}.zoom-readout{min-width:38px;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--foam-dim)}.shutter-btn{display:flex;align-items:center;justify-content:center;border:2px solid rgba(234,246,255,.85);background:#ffffff24;color:var(--foam)}.shutter-btn .icon{width:34px;height:34px}.photo-mode-overlay.shutter-fired .shutter-btn{transform:scale(.88)}.gallery-panel{max-width:760px;margin:0 auto;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.gallery-header{align-items:flex-start;max-width:none;margin-bottom:22px}.gallery-count{margin-top:3px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--foam-dim)}.gallery-body{display:flex;flex-direction:column;gap:26px}.gallery-day h2{margin-bottom:10px;font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#c8e4f599}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:12px;max-width:none}.gallery-tile{position:relative;display:block;padding:0;border:none;background:none;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform var(--calm) var(--ease)}.gallery-tile:hover{transform:translateY(-2px)}.gallery-tile:active{transform:scale(.985)}.gallery-tile img{border-radius:12px;display:block}.gallery-time{position:absolute;left:8px;bottom:7px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--foam);text-shadow:0 1px 4px rgba(0,8,16,.95)}.gallery-empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12vh;opacity:1;color:var(--foam-dim)}.gallery-empty-mark{display:flex;align-items:center;justify-content:center;width:74px;height:74px;margin-bottom:4px;border-radius:50%;border:1px solid var(--glass-edge-soft);background:#ffffff0a;color:#a0dcff99}.gallery-empty-mark .icon{width:34px;height:34px}.gallery-empty h2{font-size:17px;font-weight:600;color:var(--foam)}.gallery-empty p{max-width:30ch;font-size:13.5px;line-height:1.5;text-align:center}.lightbox-caption{font-size:12.5px;letter-spacing:.06em;color:var(--foam-dim)}.lightbox-btn{display:flex;align-items:center;gap:7px;padding:11px 18px;border-radius:12px;border:1px solid var(--glass-edge);background:#ffffff14;color:var(--foam);font-size:14px;text-decoration:none;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.lightbox-btn .icon{width:17px;height:17px}.lightbox-btn:hover{background:#ffffff24}.lightbox-delete{border-color:#ff787866;color:#ffb0b0}.lightbox-delete.armed{background:#c846466b;border-color:#ff7878d9;color:var(--foam)}.map-btn{display:flex;align-items:center;justify-content:center;gap:8px}.map-btn .icon{width:17px;height:17px;opacity:.9}.board-prompt{position:absolute;left:50%;bottom:calc(210px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--foam);font-size:13.5px;letter-spacing:.02em;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,8px);transition:opacity var(--calm) var(--ease),transform var(--calm) var(--ease)}.board-prompt.visible{opacity:1;transform:translate(-50%)}.board-prompt .icon{width:20px;height:20px;color:var(--cyan)}.pilot-console{position:absolute;left:50%;top:calc(14px + env(safe-area-inset-top,0px));display:flex;align-items:stretch;gap:1px;border-radius:var(--radius);overflow:hidden;background:var(--glass-edge-soft);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift);pointer-events:none;opacity:0;transform:translate(-50%,-8px);transition:opacity var(--calm) var(--ease),transform var(--calm) var(--ease)}.pilot-console.visible{opacity:1;transform:translate(-50%)}.pilot-stat{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:74px;padding:9px 12px 10px;background:#061828e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.pilot-label{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#c8e4f58c}.pilot-value{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--foam);letter-spacing:-.01em}.pilot-value i{font-style:normal;font-size:10.5px;font-weight:500;margin-left:1.5px;color:var(--foam-dim)}.pilot-heading{position:relative}.pilot-card{position:absolute;right:8px;top:9px;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--accent)}.settings-group{margin:22px 0 2px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#c8e4f58c}.settings-group:first-of-type{margin-top:6px}.settings-note{padding-top:8px;font-size:12px;line-height:1.45;color:#c8e4f580}.build-menu-hint{font-size:12px;line-height:1.45;text-align:center;color:#c8e4f59e}.build-piece-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 9px;border-radius:12px}.build-piece-art{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4 / 3;border-radius:9px;background:radial-gradient(circle at 50% 40%,rgba(70,150,200,.22),transparent 72%);object-fit:contain}.build-piece-art-missing{color:#a0dcff80}.build-piece-art-missing .icon{width:26px;height:26px}.build-piece-name{font-size:11.5px;line-height:1.25;text-align:center;color:var(--foam-dim)}.build-piece-btn.active .build-piece-name{color:var(--foam)}.dive-computer{position:absolute;left:50%;top:calc(12px + env(safe-area-inset-top,0px));width:min(74vw,300px);display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:6px 10px 7px;border-radius:var(--radius);background:#061828b8;border:1px solid var(--glass-edge-soft);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;opacity:0;transform:translate(-50%,-6px);transition:opacity var(--calm) var(--ease),transform var(--calm) var(--ease)}.dive-computer.visible{opacity:1;transform:translate(-50%)}.dive-ribbon{display:block;width:100%;height:34px}.dive-readout{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dive-depth{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--foam);letter-spacing:-.01em}.dive-depth i{font-style:normal;font-size:10px;font-weight:500;margin-left:1.5px;color:var(--foam-dim)}.dive-place{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--foam-dim)}.dive-place.unknown{opacity:.6}.dive-course{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:2px;padding-top:5px;border-top:1px solid var(--glass-edge-soft);color:var(--accent)}.dive-course[hidden]{display:none}.dive-course-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.dive-course-distance{flex:none;font-size:12px;font-variant-numeric:tabular-nums;opacity:.85}.map-btn.course-btn{width:100%;margin-top:14px}.startup-failure{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 30%,#12405fe6,#04121ffa 70%);text-align:center}.startup-failure-panel{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:34ch}.startup-failure-panel h1{font-size:21px;font-weight:600;letter-spacing:-.01em;color:var(--foam);text-wrap:balance}.startup-failure-panel p{font-size:14px;line-height:1.55;color:#e0f0facc}.startup-failure-detail{font-size:12px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#c8e4f580!important;word-break:break-word}.startup-failure-panel .main-menu-btn{margin-top:6px}.top-stack{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:12px;right:12px;display:flex;flex-direction:column;align-items:stretch;gap:10px;pointer-events:none}.top-stack>*{pointer-events:auto}.top-stack .dive-computer{order:0}.top-stack .hud-menu{order:1}.top-stack .action-row-top{order:2}.top-stack .toast-container{order:3}.top-stack .action-row-top{position:static;flex-basis:100%;display:flex;justify-content:flex-start;gap:10px;opacity:1}.top-stack .dive-computer,.top-stack .hud-menu,.top-stack .toast-container{position:static;transform:none;left:auto;right:auto;top:auto;width:auto;max-width:none}.top-stack .hud-menu{position:relative}.top-stack .hud-menu .hud-icon-row{position:absolute;top:calc(100% + 8px);right:0;left:auto;width:auto;max-width:none}.top-stack .hud-menu{align-self:flex-end}.top-stack .toast-container{align-self:center;width:min(100%,380px)}.top-stack .dive-computer{gap:0;padding:7px 13px 9px;border-radius:16px;background:#051523a8;border:1px solid rgba(160,220,255,.14);transform:translateY(-6px)}.top-stack .dive-computer.visible{transform:translateY(0)}.dive-ribbon{height:36px}.dive-readout{align-items:baseline;margin-top:1px}.dive-depth{font-size:15px;letter-spacing:-.015em}.dive-depth i{font-size:10.5px;margin-left:2px}.dive-place{font-size:10.5px;letter-spacing:.13em}.dive-course{margin-top:7px;padding-top:6px}.dive-course-name{font-size:12px;letter-spacing:.005em}.dive-course-distance{font-size:12px;font-weight:600}.dive-ribbon{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.top-stack{flex-flow:row wrap;align-items:flex-start;column-gap:10px}.top-stack .dive-computer{flex:0 1 auto;width:min(100%,460px)}.top-stack .hud-icon-row{margin-left:auto;align-self:flex-start}.top-stack .action-row-top,.top-stack .toast-container{flex-basis:100%}@media (max-height: 520px){.top-stack{top:calc(6px + env(safe-area-inset-top,0px));row-gap:8px}.hud-icon-btn{width:42px;height:42px}.hud-icon-btn .icon{width:20px;height:20px}.joystick-zone{height:64%;max-height:none}.chat-ui{bottom:calc(160px + env(safe-area-inset-bottom,0px));max-height:92px}.button-cluster{gap:8px}.build-menu{bottom:calc(150px + env(safe-area-inset-bottom,0px))}.board-prompt{bottom:calc(160px + env(safe-area-inset-bottom,0px))}}@media (max-width: 400px){.button-row-secondary{display:grid;grid-template-columns:repeat(2,auto);justify-content:end;justify-items:end;width:auto}}.encyclopedia-progress-label strong{color:var(--foam);font-weight:650}.encyclopedia-note{margin:10px 0 18px;font-size:12.5px;line-height:1.5;color:#c8e4f59e}.species-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px}.species-card{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:12px 12px 14px;text-align:left;cursor:pointer}.species-figure{position:relative;aspect-ratio:4 / 3;margin-bottom:9px;border-radius:11px;background:radial-gradient(circle at 50% 42%,rgba(80,170,220,.26),transparent 72%);display:flex;align-items:center;justify-content:center;overflow:hidden}.species-figure.unlit{background:#ffffff09;border:1px dashed rgba(160,220,255,.16)}.species-portrait{width:100%;height:100%;object-fit:contain}.species-figure.unlit .species-portrait{opacity:.55}.species-tick{position:absolute;right:6px;bottom:5px;display:flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#061828d9;color:#7cffb2}.species-tick .icon{width:13px;height:13px}.species-card .species-name{font-size:14.5px;font-weight:650;line-height:1.25;text-wrap:balance}.species-card .species-sci{margin-bottom:5px;font-size:11.5px}.species-meta{font-size:11.5px;line-height:1.4;color:#c8e4f599;font-variant-numeric:tabular-nums}.species-card .species-status{align-self:flex-start;margin-top:9px}.species-sheet-figure{width:84px;height:84px;flex:none;border-radius:14px;background:radial-gradient(circle at 50% 42%,rgba(80,170,220,.3),transparent 70%);display:flex;align-items:center;justify-content:center;overflow:hidden}.species-sheet-figure.unlit{background:#ffffff09;border:1px dashed rgba(160,220,255,.16)}.species-sheet-figure img{width:100%;height:100%;object-fit:contain}.species-sheet-figure.unlit img{opacity:.55}.species-note{display:flex;align-items:center;gap:9px;margin-top:14px;padding:9px 12px;border-radius:11px;font-size:12.5px;line-height:1.4}.species-note .icon{width:16px;height:16px;flex:none}.species-note.locked{background:#6fdcff12;border:1px solid rgba(111,220,255,.2);color:#c8ebffd9}.species-note.locked .icon{color:var(--cyan)}.species-note.done{background:#7cffb212;border:1px solid rgba(124,255,178,.22);color:#d6ffe8d9}.species-note.done .icon{color:#7cffb2}.species-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin-top:16px;border-radius:12px;overflow:hidden;background:var(--glass-edge-soft)}.species-facts>div{display:flex;flex-direction:column;gap:3px;padding:11px 12px;background:#081c2db8}.species-facts dt{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#c8e4f585}.species-facts dd{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--foam)}.species-sheet h3{margin:20px 0 7px;font-size:11px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:#c8e4f58c}.species-prose{font-size:14px;line-height:1.55;color:#e2f0fae6}.species-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none}.species-tags li{padding:5px 11px;border-radius:999px;background:#5abef024;border:1px solid rgba(120,205,255,.22);font-size:12.5px;color:#e0f4ffeb}.species-fact-list,.species-threats{display:flex;flex-direction:column;gap:8px;padding-left:17px}.species-fact-list li,.species-threats li{font-size:13.5px;line-height:1.5;color:#e0f0fad9}.species-threats li::marker{color:#ff9678bf}.species-fact-list li::marker{color:var(--cyan)}.species-sheet-inner{max-height:min(86vh,720px);padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent)}.species-sheet-head{position:sticky;top:-18px;z-index:1;margin:-18px -18px 0;padding:18px 18px 12px;background:linear-gradient(180deg,#061a2a 78%,#061a2a00)}.encyclopedia-screen{overflow:hidden;display:flex;flex-direction:column}.encyclopedia-panel{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.species-sheet{position:absolute}.top-stack,.button-cluster,.chat-ui{transition:opacity var(--fast) var(--ease)}#ui-root.chrome-resting .top-stack,#ui-root.chrome-resting .button-cluster,#ui-root.chrome-resting .joystick-base,#ui-root.chrome-resting .chat-ui{transition:opacity .9s var(--ease)}#ui-root.chrome-resting .top-stack{opacity:.32}#ui-root.chrome-resting .button-cluster{opacity:.38}#ui-root.chrome-resting .joystick-base{opacity:.1}#ui-root.chrome-resting .chat-ui{opacity:.24}@media (prefers-reduced-motion: reduce){#ui-root.chrome-resting .top-stack,#ui-root.chrome-resting .button-cluster,#ui-root.chrome-resting .joystick-base,#ui-root.chrome-resting .chat-ui{transition-duration:1ms}}.touch-btn.scanner-btn{border-color:#6fdcff80;background:#103a54a8;box-shadow:var(--shadow-lift),inset 0 0 0 1px #6fdcff1f}.hud-icon-btn{border-color:var(--glass-edge-soft);background:#09223680;box-shadow:0 4px 14px #000c184d}.hud-icon-row{gap:8px}.top-stack .dive-computer{width:min(66vw,260px);padding:5px 11px 7px;border-radius:13px;background:#05152380;border-color:#a0dcff1a;box-shadow:0 6px 20px #000c1852}.hud-menu{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hud-menu .hud-icon-row{flex-direction:column;align-items:flex-end;gap:8px;opacity:0;transform:scale(.86) translateY(-6px);transform-origin:top right;pointer-events:none;transition:opacity var(--fast) var(--ease),transform var(--fast) var(--ease)}.hud-menu.open .hud-icon-row{opacity:1;transform:none;pointer-events:auto}.hud-menu.open .hud-menu-toggle{background:#103a54b8;border-color:#a0dcff57}@media (prefers-reduced-motion: reduce){.hud-menu .hud-icon-row{transition-duration:1ms;transform:none}}.touch-controls:not(.vehicle-available) .vehicle-btn{display:none}.vehicle-btn{transition:opacity var(--calm) var(--ease)}#booting{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 34px;text-align:center;color:#eaf6ff9e;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;transition:opacity .5s var(--ease, ease)}#booting p{margin:0}.booting-stage{font-size:.68rem;letter-spacing:.2em;color:#a0dcff6b;min-height:1em;transition:color .3s var(--ease, ease)}.booting-resumed{position:fixed;left:max(1rem,env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));margin:0;padding:.35rem .75rem;border-radius:999px;background:#0312208c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#a0dcffb8;pointer-events:none;z-index:40}.booting-detail{max-width:30ch;font-size:.66rem;line-height:1.7;letter-spacing:.06em;text-transform:none;color:#eaf6ff80}.booting-blocked{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;gap:.9rem;align-items:center;justify-content:center;padding:2rem 2.2rem;background:#031b2e;text-align:center}.booting-blocked p{max-width:34ch;margin:0;font-size:.95rem;line-height:1.65;color:#eaf6ffa8}.booting-blocked strong{color:#ffc8aaeb;font-size:1.05rem}#booting.stalled .booting-mark{animation:none;border-color:#ff967852;border-top-color:#ff967852}#booting.stalled .booting-stage{color:#ffba96c7}#booting.done{opacity:0}.booting-mark{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(160,220,255,.18);border-top-color:#ffc447cc;animation:booting-turn 1.1s linear infinite;will-change:transform}@keyframes booting-turn{to{transform:rotate(1turn)}}@media (prefers-reduced-motion: reduce){.booting-mark{animation:none;border-top-color:#a0dcff80}}.device-report{position:fixed;left:8px;bottom:8px;z-index:900;margin:0;padding:10px 12px;max-width:calc(100vw - 16px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;color:#eaf6ff;background:#04121ce0;border:1px solid rgb(255 255 255 / 22%);border-radius:8px;white-space:pre;overflow-x:auto;pointer-events:none}.progress-strip{order:-1;position:relative;align-self:stretch;pointer-events:auto}.progress-strip-btn{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"rank track" "rank meta";align-items:center;gap:2px 10px;width:100%;padding:7px 11px;border:1px solid var(--glass-edge-soft);border-radius:var(--radius, 14px);background:var(--glass, rgba(9, 34, 54, .62));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--foam, #eaf6ff);text-align:left;font:inherit;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.progress-strip-btn:hover,.progress-strip-btn:focus-visible{background:var(--glass-strong, rgba(6, 24, 40, .86));border-color:var(--glass-edge, rgba(160, 220, 255, .22))}.progress-rank{grid-area:rank;display:flex;align-items:baseline;gap:7px}.progress-level{font-size:21px;font-weight:700;line-height:1;color:var(--accent, #ffc447);font-variant-numeric:tabular-nums}.progress-title{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progress-track{grid-area:track;height:5px;border-radius:3px;background:#ffffff1f;overflow:hidden}.progress-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--cyan, #6fdcff),var(--accent, #ffc447));transition:width .62s var(--ease)}.progress-meta{grid-area:meta;display:flex;justify-content:space-between;gap:10px;font-size:9.5px;color:var(--foam-dim, rgba(234, 246, 255, .62));font-variant-numeric:tabular-nums}.progress-next{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-gains{position:absolute;inset-inline:0;top:0;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;z-index:30}.progress-gain{padding:4px 11px;border-radius:999px;background:#061828ed;border:1px solid var(--glass-edge, rgba(160, 220, 255, .22));box-shadow:0 3px 12px #020c1666;color:var(--foam, #eaf6ff);font-size:11px;white-space:nowrap;animation:oceana-gain 2.6s var(--ease) forwards}.progress-gain strong{color:var(--accent, #ffc447);font-variant-numeric:tabular-nums}@keyframes oceana-gain{0%{opacity:0;transform:translateY(6px) scale(.96)}12%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.level-card{position:absolute;inset:0;display:grid;place-items:center;padding:20px;pointer-events:auto;z-index:40;animation:oceana-fade var(--calm) var(--ease)}.level-card-panel{max-width:340px;padding:22px 24px;border-radius:18px;border:1px solid var(--glass-edge, rgba(160, 220, 255, .22));background:radial-gradient(circle at 50% 0%,#144a6cf5,#051523f7 76%);box-shadow:var(--shadow-deep, 0 24px 60px rgba(0, 10, 20, .6));text-align:center;animation:oceana-rise .52s var(--ease)}@keyframes oceana-rise{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.level-card-kicker{margin:0 0 2px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent, #ffc447)}.level-card-panel h2{margin:0 0 12px;font-size:22px;color:var(--foam, #eaf6ff)}.level-card-unlock{display:flex;align-items:flex-start;gap:9px;margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#ffffff12;font-size:12px;line-height:1.45;text-align:left;color:var(--foam, #eaf6ff)}.level-card-unlock svg{flex:0 0 auto;width:18px;height:18px;color:var(--cyan, #6fdcff)}.level-card-next{margin:0;font-size:11px;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-screen{position:absolute;inset:0;overflow-y:auto;padding:16px;background:radial-gradient(circle at 50% 0%,#12405ff0,#04121ff7 70%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:oceana-fade var(--calm) var(--ease)}.progression-panel{max-width:640px;margin:0 auto}.progression-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.progression-kicker{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent, #ffc447)}.progression-header h1{margin:2px 0 3px;font-size:25px;color:var(--foam, #eaf6ff)}.progression-sub{margin:0;font-size:11.5px;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-track{height:8px;border-radius:4px;background:#ffffff1f;overflow:hidden}.progression-track span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--cyan, #6fdcff),var(--accent, #ffc447))}.progression-toNext{margin:8px 0 20px;font-size:12.5px;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-toNext strong{color:var(--foam, #eaf6ff);font-variant-numeric:tabular-nums}.progression-h2{margin:0 0 9px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-tasks{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.progression-task{padding:13px 14px;border-radius:14px;border:1px solid var(--glass-edge-soft);background:linear-gradient(180deg,#6fdcff17,#ffffff0a)}.progression-task.is-rare{border-color:#ffc4476b;background:linear-gradient(180deg,#ffc4471f,#ffffff0a)}.progression-task header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.progression-task h3{margin:0;font-size:14px;font-weight:600;color:var(--foam, #eaf6ff);text-wrap:balance}.progression-task-worth{flex:none;font-size:11.5px;font-weight:700;color:var(--accent, #ffc447);font-variant-numeric:tabular-nums}.progression-task-story{margin:5px 0 9px;font-size:11.5px;line-height:1.5;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.progression-step{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--foam, #eaf6ff)}.progression-step svg{width:13px;height:13px;flex:none;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-step.is-done{color:var(--foam-dim, rgba(234, 246, 255, .62));text-decoration:line-through;text-decoration-color:#eaf6ff4d}.progression-step.is-done svg{color:var(--cyan, #6fdcff)}.progression-task-count{margin:9px 0 0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:22px}.progression-count{padding:11px 12px;border-radius:12px;border:1px solid var(--glass-edge-soft);background:#ffffff0d}.progression-count.is-empty{opacity:.45}.progression-count-n{display:block;font-size:21px;font-weight:700;line-height:1.1;color:var(--foam, #eaf6ff);font-variant-numeric:tabular-nums}.progression-count-l{display:block;font-size:11px;color:var(--foam, #eaf6ff)}.progression-count-w{display:block;margin-top:2px;font-size:9.5px;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-ladder{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:6px}.progression-rung{display:grid;grid-template-columns:30px 24px 1fr;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;border:1px solid transparent;background:#ffffff0a;opacity:.5}.progression-rung.is-done{opacity:1;background:#ffffff12}.progression-rung.is-current{border-color:var(--accent, #ffc447);background:#ffc4471f}.progression-rung-level{font-size:13px;font-weight:700;text-align:center;color:var(--foam-dim, rgba(234, 246, 255, .62));font-variant-numeric:tabular-nums}.progression-rung.is-done .progression-rung-level{color:var(--accent, #ffc447)}.progression-rung-icon svg{width:20px;height:20px;color:var(--cyan, #6fdcff)}.progression-rung-body{display:flex;flex-direction:column;gap:1px;min-width:0}.progression-rung-body strong{font-size:12.5px;color:var(--foam, #eaf6ff)}.progression-rung-body span{font-size:11px;line-height:1.4;color:var(--foam-dim, rgba(234, 246, 255, .62))}.progression-note{margin:0;padding:12px 14px;border-radius:12px;background:#ffffff0a;font-size:11.5px;line-height:1.55;color:var(--foam-dim, rgba(234, 246, 255, .62))}@media (prefers-reduced-motion: reduce){.progress-fill{transition:none}.progress-gain,.level-card,.level-card-panel,.progression-screen{animation:none}}.grade-snapshot{--grade: #8fa7b8}.grade-good{--grade: #6fdcff}.grade-fine{--grade: #7fe3b0}.grade-portfolio{--grade: var(--accent, #ffc447)}.grade-no-subject{--grade: rgba(234, 246, 255, .4)}.gallery-grade{position:absolute;top:6px;left:6px;min-width:24px;padding:2px 6px;border-radius:8px;background:#04121fd1;border:1px solid color-mix(in srgb,var(--grade) 55%,transparent);color:var(--grade);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.lightbox-score{width:min(100%,420px);margin:12px auto 0;padding:12px 14px;border-radius:14px;border:1px solid var(--glass-edge-soft);background:#061828b8;text-align:left}.lightbox-score-head{display:flex;align-items:center;gap:12px}.lightbox-score-n{flex:none;min-width:46px;padding:5px 0;border-radius:11px;border:1px solid color-mix(in srgb,var(--grade) 55%,transparent);background:color-mix(in srgb,var(--grade) 12%,transparent);color:var(--grade);font-size:20px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.lightbox-score-head strong{display:block;font-size:14px;color:var(--foam, #eaf6ff)}.lightbox-score-subject{display:block;font-size:11.5px;color:var(--foam-dim, rgba(234, 246, 255, .62))}.lightbox-score-notes{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:11.5px}.lightbox-score-notes .is-good{color:var(--foam-dim, rgba(234, 246, 255, .62))}.lightbox-score-notes .is-weak{color:var(--accent, #ffc447)}.lightbox-score-notes li:before{content:"· ";opacity:.6}.species-observations{margin:18px 0 4px;padding:14px;border-radius:14px;border:1px solid var(--glass-edge-soft);background:#6fdcff0f}.species-observations h3{margin:0 0 10px}.species-own-photo{margin:0 0 12px}.species-own-photo img{display:block;width:100%;border-radius:11px;border:1px solid var(--glass-edge, rgba(160, 220, 255, .22))}.species-own-photo figcaption{margin-top:6px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--foam-dim, rgba(234, 246, 255, .62))}.species-observations-hint{margin:8px 0 0;font-size:11.5px;color:var(--foam-dim, rgba(234, 246, 255, .62))}.species-observations .species-facts>div:last-child:nth-child(odd){grid-column:1 / -1}.frame-meter{top:calc(8px + env(safe-area-inset-top,0px));bottom:auto}
