/* Compact comic treatment; the data and native controls keep normal typography. */
:root{--ink:#293446;--muted:#526073;--accent:#116b78;--accent-dark:#095460;--on-accent:#fff;--tint:#e2f3f1;--canvas:#f5f4ef;--surface:#fff;--line:#d3d8dd;--control-border:#8996a5;--positive:#a5294f;--positive-bg:#ffedf2;--negative:#235c9e;--negative-bg:#eaf2fd;--warning:#805300;--warning-bg:#fff2ca;--shadow:3px 3px 0 #293446;--radius:6px;color-scheme:light}
body[data-concept=c]{background:var(--canvas);color:var(--ink);color-scheme:light}
body{font-family:"BIZ UDPGothic","Yu Gothic UI",Meiryo,sans-serif;line-height:1.6}
.app-site{background:var(--canvas)}
.night-header{background:#fff;border-bottom:2px solid var(--ink);backdrop-filter:none;padding-block:12px;gap:12px}
.night-header .site-brand{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:850;letter-spacing:-.05em}
.site-brand::before{content:"";width:25px;height:25px;border:6px solid #3d9cba;border-right-color:#c762a9;border-bottom-color:#c762a9;border-radius:50%;transform:rotate(-20deg)}
.primary-nav{gap:4px}.primary-nav a{border:1px solid transparent;border-radius:4px;font-weight:750;color:var(--muted)}
.primary-nav a[aria-current]{background:var(--tint);color:var(--accent);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.night-header .round-button{background:#fff;color:var(--ink);border-color:var(--line)}
.night-main{padding-top:22px}.home-banner{height:112px;object-position:50% 50%;border:2px solid var(--ink);border-radius:7px;margin-bottom:18px}
.dashboard-title{align-items:center;gap:24px;margin-bottom:18px}.dashboard-title h1{font-size:29px;white-space:normal;letter-spacing:-.04em}
.dashboard-title>h1{display:flex;align-items:center;min-height:76px}
.mascot-heading{display:flex;align-items:center;gap:14px;min-width:0}.mascot{display:inline-block;flex:none;width:76px;height:76px;background-image:url('/assets/slolens-mascot-comic.webp');background-size:300% 100%;background-repeat:no-repeat;image-rendering:auto;vertical-align:middle}.mascot-search{background-position:50% 50%}.mascot-cheer{background-position:0 50%}.mascot-puzzled{background-position:100% 50%}
.dashboard-search{width:min(100%,490px)}.dashboard-search label{font-size:16px;color:var(--muted);font-weight:650;margin-bottom:5px}.dashboard-search>div{display:flex;box-shadow:2px 2px 0 var(--ink);border-radius:5px;border:1.5px solid var(--ink);overflow:hidden}.dashboard-search input{background:#fff;color:var(--ink);border:0;min-height:46px}.dashboard-search button{background:var(--accent);color:#fff;border:0;font-weight:750;min-height:46px}
.night-main :is(input:not([type=checkbox]):not([type=radio]),select,textarea),dialog :is(input,select,textarea){background:#fff;color:var(--ink);border-color:var(--control-border);border-radius:5px;min-height:44px;font-size:16px;color-scheme:light}
.night-main :is(input,select,textarea):focus-visible{outline:3px solid #2b8797;outline-offset:2px}
.night-main :is(button,.button){border-radius:5px}.night-main :is(form button[type=submit],.target-controls>button,.explorer-filters>button,.global-search>button,.discovery-filters>button,.discovery-search>button){background:var(--accent);color:#fff;font-weight:750;border:1px solid var(--ink);box-shadow:2px 2px 0 var(--ink);min-height:46px}
.night-main button:active,.night-main .button:active{transform:translate(1px,1px);box-shadow:none}
.discovery-filters,.dashboard .discovery-filters,.target-controls,.explorer-filters{background:#eaf1f1;border:1px solid var(--line);border-radius:6px;padding:16px;gap:12px;margin:18px 0}
.discovery-dates a,.dashboard .discovery-dates a{background:#fff;border:1.5px solid var(--ink);border-radius:5px;min-height:48px;padding:9px 14px;color:var(--muted)}
.discovery-dates a[aria-current],.dashboard .discovery-dates a[aria-current]{background:#d9f2ee;color:#15565e;box-shadow:3px 3px 0 var(--ink);border-color:var(--ink)}
.discovery-dates strong{font-size:18px;color:var(--ink)}
.dashboard .discovery-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.dashboard .discovery-shortcuts a{display:flex;justify-content:center;padding:10px 14px;background:#fff;border:1.5px solid var(--ink);border-radius:5px;box-shadow:3px 3px 0 var(--ink);min-height:48px;font-size:17px;font-weight:800}
.dashboard .discovery-shortcuts a:nth-child(2){background:#e6f5fb}.dashboard .discovery-shortcuts a:nth-child(3){background:#f9edf3}
.dashboard>section{margin-block:30px}.section-heading,.night-section-title{margin-top:26px;margin-bottom:16px}.section-heading h2,.night-section-title h2{font-size:23px;font-weight:850;letter-spacing:-.025em;border-left:6px solid #459aa6;padding-left:11px}.section-heading>a{font-weight:650}
.discovery-visits,.visit-grid{gap:16px}.discovery-visit,.visit-card{position:relative;background:#fff;border:1.5px solid var(--ink);border-radius:6px;padding:18px;box-shadow:3px 3px 0 #d1d9dc;gap:10px;overflow:visible}
.discovery-visit h3,.visit-card h3{font-size:19px;font-weight:800;line-height:1.5;min-height:29px;overflow-wrap:anywhere}.visit-top,.visit-date{padding-right:58px;min-height:25px;font-size:16px;align-items:start}.visit-top time{color:var(--accent)}
.visit-rank{position:absolute;right:13px;top:13px}.visit-name,.visit-title{font-size:17px;line-height:1.55;font-weight:700}.visit-foot{margin-top:auto;padding-top:9px;border-top:1px dashed var(--line);gap:8px 14px;color:var(--muted)}.visit-foot a{color:var(--accent);text-underline-offset:3px}
.event-grade-link{display:inline-flex;text-decoration:none;min-height:48px}
.discovery-visit h3,.visit-card h3{padding-right:54px}
.event-grade{--grade-bg:#edf0f5;--grade-ink:#495569;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:48px;min-width:48px;height:58px;vertical-align:middle;border:2px solid var(--ink);border-radius:4px;background:var(--grade-bg);color:var(--grade-ink);box-shadow:2px 2px 0 var(--ink);line-height:1;transform:rotate(-3deg)}
.event-grade>span{font-size:12px;font-weight:750;line-height:1.2}.event-grade b{font:900 31px/1.1 "Arial Black",system-ui,sans-serif}.event-band-S{--grade-bg:#ffe59a;--grade-ink:#70420a;background-color:var(--grade-bg);color:var(--grade-ink)}.event-band-A{--grade-bg:#ffdce8;--grade-ink:#8c2849;background-color:var(--grade-bg);color:var(--grade-ink)}.event-band-B{--grade-bg:#d7f1eb;--grade-ink:#185b51;background-color:var(--grade-bg);color:var(--grade-ink)}.event-band-C{--grade-bg:#e3eaf7;--grade-ink:#3a547a;background-color:var(--grade-bg);color:var(--grade-ink)}
.event-grade-pending{display:inline-flex;align-items:center;min-height:28px;padding:2px 6px;border:1px dashed #7f8d9e;color:#526073;background:#f4f6f8;border-radius:3px;font-size:14px;white-space:nowrap}
.visit-past{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:9px 0;border-top:1px dashed var(--line);font-size:16px}.visit-past strong{font-size:21px}.visit-past strong small{font-size:15px}
.event-band-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:14px 16px;margin:18px 0 24px;font-size:16px}.event-band-legend>span{white-space:nowrap}.event-band-legend b{display:inline-grid;place-items:center;width:26px;height:28px;font-size:19px;border:1px solid var(--ink);border-radius:3px;margin-right:4px}.event-band-legend>strong{font-size:16px}
.hall-rank,.machine-rank,.person-card,.programme-card{border:1px solid #b8c3ce;border-radius:5px;background:#fff;box-shadow:2px 2px 0 #e0e4e8;min-height:104px}.hall-rank:hover,.machine-rank:hover,.person-card:hover,.programme-card:hover,.discovery-visit:hover{border-color:var(--accent);background:#fcfefe}
.rank-index{color:var(--ink);background:#e8f1f2;border:1px solid #a9bdc3;border-radius:3px;width:28px;height:32px;font-size:19px}.hall-rank:nth-child(-n+3) .rank-index{background:#ffecb4;border-color:#a88228;color:#72500d}.rank-value>strong{font:800 26px/1.2 system-ui,sans-serif}.rank-value>span{font-size:16px;color:var(--muted)}
.event-ranks{padding:0 18px;border:1.5px solid var(--ink);border-radius:6px;background:#fff;box-shadow:3px 3px 0 #d1d9dc}.event-ranks>a{gap:18px;min-height:100px}.event-ranks h3{font-size:19px;font-weight:800}.event-ranks>a>strong{font:800 27px/1.2 system-ui,sans-serif}.event-ranks>a>strong small{font-size:16px}
.event-profile-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:8px 0 20px}.event-profile-heading h1{flex:1;min-width:200px}.event-profile-heading .mascot{width:88px;height:88px}
.entity-overview>div,.explorer-metrics>div,.day-metrics,.night-metric,.analysis-summary,.app-compare-card{background:#fff;border-color:var(--line);border-radius:5px}.explorer-metrics strong,.entity-overview strong{font-variant-numeric:tabular-nums}
.explorer-metrics>div{padding:14px 16px;border:1px solid var(--line)}
.analysis-form button,.rank-map-controls button{background:var(--accent);color:var(--on-accent);border:1px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:5px}
.entity-history>div,.data-row,.night-hall-row{border-color:var(--line)}
.explorer-table,.target-history table{background:#fff}.explorer-table th,.explorer-table td,.target-history th,.target-history td{border-color:var(--line);color:var(--ink)}.explorer-table thead th,.target-history thead th{background:#eaf0f2}.heat-positive{background:#ffedf2}.heat-negative{background:#eaf2fd}
.night-dock{background:#fff;border:1.5px solid var(--ink);box-shadow:3px 3px 0 #29344633;backdrop-filter:none;border-radius:8px;color:var(--muted)}.night-dock>a[aria-current=page]{background:var(--tint);color:var(--accent);border:1px solid #b0d4d0;border-radius:4px}
.explorer-nav a,.detail-tabs a,.search-modes a,.target-nav a{color:var(--muted)}.explorer-nav a[aria-current],.detail-tabs a[aria-current],.search-modes a[aria-current]{color:var(--accent);border-color:var(--accent)}
.area-links a,.region-results>a{background:#fff;border:1px solid #b8c3ce;border-radius:4px}.region-results>a:hover,.area-links a:hover{background:var(--tint)}
.discovery-empty,.explorer-empty,.app-empty{background:#fff;border-color:var(--line);color:var(--muted)}
.night-heading{align-items:center;gap:14px}.night-heading>.mascot{width:56px;height:56px}.night-heading>h1{flex:1;min-width:0}
.explorer-home-tools a,.explorer-menu>summary{background:#fff;color:var(--ink);border-color:var(--control-border);font-size:16px}
.explorer-menu nav{background:#fff;border-color:var(--ink);box-shadow:3px 3px 0 #29344633}.explorer-menu nav a{color:var(--ink);font-size:16px}.explorer-menu nav a:hover{background:var(--tint)}
.night-dock>a,.night-dock>a>span{color:var(--muted)}.night-dock>a[aria-current=page],.night-dock>a[aria-current=page]>span{color:var(--accent)}
.night-main svg rect[fill="#bda6ff"]{fill:var(--positive)}.night-main svg rect[fill="#ff9aa8"]{fill:var(--negative)}
body .publication-footer{color:var(--muted);background:var(--canvas);border-color:var(--line)}body .publication-footer a{color:var(--accent)}
body .publication-content,body .publication-header{color:var(--ink)}body .publication-content a,body .publication-header a{color:var(--accent)}
@media(max-width:599px){.explorer-home-tools{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 3px 7px;margin:14px 0 20px;scrollbar-width:thin}.explorer-home-tools a{flex:none;min-height:44px;padding:9px 13px;white-space:nowrap}.dashboard .discovery-shortcuts{grid-template-columns:1.1fr 1.15fr .8fr}}
@media(min-width:1000px){.night-dock{bottom:16px}.dashboard .discovery-filters{align-items:end}.dashboard .discovery-dates{margin-right:auto}.dashboard .discovery-dates a{flex-direction:row;align-items:center;gap:8px}.dashboard-search label{display:block}}
@media(max-width:900px){.dashboard-title{align-items:stretch;gap:16px}.dashboard-search{width:100%}.night-main{padding-top:18px}.home-banner{height:94px}.mascot-heading .mascot{width:64px;height:64px}.dashboard-title h1{font-size:27px}}
@media(max-width:599px){.night-header{padding:10px 16px}.night-header .site-brand{font-size:23px}.night-main{padding:16px 16px 112px}.home-banner{height:76px;border-radius:5px;margin-bottom:14px;object-position:50% 50%}.dashboard-title{gap:12px}.dashboard-title h1{font-size:24px}.mascot-heading{gap:10px}.mascot-heading .mascot{width:56px;height:56px}.dashboard-search input{padding:10px;min-width:0}.dashboard-search label{font-size:16px}.dashboard .discovery-filters{padding:12px;gap:12px;border:1px solid var(--line)}.dashboard .discovery-dates a{padding:8px 4px;font-size:16px;min-height:46px}.dashboard .discovery-dates strong{font-size:17px}.dashboard .discovery-shortcuts{gap:9px;grid-template-columns:1.25fr 1fr 1fr;margin:16px 0}.dashboard .discovery-shortcuts a{font-size:16px;padding:9px 5px;gap:5px;min-height:48px}.dashboard .discovery-shortcuts svg{width:18px}.section-heading h2,.night-section-title h2{font-size:20px}.dashboard>section{margin-block:26px}.discovery-visit,.visit-card{padding:16px;gap:10px}.visit-grid,.discovery-visits{gap:14px}.event-ranks{padding:0 12px}.event-ranks>a{gap:12px;flex-wrap:wrap}.event-ranks>a>div{flex:1;min-width:190px}.event-ranks>a>strong{margin-left:62px;font-size:26px}.event-grade{width:44px;min-width:44px;height:54px}.event-grade b{font-size:29px}.event-ranks h3{font-size:18px}.event-ranks a>div>span{font-size:16px}.event-band-legend{padding:12px;gap:10px 14px}.event-band-legend>strong{width:100%}.event-profile-heading{gap:12px}.event-profile-heading .mascot{width:64px;height:64px}.event-profile-heading h1{font-size:24px;min-width:100%;margin-top:4px}.night-dock{bottom:8px;width:calc(100% - 16px)}.hall-rank,.machine-rank{padding:15px;min-height:100px}.rank-value>span{font-size:16px}.primary-nav a{min-height:44px}.night-main :is(input,select){max-width:100%;min-width:0}.publication-footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:599px){.dashboard .discovery-shortcuts a{flex-wrap:nowrap;white-space:nowrap}.dashboard .discovery-shortcuts a:nth-child(2)>svg:first-child{display:none}}

@media(max-width:599px){.night-main input[type=date],.night-main input[type=month]{padding-inline:4px}}
