:root{--paper:#f6f7f0;--ink:#253f39;--muted:#7e8c80;--teal:#177d70;--line:#dce2d6;--serif:'Songti SC','Noto Serif SC','STSong',serif;--sans:'PingFang SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4ba99a;outline-offset:5px}button{transition:background .2s,transform .2s,box-shadow .2s}button:not(:disabled):active{transform:translateY(1px)}.site-header{max-width:1320px;margin:auto;height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center}.brand svg{width:42px;height:42px;fill:var(--teal)}.brand svg circle{fill:var(--paper)}.brand>span{font-size:22px;font-weight:650;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:500;margin-top:5px}nav{display:flex;align-items:center;gap:28px}.plain{border:0;background:none;color:var(--ink);padding:8px 0;font-size:12px}.plain span{margin-left:18px}.header-separator{width:1px;height:18px;background:var(--line)}.live{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#668276}.live i,.teal-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#4e9b72;box-shadow:0 0 0 4px #4e9b7210}.identity{background:transparent;border:1px solid #b9c8b8;padding:10px 16px;border-radius:25px;font-size:12px;color:var(--ink)}.identity span{margin-left:15px}main{max-width:1240px;margin:auto}.intro{padding:61px 0 45px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--teal);font-weight:550}.intro .eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2px}.little-line{width:24px;height:1px;background:var(--teal)}.edition{margin-left:14px;color:#8c998d;font-size:9px;letter-spacing:1.3px}h1{font-family:var(--serif);font-size:66px;font-weight:500;letter-spacing:2px;line-height:1.35;margin:21px 0 0;position:relative}h1>span{color:var(--teal)}h1 em{display:block;font-family:Georgia,serif;color:#819681;font-size:25px;font-weight:400;letter-spacing:-.6px;line-height:1.4;margin:11px 0 0 3px}.intro-note{margin:8px 11px 0 0;min-width:264px}.note-number{font-size:9px;letter-spacing:1.8px;color:#89998c}.intro-note p{font-size:13px;color:#6a7c70;line-height:2.2;margin:17px 0 13px}.fish-name{font-family:var(--serif);font-weight:700;color:var(--teal);margin:0 5px}.text-link{border:0;border-bottom:1px solid #b3c2af;color:var(--teal);background:none;padding:6px 0;font-size:11px}.text-link span{margin-left:16px}.observation{background:#fbfcf5;border:1px solid #d5ddce;border-radius:13px;overflow:hidden;box-shadow:0 6px 25px #253d2a03}.tank-toolbar{height:47px;border-bottom:1px solid #e2e8d9;display:flex;align-items:center;justify-content:space-between;padding:0 23px;font-size:11px}.tank-toolbar>div{display:flex;align-items:center;gap:10px}.tank-toolbar .micro{font-size:8px;color:#9aa596;letter-spacing:1.5px;margin-left:8px}.tools{gap:17px!important}.tools button{border:0;background:none;color:#788879;font-size:12px;display:flex;align-items:center;gap:6px;padding:7px 2px}.tools button span{font-size:10px}.tools svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.4}.aquarium-stage{height:418px;position:relative;overflow:hidden;background:#eef3e7}canvas{display:block;width:100%;height:100%}.tank-tag{position:absolute;top:33px;left:40px;display:flex;gap:11px;align-items:center}.tag-dot{height:7px;width:7px;border:1px solid #57a895;border-radius:50%;background:#e3f5df;box-shadow:0 0 0 4px #c3ddcd50}.tank-tag strong{font-size:16px;font-weight:500;letter-spacing:2px}.tank-tag strong span{font-family:Georgia,serif;font-size:11px;color:#7c9482;letter-spacing:1.8px;margin-left:6px}.tank-tag small{display:block;font-size:9px;color:#789181;margin-top:7px}.ocean-label{position:absolute;top:105px;right:37px;width:220px;color:#557c6e;pointer-events:none}.ocean-label>span{font-size:7px;letter-spacing:1.3px}.ocean-label strong{display:block;font-family:var(--serif);font-size:23px;letter-spacing:3px;font-weight:400;margin:12px 0}.ocean-label small{font-size:9px;color:#6e9282}.water-readout{position:absolute;left:40px;bottom:52px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.water-readout>span:first-child{font-size:10px;letter-spacing:2px;color:#507b70}.water-readout strong{font-family:Georgia,serif;font-weight:400;font-size:53px;line-height:1;color:#245e54}.water-readout strong small{font-size:22px;margin-left:3px}.water-status{font-size:9px;color:#467c6a;letter-spacing:1px}.level-mark{position:absolute;left:70%;font-family:Georgia,serif;font-size:10px;color:#678d79;pointer-events:none}.level-mark span{font-size:8px;font-family:var(--sans);margin-left:5px}.escape-mark{top:92px}.danger-mark{bottom:55px;color:#a18675}.stage-caption{position:absolute;bottom:14px;width:100%;left:0;text-align:center;font-size:8px;color:#8c9f86;letter-spacing:2px;pointer-events:none}.tank-bottom{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fafbf4;font-size:10px;color:#7c8e7e;border-top:1px solid #d9e2d0}.tank-bottom>span{display:flex;align-items:center;gap:8px}.mini-fish{font-size:22px;color:#77a18a;line-height:0}.teal-dot{height:4px;width:4px;box-shadow:none}.decision{padding:35px 0 31px;display:grid;grid-template-columns:1fr 1.5fr;gap:36px;align-items:center}.decision h2,.journal h2{font-family:var(--serif);font-size:23px;font-weight:500;letter-spacing:1px;margin:11px 0 10px}.decision-copy>p{font-size:10px;line-height:1.8;margin:0;color:#8b998a}.vote-actions{display:grid;grid-template-columns:1fr 1fr;gap:13px}.vote{min-height:92px;border-radius:9px;display:flex;align-items:center;padding:20px 17px;gap:12px;text-align:left}.vote-up{background:#1c8071;color:#f4f8e9;border:1px solid #1c8071;box-shadow:0 4px 9px #247e6810}.vote-up:hover:not(:disabled){background:#136f62;box-shadow:0 4px 16px #177d7025}.vote-down{background:#f1f2e8;color:#677863;border:1px solid #dce0d1}.vote-down:hover:not(:disabled){background:#e9ecdf}.vote svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.2}.vote-icon{opacity:.85}.vote strong{font-size:15px;font-weight:500;letter-spacing:1px;display:block;white-space:nowrap}.vote strong span{font-size:13px;margin-left:11px}.vote small{font-size:8px;font-weight:400;letter-spacing:.2px;display:block;margin-top:8px;opacity:.65}.vote-value{font-family:Georgia,serif;font-size:12px;margin-left:auto;white-space:nowrap;opacity:.7}.vote:disabled{opacity:.55}.vote.selected{opacity:1;outline:2px solid #77bca5;outline-offset:3px}.data-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:repeat(3,1fr) 1.35fr}.data-cell{padding-left:32px;border-left:1px solid var(--line)}.data-cell:first-child{padding-left:0;border:0}.data-cell>span{font-size:10px;color:#778871;display:flex;align-items:center;gap:6px}.data-cell strong{font-family:Georgia,serif;font-size:35px;font-weight:400;display:block;line-height:1.5;letter-spacing:-.5px;margin-top:5px}.data-cell small{font-family:var(--sans);font-size:9px;margin-left:9px;color:#98a18f;letter-spacing:0}.data-cell p{font-size:9px;color:#9aa490;margin:3px 0 0}.stat-dot{display:inline-block;width:5px;height:5px;border-radius:50%}.up-dot{background:#529586}.down-dot{background:#b09e7c}.progress-track{height:3px;border-radius:4px;background:#e0e6d6;margin:5px 30px 12px 0;overflow:hidden}.progress-track>span{display:block;height:100%;width:0;background:#72a491;transition:width 1s}.progress-cell strong{font-size:30px}.progress-cell small{font-size:9px}.journal{padding:39px 0 18px}.journal-heading{display:flex;align-items:end;justify-content:space-between}.journal h2{font-size:21px;margin-bottom:0}.journal-note{font-size:9px;color:#8f9c87}.journal-note span{margin-left:13px}.chart-wrap{position:relative;height:100px;margin-top:24px}.chart-wrap svg{height:100%;width:100%;overflow:visible}#chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:14px;color:#a2b09a;letter-spacing:3px}.journal-footer{display:flex;justify-content:space-between;color:#94a08b;font-size:9px;padding-top:15px;border-top:1px solid var(--line)}.closing{text-align:center;padding:37px 0 43px}.wave-symbol{font-family:Georgia,serif;font-size:43px;line-height:1;color:#78a698}.closing p{font-family:var(--serif);font-size:20px;line-height:1.9;letter-spacing:2px;color:#687f6a;margin:10px 0 15px}.closing>span:last-child{font-size:7px;letter-spacing:2.5px;color:#9aab93}footer{max-width:1320px;margin:auto;border-top:1px solid var(--line);padding:25px 0 30px;display:flex;align-items:center;justify-content:space-between;color:#94a08c;font-size:9px}.footer-brand{color:#697d65;font-weight:500;letter-spacing:1.5px}.footer-brand span{color:#a2ad98;font-weight:400;letter-spacing:0;margin-left:12px;font-size:8px}footer .plain{font-size:9px;color:#8b9b82}dialog{width:min(480px,calc(100vw - 32px));border:1px solid #d3decc;border-radius:15px;background:#fafbf4;padding:38px;color:var(--ink);box-shadow:0 20px 120px #1d45382a}dialog::backdrop{background:#153f3748;backdrop-filter:blur(7px)}dialog h2{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.6;margin:20px 0 12px}dialog p,dialog li{font-size:12px;line-height:1.9;color:#7b8a78}dialog ol{padding-left:18px}dialog li{margin:17px 0}dialog strong{font-weight:500;color:#477560}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:25px;font-weight:300;color:#8d9d87;padding:4px 9px}.primary,.secondary{border-radius:6px;padding:12px 20px;font-size:12px}.primary{background:var(--teal);color:#fff;border:1px solid var(--teal)}.primary:hover{background:#116d62}.primary:disabled{opacity:.55}.secondary{border:1px solid #cbd6c2;color:#73836c;background:none}.fineprint{font-size:10px!important;color:#99a391!important;margin:18px 0}dialog>.primary{width:100%}form label{display:block;font-size:11px;color:#718368;margin:18px 0 0}input{display:block;width:100%;background:#f2f5e9;border:1px solid #d9e1d1;border-radius:6px;font:inherit;color:var(--ink);padding:13px;margin-top:7px}input::placeholder{color:#a2af96}form .primary{width:100%;margin-top:8px}.form-error{min-height:16px;color:#ac705e!important;font-size:11px!important;margin:8px 0 0}.auth-toggle{display:block;margin:18px auto 0}.confirm-actions{display:flex;gap:10px;margin-top:25px}.confirm-actions button{flex:1}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#244b40;color:#f4f6eb;border:1px solid #ffffff20;border-radius:9px;box-shadow:0 5px 25px #183e3825;padding:14px 23px;max-width:calc(100vw - 30px);width:max-content;font-size:12px;line-height:1.8;z-index:50;transition:opacity .3s,transform .3s}#toast.show{opacity:1;transform:translate(-50%,0)}.ending{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ecf5e426;text-align:center;pointer-events:none;backdrop-filter:blur(1px)}.ending[hidden]{display:none}.ending>span{font-size:9px;letter-spacing:3px;color:#377f70}.ending h2{font-family:var(--serif);font-size:38px;font-weight:400;letter-spacing:5px;color:#225f54;margin:16px 0}.ending p{font-size:12px;color:#577c6d;line-height:1.9;max-width:300px}.ending.dead{background:#f2eddf65}.ending.dead h2{color:#726958}.ending.dead>span{color:#a28c6b}@media(min-width:1600px){.intro{padding-top:65px;padding-bottom:50px}.aquarium-stage{height:460px}}@media(max-width:1400px){.site-header,footer{margin-left:5%;margin-right:5%}main{margin:0 7%}.intro{padding-top:45px}.vote{padding:18px 13px;gap:9px}.vote-value{font-size:10px}.vote strong{font-size:14px}}@media(max-width:1050px){main{margin:0 5%}.intro h1{font-size:53px}.intro-note{min-width:230px;margin-right:0}.decision{grid-template-columns:1fr;gap:20px}.decision-copy{display:grid;grid-template-columns:1fr 1fr;align-items:center}.decision-copy .eyebrow{grid-column:1/-1}.decision-copy p{text-align:right}.vote{padding:18px 23px}.ocean-label{right:17px;width:180px}.ocean-label strong{font-size:20px}.level-mark{left:68%}.data-cell{padding-left:20px}.data-cell p{font-size:8px}}@media(max-width:700px){.site-header{height:78px;margin:0 22px}.brand>span{font-size:18px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1.4px}.brand svg{width:34px;height:34px}nav{gap:13px}nav>.plain,nav>.header-separator,nav>.live{display:none}.identity{font-size:10px;padding:8px 12px}.identity span{margin-left:7px}main{margin:0 20px}.intro{padding:35px 0 26px;display:block}.intro .eyebrow{font-size:8px;gap:8px;letter-spacing:1.3px}.little-line{width:17px}.edition{font-size:7px;margin-left:auto}.intro h1{font-size:43px;letter-spacing:0;margin-top:20px;line-height:1.35}h1 em{font-size:20px;margin-top:8px}.intro-note{margin-top:21px;display:flex;align-items:center;justify-content:space-between;gap:15px}.intro-note .note-number{display:none}.intro-note p{font-size:10px;line-height:1.9;margin:0}.intro-note p br:last-child{display:none}.intro-note .text-link{font-size:9px;flex-shrink:0}.tank-toolbar{height:43px;padding:0 13px;font-size:9px}.tank-toolbar .micro{display:none}.tools{gap:12px!important}.tools button{font-size:13px}.tools button span{display:none}.aquarium-stage{height:430px}.tank-tag{top:22px;left:19px}.tank-tag strong{font-size:14px}.tank-tag small{font-size:8px}.ocean-label{top:101px;right:13px;width:105px}.ocean-label>span{font-size:5px;letter-spacing:.5px}.ocean-label strong{font-size:14px;letter-spacing:1px;margin:8px 0}.ocean-label small{display:block;font-size:7px;line-height:1.8;max-width:98px}.water-readout{left:18px;bottom:59px}.water-readout strong{font-size:39px}.water-readout>span:first-child{font-size:8px}.water-readout strong small{font-size:17px}.water-status{font-size:7px}.level-mark{left:auto;right:30%;font-size:8px}.level-mark span{display:none}.escape-mark{top:96px}.danger-mark{bottom:60px}.stage-caption{font-size:6px;letter-spacing:1px;bottom:15px}.tank-bottom{font-size:8px;line-height:1.7;padding:0 13px;height:49px;gap:10px}.tank-bottom>span:first-child{max-width:55%}.tank-bottom>span:last-child{font-size:7px;text-align:right;white-space:nowrap}.decision{padding:25px 0;gap:18px}.decision-copy{display:block}.decision h2{font-size:22px}.decision-copy p{text-align:left;font-size:9px}.vote-actions{gap:9px}.vote{min-height:108px;padding:15px 12px;display:grid;grid-template-columns:24px 1fr;gap:6px}.vote strong{font-size:13px;letter-spacing:0}.vote strong span{display:none}.vote small{font-size:7px;line-height:1.6;max-width:100px}.vote-value{grid-column:2;font-size:10px;margin:0}.vote-icon svg{width:21px}.data-strip{grid-template-columns:1fr 1fr;padding:0}.data-cell{min-height:110px;padding:19px 0 17px 22px;border-left:1px solid var(--line)}.data-cell:first-child{padding:19px 0 17px}.data-cell:nth-child(3){border-top:1px solid var(--line);border-left:0;padding-left:0}.data-cell:last-child{border-top:1px solid var(--line)}.data-cell>span{font-size:9px}.data-cell strong{font-size:29px;line-height:1.3}.data-cell p{font-size:8px}.progress-track{margin:9px 0 10px}.progress-cell small{font-size:7px;margin-left:5px}.journal{padding-top:28px}.journal h2{font-size:19px}.journal-note{display:none}.journal-footer{font-size:8px;gap:17px;line-height:1.8}.journal-footer>span:last-child{text-align:right}.chart-wrap{height:80px;margin-top:17px}.closing{padding:30px 0}.closing p{font-size:17px}.closing>span:last-child{font-size:6px;letter-spacing:1.8px}footer{margin:0 22px;flex-wrap:wrap;gap:15px;font-size:8px;padding:22px 0}footer>span{order:3;width:100%;font-size:7px}dialog{padding:30px 25px}dialog h2{font-size:24px}.ending h2{font-size:28px}.ending p{font-size:10px;max-width:230px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.identity{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.identity{max-width:142px}}

/* Clownfish edition: sunny, rounded and full of underwater colour. */
:root{--paper:#edf9ff;--ink:#153e66;--muted:#5f829d;--teal:#168ac0;--line:#cce7f3;--serif:'PingFang SC','Microsoft YaHei',sans-serif}
body{background:radial-gradient(ellipse at 4% 15%,#c9f3ff 0,transparent 30%),radial-gradient(ellipse at 100% 34%,#d4f3ff 0,transparent 25%),linear-gradient(#f2fbff,#e8f7ff 65%,#f3fbff);color:var(--ink)}
.site-header{border-color:#cfe9f5}.brand svg{fill:#fb922f}.brand svg circle{fill:#fff}.brand>span{font-weight:850;letter-spacing:2px;color:#164b78}.brand small{color:#5486a8;font-weight:650}.plain{color:#416f92}.identity{border:2px solid #c2e5f6;background:#fff;color:#296b99;font-weight:650;box-shadow:0 3px 0 #dbedf7}.live{color:#3c86a6}.live i,.teal-dot{background:#1dbfa0;box-shadow:0 0 0 4px #1dbfa018}
.intro{position:relative;padding-top:45px;padding-bottom:38px}.intro .eyebrow{color:#377ba1;letter-spacing:1.5px}.little-line{background:#ffac45;height:3px;border-radius:4px}.edition{background:#dff3ff;padding:6px 9px;border-radius:20px;color:#3f88af;font-weight:700}.intro h1{font-size:64px;font-weight:900;letter-spacing:1px;line-height:1.25;color:#164d7e;text-shadow:0 4px 0 #d7ecf7}.intro h1>span{color:#fa9136}.intro h1 em{font-family:var(--sans);font-style:normal;font-size:16px;font-weight:650;letter-spacing:1.5px;color:#5693b4;text-shadow:none;margin-top:17px}.note-number{color:#4791b7;font-weight:700}.intro-note p{color:#547b99;line-height:2}.fish-name{color:#ee8727;font-weight:850}.text-link{color:#1386ba;border-color:#9fd6ee;font-weight:600}.intro-note{border-left:3px solid #ffce7c;padding-left:23px}
.observation{border:6px solid #fff;border-radius:25px;box-shadow:0 16px 44px #1872a61c,0 3px 0 #b9e1f1;background:#fff;overflow:hidden}.tank-toolbar{height:48px;background:#fff;border-color:#daf0f9;padding:0 19px;font-weight:650;color:#297598}.tank-toolbar .micro{color:#78a6bf}.tools button{color:#5389a8}.aquarium-stage{height:510px;background:#59bfee}.tank-tag{top:29px;left:32px;background:#ffffffd9;padding:10px 14px;border-radius:15px;border:1px solid #fff;box-shadow:0 4px 12px #106b9b12}.tag-dot{background:#ffb24e;border-color:#ffdc8d;box-shadow:0 0 0 4px #ffcf722b}.tank-tag strong{color:#1e6192;font-weight:850}.tank-tag strong span{color:#688fa6}.tank-tag small{color:#507e9a;font-size:10px}.ocean-label{top:113px;right:24px;width:200px;color:#075687;text-shadow:0 1px 0 #a9efff99}.ocean-label>span{font-weight:700;font-size:7px;color:#1574a2}.ocean-label strong{font-size:24px;font-weight:850;letter-spacing:1px;margin:12px 0}.ocean-label small{font-size:9px;color:#175e8b;font-weight:550;display:block;max-width:170px;line-height:1.8}.water-readout{left:30px;bottom:55px;background:#eafbffe8;border:2px solid #ffffffcf;border-radius:18px;padding:12px 15px;box-shadow:0 5px 0 #155c9817;gap:5px}.water-readout>span:first-child{font-size:10px;color:#347a9d;font-weight:650;letter-spacing:1px}.water-readout strong{font-family:var(--sans);font-size:43px;color:#116c9c;font-weight:850;letter-spacing:-1.5px}.water-readout strong small{font-size:19px;letter-spacing:0}.water-status{font-size:8px;color:#4784a4;letter-spacing:0}.level-mark{color:#e8fdff;font-family:var(--sans);font-size:10px;font-weight:700;text-shadow:0 1px 3px #206597}.escape-mark{top:95px}.danger-mark{bottom:67px;color:#fff0ce}.stage-caption{color:#c4efff;font-size:9px;font-weight:600;letter-spacing:1.5px;bottom:13px;text-shadow:0 1px 2px #1c66a0}.tank-bottom{background:#f5fcff;border-color:#d6edf8;color:#4e84a2;font-size:11px;height:48px}.mini-fish{color:#f8a13b}.tank-bottom .teal-dot{box-shadow:none}
.decision{padding-top:33px;padding-bottom:29px}.eyebrow{color:#378cba;font-weight:750}.decision h2,.journal h2{font-weight:800;color:#214e78;letter-spacing:.2px}.decision h2{font-size:24px}.decision-copy>p{color:#678aa5;font-size:11px}.vote{min-height:99px;border-radius:18px;gap:12px;transition:transform .2s,box-shadow .2s,background .2s}.vote-up{background:linear-gradient(#ffb64a,#ff972f);border:2px solid #ffbf68;border-bottom:5px solid #dc7726;color:#623b21;box-shadow:0 7px 16px #f9a7442b}.vote-up:hover:not(:disabled){background:linear-gradient(#ffc35d,#ffa43a);box-shadow:0 9px 20px #ed972e3b;transform:translateY(-2px)}.vote-down{background:linear-gradient(#fff,#e9f7ff);color:#497a9b;border:2px solid #c8e8f8;border-bottom:5px solid #a6cee5;box-shadow:0 5px 12px #1b83bd0b}.vote-down:hover:not(:disabled){background:#e2f5ff;transform:translateY(-2px)}.vote strong{font-weight:800;font-size:16px}.vote small{font-size:9px;opacity:.8;letter-spacing:0}.vote-value{font-family:var(--sans);font-size:12px;font-weight:750;opacity:.85}.vote svg{stroke-width:1.5;width:29px;height:29px}.vote.selected{outline-color:#ffa336}.vote:disabled{opacity:.55}.vote.selected:disabled{opacity:1}
.data-strip{background:#ffffffa6;border:2px solid #d9edf8;border-radius:21px;padding:25px 22px;box-shadow:0 5px 0 #d4eaf640}.data-cell{border-color:#d8edf7}.data-cell>span{color:#5889a7;font-weight:600;font-size:11px}.data-cell strong{font-family:var(--sans);color:#216b9a;font-weight:850;letter-spacing:-1px}.data-cell small{color:#6c95ad}.data-cell p{color:#6e96ad;font-size:9px}.up-dot{background:#ffac40}.down-dot{background:#65b6e0}.progress-track{background:#d5edf9;height:6px}.progress-track>span{background:linear-gradient(90deg,#42bfe1,#168ec7);border-radius:6px}.progress-cell strong{color:#e9902e}
.journal{padding-top:37px}.journal h2{font-size:22px}.journal-note{color:#6897b1}.chart-wrap{background:#ffffff66;border-radius:15px}.journal-footer{border-color:#cce7f4;color:#6894af}#chart-empty{color:#7aa5bf;font-size:13px;letter-spacing:1px}.closing{padding:35px 0}.wave-symbol{color:#32a9d2}.closing p{font-size:20px;color:#3a799e;font-weight:650;letter-spacing:1px}.closing>span:last-child{color:#7aabc3}footer{color:#6f9bb5;border-color:#cbe7f5}.footer-brand{color:#327ca6;font-weight:750}footer .plain,.footer-brand span{color:#71a0bb}
dialog{background:#f7fcff;border:3px solid #fff;border-radius:24px;box-shadow:0 25px 100px #104b7859}dialog::backdrop{background:#134e7873}dialog h2{font-weight:850;color:#24587e;letter-spacing:-.5px}dialog p,dialog li{color:#63829a}dialog strong{color:#2d83ae}.dialog-close{background:#e6f4fc;border-radius:50%;color:#5e94b5;right:13px;top:13px;font-size:22px;width:31px;height:31px;padding:0}.primary{background:#ffab3e;border:2px solid #ffc36a;border-bottom:4px solid #de842a;color:#613b20;font-weight:750;border-radius:12px}.primary:hover{background:#ffb64e}.secondary{border:2px solid #c7e7f7;background:#eaf7ff;border-radius:12px;color:#4f89aa}.fineprint{color:#7d9aad!important}input{background:#edf8ff;border:2px solid #d0e9f7;border-radius:11px;color:#285675}input::placeholder{color:#8cacc0}form label{color:#5a839e}.form-error{color:#c06c43!important}#toast{background:#174e7e;border-radius:15px;border:2px solid #c8efff;color:#fff;box-shadow:0 9px 30px #16527e33}.ending{background:#1c99cc22;backdrop-filter:blur(2px)}.ending>span{color:#e2f8ff;text-shadow:0 1px 4px #176da3;font-weight:750}.ending h2{font-weight:900;color:#fff;text-shadow:0 3px 0 #146aa2;letter-spacing:2px}.ending p{color:#effcff;font-weight:600;text-shadow:0 1px 3px #176ba3}.ending.dead{background:#1b365b55}.ending.dead h2{color:#e1edfb;text-shadow:0 3px 0 #294966}.ending.dead>span{color:#d1e2f3}
@media(min-width:1600px){.aquarium-stage{height:540px}}
@media(max-width:1050px){.intro h1{font-size:53px}.ocean-label{width:165px;right:13px}.ocean-label strong{font-size:21px}}
@media(max-width:700px){.site-header{height:81px}.brand>span{font-weight:850}.intro{padding:32px 0 27px}.intro h1{font-size:40px;line-height:1.3}.intro h1 em{font-size:12px;letter-spacing:1px;margin-top:12px}.intro .eyebrow{font-size:8px;letter-spacing:.5px}.edition{font-size:6px;padding:4px 6px}.intro-note{margin-top:22px;padding-left:12px;border-width:2px}.intro-note p{font-size:10px}.intro-note .text-link{font-size:8px}.observation{border-width:4px;border-radius:20px}.tank-toolbar{padding:0 11px;font-size:9px;height:42px}.tools{gap:12px!important}.aquarium-stage{height:452px}.tank-tag{top:21px;left:13px;padding:8px 10px;border-radius:12px;gap:8px}.tank-tag strong{font-size:14px}.tank-tag small{font-size:7px}.ocean-label{top:112px;width:91px;right:8px}.ocean-label>span{font-size:4px;letter-spacing:.5px}.ocean-label strong{font-size:13px;letter-spacing:0;margin:8px 0}.ocean-label small{font-size:6px;line-height:1.8}.water-readout{left:13px;bottom:54px;padding:8px 10px;border-radius:13px;gap:3px}.water-readout strong{font-size:30px}.water-readout strong small{font-size:13px}.water-readout>span:first-child{font-size:7px}.water-status{font-size:6px}.level-mark{font-size:7px}.danger-mark{bottom:65px}.stage-caption{font-size:6px;letter-spacing:.5px;bottom:14px}.tank-bottom{padding:0 10px;gap:9px;font-size:7px;height:48px}.tank-bottom>span:last-child{font-size:6px}.decision h2{font-size:22px}.decision-copy>p{font-size:9px}.vote{min-height:112px;padding:14px 10px;gap:8px;border-radius:15px}.vote strong{font-size:13px}.vote small{font-size:7px}.vote-value{font-size:10px}.vote svg{width:23px;height:23px}.data-strip{padding:0 14px;border-radius:18px}.data-cell{padding-left:15px;min-height:111px}.data-cell>span{font-size:9px}.data-cell p{font-size:7px}.data-cell strong{font-size:28px}.data-cell:nth-child(3),.data-cell:last-child{border-color:#d5eaf6}.journal h2{font-size:19px}.journal-note{display:none}.journal-footer{font-size:7px}.closing p{font-size:17px}.ending h2{font-size:27px}.ending p{font-size:10px}.confirm-actions button{padding:12px 9px}dialog h2{font-size:23px}footer{font-size:8px}}
/* Keep the smaller fish visible; the level badge sits in the clear upper glass. */
.water-readout{top:122px;bottom:auto}
@media(max-width:700px){.water-readout{top:125px;bottom:auto}}

/* The encounter comes first: see the fish, meet it, then make one choice. */
.site-header{height:72px}.intro{padding:23px 0 20px;gap:18px}.intro .eyebrow{font-size:9px;letter-spacing:1px}.intro h1{font-size:34px;line-height:1.25;margin:10px 0 0;letter-spacing:-.6px;text-shadow:0 2px 0 #d7ecf7}.intro h1>span{margin-left:10px}.intro>.text-link{flex-shrink:0;align-self:center;font-size:11px}.hook-copy{font-size:12px;line-height:1.8;color:#5684a0;margin:9px 0 0}.aquarium-stage{height:430px}.tank-toolbar{height:40px}.tank-bottom{height:38px;font-size:10px}.tank-tag{top:18px;left:27px;padding:8px 12px}.tank-tag strong{font-size:15px}.tank-tag small{font-size:9px}.water-readout{top:112px;padding:9px 12px}.water-readout strong{font-size:34px}.water-status{font-size:8px}.stage-caption{font-size:9px;letter-spacing:.3px;pointer-events:none}.aquarium-stage canvas{cursor:crosshair;touch-action:pan-y}.aquarium-stage canvas:focus-visible{outline:3px solid #ffcb6b;outline-offset:-6px}.fish-caption{position:absolute;top:0;left:0;width:180px;padding:9px 10px;background:#fffef4f2;border:1px solid #fff;border-radius:14px 14px 14px 4px;font-size:11px;color:#346687;line-height:1.5;text-align:center;box-shadow:0 4px 15px #1f77a51f;pointer-events:none;will-change:transform}.fish-caption:after{content:'';position:absolute;bottom:-5px;left:calc(50% - 4px);width:9px;height:9px;background:#fffef4;transform:rotate(45deg)}.fish-caption[hidden]{display:none}.observation.is-low{border-color:#ffdda7}.decision{padding:23px 0 18px;gap:20px;grid-template-columns:1fr 1.7fr}.decision h2{font-size:21px;margin:8px 0}.decision-copy>p{font-size:10px;line-height:1.7}.vote{min-height:83px}.vote strong{font-size:16px}.vote-down{background:linear-gradient(#3887bb,#246b9f);border:2px solid #5d9fc9;border-bottom:5px solid #174d7d;color:#fff;box-shadow:0 6px 14px #22669920}.vote-down:hover:not(:disabled){background:linear-gradient(#469acb,#2b79ab);box-shadow:0 8px 16px #22669930}.vote-down small{opacity:.9}.vote-down .vote-value{color:#e4f6ff}.vote-down.selected{outline-color:#63b7e6}.vote:disabled{opacity:.65}.after-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff9e9;border:1px solid #f4dfb5;padding:12px 16px;border-radius:14px;margin-bottom:16px}.after-choice[hidden]{display:none}.after-choice p{font-size:11px;line-height:1.7;color:#87704e;margin:0}.after-choice button{border:0;background:#fff;border-radius:20px;color:#7b663c;padding:9px 13px;white-space:nowrap;font-size:10px}.live-choices{display:flex;align-items:center;gap:20px;font-size:11px;color:#739bb2;padding:15px 3px 21px;border-bottom:1px solid var(--line)}.live-choices strong{font-variant-numeric:tabular-nums;margin-left:5px}.choice-up{color:#c58731}.choice-down{color:#3c84b1}.shared-note{margin-left:auto;font-size:9px}.experiment-record{margin-top:19px}.experiment-record>summary{cursor:pointer;font-size:11px;color:#52849f;padding:13px 2px;list-style:none;display:flex;align-items:center;justify-content:space-between}.experiment-record>summary:before{content:'+';font-size:18px;margin-right:8px}.experiment-record[open]>summary:before{content:'−'}.experiment-record>summary>span{margin-left:auto;font-size:9px;color:#89aaba}.experiment-record[open] .data-strip{margin-top:10px}.closing{padding:24px 0}.closing p{font-size:14px;font-weight:500;line-height:1.9;margin-top:6px}.closing .wave-symbol{font-size:28px}.closing>span:last-child{font-size:6px}footer{padding-top:18px;padding-bottom:18px}
@media(min-width:1600px){.aquarium-stage{height:460px}.intro{padding-top:25px;padding-bottom:22px}}
@media(max-width:1050px){.decision{grid-template-columns:1fr;gap:12px}.decision-copy{display:flex;align-items:center;justify-content:space-between;gap:15px}.decision-copy>.eyebrow{display:none}.decision-copy>p{font-size:10px}.decision h2{margin:0}.aquarium-stage{height:410px}}
@media(max-width:700px){.site-header{height:55px;margin-left:15px;margin-right:15px}.brand svg{width:27px;height:27px}.brand{gap:7px}.brand>span{font-size:16px;letter-spacing:1px}.brand small{font-size:5px;letter-spacing:1.1px;margin-top:3px}.identity{font-size:9px;padding:6px 10px;box-shadow:none;max-width:125px}main{margin-left:12px;margin-right:12px}.intro{padding:15px 0 14px;display:flex;align-items:center;gap:7px}.intro .eyebrow{font-size:7px;letter-spacing:.6px;gap:5px}.little-line{width:12px;height:2px}.intro h1{font-size:25px;margin-top:8px;letter-spacing:-.5px}.intro h1>span{margin-left:4px}.hook-copy{font-size:8px;line-height:1.7;margin-top:5px;max-width:265px}.intro>.text-link{font-size:8px;white-space:nowrap;align-self:center;flex-shrink:0}.observation{border-radius:17px;border-width:4px}.tank-toolbar{height:34px;padding:0 9px;font-size:8px}.tank-toolbar .tools{gap:12px!important}.tools button{padding:5px 0}.aquarium-stage{height:clamp(240px,calc(100svh - 422px),380px)}.tank-tag{top:15px;left:11px;padding:6px 9px;gap:7px;border-radius:11px}.tank-tag strong{font-size:12px}.tank-tag strong span{font-size:8px}.tank-tag small{font-size:7px;margin-top:4px}.water-readout{top:111px;left:11px;padding:7px 9px;border-radius:12px}.water-readout strong{font-size:25px;letter-spacing:-1px}.water-readout strong small{font-size:10px}.water-readout>span:first-child{font-size:6px}.water-status{font-size:6px;max-width:79px}.ocean-label{top:106px;right:5px;width:88px}.ocean-label strong{font-size:12px}.ocean-label small{font-size:6px}.fish-caption{width:150px;font-size:9px;padding:7px 8px;border-radius:11px 11px 11px 3px}.stage-caption{font-size:6px;bottom:13px;letter-spacing:0}.tank-bottom{height:29px;font-size:7px;padding:0 9px}.tank-bottom>span:first-child{max-width:58%}.tank-bottom>span:last-child{font-size:6px}.decision{padding:13px 0 12px;gap:9px}.decision-copy{display:block}.decision h2,.decision-copy .eyebrow{display:none}.decision-copy>p{font-size:8px;text-align:center;line-height:1.5;margin:0}.vote-actions{gap:9px}.vote{min-height:77px;padding:10px 9px;grid-template-columns:20px 1fr;column-gap:6px;row-gap:4px;border-radius:13px}.vote strong{font-size:13px}.vote small{font-size:7px;margin-top:5px;line-height:1.4}.vote-value{font-size:9px}.vote svg{width:20px;height:20px}.after-choice{padding:10px 11px;gap:10px;margin-bottom:9px}.after-choice p{font-size:9px}.after-choice button{font-size:8px;padding:8px 10px}.live-choices{font-size:9px;gap:15px;padding:12px 2px 15px}.shared-note{display:none}.experiment-record{margin-top:8px}.experiment-record>summary{font-size:10px}.experiment-record>summary>span{font-size:7px}.closing{padding:17px 0}.closing p{font-size:12px;letter-spacing:.3px}.closing .wave-symbol{font-size:25px}.closing>span:last-child{font-size:5px}footer{margin-left:15px;margin-right:15px;padding:15px 0;gap:12px}footer>span{font-size:6px}}
