.town-grid{grid-template-columns:repeat(12,minmax(45px,1fr));gap:4px;max-width:1000px;margin:20px auto;display:grid}.town-grid button{background:#243e3b;border-color:#405953;height:55px;padding:4px;font-size:12px}.town-grid .facility{color:#ffdc9c;background:#4a4030;border-color:#b19153}.town-grid .ash{color:#fff;background:#305a78;border:2px solid #9bd6ff}.town-grid small{display:block}.adventure-panel{border:2px solid #b19153;max-width:1000px;margin:0 auto 20px}.world-routes{flex-wrap:wrap;align-items:center;gap:20px;margin:30px 0;display:flex}.world-routes article{background:#243e3b;border:1px solid #698b80;border-radius:10px;flex:1;min-width:180px;padding:20px}.preview-map{text-align:center;grid-template-columns:repeat(14,24px);line-height:24px;display:grid}.m6-shell pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:500px;overflow:auto}nav a{color:#b6e5ef}.m8-app .m6-cards article{min-width:0}.m8-app .m6-cards label{display:block}.m8-app .m6-cards select{box-sizing:border-box;width:100%;max-width:100%}.m8-app #m8-import{box-sizing:border-box;width:100%;min-height:10rem}.m8-app #m8-checkpoint{max-height:30rem;overflow:auto}.m9-app .town-grid .environment{color:#d4d8ac;background:#384637;border-color:#7a8261}.m9-app .exploration{flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:16px;display:flex}.m9-app .exploration h2{flex-basis:100%}.m9-app .exploration article{background:#293b32;border:1px solid #8b956b;border-radius:8px;flex:1;min-width:220px;padding:16px}.m9-app .exploration small{margin-top:8px;display:block}.m9-app .optional-node{background:#293b32;border:1px solid #9dbf87;border-radius:8px;padding:16px}.m9-app #m9-import{width:100%;min-height:10rem}.m9-app [aria-label=Developer\ diagnostics]{border:1px dashed #aa916d}:root{color:#edf2f3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0d1720;font-family:Microsoft JhengHei,system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0}header,nav,main,.help,footer,.battle-end,.notice,.error,.restart-confirm{max-width:1600px;margin:auto}header{justify-content:space-between;align-items:center;padding:24px 26px;display:flex}h1{margin:6px 0;font-size:30px}h1 span{color:#b5c7d0;margin-left:12px;font-size:16px;font-weight:400}small,footer{color:#b5c7d0}.world-time{text-align:right}.world-time b{color:#f6d676;font-size:22px}.world-time p{margin:8px 0}nav{flex-wrap:wrap;align-items:center;gap:8px;padding:0 26px;display:flex}nav label{align-items:center;gap:8px;margin:0;display:flex}button,select,input,textarea{font:inherit;color:inherit;background:#253747;border:1px solid #526777;border-radius:6px;padding:9px}button{cursor:pointer}button:hover{background:#385870}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #f0da84}button:disabled,input:disabled{opacity:.5;cursor:not-allowed}button[aria-pressed=true],.chosen{background:#34584e;border-color:#92d5ba}label{margin:12px 0;display:block}textarea,input:not([type=checkbox]){width:100%}textarea{min-height:65px}.help{color:#cad8de;padding:16px 26px;line-height:1.7}.notice,.error,.restart-confirm{background:#473d28;border:1px solid #a58c4c;border-radius:8px;margin:12px auto;padding:14px 24px}.error{background:#60323c;border-color:#ac6170}.battle-end{background:#352b3c;border:2px solid #c68a96;border-radius:10px;margin-top:18px;padding:22px 26px}.battle-end h2{color:#ffd9dc;font-size:28px}main{grid-template-columns:minmax(780px,1fr) 410px;align-items:start;gap:20px;padding:0 26px;display:grid}section{background:#172731;border:1px solid #354c59;border-radius:10px;margin-bottom:16px;padding:16px}h2{color:#a6dfdc;margin:0 0 12px;font-size:18px}h3{margin:18px 0 10px;font-size:16px}h4{color:#e6d998;margin:20px 0 8px;font-size:15px}p{line-height:1.65}.battle{padding:14px}.battle-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.battle-toolbar button{padding:7px;font-size:13px}.legend{color:#c3d2d8;flex-wrap:wrap;gap:12px;padding:10px 0;font-size:12px;display:flex}.actor-key{color:#f7d474}.inspect-key{color:#bdd8ff}.target-key{color:#e9b4ff}.overlay-note{color:#b8c7cb;margin:6px 0;font-size:12px}.terrain-info{color:#cfdbdf;background:#0e1d26;min-height:44px;margin:8px 0 12px;padding:8px;font-size:12px;line-height:1.5}.grid{grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;display:grid}.cell{background:#263d45;border:1px solid #45616a;border-radius:4px;flex-direction:column;min-height:76px;display:flex;position:relative}.cell:hover{z-index:2;outline:1px solid #b5ccd5}.raised{background:#53604f;border-top:4px solid #b3c092}.tile{text-align:left;color:#99b1bc;background:0 0;border:0;width:100%;min-height:23px;padding:3px;font-size:10px;display:block}.tile:hover{background:#ffffff12}.coord{opacity:.6}.height{float:right;color:#e1e4c2;font-size:10px}.blocked{background:repeating-linear-gradient(135deg,#101e27,#101e27 6px,#364753 6px 8px)}.blocked .tile{height:100%}.obstacle{text-align:center;color:#899daa;padding-top:18px;font-size:12px;display:block}.void{background:#071018}.unit{z-index:3;border-radius:4px;width:100%;padding:5px 3px;font-size:12px;line-height:1.25;position:relative}.unit-name{font-weight:700;display:block}.unit-name small{color:inherit;font-size:9px;font-weight:400}.team-tag{opacity:.85;font-size:9px;display:block}.player{background:#1f526e}.enemy{background:#733e48}.actor{border:2px solid #ffe08b;box-shadow:0 0 0 1px #bca155}.inspected{outline-offset:1px;outline:2px solid #91c3ff}.targeted{box-shadow:inset 0 0 0 3px #e7a8ff}.legal{border-width:2px;border-color:#77e7ac}.actor.legal{border-color:#ffe08b}.hp-bar{background:#0d1c26;border-radius:2px;height:5px;margin:5px 0 3px;display:block;overflow:hidden}.hp-bar i{background:#8be0be;height:100%;display:block}.enemy .hp-bar i{background:#ffc6a7}.hp-number{font-size:11px;font-weight:700;display:block}.sp-tag,.status-mini,.guard-mini{color:#f8df8b;margin-top:3px;font-size:9px;display:block}.down{color:#91a6b1;background:#202b32;border-style:dashed;font-size:10px}.down .team-tag{display:none}.life-tag{margin-top:4px;font-weight:600;display:block}.reachable:after{content:"●";color:#8cddb4;pointer-events:none;z-index:4;font-size:12px;position:absolute;bottom:1px;right:3px}.attack-range{outline-offset:-4px;outline:1px dashed #d9b6f8}.origin{border:2px solid #b799e8}.danger{background:repeating-linear-gradient(135deg,#553039,#553039 7px,#47343b 7px 9px)}.potential{background:repeating-linear-gradient(135deg,#4b402d,#4b402d 7px,#40392e 7px 9px)}.path{box-shadow:inset 0 0 0 2px #64cee5}.destination{border:2px solid #97eef5}.path-marker{color:#8cf1fa;z-index:4;pointer-events:none;font-size:18px;font-weight:700;position:absolute;bottom:0;left:3px}.push-destination{outline:3px solid #ffb779}.advance-destination{outline:3px double #b4f39b}.displacement{color:#ffe1b1;text-align:center;font-size:10px}.actor-panel{background:#26302e;border:2px solid #b8a15b}.actor-panel h2{color:#ffe3a0;margin-top:8px;font-size:22px}.decision{background:#1b303a;border-color:#648d92}.decision>h2{font-size:21px}.actions{gap:8px;margin:14px 0;display:grid}.actions button{text-align:left;padding:12px;line-height:1.5}.actions strong{font-size:16px;display:block}.actions span,.actions small{margin-top:4px;font-size:12px;display:block}.actions small{color:#b8d9c8}.actions .chosen{background:#35483f;border:2px solid #e7d085}.path-text{color:#87d9e3;font-size:12px}.availability{color:#efd29c;font-size:13px}.good{color:#b0e5ba;font-size:13px}.forecast{background:#11272e;border:1px solid #7aa5a7;border-radius:8px;margin-top:18px;padding:15px}.forecast p{font-size:14px}.forecast h3{color:#e6f2ea;margin-top:0;font-size:20px}.impact{background:#203740;border-left:3px solid #96d9c4;padding:8px}.plan-summary{border-bottom:1px solid #44606b;padding-bottom:12px}.confirm-panel{background:#2a3a34;border:1px solid #89b8a2;border-radius:8px;margin-top:12px;padding:12px}.confirm-panel button{margin-top:8px;margin-right:6px}#confirm{background:#315f4b;border-color:#abd6bd;font-weight:700}.timeline ol{flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.timeline li{border:1px solid #536b77;border-radius:5px;padding:8px 10px;font-size:13px}.timeline b{color:#ffe1a0}.timeline li span{color:#f4ce8d;font-size:11px}.preview-timeline{border-left:3px solid #ddbeef;padding-left:10px!important}.timeline p{font-size:13px}.current{color:#ffe1a0}.status-tag,.guard-tag,.guard-links{background:#2a3941;border-left:3px solid #8fc9dd;padding:9px;font-size:12px}.guard-tag,.guard-links{border-color:#d5b78b}.inspection{border-color:#6795c3}.inspection p{font-size:13px}.feedback p{margin:7px 0;font-size:14px}.events{max-height:420px;overflow:auto}.events div{border-bottom:1px solid #3b5461;padding:10px;font-size:13px}details{margin:12px 0;font-size:13px}summary{cursor:pointer;color:#c4d5dd}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;font-size:11px;overflow:auto}footer{padding:20px 26px;font-size:12px}footer textarea{font-size:12px}#play-review input,#play-review textarea{margin-bottom:8px}@media (max-width:1250px){main{grid-template-columns:minmax(660px,1fr) 360px;gap:12px;padding:0 14px}h1{font-size:26px}.grid{gap:3px}.unit{font-size:11px}.cell{min-height:72px}}@media (max-width:1050px){main{flex-direction:column;display:flex}.battle-column{width:100%;overflow:auto}.battle{min-width:780px}aside{width:100%}.decision{max-width:720px}.actor-panel{position:static}header{padding:16px}h1 span{margin:8px 0;display:block}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.cell{height:clamp(44px,8.33333vh - 29.5833px,66px);min-height:0}.tile{min-height:0;position:absolute;inset:0}.unit{max-height:100%;margin-top:0;padding:2px;line-height:1.1;overflow:hidden}.unit-name{font-size:11px}.team-tag{font-size:8px;line-height:1}.hp-bar{height:3px;margin:2px 0}.hp-number{font-size:10px}.sp-tag{background:#14232c;padding:1px;font-size:8px;position:absolute;bottom:2px;right:3px}.status-mini,.guard-mini{background:#263a43;max-width:35px;font-size:8px;position:absolute;top:1px;right:1px}:is(.unit:has(.status-mini) .unit-name,.unit:has(.guard-mini) .unit-name){padding-right:15px}.down{padding:1px;font-size:9px}.down .unit-name{font-size:9px}.down .life-tag{margin-top:1px;font-size:8px}.cell:has(.unit:not(.down)) .unit.down{z-index:5;width:29px;position:absolute;bottom:0;right:0}.cell:has(.unit:not(.down)) .unit.down .unit-name{display:none}.cell:has(.unit:not(.down)) .unit.down .life-tag{font-size:7px}.battle-toolbar h2{margin-bottom:0}.terrain-info{min-height:36px}.timeline li{padding:5px 6px;font-size:12px}.timeline ol{gap:5px}.timeline h3{font-size:13px}.timeline p{margin:5px 0}.actor-panel p{margin:6px 0;font-size:13px}.mission-panel{background:#182d37;border:1px solid #82713f;border-radius:9px;max-width:1548px;margin:14px auto;padding:16px}.mission-panel h2{color:#efda93}.mission-panel details p{font-size:12px}.objective-region{box-shadow:inset 0 0 0 3px #e7c963!important}.timeline .objective{background:#4b4428;border:2px solid #dfbf54}.mission-panel details{max-height:180px;overflow:auto}.m6-shell{max-width:1500px;margin:18px auto;padding:0 24px;display:block}.m6-shell>section{padding:22px}.m6-slots,.m6-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.m6-slots{grid-template-columns:repeat(4,minmax(180px,1fr));margin:20px 0}.m6-cards article{background:#11212b;border:1px solid #405762;border-radius:8px;min-width:0;padding:14px}.m6-cards article h3{color:#ffe1a0;margin-top:0}.m6-cards p{overflow-wrap:anywhere;font-size:13px;line-height:1.6}.m6-cards label{font-size:12px}.m6-check{align-items:center;gap:7px;margin:6px 0;display:flex}.m6-check input{width:auto}.m6-actions{flex-wrap:wrap;align-items:center;gap:9px;margin:18px 0;display:flex}.m6-actions label{width:min(260px,100%);margin:0}.m6-table{border-collapse:collapse;width:100%;margin:16px 0}.m6-table th,.m6-table td{text-align:left;vertical-align:top;border-bottom:1px solid #425662;padding:10px}.m6-table th{color:#ffe1a0}.m6-table td{font-size:13px;line-height:1.55}.m6-shell details pre{max-height:420px}.working-progression{background:#13261f;border:1px solid #759a72;margin-bottom:12px;padding:12px}.working-progression h2{color:#c9efb9;margin:0 0 8px;font-size:16px}.working-progression p{margin:5px 0;font-size:12px;line-height:1.5}.working-progression small{color:#d4c8a4}
