body{background:#081b20}.top{height:78px;padding:0 4%;background:#0a2025}.preview{font-size:9px}.layout{display:block;max-width:1100px;min-height:0}.layout>aside,body>footer{display:none}main{padding:18px 25px;animation:none}.forest-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.forest-heading h2{font-size:29px;margin:0 0 10px}.forest-heading .eyebrow{font-size:9px;margin-bottom:4px}.forest-switch{display:flex;gap:6px}.forest-switch button{font-size:11px;padding:7px 12px}.forest-switch button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.forest-toolbar{display:flex;align-items:center;gap:10px;margin:8px 0}.forest-toolbar>span{flex:1;font-size:12px;color:#dac79a}.forest-toolbar button{font-size:12px;padding:8px 13px}.forest-instructions{font-size:12px;margin:8px 0 12px}.forest-viewport{height:calc(100dvh - 245px);min-height:360px;overflow-y:auto;overflow-x:hidden;border:1px solid #897543;border-radius:17px;background:#071c1c;scrollbar-color:#b4934c #0c2b2a;overscroll-behavior:contain;box-shadow:0 20px 70px #0007;position:relative}.forest-world{position:relative;width:min(100%,820px);height:2000px;margin:auto;background:url(assets/enchanted-forest-v1.png) center/100% 100% no-repeat}.forest-stone{position:absolute;transform:translate(-50%,-50%);width:63px;height:34px;border-radius:50%;padding:0;background:radial-gradient(ellipse,#ffe7a4 0%,#e3b44c 48%,#a86e20 80%);border:2px solid #ffe594;box-shadow:0 3px 0 #7e521e,0 0 17px #ffc94b6e,inset 0 0 8px #ffffc5;z-index:2;color:#77501d;font:700 12px Georgia;text-shadow:0 1px #fff7b1}.forest-stone:hover:not(:disabled){border-color:#fff9c6;box-shadow:0 0 30px #ffe67c}.forest-stone:disabled{opacity:.55;filter:saturate(.45);cursor:default}.forest-stone.cleared{border-color:#b4f4d7;background:radial-gradient(ellipse,#ecf7d3,#9dc895 65%,#4d7549);box-shadow:0 2px 0 #446347,0 0 15px #b7efba55}.forest-stone.available{outline:2px solid #fff4b266;outline-offset:5px}.forest-hero.player-piece{position:absolute;width:88px;height:132px;transform:translate(-50%,-94%);background:none;border:0;border-radius:0;box-shadow:none;pointer-events:none;z-index:4;transition:left 1s ease-in-out,top 1s ease-in-out;filter:drop-shadow(0 6px 5px #0008)}.forest-hero img{width:100%;height:100%;object-fit:contain;border-radius:0}.forest-role-sign{position:absolute;left:4%;transform:translateY(-50%);width:150px;padding:10px 12px;background:#102a24db;border:1px solid #ba944f;border-radius:7px;color:#e9d8a5;font:15px Georgia;box-shadow:0 7px 20px #0005;z-index:2}.forest-role-sign small{display:block;font:8px system-ui;letter-spacing:2px;color:#d8ad5b;margin-bottom:4px}.forest-end{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#e5c876;background:#0e2623dd;border:1px solid #967b41;padding:9px 16px;border-radius:6px;font:15px Georgia;white-space:nowrap}.forest-location{position:absolute;transform:translate(-50%,34px);font-size:12px;background:#122820e6;color:#f0db9c;padding:5px 10px;border:1px solid #886e38;border-radius:5px;white-space:nowrap}.forest-note{font-size:10px;margin:9px 0 0;color:#99b5b1}.forest-popup{position:fixed;top:auto;bottom:18px;left:0;right:0;margin:0 auto;width:min(780px,94vw);max-height:65dvh;padding:18px 24px;background:#112b2bf5;border:1px solid #d0a952;border-radius:17px;box-shadow:0 18px 80px #0008;overflow:auto}.forest-popup::backdrop{background:#00000028}.forest-popup .return-board{float:right;font-size:10px;padding:5px 9px;margin:0 0 10px 12px}.forest-popup>.scene-head{clear:both}.forest-popup .scene-head h2{font-size:22px;margin-bottom:12px}.forest-popup .eyebrow{font-size:9px;margin-bottom:5px}.forest-popup .tag{font-size:9px}.forest-popup .role-layout{grid-template-columns:100px 1fr;gap:16px}.forest-popup .portrait{height:130px}.forest-popup .role-name{font-size:13px;margin-top:9px}.forest-popup .role-label{font-size:9px}.forest-popup .role-description{font-size:10px;margin-top:10px}.forest-popup .sheet{padding:15px;background:#143638}.forest-popup .sheet h2{font-size:24px}.forest-popup .options{gap:7px}.forest-popup .option{padding:9px 12px}.forest-popup .option span{font-size:13px}.forest-popup .counter{font-size:10px;margin-bottom:12px}.forest-popup .actions{margin-top:13px}.forest-popup .actions button{font-size:12px;padding:10px 13px}.forest-popup .evidence-layout,.forest-popup .council-grid{grid-template-columns:1fr}.forest-popup .evidence-layout>section:last-child{display:none}.forest-popup .hero{min-height:0}.forest-popup .hero h1{font-size:35px}.forest-popup .hero-art{max-width:220px}.forest-popup .trail{display:none}.walking .forest-hero img{animation:walking-bob .22s ease-in-out infinite alternate}@keyframes walking-bob{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}@media(max-width:700px){main{padding:12px}.top{height:68px}.toplinks .preview{display:none}.forest-heading h2{font-size:22px}.forest-switch button{font-size:9px;padding:6px 8px}.forest-toolbar{flex-wrap:wrap;gap:7px}.forest-toolbar>span{flex-basis:100%;font-size:10px}.forest-toolbar button{font-size:11px}.forest-viewport{height:calc(100dvh - 240px);min-height:330px}.forest-world{height:1900px}.forest-role-sign{width:102px;padding:7px;left:2%;font-size:11px}.forest-stone{width:46px;height:27px;font-size:10px}.forest-hero.player-piece{width:67px;height:100px}.forest-popup{bottom:8px;width:96vw;padding:13px;max-height:66dvh}.forest-popup .role-layout{grid-template-columns:1fr}.forest-popup .role-side{display:flex;gap:12px;align-items:center}.forest-popup .portrait{width:45px;height:55px}.forest-popup .role-description{display:none}.forest-popup .sheet h2{font-size:20px}.forest-popup .scene-head h2{font-size:20px}.forest-note{font-size:9px}.forest-location{font-size:10px}.forest-popup .role-name{margin:0 0 3px}.forest-end{font-size:11px}}@media(prefers-reduced-motion:reduce){.forest-hero.player-piece{transition:none}.walking .forest-hero img{animation:none}}

/* Stone footprint scales with the painted path, not the viewport. */
.forest-world .forest-stone{width:7%;max-width:54px;height:auto;aspect-ratio:1.85;border-width:2px;font-size:clamp(7px,1vw,11px)}
.forest-world .forest-stone span{position:absolute;inset:0;display:grid;place-items:center;line-height:1}

.wolf-studies{margin-top:20px}.wolf-studies summary{cursor:pointer;color:var(--gold)}.wolf-pose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.wolf-pose-grid figure{margin:0;background:#21332d;border:1px solid #6a674c;border-radius:10px;padding:10px}.wolf-pose-grid img{width:100%;height:280px;object-fit:contain}.wolf-pose-grid figcaption{font-size:11px;text-align:center;color:var(--gold)}

/* Level 2 village draft: preserve the illustrated architecture and trail proportions. */
.forest-world.village-world{height:auto;aspect-ratio:2/3;background-image:url(assets/gnome-village-v1.png)}
.village-world .forest-location{max-width:90%;white-space:normal;text-align:center;z-index:3;font-size:clamp(9px,1.4vw,12px);transform:translate(-50%,25px)}
.village-world .forest-end{white-space:normal;width:max-content;max-width:90%;text-align:center;font-size:clamp(9px,1.3vw,14px)}

.forest-world.swamp-world{background-image:url(assets/whispering-swamp-v1.png);height:auto;aspect-ratio:2/3}
.forest-switch{flex-wrap:wrap;justify-content:flex-end}.forest-end{white-space:normal;text-align:center;max-width:90%;width:max-content}
@media(max-width:700px){.forest-heading{align-items:flex-start}.forest-switch{max-width:210px}.forest-role-sign{width:94px}.swamp-world .forest-role-sign{width:25%;font-size:clamp(8px,1.6vw,13px)}}

.cutscene-dialog{width:min(1040px,96vw);max-height:94dvh;overflow:auto;padding:20px;background:#0c2328;border:1px solid #d2ad57;border-radius:18px;color:#f7edcf;box-shadow:0 20px 90px #000b}.cutscene-dialog::backdrop{background:#020b10ed}.cutscene-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.cutscene-heading h2{margin:4px 0;font-size:26px}.cutscene-dialog video{display:block;width:100%;aspect-ratio:16/9;background:#061317;border-radius:10px}.cutscene-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:15px 0}.cutscene-actions p{font-size:12px;color:#c9bc93}.cutscene-transcript{font-size:14px;line-height:1.6;border-top:1px solid #5e633f;padding-top:12px}.cutscene-transcript summary{cursor:pointer;color:#f2d181}.forest-toolbar{flex-wrap:wrap}@media(max-width:700px){.cutscene-dialog{padding:12px}.cutscene-heading h2{font-size:20px}.cutscene-heading button{padding:7px;font-size:11px}.cutscene-actions{flex-wrap:wrap}.cutscene-actions p{margin:0}.cutscene-actions button{width:100%}}

.compass-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(100deg,#172d38,#163b38);border:1px solid #a58a49;border-radius:12px;padding:10px 14px;margin:8px 0}.compass-bar>div:first-child{flex:1;min-width:180px}.compass-bar b{font:17px Georgia;color:#f0d17f}.compass-bar small{display:block;font:10px system-ui;color:#c3c9b5;margin-top:4px}.compass-slots{display:flex;gap:8px}.compass-slot{display:flex;align-items:center;gap:7px;padding:6px 10px;font-size:11px}.compass-slot img{width:35px;height:35px;object-fit:contain;background:white;border-radius:50%}.compass-slot.earned{border-color:#e6c25e;box-shadow:0 0 12px #e9c44f33}.empty-compass{display:grid;place-items:center;width:35px;height:35px;border:1px dashed #8f9d8b;border-radius:50%;font-size:24px;color:#81968e}.bonus-dialog,.knight-dialog{width:min(760px,95vw);max-height:92dvh;overflow:auto;background:#112b2b;color:#f5ebd2;padding:24px;border:1px solid #d8b45f;border-radius:18px;box-shadow:0 20px 90px #000b}.bonus-dialog::backdrop,.knight-dialog::backdrop{background:#020c13e8}.bonus-dialog h2,.knight-dialog h2{color:#f0cf7b;font-size:29px;margin:8px 0 16px}.bonus-dialog h3{font-size:20px;line-height:1.4}.bonus-dialog p{line-height:1.6}.bonus-attempts{color:#f6d884;font-size:13px;margin:16px 0}.bonus-result{background:#153936;padding:18px;border-radius:12px}.bonus-result img{width:88px;border-radius:50%;background:white;box-shadow:0 0 35px #e0c26a99;animation:compass-reveal .6s ease-out}.bonus-hint{padding:14px;border-left:3px solid #d6a753;background:#3b3322}.knight-dialog{text-align:center;width:min(900px,95vw)}.knight-ceremony-art{width:100%;max-height:46dvh;object-fit:contain;border-radius:12px}.knight-dialog blockquote{margin:20px auto;font:20px/1.6 Georgia;max-width:650px;color:#f0dfad}.knight-dialog blockquote small{display:block;font:10px system-ui;letter-spacing:2px;margin-top:10px}.ceremony-compasses{display:flex;justify-content:center;gap:20px}.ceremony-compasses img{width:60px;height:60px;border-radius:50%;background:white;box-shadow:0 0 25px #f5d47066}.compass-bar .primary{font-size:11px;padding:8px 12px}@keyframes compass-reveal{from{transform:scale(.6) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(max-width:700px){.compass-bar{padding:9px;gap:8px}.compass-bar b{font-size:15px}.compass-slots{width:100%;justify-content:space-between}.compass-slot{flex:1;justify-content:center;font-size:10px;padding:5px}.bonus-dialog,.knight-dialog{padding:16px}.bonus-dialog h2,.knight-dialog h2{font-size:24px}.forest-viewport{height:calc(100dvh - 370px)}.knight-dialog blockquote{font-size:17px}}@media(prefers-reduced-motion:reduce){.bonus-result img{animation:none}}

.beta-note{font-size:11px;color:#c6d3c8;margin-bottom:12px;line-height:1.6}.beta-note a{color:#f0d17f;white-space:nowrap}.case-evidence{background:#123636;border:1px solid #637a60;border-radius:10px;padding:14px;margin:14px 0}.case-evidence summary{cursor:pointer;color:#efd68e}.case-evidence article{border-top:1px solid #486958;padding:10px 0}.case-evidence article p{margin:5px 0;line-height:1.5}.forest-heading{flex-wrap:wrap}.forest-toolbar>span{min-width:180px}@media(max-width:700px){.beta-note{font-size:10px}.forest-viewport{min-height:330px}.forest-role-sign{left:1%;width:25%;font-size:10px}.forest-popup .options .option{align-items:flex-start}.forest-popup .option input{flex:none;margin-top:4px}}
@media(max-width:700px){.forest-popup{width:calc(100vw - 12px);max-width:calc(100vw - 12px);box-sizing:border-box}main:has(.forest-popup[open]) .beta-note,main:has(.forest-popup[open]) .forest-heading,main:has(.forest-popup[open]) .compass-bar,main:has(.forest-popup[open]) .forest-toolbar,main:has(.forest-popup[open]) .forest-instructions{display:none}main:has(.forest-popup[open]) .forest-viewport{height:calc(100dvh - 90px)}main:has(.forest-popup[open]) .forest-note{display:none}}
