:root{--page: #F1EFE8;--card: #FFFFFF;--soft: #F7F6F2;--border: #E3E1DA;--text: #2C2C2A;--sub: #5F5E5A;--muted: #888780;--accent-bg: #E6F1FB;--accent: #185FA5;--navy: #16203A;--gold: #D9B45A;--gold-soft: #B8A57A;--ok: #3B6D11;--warn: #854F0B;--unknown: #5F5E5A;--error-bg: #FCECEC;--error: #9B2C2C}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--page);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.7}.wrap{max-width:480px;margin:0 auto;padding:16px}@media(min-width:700px){.wrap{max-width:560px}}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;overflow:clip}.body{padding:16px}.brand{background:var(--navy);padding:18px 16px 16px}.brand .title{display:flex;align-items:baseline;gap:8px;margin:0;text-decoration:none}.brand .name{font-family:"Noto Serif JP",Hiragino Mincho ProN,Yu Mincho,serif;font-weight:700;font-size:26px;letter-spacing:.12em;color:var(--gold)}.brand .title .icon{color:var(--gold);align-self:center}.brand .ai{font-size:13px;font-weight:600;color:var(--navy);background:var(--gold);border-radius:4px;padding:0 6px}.brand .lead{color:var(--gold-soft);margin:6px 0 0;font-size:13px;font-weight:400}.site-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.site-nav a{display:block;text-align:center;font-size:12px;padding:7px 2px;white-space:nowrap;border-radius:8px;border:1px solid var(--gold-soft);color:var(--gold-soft);text-decoration:none}.site-nav a[aria-current=page]{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:600}.site-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.label{font-size:13px;color:var(--sub);margin-bottom:4px}.label .req{color:var(--error)}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}select,input[type=number],input[type=text],textarea{width:100%;font:inherit;font-size:14px;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 10px}select:focus,input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.invalid{border-color:var(--error)}.hint{font-size:12px;color:var(--muted);margin:0 0 10px}.done,.ok-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sub);margin-bottom:14px}.done input,.ok-check input{flex:none}.sides{margin:0 0 14px}.sides .label{margin-bottom:6px}.sides label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sub);margin-bottom:4px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.tabs label{cursor:pointer}.tabs input{position:absolute;opacity:0;pointer-events:none}.tab{display:block;text-align:center;font-size:13px;padding:8px;border-radius:8px;border:1px solid var(--border);color:var(--sub)}.tabs input:checked+.tab{background:var(--accent-bg);color:var(--accent);border-color:transparent;font-weight:600}.tabs input:focus-visible+.tab{outline:2px solid var(--accent);outline-offset:1px}textarea{min-height:88px;resize:vertical;background:var(--soft)}.count{text-align:right;font-size:12px;color:var(--muted);margin:2px 0 8px}button{width:100%;font:inherit;font-size:15px;font-weight:600;color:#fff;background:var(--text);border:0;border-radius:8px;padding:12px;cursor:pointer}button:disabled{opacity:.5;cursor:default}.left{text-align:center;font-size:12px;color:var(--muted);margin-top:6px}.notice{font-size:13px;border-radius:8px;padding:10px 12px;margin-bottom:12px;background:var(--error-bg);color:var(--error)}.notice.calm{background:var(--soft);color:var(--sub)}.answer{border-top:1px solid var(--border);margin-top:16px;padding-top:14px;scroll-margin-top:8px}.sec{margin-bottom:12px}.sec h2{font-size:13px;font-weight:600;margin:0 0 4px;display:flex;align-items:center;gap:4px}.sec p{font-size:13px;margin:0 0 8px}.src{color:var(--muted);font-size:12px;margin-left:4px;white-space:nowrap}.ok h2{color:var(--ok)}.warn h2{color:var(--warn)}.unk h2{color:var(--unknown)}.spec h2{color:var(--muted)}.spec p{color:var(--sub);white-space:pre-line}.book{font-size:12px;color:var(--muted);border-top:1px dashed var(--border);padding-top:10px}.book a{color:var(--accent)}.book .note{display:block;margin-top:4px}.book .soon{color:var(--accent)}.book .next{display:flex;gap:10px;align-items:flex-start}.book .cover{border-radius:2px;flex:none;height:auto}.book .price{margin-left:6px}.icon{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand .icon{width:26px;height:26px}.sec .icon{width:16px;height:16px}footer{font-size:12px;color:var(--muted);margin:16px 4px 0;line-height:1.8}footer a{color:var(--sub)}footer p{margin:0 0 6px}.footer-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:10px!important}.page-title{font-size:19px;margin:0 0 14px}.prose a{color:var(--accent)}.contact-link{font-size:16px;font-weight:600}.center{min-height:100svh;display:flex;flex-direction:column;justify-content:center}.center h1{font-family:"Noto Serif JP",Hiragino Mincho ProN,serif;font-size:20px;margin:0 0 10px}.center p{font-size:14px;color:var(--sub);margin:0 0 20px}.center a.btn{display:block;text-align:center;text-decoration:none;font-size:15px;font-weight:600;color:#fff;background:var(--text);border-radius:8px;padding:12px}.admin{max-width:760px}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:12px}.link{width:auto;background:none;color:var(--accent);padding:0;font-size:12px;font-weight:400}.link:hover{text-decoration:underline}.admin-search{display:grid;gap:8px;margin-bottom:16px}.admin-search input[type=search]{width:100%;font:inherit;font-size:14px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.admin-search .done{margin:0}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-plain{display:block;text-align:center;text-decoration:none;font-size:15px;font-weight:600;color:var(--text);background:var(--soft);border:1px solid var(--border);border-radius:8px;padding:12px}.sub{border-top:1px solid var(--border);padding:14px 0}.sub.starred{background:linear-gradient(90deg,rgba(217,180,90,.12),transparent 60%)}.sub-head{display:flex;align-items:flex-start;gap:10px}.sub-head strong{font-size:14px}.star{width:auto;background:none;color:var(--gold);font-size:22px;line-height:1;padding:0 2px;cursor:pointer}.sub-input{font-size:14px;margin:8px 0 6px;white-space:pre-wrap}.sub details{font-size:13px}.sub summary{color:var(--accent);cursor:pointer;font-size:12px}.sub-sec{margin:8px 0}.sub-key{font-size:11px;color:var(--muted);display:block}.sub-sec p{margin:2px 0}.sub-empty{font-size:13px;color:var(--sub);padding:20px 0;text-align:center}.admin-pages{margin-top:16px;font-size:13px}.admin-pages svg{display:none}.volume-echo{display:flex;align-items:center;font-size:12px;color:var(--muted);min-height:1em}.tabs.tabs-3{grid-template-columns:1fr 1fr 1fr}.row.row-echo{grid-template-columns:130px minmax(0,1fr)}.volume-echo.echo-below{margin:5px 0 0}.shelf{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.shelf-lede{font-size:12px;color:var(--muted);margin:0 0 14px}.kinds{position:sticky;top:0;z-index:2;background:var(--card);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 14px;padding:8px 16px;border-bottom:1px solid var(--border)}.kinds::-webkit-scrollbar{display:none}.kinds button{flex:none;width:auto;font-size:12px;font-weight:400;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--sub)}.kinds button[aria-pressed=true]{background:var(--accent-bg);color:var(--accent);border-color:transparent;font-weight:600}.group{margin-bottom:22px}.group h2{font-family:"Noto Serif JP",serif;font-size:15px;margin:0 0 4px;padding-bottom:5px;border-bottom:1px solid var(--border)}.group-note{font-size:12px;color:var(--muted);margin:0 0 10px}.volumes{list-style:none;display:flex;flex-wrap:wrap;gap:5px;padding:0;margin:0}.volumes a{display:block;min-width:30px;padding:4px 6px;text-align:center;border:1px solid var(--border);border-radius:4px;font-size:12px;text-decoration:none;color:var(--sub);font-variant-numeric:tabular-nums}.volumes a:hover{border-color:var(--accent);color:var(--accent)}.item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border)}.group .item:last-of-type{border-bottom:0}.item .cover{flex:none;border-radius:2px;height:auto}.item-body{min-width:0}.item-body h3{font-size:14px;margin:0 0 2px}.item-body .meta{font-size:11px;color:var(--muted);margin:0 0 6px}.item-body .blurb{font-size:12.5px;margin:0 0 6px}.item-body>a{font-size:12px}.next-up{border:1px solid var(--accent);border-radius:8px;padding:12px 14px 4px}.next-up h2{border-bottom:0;padding-bottom:0;color:var(--accent)}.back{margin:18px 0 0;font-size:13px}.to-library{font-size:13px;margin:14px 4px 0;text-align:center}.book .why{color:var(--muted);margin-top:2px}.shelf-lede.as-of{color:var(--sub);margin-bottom:4px}.why-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--accent);background:var(--accent-bg);border-radius:3px;padding:1px 6px;vertical-align:middle}.next-up h2 .why-tag{margin-left:4px}.video-series{display:inline-block;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-bg);border-radius:3px;padding:1px 6px;margin:0 0 6px}.video-title{font-size:18px;line-height:1.5;margin:0 0 4px}.byline{font-size:12px;color:var(--muted);margin:0 0 12px}.byline a{color:var(--muted)}.spoiler-line{font-size:13px;color:var(--warn);background:#fbf3e6;border-radius:8px;padding:10px 12px;margin-bottom:10px}.as-of{font-size:12.5px;color:var(--sub);margin:0 0 10px}.video-fold{margin-top:6px}.video-fold>summary{list-style:none;cursor:pointer;text-align:center;font-size:14px;font-weight:600;color:#fff;background:var(--text);border-radius:8px;padding:12px}.video-fold>summary::-webkit-details-marker{display:none}.video-fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-fold[open]>summary{background:transparent;color:var(--muted);font-weight:400;font-size:12px;padding:4px;text-align:right}.video-fold .fold-open,.video-fold[open] .fold-closed{display:none}.video-fold .fold-closed small{display:block;font-size:11.5px;font-weight:400;opacity:.8;margin-top:2px}.video-fold[open] .fold-open{display:inline}.video-embed{aspect-ratio:16 / 9;margin:8px 0 16px;border-radius:8px;overflow:hidden;background:var(--soft)}.video-embed iframe{display:block;width:100%;height:100%;border:0}.video-toc{background:var(--soft);border-radius:8px;padding:10px 14px;margin-bottom:18px;font-size:13px}.video-toc p{margin:0 0 4px;font-weight:600;color:var(--sub)}.video-toc ol{margin:0;padding-left:1.4em;color:var(--sub)}.video-toc a{color:var(--accent);text-decoration:none}.video-toc a:hover{text-decoration:underline}.prose h2{scroll-margin-top:12px}.prose{font-size:15px;line-height:1.9}.prose h2{font-size:16px;margin:28px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.prose h3{font-size:15px;margin:20px 0 6px}.prose p{margin:0 0 14px}.prose ol,.prose ul{margin:0 0 14px;padding-left:1.4em}.prose li{margin-bottom:4px}.prose blockquote{margin:0 0 14px;padding:2px 0 2px 12px;border-left:3px solid var(--border);color:var(--sub)}.prose blockquote p{margin:0}.credit{font-size:11.5px;color:var(--muted);border-top:1px dashed var(--border);padding-top:10px;margin-top:20px}.to-ask{margin-top:20px;padding:12px 14px;border:1px solid var(--accent);border-radius:8px;font-size:13px}.to-ask p{margin:0 0 6px;color:var(--sub)}.to-ask a{color:var(--accent);font-weight:600}.video-list{list-style:none;padding:0;margin:0}.video-next{margin-top:20px}.video-next-head{font-size:13px;font-weight:600;color:var(--sub);margin:14px 0 0}.video-pager{display:grid;grid-template-columns:1fr 1fr;gap:8px}.video-pager a{display:block;padding:10px 12px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text)}.video-pager a:hover{border-color:var(--accent)}.video-pager .pager-next{grid-column:2;text-align:right}.video-pager .video-list-title{font-size:13px}.pager-label{display:block;font-size:12px;color:var(--accent);margin-bottom:2px}.video-list li{border-bottom:1px solid var(--border)}.video-list a{display:block;padding:12px 0;text-decoration:none;color:var(--text)}.video-list a:hover .video-list-title{color:var(--accent)}.video-list-title{display:block;font-size:14.5px;font-weight:600;line-height:1.5}.video-list-date{display:block;font-size:12px;color:var(--muted);margin-top:2px}.video-list-range{display:block;font-size:12px;color:var(--warn);margin-top:2px}
