@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-normal-CZLGqjJe.woff2)format("woff2"),url(/assets/playfair-display-latin-600-normal-CxxueQ0Z.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-italic-Bvp5b4iR.woff2)format("woff2"),url(/assets/playfair-display-latin-600-italic-BFV_U8S6.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-400-normal-AkRraKH2.woff2)format("woff2"),url(/assets/nunito-sans-latin-400-normal-DY9yCUyQ.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-latin-600-normal-BtVRvDNj.woff2)format("woff2"),url(/assets/nunito-sans-latin-600-normal-DLks-Kj1.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-700-normal-CICRJDmU.woff2)format("woff2"),url(/assets/nunito-sans-latin-700-normal-CLVG92B9.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-400-italic-BF5x-HNR.woff2)format("woff2"),url(/assets/nunito-sans-latin-400-italic-CDSdiy1J.woff)format("woff")}@font-face{font-family:IM Fell English;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-latin-400-italic-DD_ylKHZ.woff2)format("woff2"),url(/assets/im-fell-english-latin-400-italic-hN89MLGX.woff)format("woff")}:root{--night:#14211e;--surface:#1d2d29;--surface-2:#2a3a35;--lantern:#d9b064;--lantern-soft:#d9b06424;--lantern-line:#d9b06473;--text:#f3ead6;--text-2:#b9b09c;--parchment:#f5e7c4;--red:#b3382f;--serif:"Playfair Display", Georgia, serif;--sans:"Nunito Sans", system-ui, sans-serif;--fell:"IM Fell English", "Playfair Display", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans);color:var(--text);background:var(--night);font-synthesis:none;-webkit-tap-highlight-color:transparent}*,:before,:after{box-sizing:border-box}body{background:var(--night);margin:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lantern);outline-offset:2px}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--lantern);font-size:10.5px;font-weight:700;display:block}.field-app{background-color:var(--night);background-image:radial-gradient(80% 40% at 50% 26%,#d9b06429,#d9b06400 70%),radial-gradient(#ffffff09 .8px,#0000 .9px);background-size:100% 100%,6px 6px;background-attachment:fixed;min-height:100dvh}.play-screen{min-height:100dvh;padding:max(4px, env(safe-area-inset-top)) max(0px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(0px, env(safe-area-inset-left));flex-direction:column;display:flex}.field-board{padding:16px 12px 0;position:relative;container-type:inline-size}.field-map-shell{flex-direction:column;display:flex}.map-frame{background-color:#0000002e;background-image:linear-gradient(var(--lantern), var(--lantern)), linear-gradient(var(--lantern), var(--lantern)), linear-gradient(var(--lantern), var(--lantern)), linear-gradient(var(--lantern), var(--lantern)), linear-gradient(var(--lantern), var(--lantern)), linear-gradient(var(--lantern), var(--lantern)), linear-gradient(var(--lantern), var(--lantern)), linear-gradient(var(--lantern), var(--lantern));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:18px 2px,2px 18px,18px 2px,2px 18px,18px 2px,2px 18px,18px 2px,2px 18px;background-origin:border-box;border:1px solid #d9b0648c;border-radius:4px;align-self:center;width:100%;padding:14px 6px 6px;position:relative}.field-map-viewport{scrollbar-width:none;touch-action:none;overscroll-behavior:contain;width:100%;display:block;overflow:hidden}.field-map-viewport::-webkit-scrollbar{display:none}.map-scrollbars{pointer-events:none;z-index:2;position:absolute}.map-scrollbar-x,.map-scrollbar-y{background:#0a08068c;border-radius:3px;position:absolute;box-shadow:inset 0 0 0 1px #d9b0644d}.map-scrollbar-x{height:6px;bottom:4px;left:6px;right:14px}.map-scrollbar-y{width:6px;top:6px;bottom:14px;right:4px}.map-scrollbars[data-x=false] .map-scrollbar-x,.map-scrollbars[data-y=false] .map-scrollbar-y{display:none}.map-scrollbar-x i,.map-scrollbar-y i{background:linear-gradient(var(--lantern), #b8893a);border-radius:3px;position:absolute;box-shadow:0 0 6px #d9b0648c}.map-scrollbar-x i{top:0;bottom:0;left:calc(var(--x,0) * 100%);width:calc(var(--w,1) * 100%)}.map-scrollbar-y i{background:linear-gradient(90deg, var(--lantern), #b8893a);left:0;right:0;top:calc(var(--y,0) * 100%);height:calc(var(--h,1) * 100%)}.field-map{-webkit-user-select:none;user-select:none;touch-action:none;max-width:none;display:block}.field-map-viewport.is-zoomed{cursor:grab;overflow:auto}.field-map-viewport.is-zoomed:active{cursor:grabbing}.map-controls{justify-content:space-between;align-items:center;gap:8px;padding:4px 0 0 4px;display:flex}.map-caption{-webkit-line-clamp:2;line-clamp:2;min-width:0;font-family:var(--serif);color:var(--text-2);-webkit-box-orient:vertical;flex:1 1 0;margin:0;font-size:12.5px;font-style:italic;line-height:1.35;display:-webkit-box;overflow:hidden}.map-caption span+span:before{content:" · "}.map-zoom{flex-wrap:wrap;flex:none;gap:4px;min-width:0;max-width:100%;display:flex}.map-zoom button{border:1px solid var(--lantern-line);background:0 0;border-radius:22px;place-items:center;width:44px;height:44px;padding:0;display:grid}.map-zoom svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.field-notebook-slot{flex:auto;min-height:0;display:flex}.field-notebook-slot[hidden]{display:none}.field-notebook{flex-direction:column;flex:auto;gap:8px;min-width:0;min-height:0;padding:8px 12px;display:flex}.field-coord{font-family:var(--serif);fill:var(--lantern);text-anchor:middle;font-size:16px;font-weight:600}.map-compass path{fill:var(--lantern)}.map-compass .map-compass-south{fill:#5d6b60}.map-compass-letter{font-family:var(--serif);fill:var(--lantern);font-size:10px;font-weight:700}.region-flag-text{font-family:var(--fell);font-style:italic}.field-cell{cursor:pointer;outline:none}.field-cell .cell-face{fill:#0000}.field-cell .cell-ring{fill:none;stroke:#0000;stroke-width:2.5px}.field-cell.is-selected .cell-face{fill:var(--region);fill-opacity:.36}.field-cell.is-selected .cell-ring{stroke:var(--active,var(--region));stroke-width:3px}@media (hover:hover){.field-cell:hover .cell-face{fill:var(--region);fill-opacity:.36}.field-cell:hover .cell-ring{stroke:var(--region)}}.field-cell.is-highlighted .cell-face{fill:var(--region);fill-opacity:.3}.region-outline.is-highlighted .region-stroke{stroke-width:3.6px;stroke-opacity:1}.flag-note-letter{font-family:var(--serif);font-weight:700}.region-flag-button{cursor:pointer;outline:none}.region-flag-button.is-pressed .region-flag{filter:drop-shadow(0 0 4px #d9b064e6)}.region-flag-button:focus-visible .region-flag{filter:drop-shadow(0 0 3px var(--lantern))}.field-cell:focus-visible .cell-ring{stroke:var(--lantern);stroke-width:2.2px;stroke-dasharray:5.8 4.3}.gesture-draw{stroke-dasharray:1 2;stroke-dashoffset:1px;animation:.15s ease-out forwards gesture-draw}.gesture-draw-2{animation-delay:.13s}@keyframes gesture-draw{to{stroke-dashoffset:0}}.gesture-stamp{transform-box:fill-box;transform-origin:50%;animation:.3s ease-out both gesture-stamp}@keyframes gesture-stamp{0%,85%{transform:scale(1)}92%{transform:scale(1.12)}to{transform:scale(1)}}.gesture-dust{transform-box:fill-box;transform-origin:50%;opacity:0;animation:.3s ease-out 20ms both gesture-dust}@keyframes gesture-dust{0%{opacity:0;transform:translate(0)scale(.6)}30%{opacity:.9}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.2)}}.game-tab{z-index:3;background:var(--lantern);max-width:calc(100% - 96px);height:26px;color:var(--night);white-space:nowrap;border:1px solid #f0cc84;border-radius:13px;align-items:center;gap:6px;padding:0 8px 0 12px;display:flex;position:absolute;top:-13px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px -4px #0009}.game-back-pill{z-index:3;color:#f0cc84;background:#0e1613eb;border:1px solid #f0cc84cc;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:12px;font-weight:800;display:grid;position:absolute;top:-15px;left:8px;box-shadow:0 4px 12px -4px #0009}.game-back-pill:before{content:"";position:absolute;inset:-14px -8px -2px}.game-back-pill svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.map-focus .game-back-pill{display:none}.game-tab-place{font-family:var(--serif);letter-spacing:.02em;font-size:13px;font-weight:800}.game-tab-title{text-overflow:ellipsis;opacity:.82;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.game-tab-title:before{content:"· "}.game-tab svg{flex:none}.game-tab:before{content:"";position:absolute;inset:-18px -6px 0}.game-tab svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.game-panel-backdrop{z-index:39;background:#080e0c9e;animation:.2s ease-out both fade-in;position:fixed;inset:0}.game-panel{z-index:40;width:min(100%,560px);padding:max(12px, env(safe-area-inset-top)) 16px 30px;border:1px solid var(--lantern-line);background:var(--surface);border-top:0;border-radius:0 0 18px 18px;animation:.24s cubic-bezier(.2,.9,.3,1) both panel-down;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 18px 40px -12px #000c}@keyframes panel-down{0%{transform:translate(-50%,-100%)}}@keyframes fade-in{0%{opacity:0}}.game-panel-head{align-items:center;gap:10px;display:flex}.game-back{border:1px solid var(--lantern-line);background:0 0;border-radius:22px;align-items:center;gap:4px;height:44px;padding:0 14px 0 8px;font-size:13px;font-weight:700;display:flex}.game-back svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.game-panel-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--lantern);font-size:11px;font-weight:700}.game-panel-title{margin-top:12px;font-size:26px;line-height:1.15}.game-panel-lesson{color:var(--text-2);margin:4px 0 14px;font-size:13.5px;line-height:1.4}.game-panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.game-panel-actions button{background:var(--night);text-align:left;border:1px solid #d9b06459;border-radius:12px;align-items:center;gap:10px;min-height:56px;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.game-panel-actions svg{color:var(--lantern);flex-shrink:0}.game-panel-actions small{color:var(--text-2);font-weight:600}.game-tab-close{justify-content:center;min-width:64px;padding:0;top:auto;bottom:-12px}.character-tabs{scrollbar-width:none;align-items:center;gap:4px;min-height:52px;padding:4px 6px 4px 2px;display:flex;overflow-x:auto}.character-tabs::-webkit-scrollbar{display:none}.character-pill{border:2px solid color-mix(in srgb, var(--pill,#f3ead6) 70%, transparent);background:var(--surface);border-radius:22px;flex:none;place-items:center;width:44px;height:44px;padding:0;transition:background-color .2s,border-color .2s;display:grid;position:relative}.character-pill .avatar{background:var(--surface-2);border-radius:50%;width:40px;height:40px;display:block;overflow:hidden}.character-pill .avatar img:not(.clip-strip),.character-pill .avatar video{object-fit:cover;width:100%;height:100%;display:block}.character-pill .avatar-monogram{width:100%;height:100%;font-family:var(--serif);color:var(--pill);place-items:center;font-size:18px;font-weight:700;display:grid}.pill-T{border-style:dashed;border-color:#d9b064cc}.pill-T .avatar{background:var(--parchment)}.character-pill .initial{width:17px;height:17px;color:var(--pill,var(--text));border:1px solid var(--pill,#d9b06499);background:var(--surface);font-family:var(--serif);text-align:center;border-radius:9px;font-size:10px;font-weight:700;line-height:15px;position:absolute;bottom:-4px;right:-5px}.character-pill .pill-left,.character-pill .pill-done,.character-pill .pill-placed{border:2px solid var(--surface);pointer-events:none;border-radius:8px;min-width:15px;height:15px;position:absolute;top:-4px;left:28px}.character-pill .pill-left{background:var(--pill,var(--lantern));color:#13201d;text-align:center;padding:0 2px;font-size:9px;font-weight:800;line-height:11px}.character-pill .pill-done{background:#4cbb6c;width:15px;animation:.3s ease-out both pill-done-pop}.character-pill .pill-done:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:3px;height:6px;position:absolute;top:1.5px;left:3.5px;transform:rotate(45deg)}.character-pill .pill-placed{background:var(--lantern);width:15px;animation:.3s ease-out both pill-done-pop;top:auto;bottom:-4px;left:-4px}.character-pill .pill-placed:after{content:"";border:1.5px solid #13201d;border-width:0 1.5px 1.5px 0;width:3px;height:6px;position:absolute;top:1.5px;left:3.5px;transform:rotate(45deg)}@keyframes pill-done-pop{0%{opacity:0;transform:scale(.3)}}.character-pill.selected{border:2px solid var(--pill,var(--lantern));background:color-mix(in srgb, var(--pill,var(--lantern)) 16%, transparent);width:auto;height:48px;color:var(--pill,var(--lantern));box-shadow:0 0 16px color-mix(in srgb, var(--pill,var(--lantern)) 40%, transparent);border-radius:24px;align-items:center;gap:8px;padding:0 12px 0 2px;display:flex}.character-pill.selected .avatar{border:2px solid var(--pill,var(--lantern))}.character-name{font-family:var(--serif);white-space:nowrap;font-size:14px;font-weight:600;animation:.22s ease-out both pill-grow;overflow:hidden}@keyframes pill-grow{0%{opacity:0;max-width:0}to{opacity:1;max-width:120px}}.field-tools{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.researcher-tools,.global-tools{border:1px solid var(--lantern-line);background:var(--surface);border-radius:12px;display:flex;overflow:hidden}.researcher-tools{flex:150px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.researcher-tools button,.global-tools button{letter-spacing:.02em;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:44px;height:50px;padding:0;font-size:11px;font-weight:700;display:flex}.researcher-tools button+button,.global-tools button+button{border-left:1px solid #d9b06440}.researcher-tools button[aria-pressed=true],.global-tools button[aria-pressed=true]{background:var(--lantern);color:var(--night)}.global-tools{flex:none}.global-tools button{width:44px}.global-tools button span{display:none}.tool-letter{font-family:var(--serif);font-weight:700}.clue-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.clue-heading h2{font-size:18px;font-weight:600}.clue-count{font-family:var(--sans);color:var(--text-2);margin-left:6px;font-size:12px;font-weight:700}.clue-sub{color:var(--text-2);font-size:11.5px;display:block}.clue-toggle{background:0 0;border:1px solid #d9b06480;border-radius:21px;flex-shrink:0;align-items:center;gap:6px;height:42px;padding:0 12px;font-size:12.5px;font-weight:700;display:flex}.clue-toggle[aria-pressed=true]{background:var(--lantern-soft);color:var(--lantern)}.field-clues{scrollbar-width:thin;scrollbar-color:#d9b06466 transparent;flex-direction:column;flex:1 1 0;gap:8px;min-height:120px;margin:0;padding:0 2px 2px 0;list-style:none;display:flex;overflow-y:auto}.field-clues li.clue-group{border:0;border-bottom:2px solid var(--who);color:var(--text);font:800 .85rem var(--sans);background:0 0;border-radius:0;grid-column:1/-1;align-items:center;gap:8px;margin-top:10px;padding:4px 8px 4px 4px;display:flex}.field-clues li.clue-group:first-child{margin-top:0}.field-clues li.clue-group img{object-fit:cover;width:26px;height:26px;box-shadow:0 0 0 2px var(--who);border-radius:50%}.field-clues li.clue-group span{color:var(--text-2);margin-left:auto;font-size:.75rem;font-weight:700}.field-clues li{background:var(--surface);border:1px solid #d9b06438;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.field-clues input{appearance:none;cursor:pointer;background:0 0;border:1.5px solid #f3ead699;border-radius:12px;flex-shrink:0;width:24px;height:24px;margin:0}.field-clues input:checked{border-color:var(--who,var(--lantern));background:var(--who,var(--lantern)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2314211e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat}.field-clues label{cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-self:stretch;gap:2px;min-width:0;display:flex}.field-clues small{font-family:var(--serif);letter-spacing:.1em;color:var(--text-2);font-size:11px;font-weight:600}.field-clues label>span{font-size:15px;line-height:1.35}.field-clues .used small{color:var(--who,var(--lantern))}.field-clues .used{border-color:color-mix(in srgb, var(--who,var(--lantern)) 45%, transparent)}.clue-who{font-weight:700}.field-clues .used label>span{color:var(--text-2)}.clue-region{font-weight:700}.treasure-card{background:var(--surface);border:1px solid #d9b06459;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.treasure-card svg{color:var(--lantern);flex-shrink:0}.treasure-card p{margin:0;font-size:15px;line-height:1.4}.treasure-progress{color:var(--lantern);margin-top:6px;font-size:13px;display:block}.field-validate[aria-disabled=true]{opacity:.55;box-shadow:none}.validate-block{flex-direction:column;gap:6px;display:flex}.field-validate{background:var(--lantern);height:54px;color:var(--night);font-family:var(--serif);border:0;border-radius:14px;justify-content:space-between;align-items:center;padding:0 18px;font-size:17px;font-weight:700;display:flex;box-shadow:0 8px 22px -10px #d9b064cc}.validate-block p{text-align:center;color:var(--text-2);margin:0;font-size:11px}.validate-block.is-closed p{color:var(--text);font-size:13px}.field-message{background:var(--lantern-soft);border:1px solid #d9b06459;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.save-warning{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:50;color:#fff7e8;text-align:center;background:#5a1f1a;border-radius:10px;margin:0;padding:10px 14px;font-size:13px;position:fixed}@media (width<=380px){.field-board,.field-notebook{padding-left:8px;padding-right:8px}.character-pill{width:38px;height:38px}.character-pill .avatar{width:34px;height:34px}.character-pill.selected{gap:6px;height:44px;padding-right:10px}.character-pill.selected .avatar{width:38px;height:38px}.character-pill .pill-left,.character-pill .pill-done{left:23px}.character-name{font-size:13px}.character-tabs{gap:3px}}.notebook-closed .field-board{padding-left:2px;padding-right:2px}.notebook-closed .map-frame{padding:3px}@media (orientation:portrait) and (width>=701px){.field-board{padding:20px 24px 0}.field-map-shell{flex-direction:row;justify-content:center;align-items:center;gap:14px}.map-frame{width:min(calc(100cqw - 72px), calc(58dvh * var(--map-ratio,.9)));flex:none;align-self:auto}.map-controls{flex-direction:column;padding:0}.map-zoom{flex-direction:column;gap:8px}.map-caption span+span{display:none}.map-caption{text-overflow:ellipsis;writing-mode:vertical-rl;text-orientation:sideways;white-space:nowrap;flex:none;order:2;height:11em;margin-top:8px;display:block;overflow:hidden}.field-notebook{padding:12px 24px}.researcher-tools{grid-template-columns:repeat(3,minmax(70px,1fr))}.global-tools button{width:56px}.global-tools button span{display:inline}.field-clues{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.clue-heading h2{font-size:19px}}@media (orientation:landscape){.play-screen{--notebook-w:clamp(270px, 37vw, 420px);grid-template-columns:minmax(0, 1fr) var(--notebook-w);height:100dvh;min-height:0;padding-top:max(0px, env(safe-area-inset-top));padding-bottom:max(0px, env(safe-area-inset-bottom));grid-template-areas:"board notebook";display:grid}.hand-left .play-screen{grid-template-columns:var(--notebook-w) minmax(0, 1fr);grid-template-areas:"notebook board"}.is-playing{background-image:radial-gradient(50% 70% at 34%,#d9b06429,#d9b06400 70%),radial-gradient(#ffffff09 .8px,#0000 .9px)}.hand-left.is-playing{background-image:radial-gradient(50% 70% at 66%,#d9b06429,#d9b06400 70%),radial-gradient(#ffffff09 .8px,#0000 .9px)}.field-board{grid-area:board;justify-content:center;align-items:center;min-width:0;min-height:0;padding:18px 12px 8px;display:flex;container-type:size}.field-map-shell{flex-direction:row;align-items:center;gap:10px}.hand-left .field-map-shell{flex-direction:row-reverse}.map-frame{width:min(calc(100cqw - 64px), calc((100cqh - 16px) * var(--map-ratio,.9)));flex:none;align-self:auto}.map-controls{flex-direction:column;padding:0}.map-zoom{flex-direction:column;gap:6px}.map-caption span+span{display:none}.map-caption{text-overflow:ellipsis;writing-mode:vertical-rl;text-orientation:sideways;white-space:nowrap;flex:none;order:2;height:11em;margin-top:6px;display:block;overflow:hidden}.field-notebook-slot{scrollbar-width:thin;grid-area:notebook;min-height:0;overflow-y:auto}.field-notebook{padding:10px max(12px, env(safe-area-inset-right)) 10px 6px;gap:8px}.hand-left .field-notebook{padding:10px 6px 10px max(12px, env(safe-area-inset-left))}.field-clues{min-height:96px}.notebook-closed .play-screen{grid-template-columns:minmax(0,1fr);grid-template-areas:"board"}.notebook-closed .field-board{padding-top:14px;padding-bottom:2px}}@media (orientation:landscape) and (height<=500px){.character-tabs{gap:3px;min-height:44px}.character-pill{width:36px;height:36px}.character-pill .avatar{width:32px;height:32px}.character-pill.selected{gap:6px;height:42px;padding-right:10px}.character-pill.selected .avatar{width:36px;height:36px}.character-pill .pill-left,.character-pill .pill-done{left:21px}.character-name{font-size:13px}.researcher-tools button,.global-tools button{height:46px;font-size:10.5px}.global-tools button{width:44px}.clue-heading h2{font-size:15px}.clue-sub{display:none}.clue-toggle{height:36px}.field-clues li{align-items:center;gap:10px;padding:8px 10px}.field-clues small{display:none}.field-clues label>span{font-size:13.5px;line-height:1.3}.field-validate{height:46px;font-size:15px}.map-zoom button{width:40px;height:40px}}@media (orientation:landscape) and (height>=601px){.play-screen{--notebook-w:max(clamp(270px, 37vw, 420px), min(40vw, 640px, calc(100vw - (100vh - 40px) * .88 - 110px)));--u:clamp(1px, min(100vh / 680, 100vw / 1100), 1.6px)}.field-notebook{padding-top:calc(18 * var(--u));gap:calc(10 * var(--u))}.character-tabs{min-height:calc(58 * var(--u));gap:calc(6 * var(--u))}.character-pill{width:calc(46 * var(--u));height:calc(46 * var(--u));border-radius:calc(23 * var(--u))}.character-pill .avatar{width:calc(42 * var(--u));height:calc(42 * var(--u))}.character-pill.selected{height:calc(50 * var(--u));gap:calc(9 * var(--u));padding-right:calc(14 * var(--u));border-radius:calc(25 * var(--u))}.character-pill .avatar-monogram{font-size:calc(19 * var(--u))}.character-name{font-size:calc(15 * var(--u))}.character-pill .initial{width:calc(18 * var(--u));height:calc(18 * var(--u));border-radius:calc(9 * var(--u));font-size:calc(10.5 * var(--u));line-height:calc(16 * var(--u))}.character-pill .pill-left,.character-pill .pill-done,.character-pill .pill-placed{left:calc(29 * var(--u));min-width:calc(16 * var(--u));height:calc(16 * var(--u));border-radius:calc(8 * var(--u))}.character-pill .pill-placed{left:calc(-4 * var(--u))}.character-pill .pill-left{font-size:calc(9.5 * var(--u));line-height:calc(12 * var(--u))}.researcher-tools button,.global-tools button{height:calc(54 * var(--u));font-size:calc(11.5 * var(--u))}.global-tools button{width:calc(58 * var(--u))}.global-tools button span{display:inline}.field-tools svg{width:calc(22 * var(--u));height:calc(22 * var(--u))}.clue-heading h2{font-size:calc(19 * var(--u))}.clue-count{font-size:calc(12.5 * var(--u))}.clue-sub{font-size:calc(12 * var(--u))}.clue-toggle{height:calc(44 * var(--u));padding:0 calc(14 * var(--u));border-radius:calc(22 * var(--u));font-size:calc(13 * var(--u))}.field-clues{gap:calc(8 * var(--u))}.field-clues li{padding:calc(11 * var(--u)) calc(15 * var(--u));gap:calc(13 * var(--u))}.field-clues input{width:calc(26 * var(--u));height:calc(26 * var(--u));border-radius:calc(13 * var(--u))}.field-clues input:checked{background-size:calc(19 * var(--u))}.field-clues small{font-size:calc(11 * var(--u))}.field-clues label>span,.treasure-card p{font-size:calc(15.5 * var(--u))}.treasure-progress{font-size:calc(13.5 * var(--u))}.field-validate{height:calc(56 * var(--u));font-size:calc(18 * var(--u))}.validate-block p{font-size:calc(11.5 * var(--u))}.field-message{font-size:calc(14 * var(--u))}.map-zoom button{width:calc(46 * var(--u));height:calc(46 * var(--u));border-radius:calc(23 * var(--u))}}.map-focus .field-notebook-slot,.map-focus .game-tab,.map-focus .map-caption{display:none}.map-focus .play-screen{height:100dvh;min-height:0;display:flex}.map-focus .field-board{height:100%;padding:max(4px, env(safe-area-inset-top)) 4px max(4px, env(safe-area-inset-bottom));flex:1;justify-content:center;align-items:center;display:flex;container-type:size}.map-focus .field-map-shell{width:100%;height:100%;position:relative}.map-focus .map-frame{align-self:stretch;width:100%;height:100%;padding:3px}.map-focus .field-map-viewport{width:100%;height:100%}.map-focus .map-controls{right:max(8px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:5;padding:0;position:fixed}.map-focus .map-zoom{flex-direction:column;gap:6px}.map-focus .map-zoom button{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14211ee0}.map-focus .map-focus-close{border-color:var(--lantern);color:var(--lantern);order:-1}.field-dialog{width:calc(100% - 32px);max-width:460px;max-height:88vh;padding:clamp(10px, calc(24px / var(--dialog-scale,1)), 28px);border:1px solid var(--lantern-line);background:var(--surface);color:var(--text);border-radius:16px;overflow:auto;box-shadow:0 24px 80px #0009}.field-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080e0cb8}.field-dialog h2{margin:6px 0 10px;font-size:24px;line-height:1.2}.field-dialog p{color:var(--text);font-size:14px;line-height:1.65}.field-dialog button{border:1px solid var(--lantern-line);width:100%;min-height:46px;color:var(--text);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.field-dialog button:first-of-type,.field-dialog .dialog-primary{background:var(--lantern);color:var(--night);font-family:var(--serif);border:0;font-size:16px}.field-dialog button[aria-pressed=true]:not(:first-of-type){background:var(--lantern-soft)}.hint-text{border-left:3px solid var(--lantern);background:var(--night);border-radius:6px;padding:12px 14px;font-size:15px!important}.hint-end,.fullscreen-message{color:var(--text-2)!important;font-size:13px!important}.dialog-win{text-align:center}.win-emblem{margin:4px auto 0}.win-emblem .tz-chest-stage{width:min(62vw,240px)}.dialog-win>:not(.win-emblem,.field-eyebrow){animation:.5s ease-out 2.7s both win-reveal}@keyframes win-reveal{0%{opacity:0;transform:translateY(8px)}}@media (height<=520px) and (aspect-ratio>=1){.dialog-win[open]{grid-template-columns:180px 1fr;align-items:start;column-gap:22px;display:grid}.dialog-win>*{grid-column:2}.dialog-win>.win-emblem{grid-area:1/1/span 12;align-self:center}.win-emblem .tz-chest-stage{width:180px}.dialog-win h2{margin:2px 0 4px;font-size:22px}.dialog-win .win-text{margin:0 0 8px}.dialog-win .win-souvenir{padding:8px 12px}.dialog-win .win-positions{margin:8px 0 2px}.dialog-win .win-positions .avatar{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){.dialog-win>*{animation:none}}.win-positions .avatar img:not(.clip-strip),.win-positions .avatar video{object-fit:cover;width:100%;height:100%;display:block}.dialog-win h2{font-size:28px}.win-text{color:var(--text-2)!important}.win-text strong{color:var(--text)}.win-souvenir{background:var(--night);text-align:left;border:1px solid #d9b06459;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.win-souvenir svg{color:var(--lantern);flex-shrink:0}.win-souvenir span{letter-spacing:.14em;text-transform:uppercase;color:var(--lantern);font-size:10px;font-weight:700;display:block}.win-souvenir strong{font-family:var(--serif);font-size:16px;font-weight:600}.win-positions{justify-content:space-between;margin:14px 0 4px;padding:0;list-style:none;display:flex}.win-positions li{flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.win-positions .avatar{background:var(--surface-2);border:2px solid #d9b06499;border-radius:50%;width:44px;height:44px;display:block;overflow:hidden}.win-positions .avatar-monogram{height:100%;font-family:var(--serif);color:#e3c48c;place-items:center;font-weight:700;display:grid}.field-header{max-width:600px;padding:max(10px, env(safe-area-inset-top)) 16px 0;margin:0 auto}.field-header-row{justify-content:space-between;align-items:center;min-height:44px;display:flex}.field-brand{color:var(--lantern);font-family:var(--serif);letter-spacing:.04em;flex-direction:column;font-size:22px;font-weight:700;line-height:1;text-decoration:none;display:flex}.field-brand small{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);margin-top:3px;font-size:9.5px}.help-button{border:1px solid var(--lantern-line);background:0 0;border-radius:22px;place-items:center;width:44px;height:44px;padding:0;display:grid}.field-nav{background:var(--surface);border:1px solid #d9b06440;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:10px;padding:4px;display:grid}.field-nav button{background:0 0;border:0;border-radius:10px;height:44px;font-size:13px;font-weight:700}.field-nav button.active{background:var(--lantern);color:var(--night)}.field-collection{max-width:600px;margin:0 auto;padding:16px 16px 24px}.field-collection h1{margin-top:4px;font-size:26px;line-height:1.15}.field-collection>p,.season-head p{color:var(--text-2);margin:6px 0 0;font-size:13.5px;line-height:1.5}.season-progress{align-items:center;gap:10px;margin-top:10px;font-size:12px;font-weight:700;display:flex}.season-bar{background:#f3ead624;border-radius:3px;flex:1;height:6px;overflow:hidden}.season-bar span{background:var(--lantern);height:100%;display:block}.stage-path{width:100%;max-width:420px;margin:8px auto 0;display:block}.stage-trail{fill:none;stroke:var(--lantern);stroke-opacity:.55;stroke-width:2px;stroke-dasharray:5 6;stroke-linecap:round}.stage-glow{fill:var(--lantern);opacity:.25}.stage-dot{fill:var(--surface);stroke:#f3ead659;stroke-width:1.5px}.stage-current .stage-dot{fill:var(--lantern);stroke:none}.stage-open .stage-dot{stroke:var(--lantern)}.stage-number{font-family:var(--serif);text-anchor:middle;fill:var(--text);font-size:15px;font-weight:700}.stage-current .stage-number{fill:var(--night)}.stage-lock{fill:none;stroke:var(--text-2);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.stage-label{text-anchor:middle;fill:var(--text-2);font-size:10.5px;font-weight:700}.stage-puzzles{margin-top:12px}.stage-puzzles h2,.destinations h2{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);font-size:10px;font-weight:700}.stage-puzzles ul{flex-wrap:wrap;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.puzzle-dot{background:var(--surface);width:48px;height:48px;font-family:var(--serif);border:1.5px solid #f3ead673;border-radius:24px;font-size:15px;font-weight:700}.puzzle-dot:disabled{color:var(--text-2);opacity:.7;border-style:dashed}.puzzle-dot.done{border-color:var(--lantern);background:var(--lantern);color:var(--night)}.puzzle-dot.current{border:2.5px solid var(--lantern);color:var(--lantern);background:#d9b06426;box-shadow:0 0 16px #d9b06466}.current-puzzle{color:var(--text-2);margin:12px 0 0;font-size:12px}.current-puzzle em{font-family:var(--serif);color:var(--text);font-size:14px}.journey-play,.journal-reset{background:var(--lantern);min-height:48px;color:var(--night);font-family:var(--serif);border:0;border-radius:14px;align-items:center;gap:8px;margin-top:12px;padding:0 20px;font-size:16px;font-weight:700;display:inline-flex}.journal-reset{border:1px solid var(--lantern-line);color:var(--text);font-family:var(--sans);background:0 0;font-size:14px}.destinations{flex-direction:column;gap:6px;margin-top:20px;display:flex}.destination{background:var(--surface);color:var(--text-2);border:1px solid #d9b06429;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.destination span{flex:1}.destination small{letter-spacing:.06em;font-size:10.5px;font-weight:700}.destinations p,.field-disclosure{color:var(--text-2);font-size:11.5px;font-style:italic}.field-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.field-cards li{background:var(--surface);border:1px solid #d9b06433;border-radius:12px;padding:14px}.field-cards li>span{letter-spacing:.14em;color:var(--text-2);font-size:10px;font-weight:700}.field-cards li.found{border-color:var(--lantern-line)}.field-cards li.found>span{color:var(--lantern)}.field-cards h2{margin:6px 0 4px;font-size:17px;font-weight:600}.field-cards p{color:var(--text-2);margin:0;font-size:12.5px}.field-footer{max-width:600px;padding:12px 16px max(16px, env(safe-area-inset-bottom));color:var(--text-2);border-top:1px solid #d9b06429;flex-wrap:wrap;justify-content:space-between;gap:6px;margin:0 auto;font-size:11px;display:flex}.map-magnifier{z-index:30;border:3px solid var(--lantern);background:var(--night);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:12px;position:fixed;overflow:hidden;box-shadow:0 8px 30px #0009}.map-magnifier>svg{pointer-events:none;display:block}.magnifier-caption{color:var(--text);text-align:center;background:#14211ee6;font-size:11px;line-height:22px;position:absolute;bottom:0;left:0;right:0}.map-magnifier-target{z-index:31;pointer-events:none;outline:2px solid var(--night);background:#fff6d61a;border:2px solid #fff7df;border-radius:50%;position:fixed;transform:translate(-50%,-50%);box-shadow:0 1px 6px #00000080}.map-magnifier-target:before,.map-magnifier-target:after{content:"";background:var(--night);position:absolute;box-shadow:0 0 0 1px #fff7df}.map-magnifier-target:before{width:8px;height:2px;top:calc(50% - 1px);left:calc(50% - 4px)}.map-magnifier-target:after{width:2px;height:8px;top:calc(50% - 4px);left:calc(50% - 1px)}.field-coord-button{cursor:pointer;outline:none}.field-coord-mark{fill:#0000}.field-coord-button.is-pressed .field-coord-mark{fill:var(--lantern)}.field-coord-button.is-pressed .field-coord{fill:#1a130a}.field-coord-button:focus-visible .field-coord-mark{stroke:var(--lantern);stroke-width:1.6px;stroke-dasharray:3 2.4}.line-overlay{animation:.18s ease-out line-overlay-in}.line-overlay-shade{fill:#07100c;fill-opacity:.45}.line-overlay-band{fill:var(--lantern);fill-opacity:.12;stroke:var(--lantern);stroke-width:2.6px}@keyframes line-overlay-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.gesture-draw,.gesture-stamp,.game-panel,.game-panel-backdrop,.character-name,.pill-done,.pill-placed,.line-overlay{stroke-dashoffset:0;animation:none!important}.gesture-dust{display:none}}.map-rulers{z-index:2;pointer-events:none;position:absolute;overflow:hidden}.map-rulers .field-coord-button,.map-rulers .region-flag-button{pointer-events:auto;cursor:pointer}.ruler-pill{fill:#0a0806c7;stroke:#d9b0648c;stroke-width:1px}.ruler-text{font-family:var(--serif);fill:var(--lantern);text-anchor:middle;font-size:13px;font-weight:600}.ruler-coord.is-pressed .ruler-pill{fill:var(--lantern)}.ruler-coord.is-pressed .ruler-text{fill:#1a130a}.field-cell.is-lifting .cell-ring{stroke:var(--lantern);stroke-width:3px;stroke-dasharray:5 4}.field-cell.is-lifting .placed-token{filter:drop-shadow(0 3px 4px #0000008c)drop-shadow(0 0 5px #d9b064f2);animation:1.2s ease-in-out infinite token-lifted}@keyframes token-lifted{50%{opacity:.72}}@media (prefers-reduced-motion:reduce){.field-cell.is-lifting .placed-token{animation:none}}
