:root{font-family:Georgia,serif;color:#f4e8d3;background:#1b2232;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 0,#494660,transparent 65%),#1b2232}main{max-width:1250px;padding:27px 27px 70px;margin:auto}header,.tools,.status,.boardtools{display:flex;gap:10px;align-items:center;justify-content:space-between}small{font:10px system-ui;letter-spacing:2px;color:#dec08e}h1{font-size:clamp(34px,5vw,49px);font-weight:normal;color:#ffdc9d;margin:7px 0 20px}h2{font-size:25px;font-weight:normal}button,a{font:14px system-ui;min-height:44px;padding:11px 14px;border:1px solid #938394;border-radius:10px;background:#383e52;color:#fae9c9;cursor:pointer}button:hover{background:#535772}button:focus-visible,a:focus-visible{outline:3px solid #ffdfa2;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.tools{flex-wrap:wrap}nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}nav button[aria-pressed=true]{background:#665268;border-color:#e7c083}.status{justify-content:flex-start;flex-wrap:wrap;font:14px system-ui;margin-bottom:18px}.status span{background:#30484a;border:1px solid #72968b;padding:10px 13px;border-radius:10px}.layout{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}#board{height:490px;position:relative;border:1px solid #a38f95;border-radius:20px;overflow:hidden;background:linear-gradient(#373f59,#263d45)}#world{position:absolute;inset:0;touch-action:none}#world canvas{display:block;width:100%;height:100%;touch-action:none}.boardtools{justify-content:flex-start;gap:8px;margin-top:12px}.boardtools button{font-size:12px}.legend{font:12px/1.8 system-ui;color:#d1c7cf}aside{border:1px solid #7d7487;border-radius:15px;padding:23px;background:#2a3245}#costumes{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}#costumes button{flex:1;padding:11px}#costumes button[aria-pressed=true]{background:#ddb97e;color:#283042;border-color:#ffdfab}#ability{font:14px/1.7 system-ui;color:#e4d8c2;min-height:50px}.pad{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;margin:18px 0}.pad button{padding:14px;font-size:17px}.pad [data-dir=up]{grid-column:2}.pad [data-dir=left]{grid-row:2;grid-column:1}.pad [data-dir=wait]{grid-row:2;grid-column:2;font-size:12px}.pad [data-dir=right]{grid-row:2;grid-column:3}.pad [data-dir=down]{grid-column:2;grid-row:3}#message{font:16px/1.8 system-ui;color:#ffe1a3;min-height:100px}.primary{background:#dfb97d;color:#283144}#result button{margin:5px 5px 0 0}.journal{border:1px solid #6d6c80;background:#2b3547;border-radius:13px;padding:20px;margin-top:20px}.journal h2{margin:0 0 10px}.journal p{font:14px/1.8 system-ui;margin:7px 0}footer{font:12px/1.8 system-ui;color:#c8c4cd;margin-top:20px}footer button{font-size:12px;padding:5px 9px;margin:6px}a{color:#ffe1a5}dialog{background:#2d3c50;color:#f4e8d3;border:1px solid #d4b482;border-radius:16px;padding:25px;max-width:min(650px,94vw);max-height:90dvh;overflow:auto}dialog p{font:15px/1.8 system-ui}dialog::backdrop{background:#111b2ddc}#grid{position:absolute;inset:0;padding:12px;display:grid;grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(9,1fr);gap:2px;background:#243744}.cell{min-height:0;min-width:0;border-radius:3px;padding:0;font:14px ui-monospace,monospace;overflow:hidden}.cell:disabled{opacity:.85}.cell.wall{background:#60596c;color:#aa9fba}.cell.beam{background:#ab874e;color:#fff6db}.cell.player{background:#cfb0ed;color:#251b40}.cell.nextguard{border-color:#ffd17b;border-width:2px}.cell.guard{background:#e6b972;color:#352b22}[hidden]{display:none!important}@media(max-width:700px){main{padding:18px 12px 65px}header{display:block}.tools{justify-content:flex-start;margin-bottom:16px}.tools button{font-size:12px;padding:9px}nav{gap:7px}nav button{font-size:12px;padding:9px}.layout{grid-template-columns:1fr;gap:14px}.status{font-size:12px;gap:6px}.status span{padding:9px}#board{height:410px}aside{padding:18px}#message{min-height:70px}.cell{font-size:11px}#grid{padding:7px;gap:2px}}
#grid{grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(7,1fr)}#viewLabel{position:absolute;bottom:12px;left:12px;right:12px;color:#ffe1a3;text-align:center;font:10px system-ui;letter-spacing:1px;pointer-events:none;text-shadow:0 1px 3px #000}#world{background:#18222d}.actions{display:grid;gap:10px;margin-top:18px}.pad [data-action=up]{grid-column:2}.pad [data-action=left]{grid-row:2;grid-column:1}.pad [data-action=wait]{grid-row:2;grid-column:2}.pad [data-action=right]{grid-row:2;grid-column:3}.pad [data-action=down]{grid-column:2;grid-row:3}.pad button{font-size:12px;padding:13px 8px}#shadow{font:13px/1.7 system-ui;color:#c5c9d8}.boardtools{flex-wrap:wrap}.cell.shrine{background:#648b90}.cell.litbeacon{background:#b9bd75;color:#242b32}.cell.shadow{background:#9295c0;color:#242b32}#message{min-height:90px}
