:root{--paper:#f5f5f7;--surface:#ffffff;--ink:#1d1d1f;--muted:#626268;--line:#dedee3;--enamel:#ececf0;--room-accent:#1d1d1f;--control:#e9e9ed;--focus:#0067cc;--accent:#0067cc;--button-accent:#0067cc;--button-accent-hover:#0055ad;--status-danger:#a8303c;--status-success:#24603a;--code-bg:#eef1f5;--code-ink:#26344b;--font-ui:var(--font-golos,Golos),-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--store-paper:var(--paper);--store-ink:var(--ink);--store-muted:var(--muted);--store-line:var(--line);--topic-ink:var(--ink);--topic-accent:var(--ink);--topic-wash:var(--control);color-scheme:light}html[data-ui-theme=dark]{--paper:#161618;--surface:#232326;--ink:#f5f5f7;--muted:#b0b0b8;--line:#3d3d43;--enamel:#2c2c30;--room-accent:#f5f5f7;--control:#35353a;--focus:#8bc0ff;--accent:#8bc0ff;--status-danger:#ffa4b0;--status-success:#95dfb0;--code-bg:#171c24;--code-ink:#e2e8f0;color-scheme:dark}@media (prefers-color-scheme:dark){html:not([data-ui-theme]){--paper:#161618;--surface:#232326;--ink:#f5f5f7;--muted:#b0b0b8;--line:#3d3d43;--enamel:#2c2c30;--control:#35353a;--focus:#8bc0ff;--accent:#8bc0ff;--room-accent:#f5f5f7;--status-danger:#ffa4b0;--status-success:#95dfb0;--code-bg:#171c24;--code-ink:#e2e8f0;color-scheme:dark}}body{font-family:var(--font-ui)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}select option{background:var(--surface);color:var(--ink)}html :focus-visible{outline:3px solid var(--focus);outline-offset:4px}html ::selection{background:var(--control);color:var(--ink)}.library-shell.library-shell{max-width:1800px;height:100svh;min-height:680px;grid-template-rows:80px minmax(0,1fr) auto;padding:env(safe-area-inset-top) max(40px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(40px,env(safe-area-inset-left))}.library-shell .library-header{gap:24px;border:0;padding:12px 0}.library-shell .brand{font-size:21px;font-weight:550;gap:10px;letter-spacing:-.04em}.library-shell .brand-mark{background:transparent;color:var(--ink);width:26px}.library-shell .brand-sub{color:var(--ink);font-weight:400}.library-shell .hall-store-navigation{gap:28px}.library-shell .hall-store-navigation a{font-size:13px;color:var(--muted)}.library-shell .hall-store-navigation a:hover{color:var(--ink);text-decoration:none}.site-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;background:transparent;border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink);flex-shrink:0}.site-menu-trigger:hover,html .icon-button:hover,html .quiet-button:hover{background:var(--control)}html .icon-button{border-radius:10px}.library-shell .library-main{grid-template-columns:minmax(280px,29%) minmax(0,1fr);gap:32px;padding:0 0 20px}.library-shell .library-copy{padding:32px 8px 32px 0}.library-shell .copy-top{font-size:14px;margin-bottom:26px;gap:8px}.library-shell .book-head{grid-template-columns:92px minmax(0,1fr);gap:20px}.library-shell .cover-button{width:92px}.library-shell .cover-button img{border-radius:2px 5px 5px 2px;box-shadow:0 4px 14px #00000015}.library-shell .library-copy h1{font-size:clamp(1.8rem,2.6vw,2.5rem);font-weight:550;letter-spacing:-.045em;line-height:1.09}.library-shell .book-edition{font-size:14px;margin-top:14px}.library-shell .book-benefits{color:var(--muted);font-size:14px;line-height:1.7;gap:9px;margin-top:28px}.library-shell .hero-actions{margin-top:28px;gap:8px}html .premium-button{background:var(--ink);color:var(--surface);border-radius:12px;min-height:48px;padding:13px 19px}html .premium-button:hover{background:var(--muted)}html .premium-button:active{transform:translateY(1px)}html .premium-button__arrow{width:15px}html .challenge-launch,html .empty-room-topics li,html .text-action{color:var(--ink)}html .text-action{text-decoration:none}html .text-action:hover{text-decoration:underline}.library-shell .catalogue-details{margin-top:12px;gap:2px 10px}.library-shell .hero-note{font-size:14px;line-height:1.6}.library-shell .scene-frame{border-radius:20px;background:var(--enamel);box-shadow:none}.library-shell .scene-fallback{background:var(--enamel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--muted);font-size:14px}.library-shell[data-background=computer] .scene-fallback{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px}.library-shell .scene-fallback--poster{display:block}.library-shell .scene-fallback--poster img{object-fit:cover}.library-shell .scene-topline{top:16px;left:16px;right:16px;gap:10px;align-items:center}.library-shell .scene-topline>span{background:#ffffffeb;color:#29292b;border-radius:9px;padding:9px 12px;max-width:48%;font-size:14px}.library-shell .librarian-trigger,.library-shell .scene-control{background:#fffffff2;color:#222225;border-radius:10px;min-height:44px;padding:11px 14px;font-size:14px;box-shadow:0 2px 12px #0000000a}.library-shell .librarian-trigger:hover,.library-shell .scene-control:hover{background:#fff}.library-shell .scene-control[aria-pressed=true]{background:#27272bea;color:#fff}.library-shell .scene-bottomline{left:16px;right:16px;bottom:16px;align-items:center}.library-shell .scene-status{background:#242428db;color:#fff;border-radius:9px;font-size:13px;padding:9px 11px;max-width:50%}.library-shell .librarian-trigger{font-size:13px;gap:9px}.library-shell .library-footer{border:0;padding:0 0 14px;gap:12px 24px}.library-shell .weather-trigger{font-size:14px}.legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 18px;font-size:13px;color:var(--muted);margin-left:auto}.legal-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}.legal-links a:hover{text-decoration:underline;color:var(--ink)}.walk-panel{position:absolute;left:16px;bottom:82px;z-index:4;display:flex;flex-direction:column;width:min(560px,calc(100% - 32px));max-height:min(42%,260px);background:#ffffffef;color:#222225;padding:8px;border-radius:14px}.walk-panel--collapsed{width:fit-content;max-width:calc(100% - 32px)}.walk-toolbar{display:flex;gap:8px;align-items:center;flex-shrink:0}.walk-toolbar .scene-control{min-width:44px;padding:10px;box-shadow:none}.walk-toolbar .walk-collapse{padding-inline:12px}.experience-control-label{display:none}.scene-control:disabled{opacity:.55;cursor:default}.walk-panel-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 6px 0}.walk-hint{font-size:13px;line-height:1.6;max-width:48ch}.walk-mobile-hint{display:none}.walk-destinations{display:flex;gap:8px;margin-top:7px}.walk-destinations button{min-height:44px;background:#e9e9ed;color:#222225;padding:10px 13px;border-radius:8px;font-size:14px}.walk-destinations button:hover{background:#dcdce1}.walk-status{margin-top:5px;min-height:16px;font-size:13px;color:#5f5f65}html .modal{background:var(--surface);color:var(--ink);border-radius:20px;box-shadow:0 24px 90px #0003}html .modal,html .modal-header{border-color:var(--line)}html .modal-backdrop{background:#00000058;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}html .modal-description,html .quiet-note{color:var(--muted)}.site-menu.site-menu{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 48px)}.site-menu .modal-header{padding:24px 24px 16px}.site-menu .modal-title{font-size:22px;font-weight:550;letter-spacing:-.025em}.site-menu .modal-description{font-size:14px}.site-menu-body{padding:0 24px 20px;overflow:auto}.site-menu-navigation{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:2px 0 16px;border-bottom:1px solid var(--line)}.site-menu-navigation a{min-height:44px;display:flex;align-items:center;font-size:14px}.site-menu-information a:hover,.site-menu-navigation a:hover{text-decoration:underline;text-underline-offset:4px}.appearance-field{border:0;padding:0;margin:24px 0 0;min-width:0}.appearance-field legend{font-size:13px;font-weight:550;margin-bottom:12px;padding:0}.appearance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.appearance-options--two{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-options button{position:relative;min-height:77px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:var(--paper);border:1px solid transparent;border-radius:12px;color:var(--muted);font-size:14px;padding:12px 4px}.appearance-options button[aria-pressed=true]{color:var(--ink);border-color:var(--ink);background:var(--control)}.appearance-options .appearance-check{position:absolute;top:7px;right:7px}.scene-preferences{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.setting-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;font-size:13px}.setting-switch small{display:block;color:var(--muted);font-size:13px;line-height:1.55;margin-top:4px}.setting-switch input{appearance:none;width:40px;height:24px;border:1px solid var(--line);border-radius:99px;background:var(--control);position:relative;cursor:pointer;flex-shrink:0;margin:10px 0}.setting-switch input:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;top:2px;left:2px;background:var(--muted)}.setting-switch input:checked{background:var(--ink);border-color:var(--ink)}.setting-switch input:checked:after{background:var(--surface);left:18px}.setting-switch input:disabled{opacity:.5;cursor:default}.room-setting{display:grid;gap:8px;margin:10px 0 0;font-size:13px}.room-setting>span{display:flex;gap:8px;align-items:center}.room-setting select{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.location-setting{margin:22px 0}.location-setting small{color:var(--muted);font-size:14px;line-height:1.5}.location-picker legend{display:flex;align-items:center;gap:8px}.location-picker .location-search{display:block;margin:10px 0 6px;font-size:13px}.location-picker input,.location-picker select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:14px}.location-picker input:focus-visible,.location-picker select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.location-picker .location-result{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.settings-note{color:var(--muted);font-size:13px;line-height:1.6;margin-top:18px}.site-menu-information{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:8px}.site-menu-information a{display:flex;align-items:center;min-height:44px}html .store-shell{--store-paper:var(--paper);--store-ink:var(--ink);--store-muted:var(--muted);--store-line:var(--line)}html .store-header{min-height:80px;gap:20px}html .store-header>nav{margin-left:auto;gap:20px}html .store-header .store-hall-link{border-radius:8px;border-color:var(--line)}html .store-button{border-radius:10px}html .store-button:not(.store-button--outline):not(.store-button--light){background:var(--ink);color:var(--surface);border-color:var(--ink)}html .store-button--light{background:#fff;color:#1d1d1f}html .store-button--outline{color:var(--ink);border-color:var(--line)}html .store-button--outline:hover{background:var(--control)}html .store-footer{gap:20px;align-items:flex-start}html .store-footer>p{max-width:40ch}html .store-footer .legal-links{justify-content:flex-end}html .store-footer .legal-links a{margin:0;font-size:13px}html .catalog-search input,html .catalog-search select,html .field input,html .field select,html .field textarea,html .search-input,html .workspace-page input,html .workspace-page select,html .workspace-page textarea{background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:8px}html .book-detail-cover,html .catalog-cover,html .public-reader-image,html .reader-stage{background:var(--enamel)}html .brief-recovery,html .import-control,html .library-empty,html .project-sidebar li a[aria-current],html .store-notice{background:var(--enamel);color:var(--ink)}html .brief-save-success,html .store-text-link,html .workspace-account,html .workspace-account summary,html .workspace-status{color:var(--ink)}html .brief-recovery,html .recovery-panel{background:var(--enamel);color:var(--ink);border-color:var(--line)}html .room-map a,html .search-result{border-color:var(--line)}html .room-map a:hover,html .search-result:hover{background:var(--control)}@media (max-width:1100px){.library-shell.library-shell{padding-left:24px;padding-right:24px;grid-template-rows:72px minmax(0,1fr) auto}.library-shell .library-main{grid-template-columns:minmax(260px,31%) minmax(0,1fr);gap:20px}.library-shell .book-head{grid-template-columns:72px minmax(0,1fr);gap:14px}.library-shell .cover-button{width:72px}.library-shell .library-copy h1{font-size:29px}.library-shell .copy-top{flex-direction:column;align-items:flex-start;gap:5px}.legal-links{gap:2px 14px}.library-shell .library-footer .legal-links{margin-left:0}}@media (max-width:800px){.library-shell.library-shell{height:auto;min-height:100svh;overflow:visible;grid-template-rows:auto 1fr auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.library-shell .library-header{flex-wrap:nowrap;min-height:68px;gap:12px}.library-shell .brand{font-size:19px}.library-shell .hall-store-navigation{display:none}.library-shell .header-actions{margin-left:auto;gap:2px}.library-shell .library-main{display:flex;flex-direction:column;gap:0;padding-bottom:18px}.library-shell .scene-frame{order:0;width:100%;height:clamp(350px,58svh,540px);min-height:350px;border-radius:16px}.library-shell .library-copy{order:1;padding:28px 4px 12px;overflow:visible}.library-shell .copy-top{flex-direction:row;align-items:center;margin-bottom:16px;font-size:11px}.library-shell .book-head{grid-template-columns:72px minmax(0,1fr);gap:20px}.library-shell .book-heading h1{font-size:30px;max-width:none;white-space:normal}.library-shell .book-edition{margin-top:10px;font-size:11px}.library-shell .book-benefits{margin-top:22px;gap:6px;font-size:13px}.library-shell .hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:22px}.library-shell .hero-note{font-size:11px}.library-shell .library-footer{padding:0 4px 12px;gap:0;align-items:flex-start}.library-shell .weather-trigger{flex-basis:100%}.library-shell .scene-topline{left:12px;right:12px;top:12px}.library-shell .scene-topline>span{max-width:42%;font-size:10px;padding:8px 9px}.library-shell .scene-control{font-size:11px;padding:10px;gap:6px}.library-shell .scene-bottomline{left:12px;right:12px;bottom:12px;gap:8px}.library-shell .scene-status{font-size:10px}.library-shell .librarian-trigger{font-size:12px;padding:10px}.library-shell .legal-links{margin-left:0;gap:0 16px;font-size:10px}.walk-panel{left:12px;bottom:72px;width:calc(100% - 24px);max-width:calc(100% - 24px);padding:8px}.walk-panel--collapsed{width:fit-content}.walk-desktop-hint{display:none}.walk-mobile-hint{display:inline}.walk-destinations{gap:8px}.walk-destinations button{font-size:11px;padding:10px 12px}.site-menu-trigger{font-size:12px;padding:10px}html .store-header{display:flex;flex-wrap:wrap;min-height:68px;padding:12px 0}html .store-header>nav{display:none}html .store-header>.site-menu-trigger{margin-left:auto}html .store-footer .legal-links{justify-content:flex-start}html .modal{border-radius:18px}.site-menu.site-menu{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.site-menu .modal-header{padding:20px 20px 14px}.site-menu-body{padding:0 20px 12px}}@media (max-width:360px){.library-shell .brand{font-size:17px;gap:6px}.site-menu-trigger{gap:5px;padding:8px}.library-shell .header-actions .icon-button{width:40px}.library-shell .scene-topline>span{display:none}.library-shell .scene-tools{margin-left:auto}.appearance-options{gap:6px}.appearance-options button{font-size:11px}}@media (prefers-reduced-motion:reduce){.librarian-dialog *,.modal,.scene-fallback,.site-menu *{animation:none!important;transition:none!important}}html .challenge-choice,html .reader-arrow,html .reader-completion,html .reader-tools,html .sample-section blockquote{background:var(--enamel);color:var(--ink);border-color:var(--line)}html .field input::placeholder,html .field textarea::placeholder,html .search-input input::placeholder{color:var(--muted)}html .challenge-choice--selected,html .challenge-choice:hover{background:var(--control);border-color:var(--muted)}html .approved-message,html .challenge-answer,html .challenge-answer--correct,html .demo-notice{color:var(--muted)}html[data-ui-theme=dark] .field-error{color:#ffb3a6}html .room-map a>svg:first-child,html .search-input svg,html .search-result>svg:first-child{color:var(--muted)}.library-presence{position:absolute;z-index:4;top:66px;left:16px;max-width:min(370px,calc(100% - 32px));padding:8px 11px;border:1px solid var(--line,#c7bca2);border-radius:6px;background:var(--surface,#eee8da);color:var(--ink,#302a21);font-size:14px;line-height:1.45}.presence-status{margin:0}.presence-details summary{cursor:pointer;margin-top:4px}.presence-details ul{max-height:170px;overflow-y:auto;padding-left:18px;margin:7px 0}.presence-details p{max-width:280px}.presence-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px}.presence-actions a,.presence-actions button,.presence-details button{color:inherit;text-decoration:underline;background:transparent;border:0;padding:4px 0;font:inherit;cursor:pointer}.presence-actions a:focus-visible,.presence-actions button:focus-visible,.presence-details button:focus-visible,.presence-details summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.npc-conversation{position:absolute;z-index:3;bottom:72px;left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 28px));padding:10px 14px;border:1px solid #b8a580;border-radius:6px;background:#eee7d7f2;color:#312b22;pointer-events:none;font-size:13px;line-height:1.45}.npc-conversation strong{display:block;font-size:13px;font-weight:600;color:#675338}.npc-conversation p{margin:4px 0 0}.walk-destinations{flex-wrap:wrap}.scene-frame[data-walk-panel=expanded] .npc-conversation{bottom:calc(94px + min(42%, 260px))}.scene-frame[data-walk-panel=collapsed] .npc-conversation{bottom:154px}.scene-frame[data-capture] .library-presence,.scene-frame[data-capture] .npc-conversation{display:none}@media (max-width:720px){.library-presence{top:58px;left:12px;max-width:calc(100% - 24px);font-size:13px}.npc-conversation{bottom:69px;font-size:14px;padding:8px 11px}.scene-frame[data-walk-panel=expanded] .npc-conversation{bottom:calc(84px + min(42%, 260px))}.scene-frame[data-walk-panel=collapsed] .npc-conversation{bottom:144px}}html.library-immersive .library-shell .scene-frame{position:fixed;inset:0;z-index:50;width:100%;height:100dvh;min-height:0;border-radius:0;margin:0}html.library-immersive .library-copy,html.library-immersive .library-footer,html.library-immersive .library-header{visibility:hidden}html.library-immersive .library-shell .scene-topline{top:max(16px,env(safe-area-inset-top))}html.library-immersive .library-shell .scene-bottomline{bottom:max(16px,env(safe-area-inset-bottom))}html.library-immersive .walk-panel{bottom:calc(82px + env(safe-area-inset-bottom))}html .library-book-modal{width:min(840px,calc(100vw - 32px));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.library-book-body{padding:20px 24px 28px;line-height:1.65}.library-book-body h2{font-size:23px;line-height:1.35;margin:22px 0 12px}.library-book-body h3{font-size:19px;line-height:1.4;margin:24px 0 10px}.library-book-body p{margin:10px 0}.library-book-body ol,.library-book-body ul{padding-left:24px}.library-book-body li{margin-block:6px}.book-overlay-navigation{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.book-overlay-action{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--ink) 8%,var(--surface));color:var(--ink)}.book-overlay-primary{background:#174c45;color:white;margin-top:14px}.library-book-intro{display:grid;grid-template-columns:150px 1fr;gap:24px}.library-book-intro img{width:150px;height:auto;border-radius:6px;align-self:start}.library-book-contents summary,.library-sample summary{cursor:pointer;min-height:44px;padding-block:10px}.library-book-list{display:grid;gap:8px;margin-top:16px}.library-book-list button{display:flex;gap:14px;align-items:center;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.library-book-list button:hover{background:color-mix(in srgb,var(--ink) 8%,var(--surface))}.library-book-list button span{flex:1 1}.library-book-list button small,.library-book-list button strong{display:block}.library-book-list button small{margin-top:4px;color:var(--muted)}.library-book-list img{width:48px;height:67px;object-fit:cover}.library-sample{font-size:17px;max-width:70ch;margin-inline:auto;overflow-wrap:anywhere}.library-sample-label{font-size:14px;color:var(--muted)}.library-sample-outcome{font-weight:550}.library-sample pre{overflow-x:auto;padding:16px;background:#172b24;color:#e5e8dd;border-radius:10px;font-size:13px;white-space:pre}.library-sample details{border-bottom:1px solid var(--line)}.library-sample a{text-decoration:underline;text-underline-offset:3px}.walk-inputs{display:grid;grid-template-columns:repeat(3,44px);gap:6px;margin-top:8px}.walk-input{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:8px;background:#e9e9ed;color:#222225;touch-action:none;-webkit-user-select:none;user-select:none}.walk-input[aria-pressed=true]{background:#174c45;color:white}.library-book-body button:focus-visible,.walk-panel button:focus-visible{outline:3px solid #4b927f;outline-offset:2px}@media (max-width:540px){.library-book-body{padding:16px}.library-book-intro{grid-template-columns:80px 1fr;gap:16px}.library-book-intro img{width:80px}.library-book-modal .modal-header{padding:16px}.library-book-modal .modal-title{font-size:21px}.library-sample{font-size:16px}}@media (max-width:360px){.walk-toolbar{gap:5px}.walk-toolbar .walk-collapse{padding-inline:8px}}.walk-controls-grid{display:grid;grid-template-columns:144px minmax(0,1fr);gap:12px;align-items:start}.walk-status{flex-shrink:0;padding-inline:6px}.walk-destination-select{display:none}@media (max-width:540px){.walk-controls-grid .walk-destinations{display:none}.walk-destination-select{display:flex;flex-direction:column;gap:8px;margin-top:8px;font-size:13px}.walk-destination-select select{min-height:44px;max-width:100%;width:100%;border-radius:8px;background:#e9e9ed;color:#222225;font-size:14px;padding:8px}}