.passage-dot{color:var(--accent)}.passage-hud{display:flex;justify-content:space-between;gap:12px;color:var(--accent);font:10px var(--display);letter-spacing:1px;margin:24px 0 10px}.passage-board-wrap{position:relative;max-width:440px;margin:38px auto 32px;padding:0 26px}.passage-board{display:grid;grid-template-columns:repeat(var(--size),minmax(0,1fr));gap:5px;position:relative;padding:6px;background:#090b10;border:1px solid #424f6c;border-radius:12px;isolation:isolate;box-shadow:0 0 50px #6a8fe409}.passage-tile{padding:0;position:relative;aspect-ratio:1;background:linear-gradient(135deg,#1d2536,#141a26);border:1px solid #2b354d;border-radius:6px;min-width:0;transition:background .15s,border-color .15s}.passage-tile svg{display:block;width:100%;height:100%;overflow:hidden}.passage-track{fill:none;stroke:#616e8c;stroke-width:11;stroke-linecap:round;stroke-linejoin:round}.passage-tile circle{fill:#9fafd4}.passage-tile:hover{border-color:#a4befb;background:#242f49}.passage-tile.is-lit{background:#212e4c;border-color:#45609e}.passage-tile.is-lit .passage-track{stroke:#7099f9;filter:drop-shadow(0 0 3px #7099f977)}.passage-tile.is-route{background:#20325d;opacity:1}.passage-tile.is-hint{outline:3px solid #f5d290;outline-offset:0;z-index:1}.passage-tile:disabled{cursor:default;opacity:1}.passage-exit,.passage-entry{position:absolute;font:8px var(--display);letter-spacing:1.8px;color:var(--accent)}.passage-exit{top:-25px;right:26px}.passage-exit::after{content:'';position:absolute;width:18px;height:18px;border:2px solid #7099f9;border-radius:50%;right:-22px;top:30px;box-shadow:0 0 18px #7099f966}.passage-entry{left:26px;bottom:-23px}.passage-guide{position:absolute;width:42px;height:48px;object-fit:contain;left:-13px;bottom:3%;filter:drop-shadow(0 0 10px #7099f944)}.passage-traveller{position:absolute;width:calc(100% / var(--size) * .78);height:calc(100% / var(--size) * .92);object-fit:contain;transform:translate(-50%,-65%);pointer-events:none;z-index:3;filter:drop-shadow(0 0 8px #0c0f17)}.passage-feedback{font-size:13px;line-height:1.7;color:#c2cce4;min-height:42px}.passage-tools{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.passage-tools .button{min-height:44px;font-size:11px}.passage-tools .text-link{font-size:10px}.passage-tools [hidden]{display:none}.passage-tools #passage-next{margin-top:8px}.game-title{font-size:46px}.game-title>span{max-width:210px;line-height:1.7}.game-visual>img{right:35px;width:125px}.game-visual{background:radial-gradient(circle at 90% 35%,#5278d155,transparent),#7099f9}.pixel-field{font-size:45px;line-height:1.5;letter-spacing:10px;opacity:.22}#demo-dialog:has(.passage-board){width:min(760px,96vw)}#demo-dialog:has(.passage-board) h2{margin-top:5px}#demo-dialog:has(.passage-board) .dialog-intro{font-size:13px;line-height:1.65;max-width:590px}
@media(max-width:620px){.passage-hud{font-size:8px;letter-spacing:.4px}.passage-board-wrap{max-width:350px;padding-inline:18px;margin-block:33px 30px}.passage-board{gap:3px;padding:4px;border-radius:8px}.passage-tile{border-radius:4px}.passage-guide{width:29px;height:36px;left:-8px}.passage-exit{right:18px;font-size:7px}.passage-entry{left:18px;font-size:7px}.passage-exit::after{width:12px;height:12px;right:-16px;top:30px}.passage-feedback{font-size:11px}.passage-tools{gap:12px}.passage-tools .button{padding:11px 14px;font-size:10px}.passage-tools .text-link{font-size:9px}.game-title{font-size:43px}.game-visual>img{width:110px;right:23px}}
