@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";html body #app{height:100dvh;min-height:0;overflow:hidden}html body #app>.sidebar{scrollbar-width:thin;scrollbar-color:#526048 transparent;height:100dvh;min-height:0;overflow-y:auto}html body #app>.sidebar>*{flex-shrink:0}html body #app>main{height:100dvh;min-height:0}html body .topbar,html body .bottom-bar{flex-shrink:0}html body #viewport{min-height:0}html body #canvas-wrap{inset:72px 20px 95px}html body .sidebar-bottom{background:#151b18;min-height:35px;padding:10px 0;position:sticky;bottom:-26px}html body .chapter{margin-top:30px}html body .rule{margin:16px 0}html body .health-head{margin-top:19px}html body .stats{gap:15px 12px;margin-top:20px}html body .inventory{margin:20px 0}html body .sidebar-bottom{margin-top:18px}@media (height<=820px) and (width>=681px){html body .sidebar{padding-top:24px;padding-bottom:20px}html body .chapter{margin-top:22px}html body h1{margin:10px 0;font-size:23px}html body .intro{margin:6px 0}html body .floor-label strong{font-size:40px}html body .inventory{margin:17px 0}html body .controls p{margin:9px 0}html body .sidebar-bottom{bottom:-20px}html body #log{min-height:240px}}@media (width<=680px){html body #app>.sidebar.left{flex-shrink:0;height:auto;overflow:visible}html body #app>main{flex:1;height:auto;min-height:0}html body #canvas-wrap{inset:55px 7px 70px}html body .mobile-controls{flex-shrink:0}html body .health-head,html body .inventory{margin:0}html body .left .sidebar-bottom{min-height:0;margin:3px 0 0;padding:5px 0 0;position:static}html body .mobile-controls button{min-width:60px;height:36px}html body #viewport{min-height:150px}html body .topbar{height:34px}}button:disabled{opacity:.35;cursor:default;filter:none}.choices button:disabled:hover{filter:none}#viewport[data-event=hurt] #toast{color:#ff9c83}#viewport[data-event=dash] #toast{color:#8ce7da}@media (width<=680px){.left .sidebar-bottom{border-top:1px solid #364430;grid-column:1/3;margin:3px 0 0;padding-top:5px;display:flex}.left .sidebar-bottom button{font-size:8px}}:root{color:#e8e6dc;font-synthesis:none;background:#111715;font-family:Space Grotesk,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #8debdc}button{transition:background .16s,transform .16s}button:hover{filter:brightness(1.2)}#app{grid-template-columns:260px minmax(0,1fr) 268px;min-height:100dvh;display:grid}.sidebar{z-index:2;background:#151b18;flex-direction:column;padding:32px 26px;display:flex}.left{border-right:1px solid #303830}.right{border-left:1px solid #303830}.wordmark{color:#e8c384;letter-spacing:-2px;align-items:center;gap:12px;font-size:25px;font-weight:600;text-decoration:none;display:flex}.wordmark span{letter-spacing:2.2px;color:#e8e6dc;font-size:12px}.chapter,.eyebrow{letter-spacing:2px;color:#a6ad9e;font-size:9px;font-weight:500}.chapter{letter-spacing:1.5px;margin-top:49px;font-size:8px}h1{letter-spacing:3px;margin:12px 0 15px;font-size:26px;font-weight:500}.intro{color:#8d988a;font-size:11px;line-height:2.2}.rule{background:#333c31;height:1px;margin:23px 0}.floor-label{color:#a5ae9e;letter-spacing:2px;align-items:baseline;gap:12px;font-size:10px;display:flex}.floor-label strong{color:#e8c384;letter-spacing:-3px;font-size:49px;font-weight:400;line-height:1.2}.floor-label>span{letter-spacing:0;font-size:12px}.health-head{color:#adb6a6;justify-content:space-between;margin-top:28px;margin-bottom:10px;font-size:10px;display:flex}.health-head b{color:#e8e6dc;font-weight:400}.health-track{background:#333c32;height:5px}#health{background:#dcb778;height:100%;transition:width .25s}.stats{grid-template-columns:1fr 1fr;gap:23px 12px;margin-top:27px;display:grid}.stats div{flex-direction:column;gap:7px;display:flex}.stats span{letter-spacing:1.7px;color:#8e9a88;font-size:8px}.stats b{font-size:23px;font-weight:400}.inventory{gap:8px;margin:26px 0;display:grid}.inventory button{color:#c8b98f;background:#1c251e;border:1px solid #3c4939;align-items:center;gap:10px;width:100%;padding:12px;font-size:9px;display:flex}.inventory button span{color:#d4d7cb;font-size:10px}.inventory b{margin-left:auto;font-size:10px}.inventory button.selected{background:#343426;border-color:#e8c384}.controls{margin-top:auto;padding-top:10px}.controls p{color:#99a391;margin:12px 0;font-size:9px}.controls small{color:#798675;font-size:9px;line-height:1.9}kbd{font:inherit;color:#d1d6c8}.sidebar-bottom{justify-content:space-between;margin-top:30px;display:flex}.sidebar-bottom button{color:#8f9a86;letter-spacing:1px;background:0 0;border:0;padding:0;font-size:9px}main{background:radial-gradient(at 50% 45%,#28332b 0,#17221c 50%,#101813 100%);flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.topbar,.bottom-bar{letter-spacing:1.5px;color:#96a48f;border-bottom:1px solid #35403166;justify-content:space-between;align-items:center;gap:12px;height:71px;padding:0 30px;font-size:9px;display:flex}.topbar i,.live-dot{background:#bfc99b;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block}.topbar>span:last-child{letter-spacing:1px;font-size:8px}#viewport{flex:1;min-height:560px;position:relative}#canvas-wrap{position:absolute;inset:0}#canvas-wrap canvas{outline:none;display:block}.map-caption{z-index:1;pointer-events:none;position:absolute;top:29px;left:30px}.map-caption>span{letter-spacing:2px;color:#d1d5ba;font-size:10px}.map-caption small{color:#76866e;margin-top:8px;font-size:10px;display:block}.legend{color:#9eae96;pointer-events:none;justify-content:center;gap:20px;font-size:8px;display:flex;position:absolute;bottom:70px;left:0;right:0}.legend i{width:5px;height:5px;margin-right:5px;display:inline-block}.cyan{background:#8bfff2}.coral{background:#ff8671}.gold{background:#efc479}#toast{text-align:center;color:#ddd9bc;pointer-events:none;font-size:11px;line-height:1.7;position:absolute;bottom:20px;left:20px;right:20px}.bottom-bar{letter-spacing:0;border-top:1px solid #35403166;border-bottom:0;height:52px;font-size:9px}.bottom-bar span:last-child{letter-spacing:1.4px;white-space:nowrap;font-size:8px}.right>.eyebrow{margin-top:5px}.right h2{letter-spacing:1px;margin-top:12px;font-size:17px;font-weight:400}.run-state{color:#8e9d84;border-bottom:1px solid #333d30;margin:15px 0 25px;padding-bottom:23px;font-size:9px}.live-dot{background:#7ab698}#log{min-height:310px}.log-item{gap:11px;margin-bottom:20px;display:flex}.log-item>span{color:#566850;padding-top:3px;font-size:9px}.log-item p{color:#9caa94;margin:0;font-size:10px;line-height:1.9}.log-item.good p{color:#dfc488}.log-item.danger p{color:#f08e76}.relic-section{border-top:1px solid #333d30;padding-top:25px}.empty{color:#7c8a74;font-size:10px;line-height:2}.relic{color:#deca98;gap:10px;margin:16px 0;font-size:11px;display:flex}.relic>span{font-size:26px}.relic small{letter-spacing:1.4px;color:#829276;margin-top:4px;font-size:7px;display:block}.quote{color:#737f6b;margin-top:auto;padding-top:30px;font-family:serif;font-size:12px;line-height:2.2}.quote span{letter-spacing:1.6px;margin-top:14px;font-family:Space Grotesk,sans-serif;font-size:7px;display:block}#overlay{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b100ede;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0;overflow:auto}#overlay.visible{display:flex}.modal{text-align:center;background:linear-gradient(140deg,#263028,#151e19);border:1px solid #59604a;width:470px;padding:40px;box-shadow:0 30px 100px #0007}.sigil{color:#eac584;margin:16px 0;font-size:52px}.modal h2{letter-spacing:2px;margin:10px 0;font-size:32px;font-weight:400}.modal .subtitle{letter-spacing:5px;color:#e3c289;margin-bottom:26px;font-size:13px}.modal p{color:#aab7a2;font-size:12px;line-height:2.1}.tutorial{text-align:left;border-top:1px solid #52604855;border-bottom:1px solid #52604855;margin:27px 0;padding:12px 0}.tutorial div{color:#b7c0ac;gap:15px;padding:8px 0;font-size:10px;display:flex}.tutorial b{color:#d4b77b;font-weight:400}.seed-input{color:#a4af99;align-items:center;gap:12px;margin:20px 0;font-size:10px;display:flex}.seed-input input{color:#d4ddcc;background:#121c16;border:1px solid #465640;width:100%;min-width:0;padding:10px;font-size:11px}.primary{color:#273022;text-align:center;background:#e5bd7b;border:0;width:100%;padding:16px;font-size:12px}.primary span{float:right}.modal>small{color:#829277;margin-top:18px;font-size:9px;line-height:1.8;display:block}.relic-modal{width:800px}.relic-modal h2{font-size:26px}.choices{gap:14px;margin-top:30px;display:flex}.choices button{text-align:left;background:#19251c;border:1px solid #566447;flex:1;padding:20px}.choices small{letter-spacing:1px;color:#87977c;font-size:7px}.choices button>span{text-align:center;color:#e4c084;margin-top:20px;font-size:55px;display:block}.choices h3{color:#e1d9b8;font-size:16px;font-weight:400}.choices p{min-height:65px;font-size:10px}.choices b{color:#e6c388;font-size:9px;font-weight:400}.result{justify-content:space-around;margin:32px 0;display:flex}.result b{color:#e3c28b;font-size:32px;font-weight:400;display:block}.result span{letter-spacing:2px;color:#8b9b80;margin-top:8px;font-size:9px;display:block}.secondary{color:#a5b099;background:0 0;border:0;margin-top:20px;font-size:10px}.mobile-controls{display:none}@media (width>=1600px){#app{grid-template-columns:290px minmax(0,1fr) 300px}.sidebar{padding:38px}}@media (width<=1100px){#app{grid-template-columns:220px minmax(0,1fr)}.right{display:none}.sidebar{padding:25px 22px}.topbar{padding:0 20px}}@media (width<=680px){#app{flex-direction:column;display:flex}.left{border:0;border-bottom:1px solid #364430;grid-template-columns:1fr 1fr;gap:8px 20px;padding:14px 18px;display:grid}.wordmark{font-size:20px}.wordmark span{font-size:10px}.chapter,h1,.intro,.rule,.stats,.controls,.sidebar-bottom{display:none}.floor-label{grid-area:1/2;justify-content:flex-end;font-size:8px}.floor-label strong{letter-spacing:0;font-size:24px}.floor-label span{font-size:10px}.health-head{grid-area:2/1;align-items:center;margin:0;font-size:9px}.health-track{grid-area:3/1}.inventory{grid-area:2/2/4;gap:5px;margin:0;display:flex}.inventory button{gap:4px;padding:8px 6px;font-size:7px}.inventory button span{font-size:8px}.inventory b{font-size:7px}main{min-height:calc(100dvh - 99px)}.topbar{height:40px;padding:0 16px;font-size:7px}.topbar>span:last-child{font-size:7px}#viewport{flex:1;min-height:360px}.map-caption{top:15px;left:16px}.map-caption>span,.map-caption small{font-size:8px}.legend{gap:10px;font-size:7px;bottom:48px}#toast{font-size:9px;bottom:12px}.bottom-bar{height:35px;padding:0 15px;font-size:8px}.bottom-bar span:last-child{display:none}.mobile-controls{background:#111b14;flex-direction:column;align-items:center;gap:4px;padding:9px 0 15px;display:flex}.mobile-controls>div{gap:5px;display:flex}.mobile-controls button{background:#243121;border:1px solid #4b5c40;border-radius:3px;min-width:56px;height:32px;font-size:16px}.mobile-controls #wait{font-size:9px}.modal{max-height:calc(100dvh - 40px);padding:25px;overflow:auto}.modal h2{font-size:25px}.sigil{margin:5px;font-size:35px}.tutorial{margin:15px 0}.modal .subtitle{margin-bottom:15px}.choices{flex-direction:column;gap:8px;margin-top:15px}.choices button{padding:12px}.choices button>span{display:none}.choices h3{margin:9px 0}.choices p{min-height:0;margin:6px 0;line-height:1.7}.choices b{text-align:right;display:block}.modal>p{font-size:10px}}.tutorial div{align-items:flex-start;font-size:12px;line-height:1.8}.tutorial b{flex:0 0 28px}.controls p,.controls small{font-size:10px;line-height:1.5}html body #app .controls p{margin:6px 0}html body #app .controls small{font-size:10px;line-height:1.5}@media (width<=680px){.tutorial div{font-size:11px}.tutorial{margin:12px 0}}
