.gamespage{display:grid;gap:18px}.gamespage h1{margin:0}.gamespage>p{margin:0;color:var(--ink-2);max-width:62ch}.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px}.gcard{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s,box-shadow .2s}a.gcard:hover,a.gcard:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.gc-body{display:grid;gap:6px;padding:14px 16px 16px;align-content:start}.gc-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.gc-name{font-weight:700;font-size:18px}.gc-name span{font-family:var(--cn)}.gc-zh{color:var(--ink-3);font-size:13px}.gc-zh .cn{font-size:15px;color:var(--ink-2);margin-right:2px}.gc-blurb{color:var(--ink-2);font-size:14px;line-height:1.5}.gc-blurb span{font-family:var(--cn)}.gc-play{justify-self:start;margin-top:6px;font-weight:700;font-size:14px;color:var(--accent)}.gc-play::after{content:" →"}.soon-card{border-style:dashed;background:transparent;align-content:center;min-height:140px}.soon-card .gc-name{font-size:16px;color:var(--ink-2)}.pv{position:relative;aspect-ratio:16/8;background:var(--panel);border-bottom:1px solid var(--line);overflow:hidden;background-image:linear-gradient(var(--grid-soft) 1px,transparent 1px),linear-gradient(90deg,var(--grid-soft) 1px,transparent 1px);background-size:24px 24px}.pv-six .pv-row{position:absolute;inset:0;display:flex;align-items:center;padding:0 5%;gap:0}.pv-six .n{flex:none;width:13%;aspect-ratio:1;display:grid;place-items:center;font-family:var(--cn);font-size:clamp(18px,4.2vw,26px);border:1.5px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);opacity:.3}.pv-six .n.first,.pv-six .n.last{opacity:1;border-color:var(--grid)}.pv-six .n.last{border-color:var(--accent);border-style:dashed}.pv-six .e{flex:1;position:relative;height:2px;margin:0 3px;border-top:2px dashed var(--grid-soft)}.pv-six .e i{position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0)}.pv-six .e em{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-style:normal;font-family:var(--cn);font-size:12px;color:var(--ink-2);white-space:nowrap;opacity:0}.pv-six.play .n{animation:sixN 6s calc(var(--i)*.9s) infinite both}.pv-six.play .n.first{animation:none}.pv-six.play .e i{animation:sixE 6s calc(var(--i)*.9s - .45s) infinite both}.pv-six.play .e em{animation:sixW 6s calc(var(--i)*.9s - .3s) infinite both}@keyframes sixN{0%{opacity:.3;transform:scale(1)}7%{opacity:1;transform:scale(1.12);background:var(--accent-soft);border-color:var(--accent)}13%{transform:scale(1)}80%{opacity:1;background:var(--accent-soft);border-color:var(--accent)}95%,100%{opacity:.3}}@keyframes sixE{0%{transform:scaleX(0)}8%,80%{transform:scaleX(1)}95%,100%{transform:scaleX(0)}}@keyframes sixW{0%{opacity:0}8%{opacity:1}80%{opacity:1}95%,100%{opacity:0}}.pv-drop{display:grid;place-items:center}.pv-board{position:relative;height:84%;aspect-ratio:5/4;border:2px solid var(--grid);border-top:0;background:var(--paper);overflow:hidden}.pv-drop .t{position:absolute;width:20%;height:25%;left:calc(var(--c)*20%);top:calc(var(--r)*25%);display:grid;place-items:center;font-family:var(--cn);font-size:clamp(15px,3.2vw,22px);background:var(--panel);border:1px solid var(--line);border-radius:6px;box-sizing:border-box;color:var(--ink)}.pv-drop .pop{position:absolute;width:20%;height:25%;left:calc(var(--c)*20%);top:calc(var(--r)*25%);display:grid;place-items:center;align-content:center;opacity:0;line-height:1.05}.pv-drop .pop b{font-family:var(--cn);font-size:clamp(20px,4vw,28px);color:var(--accent)}.pv-drop .pop small{font-size:11px;font-weight:700}.pv-drop.play .fA{animation:dFallA 8s infinite both}.pv-drop.play .mA{animation:dMergeA 8s infinite both}.pv-drop.play .pA{animation:dPopA 8s infinite both}.pv-drop.play .fB{animation:dFallB 8s infinite both}.pv-drop.play .mB{animation:dMergeB 8s infinite both}.pv-drop.play .pB{animation:dPopB 8s infinite both}@keyframes dFallA{0%{top:-25%;opacity:1}22%,30%{top:75%;opacity:1;transform:none}37%{top:75%;opacity:0;transform:translateX(-50%) scale(.6)}100%{top:75%;opacity:0}}@keyframes dMergeA{0%,30%{opacity:1;transform:none}37%{opacity:0;transform:translateX(50%) scale(.6)}96%{opacity:0}100%{opacity:1}}@keyframes dPopA{0%,32%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.15)}56%{opacity:1;transform:translateY(-30%)}66%,100%{opacity:0;transform:translateY(-70%)}}@keyframes dFallB{0%,44%{top:-25%;opacity:1}64%,72%{top:50%;opacity:1;transform:none}79%{top:50%;opacity:0;transform:translateY(50%) scale(.6)}100%{top:50%;opacity:0}}@keyframes dMergeB{0%,72%{opacity:1;transform:none}79%{opacity:0;transform:translateY(-50%) scale(.6)}96%{opacity:0}100%{opacity:1}}@keyframes dPopB{0%,74%{opacity:0;transform:scale(.5)}82%{opacity:1;transform:scale(1.15)}92%{opacity:1;transform:translateY(-30%)}100%{opacity:0;transform:translateY(-60%)}}.gamepage{padding:20px 22px 26px;display:grid;gap:14px;min-width:0}.crumb{font-size:13px;color:var(--ink-3);text-decoration:none;justify-self:start}.crumb:hover{color:var(--accent)}.gp-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.gp-head h1{margin:0;font-size:26px}.gp-head h1 span{font-family:var(--cn)}.gp-how{border-top:1px dashed var(--grid);padding-top:14px;color:var(--ink-2);max-width:70ch}.gp-how h2{font-size:15px;margin:0 0 6px;color:var(--ink)}.gp-how p{margin:0 0 10px;font-size:14px}.gp-how span{font-family:var(--cn);color:var(--ink)}.sx{display:grid;gap:14px}.sx-bar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;justify-content:space-between}.sx-tabs{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--paper)}.sx-tabs button{border:0;background:none;border-radius:8px;padding:6px 14px;font-weight:600;font-size:14px;color:var(--ink-2)}.sx-tabs button[aria-selected="true"]{background:var(--ink);color:var(--on-ink)}.sx-levels{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.sx-levels select,.ov-level select{font:inherit;font-size:14px;padding:6px 10px;border-radius:9px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink)}.sx-lvnote{color:var(--ink-3)}.sx-hud{display:grid;gap:8px}.sx-ends{display:flex;align-items:center;gap:12px}.sx-tile{display:grid;justify-items:center;width:70px;padding:6px 0 5px;border:2px solid var(--grid);border-radius:12px;background:var(--panel);text-decoration:none;line-height:1.1;flex:none}.sx-tile .cn{font-size:34px}.sx-tile small{font-size:12px;font-weight:600}.sx-tile.is-target{border-color:var(--accent);border-style:dashed}.sx-road{flex:1;display:flex;gap:6px;align-items:center;min-width:0;max-width:360px}.sx-road i{flex:1;height:8px;border-radius:4px;background:var(--panel-2);border:1px solid var(--line)}.sx-road i.c{background:var(--t3);border-color:var(--t3)}.sx-road i.s{background:var(--t2);border-color:var(--t2)}.sx-road i.f{background:var(--t1);border-color:var(--t1)}.sx-road i.x{background:var(--ink-3);border-color:var(--ink-3)}.sx-road i.over{border-style:dashed}.sx-status{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.sx-fb{font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px}.sx-fb.c{background:color-mix(in srgb,var(--t3) 18%,transparent);color:var(--t3)}.sx-fb.f{background:color-mix(in srgb,var(--t1) 16%,transparent);color:var(--t1)}.sx-fb.s{background:color-mix(in srgb,var(--t2) 18%,transparent);color:var(--t2)}.sx-goal{margin:0;color:var(--ink-2);font-size:14px}.sx-goal b{font-size:17px;color:var(--ink)}.sx-stage{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;background-image:radial-gradient(circle at center,var(--accent-soft) 0,transparent 55%),linear-gradient(var(--grid-soft) 1px,transparent 1px),linear-gradient(90deg,var(--grid-soft) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}.sx-web{display:block;width:100%}.sx-web text{font-family:var(--cn)}.sx-edge{stroke:var(--grid);stroke-width:1.3;stroke-dasharray:3 5;transition:opacity .3s,stroke .2s}.sx-edge.sel{stroke:var(--accent);stroke-width:2.4;stroke-dasharray:none}.sx-node{cursor:pointer}.sx-node.mv,.sx-me.mv{transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s}.sx-node .bg{fill:var(--panel);stroke:var(--line);stroke-width:1.5;transition:fill .15s,stroke .15s}.sx-node .ch{font-size:21px;fill:var(--ink)}.sx-node:hover .bg,.sx-node:focus-visible .bg{stroke:var(--accent);fill:var(--accent-soft)}.sx-node:focus{outline:none}.sx-node.sel .bg{fill:var(--accent);stroke:var(--accent)}.sx-node.sel .ch{fill:var(--on-ink)}.sx-node.visited .bg{fill:var(--panel-2);stroke-dasharray:3 3}.sx-node.visited .ch{fill:var(--ink-3)}.sx-node.target .bg{stroke:var(--accent);stroke-width:2.5}.sx-node .ring{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 4;animation:sxspin 8s linear infinite;transform-origin:center;transform-box:fill-box}.sx-node.hinted .bg{stroke:var(--t2);stroke-width:3}.sx-node.hinted{animation:sxpulse 1.2s ease-in-out infinite}@keyframes sxspin{to{transform:rotate(360deg)}}@keyframes sxpulse{50%{opacity:.6}}.sx-me .bg{fill:var(--panel);stroke:var(--accent);stroke-width:3}.sx-me .halo{fill:var(--accent-soft);opacity:.8}.sx-me .ch{font-size:40px;font-weight:600;fill:var(--ink)}.sx-empty{font-family:var(--ui)!important;font-size:14px;fill:var(--ink-3)}.sx-card{border-top:1px solid var(--line);background:var(--panel);padding:10px 14px;display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;min-height:62px}.sx-card .hint{margin:0;color:var(--ink-3);font-size:13px;flex-basis:100%}.sx-here{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.sx-here .cn{font-size:26px;font-weight:600}.sx-here .gl,.sx-word .gl{color:var(--ink-2);font-size:14px}.sx-word{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap;flex:1;min-width:0}.sx-word .w{font-size:28px;letter-spacing:.02em}.sx-word .w .from{color:var(--ink-3)}.sx-word .w .to{color:var(--accent);font-weight:600}.sx-go{flex:none}.sx-go .cn{font-size:18px}.sx-trail{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}.sx-step{font-family:var(--cn);font-size:20px;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--panel)}.sx-step.here{border-color:var(--accent);background:var(--accent-soft)}.sx-step.goal{background:var(--accent);border-color:var(--accent);color:var(--on-ink)}.sx-link{font-family:var(--cn);font-size:12px;color:var(--ink-3);display:flex;align-items:center;padding:0 3px}.sx-link::before,.sx-link::after{content:"";width:7px;border-top:1.5px solid var(--grid);margin:0 3px}.sx-actions,.sx-endbtns{display:flex;gap:8px;flex-wrap:wrap}.sx-journey{position:relative;border-bottom:1px solid var(--line)}.sx-skip{position:absolute;top:10px;right:10px;padding:5px 12px;font-size:13px;z-index:2}.sx-routes{display:flex;gap:6px;padding:12px 14px 0;flex-wrap:wrap}.sx-routes button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--ink-2)}.sx-routes button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.sx-jsvg{display:block;width:100%}.sx-jsvg .track{fill:none;stroke:var(--grid);stroke-width:2;stroke-dasharray:4 6}.sx-jsvg .trail{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.sx-jsvg .wl{font-family:var(--cn);font-size:12px;fill:var(--ink-2);opacity:0;transition:opacity .3s}.sx-jsvg .wl.on{opacity:1}.sx-jsvg .jn .bg{fill:var(--panel);stroke:var(--line);stroke-width:1.5;transition:fill .3s,stroke .3s}.sx-jsvg .jn .ch{font-family:var(--cn);font-size:20px;fill:var(--ink-3);transition:fill .3s}.sx-jsvg .jn.on .bg{fill:var(--accent-soft);stroke:var(--accent)}.sx-jsvg .jn.on .ch{fill:var(--ink)}.sx-jsvg .jn.first .bg{stroke:var(--grid);stroke-width:2.5}.sx-jsvg .jn.last.arrive .bg{fill:var(--accent);stroke:var(--accent)}.sx-jsvg .jn.last.arrive .ch{fill:var(--on-ink)}.sx-jsvg .jn{transform-box:fill-box;transform-origin:center}.sx-jsvg .marker{fill:var(--t2);stroke:var(--panel);stroke-width:2.5}.sx-spark{position:absolute;font-family:var(--cn);font-size:18px;color:var(--accent);pointer-events:none;transform:translate(-50%,-50%);animation:sxspark 1.4s ease-out forwards}@keyframes sxspark{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.1)}}.sx-result{display:grid;gap:10px;padding:16px;transition:opacity .5s,transform .5s}.sx-result.pending{opacity:0;transform:translateY(8px)}.sx-result h2{margin:0;font-size:22px}.sx-result h2 .cn{font-size:26px}.sx-verdict{margin:0;font-weight:600}.sx-used{margin:0;padding-left:20px;display:grid;gap:4px}.sx-used .cn{font-size:19px}.sx-used .gl{color:var(--ink-2);font-size:13px}.sx-share{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.sx-share pre{margin:0;padding:10px 12px;border:1px dashed var(--grid);border-radius:10px;background:var(--panel);font-family:var(--ui);font-size:13.5px;line-height:1.5;white-space:pre-wrap;user-select:all}.sx-result .hint{margin:0;color:var(--ink-3);font-size:13px}@media (max-width:560px){.sx-tile{width:58px}.sx-tile .cn{font-size:28px}.sx-card{padding:10px}.sx-word .w{font-size:24px}.sx-go{width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.sx-node .ring,.sx-node.hinted{animation:none}.sx-node.mv,.sx-me.mv{transition:none}}.drop{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);grid-template-areas:"stage hud" "stage side" "ctrl side";grid-template-rows:auto 1fr auto;gap:14px 20px;align-items:start}.drop-hud{grid-area:hud;display:grid;gap:10px}.drop-hud small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.drop-stage{grid-area:stage;position:relative}.drop-board{position:relative;width:100%;aspect-ratio:var(--cols)/var(--rows);border:2px solid var(--grid);border-radius:4px 4px 10px 10px;background:var(--paper);overflow:hidden;touch-action:none;outline:none}.drop-board:focus-visible{border-color:var(--accent)}.drop-grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid-soft) 1px,transparent 1px),linear-gradient(90deg,var(--grid-soft) 1px,transparent 1px);background-size:calc(100%/6) calc(100%/10)}.dtile,.drop-ghost{position:absolute;left:0;top:0;width:calc(100%/6);height:calc(100%/10);transition:transform .12s ease-out}.dtile{display:grid;place-items:center;padding:2px}.dtile span{width:100%;height:100%;display:grid;place-items:center;font-family:var(--cn);font-size:clamp(18px,5.4vw,28px);background:var(--panel);border:1px solid var(--line);border-radius:7px;color:var(--ink);box-shadow:0 1px 0 var(--line)}.dtile.falling span{border-color:var(--accent);background:var(--accent-soft)}.dtile.glow span{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.dtile.merging{transition:transform .3s,opacity .3s;opacity:0;scale:.6}.drop-ghost{border:1.5px dashed var(--grid);border-radius:7px;background:transparent;box-sizing:border-box;margin:0}.dpop{position:absolute;left:0;top:0;width:calc(100%/6);height:calc(100%/10);transform:translate(calc(var(--c)*100%),calc(var(--r)*100%));display:grid;place-items:center;align-content:center;pointer-events:none;animation:dpop 1.5s ease-out forwards;z-index:3;line-height:1.05}.dpop b{font-family:var(--cn);font-size:clamp(26px,7vw,38px);color:var(--accent);text-shadow:0 0 8px var(--paper),0 0 2px var(--paper)}.dpop small{font-size:12px;font-weight:700;background:var(--panel);border-radius:5px;padding:0 4px}@keyframes dpop{0%{opacity:0;scale:.5}15%{opacity:1;scale:1.25}30%{scale:1}100%{opacity:0;translate:0 -90%}}.drop-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(2px);border-radius:10px;z-index:5}.ov{display:grid;gap:10px;justify-items:center;text-align:center;max-width:290px}.ov h2{margin:0;font-size:22px}.ov p{margin:0;font-size:14px;color:var(--ink-2)}.ov .hint{font-size:12.5px;color:var(--ink-3)}.ov-eg{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-3);margin:4px 0}.ov-eg .cn{font-size:24px;color:var(--ink);border:1px solid var(--line);background:var(--panel);border-radius:6px;width:36px;height:36px;display:grid;place-items:center}.ov-eg .stack{display:grid;gap:2px}.ov-eg .stack .cn{height:30px}.ov-eg .sep{width:14px}.ov-made{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-height:150px;overflow:auto}.ov-made a{display:grid;justify-items:center;text-decoration:none;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:2px 6px;line-height:1.15}.ov-made .cn{font-size:20px}.ov-made small{font-size:10.5px}.drop-side{grid-area:side;display:grid;gap:14px;align-content:start}.drop-side small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.drop-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.drop-stats div{display:grid;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--paper)}.drop-stats b{font-size:22px;font-variant-numeric:tabular-nums}.drop-next{display:flex;align-items:center;gap:12px}.drop-next .cn{font-size:30px;width:52px;height:52px;display:grid;place-items:center;border:1.5px dashed var(--grid);border-radius:10px;background:var(--panel)}.drop-hint{margin:0;min-height:2.8em;font-size:14px;color:var(--ink-2);padding:8px 10px;border-radius:10px;background:var(--panel-2)}.drop-hint .cn{font-size:18px;color:var(--ink)}.drop-made ol{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.drop-made a{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:baseline;text-decoration:none;padding:3px 6px;border-radius:7px}.drop-made a:hover{background:var(--panel-2)}.drop-made .cn{font-size:20px}.drop-made small{text-transform:none;letter-spacing:0;font-size:13px;font-weight:400;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drop-toggle{font-size:13px;color:var(--ink-2);display:flex;gap:6px;align-items:center}.drop-controls{grid-area:ctrl;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.drop-controls .btn{justify-content:center;padding:10px 0;font-size:15px}@media (max-width:720px){.drop{grid-template-columns:minmax(0,1fr);grid-template-areas:"hud" "stage" "ctrl" "side";grid-template-rows:none;gap:10px}.drop-hud{grid-template-columns:1fr auto;align-items:center;gap:8px}.drop-hud .drop-stats{gap:6px}.drop-hud .drop-stats div{padding:4px 8px}.drop-hud .drop-stats b{font-size:17px}.drop-next .cn{width:44px;height:44px;font-size:26px}.drop-hud .drop-hint{grid-column:1 / -1;min-height:0;font-size:13px;padding:6px 10px}.drop-stage{width:min(100%,360px,calc((100svh - 190px)*.6));justify-self:center}.drop-controls{max-width:360px;width:100%;justify-self:center}.gamepage{padding:16px}}@media (prefers-reduced-motion:reduce){.dtile,.drop-ghost{transition:none}.dpop{animation-duration:.01s}}.ov-level{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.drop-lv{margin:0;font-size:13px;color:var(--ink-3)}.drop-lv b{color:var(--ink-2)}.sx-type{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:10px 14px 12px;border-top:1px dashed var(--line);background:var(--panel);font-size:13px;color:var(--ink-2)}.sx-type label .cn{font-size:16px;color:var(--ink)}.sx-typein{display:flex;gap:6px}.sx-typein input{font:inherit;font-family:var(--cn);font-size:17px;width:10em;padding:5px 10px;border-radius:9px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink)}.sx-typein input:focus{outline:none;border-color:var(--accent)}.sx-typein .btn{padding:5px 12px}.sx-typemsg{flex-basis:100%;color:var(--ink-2)}.sx-typemsg:empty{display:none}.sx-typemsg .btn{padding:2px 10px;margin-left:4px}.sx-typemsg .cn{font-size:17px}.mappage{padding:20px 22px 24px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.map{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-height:720px}.map-bar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}.map-seed{display:flex;gap:6px}.map-seed input{font:inherit;font-family:var(--cn);font-size:17px;width:8em;padding:6px 10px;border-radius:9px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink)}.map-seed input:focus{outline:none;border-color:var(--accent)}.map-seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--paper);flex-wrap:wrap}.map-seg button{flex:1 1 auto;border:0;background:none;border-radius:8px;padding:6px 12px;font-weight:600;font-size:13.5px;color:var(--ink-2)}.map-seg button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}.map-lv{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);min-width:0;max-width:100%}.map-lv select,.ms-head select{font:inherit;font-size:14px;padding:6px 10px;border-radius:9px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);min-width:0;width:auto;max-width:min(100%,280px)}.map-bar>*{min-width:0}#mapSetBtn[aria-expanded="true"]{background:var(--accent-soft);border-color:var(--accent)}.map-settings{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:12px 14px;display:grid;gap:14px}.ms-sec{display:grid;gap:10px}.ms-sec+.ms-sec{border-top:1px dashed var(--line);padding-top:12px}.ms-sec h3{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.ms-f{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);min-width:0;white-space:nowrap}.ms-f select{font:inherit;font-size:14px;padding:6px 10px;border-radius:9px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);min-width:0;max-width:100%}.ms-hint{margin:0;font-size:12.5px;color:var(--ink-3)}#mapSetBtn svg{flex:none}.ms-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.ms-head label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 18px;align-items:center}.ms-s{display:grid;gap:4px;font-size:13px;color:var(--ink-2)}.ms-s output{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;margin-left:4px}.ms-s input{accent-color:var(--accent);width:100%}.ms-t{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink)}.ms-t input{accent-color:var(--accent);width:16px;height:16px}.ms-act{display:flex;gap:8px;flex-wrap:wrap}.map-stage{position:relative;height:min(70vh,700px);min-height:380px;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;touch-action:none}.map-stage canvas{display:block;cursor:grab}.map-stage canvas:active{cursor:grabbing}.map-boot{display:grid;place-items:center}.map-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:color-mix(in srgb,var(--paper) 80%,transparent);font-size:15px;font-weight:600;color:var(--ink-2);z-index:4}.map-boot .map-load{position:static;background:none}.spin{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--grid-soft);border-top-color:var(--accent);animation:mspin .8s linear infinite}@keyframes mspin{to{transform:rotate(360deg)}}.map-run{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 8px 6px 12px;font-size:12.5px;color:var(--ink-2);z-index:3}.map-run .bar{flex:0 0 90px;height:6px;border-radius:3px;background:var(--panel-2);overflow:hidden;display:none}.map-run.on .bar{display:block}.map-run .bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .15s linear}.map-run span{flex:1;min-width:0}.map-run .btn{padding:4px 10px;font-size:12.5px}.map-tip{position:absolute;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:13px;box-shadow:var(--shadow);max-width:340px;z-index:2}.map-tip .cn{font-size:18px}.map-tip .gl{color:var(--ink-2)}.map-tip .more{color:var(--ink-3);font-size:12px}.map-zoom{position:absolute;right:10px;top:10px;display:flex;gap:4px;z-index:2}.map-zoom .btn{padding:4px 10px;font-size:14px}.map-legend{position:absolute;left:12px;top:10px;display:flex;flex-wrap:wrap;gap:4px 10px;max-width:calc(100% - 170px);font-size:12px;color:var(--ink-2);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:5px 9px;z-index:2}.map-legend span{display:inline-flex;align-items:center;gap:4px}.map-legend i{width:10px;height:10px;border-radius:50%;border:1px solid var(--line)}.map-legend .cn{font-size:14px;color:var(--ink)}.map-legend .lab{color:var(--ink-3)}.map-note{margin:0;font-size:13.5px;color:var(--ink);background:var(--accent-soft);border-radius:10px;padding:8px 12px}.map-info{min-height:56px}.map-info .hint{margin:0;color:var(--ink-3);font-size:13.5px}.map-sel{display:flex;align-items:baseline;gap:8px 12px;flex-wrap:wrap}.map-sel .big{font-size:30px;font-weight:600}.map-sel .join{color:var(--ink-3)}.map-sel .gl{color:var(--ink-2);font-size:14px}.map-words{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px}.map-words li{font-size:14px}.map-words .cn{font-size:19px}.map-words .gl{color:var(--ink-2);font-size:13px}.map-act{display:flex;gap:8px;flex-wrap:wrap}@media (max-width:560px){.map-stage{height:60vh}.mappage{padding:16px}.map-legend{max-width:calc(100% - 20px);top:auto;bottom:58px}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}#drop{min-height:620px}#six{min-height:860px}@media (max-width:720px){#drop{min-height:min(830px,calc(160vw + 140px))}}