:root{--ink:#20352d;--pine:#173b32;--gold:#e9bc73;--paper:#f5ead3;--muted:#a8b8a9;--line:#cdbb95;--dark:#112722;--white:#f7f2df;font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif;color:var(--white);background:#142823;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 25% 15%,#294338 0,transparent 60%),#142823}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #dfab50;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}button{touch-action:manipulation}button:active{transform:translateY(1px)}.hidden{display:none!important}.app-shell{max-width:1536px;margin:auto;padding:0 42px}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #60735c44}.brand{text-decoration:none;display:flex;align-items:center;gap:14px;color:var(--white);font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:24px;letter-spacing:3px;font-weight:700}.brand small{display:block;font:12px/1.5 "Microsoft YaHei",sans-serif;letter-spacing:3px;color:#b9c2ad;margin-top:5px}.brand-icon{color:var(--gold);font-size:39px;line-height:1;display:block;font-family:serif}.header-actions{display:flex;gap:12px;align-items:center}.edition-label{font-size:13px;letter-spacing:1px;color:#b0bda9;margin-right:20px}.edition-label span{margin:0 9px;color:#697d67}.icon-button{position:relative;width:38px;height:38px;border:1px solid #73816a65;border-radius:7px;background:#254035;color:#e6dcc2;font-family:serif;font-size:22px}.sound-slash{font-size:17px;position:absolute;left:12px;top:10px;color:#d3bd94}.mobile-notebook{display:none}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:27px;margin-top:30px;align-items:start}.play-column{min-width:0}.scene-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:1px;margin:0 3px 14px;color:#e4ddc7}.scene-heading>span:first-child{display:flex;gap:9px;align-items:center}.scene-heading i{width:6px;height:6px;background:#d9b56f;transform:rotate(45deg)}#scene-status{font-size:12px;color:#adbaa3}.game-frame{position:relative;aspect-ratio:3/2;width:100%;background:#2a3426;border:3px solid #856943;box-shadow:0 0 0 3px #0d201c,0 0 0 4px #b59b5f3d,0 16px 32px #08180f66;overflow:hidden;border-radius:3px}#phaser-container{position:absolute;inset:0;touch-action:none}#phaser-container canvas{display:block;width:100%!important;height:100%!important;image-rendering:pixelated}#world-labels{position:absolute;inset:0;pointer-events:none}.world-label{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;border:1px solid #f3dca790;background:#1f3226e8;color:#fff4d6;padding:5px 9px;box-shadow:0 2px 0 #0c1c19;white-space:nowrap;border-radius:4px;font-size:clamp(10px,1.1vw,13px);line-height:1.3}.world-label:active{transform:translate(-50%,-100%)}.world-label .marker{display:inline-block;width:6px;height:6px;margin-right:6px;background:#e2bc68;vertical-align:middle;transform:rotate(45deg)}.world-label.active{background:#f0dba8;color:#273b2e;border-color:#fff5da}.world-label.completed .marker{background:#96be9a}.world-label.shelf-label{background:#674a2de6;border-color:#ceb18199}.world-label.terminal-label{background:#243f3ce8}.loading{position:absolute;inset:0;background:#1b3029;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:40;font-size:16px;gap:6px}.loading-book{color:#e7c991;font-size:50px;animation:breathe 1s ease-in-out infinite}.loading p{margin:0}#load-percent{font-size:14px;color:#a0b096}.intro{position:absolute;inset:0;z-index:30;display:flex;justify-content:center;align-items:center;background:#15261c8f;backdrop-filter:blur(2px)}.intro-inner{text-align:center;padding:24px 28px;max-width:540px;color:#fff1d3;text-shadow:0 2px 8px #0d201d}.eyebrow{font-size:12px;letter-spacing:2px}.intro .eyebrow{color:#e3cba3}.intro h1{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:clamp(36px,4.5vw,66px);letter-spacing:12px;line-height:1.15;margin:18px 0 13px;font-weight:600}.intro-rule{display:flex;gap:15px;justify-content:center;align-items:center}.intro-rule b{font-size:16px;letter-spacing:4px;font-weight:400}.intro-rule span{width:45px;height:1px;background:#dcc494}.intro p{font-size:15px;line-height:1.9;margin:23px 0 12px}.intro blockquote{margin:0 0 24px;font-family:"Songti SC","SimSun",serif;font-size:17px;color:#f1d69d}.primary-button{border:1px solid #eddbab;background:#e6c48a;color:#233729;padding:13px 24px;font-size:16px;min-height:48px;border-radius:3px;box-shadow:inset 0 -3px #ad87544d,0 3px 0 #182c2090;font-weight:700;text-shadow:none}.primary-button:hover{background:#f1d6a0}.primary-button span{margin-left:25px}.intro .primary-button{min-width:220px}.quiet-button{border:0;background:transparent;color:inherit;font-size:14px;display:block;margin:9px auto 0;text-decoration:underline;text-underline-offset:4px}.intro-meta{font-size:12px;color:#d2c9b0;margin-top:19px;letter-spacing:1px}.intro-meta span{padding:0 8px}.play-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0 0;color:#a8b8a7;font-size:12px}.play-footer p{display:flex;align-items:center;gap:4px;margin:0;flex-wrap:wrap}.play-footer p>span{margin:0 7px}kbd{font-family:inherit;display:inline-grid;place-items:center;min-width:20px;height:23px;border:1px solid #8f9c796b;border-bottom-width:2px;border-radius:3px;font-size:11px;color:#d5d8c2;background:#203b30}.text-button{white-space:nowrap;color:#d5c08e;font-size:13px;background:transparent;border:0;padding:6px}.text-button:hover{text-decoration:underline}.notebook{position:relative;background:var(--paper);color:var(--ink);padding:22px 22px 17px;box-shadow:0 7px 0 -3px #bca680,0 12px 24px #09181044;border-radius:3px;margin-top:32px;min-height:552px;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,#d1bd9630 28px)}.notebook-top{display:flex;justify-content:space-between;align-items:center;color:#8e7955}.notebook-top .eyebrow{font-size:11px;letter-spacing:2px}.paper-clip{font-family:serif;font-size:23px;line-height:1;color:#937b4a}.notebook h2{font-family:"Songti SC","SimSun",serif;font-size:20px;letter-spacing:1px;margin:14px 0 18px}.request-title{font-size:18px;font-weight:700;margin:0 0 17px;color:#334c3b}.request-fields{font-size:14px;margin:0}.request-fields>div{display:flex;justify-content:space-between;gap:10px;margin:13px 0;align-items:baseline}.request-fields dt{color:#7a775e;flex-shrink:0}.request-fields dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}.request-fields dd.unknown{font-weight:400;color:#a08e6b;font-size:13px;letter-spacing:1px}.request-fields dd.revealed{animation:reveal .7s ease}.notebook-divider{margin:22px 0;border-bottom:1px dashed #b59c6e}.notebook h3{font-size:14px;letter-spacing:1px;font-weight:700;margin:0 0 18px}.quest-list{list-style:none;padding:0;margin:0}.quest-list li{display:flex;gap:10px;margin:0 0 18px;color:#959281}.step-number{width:23px;height:23px;display:grid;place-items:center;border:1px solid #adab91;border-radius:50%;font-family:Georgia,serif;font-size:13px;flex-shrink:0}.quest-list strong{font-size:14px;font-weight:500}.quest-list p{margin:6px 0 0;font-size:12px;line-height:1.5}.quest-list li.current{color:#254837}.quest-list li.current .step-number{background:#355b43;color:#fff2ce;border-color:#355b43}.quest-list li.done{color:#55744c}.quest-list li.done .step-number{font-size:0;background:#d9e0c4;border-color:#7c9a6d}.quest-list li.done .step-number:after{content:'✓';font-size:14px}.inventory{display:flex;align-items:center;gap:12px;border-top:1px solid #d4c6a5;padding-top:17px;margin-top:8px}.inventory-icon{font-size:24px;width:40px;height:42px;background:#e5d8b9;display:grid;place-items:center;color:#7a6946;border:1px solid #c9b38b}.inventory small{font-size:11px;color:#8c795e}.inventory p{font-size:13px;margin:5px 0 0}.paper-note{font-family:"Songti SC","SimSun",serif;color:#8e795a;font-size:12px;line-height:1.8;margin:18px 0 0}.site-footer{display:flex;justify-content:space-between;margin:29px 0 22px;color:#82987e;font-size:12px;letter-spacing:1px}.near-prompt{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;background:#192b25ed;color:#f9e6b9;padding:8px 13px;border:1px solid #d0b2798c;border-radius:4px;white-space:nowrap;font-size:14px;pointer-events:none}.near-prompt kbd{background:#ebd2a1;color:#283d2b;border-color:#aa8955}.toast{position:absolute;top:18px;left:50%;transform:translateX(-50%);background:#f7ebd2f5;color:#2d4934;box-shadow:0 3px 12px #182b2466;max-width:90%;padding:12px 18px;z-index:55;text-align:center;border:1px solid #d1bb8d;border-radius:4px;font-size:14px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:#091b16b3;backdrop-filter:blur(4px);z-index:100;display:flex;justify-content:center;align-items:center;padding:22px}.modal{position:relative;background:#f6edda;color:var(--ink);width:min(630px,100%);max-height:calc(100dvh - 44px);overflow:auto;border:3px solid #b7a078;border-radius:5px;box-shadow:0 0 0 4px #263f2d,0 24px 90px #0006;padding:30px 32px;scrollbar-color:#b6a079 #eee1c8}.modal.wide{width:min(900px,100%)}.modal.letter-modal{width:min(620px,100%);background:#f4ead1;background-image:repeating-linear-gradient(0deg,transparent,transparent 30px,#d6c19b22 31px)}.modal-close{position:absolute;right:10px;top:8px;width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:#817051;font-size:28px;z-index:2}.modal .eyebrow{color:#927b52;margin-bottom:8px}.modal h2{margin:0 0 20px;font-family:"Songti SC","SimSun",serif;font-size:26px;letter-spacing:1px;padding-right:23px}.modal p{font-size:16px;line-height:1.9}.modal .subtle{color:#82745a;font-size:14px;line-height:1.7}.modal .primary-button{border-color:#be9e6d;margin-top:10px}.modal .secondary-button{border:1px solid #b9a582;color:#425541;background:#efe2c6;border-radius:3px;min-height:44px;padding:10px 17px;font-size:15px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:20px}.speaker{display:flex;align-items:center;gap:16px;margin-bottom:16px}.speaker img{width:58px;height:72px;object-fit:contain;image-rendering:pixelated;background:#e7d9b9;border-radius:4px;padding:5px}.speaker h2{margin:4px 0;font-size:23px}.speaker .eyebrow{margin:0}.dialogue-text{min-height:100px;font-size:17px!important;line-height:2!important}.dialogue-pages{font-family:Georgia,serif;color:#948161;font-size:14px}.clue-chip{padding:12px 15px;background:#e4e8cf;border-left:3px solid #61815b;font-size:15px;line-height:1.7}.search-form{display:flex;gap:9px;align-items:stretch;margin:17px 0}.search-form input,.search-form select,.nickname-form input{border:1px solid #bdac88;border-radius:3px;background:#fffbf0;color:#273d2e;min-width:0;font-size:16px;padding:12px}.search-form input{flex:1}.search-form select{width:110px}.search-form button{margin:0!important;min-height:46px;padding:10px 18px}.quick-search{background:none;border:0;padding:4px 0;color:#3d6b53;font-size:14px;text-decoration:underline;text-underline-offset:3px}.results-summary{font-size:14px;color:#7b715b;margin:18px 0 12px}.book-results{display:grid;gap:10px}.book-result{border:1px solid #cbbd9c;background:#fffaf0;padding:15px 17px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;text-align:left;width:100%;color:var(--ink);border-radius:3px}.book-result:hover{border-color:#638267;background:#f7f9e8}.book-result h3{font-size:17px;margin:0 0 8px}.book-result p{font-size:14px;color:#7a745e;margin:0;line-height:1.6}.book-result>span{color:#47724f;font-size:14px}.book-result .unavailable{color:#9e6f55}.book-detail{display:grid;grid-template-columns:90px 1fr;gap:24px;margin:20px 0}.book-cover{height:127px;background:#315950;color:#edd69c;border:3px solid #203e34;border-left:9px solid #254637;box-shadow:4px 3px 0 #d4c2a0;display:flex;flex-direction:column;justify-content:space-between;text-align:center;padding:15px 7px;font-size:16px;font-family:"Songti SC","SimSun",serif;line-height:1.6}.book-cover small{font:11px sans-serif}.book-detail dl{margin:0;font-size:15px}.book-detail dl div{display:flex;gap:18px;margin:0 0 10px}.book-detail dt{width:65px;flex-shrink:0;color:#8a795d}.book-detail dd{margin:0}.holdings{width:100%;border-collapse:collapse;font-size:14px;margin:18px 0}.holdings th{text-align:left;background:#e5dac0;color:#766442;padding:11px 10px;font-weight:500}.holdings td{padding:14px 10px;border-bottom:1px solid #d5c7a7;line-height:1.6}.call-number{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:16px;font-weight:700;white-space:nowrap}.catalog-note{font-size:14px!important;background:#e9e9d4;border-left:3px solid #809365;padding:13px 15px;line-height:1.7!important}.shelf-range{font-size:17px;border:1px solid #c6b18a;padding:12px 16px;background:#e6d5b1;line-height:1.7}.shelf-books{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:23px 0}.shelf-book{border:1px solid #b4a381;background:#fff9e9;border-radius:4px;padding:14px 10px;text-align:left;color:var(--ink);min-height:175px;display:flex;flex-direction:column;justify-content:space-between}.shelf-book:hover{background:#e9ecd9;border-color:#688668}.shelf-book .spine-number{font-family:Consolas,monospace;line-height:1.6;font-size:17px;color:#263d30;border-bottom:1px solid #cebea0;padding-bottom:9px;margin-bottom:10px}.shelf-book strong{font-size:15px;line-height:1.6}.shelf-book small{font-size:12px;color:#8c775a;margin-top:8px}.feedback{padding:12px 15px;background:#f1dfcb;border-left:3px solid #b18052;margin:15px 0;font-size:15px;line-height:1.7}.feedback.success{background:#e1e9d4;border-color:#6c8f5f}.letter-body{font-family:"Songti SC","SimSun",serif;font-size:18px;line-height:2.05}.letter-body p{font-size:18px;line-height:2.05}.letter-sign{text-align:right;color:#7a745c}.nickname-form{margin-top:25px;border-top:1px dashed #b9a17b;padding-top:20px}.nickname-form label{display:block;font-size:14px;margin:0 0 9px;color:#77634a}.nickname-form>div{display:flex;gap:10px}.nickname-form input{flex:1;width:100%}.nickname-form button{margin-top:0!important;white-space:nowrap}.ending-title{text-align:center}.ending-title .seal{font-size:13px;display:inline-block;border:2px solid #7a9264;color:#567245;padding:5px 12px;transform:rotate(-5deg);margin:12px 0 20px;letter-spacing:3px}.ending-title h2{font-size:30px;padding:0;margin:5px 0 15px}.skill-summary{list-style:none;padding:0;margin:25px 0;background:#e8e5cc;border:1px solid #c3c4a0}.skill-summary li{padding:13px 17px;line-height:1.7;font-size:15px;border-bottom:1px solid #d0cfb5}.skill-summary li:last-child{border-bottom:0}.skill-summary b{color:#466c46;margin-right:8px}.guide-list{padding-left:22px;line-height:1.9;font-size:16px}.guide-list li{margin-bottom:14px}.guide-list strong{color:#3a5c43}.touch-controls{display:none}@keyframes breathe{50%{opacity:.5;transform:translateY(-3px)}}@keyframes reveal{0%{background:#e7c88b}100%{background:transparent}}@media(min-width:1500px){.game-layout{grid-template-columns:minmax(0,1fr) 300px;gap:32px}.notebook{min-height:610px;padding:26px}.notebook h2{font-size:21px}.request-fields>div{margin:16px 0}.quest-list li{margin-bottom:22px}}@media(max-width:1150px){.app-shell{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 255px;gap:20px}.notebook{padding:19px 17px;min-height:520px}.intro p{margin-top:16px;font-size:14px}.intro blockquote{font-size:15px;margin-bottom:18px}.intro-inner{padding:18px}.intro h1{margin:13px 0 10px}.intro .eyebrow{font-size:11px}.intro-meta{margin-top:13px}.click-tip{display:none}.topbar{height:84px}.game-layout{margin-top:24px}.play-footer p>span{margin:0 3px}.request-title{font-size:17px}}@media(max-width:900px){.app-shell{padding:0 18px}.topbar{height:76px}.game-layout{display:block;margin-top:20px}.notebook{display:none}.notebook.mobile-open{display:block;position:fixed;right:15px;top:58px;width:min(320px,calc(100vw - 30px));z-index:70;max-height:calc(100dvh - 90px);overflow:auto;box-shadow:0 15px 40px #061e14c9;margin:0}.mobile-notebook{display:block}.brand{font-size:22px}.brand small{font-size:10px}.edition-label{font-size:11px;margin-right:8px}.intro-inner{padding:28px}.intro h1{font-size:52px}.intro p{font-size:16px;margin-top:24px}.intro blockquote{font-size:17px;margin-bottom:24px}.intro .eyebrow{font-size:12px}.intro-meta{margin-top:18px}.world-label{font-size:12px}.click-tip{display:initial}.site-footer{margin:20px 0;font-size:11px}.touch-controls{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:20px}.direction-pad{display:grid;grid-template-columns:42px 42px 42px;grid-template-rows:37px 37px 37px;gap:3px}.direction-pad button{border:1px solid #8d977368;border-bottom:3px solid #0e201a;background:#314c3c;color:#dac99f;border-radius:5px;font-size:15px;touch-action:none;user-select:none;-webkit-user-select:none}.direction-pad button[data-dir=up]{grid-area:1/2}.direction-pad button[data-dir=left]{grid-area:2/1}.direction-pad button[data-dir=right]{grid-area:2/3}.direction-pad button[data-dir=down]{grid-area:3/2}.direction-pad span{grid-area:2/2;background:#304a3c;border:1px solid #72826244;border-radius:5px}.touch-interact{border:1px solid #c4a879;border-bottom:4px solid #644d2e;background:#d2b47a;color:#203b2a;width:76px;height:76px;border-radius:50%;font-weight:700;font-size:16px}.touch-interact span{display:block;font-size:11px;opacity:.6;margin-top:5px}#touch-objective{color:#b5c3ad;font-size:13px;line-height:1.8;max-width:180px;text-align:center}.play-footer{font-size:11px}.world-label{padding:4px 7px}.near-prompt{font-size:13px}}@media(max-width:600px){.app-shell{padding:0 10px}.topbar{height:67px;gap:10px}.brand{font-size:20px;gap:8px;letter-spacing:2px}.brand-icon{font-size:32px}.brand small{font-size:9px;letter-spacing:2px}.edition-label{display:none}.header-actions{gap:7px}.icon-button{height:34px;width:34px;font-size:20px}.game-layout{margin-top:17px}.scene-heading{font-size:12px;margin-bottom:11px}#scene-status{font-size:11px}.game-frame{aspect-ratio:3/2}.intro-inner{padding:12px 10px}.intro h1{font-size:33px;letter-spacing:7px;margin:10px 0 6px}.intro .eyebrow{font-size:9px;letter-spacing:1px}.intro-rule b{font-size:12px;letter-spacing:3px}.intro-rule span{width:26px}.intro p{font-size:12px;line-height:1.65;margin:11px 0 7px}.intro blockquote{font-size:12px;margin:0 0 11px}.intro .primary-button{font-size:14px;min-width:185px;min-height:38px;padding:8px 15px}.intro-meta{font-size:9px;margin-top:9px}.quiet-button{font-size:12px;margin-top:7px}.world-label{font-size:9px;padding:3px 4px;border-radius:3px}.world-label .marker{width:4px;height:4px;margin-right:4px}.play-footer{margin-top:12px}.play-footer p{display:none}.play-footer:before{content:'点击人物或物件，也能自动走近';font-size:11px;color:#a3b69f}.play-footer .text-button{font-size:12px}.touch-controls{margin-top:13px;gap:10px}.site-footer{font-size:10px;letter-spacing:0;margin:16px 0}.modal-backdrop{padding:12px}.modal{padding:26px 18px;max-height:calc(100dvh - 24px);border-width:2px}.modal h2{font-size:23px}.modal p{font-size:15px}.dialogue-text{font-size:16px!important}.search-form{flex-wrap:wrap;gap:7px}.search-form select{width:95px;padding:10px 8px;font-size:14px}.search-form input{width:calc(100% - 103px);font-size:16px;padding:10px}.search-form .primary-button{width:100%;min-height:42px}.holdings th,.holdings td{font-size:12px;padding:9px 6px}.holdings .call-number{font-size:13px}.book-result h3{font-size:16px}.book-result{padding:13px 12px}.book-result>span{font-size:12px}.book-detail{grid-template-columns:74px 1fr;gap:14px}.book-cover{height:112px;font-size:14px;padding:10px 3px}.book-detail dl{font-size:14px}.book-detail dl div{gap:6px}.book-detail dt{width:58px}.shelf-books{gap:8px}.shelf-book{padding:11px 8px;min-height:165px}.shelf-book strong{font-size:13px}.shelf-book .spine-number{font-size:14px}.shelf-book small{font-size:11px}.nickname-form>div{flex-wrap:wrap}.nickname-form button{width:100%}.letter-body p{font-size:17px}.near-prompt{bottom:9px;font-size:11px;padding:5px 9px}.near-prompt kbd{min-width:15px;height:17px;font-size:9px}.toast{font-size:12px;padding:9px 12px;top:10px}.touch-interact{width:67px;height:67px}#touch-objective{font-size:12px}}@media(max-height:590px) and (orientation:landscape){.app-shell{padding:0 12px}.topbar{height:49px}.brand{font-size:18px}.brand small{display:none}.brand-icon{font-size:27px}.game-layout{margin-top:10px;max-width:calc((100dvh - 100px)*1.5);margin-left:auto;margin-right:auto}.scene-heading{margin-bottom:8px;font-size:11px}.game-frame{max-height:calc(100dvh - 100px)}.site-footer,.play-footer{display:none}.touch-controls{position:fixed;inset:auto 20px 17px;pointer-events:none;margin:0}.direction-pad,.touch-interact{pointer-events:auto}#touch-objective{display:none}.intro h1{font-size:34px}.intro-inner{padding:10px}.intro p{font-size:12px;line-height:1.65;margin:10px 0 7px}.intro blockquote{font-size:13px;margin-bottom:10px}.intro .eyebrow{font-size:10px}.intro-meta{font-size:10px;margin-top:9px}.intro .primary-button{padding:8px 18px;min-height:37px}.world-label{font-size:10px}.near-prompt{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
:root .world-label{font-size:14px}
@media(max-width:600px),(max-height:590px) and (orientation:landscape){
  .intro{position:fixed;inset:0;z-index:90;background:linear-gradient(#153125c7,#10251fed),url('./assets/library.webp') center/cover;backdrop-filter:none}
  .intro-inner{padding:28px 22px;max-width:480px}
  .intro .eyebrow{font-size:12px;letter-spacing:1px}
  .intro h1{font-size:48px;letter-spacing:8px;margin:20px 0 15px}
  .intro-rule b{font-size:16px;letter-spacing:3px}
  .intro-rule span{width:30px}
  .intro p{font-size:16px;line-height:1.9;margin:27px 0 17px}
  .intro blockquote{font-size:16px;line-height:1.9;margin:0 0 26px}
  .intro .primary-button{font-size:16px;min-height:48px;padding:13px 22px}
  .intro .quiet-button{font-size:14px;margin-top:15px;min-height:30px}
  .intro-meta{font-size:12px;margin-top:22px}
  .world-label{padding:5px 7px}
}
@media(max-height:590px) and (orientation:landscape){
  .intro-inner{display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:24px 65px 40px 48px 30px;gap:8px 28px;max-width:780px;width:100%;padding:20px 30px;align-items:center}
  .intro .eyebrow{grid-area:1/1;font-size:11px}
  .intro h1{grid-area:2/1;font-size:46px;margin:0}
  .intro-rule{grid-area:3/1;gap:10px}
  .intro-rule b{font-size:14px}
  .intro p{grid-area:1/2/3/3;margin:0;font-size:14px;line-height:1.8}
  .intro blockquote{grid-area:3/2;margin:0;font-size:14px;line-height:1.7}
  .intro .primary-button{grid-area:4/2;margin:0;min-width:0;width:100%}
  .intro .quiet-button{grid-area:5/2;margin:0;min-height:26px;font-size:13px}
  .intro-meta{grid-area:4/1;margin:0;font-size:11px;line-height:1.8}
}

@media(max-width:600px){.holdings th,.holdings td{font-size:14px}.holdings .call-number{font-size:14px}}

.world-label.terminal-label.active,.world-label.shelf-label.active{background:#f0dba8;color:#20372a;border-color:#fff5da}
@media(max-width:600px){.world-label[data-point="librarian"]{margin-left:-20px}}

/* Demo 02: music controls, credits and short story pages. */
.developer-credit{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 0;color:#b8c9ae;font-size:12px;line-height:1.7;letter-spacing:.4px}
.developer-credit strong{font-weight:500;color:#e8d5a9}
.developer-credit>span{color:#80936f}
.developer-credit+.game-layout{margin-top:16px}
.music-button{border:1px solid #82956b88;border-radius:4px;background:#344e3e;color:#f0dcae;min-height:38px;min-width:104px;padding:7px 10px;font-size:13px;white-space:nowrap}
.music-button:hover{background:#45634a;border-color:#bcce98}
.music-button[aria-pressed=true]{background:#c8ad76;border-color:#e5ce98;color:#20362b}
.intro-rule b{letter-spacing:2px}
#intro-caption{font-size:11px;letter-spacing:1.5px}
#intro-quote{font-size:15px;line-height:1.8}
.time-echo{border-top:1px dashed #c5af89;padding-top:15px;color:#657753;font-size:15px!important;line-height:1.9!important;text-align:center}
@media(max-width:600px){
  .developer-credit{font-size:11px;margin-top:9px;gap:6px;letter-spacing:0}
  .developer-credit+.game-layout{margin-top:12px}
  .music-button{min-width:82px;min-height:34px;padding:5px 6px;font-size:12px}
  .header-actions{gap:6px}
  #intro-story{font-size:15px;line-height:2}
  #intro-quote{font-size:14px;line-height:1.9}
  #intro-caption{font-size:11px;letter-spacing:1px}
  .intro .primary-button{min-width:220px}
}
@media(max-width:370px){.brand-icon{display:none}.brand{font-size:18px;letter-spacing:1px}.topbar{gap:6px}.music-button{min-width:78px;font-size:11px}}
@media(max-height:590px) and (orientation:landscape){
  .developer-credit{margin-top:4px;font-size:10px;line-height:1.4}
  .developer-credit+.game-layout{margin-top:8px;max-width:calc((100dvh - 122px)*1.5)}
  .game-frame{max-height:calc(100dvh - 122px)}
  .intro-inner{grid-template-rows:24px 62px 52px 48px 30px}
  #intro-story{font-size:13px;line-height:1.9}
  #intro-quote{font-size:13px;line-height:1.8}
  #intro-caption{font-size:10px;letter-spacing:.5px}
  .intro-rule b{font-size:13px;letter-spacing:1px}
}
