.view:has(>.map>svg.plan.city){background:transparent}.plan.city .pm-district>rect:first-child{fill-opacity:0}.plan.city .pm-district:hover>rect:first-child{fill-opacity:.14}.plan.city .pm-edge{stroke-width:2}.plan.city .pm-district:hover .pm-edge{stroke-width:3}.plan.city .pm-edge-halo{fill:none;stroke:var(--cream-soft);stroke-width:5;stroke-opacity:.6}.plan.city .pm-district.status .pm-edge{stroke-width:1.5;stroke-dasharray:7 5}.plan.city .pm-area{fill:var(--ink);paint-order:stroke;stroke:var(--cream-soft);stroke-width:3.5px;stroke-linejoin:round}.plan.city :is(.pm-area,.pm-chip,.pm-feed){pointer-events:none}.plan.city .pm-road{stroke-opacity:.8}.pm-span-case{fill:none;stroke:var(--ink);stroke-linecap:butt}.pm-span{fill:none;stroke:var(--cream-soft);stroke-linecap:butt}.pm-place{cursor:pointer}.pm-place .pm-ring{fill:transparent;stroke:none;stroke-width:3}.pm-place[aria-current] .pm-ring{stroke:var(--coral)}.pm-place:hover circle:not(.pm-ring){stroke-width:2.5}.pm-place.scenery circle:not(.pm-ring){fill:var(--cream)}.hall{position:relative;flex:1;min-height:0;pointer-events:none}.hall>*{pointer-events:auto}.hall-stage{position:absolute;inset:0;overflow:hidden;background:#3a3f47}.hall-css{position:absolute;inset:0;pointer-events:none}.hall-stage>canvas{position:absolute;inset:0;display:block;pointer-events:none}.hall-face{pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;background:var(--cream);color:var(--ink);font-size:21px;border-radius:4px;transition:box-shadow .15s}.hall-face:hover{box-shadow:inset 0 0 0 12px var(--coral)}.hall-face-head{flex:none;padding:18px 28px 12px;border-bottom:6px solid var(--ink);font-size:44px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;line-height:1.1}.hall-face-body{flex:1;min-height:0;overflow:hidden;padding:18px 26px}.hall-face.map .hall-face-body{padding:0}.hall-face.map svg{display:block}.hall-walk{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:10px}.hall-walk .btn.on{background:var(--ink);color:var(--cream)}.hall-walk .btn.on kbd{background:var(--cream-soft);color:var(--ink)}.hall-table{position:absolute;top:14px;right:14px;width:min(320px,40%);padding:10px 16px 14px}.hall-walk .btn{display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm);white-space:nowrap}.hall-walk kbd,.hall-close kbd{font:inherit;font-size:.8em;font-weight:800;min-width:1.7em;padding:0 .35em;text-align:center;border:2px solid var(--ink);border-radius:6px;background:var(--cream)}.hall-say{position:absolute;top:14px;left:14px;width:min(560px,calc(100% - 380px));padding:10px 16px;background:var(--cream);color:var(--ink);border:var(--border);border-radius:var(--radius, 14px);box-shadow:var(--shadow-sm);font-size:1rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.hall-say b{font-weight:800;margin-right:6px}.hall-log{overflow:hidden;position:absolute;left:14px;bottom:72px;width:min(380px,30%);max-height:36%;display:flex;flex-direction:column;padding:8px 14px 10px}.hall-log .log{flex:1;min-height:0;overflow-y:auto}.hall-log.closed{width:auto;padding:0;background:none;border:none;box-shadow:none}.hall-close{position:absolute;top:14px;bottom:14px;left:50%;transform:translate(-50%);width:min(1180px,calc(100% - 28px));overflow-y:auto;padding:12px 18px 18px}.close-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.close-head>.btn{display:flex;align-items:center;gap:8px}.hb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(19em,1fr));gap:.9em 1.4em;align-items:start}.hb-sec.wide{grid-column:1 / -1}.hb-sec>h3{margin:0 0 .35em;padding-bottom:.25em;border-bottom:2px solid var(--ink);font-size:.72em;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.hb-row{display:grid;grid-template-columns:1fr auto;gap:0 .6em;padding:.35em 0;border-bottom:1px solid rgba(42,37,40,.15)}.hb-row>b{font-weight:700}.hb-row>small{grid-column:1 / -1;color:var(--ink-soft);font-size:.8em;line-height:1.35}button.hb-row{width:100%;background:none;border:0;border-bottom:1px solid rgba(42,37,40,.15);text-align:left;cursor:pointer;font:inherit;color:inherit}button.hb-row:hover{background:var(--cream-soft)}.hb-sec .fact{font-size:.92em}.hb-none{color:var(--ink-soft);font-size:.85em;font-style:italic;margin:.3em 0}.figure{position:absolute;z-index:21;width:240px;height:470px;pointer-events:none;transition:opacity .25s}.figure.off{visibility:hidden;opacity:0;transition:none}.figure canvas{display:block;width:100%;height:420px}.figure-name{margin:0 auto;width:max-content;max-width:100%;padding:6px 12px;text-align:center;background:var(--cream);color:var(--ink);border:var(--border);border-radius:10px;box-shadow:var(--shadow-sm);font-size:.78em;line-height:1.3}.figure-name b{display:block;font-weight:800;font-size:1.1em}.figure-name small{display:block;margin-top:2px;font-size:.85em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.landing{justify-content:flex-start;align-items:center;padding:32px 0 32px max(40px,6vw);background:linear-gradient(90deg,#24304d8c 0,#24304d33 38%,#24304d00 62%)}.landing-card{width:440px;flex:none;background:var(--cream);border:var(--border);border-radius:var(--radius);box-shadow:10px 10px 0 var(--ink);padding:26px 28px 20px;margin:auto 0}.landing-card .wordmark{font-size:64px;margin-top:14px}.landing-card .tagline{margin-bottom:18px}.landing-card .section{margin:0 0 2px}.landing-account{gap:12px}.btn.wide{width:100%;text-align:center;font-weight:800}.signin .code{font-size:1.5em;letter-spacing:.35em;font-weight:700;font-variant-numeric:tabular-nums}.signin-sent,.signed-in{margin:0}.hint{margin:0;color:var(--ink-soft);font-size:.86em}.or{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}.or:before,.or:after{content:"";flex:1;border-top:2px solid var(--ink);opacity:.25}.landing-note,.landing-privacy{font-size:.8em;color:var(--ink-soft);margin:16px 0 0}.landing-note strong,.landing-privacy strong{color:var(--ink)}.linkish{appearance:none;border:0;background:none;padding:0;cursor:pointer;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.landing-card .credit{margin-top:16px}.landing-caption{position:fixed;right:28px;bottom:20px;margin:0;pointer-events:none;font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-soft);text-shadow:0 1px 2px rgba(0,0,0,.6)}body.landing-on .board-overlay{display:none}
