.link-game .link-toolbar{padding:1rem;gap:1rem;align-items:flex-end;flex-wrap:wrap}
.link-game .link-toolbar .field{flex:1;min-width:130px}
.link-game .link-best{font-size:.85rem;align-self:center;white-space:nowrap;color:var(--accent)}
.link-game .link-stage{position:relative;overflow:hidden;padding:0}
.link-game .link-hud{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.85rem 1rem;font-size:.9rem}
.link-game .link-hud strong{font-variant-numeric:tabular-nums}
.link-game .link-clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.12rem;letter-spacing:.04em;color:var(--accent)}
.link-game .is-urgent{color:var(--danger)}
.link-game [data-time-bar]{display:block;width:100%;height:5px;border:0;appearance:none;background:var(--soft);accent-color:var(--accent)}
.link-game [data-time-bar]::-webkit-progress-bar{background:var(--soft)}
.link-game [data-time-bar]::-webkit-progress-value{background:var(--accent);transition:width .16s linear}
.link-game [data-time-bar].is-urgent::-webkit-progress-value{background:var(--danger)}
.link-game .link-board-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;background:#ebeee4;scrollbar-width:thin}
.link-game .link-board{position:relative;width:100%;aspect-ratio:var(--ratio);background:radial-gradient(circle at 15% 20%,#f2f4e9,#dde6d9);min-width:0}
.link-game .link-board[data-theme="voyager"]{background:radial-gradient(circle at 15% 20%,#eaf0f7,#d7e1ee)}
.link-game .link-board[data-theme="tea"]{background:radial-gradient(circle at 15% 20%,#f5ece0,#e8d9ca)}
.link-game .link-board.is-zoomed{min-width:650px}
.link-game .link-board:before{content:"";position:absolute;inset:3%;border:1px dashed #65836838;border-radius:20px;pointer-events:none}
.link-game .link-tile{position:absolute;border:1px solid #a7b9a0;border-radius:clamp(4px,1vw,10px);display:grid;place-items:center;padding:0;background:linear-gradient(160deg,#fffdf5,#f4f2e4);box-shadow:0 3px 0 #83997945;color:#254336;cursor:pointer;outline-offset:2px;transition:background .1s,border-color .1s;user-select:none;-webkit-tap-highlight-color:transparent}
.link-game .link-tile span{font-size:clamp(15px,3.3vw,34px);line-height:1;pointer-events:none;filter:drop-shadow(0 1px 1px #38533c20)}
.link-game .link-tile:not(:disabled):hover{border-color:var(--accent);background:#fcfff0}
.link-game .link-tile.is-selected{border:3px solid #3d8265;background:#d6edc9;box-shadow:0 0 0 2px #5b936936}
.link-game .link-tile.is-hint{border:3px solid #bb8a2c;background:#fff0bd;box-shadow:0 0 0 2px #dfb05d55}
.link-game .link-tile:disabled{cursor:default;opacity:1}
.link-game .link-board svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.link-game .link-board polyline{fill:none;stroke:#317352;stroke-width:.075;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1px #fff)}
.link-game .link-board .link-hint-line{stroke:#b88826;stroke-dasharray:.14 .1;stroke-width:.06}
.link-game .link-board circle{fill:#3f875d}
.link-game .link-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#28463545;padding:1rem;backdrop-filter:blur(2px)}
.link-game .link-overlay[hidden]{display:none}
.link-game .link-overlay-card{width:min(450px,100%);background:var(--panel);padding:1.8rem;border:1px solid var(--line);border-radius:20px;text-align:center;box-shadow:0 18px 55px #19392c2b}
.link-game .link-overlay-card h2{font-size:clamp(1.1rem,3.5vw,1.7rem);margin:.4rem 0 .8rem}
.link-game .link-overlay-card p{line-height:1.75}
.link-game .link-overlay-card .row{justify-content:center;flex-wrap:wrap}
.link-game .link-overline{color:var(--accent);font-size:.65rem;letter-spacing:.12em;font-weight:700}
.link-game .link-controls{padding:1rem;gap:.55rem;flex-wrap:wrap}
.link-game .link-controls .btn{font-size:.85rem}
.link-game .link-controls .muted{font-size:.75rem;margin-left:auto}
.link-game .link-status{font-size:.85rem;color:var(--muted);line-height:1.7;min-height:1.7em;margin:.2rem 0}
.link-game .link-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}
.link-game .link-guide,.link-game .link-records{padding:1.3rem}
.link-game .link-bottom h2{font-size:1.05rem;margin:0 0 .8rem}
.link-game .link-bottom p{font-size:.85rem;line-height:1.85;color:var(--muted)}
.link-game .link-records .stats{margin:1rem 0}
@media(max-width:650px){
 .link-game .link-toolbar{padding:.8rem;gap:.7rem}
 .link-game .link-toolbar .field{min-width:105px}
 .link-game .link-best{font-size:.75rem;flex-basis:100%}
 .link-game .link-hud{padding:.6rem .7rem;font-size:.74rem;gap:.3rem}
 .link-game .link-clock{font-size:.92rem}
 .link-game .link-controls{padding:.7rem}
 .link-game .link-controls .btn{flex:1 1 65px;font-size:.76rem;padding:.65rem .5rem}
 .link-game .link-controls .muted{flex-basis:100%;margin:0;font-size:.7rem}
 .link-game .link-bottom{grid-template-columns:1fr}
 .link-game .link-overlay-card{padding:1.1rem;border-radius:14px}
 .link-game .link-overlay-card p{font-size:.78rem;margin:.6rem 0}
 .link-game .link-overlay-card .btn{font-size:.8rem;padding:.6rem .9rem}
 .link-game .link-overline{font-size:.57rem!important}
 .link-game .link-board.is-zoomed .link-tile span{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.link-game [data-time-bar]::-webkit-progress-value,.link-game .link-tile{transition:none}}
