*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}.checker{background-color:#fff;background-image:conic-gradient(#e3e7ea 25%,transparent 0 50%,#e3e7ea 0 75%,transparent 0);background-size:20px 20px}.checker.dark{background-color:#1d2125;background-image:conic-gradient(#2c3238 25%,transparent 0 50%,#2c3238 0 75%,transparent 0)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}@keyframes swim{0%,to{transform:translate(-6px) rotate(-2deg)}50%{transform:translate(6px) rotate(2deg)}}@keyframes rise{0%{transform:translateY(0);opacity:.7}to{transform:translateY(-110vh);opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.guest{--sea-1: #0b3d5c;--sea-2: #0e6178;--sea-3: #1d8a8f;--coral: #ff8a3d;--coral-dark: #e86a1c;--ink: #0f2533;--muted: #5b6f7c;--card: #ffffff;--line: #dbe5ea;min-height:100vh;min-height:100dvh;color:var(--ink);background:linear-gradient(180deg,var(--sea-1) 0%,var(--sea-2) 55%,var(--sea-3) 100%);position:relative;overflow-x:hidden;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.bubbles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.bubbles span{position:absolute;bottom:-40px;border-radius:50%;border:2px solid rgba(255,255,255,.35);animation:rise linear infinite}.guest-top{max-width:520px;margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;position:relative}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:.2px;white-space:nowrap;min-width:0}.brand svg{animation:swim 3.5s ease-in-out infinite}.lang-switch{display:flex;background:#ffffff24;border-radius:999px;padding:3px}.lang-switch button{border:0;background:transparent;color:#fff;font-weight:700;font-size:13px;padding:6px 10px;border-radius:999px;cursor:pointer;min-width:40px}.lang-switch button[aria-pressed=true]{background:#fff;color:var(--sea-1)}.card{position:relative;max-width:520px;margin:0 auto;background:var(--card);border-radius:22px;padding:22px 20px;box-shadow:0 18px 50px #03192859}.card h1{font-size:24px;line-height:1.2;margin:0 0 6px}.card .lead{margin:0 0 18px;color:var(--muted);line-height:1.45}.tips{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}.tips li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;line-height:1.4}.tips .num{width:30px;height:30px;border-radius:50%;background:#e6f4f5;color:var(--sea-2);font-weight:800;display:grid;place-items:center}.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;border-radius:14px;border:0;font-weight:700;font-size:17px;cursor:pointer;text-decoration:none;transition:transform .08s ease,background .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--coral);color:#fff}.btn-primary:hover:not(:disabled){background:var(--coral-dark)}.btn-secondary{background:#eef4f6;color:var(--sea-1)}.btn-row{display:grid;gap:10px}.btn-row.two{grid-template-columns:1fr 1.4fr}.fine{font-size:13px;color:var(--muted);line-height:1.45;margin:14px 0 0}.privacy{display:flex;gap:8px;align-items:flex-start;background:#f3f8f9;border-radius:12px;padding:10px 12px;margin-top:16px}.preview-box{border-radius:16px;overflow:hidden;background:#f2f5f7;border:1px solid var(--line);margin-bottom:14px;display:grid;place-items:center;min-height:200px}.preview-box img{display:block;width:100%;max-height:58vh;object-fit:contain}.preview-box .no-preview{padding:30px 20px;text-align:center;color:var(--muted)}.warn,.error{border-radius:12px;padding:10px 12px;margin-bottom:14px;line-height:1.4;font-size:15px}.warn{background:#fff6e5;color:#7a4b00}.error{background:#fdecec;color:#8c1c1c}.status-block{text-align:center;padding:10px 0 6px}.spinner{width:54px;height:54px;border-radius:50%;border:5px solid #e2eef1;border-top-color:var(--sea-3);animation:spin .9s linear infinite;margin:8px auto 16px}.progress{height:8px;background:#e8eff2;border-radius:99px;overflow:hidden;margin:14px 0 6px}.progress>div{height:100%;background:var(--sea-3);transition:width .2s ease}.status-title{font-size:21px;font-weight:800;margin:0 0 6px}.job-id{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--muted);word-break:break-all}.stepper{display:flex;justify-content:center;gap:6px;margin:14px 0 4px}.stepper i{width:34px;height:6px;border-radius:99px;background:#e2eaee}.stepper i.on{background:var(--sea-3)}.outcome-icon{font-size:44px;line-height:1;margin:6px 0 10px}.guest.landing{overflow-x:hidden;overflow-x:clip}.landing .card h1{font-size:26px}.landing .card .lead{margin-bottom:14px}.fish-count{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;padding:6px 12px;border-radius:999px;background:#e6f4f5;color:var(--sea-2);font-weight:700;font-size:14px}.fish-count .dot{width:8px;height:8px;border-radius:50%;background:#22a867;animation:live 2s ease-out infinite}@keyframes live{0%{box-shadow:0 0 #22a8678c}70%,to{box-shadow:0 0 0 8px #22a86700}}.landing-rules{margin-top:18px}.landing-rules h2{font-size:19px;margin:0 0 12px}.rules{list-style:none;padding:0;margin:0;display:grid;gap:12px}.rules li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;line-height:1.45;font-size:15px}.rules b{color:var(--sea-1)}.rule-icon{width:38px;height:38px;border-radius:12px;background:#e6f4f5;display:grid;place-items:center;font-size:19px}.landing-actions{position:sticky;bottom:0;z-index:2;display:grid;gap:10px;margin:8px -20px -22px;padding:22px 20px calc(18px + env(safe-area-inset-bottom));border-radius:0 0 22px 22px;background:linear-gradient(180deg,#fff0 0,#fff 22px)}.landing-actions .btn-primary{box-shadow:0 8px 20px #e86a1c59}@media (min-width: 860px){.guest.landing{display:flex;flex-direction:column;justify-content:center}.landing .guest-top,.landing-card{width:100%;max-width:960px}.landing-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"hero rules" "actions rules";grid-template-rows:auto 1fr;column-gap:34px;padding:30px 32px}.landing-hero{grid-area:hero}.landing-rules{grid-area:rules;margin-top:0;background:#f5fafb;border-radius:18px;padding:20px 20px 18px}.landing-actions{grid-area:actions;position:static;margin:18px 0 0;padding:0;background:none;align-self:start}.landing .card h1{font-size:30px}}.admin{--bg: #f5f7f9;--panel: #ffffff;--text: #17212b;--muted: #64717d;--line: #e1e6eb;--accent: #0e6178;--accent-soft: #e3f1f4;--danger: #b42318;--ok: #157f3b;--warn: #9a6200;min-height:100vh;background:var(--bg);color:var(--text);font-size:14px}@media (prefers-color-scheme: dark){.admin{--bg: #12171c;--panel: #1a2128;--text: #e3e8ed;--muted: #93a0ac;--line: #2b343d;--accent: #5cc3d6;--accent-soft: #19343c;--danger: #ff7b72;--ok: #56d364;--warn: #e3b341}}.admin a{color:var(--accent)}.admin-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.admin-bar .title{font-weight:800;font-size:16px;margin-right:auto;display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}.admin-main{padding:16px;max-width:1400px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}.panel h2{font-size:15px;margin:0 0 10px}.panel h3{font-size:13px;margin:14px 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.a-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:7px 12px;cursor:pointer;font-weight:600;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.a-btn:hover:not(:disabled){border-color:var(--accent)}.a-btn:disabled{opacity:.5;cursor:default}.a-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.a-btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.a-btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.a-btn.small{padding:4px 8px;font-size:12px}.a-input,.a-select,.a-textarea{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:7px 10px;min-width:0}.a-textarea{width:100%;min-height:64px;resize:vertical}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:4px 10px;cursor:pointer;font-size:12px;font-weight:600;display:inline-flex;gap:6px;align-items:center}.chip b{font-variant-numeric:tabular-nums;color:var(--muted)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.toolbar .grow{flex:1 1 220px}.table-wrap{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th,table.grid td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.grid th{color:var(--muted);font-weight:600;font-size:12px;white-space:nowrap}table.grid tr.clickable{cursor:pointer}table.grid tr.clickable:hover td{background:var(--accent-soft)}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.muted{color:var(--muted)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap;background:var(--accent-soft);color:var(--accent)}.badge.READY,.badge.APPROVED{background:#157f3b1f;color:var(--ok)}.badge.REJECTED,.badge.FAILED{background:#b423181f;color:var(--danger)}.badge.REVIEW{background:#9a620024;color:var(--warn)}.code-tag{display:inline-block;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;padding:1px 6px;margin:1px 2px 1px 0;border-radius:5px;background:var(--bg);border:1px solid var(--line)}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:10px}.images{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.img-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.img-card .frame{aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden}.img-card .frame img{max-width:100%;max-height:100%;object-fit:contain;display:block}.img-card .cap{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.orient-frame{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;overflow:hidden}.orient-frame img{position:absolute;top:12%;right:12%;bottom:12%;left:12%;width:76%;height:76%;object-fit:contain;transition:transform .2s ease}.orient-frame .orient-back,.orient-frame .orient-head{position:absolute;font-size:12px;padding:1px 6px;border-radius:6px;background:#ffffffd9;color:#333}.orient-frame .orient-back{top:6px;left:50%;transform:translate(-50%)}.orient-frame .orient-head{top:50%;transform:translateY(-50%)}.orient-frame .orient-head.left{left:6px}.orient-frame .orient-head.right{right:6px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}@media (max-width: 1000px){.detail-grid{grid-template-columns:minmax(0,1fr)}}dl.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;margin:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0;word-break:break-word}pre.json{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11px;max-height:260px;overflow:auto;margin:4px 0 0;white-space:pre-wrap;word-break:break-word}.form-row{display:grid;gap:6px;margin-bottom:10px}.form-row label{font-size:12px;color:var(--muted);font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.notice{border-radius:8px;padding:8px 10px;margin-bottom:10px;font-size:13px}.notice.error{background:#b423181a;color:var(--danger)}.notice.ok{background:#157f3b1a;color:var(--ok)}.notice.info{background:var(--accent-soft);color:var(--text)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:360px}.grade-btns{display:flex;gap:6px}.grade-btns .a-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}details.raw summary{cursor:pointer;color:var(--muted);font-size:12px}.admin .score.mid{color:var(--warn);font-weight:600}.admin .score.high{color:var(--danger);font-weight:700}.admin .model-notes{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.5}.admin tr.chosen td{font-weight:600}.admin .small-pre{max-height:220px;overflow:auto;font-size:11px;background:var(--bg-soft, rgba(127, 127, 127, .08));padding:6px 8px;border-radius:6px;white-space:pre-wrap;word-break:break-all}.swim-preview{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line, #d9e3e8);aspect-ratio:4 / 3;margin:6px 0 14px}.swim-preview.water{background:radial-gradient(120% 60% at 50% 0%,rgba(255,255,255,.35),transparent 60%),linear-gradient(180deg,#7fd0ea,#2f9cc4 60%,#1b6f99)}.swim-preview canvas,.swim-preview img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.sent-fish{display:inline-block;animation:swim 3.5s ease-in-out infinite}.sent-progress{max-width:260px;margin:4px auto 14px}.sent-progress>div{width:100%;transform-origin:left center;animation:sent-fill linear forwards}.upload-net-note{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:12px 14px;border-radius:16px;background:#e8f4f6;color:var(--sea-1);font-size:15px;line-height:1.4;text-align:left}.upload-net-note svg{flex:none}@keyframes sent-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.aquarium{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:linear-gradient(180deg,#6fd3ef,#2bb0dc 28%,#1489c2 58%,#0d6aa3 82%,#0b5c8f);color:#fff;-webkit-user-select:none;user-select:none}.aquarium.idle{cursor:none}.aq-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.aq-rays{position:absolute;top:-20%;right:-10%;bottom:30%;left:-10%;background:repeating-linear-gradient(100deg,#fff0 0,#fff0 7%,#ffffff0f 9%,#ffffff0f,#fff0 15%,#fff0 22%);filter:blur(6px);animation:rays 14s ease-in-out infinite alternate;pointer-events:none}@keyframes rays{to{transform:translate(6%) skew(-4deg)}}.aq-bubbles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.aq-bubbles span{position:absolute;bottom:-30px;border-radius:50%;border:2px solid rgba(255,255,255,.45);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.5),transparent 55%);animation:rise linear infinite}.aq-ui{position:absolute;top:14px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;transition:opacity .6s ease;text-shadow:0 1px 3px rgba(0,0,0,.35)}.aquarium.idle .aq-ui{opacity:0}.aq-title{font-weight:800;font-size:18px;letter-spacing:.2px}.aq-btn{border:1px solid rgba(255,255,255,.5);background:#00284640;color:#fff;border-radius:10px;width:40px;height:40px;font-size:20px;cursor:pointer}.aq-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;padding:16px;font-size:clamp(18px,3vw,30px);font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.35)}.aq-empty p{margin:6px 0}.aq-hint{font-size:.65em;font-weight:500;opacity:.9}.aq-add{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 24px;border-radius:999px;background:#ff8a3d;color:#fff;font-weight:800;font-size:17px;white-space:nowrap;text-decoration:none;text-shadow:none;box-shadow:0 8px 24px #03192859,inset 0 -3px #0000001f;transition:background .15s ease,transform .08s ease}.aq-add:hover{background:#e86a1c}.aq-add:active{transform:translate(-50%) scale(.97)}.aq-add:focus-visible{outline:3px solid #fff;outline-offset:3px}@media (prefers-reduced-motion: reduce){.aq-rays,.aq-bubbles span,.sent-fish{animation:none}}.draw{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;height:100vh;height:100dvh;background:linear-gradient(180deg,#c9eef8,#a6dff0);color:var(--ink, #0f2533);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);overscroll-behavior:none;user-select:none;-webkit-user-select:none}.draw-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px 12px 6px}.draw-top h1{margin:0;font-size:19px;font-weight:800;white-space:nowrap}.draw-back{justify-self:start;display:inline-flex;align-items:center;gap:4px;height:44px;padding:0 14px 0 8px;border:0;border-radius:12px;background:#ffffffd9;color:var(--sea-1, #0b3d5c);font-weight:700;font-size:15px;cursor:pointer}.draw-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;margin:4px 12px 10px}.draw-paper{display:block;background:#fff;border-radius:14px;box-shadow:0 8px 26px #0319282e;touch-action:none;cursor:crosshair}.draw-paper.erasing{cursor:cell}.draw-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:18px;font-weight:700;color:#9fb0ba;pointer-events:none}.draw-panel{display:grid;gap:12px;padding:14px 12px calc(14px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -6px 20px #03192814}.draw-colors,.draw-tools{width:100%;max-width:520px;margin:0 auto}.draw-colors{display:flex;justify-content:space-between;gap:4px;padding:4px 6px 0}.swatch{width:36px;height:36px;flex:0 0 36px;border-radius:50%;border:3px solid #fff;background:var(--c);box-shadow:0 0 0 2px #d4e1e7;cursor:pointer;padding:0;transition:transform .12s ease,box-shadow .12s ease}.swatch[aria-pressed=true]{transform:scale(1.2);box-shadow:0 0 0 3px var(--c),0 4px 10px #00000038}.draw-tools{display:grid;grid-template-columns:64px 64px 64px 1fr;gap:8px}.tool{display:grid;justify-items:center;align-content:center;gap:2px;height:56px;padding:0 2px;border:0;border-radius:14px;background:#eef4f6;color:var(--sea-1, #0b3d5c);font-size:11px;font-weight:700;line-height:1.1;cursor:pointer}.tool span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool[aria-pressed=true]{background:var(--sea-2, #0e6178);color:#fff}.tool:disabled{opacity:.4;cursor:default}.draw-done{min-height:56px}.btn-draw{background:#ffe27a;color:#5a3d00}.btn-draw:hover:not(:disabled){background:#ffd84d}.sea{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:#0b5c8f url(/assets/reef-wide-DmV3kjyy.webp) center bottom / cover no-repeat}@media (max-aspect-ratio: 1/1){.sea{background-image:url(/assets/reef-tall-BjdexofV.webp)}}.sea:before{content:"";position:absolute;left:0;right:0;top:0;height:150px;background:linear-gradient(180deg,#002d5061,#002d5000)}.guest-top .brand{text-shadow:0 1px 3px rgba(0,40,70,.55)}.guest-top .lang-switch{background:#00325552}.admin-nav{display:flex;gap:4px}.admin-nav a{padding:5px 10px;border-radius:8px;font-weight:600;color:var(--muted);text-decoration:none}.admin-nav a:hover{color:var(--text)}.admin-nav a.active{background:var(--accent-soft);color:var(--text)}.aq-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.aq-tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px}.aq-tab{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:6px 14px;font-weight:700;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.aq-tab b{font-variant-numeric:tabular-nums;font-weight:700}.aq-tab[aria-selected=true]{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #0000001f}.aq-hint{margin:10px 0;font-size:13px}.aq-hint kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:12px}.aq-toolbar{margin-bottom:0}.aq-toolbar .grow{flex:1 1 200px}.aq-note{flex:0 1 220px}.aq-check{display:inline-flex;gap:6px;align-items:center;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.aq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding-bottom:80px}.aq-card{position:relative;display:flex;flex-direction:column;background:var(--panel);border:2px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s,transform .12s}.aq-card:hover{border-color:var(--accent)}.aq-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.aq-card.off .aq-pic img{opacity:.45;filter:grayscale(.6)}.aq-pic{position:relative;aspect-ratio:4 / 3;background:radial-gradient(120% 90% at 50% 0%,#3aa7c4,#13607e 55%,#0b3b55)}.aq-pic img{position:absolute;top:8%;right:6%;bottom:8%;left:6%;width:88%;height:84%;object-fit:contain;filter:drop-shadow(0 3px 4px rgb(0 0 0 / .35));pointer-events:none}.aq-sel{position:absolute;top:8px;left:8px;width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--accent)}.aq-flag{position:absolute;top:8px;right:8px;background:#0000008c;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px}.aq-meta{padding:8px 10px 4px;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:12px;min-height:46px}.aq-meta .muted{flex-basis:100%}.aq-act{margin:4px 10px 10px;justify-content:center}.aq-empty{grid-column:1 / -1;text-align:center;padding:32px}.aq-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;border-radius:12px;background:#1d2730;color:#fff;box-shadow:0 8px 24px #0000004d;font-weight:600}.aq-toast.error{background:#7a1d17}.aq-toast .a-btn{background:transparent;color:#fff;border-color:#ffffff80}.aq-toast-x{border:0;background:transparent;color:#ffffffb3;font-size:18px;cursor:pointer;padding:0 4px}@media (max-width: 600px){.aq-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.aq-note{flex:1 1 100%}}.aq-flag.net{background:#ff8a3d}.set-page{max-width:1000px;padding-bottom:96px}.set-intro h1{font-size:20px;margin:4px 0}.set-intro p{margin:0 0 14px}.set-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8px 20px;padding:12px 0;border-top:1px solid var(--line)}.set-group h2+.set-row{border-top:0;padding-top:2px}.set-label{font-weight:700}.set-help{margin:4px 0 0;font-size:13px;line-height:1.4}.set-control{display:flex;flex-direction:column;gap:6px;min-width:0}.set-number{display:flex;align-items:center;gap:8px}.set-number .a-input{width:96px;font-variant-numeric:tabular-nums}.set-row.edited .a-input{border-color:var(--warn)}.set-choices{display:flex;flex-direction:column;gap:4px}.set-choice{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border:1px solid var(--line);border-radius:8px;cursor:pointer;line-height:1.35}.set-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.set-choice input{margin-top:2px}.set-source{font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.set-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-weight:700}.set-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.set-bar{position:fixed;left:50%;bottom:16px;transform:translate(-50%);width:min(960px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:0 6px 24px #0000002e;z-index:6}.set-bar .grow{flex:1;min-width:200px}.set-error{color:var(--danger);font-weight:600}@media (max-width: 720px){.set-row{grid-template-columns:minmax(0,1fr)}}.aq-reef{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:#0b5c8f}.aq-reef-photo{position:absolute;top:-2%;right:-2%;bottom:-2%;left:-2%;background:url(/assets/reef-wide-DmV3kjyy.webp) center bottom / cover no-repeat;animation:reef-drift 40s ease-in-out infinite alternate;will-change:transform}@keyframes reef-drift{to{transform:scale(1.035) translate(-.8%,-.4%)}}.aq-surface{position:absolute;left:0;top:0;width:100%;height:0;display:none;pointer-events:none}.aq-sun{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:50% 0}.aq-beams{--w: max(170vw, 220vh);position:absolute;left:50%;top:-12vh;width:var(--w);height:125vh;margin-left:calc(var(--w) / -2);transform-origin:50% 0;will-change:transform,opacity;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.7) 40%,transparent 88%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.7) 40%,transparent 88%)}.aq-beams-1{background:conic-gradient(from 0deg at 50% 0%,transparent 0deg 132deg,rgba(255,250,225,.16) 136deg,transparent 141deg 149deg,rgba(255,250,225,.24) 154deg,transparent 160deg 167deg,rgba(255,250,225,.3) 173deg,transparent 179deg 186deg,rgba(255,250,225,.2) 190deg,transparent 194deg 203deg,rgba(255,250,225,.26) 209deg,transparent 215deg 222deg,rgba(255,250,225,.15) 226deg,transparent 230deg 360deg);animation:beams-sway-1 17s ease-in-out infinite alternate,beams-glow 5.5s ease-in-out infinite alternate}.aq-beams-2{background:conic-gradient(from 0deg at 50% 0%,transparent 0deg 140deg,rgba(230,250,255,.14) 144deg,transparent 147deg 159deg,rgba(230,250,255,.2) 163deg,transparent 166deg 178deg,rgba(230,250,255,.22) 182deg,transparent 185deg 196deg,rgba(230,250,255,.18) 200deg,transparent 203deg 214deg,rgba(230,250,255,.14) 218deg,transparent 221deg 360deg);animation:beams-sway-2 23s ease-in-out infinite alternate,beams-glow 7s ease-in-out -2.5s infinite alternate}.aq-beams-3{background:conic-gradient(from 0deg at 50% 0%,transparent 0deg 150deg,rgba(255,255,240,.12) 168deg,rgba(255,255,240,.12) 176deg,transparent 196deg 360deg);animation:beams-sway-3 29s ease-in-out infinite alternate,beams-glow 11s ease-in-out -4s infinite alternate}@keyframes beams-sway-1{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes beams-sway-2{0%{transform:rotate(5deg)}to{transform:rotate(-3deg)}}@keyframes beams-sway-3{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@keyframes beams-glow{0%{opacity:.35}to{opacity:1}}.aq-reef.aq-reef-over{background:none}.aq-reef-photo.aq-reef-front{background-image:url(/assets/reef-wide-front-Dm8P6PSA.webp)}.aq-specks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}@media (max-aspect-ratio: 1/1){.aq-reef-photo{background-image:url(/assets/reef-tall-BjdexofV.webp)}.aq-reef-photo.aq-reef-front{background-image:url(/assets/reef-tall-front-Ck-1C8kj.webp)}.aq-sun{transform:scaleX(.42)}}.aq-reef-home .aq-reef-photo{background-image:url(/assets/home-reef-wide-BpQn7qjv.webp)}.aq-reef-home .aq-reef-photo.aq-reef-front{background-image:url(/assets/home-reef-wide-front-C5pJmleT.webp)}@media (max-aspect-ratio: 1/1){.aq-reef-home .aq-reef-photo{background-image:url(/assets/home-reef-tall-CsR1rX0A.webp)}.aq-reef-home .aq-reef-photo.aq-reef-front{background-image:url(/assets/home-reef-tall-front-DTxFT-ZF.webp)}}@media (prefers-reduced-motion: reduce){.aq-reef-photo,.aq-beams{animation:none}}.net-btn,.my-btn{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));z-index:3;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:64px;height:64px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:#083452b8;color:#fff;font:inherit;font-size:11px;font-weight:800;line-height:1;text-decoration:none;cursor:pointer;box-shadow:0 8px 22px #03192859;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:background .15s ease,transform .08s ease}.net-btn{right:14px}.my-btn{left:14px}.net-btn:active,.my-btn:active{transform:scale(.95)}.net-btn[aria-pressed=true]{background:#ff8a3d;border-color:#fff}.net-btn:focus-visible,.my-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}.my-btn .net-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#ff8a3d;color:#fff;font-size:12px;line-height:22px;text-align:center}@media (max-width: 560px){.net-btn,.my-btn{bottom:calc(82px + env(safe-area-inset-bottom))}}.net-pad{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;touch-action:none;cursor:crosshair;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.net-hint,.net-toast{position:absolute;left:50%;top:calc(64px + env(safe-area-inset-top));z-index:4;width:max-content;max-width:min(88vw,420px);transform:translate(-50%);padding:10px 16px;border-radius:14px;background:#062840c7;color:#fff;font-size:15px;font-weight:600;line-height:1.35;text-align:center;pointer-events:none;box-shadow:0 6px 18px #00000040}.net-toast{top:calc(118px + env(safe-area-inset-top));background:#ffffffeb;color:#0f2533}.net-sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;background:#03192859;color:#0f2533;-webkit-user-select:text;user-select:text}.net-sheet-wrap.center{align-items:center;padding:16px}.net-sheet-wrap.soft{background:#03192833}.net-sheet,.net-dialog{width:100%;max-width:480px;max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:22px 22px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #00000040;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.aquarium:has(.net-sheet-wrap) :is(.aq-rays,.aq-reef-photo,.aq-beams-1,.aq-beams-2,.aq-beams-3,.aq-specks){animation-play-state:paused}.net-dialog{border-radius:22px;padding:20px;text-align:center}@media (min-width: 560px){.net-sheet-wrap{align-items:center}.net-sheet{border-radius:22px}}.net-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.net-sheet h2,.net-dialog h2{margin:0;font-size:20px;color:#0b3d5c}.net-dialog h2{margin-bottom:8px}.net-dialog p{margin:0 0 12px;line-height:1.4}.net-x{width:40px;height:40px;border:0;border-radius:50%;background:#eef4f6;color:#0b3d5c;font-size:26px;line-height:1;cursor:pointer}.net-wait{margin:4px 0 8px;color:#4d6b7c;font-size:14px}.net-rows{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.net-row{display:flex;align-items:center;gap:12px;padding:8px;border-radius:16px;background:#f1f7f9}.net-row.net-released,.net-row.net-slipped{opacity:.5}.net-row.net-taken{background:#e5f6ea}.net-thumb{flex:none;width:72px;height:58px;object-fit:contain;border-radius:12px;background:radial-gradient(circle at 50% 40%,#bfe9f7,#64c2e4)}.net-row-body{flex:1;min-width:0;display:grid;gap:6px}.net-own{font-size:12px;font-weight:700;color:#0e6178}.net-done{font-weight:700;color:#1c7c3a}.net-gone{color:#4d6b7c;font-size:14px}.net-acts{display:flex;flex-wrap:wrap;gap:8px}.net-take,.net-release{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border:0;border-radius:12px;font:inherit;font-size:15px;font-weight:800;text-decoration:none;cursor:pointer}.net-take{background:#ff8a3d;color:#fff}.net-take:disabled{background:#f3c4a3;cursor:default}.net-release{background:#e2edf1;color:#0b3d5c}.net-release:disabled{opacity:.6}.net-take.wide,.net-release.wide{width:100%;min-height:50px}.net-slipped{margin:10px 0 0;padding-left:18px;color:#4d6b7c;font-size:14px}.net-note{margin:10px 0 0;padding:8px 12px;border-radius:12px;background:#fff3e8;color:#8a4210;font-size:14px}.net-sheet-foot{display:grid;gap:8px;margin-top:12px}.net-sheet-foot:empty{display:none}.net-code{margin:6px auto 16px;padding:10px 18px;width:max-content;border:2px dashed #0e6178;border-radius:14px;font:800 34px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:3px;color:#0b3d5c;-webkit-user-select:all;user-select:all}.net-code.small{margin:4px 0 8px;font-size:24px}.net-dialog-acts{display:grid;gap:8px}.net-dialog-acts.row{display:flex;flex-wrap:wrap}.net-share{margin-top:16px;padding-top:12px;border-top:1px solid #e2edf1}.net-share h3{margin:0 0 4px;font-size:16px;color:#0b3d5c}.net-fine{margin:0 0 8px;color:#4d6b7c;font-size:14px;line-height:1.4}.net-link{width:100%;margin-bottom:8px;padding:8px 10px;border:1px solid #c9dbe2;border-radius:10px;font:13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#0f2533;background:#f7fafb}.net-code-form{margin-top:16px;text-align:left}.net-code-form label{display:block;margin-bottom:6px;font-weight:700;color:#0b3d5c}.net-code-line{display:flex;gap:8px}.net-code-input{flex:1;min-width:0;min-height:46px;padding:0 12px;border:2px solid #c9dbe2;border-radius:12px;font:700 20px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:2px;text-transform:uppercase;color:#0f2533}.net-code-input::placeholder{font:15px system-ui,sans-serif;letter-spacing:0;text-transform:none}.net-code-input:focus{outline:none;border-color:#0e6178}.net-my-list{border:0;font-family:inherit;cursor:pointer}.net-my-go{position:absolute;right:14px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:3;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:2px solid rgba(255,255,255,.85);border-radius:999px;background:#083452b8;color:#fff;font-size:15px;font-weight:800;white-space:nowrap;text-decoration:none;box-shadow:0 8px 22px #03192859;-webkit-tap-highlight-color:transparent}.net-my-go:active{transform:scale(.97)}.net-my-go:focus-visible{outline:3px solid #fff;outline-offset:3px}@media (max-width: 640px){.net-my-go{bottom:calc(82px + env(safe-area-inset-bottom))}}.net-warn{margin:0}.landing-net{display:flex;gap:10px}.landing-net .btn{flex:1;min-width:0;min-height:48px;font-size:15px;white-space:nowrap}
