:root{--font-display:"Cinzel", "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--parchment:#f6ecd6;--parchment-deep:#ead9b4;--ink:#2e2118;--ink-soft:#5a4636;--wood:#6b4429;--wood-dark:#3f2717;--gold:#c9973c;--gold-light:#f0c86a;--arcane:#3fd8d0;--arcane-glow:#3fd8d08c;--magenta:#ff5fa2;--radius:14px;--shadow-panel:0 18px 50px #28160a59, 0 2px 0 #ffffff80 inset;--gutter:16px;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--scroll-size:12px;--scroll-track:var(--parchment-deep);--scroll-thumb:linear-gradient(90deg, #a87628, var(--gold-light) 45%, var(--gold) 70%, #9a6a22);--scroll-thumb-hover:linear-gradient(90deg, #b8842e, #ffe39a 45%, var(--gold-light) 70%, #a87628);--scroll-edge:#3f27178c}::-webkit-scrollbar{width:var(--scroll-size);height:var(--scroll-size)}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px;margin:6px;box-shadow:inset 0 1px 3px #3f271759,inset 0 0 0 1px #3f27171f}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);min-height:40px;box-shadow:inset 0 0 0 1px var(--scroll-edge), inset 0 1px 0 #ffffff73;background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:horizontal{background-image:linear-gradient(180deg, #a87628, var(--gold-light) 45%, var(--gold) 70%, #9a6a22);min-width:40px}::-webkit-scrollbar-thumb:hover{background-image:var(--scroll-thumb-hover)}::-webkit-scrollbar-thumb:active{background-image:linear-gradient(90deg, #8a5c1c, var(--gold) 50%, #8a5c1c)}::-webkit-scrollbar-button{background:0 0;display:none}::-webkit-scrollbar-corner{background:0 0;display:none}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--gold) var(--scroll-track)}}.cinema-programme{--scroll-track:#ffffff14;--scroll-edge:#0009}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:#f2c995;font-size:16px;line-height:1.5}.scene{touch-action:none;inset:0;position:fixed!important}:focus-visible{outline:3px solid var(--arcane);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.button{font:600 1rem/1 var(--font-body);cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out), opacity .2s;border:0;border-radius:999px;padding:.95rem 1.8rem}.button--primary{color:#fffaf0;background:linear-gradient(180deg, #8a5a34, var(--wood-dark));box-shadow:0 0 0 2px var(--gold) inset, 0 6px 18px #3f271766;letter-spacing:.02em}.button--primary:hover:not(:disabled){box-shadow:0 0 0 2px var(--gold-light) inset, 0 10px 26px #3f271773, 0 0 22px var(--arcane-glow);transform:translateY(-2px)}.button:disabled{cursor:progress;opacity:.75}.loader{z-index:50;padding:var(--gutter);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(#ffe4b859,#7846238c);place-items:center;display:grid;position:fixed;inset:0}.loader__card{text-align:center;background:linear-gradient(180deg, var(--parchment), var(--parchment-deep));border-radius:var(--radius);width:min(440px,100%);box-shadow:0 0 0 1px #c9973c99, 0 0 0 6px #f6ecd680, var(--shadow-panel);padding:2.5rem 2rem 2rem}.loader__crystal{background:linear-gradient(160deg, #b8fffa, var(--arcane) 45%, #1d8e9a);clip-path:polygon(50% 0,100% 40%,50% 100%,0 40%);width:34px;height:52px;filter:drop-shadow(0 0 12px var(--arcane-glow));margin:0 auto 1.25rem;animation:2.8s ease-in-out infinite crystal-float}.loader__name{font:700 clamp(1.7rem, 6vw, 2.3rem) / 1.1 var(--font-display);color:var(--wood-dark);letter-spacing:.03em;margin:0}.loader__title{color:var(--ink-soft);margin:.5rem 0 1.75rem}.loader__warning{background:#c9973c1f;border-radius:8px;margin:-.5rem 0 1.25rem;padding:.75rem 1rem;font-size:.9rem;box-shadow:inset 0 0 0 1px #c9973c73}.loader__bar{background:#3f271726;border-radius:999px;height:6px;margin-bottom:1.5rem;overflow:hidden}.loader__bar-fill{background:linear-gradient(90deg, var(--gold), var(--arcane));transform-origin:0;height:100%;transition:transform .3s var(--ease-out)}.loader__enter{width:100%}.loader__classic{color:var(--ink-soft);text-underline-offset:3px;margin-top:1.1rem;padding:.4rem;font-size:.9rem;display:inline-block}.loader__classic:hover{color:var(--wood-dark)}@keyframes crystal-float{50%{transform:translateY(-6px)}}.hud{top:var(--gutter);left:var(--gutter);right:var(--gutter);z-index:20;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex;position:fixed}.hud__identity{background:#f6ecd6e0;border-radius:10px;flex-direction:column;padding:.6rem 1rem;display:flex;box-shadow:0 0 0 1px #c9973c80,0 6px 20px #28160a33}.hud__identity strong{font:700 1.05rem/1.2 var(--font-display);color:var(--wood-dark)}.hud__identity span{color:var(--ink-soft);font-size:.82rem}.hud__actions{pointer-events:auto;gap:.5rem;display:flex}.hud-button{min-width:44px;height:44px;font:600 .92rem/1 var(--font-body);color:var(--wood-dark);cursor:pointer;transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);background:#f6ecd6eb;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 .8rem;display:inline-flex;box-shadow:0 0 0 1px #c9973c8c,0 6px 18px #28160a33}.hud-button:hover{box-shadow:0 0 0 1px var(--gold), 0 8px 22px #28160a40;transform:translateY(-1px)}.hud-button--primary{color:#fffaf0;background:linear-gradient(180deg, #8a5a34, var(--wood-dark));box-shadow:0 0 0 1.5px var(--gold) inset, 0 6px 18px #3f271759;padding:0 1.1rem}.hud-button--primary:hover{box-shadow:0 0 0 1.5px var(--gold-light) inset, 0 8px 22px #3f271766, 0 0 18px var(--arcane-glow)}kbd{min-width:1.6em;font:600 .75rem/1.2 var(--font-body);text-align:center;color:var(--wood-dark);background:#fffaf0;border-radius:5px;padding:.15em .4em;display:inline-block;box-shadow:0 0 0 1px #3f271740,0 2px #3f271740}.button--ghost{color:var(--wood-dark);background:0 0;align-items:center;gap:.5rem;padding:.6rem 1rem;display:inline-flex;box-shadow:inset 0 0 0 1.5px #6b442973}.button--ghost:hover{background:#6b442914}.icon-button{width:44px;height:44px;color:var(--wood-dark);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.icon-button:hover{background:#6b44291a}.interact-prompt{left:50%;bottom:calc(var(--gutter) + 12px + env(safe-area-inset-bottom));z-index:25;animation:rise-in .26s var(--ease-out);position:fixed;transform:translate(-50%)}.interact-prompt__button{font:1rem/1 var(--font-body);color:var(--ink);background:var(--parchment);box-shadow:0 0 0 2px var(--accent,var(--gold)), 0 0 24px color-mix(in srgb, var(--accent,var(--gold)) 45%, transparent), 0 10px 26px #28160a4d;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.75rem;padding:.8rem .9rem .8rem 1.3rem;display:inline-flex}.interact-prompt__button strong{font-family:var(--font-display);color:var(--wood-dark)}@keyframes rise-in{0%{opacity:0;transform:translate(-50%,12px)}}.zone-panel{top:calc(var(--gutter) + 64px);right:var(--gutter);bottom:var(--gutter);z-index:30;width:min(440px, calc(100% - 2 * var(--gutter)));background:linear-gradient(180deg, var(--parchment), var(--parchment-deep));border-radius:var(--radius);box-shadow:0 0 0 1px #c9973c99, var(--shadow-panel);animation:panel-in .42s var(--ease-out);flex-direction:column;display:flex;position:fixed}.zone-panel__header{border-bottom:1px solid #6b442926;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.4rem 1.4rem 1rem;display:flex}.zone-panel__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .2rem;font-size:.8rem;font-weight:600}.zone-panel__title{font:700 1.6rem/1.15 var(--font-display);color:var(--wood-dark);margin:0}.zone-panel__body{overscroll-behavior:contain;flex:1;padding:1.2rem 1.4rem 1.6rem;overflow-y:auto}.zone-panel__body h3{font:700 1.05rem/1.3 var(--font-display);color:var(--wood-dark);margin:1.4rem 0 .6rem}.zone-panel__body p{margin:0 0 .8rem}.zone-panel__lead{color:var(--wood-dark);font-size:1.08rem}.zone-panel a:not(.button){color:var(--wood);text-underline-offset:3px}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}}.chip-list,.link-list,.card-list,.tag-list,.skill-list,.timeline,.quick-travel__list,.controls-list{margin:0;padding:0;list-style:none}.chip-list{flex-wrap:wrap;gap:.5rem;display:flex}.chip{font:600 .9rem/1 var(--font-body);color:var(--wood-dark);box-shadow:0 0 0 1.5px var(--accent,var(--gold)) inset;cursor:pointer;background:#fffaf0;border:0;border-radius:999px;padding:.55rem .9rem}.chip:hover{background:color-mix(in srgb, var(--accent,var(--gold)) 16%, #fffaf0)}.link-list{flex-wrap:wrap;gap:.4rem 1.2rem;display:flex}.card-list{gap:.9rem;display:grid}.card{background:#fffaf0bf;border-radius:10px;padding:1rem 1.1rem;box-shadow:0 0 0 1px #6b442924}.card h3{margin:0 0 .3rem!important}.card p{margin:0 0 .5rem!important}.card__meta{font-family:var(--font-body);color:var(--ink-soft);font-size:.85rem;font-weight:400}.card__links{gap:1rem;display:flex}.tag-list{flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;display:flex}.tag-list li{color:#0d4a4f;background:#3fd8d02e;border-radius:999px;padding:.2rem .55rem;font-size:.78rem}.timeline{margin-bottom:1.4rem;padding-left:1.2rem;position:relative}.timeline:before{content:"";background:linear-gradient(var(--gold), #c9973c33);width:2px;position:absolute;top:.4rem;bottom:.4rem;left:.3rem}.timeline__item{padding-bottom:1.1rem;position:relative}.timeline__item:before{content:"";background:var(--parchment);width:10px;height:10px;box-shadow:0 0 0 2px var(--gold);border-radius:50%;position:absolute;top:.35rem;left:-1.18rem}.timeline__item h3{margin:.15rem 0 .2rem!important}.timeline__highlights{margin:.4rem 0 .6rem;padding-left:1.1rem;font-size:.92em;line-height:1.5}.timeline__highlights li+li{margin-top:.25rem}.timeline__highlights li::marker{color:var(--gold)}.timeline+.button,.timeline{margin-bottom:1.2rem}.skill-list li{border-bottom:1px dashed #6b442933;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.skill-level{gap:4px;display:inline-flex}.skill-level span{background:#6b442926;width:10px;height:10px;transform:rotate(45deg)}.skill-level span.is-on{background:var(--arcane);box-shadow:0 0 6px var(--arcane-glow)}.menu-backdrop{z-index:40;padding:var(--gutter);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2e211859;place-items:center;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}.menu-panel{width:min(760px,100%);max-height:calc(100dvh - 2 * var(--gutter));background:linear-gradient(180deg, var(--parchment), var(--parchment-deep));border-radius:var(--radius);box-shadow:0 0 0 1px #c9973c99, var(--shadow-panel);animation:pop-in .26s var(--ease-out);padding:1.2rem 1.4rem 1.5rem;overflow-y:auto}.menu-panel__header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.menu-panel__header h2{font:700 1.45rem/1.2 var(--font-display);color:var(--wood-dark);margin:0}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.97)translateY(8px)}}.quick-travel__layout{grid-template-columns:1.1fr 1fr;align-items:start;gap:1.2rem;display:grid}.quick-travel__list{gap:.45rem;display:grid}.quick-travel__item{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fffaf0b3;border:0;border-radius:10px;align-items:center;gap:.8rem;padding:.7rem .9rem;transition:background .16s,box-shadow .16s;display:flex;box-shadow:0 0 0 1px #6b442924}.quick-travel__item:hover{box-shadow:0 0 0 1.5px var(--accent,var(--gold));background:#fffaf0}.quick-travel__item strong{font-family:var(--font-display);color:var(--wood-dark);display:block}.quick-travel__item small{color:var(--ink-soft)}.quick-travel__dot{background:var(--accent,var(--gold));width:12px;height:12px;box-shadow:0 0 8px var(--accent,var(--gold));flex:none;transform:rotate(45deg)}.island-map{width:100%;height:auto}.island-map__sea{fill:#7fd3d6}.island-map__sand{fill:#ead39c}.island-map__grass{fill:#9fcf5a}.island-map__path{stroke:#cdb28a;stroke-width:1.8px;stroke-linecap:round}.island-map__dock{fill:#9a6b45}.island-map__hub{fill:#6b4429}.island-map__zone{cursor:pointer}.island-map__zone circle{stroke:#fffaf0;stroke-width:.8px}.island-map__zone text{font:700 2.7px var(--font-display);fill:var(--wood-dark);paint-order:stroke;stroke:#fffaf0;stroke-width:.8px;stroke-linejoin:round}.island-map__player circle{fill:#fffaf0;stroke:var(--wood-dark);stroke-width:.6px}.island-map__player path{fill:var(--wood-dark)}.settings{width:min(460px,100%)}.settings__group{border:0;margin:0 0 1.2rem;padding:0}.settings__group legend,.settings__group h3{font:700 1rem/1.3 var(--font-display);color:var(--wood-dark);margin:0 0 .6rem;padding:0}.settings__option{cursor:pointer;border-radius:8px;align-items:center;gap:.7rem;padding:.55rem .7rem;display:flex}.settings__option:hover{background:#6b442912}.settings__option input{accent-color:var(--wood);width:18px;height:18px}.settings__option small{color:var(--ink-soft);display:block}.controls-list li{margin-bottom:.45rem;font-size:.9rem;line-height:1.8}.settings__classic{color:var(--wood);text-underline-offset:3px}.touch-controls{z-index:24;height:0;position:fixed;inset:auto 0 0}.joystick{left:calc(var(--gutter) + 8px);bottom:calc(var(--gutter) + 8px + env(safe-area-inset-bottom));touch-action:none;background:#f6ecd659;border-radius:50%;place-items:center;width:128px;height:128px;display:grid;position:fixed;box-shadow:inset 0 0 0 2px #f6ecd6cc,0 6px 20px #28160a33}.joystick__knob{background:var(--parchment);width:56px;height:56px;box-shadow:0 0 0 2px var(--gold), 0 4px 12px #28160a4d;pointer-events:none;border-radius:50%}.action-button{right:calc(var(--gutter) + 8px);bottom:calc(var(--gutter) + 24px + env(safe-area-inset-bottom));width:84px;height:84px;font:700 .95rem/1 var(--font-body);color:#fffaf0;background:linear-gradient(180deg, #8a5a34, var(--wood-dark));box-shadow:0 0 0 2px var(--gold) inset, 0 8px 20px #28160a59;touch-action:none;border:0;border-radius:50%;position:fixed}@media (width<=720px){.hud__identity span,.hud-button--primary span{display:none}.hud-button--primary{padding:0 .8rem}.zone-panel{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:62dvh;animation-name:sheet-in;inset:auto 0 0}.zone-panel__header{padding:1rem 1.1rem .8rem}.zone-panel__body{padding:1rem 1.1rem calc(1.4rem + env(safe-area-inset-bottom))}.quick-travel__layout{grid-template-columns:1fr}.island-map{max-width:320px;margin:0 auto}.interact-prompt{bottom:calc(var(--gutter) + 150px + env(safe-area-inset-bottom))}}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.zone-labels{z-index:10;pointer-events:none;position:fixed;inset:0;overflow:hidden}.zone-label{visibility:hidden;transform-origin:50% 100%;will-change:transform;text-align:center;min-width:max-content;box-shadow:0 0 0 1.5px var(--accent,var(--gold)), 0 4px 14px #28160a40;pointer-events:none;-webkit-user-select:none;user-select:none;background:#f6ecd6eb;border-radius:8px;flex-direction:column;align-items:center;padding:.45rem .9rem;display:flex;position:absolute;top:0;left:0}.zone-label__title{font:700 1rem/1.2 var(--font-display);color:var(--wood-dark)}.zone-label__subtitle{color:var(--ink-soft);font-size:.75rem}@media (width<=600px){.zone-label{padding:.25rem .55rem}.zone-label__title{font-size:.8rem}.zone-label__subtitle{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:coarse){.zone-panel kbd,.cinema-bar kbd,.museum-bar kbd,.viewer__hint,.interact-prompt kbd{display:none}}.photo-mode .hud,.photo-mode .zone-labels,.photo-mode .interact-prompt,.photo-mode .touch-controls,.photo-mode .loader{display:none!important}.recenter-button{right:calc(var(--gutter) + 104px);bottom:calc(var(--gutter) + 92px + env(safe-area-inset-bottom));width:48px;height:48px;color:var(--wood-dark);box-shadow:0 0 0 1.5px var(--gold), 0 6px 16px #28160a40;touch-action:manipulation;background:#f6ecd6eb;border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.customizer{top:calc(var(--gutter) + 64px);right:var(--gutter);bottom:var(--gutter);z-index:30;width:min(420px, calc(100% - 2 * var(--gutter)));background:linear-gradient(180deg, var(--parchment), var(--parchment-deep));border-radius:var(--radius);box-shadow:0 0 0 1px #c9973c99, var(--shadow-panel);animation:panel-in .42s var(--ease-out);flex-direction:column;display:flex;position:fixed}.customizer__header{border-bottom:1px solid #6b442926;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.3rem 1.4rem .9rem;display:flex}.customizer__body{overscroll-behavior:contain;flex:1;padding:.6rem 1.4rem 1rem;overflow-y:auto}.customizer__hint{color:var(--ink-soft);margin:.2rem 0 .4rem;font-size:.85rem}.customizer__row{border:0;border-bottom:1px dashed #6b44292e;margin:0;padding:.65rem 0}.customizer__row legend{font:700 .95rem/1.3 var(--font-display);color:var(--wood-dark);margin-bottom:.45rem;padding:0}.customizer__row:disabled{opacity:.45}.customizer__choices,.customizer__swatches{flex-wrap:wrap;gap:.4rem;display:flex}.choice-chip{min-height:36px;font:600 .85rem/1 var(--font-body);color:var(--wood-dark);cursor:pointer;background:#fffaf0;border:0;border-radius:999px;padding:.45rem .8rem;transition:background .15s,box-shadow .15s;box-shadow:inset 0 0 0 1px #6b442940}.choice-chip:hover{box-shadow:0 0 0 1.5px var(--gold) inset}.choice-chip[aria-pressed=true]{color:#fffaf0;background:var(--wood);box-shadow:0 0 0 1.5px var(--gold) inset}.swatch{cursor:pointer;width:34px;height:34px;transition:transform .15s var(--ease-out);border:0;border-radius:50%;box-shadow:0 0 0 2px #fffaf0,0 0 0 3px #6b442940}.swatch:hover{transform:scale(1.08)}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px #fffaf0, 0 0 0 4.5px var(--wood-dark)}.customizer__footer{padding:.9rem 1.4rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid #6b442926;justify-content:flex-end;gap:.6rem;display:flex}.emote-buttons{right:calc(var(--gutter) + 8px);bottom:calc(var(--gutter) + 124px + env(safe-area-inset-bottom));flex-direction:column;gap:.4rem;display:flex;position:fixed}.emote-button{min-height:40px;font:600 .82rem/1 var(--font-body);color:var(--wood-dark);box-shadow:0 0 0 1.5px var(--gold), 0 6px 16px #28160a33;background:#f6ecd6eb;border:0;border-radius:999px;padding:0 .9rem}@media (width<=720px){.customizer{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:56dvh;animation-name:sheet-in;inset:auto 0 0}.customizer__header{padding:.9rem 1.1rem .7rem}.customizer__body{padding:.4rem 1.1rem .8rem}.customizer__footer{padding:.7rem 1.1rem calc(.8rem + env(safe-area-inset-bottom))}}.cinema-fade{z-index:45;pointer-events:none;background:#0d0709;animation:.7s ease-out forwards cinema-fade-out;position:fixed;inset:0}@keyframes cinema-fade-out{to{opacity:0}}.cinema-bar{left:var(--gutter);right:var(--gutter);z-index:30;color:#f6ecd6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius);background:#140a0eb8;position:fixed;box-shadow:0 0 0 1px #c9973c73,0 12px 30px #00000059}.cinema-bar--top{top:var(--gutter);width:max-content;max-width:min(460px, calc(100% - 2 * var(--gutter)));justify-content:space-between;align-items:center;gap:1.4rem;padding:.8rem 1.1rem;display:flex;right:auto}.cinema-bar--top .zone-panel__eyebrow{color:#f6ecd6bf}.cinema-title{font:700 1.25rem/1.2 var(--font-display);color:#fff3dc;margin:0}.cinema-bar .button--ghost{color:#f6ecd6;box-shadow:inset 0 0 0 1.5px #f6ecd68c}.cinema-bar .button--ghost:hover{background:#f6ecd61a}.cinema-bar--bottom{bottom:calc(var(--gutter) + env(safe-area-inset-bottom));padding:.8rem 1rem 1rem}.cinema-transport{align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.cinema-play{color:#1a0d12;background:linear-gradient(180deg, var(--gold-light), var(--gold));cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 0 18px #f0c86a59}.cinema-progress{accent-color:var(--arcane);flex:1}.cinema-volume{align-items:center;gap:.4rem;display:flex}.cinema-volume input{width:90px;accent-color:var(--gold)}.cinema-programme{gap:.6rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.cinema-poster{text-align:left;color:#f6ecd6;cursor:pointer;background:#f6ecd60f;border:0;border-radius:10px;align-items:center;gap:.7rem;width:300px;padding:.45rem;display:flex;box-shadow:inset 0 0 0 1px #f6ecd62e}.cinema-poster[aria-pressed=true]{box-shadow:0 0 0 2px var(--magenta) inset, 0 0 16px #ff5fa24d}.cinema-poster img{aspect-ratio:16/9;object-fit:cover;border-radius:6px;flex:none;width:96px}.cinema-poster strong{font:700 .9rem/1.25 var(--font-display);display:block}.cinema-poster small{color:#f6ecd6bf;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;display:-webkit-box;overflow:hidden}.cinema-modal{z-index:60;padding:var(--gutter);background:#000;place-items:center;display:grid;position:fixed;inset:0}.cinema-modal__video{width:min(100%,1280px);max-height:80dvh}.cinema-modal__host{z-index:1;place-items:center;width:100%;display:grid;position:relative}.cinema-modal__close{z-index:2;top:var(--gutter);right:var(--gutter);position:absolute}@media (width<=720px){.cinema-bar--top{top:calc(var(--gutter) + 110px)}.cinema-volume{display:none}.cinema-poster{width:240px}}.cinema-video-parked{opacity:.01;pointer-events:none;width:2px;height:2px;position:fixed;bottom:0;left:0}.card--clickable{transition:box-shadow .16s}.card--clickable[aria-current=true]{box-shadow:0 0 0 2px var(--arcane), 0 0 18px var(--arcane-glow)}.card__thumb{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:100%;margin-bottom:.8rem;display:block}.card__links{flex-wrap:wrap;align-items:center}.card__open{padding:.6rem 1.1rem;font-size:.9rem}.project-modal{top:calc(var(--gutter) + 64px);bottom:var(--gutter);left:var(--gutter);right:calc(min(440px, 100% - 2 * var(--gutter)) + 2 * var(--gutter));z-index:32;background:linear-gradient(180deg, var(--parchment), var(--parchment-deep));border-radius:var(--radius);max-width:980px;box-shadow:0 0 0 1px #c9973c99, 0 0 0 6px #f6ecd659, var(--shadow-panel);animation:project-in .48s var(--ease-out);flex-direction:column;margin-left:auto;display:flex;position:fixed}@keyframes project-in{0%{opacity:0;transform:translate(-28px)scale(.985)}}.project-modal__header{border-bottom:1px solid #6b442926;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.3rem 1.6rem 1rem;display:flex}.project-modal__title{font:700 clamp(1.4rem, 2.4vw, 2rem) / 1.15 var(--font-display);color:var(--wood-dark);margin:0}.project-modal__body{overscroll-behavior:contain;flex:1;padding:1.3rem 1.6rem 1.8rem;overflow-y:auto}.gallery__stage{aspect-ratio:16/10;box-shadow:0 0 0 3px var(--gold), 0 12px 30px #28160a4d;background:#1a1410;border-radius:12px;position:relative;overflow:hidden}.gallery__stage img{object-fit:contain;width:100%;height:100%;animation:.3s ease-out fade-in}.gallery__arrow{width:46px;height:46px;font:400 2rem/1 var(--font-display);color:var(--wood-dark);cursor:pointer;background:#f6ecd6e6;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #0000004d}.gallery__arrow--prev{left:12px}.gallery__arrow--next{right:12px}.gallery__count{color:#fffaf0;background:#1a1410b3;border-radius:999px;padding:.25rem .6rem;font-size:.8rem;position:absolute;bottom:12px;right:12px}.gallery__thumbs{gap:.6rem;margin-top:.8rem;display:flex;overflow-x:auto}.gallery__thumb{opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;width:110px;padding:0;transition:opacity .15s,box-shadow .15s;overflow:hidden;box-shadow:0 0 0 1px #6b442940}.gallery__thumb[aria-pressed=true]{box-shadow:0 0 0 3px var(--arcane);opacity:1}.gallery__thumb img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.project-modal__section h3{font:700 1.1rem/1.3 var(--font-display);color:var(--wood-dark);margin:1.6rem 0 .7rem}.project-modal__section p{margin:0 0 .9rem;font-size:1.02rem;line-height:1.65}.tag-list--large li{padding:.35rem .8rem;font-size:.9rem}.project-modal__links{flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 0;display:flex}.project-modal__links a{text-decoration:none}.project-modal__nav{border-top:1px dashed #6b442940;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:2rem;padding-top:1.2rem;display:grid}.project-modal__nav-button{text-align:left;color:var(--ink);cursor:pointer;background:#fffaf0b3;border:0;border-radius:10px;flex-direction:column;gap:.2rem;padding:.8rem 1rem;display:flex;box-shadow:0 0 0 1px #6b44292e}.project-modal__nav-button:hover{box-shadow:0 0 0 1.5px var(--gold)}.project-modal__nav-button--next{text-align:right;align-items:flex-end}.project-modal__nav-button small{color:var(--ink-soft)}.project-modal__nav-button span{font:700 .95rem/1.3 var(--font-display);color:var(--wood-dark)}@media (width<=900px){.project-modal{z-index:42;border-radius:0;max-width:none;animation-name:sheet-in;inset:0}.project-modal__header{padding:calc(1rem + env(safe-area-inset-top)) 1.1rem .8rem}.project-modal__body{padding:1rem 1.1rem calc(1.5rem + env(safe-area-inset-bottom))}}.museum-bar{top:calc(var(--gutter) + 64px);left:var(--gutter);z-index:30;max-width:min(620px, calc(100% - 2 * var(--gutter)));border-radius:var(--radius);background:#f6ecd6eb;align-items:center;gap:1.2rem;padding:.8rem 1.1rem;display:flex;position:fixed;box-shadow:0 0 0 1px #c9973c99,0 10px 26px #28160a40}.museum-bar__title{font:700 1.3rem/1.2 var(--font-display);color:var(--wood-dark);margin:0}.museum-bar__hint{color:var(--ink-soft);margin:.2rem 0 0;font-size:.82rem}.speech-bubble{visibility:hidden;color:#1a1410;transform-origin:30% 100%;pointer-events:none;background:#fff;border:3px solid #1a1410;border-radius:22px;width:max-content;max-width:270px;padding:.7rem .95rem .8rem;font:700 1.02rem/1.3 Comic Neue,Comic Sans MS,Chalkboard SE,cursive;position:absolute;top:0;left:0;box-shadow:5px 5px #1a1410}.speech-bubble:after{content:"";background:#fff;border-bottom:3px solid #1a1410;border-right:3px solid #1a1410;width:22px;height:22px;position:absolute;bottom:-18px;left:30%;transform:skewY(40deg)rotate(45deg)}.speech-bubble__name{letter-spacing:.04em;text-transform:uppercase;color:#1a1410;background:#ffd84a;border:2px solid #1a1410;border-radius:999px;margin-bottom:.3rem;padding:.1rem .55rem;font-size:.75rem;display:inline-block;transform:rotate(-3deg)}.speech-bubble__text{animation:.42s cubic-bezier(.34,1.56,.64,1) bubble-pop;display:block}@keyframes bubble-pop{0%{opacity:0;transform:scale(.6)rotate(-6deg)}}.viewer{z-index:55;background:#0e1614f0;place-items:center;padding:4rem 5rem;animation:.25s ease-out fade-in;display:grid;position:fixed;inset:0}.viewer__figure{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:2rem;width:min(1200px,100%);max-height:100%;margin:0;display:grid}.viewer__frame{border:14px solid #c9a24a;border-radius:4px;overflow:hidden;box-shadow:0 0 0 3px #7a5a1f,0 24px 60px #0009}.viewer__frame img{object-fit:contain;cursor:zoom-in;width:100%;max-height:calc(100dvh - 10rem);transition:transform .35s var(--ease-out);background:#20302c;display:block}.viewer__frame img.is-zoomed{cursor:zoom-out}.viewer__caption{color:#f6ecd6}.viewer__caption h2{font:700 1.6rem/1.2 var(--font-display);color:#fff3dc;margin:0 0 .3rem}.viewer__meta{color:var(--gold-light);margin:0 0 1rem}.viewer__hint{color:#f6ecd699;margin-top:1.4rem;font-size:.82rem}.viewer__close{top:var(--gutter);right:var(--gutter);color:#f6ecd6;position:absolute}.viewer__arrow{width:54px;height:54px;font:400 2.2rem/1 var(--font-display);color:#1a1410;cursor:pointer;background:#f6ecd6eb;border:0;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%)}.viewer__arrow--prev{left:var(--gutter)}.viewer__arrow--next{right:var(--gutter)}@media (width<=900px){.viewer{padding:4rem var(--gutter) 2rem}.viewer__figure{grid-template-columns:1fr;gap:1rem}.viewer__frame img{max-height:55dvh}.viewer__arrow{top:auto;bottom:var(--gutter);transform:none}.museum-bar__hint{display:none}.museum-bar{top:calc(var(--gutter) + 110px)}}.travel-panel{top:calc(var(--gutter) + 64px);right:var(--gutter);bottom:var(--gutter);z-index:35;width:min(400px, calc(100% - 2 * var(--gutter)));background:linear-gradient(180deg, var(--parchment), var(--parchment-deep));border-radius:var(--radius);box-shadow:0 0 0 1px #c9973c99, var(--shadow-panel);animation:panel-in .42s var(--ease-out);flex-direction:column;display:flex;position:fixed}.travel-panel__header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.3rem 1.4rem .6rem;display:flex}.travel-panel__hint{color:var(--ink-soft);border-bottom:1px solid #6b442926;margin:0;padding:0 1.4rem 1rem;font-size:.88rem}.travel-panel__list{flex:1;padding:1rem 1.4rem 1.4rem;overflow-y:auto}.quick-travel__item[aria-current=true]{box-shadow:0 0 0 2px var(--accent,var(--gold)), 0 0 18px color-mix(in srgb, var(--accent,var(--gold)) 40%, transparent);background:#fffaf0}.zone-labels--aerial{pointer-events:none}.zone-label--aerial{font:inherit;pointer-events:auto;cursor:pointer;border:0;transition:box-shadow .16s}.zone-label--aerial:hover,.zone-label.is-highlighted{background:color-mix(in srgb, var(--accent,var(--gold)) 35%, #fffaf0);box-shadow:0 0 0 3px var(--accent,var(--gold)), 0 0 26px 6px var(--accent,var(--gold)), 0 6px 18px #28160a4d}.player-pin{visibility:hidden;font:700 .8rem/1 var(--font-body);color:#fffaf0;white-space:nowrap;background:var(--wood-dark);box-shadow:0 0 0 2px var(--gold), 0 4px 12px #0000004d;transform-origin:50% 100%;border-radius:999px;padding:.3rem .7rem;position:absolute;top:0;left:0}.player-pin:after{content:"";border:7px solid #0000;border-top-color:var(--wood-dark);border-bottom:0;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}@media (width<=720px){.travel-panel{border-radius:var(--radius) var(--radius) 0 0;width:100%;height:48dvh;animation-name:sheet-in;inset:auto 0 0}.travel-panel__header{padding:1rem 1.1rem .4rem}.travel-panel__hint{padding:0 1.1rem .7rem}.travel-panel__list{padding:.8rem 1.1rem calc(1rem + env(safe-area-inset-bottom))}}.fishing-backdrop{z-index:40;padding:calc(var(--gutter) + 56px) var(--gutter) var(--gutter);background:radial-gradient(circle at 50% 40%,#14283240,#140e0a8c);place-items:center;animation:.26s ease-out fade-in;display:grid;position:fixed;inset:0}.fishing{background:linear-gradient(180deg, var(--parchment), var(--parchment-deep));border-radius:var(--radius);width:min(980px,100%);max-height:100%;box-shadow:0 0 0 1px #c9973c99, 0 0 0 6px #f6ecd659, var(--shadow-panel);flex-direction:column;display:flex;overflow:hidden}.fishing__header{border-bottom:1px solid #5a46362e;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.4rem .9rem;display:flex}.fishing__title{font:700 clamp(1.25rem, 2.4vw, 1.7rem) / 1.15 var(--font-display);color:var(--ink);margin:.15rem 0 0}.fishing__body{grid-template-columns:minmax(0,1fr) 280px;gap:1.4rem;padding:1.2rem 1.4rem 1.4rem;display:grid;overflow-y:auto}.fishing__play{flex-direction:column;gap:.9rem;min-width:0;display:flex}.fishing-pond{aspect-ratio:16/8;box-shadow:0 0 0 3px var(--gold), inset 0 -30px 60px #0a283c59;background:linear-gradient(#ffd9a8 0%,#f2b98a 22%,#0000 22.5%),linear-gradient(#2fa7a8 22%,#1d7f8c 60%,#145a6e 100%);border-radius:12px;position:relative;overflow:hidden}.fishing-pond:before,.fishing-pond:after{content:"";background:#ffffff73;border-radius:999px;height:3px;animation:5s ease-in-out infinite pond-glint;position:absolute;left:-20%;right:-20%}.fishing-pond:before{top:42%}.fishing-pond:after{width:40%;animation-delay:-2.5s;top:70%}@keyframes pond-glint{0%,to{opacity:.35;transform:translate(-8%)scaleX(.7)}50%{opacity:.7;transform:translate(12%)scaleX(1)}}.fishing-pond__line{transform-origin:top;background:#fffc;width:2px;height:46%;transition:height .3s;position:absolute;top:0;left:58%}.fishing-pond__bobber{background:linear-gradient(#d8282f 50%,#f4f1e8 50%);border:2px solid #1a1410;border-radius:50%;width:24px;height:24px;position:absolute;top:calc(46% - 12px);left:calc(58% - 11px);box-shadow:0 0 #fff9}.fishing-pond--ready .fishing-pond__line,.fishing-pond--ready .fishing-pond__bobber,.fishing-pond--caught .fishing-pond__line,.fishing-pond--caught .fishing-pond__bobber{opacity:0}.fishing-pond--waiting .fishing-pond__bobber{animation:1.6s ease-in-out infinite bobber-float}.fishing-pond--bite .fishing-pond__bobber{animation:.22s ease-in-out infinite bobber-bite,.7s ease-out infinite bobber-ripple}.fishing-pond--bite .fishing-pond__line,.fishing-pond--reeling .fishing-pond__line{height:50%}.fishing-pond--reeling .fishing-pond__bobber{animation:.32s ease-in-out infinite bobber-fight;top:calc(50% - 12px)}.fishing-pond--escaped .fishing-pond__bobber{animation:2.4s ease-in-out infinite bobber-float}@keyframes bobber-float{50%{transform:translateY(4px)}}@keyframes bobber-bite{50%{transform:translateY(10px)scale(.9)}}@keyframes bobber-ripple{to{box-shadow:0 0 0 26px #fff0}}@keyframes bobber-fight{25%{transform:translate(-6px,6px)rotate(-12deg)}75%{transform:translate(6px,3px)rotate(12deg)}}.fishing-pond__catch{filter:drop-shadow(0 10px 12px #0a1e2873);place-items:center;animation:.7s cubic-bezier(.34,1.56,.64,1) catch-jump;display:grid;position:absolute;inset:0}@keyframes catch-jump{0%{opacity:0;transform:translateY(60px)rotate(-25deg)scale(.6)}}.fishing-gauge{height:26px;box-shadow:inset 0 2px 5px #28140a80, 0 0 0 2px var(--wood-dark);background:linear-gradient(90deg,#8f3b2d,#c9973c 50%,#8f3b2d);border-radius:999px;position:relative}.fishing-gauge__zone{background:linear-gradient(#8fe39a,#3aa35a);border-radius:999px;transition:left .2s;position:absolute;top:3px;bottom:3px;box-shadow:0 0 12px #78e68ccc}.fishing-gauge__needle{background:var(--parchment);width:6px;box-shadow:0 0 0 2px var(--ink), 0 2px 6px #0006;border-radius:3px;margin-left:-3px;position:absolute;top:-6px;bottom:-6px}.fishing__hits{justify-content:center;gap:.4rem;margin:0;display:flex}.fishing__hits span{border:2px solid var(--wood);background:0 0;border-radius:50%;width:14px;height:14px}.fishing__hits span.is-on{background:var(--gold);box-shadow:0 0 8px var(--gold-light)}.fishing__message{text-align:center;min-height:1.5em;color:var(--ink-soft);margin:0;font-weight:600}.fishing__actions{justify-content:center;display:flex}.fishing__action{min-width:220px;font-size:1.05rem}.fishing__action kbd{margin-left:.5rem;font-size:.72em}.fishing__action:disabled{opacity:.6;cursor:wait}.fishing-card{box-shadow:0 0 0 2px var(--rarity), 0 8px 24px #28160a2e;background:#ffffff8c;border-radius:12px;padding:1rem 1.15rem;animation:.5s ease-out catch-jump}.fishing-card h3{font:700 1.15rem/1.2 var(--font-display);color:var(--ink);margin:.2rem 0 .15rem}.fishing-card p{margin:.3rem 0 0}.fishing-card__species{color:var(--ink-soft);font-weight:700}.fishing-card__species span{letter-spacing:.04em;text-transform:uppercase;color:#1a1410;background:var(--rarity);border-radius:999px;margin-left:.4rem;padding:.1rem .55rem;font-size:.75rem}.fishing-card__weight{color:var(--wood);font-style:italic}.fishing-log{background:#ffffff59;border-radius:12px;flex-direction:column;gap:.6rem;padding:1rem;display:flex;box-shadow:inset 0 0 0 1px #c9973c73}.fishing-log h3{font:700 1rem/1.2 var(--font-display);color:var(--ink);justify-content:space-between;margin:0;display:flex}.fishing-log h3 span{font-family:var(--font-body);color:var(--wood)}.fishing-log ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.fishing-log li{opacity:.6;border-radius:8px;align-items:center;gap:.6rem;padding:.3rem .4rem;display:flex}.fishing-log li.is-caught{opacity:1;background:#ffffff73}.fishing-log li span{flex-direction:column;min-width:0;display:flex}.fishing-log strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.85rem;overflow:hidden}.fishing-log small{color:var(--ink-soft);font-size:.75rem}.fishing-log__done{text-align:center;color:var(--wood);margin:0;font-weight:700}@media (width<=760px){.fishing-backdrop{padding:calc(var(--gutter) + 52px) 0 0;place-items:end stretch}.fishing{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:100%}.fishing__body{grid-template-columns:1fr;padding:1rem}.fishing-pond{aspect-ratio:16/9}}@media (hover:none){.fishing__action kbd{display:none}}.contact{flex-direction:column;gap:1rem;display:flex}.contact__title{margin:.4rem 0 -.2rem!important}.stamps{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.stamp{--hole:4px;--step:11px;color:var(--ink);filter:drop-shadow(0 3px 4px #28160a40);-webkit-mask:linear-gradient(#000 0 0) center / calc(100% - var(--step)) calc(100% - var(--step)) no-repeat, radial-gradient(circle var(--hole), #0000 96%, #000) calc(var(--step) / -2) calc(var(--step) / -2) / var(--step) var(--step) round;-webkit-mask:linear-gradient(#000 0 0) center / calc(100% - var(--step)) calc(100% - var(--step)) no-repeat, radial-gradient(circle var(--hole), #0000 96%, #000) calc(var(--step) / -2) calc(var(--step) / -2) / var(--step) var(--step) round;mask:linear-gradient(#000 0 0) center / calc(100% - var(--step)) calc(100% - var(--step)) no-repeat, radial-gradient(circle var(--hole), #0000 96%, #000) calc(var(--step) / -2) calc(var(--step) / -2) / var(--step) var(--step) round;transform:rotate(var(--tilt,-1.5deg));transition:transform .24s var(--ease-out);background:#fffaf0;flex-direction:column;gap:.15rem;padding:11px 11px 12px;text-decoration:none;display:flex;position:relative}.stamp:nth-child(2){--tilt:1.8deg}.stamp:nth-child(3){--tilt:1deg}.stamp:nth-child(4){--tilt:-2deg}.stamp:hover,.stamp:focus-visible{transform:rotate(0)translateY(-3px)scale(1.03)}.stamp:focus-visible{filter:drop-shadow(0 0 0 3px var(--arcane)) drop-shadow(0 6px 8px #28160a4d);outline:none}.stamp__art{color:#fff;background:var(--stamp-bg);border-radius:3px;place-items:center;height:74px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff59}.stamp__art:after{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#ffffff12 0 2px,#0000 2px 6px);position:absolute;inset:0}.stamp__postmark{color:#1a14106b;pointer-events:none;width:78px;position:absolute;top:2px;right:-12px;transform:rotate(-12deg)}.stamp__label{font:700 .92rem/1.1 var(--font-display);margin-top:.3rem}.stamp__value{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.stamp--mail{--stamp-bg:linear-gradient(135deg, #1d7f8c, #3fd8d0)}.stamp--linkedin{--stamp-bg:linear-gradient(135deg, #0a4c8f, #0a66c2)}.stamp--github{--stamp-bg:linear-gradient(135deg, #161b22, #3d444d)}.stamp--ofa{--stamp-bg:radial-gradient(circle at 70% 30%, #187a5c, #0b4a3c 70%)}.contact__copy{color:var(--ink);background:#ffffff59;border:1px dashed #7a4f3273;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin:0;padding:.55rem .8rem;font-weight:600;display:flex}.contact__copy span{overflow-wrap:anywhere}.letter{background:linear-gradient(90deg,#0000 1.35rem,#c9373d73 1.35rem 1.45rem,#0000 1.45rem),repeating-linear-gradient(#0000 0 1.55rem,#3d6fa838 1.55rem 1.6rem),#fffdf6;border-radius:4px 14px 14px 4px;flex-direction:column;gap:.6rem;padding:1.1rem 1.1rem 1.2rem 2.1rem;display:flex;position:relative;box-shadow:inset 0 1px #fffc,0 10px 24px #28160a2e,0 0 0 1px #c9973c59}.letter__salutation{color:#2c3f66;margin:0;font:700 1.25rem/1.6rem Comic Neue,Segoe Print,cursive}.letter__message,.letter__sign input{color:#24375c;resize:vertical;background:0 0;border:0;outline:none;width:100%;padding:0;font:700 1rem/1.6rem Comic Neue,Segoe Print,cursive}.letter__message{min-height:9.6rem}.letter__message::placeholder,.letter__sign input::placeholder{color:#2c3f666b}.letter__sign{gap:.4rem;display:grid}.letter__sign label{border-bottom:1.5px solid #2c3f6659;grid-template-columns:auto 1fr;align-items:baseline;gap:.6rem;display:grid}.letter__sign label:focus-within{border-bottom-color:var(--arcane)}.letter__sign label span{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem;font-weight:600}.letter__message:focus-visible{box-shadow:0 2px 0 var(--arcane)}.letter__honey{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.letter__error{color:#7a161d;background:#c9373d1a;border-radius:8px;margin:0;padding:.5rem .7rem;font-size:.88rem}.letter__send{font:700 1rem/1 var(--font-display);color:var(--parchment);box-shadow:0 0 0 2px var(--gold), 0 6px 14px #28160a59;cursor:pointer;background:linear-gradient(#6b4429,#3f2717);border:0;border-radius:999px;align-self:flex-end;align-items:center;gap:.55rem;margin-top:.3rem;padding:.45rem 1.1rem .45rem .5rem;transition:transform .16s;display:inline-flex}.letter__send svg{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.letter__send:hover svg,.letter__send:focus-visible svg{transform:rotate(-14deg)scale(1.1)}.letter__send:focus-visible{box-shadow:0 0 0 2px var(--gold), 0 0 0 5px var(--arcane-glow);outline:none}.letter__send.is-sending svg{animation:.7s ease-in-out infinite seal-press}.letter__send:disabled{cursor:wait}@keyframes seal-press{50%{transform:scale(.82)rotate(8deg)}}.letter--sent{text-align:center;background:#fffdf6;align-items:center;padding:1.4rem 1.2rem}.letter--sent h3{margin:.4rem 0 0!important}.letter--sent p{margin:0}.envelope{background:linear-gradient(160deg,#f3e2bf,#e3c993);border-radius:6px;width:150px;height:96px;margin-bottom:.4rem;animation:.9s cubic-bezier(.34,1.56,.64,1) envelope-fly;position:relative;box-shadow:0 8px 18px #28160a40}.envelope:before,.envelope:after{content:"";border-bottom:52px solid #e9d3a5;width:0;height:0;position:absolute;bottom:0}.envelope:before{border-right:75px solid #0000;left:0}.envelope:after{border-left:75px solid #0000;right:0}.envelope__flap{z-index:1;border-top:56px solid #dcbf86;border-left:75px solid #0000;border-right:75px solid #0000;width:0;height:0;position:absolute;top:0;left:0}.envelope__seal{z-index:2;animation:.5s cubic-bezier(.34,1.56,.64,1) .4s both seal-stamp;position:absolute;top:34px;left:50%;transform:translate(-50%)}@keyframes envelope-fly{0%{opacity:0;transform:translateY(40px)rotate(-12deg)scale(.7)}}@keyframes seal-stamp{0%{opacity:0;transform:translate(-50%)scale(2)}}.contact__where{text-align:center;color:var(--ink-soft);margin:0;font-size:.8rem}.quests-backdrop{z-index:40;padding:calc(var(--gutter) + 56px) var(--gutter) var(--gutter);background:radial-gradient(circle at 50% 40%,#3c1e0a40,#140c0699);place-items:center;animation:.26s ease-out fade-in;display:grid;position:fixed;inset:0}.quests{border-radius:var(--radius);width:min(1060px,100%);max-height:100%;box-shadow:0 0 0 8px #4a2f1e, 0 0 0 10px var(--gold), var(--shadow-panel);background:radial-gradient(circle at 20% 30%,#ffffff14 0 2px,#0000 3px) 0 0/14px 14px,linear-gradient(#c09466,#a87b4f);flex-direction:column;display:flex;overflow:hidden}.quests__header,.quests__footer{background:linear-gradient(#4a2f1e,#3f2717);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.3rem;display:flex}.quests__header .zone-panel__eyebrow{color:var(--gold-light)}.quests__title{font:700 clamp(1.25rem, 2.4vw, 1.75rem) / 1.1 var(--font-display);color:#f6ecd6;margin:.1rem 0 0}.quests__header .icon-button{background:var(--parchment)}.quests__footer{justify-content:center}.quests__cv-soon{color:#f0c86a;font-style:italic}.quests__body{grid-template-columns:300px minmax(0,1fr);gap:1.2rem;min-height:0;padding:1.2rem;display:grid}.quests__list{flex-direction:column;gap:.55rem;padding:.3rem .5rem .3rem .2rem;display:flex;overflow-y:auto}.quest-notice{font:inherit;text-align:left;color:var(--ink);transform:rotate(var(--tilt,-.6deg));cursor:pointer;transition:transform .18s var(--ease-out);background:linear-gradient(#fbf3df,#f1e2bf);border:0;border-radius:4px;flex-direction:column;gap:.1rem;padding:.55rem 1.8rem .6rem .9rem;display:flex;position:relative;box-shadow:0 3px 6px #28160a4d}.quest-notice:nth-child(2n){--tilt:.7deg}.quest-notice:before{content:"";background:radial-gradient(circle at 35% 35%, #fff 0 8%, var(--quest) 45%, #2b1d14 130%);border-radius:50%;width:12px;height:12px;position:absolute;top:7px;right:10px;box-shadow:0 1px 2px #0006}.quest-notice:hover,.quest-notice:focus-visible{transform:rotate(0)translate(4px)}.quest-notice:focus-visible{outline:3px solid var(--arcane);outline-offset:2px}.quest-notice[aria-current=true]{box-shadow:0 0 0 2px var(--quest), 0 6px 12px #28160a59;background:#fffaf0;transform:rotate(0)translate(6px)}.quest-notice__rank{letter-spacing:.06em;text-transform:uppercase;color:var(--quest);font-size:.68rem;font-weight:700}.quest-notice strong{font:700 .95rem/1.2 var(--font-display)}.quest-notice small{color:var(--ink-soft);font-size:.78rem}.quest-scroll{color:var(--ink);animation:scroll-unroll .42s var(--ease-out);background:radial-gradient(at 50% 0,#fff9,#0000 60%),linear-gradient(#fbf3df,#ecdcb8);border-radius:6px;padding:1.6rem 1.8rem 1.4rem;position:relative;overflow-y:auto;box-shadow:inset 0 10px 14px -10px #5a3c1e73,inset 0 -10px 14px -10px #5a3c1e73,0 10px 24px #28160a59}@keyframes scroll-unroll{0%{opacity:0;transform-origin:top;transform:scaleY(.85)}}.quest-scroll__rank{letter-spacing:.08em;text-transform:uppercase;color:var(--quest);margin:0;font-size:.78rem;font-weight:800}.quest-scroll__stamp{letter-spacing:.08em;text-transform:uppercase;color:var(--quest);border:3px solid var(--quest);opacity:.85;border-radius:6px;padding:.25rem .8rem;font-size:.85rem;font-weight:800;position:absolute;top:1.3rem;right:1.4rem;transform:rotate(-8deg)}.quest-scroll h3{font:700 clamp(1.3rem, 2.4vw, 1.75rem) / 1.15 var(--font-display);margin:.3rem 7rem .8rem 0}.quest-scroll h4{font:700 1rem/1.2 var(--font-display);color:var(--wood);margin:1.1rem 0 .5rem}.quest-scroll__facts{flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 .6rem;display:flex}.quest-scroll__facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem;font-weight:700}.quest-scroll__facts dd{margin:0;font-weight:600}.quest-scroll__story{font-size:1.02rem;line-height:1.55}.quest-scroll__objectives{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.quest-scroll__objectives li{padding-left:1.7rem;line-height:1.45;position:relative}.quest-scroll__objectives li:before{content:"✓";color:#fff;background:var(--quest);border-radius:50%;place-items:center;width:1.15rem;height:1.15rem;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:.05rem;left:0}.quest-scroll__rewards{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.quest-scroll__rewards li{color:#4a2f1e;background:linear-gradient(#ffe39a,#e8b04a);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .75rem .25rem .35rem;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:inset 0 -2px #78461459}.quest-scroll__rewards li:before{content:"";background:radial-gradient(circle at 35% 35%,#fff2b8,#c9973c 60%,#8a5a1c);border-radius:50%;width:1rem;height:1rem;box-shadow:0 0 0 1px #8a5a1c}.quest-scroll__nav{border-top:1px dashed #7a4f3266;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.4rem;padding-top:1rem;display:grid}.quest-scroll__nav button{font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:#ffffff73;border:1px solid #c9973c73;border-radius:10px;flex-direction:column;gap:.1rem;padding:.55rem .8rem;display:flex}.quest-scroll__nav button:last-child{text-align:right}.quest-scroll__nav button:hover,.quest-scroll__nav button:focus-visible{background:#fffc}.quest-scroll__nav small{color:var(--ink-soft);font-size:.72rem}.quest-scroll__nav span{font:700 .9rem/1.2 var(--font-display)}@media (width<=760px){.quests-backdrop{padding:calc(var(--gutter) + 52px) 0 0;place-items:end stretch}.quests{border-radius:var(--radius) var(--radius) 0 0;width:100%;box-shadow:0 0 0 4px #4a2f1e, var(--shadow-panel)}.quests__body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;padding:.8rem;overflow-y:auto}.quests__list{flex-direction:row;padding-bottom:.6rem;overflow:auto visible}.quest-notice{flex:0 0 200px}.quest-scroll{padding:1.2rem;overflow:visible}.quest-scroll h3{margin-top:2.2rem;margin-right:0}}.project-modal--solo{right:var(--gutter);margin-right:auto}.terminal-backdrop{z-index:40;padding:calc(var(--gutter) + 56px) var(--gutter) var(--gutter);background:radial-gradient(circle at 50% 45%,#0a282c4d,#060c0eb3);place-items:center;animation:.22s ease-out fade-in;display:grid;position:fixed;inset:0}.terminal{background:linear-gradient(#c9973c,#9a6a22);border-radius:16px;flex-direction:column;width:min(820px,100%);height:min(560px,100%);padding:10px;display:flex;overflow:hidden;box-shadow:0 0 0 3px #5a3a1c,inset 0 2px #ffffff59,0 24px 60px #0000008c}.terminal__bar{color:#2b1d14;align-items:center;gap:.8rem;padding:.25rem .4rem .6rem;font:700 .85rem/1 ui-monospace,Consolas,monospace;display:flex}.terminal__bar span:nth-child(2){flex:1}.terminal__bar .icon-button{background:#f6ecd6;width:34px;height:34px}.terminal__lights{gap:6px;display:flex}.terminal__lights i{background:radial-gradient(circle at 35% 35%,#fff,#3fd8d0 45%,#136b66);border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #3fd8d0cc}.terminal__lights i:nth-child(2){background:radial-gradient(circle at 35% 35%,#fff,#ffd84a 45%,#8a6a10);box-shadow:0 0 6px #ffd84ab3}.terminal__lights i:nth-child(3){background:radial-gradient(circle at 35% 35%,#fff,#ff5fa2 45%,#8a1f52);box-shadow:0 0 6px #ff5fa2b3}.terminal__screen{color:#5dffe9;text-shadow:0 0 6px #5dffe973;cursor:text;background:repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 3px),radial-gradient(at 50% 40%,#0b2a2d,#041214);border-radius:10px;flex:1;padding:1rem 1.1rem;font:500 .95rem/1.45 ui-monospace,Cascadia Code,Consolas,monospace;overflow-y:auto;box-shadow:inset 0 0 40px #000000b3,inset 0 0 0 2px #0009}.terminal__line{font:inherit;white-space:pre-wrap;word-break:break-word;margin:0}.terminal__line--input{color:#e9fffb}.terminal__line--error{color:#ff8fbf;text-shadow:0 0 6px #ff5fa273}.terminal__prompt{color:#ffd84a;text-shadow:0 0 6px #ffd84a73}.terminal__input{align-items:baseline;gap:.6rem;margin-top:.2rem;display:flex}.terminal__input input{min-width:0;font:inherit;color:#e9fffb;caret-color:#5dffe9;background:0 0;border:0;outline:none;flex:1;padding:0}@media (width<=760px){.terminal-backdrop{padding:calc(var(--gutter) + 52px) 0 0;place-items:end stretch}.terminal{border-radius:16px 16px 0 0;width:100%;height:100%}.terminal__screen{font-size:.82rem}}.forge-backdrop{z-index:40;padding:calc(var(--gutter) + 56px) var(--gutter) var(--gutter);background:radial-gradient(circle at 50% 70%,#ff6e1e38,#100804b3);place-items:center;animation:.26s ease-out fade-in;display:grid;position:fixed;inset:0}.forge{border-radius:var(--radius);width:min(1000px,100%);max-height:100%;box-shadow:0 0 0 6px #1d1916, 0 0 0 8px var(--gold), 0 0 60px #ff6e1e40, var(--shadow-panel);background:radial-gradient(circle,#8a8178 0 3px,#0000 4px) 12px 12px/100% 100% no-repeat,radial-gradient(circle at 30% 0,#ff8c3c2e,#0000 60%),linear-gradient(#3b3632,#2a2522);flex-direction:column;display:flex;overflow:hidden}.forge__header{background:linear-gradient(#1f1b18,#2a2522);border-bottom:2px solid #c9973c80;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.3rem;display:flex}.forge__header .zone-panel__eyebrow{color:var(--gold-light)}.forge__title{font:700 clamp(1.25rem, 2.4vw, 1.75rem) / 1.1 var(--font-display);color:#f6ecd6;margin:.1rem 0 0}.forge__header .icon-button{background:var(--parchment)}.forge__body{grid-template-columns:280px minmax(0,1fr);gap:1.2rem;min-height:0;padding:1.2rem;display:grid}.forge__rack{flex-direction:column;gap:.5rem;padding:.2rem .4rem .2rem .1rem;display:flex;overflow-y:auto}.forge-tag{text-align:left;color:#f1e6d2;cursor:pointer;background:linear-gradient(90deg,#4a433d,#3a3430);border:0;border-radius:6px;gap:.15rem;padding:.6rem .8rem .6rem 2.1rem;transition:transform .16s,background .16s;display:grid;position:relative}.forge-tag:before{content:"";background:radial-gradient(circle at 30% 30%, #fff 0 10%, var(--metal) 50%, #1d1916 140%);border:1px solid var(--gold);width:10px;height:10px;box-shadow:0 0 8px color-mix(in srgb, var(--metal) 60%, transparent);position:absolute;top:50%;left:.8rem;transform:translateY(-50%)rotate(45deg)}.forge-tag strong{font:700 .95rem/1.2 var(--font-display)}.forge-tag small{color:#c9bba6;font-size:.75rem}.forge-tag:hover,.forge-tag:focus-visible{background:linear-gradient(90deg,#574f47,#423b36);transform:translate(4px)}.forge-tag:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}.forge-tag[aria-current=true]{background:linear-gradient(90deg, color-mix(in srgb, var(--metal) 45%, #3a3430), #3a3430);box-shadow:0 0 0 1px var(--metal), 0 0 14px color-mix(in srgb, var(--metal) 50%, transparent)}.forge-piece{color:#2b1d14;max-height:100%;box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--metal) 70%, #3a3430), inset 0 -8px 20px #00000026;background:linear-gradient(135deg,#ffffff59,#0000 40%),linear-gradient(#e9e1d3,#cfc4b2);border-radius:10px;align-self:start;padding:1.4rem 1.6rem;animation:.36s ease-out forge-piece-in;position:relative;overflow-y:auto}@keyframes forge-piece-in{0%{opacity:0;transform:translateY(8px)}}.forge-piece__name{font:italic 600 .9rem/1.2 var(--font-body);color:color-mix(in srgb, var(--metal) 75%, #2b1d14);margin:0}.forge-piece h3{font:700 clamp(1.3rem, 2.6vw, 1.8rem) / 1.1 var(--font-display);margin:.25rem 0 1rem}.forge-piece__runes{flex-wrap:wrap;gap:.55rem;margin:0 0 1.4rem;padding:0;list-style:none;display:flex}.forge-piece__runes li{color:#f6ecd6;box-shadow:inset 0 1px 0 #ffffff26, 0 0 0 1px color-mix(in srgb, var(--metal) 60%, transparent);background:linear-gradient(#4a433d,#2f2a26);border-radius:6px;padding:.45rem .8rem;font-weight:600}.forge-piece__runes[data-forged] li{animation:1.1s ease-out both forge-heat;animation-delay:calc(var(--i) * 90ms)}@keyframes forge-heat{0%{color:#fff3c4;background:linear-gradient(#ffb347,#e8641b);transform:scale(1.06);box-shadow:0 0 18px #ff8a3d}to{transform:none}}.forge-piece__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.forge-piece__strike{position:relative;overflow:visible}.forge-piece__next{color:#4a2f1e;cursor:pointer;background:0 0;border:0;padding:.4rem 0;font-weight:600}.forge-piece__next span{font-family:var(--font-display)}.forge-piece__next:hover,.forge-piece__next:focus-visible{text-decoration:underline}.forge-sparks{pointer-events:none;position:absolute;top:50%;left:50%}.forge-sparks i{background:#ffd27a;border-radius:50%;width:4px;height:4px;animation:.7s ease-out forwards forge-spark;position:absolute;box-shadow:0 0 6px #ff8a3d}@keyframes forge-spark{0%{transform:rotate(var(--a)) translateX(0);opacity:1}to{transform:rotate(var(--a)) translateX(var(--d)) translateY(20px);opacity:0}}@media (prefers-reduced-motion:reduce){.forge-sparks{display:none}.forge-piece__runes[data-forged] li{animation:none}}@media (width<=760px){.forge-backdrop{padding:calc(var(--gutter) + 52px) 0 0;place-items:end stretch}.forge{border-radius:var(--radius) var(--radius) 0 0;width:100%;box-shadow:0 0 0 4px #1d1916, var(--shadow-panel)}.forge__body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;padding:.8rem;overflow-y:auto}.forge__rack{flex-direction:row;padding-bottom:.6rem;overflow-x:auto}.forge-tag{flex:0 0 180px}.forge-piece{padding:1.1rem;overflow:visible}}
