:root{--paper:#e9e1ce;--paper2:#d8cdb5;--ink:#20231f;--faded:#64665d;--rule:#aaa28f;--red:#a43f30;--green:#45624d;--water:#174d59;--foam:#d8eee8;--night:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Newsreader,Georgia,serif}button,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e6b958;outline-offset:3px}.kicker{font:11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.topbar{height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;border-bottom:1px solid rgba(233,225,206,.35);position:absolute;z-index:6;width:100%;color:white}.brand{color:inherit;text-decoration:none;font-size:18px;font-weight:600}.day-chip{margin:0;font:11px DM Mono,monospace;text-transform:uppercase}.top-actions{justify-self:end;display:flex;gap:17px}.top-actions button{color:inherit;border:0;border-bottom:1px solid currentColor;padding:3px 0;background:none;cursor:pointer;font:10px DM Mono,monospace}
.aquarium{height:100svh;min-height:650px;position:relative;overflow:hidden;background:linear-gradient(#163b43,#246978 56%,#173e49);border-bottom:12px solid #6d563d;transition:filter .5s}.aquarium.night{filter:brightness(.58) saturate(.75)}.aquarium.dawn{filter:sepia(.12) brightness(.86)}#tankCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.weather-layer{position:absolute;inset:0;pointer-events:none}.weather-layer.rain{background-image:repeating-linear-gradient(105deg,transparent 0 19px,rgba(255,255,255,.11) 20px 21px,transparent 22px 38px);animation:rain .6s linear infinite}.weather-layer.storm{background-color:rgba(26,39,55,.23);background-image:repeating-linear-gradient(105deg,transparent 0 16px,rgba(255,255,255,.16) 17px 18px,transparent 19px 31px);animation:rain .42s linear infinite}.weather-layer.sunny{background:linear-gradient(115deg,rgba(255,225,146,.18),transparent 35%)}.weather-layer.snow{background-image:radial-gradient(circle,rgba(255,255,255,.65) 0 2px,transparent 3px);background-size:42px 42px;animation:snow 8s linear infinite}@keyframes rain{to{background-position:-30px 70px}}@keyframes snow{to{background-position:30px 84px}}
.tank-copy{position:absolute;left:6vw;top:27%;max-width:360px;color:white;pointer-events:none}.specimen{font:11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:7px;width:max-content}.tank-copy h1{font-size:clamp(88px,12vw,170px);font-weight:400;line-height:.75;letter-spacing:-.075em;margin:42px 0 28px}.fish-note{font-size:18px;line-height:1.4;max-width:290px;margin:0;color:var(--foam)}.vitals{font:10px DM Mono,monospace;text-transform:uppercase;margin-top:18px;color:#e6d49e}.tank-tools{position:absolute;right:4vw;bottom:65px;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:470px}.tank-tools button{background:#e6d49e;color:#2b3029;border:1px solid #2b3029;padding:10px 13px;cursor:pointer;font:10px DM Mono,monospace;box-shadow:2px 2px 0 #2b3029}.tank-tools button:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 #2b3029}.hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);margin:0;color:rgba(255,255,255,.72);font:9px DM Mono,monospace;white-space:nowrap}
.thought{font-size:14px;font-style:italic;color:#d8eee8;max-width:300px}.leave-ambient{display:none;position:absolute;right:18px;top:18px;z-index:10;background:#e6d49e;border:1px solid var(--ink);padding:9px 12px;font:10px DM Mono,monospace}.ambient-active{overflow:hidden}.ambient-active main>*:not(.aquarium),.ambient-active .topbar,.ambient-active .postcard-button{display:none!important}.ambient-active .aquarium{position:fixed;inset:0;z-index:50;height:100vh;border:0}.ambient-active .tank-tools,.ambient-active .tank-copy{opacity:0;transition:opacity .4s}.ambient-active .aquarium:hover .tank-copy{opacity:.75}.ambient-active .leave-ambient{display:block}.screen-dim .aquarium{filter:brightness(.34) saturate(.7)!important}
.section-nav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:3vw;padding:12px;background:#222820;border-bottom:1px solid #000}.section-nav a{color:#eee5d1;text-decoration:none;font:10px DM Mono,monospace;text-transform:uppercase}.section-nav a:hover{color:#e6b958}.status-strip{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:25px;padding:22px max(5vw,24px);background:#c9d5ca;border-bottom:1px solid #7f8b80;align-items:center}.status-strip>div{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;font:9px DM Mono,monospace;text-transform:uppercase}.status-strip meter{width:100%;height:9px}.status-strip p{font-size:15px;margin:0;border-left:1px solid #7f8b80;padding-left:22px}
.ruled{background-color:var(--paper);background-image:linear-gradient(rgba(75,78,69,.07) 1px,transparent 1px);background-size:100% 29px}.check-in,.journal,.collection,.family{padding:85px max(6vw,24px)}.section-heading{display:grid;grid-template-columns:1fr 1.1fr;column-gap:8vw;max-width:1100px;margin:0 auto 55px}.section-heading .kicker{grid-column:1;margin:7px 0}.section-heading h2{grid-column:1;font-size:clamp(48px,7vw,88px);font-weight:400;letter-spacing:-.05em;line-height:.9;margin:10px 0}.section-heading>p:last-child{grid-column:2;grid-row:1/3;font-size:19px;line-height:1.5;align-self:end;max-width:500px;margin:0 0 8px}.entry-sheet{max-width:1100px;margin:auto;border-top:2px solid var(--ink)}.signal-row{border:0;border-bottom:1px solid var(--rule);margin:0;padding:27px 0;display:grid;grid-template-columns:minmax(270px,.72fr) 1.28fr;align-items:center;gap:30px}.signal-row legend{display:contents;font-size:21px}.signal-row legend span{font:12px DM Mono,monospace;color:var(--red);margin-right:12px}.choices{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.choices button,.object-palette button,.food-palette button{min-width:105px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 12px;cursor:pointer;font:10px DM Mono,monospace}.choices button:hover,.object-palette button:hover,.food-palette button:hover{background:var(--paper2)}.choices button.selected,.object-palette button.selected,.food-palette button.selected{background:var(--ink);color:var(--paper)}.mutation-preview{max-width:700px;margin:32px auto 0;text-align:center;font-size:17px;font-style:italic}.primary-button{display:block;min-width:220px;margin:30px auto 0;border:2px solid var(--ink);background:var(--red);color:white;padding:14px 22px;cursor:pointer;font:500 11px DM Mono,monospace;box-shadow:4px 4px 0 var(--ink)}.primary-button:disabled{background:transparent;color:var(--faded);border-color:var(--rule);box-shadow:none;cursor:not-allowed}.primary-button:not(:disabled):hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.save-note{text-align:center;color:var(--faded);font:9px DM Mono,monospace;margin-top:15px}
.two-column{display:grid;grid-template-columns:1fr 1fr}.panel{padding:75px max(6vw,38px);min-height:420px}.panel h2,.neighbors h3{font-size:48px;font-weight:400;letter-spacing:-.04em;margin:10px 0 16px}.panel>p{font-size:17px;line-height:1.45}.habitat-panel{background:#c9d5ca;border-right:1px solid #7f8b80}.feeding-panel{background:#dfd0b7}.object-palette,.food-palette{display:flex;flex-wrap:wrap;gap:7px;margin-top:30px}.object-palette button,.food-palette button{background:rgba(255,255,255,.18)}.text-button{border:0;border-bottom:1px solid;background:none;padding:2px 0;margin-top:20px;cursor:pointer;font:10px DM Mono,monospace}.response-line{border-top:1px solid var(--rule);padding-top:15px;font-style:italic}
.blend-maker{display:grid;grid-template-columns:1fr auto auto;gap:6px;margin-top:14px}.blend-maker input,.blend-maker select{min-width:0;padding:9px;border:1px solid var(--ink);background:#eee3cc}.blend-maker button{border:1px solid var(--ink);background:#e6d49e;font:9px DM Mono,monospace}
.studio{padding:85px max(6vw,24px)}.tool-shelves{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--ink);border-left:1px solid var(--rule)}.tool-shelves article{padding:28px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:340px}.tool-shelves h3{font-size:32px;font-weight:400;margin:8px 0}.tool-shelves label{display:grid;gap:6px;margin:16px 0;font:10px DM Mono,monospace}.tool-shelves input:not([type=range]),.tool-shelves select{width:100%;padding:10px;background:#f5efdf;border:1px solid var(--ink)}.inline-controls{display:flex;gap:8px}.inline-controls>*{flex:1}.inline-controls button,.tool-shelves article>button,.mixer button,.ownership button,.file-label{border:1px solid var(--ink);background:#e6d49e;padding:10px 13px;cursor:pointer;font:10px DM Mono,monospace}.focus-readout{margin-top:20px;font:12px DM Mono,monospace}.breathing-orb{width:130px;height:130px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;margin:22px auto;transition:transform 4s ease,background 4s ease}.breathing-orb.inhale{transform:scale(1.32);background:#c9d5ca}.breathing-orb.exhale{transform:scale(.78);background:#e9e1ce}.breathing-orb span{font:10px DM Mono,monospace}.file-label input{display:none}.biome-picker{display:flex;flex-wrap:wrap;gap:6px}.biome-picker button{border:1px solid var(--ink);background:transparent;padding:8px 10px;font:9px DM Mono,monospace;cursor:pointer}.biome-picker button.selected{background:var(--ink);color:var(--paper)}.mixer{max-width:1200px;margin:35px auto 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:22px}.mixer>span{font-size:20px}.mixer label{font:9px DM Mono,monospace;display:flex;gap:5px;align-items:center}
.station-grid{max-width:1200px;margin:35px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--rule)}.station-grid article{padding:22px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.station-grid h3{font-size:25px;font-weight:400;margin:8px 0}.station-grid label{display:grid;gap:5px;margin:12px 0;font:9px DM Mono,monospace}.station-grid button{border:1px solid var(--ink);background:#e6d49e;padding:9px 11px;font:9px DM Mono,monospace}.chemistry{display:grid;grid-template-columns:1fr auto;gap:7px;font:10px DM Mono,monospace;border-top:1px solid var(--rule);padding-top:12px}.chemistry b{font-weight:500}.station-grid summary{cursor:pointer;font:10px DM Mono,monospace;margin-top:15px}.station-grid dl{font-size:13px}.station-grid dt{font-weight:600;margin-top:8px}.station-grid dd{margin-left:0;color:var(--faded)}
.collection{background:#29362c;color:#eee5d1}.collection .section-heading .kicker{color:#e6b958}.drawer{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #8e9689;border-left:1px solid #8e9689}.find{min-height:150px;border-right:1px solid #8e9689;border-bottom:1px solid #8e9689;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.find .object-icon{font-size:32px}.find b{font-size:17px;font-weight:400}.find small{font:9px DM Mono,monospace;color:#b7c0b2}.find.locked{opacity:.28}.neighbors{max-width:1100px;margin:60px auto 0;border-top:1px solid #8e9689}.neighbors h3{font-size:36px}.neighbors #inhabitantList{display:flex;gap:10px;flex-wrap:wrap}.inhabitant{border:1px solid #8e9689;padding:12px 15px;font:10px DM Mono,monospace}.inhabitant.locked{opacity:.35}
.journal .timeline{max-width:1100px;margin:auto;border-top:2px solid var(--ink)}.entry{display:grid;grid-template-columns:105px 140px 1fr auto;gap:25px;align-items:center;padding:20px 0;border-bottom:1px solid var(--rule)}.entry canvas{width:140px;height:80px;background:#bdd2cd;border:1px solid var(--ink)}.entry .date{font:10px DM Mono,monospace}.entry h3{font-size:20px;font-weight:400;margin:0 0 5px}.entry p{margin:0;color:var(--faded)}.entry button{border:0;border-bottom:1px solid;background:none;cursor:pointer;font:9px DM Mono,monospace}.empty-entry{padding:25px 0;border-bottom:1px solid var(--rule)}
.journal-search{max-width:1100px;margin:0 auto 16px;display:flex;align-items:center;gap:12px}.journal-search input{flex:1;padding:10px;background:#f5efdf;border:1px solid var(--ink)}.journal-search span{font:9px DM Mono,monospace}
.history-tools{max-width:1100px;margin:35px auto 0;display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:20px}.history-tools label{flex:1;display:grid;gap:5px;font:9px DM Mono,monospace}.history-tools button{border:1px solid var(--ink);background:transparent;padding:9px 12px;font:9px DM Mono,monospace;cursor:pointer}.history-tools p{font-style:italic}
.family{background:#b9aa8c;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.family h2{font-size:clamp(48px,7vw,84px);font-weight:400;letter-spacing:-.05em;line-height:.9;margin:12px 0 20px}.family p{font-size:18px;line-height:1.5}.family .primary-button{margin:30px 0}.family-tree{display:flex;gap:12px;overflow-x:auto;padding:20px 0}.ancestor{min-width:150px;border:1px solid var(--ink);background:rgba(255,255,255,.18);padding:15px}.ancestor canvas{width:118px;height:80px}.ancestor b,.ancestor small{display:block}.ancestor small{font:9px DM Mono,monospace;margin-top:5px}
.marking-maker{border-top:1px solid var(--ink);padding-top:15px}.marking-maker canvas{width:100%;height:120px;background:#e7dcc3;border:1px solid var(--ink);touch-action:none}.marking-maker button{border:1px solid var(--ink);background:transparent;padding:7px 10px;margin-top:8px;font:9px DM Mono,monospace}.marking-maker p:last-child{font-size:13px}
.ownership{padding:85px max(6vw,24px);background:#d7c5a6}.ownership-actions{max-width:1100px;margin:auto;display:flex;gap:10px;flex-wrap:wrap}.ownership-actions>*{display:inline-block}.visitor-card,.field-note{max-width:1100px;margin:30px auto 0;border-top:1px solid var(--ink);padding-top:22px}.visitor-card.active{display:grid;grid-template-columns:160px 1fr;gap:25px}.visitor-card canvas{width:160px;height:100px;background:#bdd2cd}.field-note label{display:grid;gap:8px}.field-note textarea{min-height:100px;padding:12px;background:#f1e5cf;border:1px solid var(--ink);font:16px Newsreader,serif}.field-note button{margin-top:10px}
.naming-row{max-width:1100px;margin:30px auto 0;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:end;border-top:1px solid var(--ink);padding-top:22px}.naming-row label{display:grid;gap:6px;font:9px DM Mono,monospace}.naming-row input{padding:9px;background:#f1e5cf;border:1px solid var(--ink)}
.signal-settings{max-width:1100px;margin:25px auto 0;border:1px solid var(--ink);display:flex;gap:22px;flex-wrap:wrap;padding:18px}.signal-settings legend{font:10px DM Mono,monospace;padding:0 7px}.signal-settings label{font:10px DM Mono,monospace}
.return-report{position:fixed;left:20px;bottom:20px;z-index:30;width:min(390px,calc(100% - 40px));background:var(--paper);border:2px solid var(--ink);padding:24px;box-shadow:8px 8px 0 rgba(0,0,0,.35)}.return-report>button{position:absolute;right:10px;top:8px;border:0;background:none;font-size:23px}.return-report h2{font-size:34px;font-weight:400;margin:7px 0}.return-report ul{padding-left:20px}.return-report li{margin:7px 0}.high-contrast{--paper:#fff8dc;--paper2:#e3d5a5;--ink:#080a08;--faded:#30332e;--rule:#514e45}.large-text{font-size:120%}.quiet-visuals .weather-layer{display:none}.quiet-visuals #tankCanvas{filter:saturate(.7)!important}
.postcard-button{position:fixed;right:18px;bottom:18px;z-index:8;background:#e6d49e;border:2px solid var(--ink);padding:10px 14px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;font:10px DM Mono,monospace}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,15px);background:var(--ink);color:var(--paper);padding:12px 18px;font:10px DM Mono,monospace;z-index:20;opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(620px,calc(100% - 30px));border:2px solid var(--ink);background:var(--paper);padding:25px;box-shadow:10px 10px 0 rgba(0,0,0,.35)}dialog::backdrop{background:rgba(12,18,16,.72)}dialog h2{font-size:42px;font-weight:400;margin:8px 0}dialog canvas{width:100%;height:auto;border:1px solid var(--ink);background:#bdd2cd}dialog label{display:grid;gap:7px;font:10px DM Mono,monospace}dialog input{padding:10px;border:1px solid var(--ink);background:#fffdf5;font-size:16px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.dialog-actions button,.dialog-actions a{margin:0;min-width:auto}.dialog-actions a{text-decoration:none}.dialog-actions button:not(.primary-button){border:0;border-bottom:1px solid;background:none;cursor:pointer}
@media(max-width:800px){.topbar{padding:0 12px;grid-template-columns:1fr auto}.day-chip{display:none}.top-actions{gap:8px}.top-actions button{font-size:0}.top-actions button:nth-child(1):after{content:'Ambient';font-size:9px}.top-actions button:nth-child(2):after{content:'Weather';font-size:9px}.top-actions button:nth-child(3):after{content:'Hum';font-size:9px}.aquarium{min-height:700px}.tank-copy{left:24px;top:18%}.tank-copy h1{font-size:90px}.tank-tools{left:20px;right:20px;bottom:50px;justify-content:flex-start}.section-nav{justify-content:flex-start;overflow-x:auto;padding-left:20px;gap:25px}.status-strip{grid-template-columns:1fr}.status-strip p{border:0;padding:0}.section-heading{display:block}.section-heading>p:last-child{margin-top:22px}.signal-row{display:block}.signal-row legend{display:block;margin-bottom:18px}.choices{justify-content:flex-start}.choices button{flex:1 1 100px}.two-column,.family,.tool-shelves,.station-grid{grid-template-columns:1fr}.habitat-panel{border-right:0;border-bottom:1px solid #7f8b80}.drawer{grid-template-columns:repeat(2,1fr)}.entry{grid-template-columns:65px 1fr}.entry canvas{display:none}.entry button{grid-column:2;justify-self:start}.hint{display:none}.postcard-button{bottom:10px;right:10px}.family .primary-button{margin-left:auto;margin-right:auto}.visitor-card.active,.naming-row{grid-template-columns:1fr}.mixer{align-items:flex-start;flex-direction:column}.blend-maker{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
