[hidden]{display:none!important}
:root{
  --bg:#07101f;--panel:#0e1a2d;--panel2:#12223a;--line:#243a5b;--text:#f4f7fb;--muted:#9eb0c9;
  --accent:#2f8cff;--accent2:#55b7ff;--good:#3dd9a1;--warn:#ffc861;--danger:#ff7186;
  --radius:18px;--shadow:0 18px 50px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}body{margin:0;background:radial-gradient(circle at 80% -10%,#102e56 0,transparent 34%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 32px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:30;background:rgba(7,16,31,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}.header-inner{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:.04em}.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,var(--accent2),var(--accent));display:grid;place-items:center;box-shadow:0 8px 22px rgba(47,140,255,.32);font-weight:900}.nav{display:flex;gap:18px;color:var(--muted);font-size:.93rem}.nav a:hover{color:#fff}
.hero{padding:70px 0 54px}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:34px;align-items:center}.eyebrow{color:#7cc4ff;font-weight:800;letter-spacing:.1em;font-size:.78rem}.hero h1{font-size:clamp(2.25rem,6vw,4.6rem);line-height:1.08;margin:.22em 0}.hero h1 span{color:#77c6ff}.hero p{color:var(--muted);font-size:1.08rem;max-width:650px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.search-shell,.card{background:linear-gradient(180deg,rgba(18,34,58,.96),rgba(12,24,42,.96));border:1px solid rgba(126,168,221,.16);border-radius:var(--radius);box-shadow:var(--shadow)}.search-shell{padding:18px}.search-row{display:flex;gap:10px}.search-row input,.input{width:100%;min-height:48px;background:#091424;border:1px solid #29415f;color:#fff;border-radius:13px;padding:0 15px;outline:none}.search-row input:focus,.input:focus{border-color:#4ba2ff;box-shadow:0 0 0 3px rgba(47,140,255,.14)}
.btn{min-height:46px;border:0;border-radius:13px;padding:0 18px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),#126be2);box-shadow:0 10px 24px rgba(47,140,255,.25);display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.secondary{background:#182a43;box-shadow:none;border:1px solid #2b4669;color:#d9e8fb}.btn.ghost{background:transparent;border:1px solid #2a4263;box-shadow:none;color:#c6d7ee}.btn.active{border-color:#5cb8ff;color:white;background:#153c66}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{min-height:38px;padding:0 12px;font-size:.85rem}
.hero-preview{padding:16px}.preview-window{background:#081321;border:1px solid #213752;border-radius:16px;overflow:hidden}.preview-top{height:42px;border-bottom:1px solid #20344f;display:flex;align-items:center;padding:0 14px;gap:6px}.dot{width:8px;height:8px;border-radius:50%;background:#34506f}.preview-map{padding:16px;display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.mini-seat{height:34px;border-radius:7px;background:#152a47;border:1px solid #2b466b;display:grid;place-items:center;color:#8da5c2;font-size:.7rem}.mini-seat.hit{background:#0b579f;border-color:#54b0ff;color:white;box-shadow:0 0 0 2px rgba(85,183,255,.18)}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.stat{padding:14px;border-radius:14px;background:#0b1829;border:1px solid #203a59}.stat b{display:block;font-size:1.25rem}.stat span{color:var(--muted);font-size:.78rem}
.section{padding:34px 0 70px}.section-tight{padding:26px 0 20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section h2{font-size:1.65rem;margin:.15em 0}.muted{color:var(--muted)}
.hall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hall-card{padding:20px;transition:.2s transform,.2s border-color}.hall-card:hover{transform:translateY(-2px);border-color:#37608c}.hall-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.favorite-badge{font-size:1.1rem;color:#ffc861}.tag{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;color:#b9d7f8;background:#132944;border:1px solid #254a74;border-radius:999px;padding:5px 9px}.hall-card h3{margin:12px 0 4px}.hall-meta{display:flex;gap:12px;flex-wrap:wrap;color:#91a8c6;font-size:.84rem}.feature-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.feature-row span{font-size:.72rem;padding:4px 7px;border:1px solid #294663;border-radius:7px;color:#9db4d0}.card-link{display:flex;align-items:center;justify-content:space-between;margin-top:18px;color:#7ec2ff;font-weight:800}.empty-state{grid-column:1/-1;border:1px dashed #314b6a;border-radius:14px;padding:28px;color:#8298b4;text-align:center}.empty-state.compact{padding:18px}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card{padding:20px}.info-card .step{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#12365c;color:#8fceff;font-weight:900}.info-card h3{margin:12px 0 5px}.info-card p{color:var(--muted);margin:0;font-size:.9rem}
.ad-wrap{min-height:104px;border:1px dashed #38506f;background:rgba(11,23,40,.58);border-radius:14px;display:grid;place-items:center;color:#7187a3;font-size:.8rem;text-align:center;padding:12px;overflow:hidden}.ad-wrap.ad-placeholder::before{content:'広告掲載予定';display:block}.ad-label{font-size:.68rem;color:#6e819a;margin-bottom:5px}.adsbygoogle{width:100%}
.breadcrumb{padding-top:22px;color:#7f95b2;font-size:.84rem}.breadcrumb a{color:#a7bdd8}.hall-hero{padding:18px 0 18px}.hall-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.hall-title-row h1{margin:.12em 0 .05em;font-size:clamp(1.75rem,4vw,2.6rem)}.hall-actions{display:flex;gap:8px;flex-wrap:wrap}
.hall-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start;padding-bottom:70px}.main-stack,.side-stack{display:grid;gap:16px}.card-pad{padding:18px}.search-tabs{display:flex;gap:8px;margin-bottom:12px}.tab{background:#0a1628;border:1px solid #284260;color:#9eb4cf;border-radius:999px;padding:8px 13px;font-weight:700}.tab.active{background:#143e6c;border-color:#348be5;color:#fff}.quick-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chip{border:1px solid #29466c;background:#0e2037;color:#bcd5f5;border-radius:999px;padding:7px 11px;font-size:.83rem}.chip:hover{border-color:#4b9df0;color:#fff}.result-summary{display:none;margin-top:14px;padding:13px;background:#0a1628;border:1px solid #27415e;border-radius:13px}.result-summary.show{display:block}.result-header{display:flex;gap:12px;justify-content:space-between;align-items:center}.result-nav{display:flex;gap:6px;align-items:center}.result-nav button{width:34px;height:34px;border-radius:9px;border:1px solid #315277;background:#10243d;color:#d9eaff;font-weight:900}.result-nav span{min-width:48px;text-align:center;color:#9eb1c9;font-size:.75rem}.result-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px;max-height:130px;overflow:auto}.seat-pill{border:1px solid #35689a;background:#0d3153;color:#dff1ff;border-radius:9px;padding:6px 9px;font-weight:800}.seat-pill:hover{background:#124674}
.map-card{overflow:hidden}.map-toolbar{padding:14px 16px;border-bottom:1px solid #213752;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.map-toolbar-actions{display:flex;gap:7px}.icon-btn{height:38px;min-width:38px;border-radius:10px;border:1px solid #2c496e;background:#11233b;color:#dbeaff;font-weight:900}.map-viewport{position:relative;background:#07111f;min-height:560px;overflow:hidden}.map-viewport svg{width:100%;height:620px;display:block;touch-action:none;cursor:grab;user-select:none}.map-viewport svg:active{cursor:grabbing}.floor-bg{fill:#091524;stroke:#203955;stroke-width:4}.floor-label{fill:#6f87a5;font-size:32px;font-weight:800}.seat rect{fill:#142741;stroke:#36516f;stroke-width:2;transition:.15s}.seat text{fill:#eaf3ff;font-size:13px;font-weight:800;pointer-events:none;text-anchor:middle;dominant-baseline:central}.seat:hover rect{fill:#1a3658;stroke:#5f93c7}.seat.match rect{fill:#07579d;stroke:#66c3ff;stroke-width:4}.seat.selected rect{fill:#0c74c9;stroke:#c8edff;stroke-width:6;filter:drop-shadow(0 0 9px rgba(69,173,255,.7))}.map-hint{position:absolute;left:12px;bottom:12px;background:rgba(6,15,27,.9);border:1px solid #28405e;border-radius:10px;padding:7px 10px;color:#91a8c6;font-size:.75rem}.detail-card{padding:18px;position:sticky;top:84px}.detail-empty{color:#8399b5}.detail-seat{font-size:2.1rem;font-weight:900;line-height:1}.detail-machine{font-weight:800;margin-top:8px}.detail-meta{border-top:1px solid #243955;margin-top:15px;padding-top:13px;color:#93aac7;font-size:.86rem}.source-link{color:#76beff;text-decoration:underline;text-underline-offset:3px}.notice{font-size:.78rem;color:#7f95b2}.machine-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:460px;overflow:auto;padding-right:2px}.machine-row{border:1px solid #28445f;background:#0a1829;color:#dbeaff;border-radius:10px;padding:10px 11px;text-align:left;display:flex;justify-content:space-between;gap:10px;align-items:center}.machine-row:hover{border-color:#4a91d8;background:#102441}.machine-row b{color:#78c2ff;white-space:nowrap;font-size:.8rem}
.status-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #28435f;background:#0d1d31;border-radius:12px;color:#a8bdd7;font-size:.82rem}.status-dot{width:9px;height:9px;border-radius:50%;background:#52d7a0;margin-top:.42em;flex:none}.status-dot.warn{background:var(--warn)}
.footer{border-top:1px solid #1d3048;padding:28px 0 40px;color:#8499b3}.footer-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer small{display:block;margin-top:14px}.legal{padding:42px 0 80px}.legal .card{padding:26px}.legal h1{margin-top:0}.legal h2{margin-top:1.6em;font-size:1.2rem}.legal p,.legal li{color:#b3c3d8}.legal ul{padding-left:1.25rem}.legal a:not(.btn){color:#79c0ff;text-decoration:underline;text-underline-offset:3px}.legal code{background:#081522;border:1px solid #233c59;border-radius:6px;padding:2px 5px}.page-title{padding:46px 0 18px}.page-title h1{margin:.15em 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#10233a;border:1px solid #31577d;border-radius:12px;padding:10px 15px;color:#fff;z-index:100;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.hero-grid,.hall-layout{grid-template-columns:1fr}.hall-grid{grid-template-columns:1fr 1fr}.info-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr}.detail-card{position:static}.map-viewport svg{height:540px}.machine-list{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(100% - 22px,1180px)}.nav{display:none}.hero{padding:46px 0 35px}.hero-grid{gap:18px}.hero p{font-size:.96rem}.search-row{flex-direction:column}.search-row .btn{width:100%}.hall-grid,.side-stack,.machine-list{grid-template-columns:1fr}.hall-title-row{display:block}.hall-actions{margin-top:12px}.hall-actions .btn{flex:1}.map-viewport{min-height:500px}.map-viewport svg{height:510px}.map-toolbar-actions .icon-btn{height:36px}.section{padding-bottom:52px}.ad-wrap{min-height:86px}.stat-strip{grid-template-columns:1fr 1fr 1fr}.stat{padding:10px}.stat b{font-size:1rem}.stat span{font-size:.68rem}.result-header{align-items:flex-start;flex-direction:column}.result-nav{align-self:flex-end}.header-inner{height:62px}}

/* 2026-09-18 FLOOR777 map refinements */
.icon-btn.wide{min-width:78px;padding:0 9px;font-size:.76rem}.icon-btn.active{border-color:#55b8ff;background:#153e69;color:#fff}
.seat .seat-number{fill:#eaf3ff;font-size:8.5px;font-weight:900;pointer-events:none;text-anchor:middle;dominant-baseline:central}
.seat .seat-machine{fill:#a9c3df;font-size:6.5px;font-weight:700;pointer-events:none;text-anchor:middle;dominant-baseline:central}
.seat.match .seat-machine,.seat.selected .seat-machine{fill:#fff}.seat.match .seat-number,.seat.selected .seat-number{fill:#fff}
.map-viewport svg{transition:background-color .2s ease}.seat{transition:opacity .18s ease}.seat rect{vector-effect:non-scaling-stroke}
@media(max-width:620px){.map-toolbar-actions{width:100%;overflow-x:auto;padding-bottom:2px}.icon-btn.wide{flex:0 0 auto}.map-viewport svg{height:560px}.seat .seat-number{font-size:8px}.seat .seat-machine{font-size:6px}}

/* FLOOR777 v2: public machine data */
.data-badge{display:inline-flex;align-items:center;border:1px solid #31506f;background:#10243a;color:#9db6d2;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800}.data-badge.live{border-color:#246b55;background:#0d2d25;color:#83e2bc}.data-badge.warn{border-color:#6a5730;background:#2b2413;color:#efcc7f}.detail-stats-status{margin-top:14px;padding:10px 12px;border:1px dashed #35516f;border-radius:10px;color:#91a8c6;font-size:.83rem}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.stat-box{background:#0a192a;border:1px solid #263e5a;border-radius:11px;padding:10px}.stat-box span{display:block;color:#8198b5;font-size:.72rem;margin-bottom:4px}.stat-box strong{font-size:1.02rem;color:#edf6ff}.stat-box strong.plus{color:#ff8e9b}.stat-box strong.minus{color:#75bdff}.history-title{font-size:.83rem;font-weight:900;margin:16px 0 7px;color:#bfd2e8}.history-scroll{overflow:auto}.history-table{width:100%;border-collapse:collapse;font-size:.78rem}.history-table th,.history-table td{padding:7px 6px;border-bottom:1px solid #21354d;text-align:right;white-space:nowrap}.history-table th:first-child,.history-table td:first-child{text-align:left}.history-table th{color:#718ba8;font-weight:800}.history-table .plus{color:#ff8e9b;font-weight:800}.history-table .minus{color:#75bdff;font-weight:800}


/* FLOOR777 BLACK x RED THEME + map data tools */
:root{
  --bg:#050505;--panel:#0b0b0d;--panel2:#111114;--line:#2a2a2f;--text:#f7f7f8;--muted:#9d9da6;
  --accent:#e60023;--accent2:#ff334f;--good:#ff4058;--warn:#ffb3bd;--danger:#ff4058;
  --shadow:0 18px 50px rgba(0,0,0,.48)
}
html{color-scheme:dark}body{background:radial-gradient(circle at 78% -12%,rgba(230,0,35,.19) 0,transparent 32%),linear-gradient(180deg,#080808 0,#030303 100%);color:var(--text)}
.site-header{background:rgba(5,5,5,.92);border-bottom:1px solid rgba(255,46,72,.12)}
.brand-mark{background:linear-gradient(145deg,#ff334f,#b9001c);box-shadow:0 8px 24px rgba(230,0,35,.34)}
.eyebrow,.card-link,.source-link,.legal a:not(.btn){color:#ff5b70}
.search-shell,.card{background:linear-gradient(180deg,rgba(18,18,20,.98),rgba(8,8,10,.98));border-color:rgba(255,76,99,.16)}
.search-row input,.input{background:#08080a;border-color:#303035}.search-row input:focus,.input:focus{border-color:#ef2946;box-shadow:0 0 0 3px rgba(230,0,35,.16)}
.btn{background:linear-gradient(135deg,#ef1737,#b9001c);box-shadow:0 10px 24px rgba(230,0,35,.24)}
.btn.secondary,.btn.ghost{background:#121214;border-color:#34343a;color:#f1f1f3}.btn.active{border-color:#ff4058;background:#3a0b12;color:#fff}
.preview-window,.stat,.result-summary,.stat-box,.machine-row,.detail-stats-status{background:#09090b;border-color:#2c2c31}
.mini-seat{background:#151518;border-color:#34343a;color:#aaaab2}.mini-seat.hit{background:#7d0013;border-color:#ff4058;box-shadow:0 0 0 2px rgba(230,0,35,.2)}
.tag,.feature-row span,.chip,.tab,.icon-btn{background:#111114;border-color:#333339;color:#c9c9cf}.tab.active,.icon-btn.active{background:#4a0b15;border-color:#ff4058;color:#fff}.chip:hover,.icon-btn:hover{border-color:#e60023;color:#fff}
.hall-card:hover{border-color:#6e1a28}.favorite-badge{color:#ff4058}
.floor-bg{fill:#08080a;stroke:#2b2b30}.floor-label{fill:#717178}
.seat rect{fill:#151518;stroke:#3b3b41}.seat:hover rect{fill:#251015;stroke:#a52a3b}.seat.match rect{fill:#850017;stroke:#ff536a}.seat.selected rect{fill:#c70020;stroke:#ffd4da;filter:drop-shadow(0 0 9px rgba(230,0,35,.72))}
.seat .seat-number{fill:#f3f3f5}.seat .seat-machine{fill:#a9a9b0}.seat.match .seat-machine,.seat.selected .seat-machine,.seat.match .seat-number,.seat.selected .seat-number{fill:#fff}
.seat.diff-pos-1 rect{fill:#4a0b15;stroke:#8e2333}.seat.diff-pos-2 rect{fill:#7d0013;stroke:#d82942}.seat.diff-pos-3 rect{fill:#b6001d;stroke:#ff5b70}.seat.diff-zero rect{fill:#19191c;stroke:#404047}.seat.diff-negative rect{fill:#0d0d0f;stroke:#29292e}
.seat.recommended rect{stroke:#ff1744!important;stroke-width:5!important;filter:drop-shadow(0 0 7px rgba(255,23,68,.74))}.recommend-star{fill:#ff4058;font-size:10px;font-weight:900;pointer-events:none;text-anchor:middle;dominant-baseline:central;filter:drop-shadow(0 0 3px rgba(255,23,68,.8))}
.map-data-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid #26262b;background:#09090b}.map-value-switch{display:inline-flex;padding:3px;border:1px solid #303036;border-radius:11px;background:#050506}.map-value-btn,.recommend-btn{min-height:34px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:#9f9fa7;font-weight:850}.map-value-btn.active{background:linear-gradient(135deg,#e60023,#9f0018);color:#fff;box-shadow:0 5px 14px rgba(230,0,35,.25)}.recommend-btn{border:1px solid #38383e;background:#111114}.recommend-btn.active{border-color:#ff4058;background:#4b0b16;color:#fff;box-shadow:0 0 0 2px rgba(230,0,35,.1)}.recommend-btn:disabled{opacity:.4}.recommend-info{font-size:.76rem;color:#8f8f97}
.data-badge{border-color:#38383e;background:#121214;color:#b8b8be}.data-badge.live{border-color:#8c2333;background:#320910;color:#ff8292}.data-badge.warn{border-color:#5a353a;background:#241417;color:#e8afb7}
.stat-box strong.plus,.history-table .plus{color:#ff536a}.stat-box strong.minus,.history-table .minus{color:#bdbdc4}.history-title{color:#d8d8dc}.history-table th{color:#7e7e86}.history-table th,.history-table td{border-bottom-color:#27272c}
.status-note{border-color:#303036;background:#0d0d10;color:#b7b7be}.status-dot{background:#ff4058}.footer{border-top-color:#242429;color:#8e8e96}.toast{background:#17171a;border-color:#6d1725}.ad-wrap{border-color:#38383e;background:rgba(12,12,14,.72)}
@media(max-width:620px){.map-data-controls{align-items:stretch}.map-value-switch{flex:1}.map-value-btn{flex:1;padding:0 9px}.recommend-btn{width:100%}.recommend-info{width:100%}}


/* FLOOR777 legacy diff-map palette */
.seat.diff-p4000 rect{fill:#a60018!important;stroke:#ff334f!important}
.seat.diff-p3000 rect{fill:#6d2aa8!important;stroke:#b67cff!important}
.seat.diff-p2000 rect{fill:#168a45!important;stroke:#55d987!important}
.seat.diff-p1000 rect{fill:#76a91f!important;stroke:#b8ef58!important}
.seat.diff-positive rect{fill:#1779b8!important;stroke:#5fc4ff!important}
.seat.diff-zero rect{fill:#b9dcf2!important;stroke:#e2f4ff!important}
.seat.diff-negative rect{fill:#f2f2f2!important;stroke:#c9c9c9!important}
.seat.diff-zero .seat-number,.seat.diff-zero .seat-machine,
.seat.diff-negative .seat-number,.seat.diff-negative .seat-machine{fill:#111!important}
.diff-legend{display:flex;gap:7px;flex-wrap:wrap;align-items:center;width:100%;margin-top:2px}
.diff-legend span{display:inline-flex;align-items:center;gap:5px;color:#a8a8af;font-size:.69rem}
.diff-legend i{width:11px;height:11px;border-radius:3px;border:1px solid rgba(255,255,255,.28);display:inline-block}
.diff-legend .c4000{background:#a60018}.diff-legend .c3000{background:#6d2aa8}.diff-legend .c2000{background:#168a45}.diff-legend .c1000{background:#76a91f}.diff-legend .cplus{background:#1779b8}.diff-legend .czero{background:#b9dcf2}.diff-legend .cminus{background:#f2f2f2}


/* FLOOR777 mobile map tools: pinch / orientation / PDF */
.phone-orientation-btn{min-width:112px}.orientation-status{font-size:.73rem;color:#a8a8af;padding:0 2px}
.map-viewport svg{touch-action:none;-webkit-user-select:none;user-select:none}
@media(max-width:620px){.map-toolbar-actions{scrollbar-width:none}.map-toolbar-actions::-webkit-scrollbar{display:none}.phone-orientation-btn{min-width:112px}}

@media print{
  @page{size:A4 landscape;margin:9mm}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.print-map{background:#fff!important;color:#111!important}
  body.print-map .site-header,
  body.print-map .breadcrumb,
  body.print-map .ad-label,
  body.print-map .ad-wrap,
  body.print-map .search-tabs,
  body.print-map #searchCard,
  body.print-map .main-stack>.status-note,
  body.print-map .main-stack>.card:not(.map-card),
  body.print-map .side-stack,
  body.print-map .footer,
  body.print-map .map-toolbar-actions,
  body.print-map .map-data-controls,
  body.print-map .map-hint{display:none!important}
  body.print-map .container{width:100%!important;max-width:none!important}
  body.print-map .hall-hero{padding:0 0 5mm!important}
  body.print-map .hall-actions{display:none!important}
  body.print-map .hall-layout{display:block!important;padding:0!important}
  body.print-map .main-stack{display:block!important}
  body.print-map .map-card{border:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}
  body.print-map .map-toolbar{padding:0 0 4mm!important;border:0!important;background:#fff!important;color:#111!important}
  body.print-map .map-toolbar .muted{color:#555!important}
  body.print-map .map-viewport{min-height:0!important;overflow:visible!important;background:#fff!important}
  body.print-map .map-viewport svg{width:100%!important;height:auto!important;max-height:165mm!important}
}

/* continuous compass rotation */
#mapContent{transform-box:view-box;will-change:transform}.phone-orientation-btn.active{border-color:#ff4058;background:#4b0b16;color:#fff}


/* Recommended seats: high-visibility overlay (must override diff palette) */
.seat.recommended rect{
  stroke:#ffd400!important;
  stroke-width:7!important;
  filter:drop-shadow(0 0 5px rgba(255,212,0,.95)) drop-shadow(0 0 12px rgba(255,120,0,.72))!important;
}
.seat.recommended .recommend-star{
  fill:#ffd400!important;
  stroke:#111!important;
  stroke-width:2px!important;
  paint-order:stroke fill!important;
  font-size:15px!important;
  font-weight:1000!important;
  filter:drop-shadow(0 0 4px rgba(255,212,0,.95))!important;
}
.seat.recommended.selected rect{
  stroke:#fff36a!important;
  stroke-width:8!important;
  filter:drop-shadow(0 0 6px rgba(255,243,106,1)) drop-shadow(0 0 16px rgba(255,120,0,.85))!important;
}


/* Recommended list + bottom machine list */
.recommended-section{overflow:hidden}
.recommended-head{align-items:center}
.recommend-list-badge{min-height:38px;border:1px solid #7a6210;border-radius:11px;padding:0 12px;background:linear-gradient(135deg,#3b3005,#171200);color:#ffe36a;font-weight:900;white-space:nowrap}
.recommend-list-badge:hover{border-color:#ffd400;background:#4b3b05}
.recommended-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.recommended-row{width:100%;border:1px solid #39321a;background:linear-gradient(145deg,#15130b,#0b0b0d);border-radius:13px;padding:11px 12px;color:#f5f5f6;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;transition:.16s transform,.16s border-color,.16s background}
.recommended-row:hover{transform:translateY(-1px);border-color:#ffd400;background:linear-gradient(145deg,#211c08,#0f0d08)}
.recommend-rank{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#ffd400;color:#111;font-weight:1000;box-shadow:0 0 16px rgba(255,212,0,.18)}
.recommend-main{min-width:0}.recommend-main strong{display:block;font-size:.96rem}.recommend-main small{display:block;color:#aaaab1;font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.recommend-metrics{text-align:right}.recommend-metrics b{display:block;font-size:.93rem}.recommend-metrics b.plus{color:#ff536a}.recommend-metrics b.minus{color:#ddd}.recommend-metrics small{display:block;color:#8e8e96;font-size:.7rem;margin-top:1px}
.bottom-machine-section{padding:0 0 70px}.bottom-machine-section .card{margin-top:18px}
@media(max-width:720px){.recommended-list{grid-template-columns:1fr}.recommended-head{align-items:flex-start}.recommend-list-badge{width:100%;margin-top:8px}.bottom-machine-section{padding-bottom:52px}}


/* Recommended list period totals */
.recommended-row{grid-template-columns:34px minmax(120px,1fr) minmax(300px,1.35fr)}
.recommend-metrics{display:grid;grid-template-columns:repeat(3,minmax(78px,1fr));gap:7px;text-align:right}
.recommend-metric{min-width:0;padding-left:8px;border-left:1px solid #302a16}
.recommend-metric:first-child{border-left:0}
.recommend-metric em{display:block;color:#898991;font-size:.64rem;font-style:normal;font-weight:800;margin-bottom:1px}
.recommend-metric b{display:block;font-size:.85rem;white-space:nowrap}
.recommend-metric small{display:block;color:#777780;font-size:.66rem;margin-top:0}
@media(max-width:720px){
  .recommended-row{grid-template-columns:32px minmax(0,1fr);gap:8px}
  .recommend-metrics{grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding-top:8px;border-top:1px solid #2b2719;text-align:center}
  .recommend-metric{padding-left:0;border-left:1px solid #302a16}
  .recommend-main{align-self:center}
}


/* 1-week machine diff chart */
.detail-diff-chart{margin-top:7px;border:1px solid #2b2b30;border-radius:12px;background:linear-gradient(180deg,#0c0c0f,#08080a);padding:8px 7px 3px;overflow:hidden}
.diff-line-chart{display:block;width:100%;height:auto;min-height:150px;overflow:visible}
.chart-grid{stroke:#26262b;stroke-width:1}
.chart-zero{stroke:#66666e;stroke-width:1.4;stroke-dasharray:4 4}
.chart-line{fill:none;stroke:#ff4058;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(255,64,88,.25))}
.chart-point{stroke:#09090b;stroke-width:2}.chart-point.plus{fill:#ff4058}.chart-point.minus{fill:#d5d5da}.chart-point.zero{fill:#ffd400}
.chart-x-label,.chart-y-label{fill:#7f7f88;font-size:8px;font-weight:700}
.chart-empty{padding:24px 10px;text-align:center;color:#85858e;font-size:.78rem}
@media(max-width:620px){.detail-diff-chart{padding:6px 4px 2px}.diff-line-chart{min-height:145px}.chart-x-label{font-size:7.5px}}


/* Map period selector */
.map-value-btn{white-space:nowrap}
@media(max-width:620px){
  .map-value-switch{display:flex;flex:1 1 100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .map-value-switch::-webkit-scrollbar{display:none}
  .map-value-btn{flex:0 0 auto!important;min-width:72px}
}


/* Recommendation period selector */
.recommend-period-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #39331b;border-radius:11px;background:#09090a}
.recommend-period-switch>span{padding:0 7px;color:#8f8f97;font-size:.69rem;font-weight:850;white-space:nowrap}
.recommend-period-switch button{height:30px;min-width:43px;border:0;border-radius:7px;background:transparent;color:#a9a9b0;font-size:.75rem;font-weight:900}
.recommend-period-switch button.active{background:linear-gradient(135deg,#ffd400,#d69d00);color:#111;box-shadow:0 4px 12px rgba(255,212,0,.2)}
.recommend-basis{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:6px;background:#241e05;color:#ffe36a;font-size:.64rem;font-weight:900}
.recommend-metric.selected-period{background:rgba(255,212,0,.07);border-radius:7px;box-shadow:inset 0 0 0 1px rgba(255,212,0,.22)}
.recommend-metric.selected-period em{color:#ffd400}
@media(max-width:620px){
  .recommend-period-switch{order:2;width:100%}
  .recommend-period-switch>span{flex:1}
  .recommend-period-switch button{flex:0 0 52px}
  .recommend-info{order:3}
}

/* Usability review: keep the black/red identity, simplify the working area. */
:root{--muted:#b1b1ba}
[hidden]{display:none!important}
button,a,input,textarea,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffbdc7;outline-offset:3px}
button:disabled{opacity:.48;cursor:default}
.main-stack,.map-card,.recommended-section,.pick-card{min-width:0}
.hall-layout.review-layout{grid-template-columns:minmax(0,1fr);padding-bottom:24px}
.original-detail{display:none}
.page-nav{display:flex;gap:8px;position:sticky;top:68px;z-index:25;background:#08080aee;backdrop-filter:blur(12px);padding-top:10px;padding-bottom:10px}
.page-nav button{flex:1;min-height:48px;padding:8px 12px;border:1px solid #3b3b42;border-radius:12px;color:#bcbcc5;background:#111114;font:inherit;font-weight:750}
.page-nav button.active{background:#400b14;border-color:#ff4058;color:#fff}
#pickCount{display:inline-grid;place-items:center;min-width:22px;padding:0 5px;background:#ffffff12;border-radius:7px;font-size:.8rem}
.data-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#b7b7c0;font-size:.83rem;padding-top:10px}
.data-summary .btn{min-height:40px;white-space:nowrap}
.hall-hero{padding-top:18px;padding-bottom:18px}
.hall-actions .btn{white-space:nowrap}
.search-row input{min-width:0}.search-row>.btn{flex-shrink:0;white-space:nowrap}
.map-toolbar-actions{flex-wrap:wrap;overflow:visible;gap:7px}
.map-toolbar-actions .icon-btn{min-height:44px;height:auto;min-width:44px}
.map-card,#searchCard,.recommended-section,#shortlistPanel{scroll-margin-top:135px}
.map-viewport{background:#08080a;min-height:420px}.map-viewport svg{height:clamp(420px,70vh,780px)}
.map-hint{pointer-events:none;color:#c4c4ca;background:#101013e8;border-color:#44444c}
.map-value-switch{display:flex;flex-wrap:wrap;max-width:100%;gap:2px}
.map-value-btn,.recommend-btn{min-height:42px}
.map-value-btn{padding:0 11px!important;flex:1 0 auto!important}
.recommend-period-switch{flex-wrap:wrap;max-width:100%}.recommend-period-switch button{min-height:40px;min-width:64px;font-size:.82rem}
.recommend-info,.orientation-status{color:#b2b2bc;font-size:.8rem}
.recommended-section>.recommend-period-switch{margin-bottom:18px}
.recommended-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.recommended-row{grid-template-columns:32px minmax(0,1fr);padding:16px;gap:10px}
.recommend-main strong{font-size:1.3rem}.recommend-main small{font-size:.9rem;color:#c2c2ca;white-space:normal;overflow:visible}
.recommend-basis{font-size:.84rem;margin-top:8px;padding:5px 8px}
.recommend-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;border-top:1px solid #333028;padding-top:12px;width:100%}
.recommend-metric{padding:6px 3px!important;overflow:hidden}.recommend-metric em{font-size:.76rem;color:#b0b0b9}.recommend-metric b{font-size:1rem}.recommend-metric small{font-size:.78rem;color:#aaaab4}
.recommended-head{flex-wrap:wrap}.recommended-head h2{margin:.2em 0}.recommended-head .muted{max-width:760px;font-size:.85rem}
.seat-dialog{width:min(700px,calc(100% - 24px));max-height:88dvh;overflow:auto;border:1px solid #56565e;border-radius:20px;background:#101013;color:#f5f5f7;padding:12px;box-shadow:0 28px 100px #0009}
.seat-dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}
.dialog-close{display:block;margin-left:auto;min-height:44px;position:sticky;top:0;z-index:2}
.seat-dialog .detail-card{position:static;box-shadow:none;border:0;background:none;padding:14px}
.detail-actions{display:flex;gap:10px;position:sticky;bottom:-12px;background:#101013;padding:14px 0 4px;flex-wrap:wrap}
.detail-actions .btn{flex:1;white-space:nowrap;min-height:46px;font-size:.9rem}
.stat-box strong{font-size:1.25rem}.stat-box span{font-size:.83rem;color:#b6b6c0}
.history-table{font-size:.9rem}.history-table th{color:#b1b1bc}.history-title{font-size:.94rem}
.diff-line-chart{min-height:170px}.chart-x-label,.chart-y-label{fill:#b5b5bf;font-size:9px}
.seat.picked rect{stroke:#fa7cc5!important;stroke-width:4!important}
.seat.selected rect{stroke:#64c8ff!important;stroke-width:5!important;filter:drop-shadow(0 0 4px #64c8ff)!important}
.seat.recommended rect{stroke-width:4!important;filter:none!important}
.seat.recommended.selected rect{stroke:#64c8ff!important;stroke-width:5!important;filter:drop-shadow(0 0 4px #64c8ff)!important}
.seat.recommended.picked rect{stroke:#fa7cc5!important}.seat.recommended.picked.selected rect{stroke:#64c8ff!important}
.seat .seat-number{font-size:11px}.seat .seat-machine{font-size:6.5px}
.seat.recommended .recommend-star{font-size:11px!important;stroke-width:1px!important;filter:none!important}
.pick-card{border:1px solid #36363d;border-radius:14px;padding:18px;margin-top:16px;background:#0b0b0e}
.pick-heading{display:flex;gap:12px;align-items:center}.pick-heading strong{font-size:1.4rem}.pick-heading .muted{font-size:.86rem}
.pick-card label{display:block;margin-top:14px}.pick-card input{display:block;margin-top:6px}
.pick-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.pick-actions .btn{min-height:44px;padding:0 15px}.pick-actions .muted{font-size:.78rem}
#bulkSeats{display:block;resize:vertical;width:100%;min-height:90px;padding:12px;margin-top:8px;font:inherit}
#pickSaveStatus{font-size:.85rem;color:#ffc3cd;min-height:1.5em}
.backup-panel{border-top:1px solid #33333b;padding-top:18px;margin-top:24px}.backup-panel summary{cursor:pointer;min-height:44px;font-weight:700}
.import-label{display:inline-flex;align-items:center;cursor:pointer}.import-label:focus-within{outline:3px solid #ffbdc7}
.empty-state .btn{margin:14px auto 0;display:block}.bottom-machine-section{padding-bottom:36px}
.toast{max-width:calc(100% - 24px);width:max-content;z-index:1000}
@media(max-width:720px){.recommended-list{grid-template-columns:1fr}.recommended-head{gap:12px}.recommend-list-badge{width:auto;margin:0}.recommended-row{padding:14px}.recommend-metric b{font-size:.95rem}}
@media(max-width:620px){
 .page-nav{top:62px;gap:6px}.page-nav button{font-size:.87rem;padding:6px;min-height:46px}
 .hall-hero h1{font-size:1.45rem}.hall-meta{gap:6px 12px;font-size:.75rem}.hall-actions{gap:7px}.hall-actions .btn{min-height:40px;font-size:.8rem;padding:0 10px}
 .breadcrumb{font-size:.7rem;padding-top:12px;padding-bottom:6px}
 .data-summary{font-size:.75rem;gap:6px}.data-summary .btn{font-size:.75rem;padding:0 10px}
 .search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.search-row .btn{padding:0 10px;font-size:.8rem}.search-row input{padding:0 10px;font-size:16px}
 .card-pad{padding:14px}.quick-chips{gap:6px}.chip{font-size:.75rem;padding:6px 9px}
 .map-toolbar{padding:12px;gap:12px}.map-toolbar-actions{width:100%;overflow:visible}.map-toolbar-actions .icon-btn{min-height:44px}.icon-btn.wide{min-width:75px}.phone-orientation-btn{min-width:105px}
 .map-data-controls{padding:10px;gap:8px}.map-value-switch{overflow:visible;flex-wrap:wrap}.map-value-btn{min-width:0;font-size:.8rem;padding:0 9px!important}
 .recommend-period-switch{order:initial}.recommend-period-switch>span{flex:initial}.recommend-period-switch button{flex:1;min-width:55px}.recommend-info{order:initial}
 .map-viewport{min-height:0}.map-viewport svg{height:auto}.seat .seat-number{font-size:11px}.seat .seat-machine{font-size:6.5px}
 .seat-dialog{max-height:90dvh;padding:10px}.seat-dialog .detail-card{padding:10px}.detail-seat{font-size:1.9rem}.detail-actions .btn{font-size:.82rem;padding:0 10px}.pick-card{padding:14px}
 .nav{display:flex}.nav a{display:none}.nav a:first-child{display:block;font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{
 body.print-map .page-nav,body.print-map .data-summary,body.print-map .bottom-machine-section,body.print-map dialog,body.print-map .toast{display:none!important}
 body.print-map .map-card{display:block!important}
 body.print-map .hall-hero h1{font-size:18pt!important}
}

/* Keep the seat identity visible alongside its result. */
.seat.with-value .seat-number{font-size:8px;font-weight:800}
.seat.with-value .seat-machine{font-size:6px;font-weight:700}
.seat.with-value .seat-value{font-size:10px;font-weight:900;fill:#f5f5f7}
.seat.diff-zero .seat-value,.seat.diff-negative .seat-value{fill:#111!important}
.ad-wrap.ad-placeholder{min-height:104px;border-color:#4b4247;color:#b3a7ae;background:#121013}
.ad-wrap.ad-placeholder::before{content:'広告スペース'}
@media(max-width:620px){.ad-wrap.ad-placeholder{min-height:90px}}
