:root{color-scheme:light;--forest:#234735;--ink:#193126;--ink-2:#345c48;--cream:#fffaf0;--paper:#fffdf7;--sage:#e6edd9;--leaf:#74a55e;--coral:#e96d66;--gold:#f2c94c;--violet:#7b5cae;--berry:#a13d57;--line:rgba(35,71,53,.16);--shadow:0 18px 55px rgba(31,63,45,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% 8%,#fff 0,transparent 27%),linear-gradient(135deg,#f7f0df 0%,#e6edd9 58%,#d8e7d1 100%)}button,input{font:inherit}button{touch-action:manipulation}.page{width:min(1500px,100%);margin:auto;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.mark{display:flex;align-items:center;gap:12px}.brand-logo{width:164px;height:64px;object-fit:contain;border-radius:16px;background:#111b14;box-shadow:0 8px 20px rgba(25,49,38,.18)}.mark strong{display:block;font:700 19px Georgia,serif;color:var(--forest)}.mark small{display:block;color:var(--ink-2);font-size:11px;letter-spacing:.04em}.top-actions{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid var(--line);background:rgba(255,255,255,.78);color:var(--forest);padding:10px 14px;border-radius:999px;font-weight:700;cursor:pointer}.pill.primary{background:var(--coral);color:#fff;border-color:transparent;box-shadow:0 9px 22px rgba(233,109,102,.28)}
.layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(660px,1.45fr) minmax(320px,.85fr);gap:14px;align-items:start}.panel{background:rgba(255,253,247,.9);border:1px solid rgba(35,71,53,.1);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:28px}.intro{overflow:hidden;position:sticky;top:18px}.hero-art{width:100%;aspect-ratio:16/10;object-fit:contain;display:block;padding:12px;background:#111b14}.intro-copy{padding:24px;border-top:4px solid var(--coral)}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--forest);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}.eyebrow.centered{justify-content:center}h1{margin:15px 0 12px;font:700 clamp(36px,4vw,58px)/.92 Georgia,serif;letter-spacing:-.045em;color:var(--forest)}h1 span{display:block;color:var(--coral)}.lede{color:var(--ink-2);margin:0;max-width:31ch}.legend{display:grid;gap:8px;margin-top:22px}.legend-row{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:14px;background:var(--cream);border:1px solid rgba(35,71,53,.08);font-size:12px}.legend-dot{width:11px;height:11px;border-radius:50%}.legend-dot.common{background:var(--coral)}.legend-dot.scientific{background:var(--violet)}
.game{padding:18px;min-width:0}.game-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:14px}.status{font:700 19px Georgia,serif;margin:0;color:var(--forest)}.substatus{color:#65786c;font-size:12px;margin-top:3px}.stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.stat{min-width:74px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center}.stat span{display:block;color:#65786c;font-size:8px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.stat strong{font:700 18px Georgia,serif;color:var(--forest)}.progress{height:9px;background:#e4eadf;border-radius:99px;overflow:hidden;margin-bottom:14px}.progress-fill{width:0;height:100%;background:linear-gradient(90deg,var(--forest),var(--leaf),var(--gold),var(--coral));border-radius:inherit;transition:width .3s ease}.grid-wrap{overflow:auto;padding:10px;background:linear-gradient(145deg,#e6edd9,#d8e7d1);border:1px solid rgba(35,71,53,.09);border-radius:20px;scrollbar-color:var(--leaf) transparent}.grid{--cell:42px;display:grid;grid-template-columns:repeat(15,var(--cell));grid-template-rows:repeat(15,var(--cell));gap:2px;width:max-content;margin:auto}.cell{position:relative;width:var(--cell);height:var(--cell);border:0;border-radius:7px;background:#fffdf8;color:var(--ink);display:grid;place-items:center;font:700 21px/1 Georgia,serif;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(35,71,53,.13);transition:transform .12s,background .12s,box-shadow .12s}.cell.block{background:var(--forest);box-shadow:none;cursor:default;border-radius:5px}.cell.word{background:#fff1cc}.cell.selected{background:#fff;box-shadow:inset 0 0 0 3px var(--coral),0 0 0 3px rgba(233,109,102,.18)}.cell.wrong{color:var(--berry);animation:shake .28s linear 2}.num{position:absolute;left:3px;top:2px;font:700 8px/1 system-ui;color:#65786c}.cell.hinted:after{content:"✦";position:absolute;right:2px;bottom:1px;color:var(--gold);font-size:8px}.entry-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.letter-entry{width:96px;min-height:44px;border:1px solid var(--line);border-radius:14px;padding:9px 12px;text-align:center;text-transform:uppercase;font:700 18px Georgia,serif;color:var(--ink);background:#fff}.tool-btn{min-height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--forest);padding:9px 13px;font-weight:700;cursor:pointer}.tool-btn.hint{background:var(--gold);border-color:transparent}.tool-btn:disabled{opacity:.45;cursor:not-allowed}.active-clue{flex:1 1 220px;padding:9px 12px;border-radius:14px;background:var(--cream);font-size:12px}.active-clue strong{font-family:Georgia,serif;font-size:14px}.mode-badge{display:inline-flex;margin-top:4px;border-radius:99px;padding:3px 7px;background:#eee7f6;color:#5f4a94;font-size:8px;font-weight:700;letter-spacing:.08em}
.clues{padding:20px;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto}.clues h2{font:700 25px Georgia,serif;margin:0 0 4px;color:var(--forest)}.clues>p{color:#65786c;font-size:12px;margin:0 0 18px}.clue-section{margin-top:18px}.clue-section h3{display:flex;align-items:center;gap:8px;font:700 15px Georgia,serif;margin:0 0 8px}.flower-chip{width:24px;height:24px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center}.clue-section.down .flower-chip{background:var(--violet)}.clue-list{display:grid;gap:7px}.clue{width:100%;border:1px solid transparent;background:var(--cream);color:var(--ink);padding:10px;border-radius:14px;text-align:left;cursor:pointer;display:grid;grid-template-columns:23px 1fr;gap:7px;transition:.15s}.clue:hover,.clue.active{background:#fff;border-color:rgba(35,71,53,.15)}.clue.solved{background:#e7f2dc}.clue.solved .clue-text{text-decoration:line-through}.clue-number{font:700 16px Georgia,serif;color:var(--coral)}.clue-text{font-size:11px}.clue-text em{display:block;color:#6c5b87;font-style:normal;font-size:8px;font-weight:700;letter-spacing:.08em;margin-top:3px}.footer-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);color:#65786c;font-size:10px}
.bios{margin-top:14px;padding:24px}.bios-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.bios-head h2{font:700 clamp(28px,4vw,44px)/.95 Georgia,serif;color:var(--forest);margin:5px 0}.bios-head p{margin:0;color:#65786c;max-width:58ch}.bio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bio-card{display:grid;grid-template-columns:116px 1fr;min-height:170px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--cream)}.bio-portrait{width:100%;height:100%;min-height:170px;object-fit:contain;background:#050806}.bio-copy{padding:16px}.bio-copy h3{font:700 19px/1.05 Georgia,serif;color:var(--forest);margin:0 0 4px}.bio-botanical{font:600 italic 11px Georgia,serif;color:var(--coral);margin:0 0 9px}.bio-copy p:last-of-type{font-size:11px;color:#65786c;margin:0}.bio-tag{display:inline-flex;margin-top:11px;padding:4px 8px;border-radius:99px;background:#e7f2dc;color:var(--forest);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.toast{position:fixed;left:50%;bottom:24px;z-index:30;transform:translate(-50%,20px);opacity:0;background:var(--forest);color:#fff;padding:11px 16px;border-radius:999px;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.win{position:fixed;inset:0;z-index:25;display:grid;place-items:center;padding:18px;background:rgba(35,71,53,.42);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.3s}.win.show{opacity:1;visibility:visible}.win-card{width:min(520px,92vw);text-align:center;background:var(--paper);padding:34px;border-radius:30px;box-shadow:0 28px 90px rgba(35,71,53,.35);border:2px solid #fff}.win-logo{width:min(260px,80%);height:118px;object-fit:contain;background:#111b14;border-radius:18px;padding:8px;animation:bob 1.8s ease-in-out infinite}.win h2{font:700 44px/.95 Georgia,serif;margin:14px 0 8px;color:var(--forest)}.win p{color:#58736c}.petals{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:24}.petal{position:absolute;top:-30px;width:13px;height:20px;border-radius:80% 20% 80% 20%;background:var(--coral);animation:fall 4s linear forwards}.petal:nth-child(3n){background:var(--gold)}.petal:nth-child(3n+1){background:var(--violet)}
@keyframes shake{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@keyframes bob{50%{transform:translateY(-7px) rotate(3deg)}}@keyframes fall{to{transform:translateY(110vh) rotate(540deg)}}
@media(max-width:1180px){.layout{grid-template-columns:260px minmax(640px,1fr)}.clues{grid-column:1/-1;position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}.clues>h2,.clues>p,.footer-note{grid-column:1/-1}.clue-section{margin:0}.bio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.page{padding:10px}.topbar{align-items:flex-start}.brand-logo{width:112px;height:52px}.mark small{display:none}.layout{display:block}.intro{position:static;margin-bottom:10px}.hero-art{aspect-ratio:16/8}.intro-copy{padding:18px}.intro h1{font-size:39px}.game{padding:11px;border-radius:21px}.game-head{grid-template-columns:1fr}.stats{justify-content:flex-start}.grid{--cell:42px;margin:0}.clues{margin-top:10px;display:block;padding:17px;max-height:none}.clue-section{margin-top:18px}.top-actions .pill:not(.primary){display:none}.entry-tools{position:sticky;bottom:6px;z-index:8;background:rgba(255,253,247,.94);padding:8px;border-radius:16px;box-shadow:0 8px 30px rgba(35,71,53,.18)}.active-clue{order:-1;flex-basis:100%}.bios{padding:18px}.bios-head{display:block}.bio-grid{grid-template-columns:1fr}.bio-card{grid-template-columns:105px 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
