:root{--paper:#f6f1e8;--surface:#fffdf9;--ink:#191817;--muted:#69645c;--red:#b64027;--line:#d8d0c4;--soft:#efe8dd;--pale-red:#f4e1da;--green:#244b3a;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;--sans:"Hiragino Sans","Yu Gothic","Noto Sans JP",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;overflow-wrap:anywhere}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.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}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.brandbar{min-height:80px;padding:0 max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:48px;background:var(--surface);border-bottom:1px solid rgba(216,208,196,.45)}
.brand{display:inline-flex;align-items:center;gap:13px;min-height:44px;font:700 1.35rem var(--serif);text-decoration:none;letter-spacing:.02em;white-space:nowrap}
.brand>span{width:11px;height:32px;border-radius:8px;background:var(--red)}
.breadcrumb{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:.875rem;min-width:0}
.breadcrumb a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
.hero{min-height:570px;padding-block:90px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(350px,.9fr);align-items:center;gap:clamp(48px,8vw,120px)}
.eyebrow{margin:0;color:var(--red);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3,p{overflow-wrap:anywhere}
h1,h2,h3{font-family:var(--serif);line-height:1.4;text-wrap:balance}
p{text-wrap:pretty}
.hero h1{max-width:720px;margin:24px 0 18px;font-size:clamp(2.25rem,4.3vw,3.4rem);line-height:1.35;letter-spacing:.01em}
.lead{margin:0;max-width:640px;color:var(--muted);font-size:1.0625rem}
.search-card{padding:34px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 18px 50px rgba(55,43,30,.04)}
.search-card label,.again-band label{display:block;margin-bottom:10px;font-weight:700}
input[type="search"]{display:block;width:100%;min-width:0;height:52px;padding:0 17px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:16px}
input[type="search"]::placeholder{color:#6f6a61}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:8px;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.button--primary{background:var(--red);color:#fff}
.button--primary:hover{background:#92331f}
.search-card .button{width:100%;margin-top:12px}
.button:disabled{opacity:.5;cursor:not-allowed}
.button--quiet{border-color:var(--line);background:var(--surface);color:var(--ink)}
.button--quiet:hover{border-color:var(--red);color:var(--red)}
.button--light{border-color:var(--line);background:var(--surface);color:var(--ink)}
.button--light:hover{background:var(--pale-red)}
.small-label{margin:18px 0 7px;color:var(--muted);font-size:.8125rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button,.theme-card button{min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 14px}
.chips button:hover,.theme-card button:hover{border-color:var(--red);color:var(--red);background:var(--pale-red)}
.section{padding-block:clamp(58px,7vw,92px)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.section-heading h2,.today h2{margin:4px 0 0;font-size:clamp(1.5rem,2.4vw,2rem)}
.section-heading p,.today time{margin:0;color:var(--muted);font-size:.875rem}
.section-heading p.eyebrow{color:var(--red);font-size:.75rem}
.today{border-top:1px solid var(--line)}
.today__link{display:block;margin-top:22px;padding:28px 30px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font:700 clamp(1.5rem,3.2vw,2.4rem) var(--serif);text-decoration:none}
.today__link:hover{border-color:var(--red);color:var(--red)}
.entrances{background:rgba(239,232,221,.55)}
.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.theme-card{min-width:0;padding:25px 22px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.theme-card div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.theme-card button{font-family:var(--sans);font-weight:700}
.data-band,.again-band{background:var(--ink);color:#fff}
.data-band__inner{padding-block:48px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px}
.data-band h2{margin:0;font-size:1.45rem}.data-band p{max-width:750px;margin:10px 0 0;color:#ded9d0}
.analysis-shell{padding-block:clamp(50px,7vw,82px)}
.analysis-header{max-width:820px}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}
.tag-row span{padding:7px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.875rem}
.analysis-header h1{margin:19px 0 9px;font-size:clamp(2rem,4vw,2.75rem)}
.meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0 0;color:var(--muted);font-size:.8125rem}
.cached-badge{padding:4px 10px;border-radius:999px;background:var(--green);color:#fff;font-weight:700}
.state-card{margin-top:34px;padding:clamp(26px,5vw,48px);border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.state-label{display:inline-flex;align-items:center;min-height:32px;margin:0 0 13px;padding:3px 18px;border-radius:999px;background:var(--pale-red);color:var(--red);font-size:.75rem;letter-spacing:.06em}
.state-card h2{margin:0;font-size:clamp(1.4rem,3vw,2rem)}
.state-card>p:not(.state-label):not(.state-code):not(.sr-only){margin:10px 0 0;color:var(--muted)}
.skeletons{display:grid;gap:11px;margin-top:24px;max-width:620px}
.skeletons span{height:13px;border-radius:20px;background:var(--soft);animation:pulse 1.2s ease-in-out infinite alternate}.skeletons span:nth-child(2){width:82%}.skeletons span:nth-child(3){width:92%;height:180px;border-radius:12px}
@keyframes pulse{to{opacity:.45}}
.state-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.state-actions .chips{width:100%}
.state-code{margin:14px 0 0;color:var(--muted);font-size:.75rem}
.finding-card{margin-top:34px;padding:clamp(28px,5vw,54px);border-radius:12px;background:var(--ink);color:#fff}
.finding-label{margin:0;color:#d8d0c4;font-size:.8125rem;letter-spacing:.06em}
.finding-lead{max-width:900px;margin:14px 0 0;font:700 clamp(1.9rem,5.2vw,3.2rem)/1.5 var(--serif)}
.finding-support{max-width:850px;margin:13px 0 0;color:#ded9d0}
.finding-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0 0;padding-top:24px;border-top:1px solid #484541}
.finding-stats div{min-width:0}.finding-stats dt{color:#bdb7ae;font-size:.75rem}.finding-stats dd{margin:4px 0 0;font-size:1.2rem;font-weight:700;white-space:nowrap}
.trend-card{margin-top:38px;padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.trend-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.trend-card__head h2{margin:0;font-size:clamp(1.55rem,3vw,2.25rem)}.trend-card__title p{margin:6px 0 0;color:var(--muted);font-size:.75rem}.trend-card__head>.button{flex:0 0 auto}
.notice{margin:16px 0 0;padding:10px 14px;background:var(--pale-red);border-radius:8px;color:var(--ink);font-size:.875rem}
.chart-wrap{width:100%;margin-top:24px;overflow:hidden}.chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}
.chart-grid{stroke:var(--line);stroke-dasharray:4 6}.chart-label{fill:var(--muted);font:12px var(--sans)}
.chart-line{stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-line--animate{stroke-dasharray:2000;stroke-dashoffset:2000;animation:draw-line .9s ease-out forwards}
@keyframes draw-line{to{stroke-dashoffset:0}}
.chart-partial{stroke:var(--red);stroke-width:3;stroke-dasharray:5 6}.chart-partial-dot{fill:var(--surface);stroke:var(--red);stroke-width:3}
.chart-turn{stroke:var(--red);stroke-width:1.5;stroke-dasharray:4 5}.chart-turn-dot{fill:var(--surface);stroke:var(--red);stroke-width:4}.chart-turn-label{fill:var(--red);font:700 12px var(--sans)}.chart-partial-label{fill:var(--muted);font:10px var(--sans)}
.jump-note{margin:20px 0 0;padding:14px 17px;border-radius:8px;background:var(--pale-red);color:var(--red);font-weight:700;text-align:left}
.table-wrap{max-height:520px;margin-top:24px;overflow:auto;border:1px solid var(--line);border-radius:8px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:12px 18px;border-bottom:1px solid var(--line);text-align:right}.table-wrap th:first-child,.table-wrap td:first-child{text-align:left}.table-wrap thead{position:sticky;top:0;background:var(--soft)}
.clue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:24px}.clue-card{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.clue-card__num{margin:0;color:var(--red);font-size:.75rem}.clue-card h3{margin:8px 0 0;font-size:1.2rem}.clue-card p:last-child{margin:8px 0 0;color:var(--muted)}
.records-note{margin:13px 0 28px;color:var(--muted);font-size:.875rem}.record-group+.record-group{margin-top:38px}.record-group h3{margin:0 0 12px;font-size:1.35rem}.record-list{display:grid;gap:12px}.record{display:grid;grid-template-columns:56px minmax(0,1.4fr) minmax(150px,.7fr) auto;align-items:start;gap:28px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.record__year{color:var(--muted);font-weight:700}.record h4{margin:0;font:700 1.08rem/1.55 var(--serif)}.record__meta{margin:5px 0 0;color:var(--muted);font-size:.8125rem}.record__magazine{color:var(--muted);font-size:.875rem}.record__link{color:var(--red);font-weight:700;white-space:nowrap}
.recent{padding-block:36px;border-top:1px solid var(--line)}.recent__clear{min-height:44px;padding:0 14px;font-size:.875rem}.recent .chips{margin-top:18px}
.again-band{margin-top:60px;padding:clamp(28px,5vw,50px);border-radius:12px}.again-band h2{margin:0 0 24px}.again-band form{max-width:800px}.again-form__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.again-band>a{margin-top:18px}
.about-data{background:var(--surface);border-top:1px solid var(--line)}.about-data h2{margin:6px 0 22px;font-size:2rem}.about-data dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.about-data dl div{padding:20px;background:var(--surface)}.about-data dt{font-weight:700}.about-data dd{margin:6px 0 0;color:var(--muted)}.about-data .shell>p:last-child{margin:24px 0 0;color:var(--muted);font-size:.875rem}
.share-wrap{padding-block:28px}#share .share__button{border-radius:999px}footer{border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}footer .shell{padding-block:28px}.nowrap{white-space:nowrap}
@media(max-width:800px){.shell{width:min(100% - 32px,1180px)}.brandbar{min-height:70px;padding-inline:16px;gap:22px}.hero{min-height:0;padding-block:58px;grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(2rem,9.2vw,3.2rem)}.search-card{padding:22px}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-band__inner{grid-template-columns:1fr;gap:22px}.about-data dl{grid-template-columns:repeat(2,minmax(0,1fr))}.record{grid-template-columns:56px minmax(0,1fr) auto;gap:20px}.record__magazine{grid-column:2/3}.record__link{grid-column:3;grid-row:1/3}.clue-grid{grid-template-columns:1fr}.analysis-shell{width:min(100% - 32px,1180px)}}
@media(max-width:640px){.finding-stats{grid-template-columns:1fr;gap:12px}.finding-stats div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}}
@media(max-width:520px){.brand{font-size:1.15rem}.brand>span{height:28px}.breadcrumb{gap:7px}.hero{padding-block:44px}.hero h1{margin-top:17px}.lead{font-size:1rem}.analysis-header h1{font-size:clamp(1.5rem,6.6vw,2.2rem)}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.theme-grid{grid-template-columns:1fr}.theme-card{padding:18px}.today__link{padding:22px 18px}.trend-card{margin-inline:-4px}.trend-card__head{gap:12px}.chart-wrap{margin-inline:-8px;width:calc(100% + 16px)}.record{grid-template-columns:1fr;gap:7px}.record__magazine,.record__link{grid-column:auto;grid-row:auto}.record__link{width:max-content;margin-top:4px}.again-form__row{grid-template-columns:1fr}.again-form__row .button{width:100%}.again-band>a{width:100%}.skeletons span:nth-child(3){height:120px}.about-data dl{grid-template-columns:1fr}.state-actions{flex-direction:column;align-items:stretch}.state-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chart-line--animate{animation:none;stroke-dashoffset:0}.skeletons span{animation:none}*,*::before,*::after{transition-duration:.001ms!important}}
