:root{--bg: #0c0b09;--ink: #eceae4;--dim: #8f8b82;--line: #2a2823;--red: #e63b2e;--serif: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif SC", "Songti SC", serif;--sans: -apple-system, "PingFang SC", "Hiragino Sans", "Noto Sans SC", sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.9;font-size:16px}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;text-align:left}a{color:inherit;text-decoration:none}.en{color:var(--red);font-size:11px;letter-spacing:.32em;text-transform:uppercase}.boot{padding:30vh 24px;text-align:center;color:var(--dim);font-family:var(--serif);letter-spacing:.4em}.wrap{max-width:560px;margin:0 auto;padding:0 22px 96px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:linear-gradient(var(--bg) 78%,transparent)}.brand{display:flex;align-items:center;gap:10px}.brand-block{display:grid;place-items:center;width:34px;height:34px;background:var(--red);color:#fff;font-family:var(--serif);font-size:21px}.brand-word{font-size:12px;letter-spacing:.42em;color:var(--dim)}.topbar nav{display:flex;align-items:center;gap:20px}.nav-link{font-size:13px;letter-spacing:.22em;color:var(--dim)}.nav-link:active{color:var(--red)}.locale-picker select{max-width:72px;color:var(--dim);background:transparent;border:0;font:inherit;font-size:12px;letter-spacing:.08em;color-scheme:dark}.locale-picker select:focus-visible{outline:1px solid var(--red);outline-offset:4px}.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}.hero{padding:44px 0 30px;border-bottom:1px solid var(--line)}.hero h1{font-family:var(--serif);font-weight:600;font-size:52px;line-height:1.22;letter-spacing:.04em;margin-top:16px}.hero-sub{color:var(--dim);font-size:14px;margin-top:18px;line-height:2}.citybar{display:flex;gap:10px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line)}.city-pill{font-size:13px;letter-spacing:.14em;padding:5px 14px;border:1px solid var(--line);color:var(--dim);white-space:nowrap}.city-pill.active{border-color:var(--red);color:var(--red)}.city-pill em{font-style:normal;font-size:10px;margin-left:6px;opacity:.7}.section-head{padding:34px 0 8px}.section-head .chapter{color:var(--dim);font-size:12px;letter-spacing:.24em}.section-head .name{font-family:var(--serif);font-size:22px;letter-spacing:.1em;margin-top:4px}.pilot-note{color:var(--dim);font-size:12px;margin-top:6px}.exlist{list-style:none}.excard{display:block;width:100%;padding:24px 0;border-bottom:1px solid var(--line)}.excard-top{display:flex;gap:12px;align-items:center;margin-bottom:10px}.state{font-size:11px;letter-spacing:.2em;padding:2px 9px;border:1px solid var(--dim);color:var(--dim)}.state.on{border-color:var(--red);color:var(--red)}.guide-badge{font-size:11px;letter-spacing:.14em;color:#fff;background:var(--red);padding:3px 9px}.guide-badge.dim{background:transparent;border:1px dashed var(--line);color:var(--dim)}.excard h3{font-family:var(--serif);font-weight:600;font-size:21px;line-height:1.55;letter-spacing:.04em}.excard-meta{color:var(--dim);font-size:13px;margin-top:8px}.venuerow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.venuecard{border:1px solid var(--line);padding:16px 14px}.venuecard:active{border-color:var(--red)}.venue-short{font-family:var(--serif);font-size:26px;color:transparent;-webkit-text-stroke:1px var(--red)}.venue-name{font-size:13px;margin-top:10px;line-height:1.5}.venue-area{color:var(--dim);font-size:11px;letter-spacing:.2em;margin-top:4px}.venue-hero{padding:12px 0 24px;border-bottom:1px solid var(--line)}.venue-hero h2{font-family:var(--serif);font-size:32px;letter-spacing:.06em;margin-top:6px}.venue-blurb{color:var(--dim);font-size:14px;line-height:2;margin-top:14px}.back{color:var(--dim);font-size:13px;letter-spacing:.26em;padding:24px 0 0;display:block}.masthead{padding:26px 0 14px;border-bottom:1px solid var(--line)}.masthead h1.ex-title{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.45;letter-spacing:.03em;margin:12px 0 10px}.masthead .sub{color:var(--dim);font-size:12.5px;letter-spacing:.05em;line-height:1.8}.datebar{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);position:sticky;top:58px;background:linear-gradient(var(--bg) 82%,transparent);z-index:5}.datebar label{color:var(--dim);font-size:12px;letter-spacing:.2em;white-space:nowrap}.datebar input[type=date]{background:transparent;border:none;border-bottom:1px solid var(--red);color:var(--ink);font-family:var(--serif);font-size:17px;padding:2px 0 4px;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;color-scheme:dark}.window-pill{margin-left:auto;color:var(--red);border:1px solid var(--red);font-size:12px;letter-spacing:.18em;padding:3px 10px;white-space:nowrap}.visible-count{padding:16px 0 4px;color:var(--dim);font-size:13px}.visible-count b{color:var(--ink);font-family:var(--serif);font-size:17px}.worklist{list-style:none}.workcard{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;width:100%;padding:22px 0;border-bottom:1px solid var(--line)}.workcard .no{font-family:var(--serif);font-size:34px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--dim)}.workcard.off{opacity:.38}.badge{display:inline-block;font-size:10px;letter-spacing:.18em;padding:1px 7px;border:1px solid var(--red);color:var(--red);margin-bottom:7px}.badge.icp{border-color:var(--dim);color:var(--dim)}.badge.lg{font-size:11px;letter-spacing:.2em;padding:2px 8px}.workcard h3{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.05em;line-height:1.5}.workcard .hook{color:var(--dim);font-size:13px;margin-top:6px;line-height:1.7}.rotation-note{margin-top:8px;font-size:12px;color:var(--red)}.workcard.off .rotation-note{color:var(--dim)}.production{padding:34px 0}.production-mark{display:inline-block;font-family:var(--serif);font-size:30px;letter-spacing:.3em;color:transparent;-webkit-text-stroke:1px var(--red);margin-bottom:14px}.production p{color:var(--dim);line-height:2}.detail .no-giant{font-family:var(--serif);font-size:96px;line-height:1;margin-top:18px;color:transparent;-webkit-text-stroke:1.5px var(--red)}.no-giant.sm{font-size:64px;font-family:var(--serif);color:transparent;-webkit-text-stroke:1.5px var(--red);margin-top:18px}.detail h2{font-family:var(--serif);font-size:32px;line-height:1.4;letter-spacing:.04em;margin-top:10px}.meta{color:var(--dim);font-size:13px;margin-top:12px;line-height:1.8}.meta em{font-style:normal;color:var(--ink)}.one-liner{font-family:var(--serif);font-size:18px;line-height:1.8;border-left:2px solid var(--red);padding-left:16px;margin:26px 0 8px}.rotation-banner{margin-top:18px;padding:12px 16px;border:1px solid var(--red);color:var(--red);font-size:13px;line-height:1.7}.rotation-banner.ok{border-color:var(--line);color:var(--dim)}.audio-block{margin:26px 0 6px;border:1px solid var(--red);padding:16px}.audio-block.dim{border-color:var(--line)}.audio-label{font-size:12px;color:var(--dim);letter-spacing:.1em;margin-bottom:10px}.audio-label .en{margin-right:10px}.audio-block audio{width:100%;height:40px}.narration{border-top:none!important;margin-top:10px!important}.narration p{color:var(--ink);font-size:15.5px;line-height:2.1;padding-bottom:16px;text-align:justify}.lens{padding:30px 0 6px}.lens-head{display:flex;align-items:baseline;gap:12px}.lens-idx{font-family:var(--serif);font-size:15px;color:var(--red)}.lens h4{font-family:var(--serif);font-size:20px;letter-spacing:.12em;font-weight:600}.lens p{margin-top:14px;font-size:16.5px;line-height:2.05;text-align:justify}details{margin-top:34px;border-top:1px solid var(--line)}details summary{padding:16px 0;color:var(--dim);font-size:13px;letter-spacing:.28em;cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}details summary:before{content:"＋ ";color:var(--red)}details[open] summary:before{content:"－ "}.refs li,.gaps li{margin:0 0 14px 1.2em;font-size:13px;color:var(--dim);line-height:1.8}.refs a{color:var(--ink);border-bottom:1px solid var(--red);word-break:break-all}.refs .pub{color:var(--red);margin-right:.5em}.gaps li{list-style:"△ "}.search-hero{padding:30px 0 10px}.search-input{width:100%;margin-top:14px;background:transparent;border:none;border-bottom:2px solid var(--red);color:var(--ink);font-family:var(--serif);font-size:26px;padding:6px 0 10px;outline:none}.search-input::placeholder{color:var(--line)}.auth-hero,.me-hero{padding:10px 0 26px}.auth-hero h2,.me-hero h2{font-family:var(--serif);font-size:34px;letter-spacing:.04em;margin-top:14px}.authform{display:grid;gap:16px;padding:8px 0 18px}.authform input{background:transparent;border:none;border-bottom:1px solid var(--dim);color:var(--ink);font-size:17px;padding:10px 0;outline:none;border-radius:0}.authform input:focus{border-bottom-color:var(--red)}.form-err{color:var(--red);font-size:13px}.cta{background:var(--red);color:#fff;text-align:center;font-size:14px;letter-spacing:.3em;padding:14px 0 14px .3em;width:100%}.cta:disabled{opacity:.4}.switch-mode{display:block;color:var(--dim);font-size:13px;letter-spacing:.1em;padding:18px 0}.switch-mode:active{color:var(--red)}.pass-card{border:1px solid var(--red);padding:22px 18px;margin-top:26px}.pass-title{font-family:var(--serif);font-size:22px;letter-spacing:.1em;margin-bottom:10px}.pass-title .en{display:block;margin-bottom:6px}.pass-card p{color:var(--dim);font-size:13.5px;line-height:2;margin-bottom:18px}.wl-ok{margin-top:12px;color:var(--red);font-size:13px}.footer{margin-top:60px;padding-top:20px;border-top:1px solid var(--line);color:var(--dim);font-size:11px;letter-spacing:.1em;line-height:2}.footer .en{display:block}.follow{display:inline-block;margin-top:16px;font-size:13px;letter-spacing:.14em;border:1px solid var(--dim);color:var(--dim);padding:8px 16px}.follow.on{border-color:var(--red);color:var(--red)}.follow:disabled{opacity:.4}.admin{max-width:720px}.admin-tabs{display:flex;gap:10px;padding:10px 0 4px;border-bottom:1px solid var(--line)}.admin-tabs button{font-size:13px;letter-spacing:.18em;padding:6px 14px;border:1px solid var(--line);color:var(--dim)}.admin-tabs button.on{border-color:var(--red);color:var(--red)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:22px 0 4px}.stat{border:1px solid var(--line);padding:14px}.stat b{display:block;font-family:var(--serif);font-size:30px;color:var(--ink)}.stat span{color:var(--dim);font-size:12px;letter-spacing:.14em}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;color:var(--dim);font-weight:400;letter-spacing:.14em;font-size:11px;padding:10px 8px 6px 0;border-bottom:1px solid var(--line)}.admin-table td{padding:12px 8px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}.admin-table .t{font-family:var(--serif);font-size:14.5px}.admin-table .s{color:var(--dim);font-size:11.5px;margin-top:2px}.admin-table .ops button{border:1px solid var(--line);color:var(--dim);font-size:11px;padding:3px 8px;margin-right:6px}.admin-table .ops button:active{border-color:var(--red);color:var(--red)}.tag{font-size:10.5px;letter-spacing:.14em;border:1px solid var(--dim);color:var(--dim);padding:1px 7px;white-space:nowrap}.tag.red{border-color:var(--red);color:var(--red)}.warn{color:var(--red)}.row-warn td{background:#e63b2e0d}.broken-box{border:1px dashed var(--red);padding:12px 14px;margin-top:18px}.mono{font-family:ui-monospace,monospace;word-break:break-all}.worknav{display:flex;align-items:center;justify-content:space-between;margin-top:40px;border-top:1px solid var(--line);padding-top:18px}.worknav button{font-family:var(--serif);font-size:18px;color:var(--red);letter-spacing:.1em;padding:6px 0}.worknav-pos{color:var(--dim);font-size:12px;letter-spacing:.2em}.visitor-info{margin-top:0!important;border-top:none!important;border-bottom:1px solid var(--line)}.vi-body p{font-size:13.5px;color:var(--ink);line-height:1.9;margin-bottom:10px}.vi-body em{font-style:normal;color:var(--red);font-size:11px;letter-spacing:.2em;margin-right:10px}.vi-body span{color:var(--dim);font-size:12px}.vi-body a{border-bottom:1px solid var(--red)}.vi-note{color:var(--dim)!important;font-size:11px!important}.about p{font-size:14px;color:var(--ink);opacity:.92;line-height:2.1;margin:8px 0 4px;text-align:justify}.switch-mode.danger{color:var(--red);opacity:.7}.funnel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);margin-top:12px;font-size:12px;color:var(--dim)}.funnel-step b{color:var(--ink);font-family:var(--serif);font-size:15px;margin-left:4px}.funnel-step em{font-style:normal;color:var(--red);margin-right:10px}.feedback{margin-top:20px!important}.fb-body p{font-size:12.5px;color:var(--dim);margin-bottom:10px}.fb-body textarea{width:100%;background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit;font-size:14px;padding:10px;outline:none;margin-bottom:10px}.fb-body textarea:focus{border-color:var(--red)}.fb-ok{color:var(--red);font-size:13px;padding:8px 0 14px}.ask-note{margin-left:auto;color:var(--dim);font-size:11px}.ask-turn{margin-top:16px}.ask-q{font-size:14px;color:var(--red);line-height:1.8}.ask-q:before{content:"問 ";font-family:var(--serif)}.ask-a{font-size:14.5px;color:var(--ink);line-height:2;margin-top:8px;padding-left:14px;border-left:1px solid var(--line)}.ask-input{display:flex;gap:10px;margin-top:16px}.ask-input input{flex:1;background:transparent;border:none;border-bottom:1px solid var(--dim);color:var(--ink);font:inherit;font-size:15px;padding:8px 0;outline:none;border-radius:0}.ask-input input:focus{border-bottom-color:var(--red)}.ask-input button{background:var(--red);color:#fff;font-family:var(--serif);font-size:16px;width:44px}.ask-input button:disabled{opacity:.4}.rec-profile{font-family:var(--serif);font-size:15px;color:var(--ink);line-height:1.9;border-left:2px solid var(--red);padding-left:14px;margin:6px 0 4px}.chips{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}.chip{font-size:13px;letter-spacing:.1em;padding:6px 14px;border:1px solid var(--line);color:var(--ink)}.chip:active{border-color:var(--red);color:var(--red)}.rec-q{display:block;width:100%;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink);line-height:1.7}.rec-q span{color:var(--red);font-family:var(--serif);margin-right:10px}.legal-date{color:var(--dim);font-size:12px;letter-spacing:.05em}.legal-h{font-family:var(--serif);font-size:16px;letter-spacing:.1em;color:var(--red);margin-top:24px;font-weight:600}.tokushoho-table{width:100%;border-collapse:collapse;margin-top:16px}.tokushoho-table th{text-align:left;vertical-align:top;color:var(--red);font-family:var(--serif);font-size:13px;font-weight:600;letter-spacing:.06em;padding:12px 14px 12px 0;border-bottom:1px solid var(--line);white-space:nowrap}.tokushoho-table td{color:var(--ink);font-size:13.5px;line-height:1.9;padding:12px 0;border-bottom:1px solid var(--line)}.pulse-bar{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px 16px;border:1px dashed var(--line);font-size:13px;color:var(--dim)}.pulse-bar button{font-size:18px}.pulse-bar.done{color:var(--red);border-style:solid}.research-req{display:block;margin-top:8px;font-size:12.5px;color:var(--red);border-bottom:1px dashed var(--red);padding-bottom:2px}.work-figure{margin:24px 0 4px}.work-figure img{width:100%;display:block;border:1px solid var(--line)}.work-figure figcaption{color:var(--dim);font-size:11px;letter-spacing:.05em;margin-top:8px}.work-figure a{border-bottom:1px solid var(--line)}.ws-sel{background:var(--bg);color:var(--ink);border:1px solid var(--line);font:inherit;font-size:12px;padding:4px 8px}
