/* A little lagoon light and woven texture, keeping the existing fire-and-bronze identity. */
:root{--lagoon:#78c3b5}
.island-ribbon{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 17px;margin:2px 0 16px;border-block:1px solid #ad9c6850;background:repeating-linear-gradient(45deg,#9a885c08 0 2px,transparent 2px 8px),#10231e80}
.island-ribbon span{font:600 20px var(--display);text-transform:uppercase;letter-spacing:.13em;color:#b1dacf}.island-ribbon small{color:#a6b7ab;font-size:12px}
#trio,#castaways{--page-art:url('assets/lagoon-trial.webp')}
#trio>.page-head,#castaways>.page-head{background-position:center 42%!important}
.camp-action:first-child{background:linear-gradient(110deg,#0b1919f5,#0c2115a8),url('assets/lagoon-trial.webp') 50% 42%/cover}
.page .hidden-seal{margin:8px 18px 24px auto;width:38px;height:38px;opacity:.5}.page .hidden-seal:hover,.page .hidden-seal:focus-visible{opacity:1}
.wave-meta{display:flex;justify-content:space-between;gap:15px;margin-top:22px;font-size:14px}.wave-meta strong{color:var(--lagoon)}
#huntClue{white-space:pre-line}.practice-details{padding:18px 0;border-top:1px solid var(--line);margin-top:20px}.practice-details summary{cursor:pointer;color:var(--lagoon)}.practice-buttons{display:flex;flex-wrap:wrap;gap:8px}.inventory-idol{padding:13px;border:1px solid #c4a56844;border-radius:8px;color:var(--gold)}
.trial-dialog{width:min(960px,96vw)}.trial-dialog .exp-head{background:linear-gradient(90deg,#0b1d19f2,#0c2118a3),url('assets/lagoon-trial.webp') center 40%/cover}
.trial-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:12px;color:var(--lagoon);font-size:13px}
#trialTimer{font:700 34px var(--display);font-variant-numeric:tabular-nums;color:#f4d593}#trialTimer.urgent{color:#ff997a}
.trial-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;align-items:start}.trial-stage{position:relative;min-width:0;aspect-ratio:1;background:#0b1715;border:3px solid #796139;border-radius:10px;overflow:hidden;box-shadow:0 14px 34px #0005,inset 0 0 30px #0008}.trial-cover{width:100%;height:100%;object-fit:cover;display:block}.trial-aside>p,.trial-aside p{font-size:14px}.trial-aside .btn{width:100%;margin:5px 0}.trial-aside input{width:100%}.trial-aside label{display:flex;justify-content:space-between}.trial-message{padding:14px 16px;background:#c5a5650c;border-left:2px solid var(--gold);min-height:53px}.board-overlay{position:absolute;inset:auto 12px 16px;text-align:center;background:#05100de0;border:1px solid #d6b67588;border-radius:8px;padding:12px;font-size:14px}
.mosaic-board{display:grid;grid-template-columns:repeat(4,1fr);height:100%;gap:2px;padding:2px;background:#31291b}.mosaic-piece{position:relative;min-width:0;aspect-ratio:1;border:0;padding:0;overflow:hidden;cursor:pointer;background:#18332c;touch-action:manipulation}.piece-picture{position:absolute;inset:0;background-size:400% 400%;pointer-events:none}.mosaic-piece.selected:after{content:'';position:absolute;inset:2px;border:3px solid #ffe090;box-shadow:inset 0 0 8px #000b;pointer-events:none}.mosaic-piece:focus-visible{outline:3px solid #fce4a9;outline-offset:-4px;z-index:1}
#ringCanvas{width:100%;height:100%;display:block}.ring-reference{width:112px;aspect-ratio:1;object-fit:cover;border:1px solid #ad8a53;border-radius:8px}.ring-control{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:8px 0}.ring-control span{margin-right:auto;font-size:14px;color:#d6c69f}.ring-control button{width:45px;min-height:44px;border:1px solid #a4824866;border-radius:8px;color:#efd89a;background:#1c2b23;cursor:pointer;font-size:25px}
.memory-board{height:100%;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#081b13d9,#081b13ed),url('assets/lagoon-trial.webp') center/cover}.memory-beacon{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;border:1px solid #ac8a484f;background:radial-gradient(#66503330,#081911);color:#edc77c;box-shadow:0 0 30px #b79a4210}.memory-beacon svg{width:58px;height:58px}.memory-beacon.lit{background:radial-gradient(#a8843355,#122118);border-color:#e1c684;box-shadow:0 0 28px #ddbe4140}.memory-beacon>span{font-size:40px;color:#7f7350}.memory-board p{font-size:13px;text-align:center;color:#cec2a5;margin:10px 0}.memory-symbols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:350px}.memory-symbols button{background:linear-gradient(130deg,#4c42286b,#15251e);border:1px solid #c5a26266;border-radius:9px;padding:8px;color:#e6c180;cursor:pointer;min-height:70px;display:flex;flex-direction:column;align-items:center;touch-action:manipulation}.memory-symbols button:disabled{opacity:.4;cursor:default}.memory-symbols svg{width:34px;height:34px}.memory-symbols span{font-size:10px}.memory-answer{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;width:100%;max-width:350px;margin-top:14px}.memory-answer>span{display:grid;place-items:center;aspect-ratio:1;border:1px solid #c3a4683a;border-radius:4px;color:#b7a272;font-size:11px}.memory-answer svg{width:27px;height:27px}
[hidden]{display:none!important}
@media(max-width:720px){.trial-layout{grid-template-columns:1fr;gap:14px}.trial-aside{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;align-items:start}.trial-aside #trialBrief,.trial-aside #trialControls,.trial-aside>p{grid-column:1/-1}.trial-aside #trialBrief p{margin:4px 0}.trial-aside label{grid-column:1/-1;margin:8px 0 0}.trial-aside input{grid-column:1/-1}.trial-dialog .exp-body{padding:16px}.trial-dialog .exp-head{padding:19px 18px}.trial-dialog .exp-head h2{font-size:30px}.trial-dialog #trialInstructions{font-size:13px;margin:10px 0}.ring-reference{float:left;margin:0 14px 8px 0}.ring-control{margin:4px 0}.ring-control button{min-height:44px;width:50px}.island-ribbon{align-items:start;flex-direction:column;gap:3px}.memory-board{padding:12px}.memory-beacon{width:60px;height:60px}.memory-beacon svg{width:42px;height:42px}.memory-symbols button{min-height:54px;padding:5px}.memory-symbols svg{width:26px;height:26px}.memory-answer{margin-top:8px}.memory-board p{margin:6px 0}.trial-topline{font-size:12px}.trial-dialog{max-height:94dvh}}

#balanceCanvas{display:block;width:100%;height:100%}.balance-hud{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.balance-hud span{border:1px solid #ceb26e88;border-radius:99px;background:#071c16e8;padding:7px 12px;font-size:13px;color:#f0d9a4}.balance-pad{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:40px}.balance-pad button{min-height:48px;min-width:104px;border:1px solid #d5b67599;border-radius:9px;background:linear-gradient(#564d2bea,#192b20f5);color:#f9e5b6;touch-action:none;user-select:none;font-weight:700}.balance-pad button:active{background:#9d7a37}#balanceTilt{accent-color:#d0aa60}
/* Physical cut pieces with matching curved tabs/sockets and raised wooden edges. */
.mosaic-board{padding:6%;gap:5px;background:radial-gradient(#44321d,#19170e);overflow:visible}.mosaic-piece{overflow:visible;background:transparent;filter:drop-shadow(1px 3px 2px #000b);z-index:1}.mosaic-piece .piece-picture{inset:-24%;background:none;display:block}.piece-picture svg{width:100%;height:100%;display:block}.mosaic-piece.selected{z-index:5;filter:drop-shadow(0 0 5px #ffd68a)}.mosaic-piece.selected:after{display:none}.mosaic-piece:focus-visible{z-index:6}.memory-board{background:linear-gradient(#051310cd,#051310ef),url('assets/game-memory.webp') center/cover}.memory-round-label{font-size:14px;color:#ecd299;letter-spacing:.12em;margin-bottom:8px;text-transform:uppercase}.memory-symbols span{font-size:12px}.memory-answer{grid-template-columns:repeat(6,1fr)}.memory-answer:has(>span:last-child:nth-child(4)){grid-template-columns:repeat(4,1fr)}.memory-answer:has(>span:last-child:nth-child(8)){grid-template-columns:repeat(4,1fr)}
.mosaic-board.assembled{gap:0}.memory-symbols button:focus-visible{outline:2px solid #ffe2a1;outline-offset:2px}

.balance-pad,.balance-pad button,.balance-pad button *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none;touch-action:none}
