:root{color-scheme:dark;--bg:#102d32;--light:#c8f0d9;--accent:#c9eaa7;--muted:#a5bbb9;--line:#ffffff19}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eff8ed;font-family:system-ui,-apple-system,sans-serif;min-height:100svh}body[data-palette="1"]{--bg:#30283d;--light:#ebd2ef;--accent:#efc5d8}body[data-palette="2"]{--bg:#352d24;--light:#fae4ad;--accent:#f8ce9f}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:#ffffff08;border:1px solid var(--line);border-radius:14px;min-height:46px;cursor:pointer;touch-action:manipulation}button:hover{background:#ffffff12}button:focus-visible,a:focus-visible{outline:3px solid #eec399;outline-offset:3px}button:disabled{opacity:.4;cursor:default}main{position:relative;max-width:470px;margin:auto;padding:26px 22px max(22px,env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;color:inherit;font-family:Georgia,serif;font-size:29px;letter-spacing:-1px}.brand span{display:block;font:8px system-ui;letter-spacing:2.8px;margin-top:6px;color:var(--muted)}header button{width:46px}.intro{margin:32px 0 24px}.eyebrow{font-size:10px;letter-spacing:2.6px;color:var(--accent)}h1{font:normal 33px/1.15 Georgia,serif;letter-spacing:-.8px;margin:12px 0}p{color:var(--muted);font-size:13px;line-height:1.6}.stats,.board-head,.board-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.stats{margin:0 4px 12px}.glass{background:linear-gradient(145deg,#ffffff09,#ffffff02);padding:16px;border:1px solid #ffffff20;border-radius:26px;box-shadow:0 24px 55px #0002}.board-head{font-size:11px;margin-bottom:15px}#board{display:grid;grid-template-columns:repeat(5,1fr);gap:7px} .cell{position:relative;aspect-ratio:1;min-height:0;border-radius:12px;background:#061e2370;border:1px solid #ffffff0c;transition:background .22s,box-shadow .22s,transform .22s}.cell.target:before{content:'';position:absolute;inset:9px;border:1px dashed #b3d4cb99;border-radius:5px}.cell.lit{background:var(--light);box-shadow:inset 0 0 14px #ffffff70,0 0 18px #c8f0d914}.cell.lit.target:before{border:1px solid #24453b60}.cell.preview{outline:2px solid #ecc4a4;outline-offset:1px;transform:translateY(-2px)}.cell.preview:after{content:attr(data-preview);position:absolute;inset:0;display:grid;place-items:center;font-size:22px;color:#eec399;text-shadow:0 1px 3px #102d3a}.cell.lit.preview:after{color:#214438;text-shadow:none}.board-foot{margin-top:15px}#message{font-size:12px;line-height:1.5;color:var(--muted);min-height:49px;margin:14px 5px 5px}.stamp-row{display:flex;gap:10px;margin-bottom:12px}#stamps{display:flex;gap:9px;flex:1}.stamp{flex:1;height:62px;display:grid;place-items:center}.stamp.selected{border-color:var(--accent);background:#c9eaa710}.mini{display:grid;grid-template-columns:repeat(3,7px);grid-template-rows:repeat(3,7px);gap:3px}.mini i{border-radius:2px;background:#ffffff12}.mini i.on{background:var(--light)}#rotate{width:70px;font-size:23px}#rotate span{display:block;font-size:10px}.primary{width:100%;background:var(--accent);color:#17362e;border:0;font-weight:650;min-height:50px}.primary:hover{background:var(--light)}.minor{display:flex;margin-top:5px}.minor button{flex:1;border:0;background:none;color:var(--muted);font-size:12px}nav{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:12px}nav button{flex:1;font-size:11px}nav span{display:block;color:var(--muted);font-size:10px}footer{text-align:center;font-size:10px;color:var(--muted);margin-top:18px}.ambient{position:fixed;pointer-events:none;width:80vmin;height:80vmin;left:-20vmin;top:15%;border-radius:50%;background:radial-gradient(circle,#f28065 0%,#ee806544 30%,transparent 70%);opacity:0;animation:drift var(--ambient-time,24s) ease-in-out infinite} @keyframes drift{0%,100%{opacity:0;transform:translate(0,0)}25%{opacity:var(--ambient-opacity,.13)}50%{opacity:0;transform:translate(60vw,35vh)}75%{opacity:var(--ambient-opacity,.13);transform:translate(45vw,45vh)}}dialog{background:#16373b;color:#eff8ed;border:1px solid #ffffff30;border-radius:24px;padding:26px;width:min(420px,calc(100% - 32px));max-height:85svh;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#041416b8;backdrop-filter:blur(6px)}dialog h2{font:30px Georgia,serif;margin:5px 0 16px}dialog button{padding:8px 15px;margin:5px 0;width:100%}dialog .eyebrow{margin:8px 0}dialog li{font-size:13px;color:var(--muted);margin:12px 0;line-height:1.5}.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.specimen{border:1px solid var(--line);padding:12px 4px;text-align:center;border-radius:12px;font-size:10px;color:var(--muted)}.specimen b{display:block;font:30px Georgia;color:var(--accent);margin-bottom:10px}.specimen.locked{opacity:.45}.reveal{text-align:center;font-size:65px;margin:20px;color:var(--accent);animation:arrive .65s ease-out}@keyframes arrive{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}body.reduce *,body.reduce *:before{animation:none!important;transition:none!important}body.reduce .ambient{display:none}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}.ambient{display:none}}@media(max-height:760px){main{padding-top:16px}.intro{margin:20px 0 16px}h1{font-size:29px}.glass{padding:12px}.intro p{margin-bottom:0}nav{margin-top:3px;padding-top:10px}} 
