@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:dark;font-family:DM Sans,system-ui,sans-serif;background:#021823;color:#e9fbff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%;overflow:hidden}button{font:inherit}button:focus-visible{outline:2px solid #90f1e5;outline-offset:4px}#tank-app{position:relative;width:100vw;height:100dvh;min-height:480px;overflow:hidden;background:radial-gradient(ellipse at 30% 22%,#16586a 0,#073140 44%,#031823 74%,#02121c)}#reef-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;outline:0;z-index:0;touch-action:pan-y}.aquarium-vignette{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(0,15,21,.6) 0,transparent 25%,transparent 62%,rgba(0,13,20,.75) 100%),radial-gradient(ellipse at 50% 55%,transparent 48%,rgba(0,10,20,.48) 100%)}.surface-glow{position:absolute;pointer-events:none;z-index:1;left:10%;right:10%;top:-30%;height:45%;background:radial-gradient(ellipse,rgba(85,227,223,.16),transparent 60%);filter:blur(45px)}.scanlines{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.18;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(4,20,23,.09) 4px);mix-blend-mode:overlay}.app-header{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:31px clamp(22px,4vw,68px)}.brand{display:flex;align-items:center;gap:16px}.brand-mark{width:54px;height:54px;display:grid;place-items:center;color:#78e6df}.brand-mark svg{width:100%;height:100%}.eyebrow,.overline{font-size:10px;font-weight:700;letter-spacing:.22em;color:#88e6dc}.brand h1{font-family:Space Grotesk,sans-serif;font-size:17px;letter-spacing:.21em;margin:4px 0 0;font-weight:600}.live-status{display:flex;gap:12px;align-items:center;padding:11px 15px;border:1px solid rgba(173,240,234,.18);background:#02172375;border-radius:100px;backdrop-filter:blur(14px);font-size:10px;font-weight:700;letter-spacing:.17em;color:#a4ebe5;white-space:nowrap}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#65edd1;box-shadow:0 0 12px #65edd1;animation:pulse 2s infinite}.pulse-dot.offline{background:#e6c183;box-shadow:0 0 10px #e6c183}@keyframes pulse{50%{opacity:.38}}.hero-copy{position:absolute;z-index:2;left:clamp(22px,5vw,85px);top:26%;pointer-events:none;text-shadow:0 2px 25px rgba(0,23,33,.45)}.overline{color:#b2eeef}.hero-copy h2{font-family:Space Grotesk,sans-serif;font-size:clamp(46px,5vw,92px);font-weight:500;letter-spacing:-.075em;line-height:.92;margin:22px 0}.hero-copy em{font-style:normal;color:#83ebd9}.hero-copy p:last-child{font-size:13px;color:#bcdae0;max-width:210px;line-height:1.7}.specimen-dock{position:absolute;bottom:63px;left:clamp(22px,4vw,68px);z-index:3;max-width:565px;width:calc(100% - 44px);padding:22px 24px 20px;background:linear-gradient(125deg,#09242fd6,#08273499);border:1px solid rgba(172,236,230,.19);border-radius:18px;backdrop-filter:blur(22px);box-shadow:0 20px 70px #00121b47}.dock-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 4px 16px;border-bottom:1px solid rgba(184,238,231,.13)}.dock-heading .eyebrow{display:block;font-size:9px;margin-bottom:5px}.dock-heading strong{font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:500}.dock-count{font-family:Space Grotesk;font-size:12px;color:#8dbcc2;letter-spacing:.12em}.fish-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.fish-card{position:relative;display:flex;gap:12px;align-items:center;text-align:left;border-radius:11px;min-width:0;border:1px solid rgba(148,233,221,.13);padding:13px 12px;background:#0b2d3a99;color:#e7f6fb;cursor:pointer;transition:background .2s,border .2s,transform .2s}.fish-card:hover,.fish-card.selected{background:#23696e6b;border-color:#85edd97a;transform:translateY(-1px)}.fish-card.unavailable{opacity:.65}.fish-serial{position:absolute;top:5px;right:7px;font-size:9px;color:#6c9da5}.fish-swatch{width:25px;height:25px;border:1px solid rgba(255,255,255,.18);border-radius:8px;flex-shrink:0;box-shadow:inset 2px 2px 6px #ffffff1f,0 2px 10px #0003}.fish-swatch.blue{background:linear-gradient(135deg,#193c67,#3fd8e2)}.fish-swatch.green{background:linear-gradient(135deg,#09562b,#8af74f)}.fish-name{display:flex;flex-direction:column;min-width:0;gap:5px}.fish-name strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fish-name small{font-size:10px;color:#91bfc8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fish-indicator{margin-left:auto;margin-top:15px;color:#85e1d5;font-size:16px}.tank-controls{position:absolute;right:clamp(22px,4vw,68px);bottom:94px;z-index:3;display:flex;flex-direction:column;gap:9px}.control-button{width:48px;height:48px;color:#bcf2eb;background:#072a3594;border:1px solid rgba(180,236,231,.24);border-radius:13px;cursor:pointer;font-size:23px;backdrop-filter:blur(12px);transition:.2s}.control-button:hover,.control-button.active{background:#2b75789e;border-color:#9aebe2a6}.specimen-tooltip{position:absolute;z-index:3;right:clamp(90px,10vw,162px);bottom:94px;min-width:190px;padding:15px 17px;border:1px solid rgba(159,237,230,.3);background:#041f2acc;border-radius:12px;backdrop-filter:blur(20px)}.specimen-tooltip span{display:block;letter-spacing:.2em;font-size:9px;color:#93e5d8;margin-bottom:7px}.specimen-tooltip strong{display:block;font-family:Space Grotesk,sans-serif;font-size:17px}.specimen-tooltip small{display:block;margin-top:5px;color:#8db2bb}.app-footer{position:absolute;z-index:3;left:clamp(22px,4vw,68px);right:clamp(22px,4vw,68px);bottom:22px;display:flex;justify-content:space-between;gap:16px;color:#759ba7;font-size:9px;font-weight:600;letter-spacing:.16em}.footer-divider{padding:0 8px;color:#487987}.hint-arrow{color:#9adee0}.loading-overlay{position:absolute;z-index:5;left:50%;top:46%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;pointer-events:none}.loading-overlay.done{display:none}.loading-overlay p{margin:20px 0 5px;font-size:14px;font-weight:600;letter-spacing:.07em}.loading-overlay small{color:#a3bfc4;font-size:11px}.loading-emblem{position:relative;width:76px;height:76px;display:grid;place-items:center}.ring{position:absolute;inset:1px;border-radius:50%;border:1px dashed rgba(120,227,218,.65);animation:spin 12s linear infinite}.ring.inner{inset:12px;border-style:solid;border-color:#78e3da5c;animation-direction:reverse}.center-glyph{color:#a7f7e8;font-size:30px;animation:pulse 2s infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.hero-copy{top:20%;left:28px}.hero-copy h2{font-size:56px}.app-header{padding:23px}.brand h1{font-size:14px}.brand-mark{width:43px;height:43px}.live-status{font-size:9px;padding:9px 11px}.specimen-dock{left:20px;bottom:55px;max-width:520px}.tank-controls{right:20px;bottom:94px}.app-footer{left:20px;right:20px}.specimen-tooltip{right:82px}}@media(max-width:630px){.brand h1{font-size:11px}.brand-mark{width:38px;height:38px}.brand{gap:8px}.eyebrow{font-size:8px}.live-status{font-size:8px;letter-spacing:0;padding:8px}.hero-copy{top:17%}.hero-copy h2{font-size:42px;margin:12px 0}.hero-copy p:last-child{font-size:11px}.specimen-dock{padding:14px;bottom:55px;width:calc(100% - 40px)}.dock-heading{padding-bottom:8px}.dock-heading strong{font-size:14px}.fish-cards{gap:8px;margin-top:10px}.fish-card{gap:7px;padding:9px 7px}.fish-swatch{width:16px;height:24px}.fish-name strong{font-size:10px}.fish-name small{font-size:8px}.fish-indicator,.fish-serial{display:none}.tank-controls{bottom:auto;top:93px;right:18px}.control-button{height:39px;width:39px;font-size:17px}.specimen-tooltip{right:16px;bottom:210px}.app-footer{bottom:18px;font-size:7px}.desktop-hint{display:none}}@media(prefers-reduced-motion:reduce){.pulse-dot,.ring,.center-glyph{animation:none}}.live-announcement{position:absolute;top:100px;right:clamp(22px,4vw,68px);z-index:4;max-width:min(40vw,330px);padding:10px 15px;border-radius:100px;color:#b6fff0;font-size:11px;font-weight:600;letter-spacing:.025em;background:#052e34d1;border:1px solid rgba(112,232,212,.43);box-shadow:0 0 18px #4bd7be1f;backdrop-filter:blur(14px)}.live-announcement[hidden]{display:none}@media(max-width:630px){.live-announcement{top:145px;right:18px;max-width:220px;font-size:10px}}.fish-cards{max-height:min(35vh,330px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(130,220,220,.45) transparent}
