@property --s{syntax:"<number>";inherits:true;initial-value:1}.cmap-plate{transform:translate(calc(-50% + var(--dx,0px)), calc(-50% + var(--dy,0px))) scale(var(--s,1));transform-origin:50%;visibility:hidden;position:absolute;top:50%;left:50%}.cmap-plate[data-placed]{visibility:visible}@media (prefers-reduced-motion:no-preference){.cmap-plate[data-placed]{transition:transform .7s var(--ease), --s .7s var(--ease)}}.cmap-basemap{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;inset:0}.cmap-draw{position:absolute;inset:0;overflow:visible}.cmap-draw path{vector-effect:non-scaling-stroke}.cmap-marks{pointer-events:none;position:absolute;inset:0}.cmap-mark{transform:translate(-50%, -50%) scale(calc(1 / var(--s)));position:absolute}.cmap-mark.cmap-pin{transform:translate(-50%, -100%) scale(calc(1 / var(--s)));transform-origin:bottom;pointer-events:auto}.cmap-credit{z-index:3;color:var(--ink-faint);margin:0;font-size:10.5px;line-height:1;position:absolute;bottom:8px;right:10px}.cmap-credit a{color:inherit}.cmp-hero{z-index:3;margin-top:-74px;padding-top:74px;position:relative}.cmp-hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(100deg, var(--paper) 0%, var(--paper) 40%, color-mix(in oklab, var(--paper) 70%, transparent) 50%, transparent 62%), linear-gradient(to bottom, transparent 70%, var(--paper) 100%);position:absolute;inset:0}.cmp-hero>.wrap,.cmp-hero-grid{position:static}.cmp-hero-copy{z-index:2;flex-direction:column;align-items:flex-start;max-width:580px;padding-block:clamp(48px,7vw,88px) 20px;display:flex;position:relative}.cmp-hero-copy .kicker{animation:rise .6s var(--ease) both}.cmp-hero h1{font-size:var(--display);letter-spacing:-.045em;animation:rise .72s var(--ease) both;margin-top:20px;font-weight:800;line-height:1.01;animation-delay:60ms}.cmp-hero h1 em{color:var(--accent);font-style:normal}.cmp-hero-copy .hero-lead{animation:rise .72s var(--ease) both;animation-delay:.14s}.cmp-proof{z-index:1;margin:0 0 clamp(48px,6vw,80px);position:relative}.duel{z-index:5;width:100%;animation:rise .72s var(--ease) backwards;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:32px;animation-delay:.22s;display:grid;position:relative}.duel-slot{min-width:0;position:relative}.duel-card{border-radius:var(--radius-l);background:var(--paper);border:1px solid var(--line);width:100%;box-shadow:var(--shadow-1);text-align:left;transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);flex-direction:column;gap:12px;padding:12px 12px 16px;display:flex}.duel-card *{pointer-events:none}.duel-card:hover{box-shadow:var(--shadow-2);border-color:var(--line-strong);transform:translateY(-3px)}.duel-card[aria-expanded=true]{border:2px solid var(--ink);padding:11px 11px 15px}.duel-visual{aspect-ratio:4/3;border-radius:var(--radius-m);background:radial-gradient(120% 100% at 22% 12%, #fdf6f1 0%, var(--wash) 55%, var(--wash-deep) 100%);display:block;position:relative;overflow:hidden}.duel-shape{width:78%;height:78%;margin:auto;position:absolute;inset:0;overflow:visible}.duel-shape.drawn .shape-edge{stroke-width:.7px;stroke-dasharray:1;stroke-dashoffset:0;animation:draw-edge .9s var(--ease) both}.duel-shape.drawn .shape-fill{fill-opacity:.16;animation:fill-in .5s var(--ease-soft) .55s both}@keyframes draw-edge{0%{stroke-dashoffset:1px}}@keyframes fill-in{0%{fill-opacity:0}}.duel-shape.rehearsed path{fill:none;stroke:var(--ink-faint);stroke-width:1.3px;stroke-dasharray:3 3;animation:ghost-in .7s var(--ease) both}@keyframes ghost-in{0%{opacity:0;transform:scale(.94)}}.duel-shape.rehearsed{transform-origin:50%}.duel-empty{border:1.5px dashed var(--line-strong);border-radius:50%;position:absolute;inset:22%}.duel-label{flex-direction:column;gap:2px;min-width:0;padding-inline:4px;display:flex}.duel-label small{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:700}.duel-label b{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:800;overflow:hidden}.duel-prompt{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.duel-area{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.duel-ghost-name{color:var(--ink-faint);animation:fade .5s var(--ease) both}.duel-vs{z-index:3;border-radius:var(--pill);background:var(--paper);border:1px solid var(--line);width:46px;height:46px;box-shadow:var(--shadow-2);color:var(--ink);transition:background var(--fast) var(--ease-soft), transform var(--mid) var(--ease);place-items:center;display:grid;position:absolute;top:calc(50% - 29px);left:50%;translate:-50% -50%}.duel-vs-text{letter-spacing:.02em;font-size:13px;font-style:italic;font-weight:800}.duel-vs svg{display:none}.duel-vs:not(:disabled):hover{background:var(--wash)}.duel-vs:not(:disabled):hover .duel-vs-text{display:none}.duel-vs:not(:disabled):hover svg{display:block}.duel-vs:not(:disabled):active{transform:rotate(180deg)}.duel-vs:disabled{cursor:default}.duel.ready .duel-vs{background:var(--ink);border-color:var(--ink);color:var(--paper)}.duel.ready .duel-vs:hover{background:var(--ink)}.duel-go{animation:rise .72s var(--ease) backwards;margin-top:22px;animation-delay:.3s}.cmp-hero-grid.going .duel-card{transform:none}.picker{z-index:30;width:min(380px, calc(100vw - 2 * var(--gutter)));background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-3);animation:sheet-in .32s var(--ease) both;flex-direction:column;display:flex;position:absolute;top:calc(100% + 10px);left:0;overflow:hidden}.duel-slot[data-slot=b] .picker{left:auto;right:0}.picker-top{justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 4px 18px;display:flex}.picker-top strong{font-size:15px;font-weight:700}.picker-search{border:1px solid var(--line-strong);border-radius:var(--pill);height:44px;color:var(--ink-faint);transition:border-color var(--fast) var(--ease-soft);align-items:center;gap:10px;margin:8px 14px 6px;padding:0 14px;display:flex}.picker-search:focus-within{border-color:var(--ink)}.picker-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:15px}.picker-search input::-webkit-search-cancel-button{display:none}.picker-list{overscroll-behavior:contain;max-height:min(380px,52svh);padding:4px 8px 10px;overflow-y:auto}.picker-group{z-index:1;background:var(--paper);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:10px 10px 6px;font-size:11px;font-weight:700;position:sticky;top:0}.picker-option{border-radius:var(--radius-m);cursor:pointer;color:var(--ink);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 10px 6px 6px;display:grid}.picker-option.active{background:var(--wash)}.picker-option[aria-selected=true] svg:last-child{color:var(--ink)}.picker-option.taken{cursor:not-allowed;opacity:.45}.picker-shape{border-radius:var(--radius-s);background:var(--wash);place-items:center;width:40px;height:40px;display:grid}.picker-shape svg{width:30px;height:30px;overflow:visible}.picker-shape path{fill:var(--accent);fill-opacity:.14;stroke:var(--accent);stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.picker-copy{flex-direction:column;min-width:0;display:flex}.picker-copy b{letter-spacing:-.012em;font-size:14.5px;font-weight:700}.picker-copy small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.picker-empty{color:var(--ink-soft);padding:16px 12px 20px;font-size:14px;line-height:1.5}.cmp-city{position:absolute;inset:0 0 0 30%;overflow:hidden;-webkit-mask-image:radial-gradient(118% 104% at 62% 48%,#000 52%,#0000 92%);mask-image:radial-gradient(118% 104% at 62% 48%,#000 52%,#0000 92%)}.city-zone{fill:var(--accent);fill-opacity:.025;stroke:var(--accent);stroke-opacity:.38;stroke-width:1.1px;stroke-linejoin:round;cursor:pointer;transition:fill-opacity var(--mid) var(--ease), stroke-opacity var(--mid) var(--ease), stroke var(--mid) var(--ease)}.city-zone:hover,.city-zone.preview{fill-opacity:.12;stroke:var(--accent);stroke-opacity:.9;stroke-width:1.4px}.city-zone.rehearsed{fill-opacity:.07;stroke:var(--accent);stroke-opacity:.55;stroke-dasharray:3 3}.city-zone.picked{fill-opacity:.2;stroke:var(--accent);stroke-opacity:1;stroke-width:1.8px;cursor:default}.cmp-city .cmap-pin:disabled{cursor:default}.city-link{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:2 6;stroke-linecap:round;pointer-events:none;animation:fade .5s var(--ease) both}.pin-mount.soft .pin{opacity:.82}.cmp-city-hint{z-index:2;border-radius:var(--pill);background:var(--paper);box-shadow:var(--shadow-1);color:var(--ink-soft);pointer-events:none;align-items:center;gap:7px;padding:8px 14px;font-size:12.5px;font-weight:600;display:inline-flex;position:absolute;top:96px;right:clamp(16px,3vw,40px)}.cmp-city-hint svg{color:var(--accent)}.cmp-what-list{counter-reset:what;flex-direction:column;width:100%;margin-top:6px;display:flex}.cmp-what-list li{counter-increment:what;border-top:1px solid var(--line);grid-template-columns:30px 1fr;column-gap:14px;padding:15px 0;display:grid}.cmp-what-list li:before{content:counter(what);border-radius:var(--pill);background:var(--wash-deep);width:28px;height:28px;color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-row:span 2;place-items:center;font-size:12.5px;font-weight:700;display:grid}.cmp-what-list b{letter-spacing:-.015em;font-size:15.5px;font-weight:700}.cmp-what-list span{color:var(--ink-soft);margin-top:3px;font-size:14.6px;line-height:1.58}.cmp-plate{border-radius:var(--radius-xl);background:var(--wash);border:1px solid var(--line);box-shadow:var(--shadow-2);flex-direction:column;padding:clamp(22px,2.6vw,34px);display:flex}.cmp-plate .mock-table thead td{color:var(--ink-soft);font-size:12.5px;font-weight:700}.cmp-plate .mock-table td{width:96px}.cmp-plate .mock-table tbody tr{animation:rise .5s var(--ease) both;animation-delay:calc(.16s + var(--i) * 70ms)}.cmp-plate .mock-foot svg{color:var(--green)}.cmp-head{padding-bottom:clamp(24px,2.6vw,34px)}.cmp-head .title{margin-top:18px}.cmp-head .lead-lg{max-width:70ch;margin-top:14px}.cmp-stage-wrap{width:100%;max-width:1720px;padding-inline:var(--gutter);padding-bottom:var(--band-half);margin:0 auto}.cmp-stage{--card-w:clamp(296px, 24vw, 384px);--pad:clamp(18px, 1.6vw, 24px);grid-template-columns:var(--card-w) minmax(0, 1fr) var(--card-w);grid-template-rows:repeat(11,auto);column-gap:clamp(16px,1.6vw,24px);display:grid;position:relative}.duel-frame{border-radius:var(--radius-xl);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-1);transition:border-color var(--mid) var(--ease), box-shadow var(--mid) var(--ease);grid-row:1/-1}.duel-frame[data-side=a]{grid-column:1}.duel-frame[data-side=b]{grid-column:3}.cmp-stage[data-hover=a] .duel-frame[data-side=a],.cmp-stage[data-hover=b] .duel-frame[data-side=b]{border-color:var(--ink);box-shadow:var(--shadow-2)}.duel-row{display:contents}.duel-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.duel-cell{min-width:0;padding:18px var(--pad);border-top:1px solid var(--line);transition:background var(--mid) var(--ease);position:relative}.duel-cell[data-side=a]{grid-column:1;grid-row:var(--r)}.duel-cell[data-side=b]{grid-column:3;grid-row:var(--r)}.duel-row:last-child .duel-cell{padding-bottom:calc(var(--pad) + 6px)}.duel-row.on .duel-cell{background:color-mix(in oklab, var(--wash) 70%, transparent)}.duel-pins{--pin-h:52px;grid-area:2/1/-1/-1;grid-template-columns:subgrid;z-index:5;height:var(--pin-h);margin-bottom:calc(var(--pin-h) * -1);pointer-events:none;align-self:start;display:grid;position:sticky;top:82px}.duel-pin{border:1px solid var(--line);border-radius:var(--radius-l);background:color-mix(in oklab, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;box-shadow:var(--shadow-2);opacity:0;transition:opacity var(--mid) var(--ease), transform var(--mid) var(--ease), border-color var(--mid) var(--ease);align-items:center;gap:10px;margin-inline:8px;padding:0 14px 0 8px;display:flex;transform:translateY(-6px)}.duel-pin[data-side=a]{grid-column:1}.duel-pin[data-side=b]{grid-column:3}.duel-pins.on .duel-pin{opacity:1;pointer-events:auto;transform:none}.cmp-stage[data-hover=a] .duel-pin[data-side=a],.cmp-stage[data-hover=b] .duel-pin[data-side=b]{border-color:var(--ink)}.duel-pin .zone-shape{background:var(--wash);border-radius:10px;flex:none;width:36px;height:36px;padding:3px}.duel-pin .shape-fill{fill-opacity:.2}.duel-pin-name{flex-direction:column;min-width:0;line-height:1.2;display:flex}.duel-pin-name b,.duel-pin-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel-pin-name b{letter-spacing:-.02em;font-size:15px;font-weight:800}.duel-pin-name small{color:var(--ink-soft);font-size:12px}.duel-kicker{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.duel-lens{white-space:nowrap;border-radius:var(--pill);letter-spacing:0;text-transform:none;min-width:26px;height:26px;color:var(--ink-faint);transition:background var(--fast) var(--ease-soft), color var(--fast) var(--ease-soft);flex:none;justify-content:center;align-items:center;gap:5px;margin:-5px -6px -5px 0;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}.duel-lens:hover{background:var(--wash-deep);color:var(--ink)}.duel-lens.on{background:var(--ink);color:var(--paper)}.duel-cell[data-side=b] .duel-lens{visibility:visible}.duel-figure{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.duel-figure strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums;transition:color var(--mid) var(--ease);font-size:clamp(28px,2.2vw,34px);font-weight:800;line-height:1}.duel-figure strong em{letter-spacing:-.01em;color:var(--ink-soft);font-size:15px;font-style:normal;font-weight:700}.duel-figure strong.muted{color:var(--ink-faint)}.duel-figure>span{color:var(--ink-soft);font-size:13.5px}.duel-figure small{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.duel-figure .lines{margin:6px 0 2px}.duel-figure .band-meter{width:min(180px,100%);margin-top:6px}.duel-source{margin-top:4px;color:var(--ink-faint)!important}.duel-cell.best .duel-figure strong{color:var(--green-deep)}.duel-cell.best:after{content:"";top:22px;right:var(--pad);background:var(--green);width:8px;height:8px;box-shadow:0 0 0 3px var(--green-wash);border-radius:50%;position:absolute}.duel-row:has(.duel-lens) .duel-cell.best:after{display:none}.duel-missing{color:var(--ink-soft);font-size:14px}.duel-ask{border-radius:var(--radius-m);border:1px dashed var(--line-strong);color:var(--ink-soft);transition:border-color var(--fast) var(--ease-soft), color var(--fast) var(--ease-soft);align-items:center;gap:9px;padding:10px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.duel-ask:hover{border-color:var(--ink);color:var(--ink)}.duel-ask svg{color:var(--green)}.duel-header{padding-top:var(--pad);border-top:0}.duel-portrait{aspect-ratio:2;border-radius:var(--radius-l);background:radial-gradient(120% 100% at 22% 12%, #fdf6f1 0%, var(--wash) 55%, var(--wash-deep) 100%);position:relative;overflow:hidden}.duel-portrait .zone-shape{width:70%;height:76%;transition:transform var(--slow) var(--ease);margin:auto;position:absolute;inset:0}.cmp-stage[data-hover=a] .duel-header[data-side=a] .zone-shape,.cmp-stage[data-hover=b] .duel-header[data-side=b] .zone-shape{transform:scale(1.045)}.cmp-stage[data-hover=a] .duel-header[data-side=a] .shape-fill,.cmp-stage[data-hover=b] .duel-header[data-side=b] .shape-fill{fill-opacity:.2}.duel-name{margin-top:14px}.duel-name h2{letter-spacing:-.028em;font-size:22px;font-weight:800;line-height:1.15}.duel-name span{color:var(--ink-soft);margin-top:2px;font-size:13.5px;display:block}.duel-for{color:var(--ink-soft);margin-top:10px;font-size:13.8px;line-height:1.55}.duel-change{margin-top:12px;position:relative}.duel-change .link{font-size:13.5px}.duel-header[data-side=b] .picker{left:auto;right:0}.duel-character ul{flex-direction:column;gap:9px;display:flex}.duel-character li{grid-template-columns:26px 1fr;align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:1.35;display:grid}.duel-caveat{border-top:1px dashed var(--line);color:var(--ink-soft);grid-template-columns:16px 1fr;gap:10px;margin-top:14px;padding-top:12px;font-size:13px;line-height:1.5;display:grid}.duel-caveat svg{color:var(--ink-faint);margin-top:2px}.duel-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.duel-actions .tour-toggle{box-shadow:var(--shadow-1);border:1px solid var(--line);animation:none}.duel-actions .ghost{font-size:13.5px}.cmp-mapcol{grid-area:1/2/-1;min-width:0}.cmp-sticky{height:calc(100svh - 106px);min-height:520px;max-height:980px;position:sticky;top:90px}.cmap{border-radius:var(--radius-xl);background:var(--wash-deep);border:1px solid var(--line);isolation:isolate;width:100%;height:100%;position:relative;overflow:hidden;container-type:inline-size}.cmap-poster,.cmap-google{position:absolute;inset:0}.cmap-poster{transition:opacity .45s var(--ease-soft);overflow:hidden}.cmap-google{opacity:0;pointer-events:none;transition:opacity .45s var(--ease-soft)}.cmap[data-live] .cmap-google{opacity:1;pointer-events:auto}.cmap[data-live] .cmap-poster{opacity:0;pointer-events:none}.cmap[data-live] .cmap-credit{display:none}.cmap-google *{font-family:var(--font)!important}.cmap .cmap-basemap{opacity:.62;filter:saturate(.8)}.cmap-zone{fill:var(--accent);fill-opacity:.11;stroke:var(--accent);stroke-opacity:.75;stroke-width:1.6px;stroke-linejoin:round;transition:fill-opacity var(--mid) var(--ease), stroke-width var(--mid) var(--ease)}.cmap-zone.on{fill-opacity:.22;stroke-width:2.4px}.cmap[data-lens]:not([data-lens=none]) .cmap-zone:not(.on){fill-opacity:.06}.cmap-radius{fill:none;stroke:var(--ink);stroke-opacity:.5;stroke-width:1.4px;stroke-dasharray:2 5;stroke-linecap:round;animation:fade .4s var(--ease) both}.cmap-stroke path{fill:none;stroke-linecap:round;stroke-linejoin:round}.cmap-stroke .casing{stroke:#fff;stroke-opacity:.9}.cmap-stroke.network path:not(.casing){stroke-opacity:.85}.cmap-stroke.walk path{stroke-dasharray:.5 6;stroke:var(--ink)!important;stroke-width:2px!important}.cmap-stroke.ride,.cmap-stroke.walk{animation:fade .45s var(--ease) both}.cmap-seed i,.cmap-gseed i{background:var(--paper);width:9px;height:9px;box-shadow:0 0 0 2.3px var(--green), 0 1px 3px #221f1c40;border-radius:50%;display:block}.cmap-seed i{animation:seed-in .4s var(--ease) both}@keyframes seed-in{0%{opacity:0;transform:scale(.4)}}.cmap-station,.cmap-gstation{pointer-events:auto;display:block}.cmap-station i,.cmap-gstation i{background:var(--paper);width:10px;height:10px;box-shadow:0 0 0 2.5px var(--ink), 0 1px 3px #221f1c4d;border-radius:50%;display:block}.cmap-station b,.cmap-gstation b{border-radius:var(--pill);background:var(--paper);box-shadow:var(--shadow-1);white-space:nowrap;color:var(--ink);opacity:0;transition:opacity var(--mid) var(--ease);pointer-events:none;padding:3px 9px;font-size:11px;font-weight:600;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.cmap-station:hover b,.cmap-gstation:hover b,.cmap-station.named b,.cmap-gstation.named b{opacity:1}.cmap-gstation{position:relative;transform:translateY(50%)}.cmap-gseed{display:block;transform:translateY(50%)}.cmap-rail{z-index:6;flex-direction:column;align-items:flex-start;gap:10px;max-width:min(340px,100% - 110px);display:flex;position:absolute;top:16px;left:16px}.cmap-rail .layer-note{font-size:12px}.cmap-swap{z-index:6;box-shadow:var(--shadow-2);border:0;position:absolute;top:16px;right:16px}.cmap-swap:active{transform:rotate(180deg)scale(.94)}.cmap-tools{z-index:5;animation:fade .3s var(--ease) both;flex-direction:column;gap:10px;display:flex;position:absolute;top:68px;right:16px}.cmap-tools .zoom-group button,.cmap-tools .tool{place-items:center;width:40px;height:40px;display:grid}.cmap-tools .tool{background:var(--paper);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.cmap-lenses{z-index:6;border-radius:var(--pill);background:var(--paper);max-width:calc(100% - 32px);box-shadow:var(--shadow-3);scrollbar-width:none;gap:4px;padding:5px;display:flex;position:absolute;bottom:22px;left:50%;overflow-x:auto;translate:-50%}.cmap-lenses::-webkit-scrollbar{display:none}.cmap-lens{border-radius:var(--pill);white-space:nowrap;color:var(--ink);transition:background var(--fast) var(--ease-soft), color var(--fast) var(--ease-soft);flex:none;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:600;display:inline-flex}.cmap-lens svg{color:var(--ink-faint);transition:color var(--fast) var(--ease-soft)}.cmap-lens:hover{background:var(--wash)}.cmap-lens.on{background:var(--ink);color:var(--paper)}.cmap-lens.on svg{color:var(--paper)}@container (max-width:780px){.cmap-lens span{display:none}.cmap-lens{padding:10px 12px}.cmap-lens.on span{display:inline}}.hub-select{align-items:center;gap:4px;display:flex;position:relative}.hub-trigger{border-radius:var(--pill);background:var(--paper);min-width:0;box-shadow:var(--shadow-2);transition:background var(--fast) var(--ease-soft);align-items:center;gap:10px;padding:7px 14px 7px 12px;display:inline-flex}.hub-trigger:hover{background:var(--wash)}.hub-trigger>svg:first-child{color:var(--green);flex:none}.hub-trigger>svg:last-child{color:var(--ink-faint);flex:none;transform:rotate(90deg)}.hub-trigger span{flex-direction:column;min-width:0;line-height:1.2;display:flex}.hub-trigger small{color:var(--ink-faint);font-size:11px;font-weight:600}.hub-trigger b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.hub-select.set .hub-trigger{background:var(--ink);color:var(--paper)}.hub-select.set .hub-trigger small,.hub-select.set .hub-trigger>svg{color:#cfc7bf}.hub-clear{border-radius:var(--pill);background:var(--paper);width:30px;height:30px;box-shadow:var(--shadow-1);color:var(--ink-soft);flex:none;place-items:center;display:grid}.hub-clear:hover{color:var(--ink)}.hub-menu{z-index:20;border-radius:var(--radius-l);background:var(--paper);border:1px solid var(--line);width:290px;max-height:min(420px,60svh);box-shadow:var(--shadow-3);animation:sheet-in .3s var(--ease) both;padding:4px 6px 8px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.hub-option{border-radius:var(--radius-s);width:100%;transition:background var(--fast) var(--ease-soft);justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:500;display:flex}.hub-option:hover{background:var(--wash)}.hub-option.on{font-weight:700}.cmp-trips td.best strong{color:var(--green-deep)}.cmp-trips th a{color:inherit;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.cmp-fits{margin-top:var(--band-half);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2vw,26px);display:grid}.cmp-fits .point{background:var(--paper);border:1px solid var(--line)}.cmp-fits .point h3{font-size:19px}.cmp-fits .point strong{color:var(--ink);font-weight:600}.cmp-fits .link{align-self:flex-start;margin-top:4px}.cmp-related{margin-top:var(--band-half);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,3vw,44px);display:grid}.cmp-related h3{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px;font-size:13px;font-weight:700}.cmp-method{margin-top:var(--band-half);border-top:1px solid var(--line);max-width:90ch;padding-top:20px}.cmp-tour{z-index:90;background:var(--paper);position:fixed;inset:0}@media (max-width:1079px){.cmp-stage{flex-direction:column;gap:0;display:flex}.duel-frame{display:none}.duel-pins{--pin-h:46px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;top:80px}.duel-pin,.duel-pin[data-side=a],.duel-pin[data-side=b]{grid-column:auto;margin-inline:0}.duel-pin .zone-shape{width:30px;height:30px}.cmp-mapcol{order:-1;margin-bottom:18px}.cmp-sticky{height:clamp(360px,58svh,560px);min-height:0;position:relative;top:auto}.duel-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;padding:18px 0 20px;display:grid}.duel-row.duel-head{border-top:0;padding-top:0}.duel-title{clip-path:none;white-space:normal;letter-spacing:.09em;text-transform:uppercase;width:auto;height:auto;color:var(--ink-soft);text-align:center;grid-column:1/-1;margin-bottom:12px;font-size:12px;font-weight:700;position:static;overflow:visible}.duel-row.on .duel-title{color:var(--ink)}.duel-cell,.duel-cell[data-side=a],.duel-cell[data-side=b]{border-top:0;grid-column:auto;padding:0;background:0 0!important}.duel-cell[data-side=b]{border-left:1px solid var(--line);padding-left:12px}.duel-kicker>span{display:none}.duel-kicker{margin-bottom:8px}.duel-cell[data-side=b] .duel-kicker{display:none}.duel-row{position:relative}.duel-row>.duel-cell[data-side=a]{position:static}.duel-cell[data-side=a] .duel-kicker:has(.duel-lens){margin:0;position:absolute;top:12px;right:0}.duel-cell.best:after{top:4px;right:0}.duel-cell[data-side=a].best:after{right:12px}.duel-name h2{font-size:19px}.duel-for{display:none}.duel-change .picker{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:82svh;position:fixed;inset:auto 0 0}.duel-change .picker .picker-list{max-height:56svh}}@media (max-width:920px){.cmp-hero{margin-top:0;padding-top:0}.cmp-hero:before{background:linear-gradient(to bottom, transparent 0, transparent calc(40svh - 20px), var(--paper) calc(40svh + 8px))}.cmp-city{height:40svh;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.cmp-city-hint{display:none}.cmp-hero-copy{max-width:none;padding-top:calc(40svh + 8px)}.picker{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:82svh;position:fixed;inset:auto 0 0}.picker .picker-list{max-height:56svh}}@media (max-width:620px){.duel{gap:10px}.duel-card{gap:10px;padding:8px 8px 12px}.duel-card[aria-expanded=true]{padding:7px 7px 11px}.duel-label b{font-size:15.5px}.duel-vs{width:40px;height:40px}.duel-go .primary{width:100%}.cmap-rail{max-width:calc(100% - 76px);top:12px;left:12px}.cmap-swap{top:12px;right:12px}.duel-figure strong{font-size:26px}}@media (prefers-reduced-motion:reduce){.duel-shape.drawn .shape-edge,.duel-shape.drawn .shape-fill,.duel-shape.rehearsed path,.cmp-plate .mock-table tbody tr,.cmap-seed i,.cmap-radius,.cmap-stroke.ride,.cmap-stroke.walk,.duel,.duel-go,.cmp-hero h1,.cmp-hero-copy>*{animation:none}}
