@font-face{font-family:Basement;src:url('/fonts/title.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--paper:#f6f5ed;--wash:#e8ebdf;--ink:#254137;--muted:#5a695b;--line:#c7cebd;--accent:#a3472d;--accent-hover:#853520;--light:#fffdf6;--olive:#d5ddbd;--serif:Basement,'Noto Serif TC','PMingLiU',serif;--sans:'Noto Sans TC','Microsoft JhengHei',-apple-system,BlinkMacSystemFont,sans-serif;--radius:12px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;accent-color:var(--accent)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{color:var(--light);background:var(--accent)}input,textarea{caret-color:var(--accent)}a{color:inherit;text-underline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.4}h1{font-weight:700;letter-spacing:-.025em}button{line-height:1.4}img{max-width:100%;display:block}body:has(dialog[open]){overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#8d9c82;border-radius:5px}::-webkit-scrollbar-track{background:var(--wash)}
.skip-link{position:absolute;z-index:40;top:-80px;left:12px;padding:10px;background:var(--light)}.skip-link:focus{top:12px}
.topbar{height:94px;max-width:1560px;margin:auto;padding:0 52px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:32px;justify-content:space-between}.brand{font-size:20px;letter-spacing:.08em;text-decoration:none;font-family:var(--serif);font-weight:700;white-space:nowrap}.brand span{margin-left:24px;padding-left:24px;border-left:1px solid var(--line);font:12px var(--sans);letter-spacing:.1em;color:var(--muted)}.header-caption{color:var(--muted);font-size:13px;letter-spacing:.07em}
.welcome{max-width:1560px;margin:auto;display:grid;grid-template-columns:370px minmax(0,1fr);gap:0 44px;padding:64px 52px 0}.welcome-copy{padding:10px 0 30px;position:relative;z-index:1}.room-label{font-size:12px;letter-spacing:.17em;color:var(--muted);margin-bottom:22px}.welcome h1{font-family:var(--serif);font-size:clamp(64px,6.4vw,92px);line-height:1.23;letter-spacing:.045em}.tagline{font-size:20px;line-height:1.65;margin-top:26px;font-weight:500;letter-spacing:.04em}.intro-text{color:var(--muted);font-size:14px;line-height:1.9;margin-top:20px;max-width:36ch;white-space:pre-line}.intro-facts{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0 21px;font-size:12px;color:var(--ink)}.intro-facts span+span{border-left:1px solid var(--line);padding-left:14px}.primary-button,.secondary-button,.quiet-button{border:0;padding:13px 22px;min-height:48px;border-radius:8px;font-weight:600;transition:background .2s,color .2s,transform .2s}.primary-button{background:var(--accent);color:#fff9ec}.primary-button:hover{background:var(--accent-hover)}.primary-button:active{transform:translateY(1px)}.secondary-button{background:var(--wash);color:var(--ink)}.secondary-button:hover{background:#dce2d0}.quiet-button{background:transparent;border:1px solid var(--line);font-weight:500;padding:9px 16px;min-height:42px}.quiet-button:hover{background:var(--wash)}.start-button{display:flex;justify-content:space-between;width:100%;max-width:305px;padding:17px 24px;font-size:16px}.start-button span{font-size:21px;font-weight:400}.resume-note{margin-top:12px;font-size:11px;color:var(--muted)}.text-button{border:0;background:transparent;color:var(--ink);padding:6px 0;text-decoration:underline;text-decoration-color:#b1baaa;text-underline-offset:5px;min-height:36px}.text-button:hover{text-decoration-color:var(--accent);color:var(--accent)}.welcome-copy>.text-button{font-size:12px;margin-top:8px}.welcome-art{align-self:center;background:#dce3ce;padding:26px 20px 0;border-radius:48% 48% 2px 2px;overflow:hidden;position:relative;margin-top:-35px}.welcome-art img{width:100%;border-radius:40% 40% 0 0;min-height:390px;object-fit:cover;object-position:center}.welcome-art figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 6px 22px;font-size:11px;color:#4f6251;letter-spacing:.06em}.welcome-art figcaption span:first-child{font-size:14px;font-weight:700}.welcome-rules{grid-column:1/-1;border-top:1px solid var(--line);display:grid;grid-template-columns:370px minmax(0,1fr);gap:44px;padding:38px 0 44px;margin-top:48px}.welcome-rules h2{font-family:var(--serif);font-size:27px}.welcome-rules>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.welcome-rules p{font-size:12px;color:var(--muted);line-height:1.9}.welcome-rules strong{display:block;color:var(--ink);font-size:13px;margin-bottom:6px}.site-footer,.game-footer{max-width:1560px;margin:auto;padding:22px 52px;border-top:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;font-size:12px;color:var(--muted)}
.game-meter{display:flex;align-items:center;gap:14px;margin-left:auto}.timer-label{font-size:11px;color:var(--muted)}#timer{font-size:30px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}#timer.expired{color:var(--accent)}.solve-count{padding-left:22px;border-left:1px solid var(--line);font-size:12px;color:var(--muted)}.solve-count b{color:var(--ink);font-size:15px;margin:0 2px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;max-width:1560px;padding:34px 52px 48px;margin:auto;align-items:start;min-height:calc(100dvh - 155px)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h1{font-size:25px;letter-spacing:.03em}.section-heading p{margin-top:8px;color:var(--muted);font-size:13px;max-width:68ch;line-height:1.8}.floor-label{font-size:11px;padding:6px 10px;border:1px solid var(--line);white-space:nowrap}.room-stage{position:relative;overflow:hidden;border-radius:var(--radius);background:#e1e5d5}.room-stage>img{width:100%;height:100%;object-fit:contain}.hotspot{position:absolute;background:transparent;border:1px solid transparent;border-radius:8px;min-height:36px;transition:background .2s,border .2s;display:flex;align-items:flex-end;justify-content:center;padding:0;isolation:isolate}.hotspot:hover,.hotspot:focus-visible{background:#fff8df33;border-color:#a3472da6;z-index:3}.hotspot span{position:relative;display:block;background:#fffdf2f5;border:1px solid #7e907055;border-radius:5px;padding:4px 11px;color:var(--ink);font-size:12px;white-space:nowrap;box-shadow:0 3px 9px #29423415;transform:translateY(6px);transition:background .2s}.hotspot:hover span{background:#fffdf6;border-color:var(--accent)}.hotspot small{display:none;font-size:10px;margin-top:1px;color:var(--muted)}.hotspot:focus-visible small,.hotspot:hover small{display:block}.hotspot.solved span{background:#dce6c9;border-color:#8fa076}.location-list{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.location-button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 15px;text-align:left;background:transparent;color:var(--ink);min-height:65px;transition:background .2s}.location-button span{display:block;font-size:13px;font-weight:600}.location-button small{font-size:10px;color:var(--muted);margin-top:6px;display:block}.location-button:hover{background:#e6e9dc}.location-button.solved small{color:#3f6040}.room-footnote{font-size:11px;color:var(--muted);margin-top:16px}.notebook{background:#efeee3;border-radius:var(--radius);position:sticky;top:20px;max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden}.notebook-heading{padding:22px 22px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.notebook-heading h2{font-family:var(--serif);font-size:21px}.notebook-heading>span{font-size:10px;color:var(--muted)}.notebook-tabs{display:flex;padding:0 16px;gap:5px;border-bottom:1px solid var(--line)}.notebook-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 5px 13px;flex:1;font-size:11px;color:var(--muted);white-space:nowrap}.notebook-tabs button.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}.notebook-content{padding:8px 22px 20px;min-height:275px;overflow:auto}.notebook-bottom{padding:15px 22px;border-top:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between;gap:10px;align-items:center}.notebook-bottom>span:last-child{font-variant-numeric:tabular-nums;font-size:10px;color:var(--muted)}.empty-notebook{padding:45px 0 32px}.empty-notebook h3{font-size:13px;margin:24px 0 9px}.empty-notebook p,.empty-copy{font-size:12px;line-height:1.9;color:var(--muted)}.empty-copy{padding-top:22px}.empty-lines{width:58px;height:42px;border-block:1px solid #a8b39c;position:relative;margin-bottom:30px}.empty-lines:before,.empty-lines:after{content:'';position:absolute;left:0;border-bottom:1px solid #a8b39c;height:1px;width:40px;top:13px}.empty-lines:after{top:26px;width:49px}.inventory-item{padding:16px 0;border-bottom:1px solid var(--line)}.inventory-item:last-child{border-bottom:0}.inventory-item summary{font-size:13px;font-weight:600;cursor:pointer;min-height:28px;padding:2px 0}.inventory-item p{font-size:12px;line-height:1.9;margin:12px 0 3px;color:#465749;overflow-wrap:anywhere}.inventory-item h4{font-size:12px;margin-top:16px}.inventory-item .text-button{font-size:12px}.notes-label{display:block;font-size:12px;margin:16px 0 10px;color:var(--muted)}#personal-notes{width:100%;min-height:280px;resize:vertical;border:1px solid var(--line);border-radius:6px;background:#faf9f0;color:var(--ink);padding:12px;font-size:14px;line-height:1.9}.notes-caption{font-size:10px;color:var(--muted);margin-top:8px}.back-button{background:none;border:0;border-bottom:1px solid var(--line);color:var(--muted);padding:4px 0 7px;font-size:12px;min-height:38px;margin-bottom:25px}.back-button:hover{color:var(--accent);border-color:var(--accent)}.detail-art{height:230px;overflow:hidden;border-radius:var(--radius);position:relative;background:var(--wash);margin-bottom:28px}.detail-art>svg{width:100%;height:100%;display:block}.detail-art>span{position:absolute;bottom:12px;left:15px;background:#fffdf3e8;border-radius:4px;padding:4px 10px;font-size:11px}.clue-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px}.clue-sheet{padding:22px 24px 30px;background:#edeedc;position:relative;border-radius:4px;overflow-wrap:anywhere}.clue-sheet:nth-child(2n){background:#f1e8d7}.clue-sheet:only-child{grid-column:1/-1}.clue-sheet h3{font-size:15px;font-weight:600;margin-bottom:14px}.clue-sheet p{font-size:14px;line-height:2;white-space:pre-wrap;max-width:70ch}.clue-mark{position:absolute;bottom:8px;right:14px;color:#566650;font-size:10px;font-variant-numeric:tabular-nums}.lock-section{padding:28px 0 24px;border-block:1px solid var(--line)}.lock-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:16px}.lock-heading h2{font-size:21px}.difficulty{font-size:11px;white-space:nowrap;border:1px solid var(--line);padding:3px 10px;border-radius:99px}.puzzle-prompt{color:#465a4b;font-size:14px;margin-bottom:24px;white-space:pre-wrap}.answer-row{display:flex;gap:12px}#answer-form label{display:block;font-size:12px;margin-bottom:9px;color:var(--muted)}#answer-input{min-width:0;flex:1;background:var(--light);border:1px solid #9eae92;padding:12px 16px;border-radius:8px;color:var(--ink);font-size:18px;letter-spacing:.08em;font-variant-numeric:tabular-nums}#answer-input::placeholder{color:#66755f;font-size:13px;letter-spacing:normal}.answer-feedback{font-size:12px;color:var(--muted);min-height:22px;margin-top:10px}.answer-feedback.error{color:#a13620}.hint-area{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:24px}.hint-area>.secondary-button{font-size:12px;min-height:42px;padding:10px 16px}.hint-credit{font-size:12px}.hint-timing{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.revealed-hints{margin-top:20px}.revealed-hints p{font-size:13px;line-height:1.9;padding:14px 0;border-top:1px dashed #aab59e;color:#43583f}.revealed-hints strong{display:block;font-size:11px;margin-bottom:3px}.locked-note{background:#e9ecdf;padding:20px;border-radius:8px}.locked-note strong{font-size:14px}.locked-note p{font-size:13px;margin-top:8px;color:var(--muted)}.solved-note>strong{display:inline-block;background:#d8e2c3;color:#34542e;padding:5px 10px;border-radius:5px;font-size:13px}.solved-note>p{margin:13px 0}.reward-copy{white-space:pre-wrap;font-size:14px;background:#eaeddc;border-radius:8px;padding:20px}.nearby{display:flex;align-items:center;gap:7px 20px;flex-wrap:wrap;margin-top:24px}.nearby>span{font-size:11px;color:var(--muted);width:100%}.nearby .text-button{font-size:12px}.expiry-banner,.storage-banner{padding:12px 52px;background:#f1dece;color:#853f29;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px}.hidden{display:none!important}.game-footer{align-items:center}.game-footer>.text-button{font-size:12px}
#toast{position:fixed;z-index:100;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(520px,calc(100vw - 32px));padding:15px 24px;border-radius:10px;background:#254137;color:#f8f7e9;font-size:13px;line-height:1.7;box-shadow:0 8px 28px #14291b22;transition:opacity .25s,transform .25s;width:max-content}#toast.visible{transform:translate(-50%,0);opacity:1}dialog{border:0;border-radius:var(--radius);max-width:490px;width:calc(100% - 36px);padding:0;color:var(--ink);background:var(--paper);box-shadow:0 20px 80px #102a2940}dialog::backdrop{background:#162f2666}.dialog-inner{padding:30px}.dialog-inner h2{font-size:24px;margin-bottom:18px}.dialog-inner>p{color:var(--muted);font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.dialog-actions button{font-size:13px}.rules-list{margin:0;padding-left:22px}.rules-list li{padding:6px 0;font-size:13px;color:var(--muted)}.menu-links{display:flex;flex-direction:column;margin-top:18px}.menu-links button{background:none;border:0;border-bottom:1px solid var(--line);padding:15px 0;text-align:left;color:var(--ink);font-size:14px}.menu-links button:hover{color:var(--accent)}.results{max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:64px;padding:70px 52px 90px;align-items:center;min-height:calc(100dvh - 163px)}.result-art .detail-art{height:500px;margin:0;border-radius:180px 180px 8px 8px}.result-art .detail-art span{display:none}.result-copy h1{font-size:38px;font-family:var(--serif);margin:22px 0;line-height:1.55}.result-copy>p{color:var(--muted);font-size:14px;line-height:2}.result-status{font-size:12px;background:#e1e7d2;padding:7px 13px;border-radius:5px}.result-stats{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;padding:24px 0;border-block:1px solid var(--line);margin:30px 0}.result-stats dt{font-size:11px;color:var(--muted);margin-bottom:8px}.result-stats dd{font-size:18px;font-variant-numeric:tabular-nums;margin:0}.result-actions{display:flex;gap:12px;flex-wrap:wrap}.result-copy>.muted{font-size:11px;margin-top:15px}.solutions{max-width:920px;padding:44px 52px 70px;margin:auto}.solutions h1{font-family:var(--serif);font-size:40px;margin:0 0 15px}.solutions-intro{color:var(--muted);font-size:14px;margin-bottom:36px}.solution-entry{display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding:34px 0}.solution-order{font-size:18px;color:#65775c;font-variant-numeric:tabular-nums}.solution-entry h2{font-size:22px}.solution-location{font-size:12px;color:var(--muted);margin-top:5px}.solution-answer{display:flex;align-items:center;gap:18px;padding:12px 18px;margin:20px 0;background:#e6ead8;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.solution-answer strong{font-size:24px;letter-spacing:.09em;font-variant-numeric:tabular-nums}.solution-entry>div>p:not(.solution-location){font-size:14px;line-height:2;white-space:pre-wrap}.solution-entry details{margin-top:20px}.solution-entry summary{font-size:13px;cursor:pointer;min-height:38px}.solution-entry .clue-sheet{margin-top:12px}
@keyframes enter{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.inspection,.room-section,.result-copy{animation:enter .35s var(--ease)}
@media(min-width:1600px){.welcome{padding-top:90px}.welcome-art img{min-height:520px}}
@media(max-width:1200px){.topbar{padding:0 32px}.welcome{grid-template-columns:310px minmax(0,1fr);gap:0 30px;padding:45px 32px 0}.welcome-art{padding:15px 8px 0}.welcome-art img{min-height:330px}.welcome-rules{grid-template-columns:230px minmax(0,1fr);gap:30px}.welcome-rules>div{gap:20px}.game-layout{padding:28px 32px 35px;gap:24px;grid-template-columns:minmax(0,1fr) 285px}.brand span{display:none}.notebook-heading{padding-inline:18px}.notebook-content{padding-inline:18px}.location-button{padding:12px}.clue-stack{grid-template-columns:1fr}.detail-art{height:220px}.hotspot span{font-size:10px;padding:4px 7px}.site-footer,.game-footer{padding-inline:32px}.expiry-banner,.storage-banner{padding-inline:32px}}
@media(max-width:900px){.welcome{grid-template-columns:300px minmax(0,1fr);padding-top:36px}.welcome h1{font-size:65px}.intro-text{font-size:13px}.welcome-art{margin:0 -10px 0 0;border-radius:140px 140px 2px 2px;align-self:start;margin-top:50px}.welcome-art img{min-height:340px;object-fit:cover}.welcome-art figcaption{display:block;text-align:center}.welcome-art figcaption span{display:block}.welcome-art figcaption span+span{margin-top:5px;font-size:10px}.welcome-rules{grid-template-columns:1fr}.welcome-rules>div{gap:22px}.game-layout{grid-template-columns:1fr;padding:25px 28px 32px}.notebook{position:static;max-height:none}.notebook-content{min-height:130px;max-height:430px}.empty-notebook{padding:24px 0}.empty-notebook h3{margin:12px 0}.empty-lines{display:none}.notebook-tabs{justify-content:flex-start}.notebook-tabs button{flex:0 1 140px}.notebook-bottom{justify-content:flex-start;gap:30px}.hotspot span{font-size:12px}.room-stage{max-height:none}.clue-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading p{font-size:14px}.detail-art{height:260px}.results{padding:50px 32px;gap:35px}.result-art .detail-art{height:390px}.result-copy h1{font-size:30px}.result-stats{gap:12px}.result-stats dd{font-size:15px}.timer-label{display:none}}
@media(max-width:620px){.topbar{height:74px;padding:0 20px;gap:16px}.brand{font-size:18px;letter-spacing:.04em}.header-caption{font-size:10px;max-width:115px;text-align:right;line-height:1.8;letter-spacing:0}.welcome{display:flex;flex-direction:column;padding:28px 20px 0;gap:0}.welcome-copy{display:contents}.room-label{font-size:11px;margin-bottom:12px}.welcome h1{font-size:48px;line-height:1.3;letter-spacing:.025em}.welcome h1 br{display:none}.tagline{font-size:16px;line-height:1.6;margin-top:12px}.tagline br{display:none}.welcome-art{order:1;margin:24px -4px 0;border-radius:80px 80px 3px 3px;padding:8px 4px 0;width:calc(100% + 8px)}.welcome-art img{min-height:0;width:100%;border-radius:75px 75px 0 0}.welcome-art figcaption{display:flex;text-align:left;padding:11px 13px 13px}.welcome-art figcaption span:first-child{font-size:11px}.welcome-art figcaption span+span{font-size:9px;margin:0}.intro-text{order:2;max-width:none;font-size:13px;margin-top:22px;line-height:1.9}.intro-facts{order:3;gap:12px;margin:18px 0 17px;font-size:11px}.intro-facts span+span{padding-left:12px}.start-button{order:4;max-width:none;min-height:55px;padding:16px 22px}.resume-note{order:5;font-size:10px;text-align:center;margin-top:10px}.welcome-copy>.text-button{order:6;align-self:center}.welcome-rules{order:7;display:block;padding:27px 0 28px;margin-top:29px}.welcome-rules h2{font-size:24px;margin-bottom:22px}.welcome-rules>div{grid-template-columns:1fr;gap:20px}.welcome-rules p{font-size:12px}.welcome-rules strong{font-size:13px}.site-footer{padding:18px 20px;display:block;font-size:11px}.site-footer span{display:block;margin-top:4px;font-size:10px}.game-meter{gap:0;margin-left:auto;display:block}.solve-count{display:block;border:0;padding:0;font-size:9px;text-align:right;margin-top:5px}.solve-count b{font-size:10px}#timer{font-size:23px;display:block;min-width:68px;text-align:right}.topbar .quiet-button{padding:8px 10px;min-height:39px;font-size:11px}.game-layout{padding:23px 16px 28px;gap:28px}.section-heading{margin-bottom:17px;gap:10px}.section-heading h1{font-size:22px}.section-heading p{font-size:12px;margin-top:7px;line-height:1.9}.floor-label{font-size:9px;padding:4px 7px}.room-stage{margin:0 -6px;border-radius:9px}.hotspot{border-radius:4px}.hotspot span{font-size:9px;line-height:1.4;padding:3px 5px;transform:translateY(4px);border-radius:3px}.hotspot small{display:none!important}.location-list{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.location-button{min-height:66px;padding:12px 7px}.location-button span{font-size:11px}.location-button small{font-size:9px;margin-top:7px}.room-footnote{font-size:10px;margin-top:12px;line-height:1.9}.notebook-heading{padding:20px 18px 14px}.notebook-heading h2{font-size:21px}.notebook-tabs{padding-inline:14px}.notebook-tabs button{font-size:12px;flex:1;padding:10px 6px 13px}.notebook-content{padding:8px 18px 18px;max-height:500px}.notebook-bottom{padding:14px 18px;justify-content:space-between;gap:12px}.notebook-bottom>span:last-child{font-size:10px}.inventory-item p{font-size:13px}.inventory-item summary{font-size:14px;padding:5px 0}.back-button{margin-bottom:21px;font-size:12px}.detail-art{height:210px;margin-bottom:22px}.clue-stack{grid-template-columns:1fr;gap:13px;margin-bottom:24px}.clue-sheet{padding:20px 20px 29px}.clue-sheet h3{font-size:15px}.clue-sheet p{font-size:14px;line-height:2}.lock-section{padding:23px 0}.lock-heading{gap:10px}.lock-heading h2{font-size:19px}.difficulty{font-size:10px;padding:4px 9px}.puzzle-prompt{font-size:14px;line-height:1.9}.answer-row{gap:9px}#answer-input{width:0;font-size:18px;padding:12px}#answer-input::placeholder{font-size:12px}.answer-row button{font-size:12px;padding:12px 15px}.answer-feedback{font-size:12px;margin-top:12px}.hint-area{gap:12px}.hint-timing{font-size:11px}.reward-copy{font-size:13px;padding:18px}.nearby{gap:4px 20px}.nearby .text-button{min-height:41px;font-size:12px}.expiry-banner,.storage-banner{padding:12px 20px;display:block;font-size:11px;line-height:1.8}.expiry-banner span{display:block;margin-top:2px}.game-footer{padding:17px 20px;font-size:10px}.game-footer .text-button{font-size:11px}.dialog-inner{padding:25px 22px}.dialog-inner h2{font-size:23px}.dialog-actions{gap:9px}.dialog-actions button{font-size:12px;padding:12px 14px}.results{display:flex;flex-direction:column;padding:30px 22px 45px;gap:25px}.result-art{width:100%}.result-art .detail-art{height:240px;border-radius:100px 100px 8px 8px}.result-copy h1{font-size:31px;margin:19px 0}.result-copy>p{font-size:14px}.result-stats{gap:16px;padding:22px 0;margin:24px 0}.result-stats dd{font-size:16px}.result-stats dt{font-size:10px}.result-actions button{font-size:13px;flex:1}.solutions{padding:27px 20px 45px}.solutions h1{font-size:34px}.solutions-intro{font-size:13px;margin-bottom:26px}.solution-entry{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:28px 0}.solution-order{font-size:14px;padding-top:3px}.solution-entry h2{font-size:20px}.solution-answer{gap:12px;padding:12px;margin:17px 0}.solution-answer strong{font-size:21px;letter-spacing:.04em}.solution-entry>div>p:not(.solution-location){font-size:13px}.solution-entry .clue-sheet{padding:17px 17px 28px}.solution-entry .clue-sheet p{font-size:13px}#toast{bottom:18px;padding:13px 19px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.scratch-tool{padding:23px;background:#e9ecdd;border-radius:12px;margin:0 0 25px}.scratch-tool>h3{font-size:15px;margin-bottom:8px}.scratch-tool>p{font-size:12px;color:var(--muted);margin-bottom:21px}.lamp-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center;margin-bottom:22px}.lamp{padding:13px 5px;background:#e0e4d5;border-radius:7px}.lamp>span{display:block;width:19px;height:19px;border-radius:50%;background:#78866f;border:2px solid #617356;margin:0 auto 8px}.lamp.on>span{background:#edbd54;border-color:#9f7623}.lamp b,.lamp small{display:block;font-size:12px;font-weight:500}.lamp small{font-size:10px;margin-top:4px}.lamp.on{background:#e9ddaf}.panel-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.panel-buttons button{background:#f8f7ec;border:1px solid #a9b59a;border-radius:8px;padding:13px;color:var(--ink);font-size:20px}.panel-buttons button[aria-pressed=true]{background:#385842;color:#f8f7ec;border-color:#385842}.panel-buttons small{display:block;font-size:10px;margin-top:5px}.route-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:320px;margin:0 auto 22px;gap:6px}.route-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f8f7eb;color:var(--ink);font-size:22px;border:1px solid #aab799;border-radius:6px;font-variant-numeric:tabular-nums}.route-cell.blocked{background:#697762;color:#f5f4e8}.route-cell.traced{background:#d0dfb4}.route-cell.current{background:#bbd29b;border:3px solid #3d6534}.route-cell small{font-size:9px;position:absolute;bottom:3px;left:0;right:0;text-align:center}.route-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.route-buttons button{color:var(--ink);background:#faf8ec;border:1px solid #a9b59a;border-radius:7px;padding:12px 5px}.route-buttons b{font-size:12px;display:block}.route-buttons span{font-size:11px;display:block;margin-top:7px}.route-tools{display:flex;gap:20px;flex-wrap:wrap;margin-top:13px;align-items:center;font-size:11px}.route-tools .text-button{font-size:12px}.route-tools span{font-variant-numeric:tabular-nums;color:var(--muted)}
@media(max-width:620px){.scratch-tool{padding:19px 16px}.lamp-row,.panel-buttons{gap:8px}.route-cell{font-size:21px}.route-tools{gap:7px 20px}.route-tools span{width:100%;margin-top:3px}}
