:root{--wood:#4b3524;--wood-soft:#6b4b31;--cream:#fbeed2;--cream-warm:#f3ddb4;--gold:#f0bd52;--gold-deep:#cf9330;--night-wood:#10152b;--night-panel:#242c4e;--night-panel-warm:#1c2340;--night-text:#eef1ff;--radius:20px;--radius-sm:12px;--edge:3px;--font-display:"Fredoka", "Segoe UI", system-ui, sans-serif;--font-body:"Nunito", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:400;overflow:hidden}#experience-wrapper{width:100vw;height:100vh;position:fixed}#experience-canvas{width:100%;height:100%}.hud{z-index:20;align-items:center;gap:12px;display:flex;position:fixed;top:24px;right:24px}.hud__btn{cursor:pointer;border:var(--edge) solid #3b2a12;-webkit-tap-highlight-color:transparent;background:#f6cd5b;border-radius:50%;place-items:center;width:56px;height:56px;padding:9px;transition:box-shadow .16s,translate .16s,filter .16s;display:grid;box-shadow:inset 0 -4px #4b352438,0 6px 14px #3a23104d}.hud__btn:hover{filter:brightness(1.05);translate:0 -2px;box-shadow:inset 0 -4px #4b352438,0 9px 18px #3a231057}.hud__btn:active{translate:0 2px;box-shadow:inset 0 -1px #4b352438,0 3px 8px #3a23104d}.hud__btn:focus-visible{outline:3px solid var(--wood);outline-offset:3px}html[data-theme=night] .hud__btn:focus-visible{outline-color:var(--cream)}.theme-toggle__icon{width:100%;height:100%;display:block;overflow:visible}.theme-toggle__disc{fill:var(--wood)}.theme-toggle__rays line{stroke:var(--wood);stroke-width:2.2px;stroke-linecap:round}.audio-toggle{color:#4b3524;transition:box-shadow .16s,translate .16s,filter .16s,color 1.1s ease-in-out,background-color 1.1s ease-in-out,border-color 1.1s ease-in-out}html[data-theme=night] .audio-toggle{color:#fbeed2;background:#2a1b07;border-color:#120b02}.audio-toggle__icon{width:100%;height:100%;display:block;overflow:visible}.audio-toggle__speaker{fill:currentColor;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round}.audio-toggle__waves path,.audio-toggle__cross line{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}@media (width<=600px){.hud{gap:10px;top:16px;right:16px}.hud__btn{width:46px;height:46px;padding:7px}}.drag-hint{z-index:20;color:var(--wood);pointer-events:none;opacity:0;flex-direction:column;align-items:center;gap:10px;transition:color 1.1s ease-in-out;display:flex;position:fixed;bottom:clamp(34px,7vh,64px);left:50%;translate:-50%}html[data-theme=night] .drag-hint{color:var(--cream)}.drag-hint__label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 10px var(--cream-warm), 0 1px 2px var(--cream-warm);font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:600}html[data-theme=night] .drag-hint__label{text-shadow:0 0 10px var(--night-wood), 0 1px 2px var(--night-wood)}.drag-hint__icon{width:clamp(88px,16vw,108px);height:auto;filter:drop-shadow(0 0 8px var(--cream-warm));flex:none;display:block}html[data-theme=night] .drag-hint__icon{filter:drop-shadow(0 0 8px var(--night-wood))}.drag-hint__hand{fill:currentColor}.drag-hint__thumb{stroke:currentColor;stroke-width:2px;stroke-linecap:round}.drag-hint__chevron{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}@media (width<=600px){.drag-hint{gap:8px}.drag-hint__label{letter-spacing:.11em}}.modal{z-index:10;width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--wood);background:var(--cream);border:var(--edge) solid var(--wood);border-radius:var(--radius);opacity:0;pointer-events:none;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 34px #3a231052}html[data-theme=night] .modal{color:var(--night-text);background:var(--night-panel);border-color:var(--night-wood);box-shadow:0 16px 34px #06091680}.modal-open{pointer-events:auto}.modal__wrapper{scrollbar-width:thin;scrollbar-color:var(--cream-warm) transparent;flex-direction:column;gap:14px;width:100%;max-height:calc(100vh - 70px);padding:28px 30px 30px;display:flex;position:relative;overflow-y:auto}.modal__title{font-family:var(--font-display);letter-spacing:.01em;padding-right:48px;font-size:clamp(1.6rem,4vw,2rem);font-weight:600;line-height:1.15}.modal__paragraph{color:var(--wood-soft);font-size:1.02rem;line-height:1.65}html[data-theme=night] .modal__paragraph{color:#eef1ffc7}.modal__subtitle{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--wood-soft);border-top:2px solid #4b352429;margin-top:4px;padding-top:18px;font-size:.78rem;font-weight:600}html[data-theme=night] .modal__subtitle{color:#eef1ff99;border-top-color:#fbeed229}.modal__credits{color:var(--wood-soft);flex-direction:column;gap:8px;margin-top:-4px;font-size:.9rem;line-height:1.55;list-style:none;display:flex}html[data-theme=night] .modal__credits{color:#eef1ffb8}.modal__link{color:var(--wood);text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #4b352459;text-decoration:underline #4b352459;text-decoration-thickness:1.5px;transition:text-decoration-color .16s}.modal__link:hover,.modal__link:focus-visible{-webkit-text-decoration-color:var(--wood);text-decoration-color:var(--wood)}.modal__link:focus-visible{outline:2px solid var(--wood);outline-offset:3px}html[data-theme=night] .modal__link{color:var(--cream);text-decoration-color:#fbeed266}html[data-theme=night] .modal__link:hover,html[data-theme=night] .modal__link:focus-visible{-webkit-text-decoration-color:var(--cream);text-decoration-color:var(--cream)}html[data-theme=night] .modal__link:focus-visible{outline-color:var(--cream)}.modal__close-button{width:34px;height:34px;font-family:var(--font-body);color:var(--wood);background:var(--gold);border:var(--edge) solid var(--wood);-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;line-height:1;transition:box-shadow .16s,translate .16s,filter .16s;display:grid;position:absolute;top:24px;right:22px;box-shadow:inset 0 -3px #4b352438,0 3px 8px #3a231042}.modal__close-button:hover{cursor:pointer;filter:brightness(1.05);translate:0 -1px;box-shadow:inset 0 -3px #4b352438,0 5px 11px #3a23104d}.modal__close-button:active{translate:0 2px;box-shadow:inset 0 -1px #4b352438,0 2px 5px #3a231042}.modal__close-button:focus-visible{outline:3px solid var(--wood);outline-offset:3px}.preloader{z-index:9999;background:var(--cream-warm);align-items:flex-end;padding:clamp(28px,6vw,76px);display:flex;position:fixed;inset:0;overflow:hidden}html[data-theme=night] .preloader{background:var(--night-wood)}.preloader__block{width:min(100%,30rem)}.preloader__percent{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--wood);font-size:clamp(3.4rem,13vw,5.75rem);font-weight:500;line-height:.82}html[data-theme=night] .preloader__percent{color:var(--cream)}.preloader__unit{vertical-align:1.62em;opacity:.5;margin-left:.2em;font-size:.3em;font-weight:600}.preloader__bar{background:#4b35242b;height:4px;margin-top:20px;overflow:hidden}html[data-theme=night] .preloader__bar{background:#fbeed229}.preloader__bar-fill{background:var(--wood);width:0%;height:100%;display:block}html[data-theme=night] .preloader__bar-fill{background:var(--cream)}.preloader__credit{max-width:28rem;color:var(--wood-soft);margin-top:26px;font-size:.82rem;line-height:1.55}html[data-theme=night] .preloader__credit{color:#eef1ff9e}.preloader__credit-link{color:var(--wood);text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #4b352459;text-decoration:underline #4b352459;text-decoration-thickness:1.5px;transition:text-decoration-color .16s}.preloader__credit-link:hover,.preloader__credit-link:focus-visible{-webkit-text-decoration-color:var(--wood);text-decoration-color:var(--wood)}.preloader__credit-link:focus-visible{outline:2px solid var(--wood);outline-offset:3px}html[data-theme=night] .preloader__credit-link{color:var(--cream);text-decoration-color:#fbeed266}html[data-theme=night] .preloader__credit-link:hover,html[data-theme=night] .preloader__credit-link:focus-visible{-webkit-text-decoration-color:var(--cream);text-decoration-color:var(--cream)}html[data-theme=night] .preloader__credit-link:focus-visible{outline-color:var(--cream)}.preloader__actions{flex-wrap:wrap;align-items:baseline;gap:10px 22px;display:none}.preloader__btn{font-family:var(--font-display);letter-spacing:.02em;color:var(--wood);cursor:pointer;background:var(--gold);border:var(--edge) solid var(--wood);-webkit-tap-highlight-color:transparent;border-radius:999px;padding:13px 32px;font-size:1rem;font-weight:600;transition:box-shadow .16s,translate .16s,filter .16s;box-shadow:inset 0 -4px #4b352438}.preloader__btn:hover{filter:brightness(1.04);translate:0 -2px;box-shadow:inset 0 -4px #4b352438,0 6px 14px #3a231042}.preloader__btn:active{translate:0 2px;box-shadow:inset 0 -1px #4b352438}.preloader__btn:focus-visible{outline:3px solid var(--wood);outline-offset:3px}html[data-theme=night] .preloader__btn{color:var(--night-text);background:var(--night-panel);border-color:#000}.preloader__btn--quiet{font-family:var(--font-body);color:var(--wood-soft);box-shadow:none;text-underline-offset:4px;background:0 0;border:0;border-radius:0;padding:0;font-size:.86rem;font-weight:700;-webkit-text-decoration:underline #4b35244d;text-decoration:underline #4b35244d;text-decoration-thickness:1.5px;transition:color .16s,text-decoration-color .16s}.preloader__btn--quiet:hover{filter:none;box-shadow:none;color:var(--wood);-webkit-text-decoration-color:var(--wood);text-decoration-color:var(--wood);translate:none}.preloader__btn--quiet:active{box-shadow:none;translate:0 1px}html[data-theme=night] .preloader__btn--quiet{color:#eef1ff9e;background:0 0;border:0;text-decoration-color:#fbeed259}html[data-theme=night] .preloader__btn--quiet:hover{color:var(--cream);-webkit-text-decoration-color:var(--cream);text-decoration-color:var(--cream)}html[data-theme=night] .preloader__btn--quiet:focus-visible,html[data-theme=night] .preloader__btn:focus-visible{outline-color:var(--cream)}@media (prefers-reduced-motion:reduce){.hud__btn,.modal__close-button,.preloader__btn{transition:none}.hud__btn:hover,.hud__btn:active,.modal__close-button:hover,.modal__close-button:active,.preloader__btn:hover,.preloader__btn:active{translate:none}}
