.roof-game{color:#382e27;background:radial-gradient(circle at 85% 5%,#d25b3f30,#0000 28%),linear-gradient(155deg,#fff0ca,#aed4cf);min-height:100vh;font-family:Arial,Noto Sans TC,sans-serif}.roof-header{color:#53675f;justify-content:space-between;max-width:1160px;margin:auto;padding:20px 26px;font-size:14px;display:flex}.roof-header a{color:#a14435;font-weight:900;text-decoration:none}.roof-header small{color:#7d8d85;margin-left:8px}.roof-main{max-width:1160px;margin:auto;padding:12px 26px 50px}.roof-heading{justify-content:space-between;align-items:end;gap:32px;margin:8px 0 22px;display:flex}.roof-heading p{color:#586b62;max-width:575px;margin:0;line-height:1.75}.roof-heading>div>p{letter-spacing:3px;color:#a74635;font-size:13px}.roof-heading h1{letter-spacing:7px;color:#285f57;margin:9px 0 0;font:800 44px/1.1 Georgia,Noto Serif TC,serif}.roof-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:24px;display:grid}.roof-stage,.roof-panel{background:#fff8e7;border:1px solid #a29a7e;border-radius:24px;box-shadow:0 18px 45px #31544522}.roof-stage{overflow:hidden}.roof-hud{text-align:center;background:#dbb978;grid-template-columns:repeat(4,1fr);padding:15px;display:grid}.roof-hud>div+div{border-left:1px solid #70563533}.roof-hud small{color:#675138;font-size:11px;display:block}.roof-hud strong{color:#2f685d;font-variant-numeric:tabular-nums;font-size:23px;display:block}.roof-hud em{font-size:12px;font-style:normal}.roof-field{aspect-ratio:720/480;background:#abd7d7;position:relative}.roof-field canvas{touch-action:none;-webkit-user-select:none;user-select:none;outline-offset:-4px;width:100%;height:100%;display:block}.roof-overlay{color:#fff;text-align:center;background:#234b44e8;flex-direction:column;justify-content:center;align-items:center;padding:26px;display:flex;position:absolute;inset:0}.roof-overlay>span{letter-spacing:4px;color:#f3cc6e;font-size:11px}.roof-overlay h2{letter-spacing:4px;margin:12px;font:800 32px Georgia,Noto Serif TC,serif}.roof-overlay>p{color:#e6f0eb;max-width:560px;line-height:1.8}.roof-overlay>button{color:#263c33;background:#efc45e;border:0;border-radius:999px;align-items:center;gap:8px;padding:13px 22px;font-weight:900;display:flex}.roof-overlay>button.secondary{color:#fff;background:0 0;border:1px solid #fff6;margin-top:8px}.roof-overlay>small{color:#cadbd2;margin-top:16px}.roof-upgrades{grid-template-columns:repeat(3,1fr);gap:9px;width:min(650px,100%);display:grid}.roof-upgrades button{color:#30473c;background:#fff5d2;border:1px solid #d8ae58;border-radius:14px;justify-items:center;gap:6px;padding:14px 8px;display:grid}.roof-upgrades svg{color:#a24435}.roof-upgrades small{color:#627067;line-height:1.45}.roof-status{background:#c8d8bc;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.roof-status b{color:#315e50;min-width:105px}.roof-status p{color:#56685d;margin:0;font-size:13px;line-height:1.5}.roof-status button{color:#40594b;background:#fff8e5;border:1px solid #7b8d7d;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-weight:800;display:flex}.roof-panel{padding:24px}.roof-panel>span{color:#a14335;letter-spacing:3px;font-size:11px}.roof-panel h2{color:#315f51;margin:8px 0 22px;font:800 29px Georgia,Noto Serif TC,serif}.roof-card{border-top:1px solid #c8c8ac;gap:12px;padding:14px 0;display:flex}.roof-card svg{color:#a54235;flex:0 0 23px}.roof-card p{margin:0}.roof-card b{margin-bottom:5px;display:block}.roof-card small{color:#607266;font-size:13px;line-height:1.65}.roof-progress{justify-content:center;gap:12px;margin:22px 0;display:flex}.roof-progress span{color:#776d53;background:#ded8bd;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.roof-progress .current{color:#fff;background:#a84337}.roof-progress .done{color:#fff;background:#34725f}.roof-panel details{border-top:1px solid #c8c8ac;padding-top:14px}.roof-panel summary{cursor:pointer;font-weight:900}.roof-panel details p{color:#607266;font-size:13px;line-height:1.75}.roof-batch{display:none}.roof-game .game-session{color:#385246;background:#fff8e6;border-color:#a9ad93;max-width:1160px;margin:0 auto 18px}.roof-game .session-mission p,.roof-game .session-record small,.roof-game .session-record>span{color:#617368}.roof-game .session-tools button{color:#476253;background:#eef2dc;border-color:#aeba9d}.roof-main.game-focus .roof-heading,.roof-main.game-focus .roof-panel{display:none}.roof-main.game-focus .roof-layout{max-width:850px;margin:auto;display:block}:is(.roof-game button:focus-visible,.roof-game a:focus-visible,.roof-game canvas:focus-visible,.roof-game summary:focus-visible){outline-offset:3px;outline:3px solid #a84137}@media (max-width:850px){.roof-layout{grid-template-columns:1fr}.roof-heading{display:block}.roof-heading>p{margin-top:12px}.roof-panel{padding:18px}.roof-main{padding-inline:15px}.roof-heading h1{font-size:38px}}@media (max-width:520px){.roof-header{padding:14px}.roof-main{padding:3px 9px 30px}.roof-heading h1{font-size:32px}.roof-heading>p{font-size:13px}.roof-stage,.roof-panel{border-radius:16px}.roof-hud{padding:10px 4px}.roof-hud strong{font-size:18px}.roof-hud small{font-size:9px}.roof-field{aspect-ratio:1/1.08}.roof-status{grid-template-columns:1fr auto}.roof-status p{grid-area:2/1/auto/-1}.roof-overlay{padding:16px}.roof-overlay h2{font-size:27px}.roof-overlay>p{font-size:13px}.roof-upgrades{grid-template-columns:1fr}.roof-panel details{display:none}.roof-game .game-session{margin-inline:9px}}@media (prefers-reduced-motion:reduce){.roof-game *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
