/* GILLHOOD additions. Keep the source tank's layout, camera staging and glass UI. */
:focus-visible{outline:2px solid #dcf9b4;outline-offset:6px}.loader-word{font-size:clamp(30px,7vw,100px)}.ui .h{max-width:45vw}/* Token links stay legible without covering the residents. */
.launch-status{position:fixed;left:50%;top:3.5vh;transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:12;color:#fdf5e7;font:10px var(--mono);letter-spacing:.02em;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s}
.launch-status.ready{opacity:1;visibility:visible;pointer-events:auto}
.launch-status.in-game{opacity:0;visibility:hidden;pointer-events:none}
.launch-status button,.launch-status a{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;min-height:39px;border:1px solid #d8f5dc4d;background:#153f37b8;border-radius:40px;color:#edffd5;padding:10px 14px;font:inherit;cursor:pointer;white-space:nowrap;text-decoration:none;backdrop-filter:blur(12px)}
.launch-status button:hover,.launch-status a:hover{background:#376552e6;border-color:#d8f5dc99}
.launch-status .launch-buy{background:#c6ef98;color:#173d32;border-color:#c6ef98}
.launch-status .launch-buy:hover{background:#ddffb9}
.launch-status .contract-copy{gap:9px;padding-inline:12px}
.contract-label{font-size:9px;color:#d5f8ad}
.contract-value{font-size:9px;letter-spacing:0;user-select:all}
.copy-label{font-size:8px;letter-spacing:.04em;min-width:31px;color:#d5f8ad}
.contract-copy.is-copied{border-color:#c6ef98}
.project-panel .panel-kicker{font-size:10px}.reef-active .ui,.reef-active .sound-toggle{opacity:0;pointer-events:none}.reef-active .section-layer[data-section=more]{display:none}
#reef-slice{position:fixed;inset:0;z-index:10;overflow:hidden;color:#ecf3d0;touch-action:none;background:linear-gradient(180deg,#204c3f00 25%,#173d3822 65%,#072e3077);font-family:var(--mono)}#reef-slice[hidden]{display:none}.reef-heading{position:absolute;top:12vh;left:5vw;pointer-events:none;z-index:1}.reef-eyebrow{font-size:10px;letter-spacing:.13em;opacity:.6}.reef-heading h1{font-family:var(--display);font-size:clamp(32px,4.3vw,66px);line-height:1.05;letter-spacing:-.015em;margin:22px 0 16px;font-weight:400}.reef-heading p{font:12px/1.6 var(--mono);opacity:.65;margin:0}.reef-word{position:absolute;left:3vw;right:3vw;bottom:14vh;font-family:var(--wordmark);font-size:10.1vw;letter-spacing:-.025em;line-height:1;color:#e1eab0;opacity:.86;pointer-events:none;text-align:center;transform:scaleY(1.45);transform-origin:bottom}#reef-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:crosshair;touch-action:none;outline:none}.reef-instruction{position:absolute;left:5vw;bottom:5vh;display:flex;align-items:center;gap:13px;z-index:3;font-size:10px;line-height:1.8;letter-spacing:.08em;pointer-events:none;transition:opacity 1s}.reef-instruction small{opacity:.5;font:9px var(--mono);letter-spacing:0}.swipe-icon{font-family:Georgia,serif;font-size:36px}.has-sliced .reef-instruction{opacity:.4}.reef-hud{position:absolute;right:5vw;bottom:5vh;display:flex;gap:24px;align-items:center;z-index:4}.reef-hud>div{display:flex;flex-direction:column;gap:7px;min-width:60px}.reef-hud span{font-size:9px;letter-spacing:.12em;opacity:.6}.reef-hud strong{font:30px/.9 var(--display);font-variant-numeric:tabular-nums}.reef-hud button{border:1px solid #e6f3c947;border-radius:50%;background:#ffffff09;color:#e8f4d0;width:35px;height:35px;cursor:pointer;font-size:20px}.reef-hud button:hover{background:#ffffff23}.reef-combo{position:absolute;right:5vw;top:18vh;z-index:3;color:#d7f7a5;font:42px var(--display);transform:translateY(8px) rotate(-7deg);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.reef-combo.show{opacity:1;transform:translateY(0) rotate(-7deg)}.reef-note{position:absolute;left:50%;transform:translateX(-50%);bottom:2vh;font:8px var(--mono);letter-spacing:.04em;opacity:.35;white-space:nowrap;z-index:3;pointer-events:none}.reef-pause-message{position:absolute;z-index:6;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;background:#0b2f37bb;backdrop-filter:blur(8px);font:52px var(--display);gap:25px}.reef-pause-message[hidden]{display:none}.reef-pause-message button{font:12px var(--mono);background:#e5efc9;color:#143c36;border:0;padding:16px 24px;border-radius:40px;cursor:pointer}.nav-open .reef-hud,.nav-open #reef-canvas{pointer-events:none}.nav-open .launch-status{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:768px){.wordmark{font-size:18px}.about-copy{font-size:clamp(19px,5.1vw,27px)}.about-title{font-size:clamp(52px,16vw,85px)}.reef-heading{left:6vw;top:12vh}.reef-heading h1{font-size:clamp(32px,8vw,43px);margin-top:17px}.reef-heading p{font-size:10px;max-width:75vw}.reef-eyebrow{font-size:8px}.reef-word{bottom:26vh;font-size:10.1vw;transform:scaleY(1.8)}.reef-instruction{left:6vw;bottom:9vh;font-size:8px;gap:7px}.reef-instruction small{font-size:8px}.swipe-icon{font-size:28px}.reef-hud{right:6vw;bottom:9vh;gap:12px}.reef-hud>div{min-width:34px;gap:7px}.reef-hud strong{font-size:25px}.reef-hud span{font-size:8px}.reef-hud button{width:29px;height:29px;font-size:16px}.reef-note{bottom:3vh;font-size:7px}.reef-combo{top:36vh;font-size:30px;right:7vw}.reef-pause-message{font-size:36px}.ui .h{max-width:48vw;font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reef-combo,.launch-status{transition:none}}

.reef-active .wordmark{color:#fdf5e7}.reef-active .sound-toggle{visibility:hidden}.reef-active .ui{visibility:hidden}

@media(max-width:768px){.dive-hint{bottom:3.5vh;pointer-events:auto;font-size:9px}.ui .t{max-width:43vw;font-size:8px}.ui .h{font-size:8px}}

.panel-media:has(.panel-media-empty){display:none}

@media(min-width:769px) and (max-width:1100px){.launch-status{top:12vh}}
@media(max-width:768px){
 .launch-status{top:12vh;bottom:auto;left:5vw;transform:none;width:90vw;max-width:400px;display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .launch-status .contract-copy{grid-column:1/-1;width:100%;gap:8px;padding:10px 11px}
 .launch-status a{min-height:40px;font-size:10px}
 .contract-value{font-size:clamp(7.5px,2.22vw,9px)}
 .copy-label{margin-left:auto}
}
