/* Safe to Stream: component CSS v1.0 (direction B Console, dark-only).
   Load order: tokens.css, then sts.css. All colours and type come from tokens.css custom properties.
   Breakpoints: sm < 700 px (mobile), md 700-1023 px, lg >= 1024 px.
   Port note (Yii2): this file is framework-free. Keep class names; views only change markup data. */

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;background:var(--c-bg);color:var(--c-text);font:400 var(--fs-body)/var(--lh-body) var(--font-sans);font-synthesis-weight:none;min-height:100vh;display:flex;flex-direction:column}
:lang(en){--font-sans:var(--font-en);--font-display:var(--font-en)}
:lang(ja){--font-sans:var(--font-ja);--font-display:var(--font-ja);--lh-body:var(--lh-body-cjk)}
:lang(zh-Hant){--font-sans:var(--font-zh);--font-display:var(--font-zh);--lh-body:var(--lh-body-cjk)}
[lang]{font-family:var(--font-sans)}
:root:lang(ja) body,:root:lang(zh-Hant) body{line-height:var(--lh-body-cjk)}
:lang(ja){line-break:strict}
:lang(ja) :is(h1,h2,h3,.big){word-break:auto-phrase;font-feature-settings:"palt" 1;text-spacing-trim:trim-start}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--c-lime)}
.prose a,.link{color:var(--c-lime);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:4px}
button,input,select,textarea{font:inherit;color:inherit}
.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
/* CJK text inside numeric spans (e.g. 確認日：2026-11-10) must fall to the page CJK web font, not a local fallback */
:lang(ja) :is(.num,.mono){font-family:'JetBrains Mono',var(--font-ja)}
:lang(zh-Hant) :is(.num,.mono){font-family:'JetBrains Mono',var(--font-zh)}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:10;background:var(--c-lime);color:var(--c-on-lime);font-weight:700;padding:10px 14px;border-radius:var(--r-lg)}
.skip:focus{top:8px;color:var(--c-on-lime)}
.wrap{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}
main{flex:1 0 auto;padding-bottom:var(--s-10)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- small primitives ---------- */
.lbl{font:500 var(--fs-label)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
:lang(ja) .lbl,:lang(zh-Hant) .lbl{font:500 var(--fs-label-cjk)/1.4 var(--font-sans);letter-spacing:.02em;text-transform:none}
.pan{background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r-xl)}
.muted{color:var(--c-muted)}
.small{font-size:var(--fs-small)}
.fixture-note{font:400 12px/1.4 var(--font-mono);color:var(--c-faint);padding-top:8px}
:lang(ja) .fixture-note,:lang(zh-Hant) .fixture-note{font-family:var(--font-sans)}

/* status pill: text label is always present; colour is redundant, never the only signal */
.st{display:inline-flex;align-items:center;gap:6px;font:500 12px/1.2 var(--font-mono);padding:4px 8px;border-radius:var(--r-md);border:1px solid;white-space:nowrap}
:lang(ja) .st,:lang(zh-Hant) .st{font:500 13px/1.2 var(--font-sans)}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.st--allows,.st--yes{color:var(--c-lime);border-color:var(--c-lime-border)}
.st--allows_with_conditions{color:var(--c-amber);border-color:var(--c-amber-border)}
.st--restricts{color:var(--c-red);border-color:var(--c-red-border)}
.st--partial{color:var(--c-sky);border-color:var(--c-sky-border)}
.st--none_found,.st--no{color:var(--c-muted);border-color:var(--c-line-input)}
.st--unknown{color:var(--c-muted);border-color:var(--c-line-input);border-style:dashed}
.legend{font-size:13px;color:var(--c-muted);margin:0 0 12px}
.st--unknown::before{background:none;border:1px solid currentColor}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-lg);border:1px solid transparent;background:var(--c-lime);color:var(--c-on-lime);font:700 15px/1.2 var(--font-sans);cursor:pointer;text-align:center}
.btn:hover{color:var(--c-on-lime);background:#D4FA5C}
.btn--ghost{background:transparent;color:var(--c-text);border-color:var(--c-line-input)}
.btn--ghost:hover{background:var(--c-panel-2);color:var(--c-text)}
.btn--block{display:flex;width:100%}
.btn svg{width:16px;height:16px}

/* ---------- header ---------- */
.site-header{background:var(--c-bg-deep);border-bottom:1px solid var(--c-line);position:relative;z-index:5}
.hdr{display:flex;align-items:center;gap:20px;height:var(--header-h)}
.brand{flex:none;display:block;color:var(--c-text);padding:4px 0}
.brand img{height:26px;width:auto}
.hsearch{flex:1;max-width:440px;position:relative}
.hsearch input{width:100%;height:40px;background:var(--c-panel);border:1px solid var(--c-line-input);border-radius:var(--r-lg);padding:0 12px 0 36px;font-size:14px;color:var(--c-text)}
.hsearch input::placeholder,.cmd input::placeholder,.inp::placeholder{color:var(--c-faint);opacity:1}
.hsearch svg{position:absolute;left:12px;top:12px;width:16px;height:16px;color:var(--c-muted);pointer-events:none}
.nav{display:flex;gap:4px}
.nav a{padding:8px 10px;border-radius:var(--r-md);font-size:14px;color:var(--c-muted)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--c-text);background:var(--c-panel)}
.lang{margin-left:auto;display:flex;gap:4px;font-size:13px}
.lang a{padding:5px 10px;border-radius:var(--r-md);color:var(--c-muted);border:1px solid transparent;min-height:32px;display:inline-flex;align-items:center}
.lang a[aria-current="true"]{color:var(--c-lime);border-color:var(--c-lime)}
.hdr-m{display:none;margin-left:auto;align-items:center;gap:6px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-lg);color:var(--c-text)}
.icon-btn svg{width:20px;height:20px}
.menu{position:relative}
.menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;border:1px solid var(--c-line-input);border-radius:var(--r-lg);font-size:14px}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary svg{width:16px;height:16px}
.menu[open]>summary{border-color:var(--c-lime);color:var(--c-lime)}
.menu-panel{position:absolute;right:0;top:52px;width:min(300px,calc(100vw - 24px));background:var(--c-panel);border:1px solid var(--c-line-input);border-radius:var(--r-2xl);padding:8px;box-shadow:0 18px 40px #00000080}
.menu-panel a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--r-lg)}
.menu-panel a:hover{background:var(--c-panel-2)}
.menu-panel hr{border:0;border-top:1px solid var(--c-line);margin:6px 4px}
.menu-panel .lang-m a[aria-current="true"]{color:var(--c-lime)}

/* ---------- footer ---------- */
.site-footer{background:var(--c-bg-deep);border-top:1px solid var(--c-line);padding:32px 0 40px;font-size:13px;color:var(--c-muted)}
.ft{display:grid;grid-template-columns:auto 1fr;gap:20px 48px;align-items:start}
.ft img{height:24px;width:auto}
.ft nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px}
.ft nav a{color:var(--c-text-2);display:inline-block;padding:4px 0}
.ft nav a:hover{color:var(--c-lime)}
.ft .legal{grid-column:1/-1;display:grid;gap:6px;border-top:1px solid var(--c-line);padding-top:16px;max-width:80ch}
.ft .kp{font:500 12px var(--font-mono);letter-spacing:.06em;color:var(--c-faint)}

/* ---------- home ---------- */
.hero{text-align:center;padding:56px 0 32px}
.hero h1{font:700 var(--fs-display)/1.08 var(--font-display);letter-spacing:-.025em;max-width:16em;margin:12px auto 0}
:lang(ja) .hero h1,:lang(zh-Hant) .hero h1{font-size:var(--fs-display-cjk);line-height:var(--lh-heading-cjk);letter-spacing:0;font-weight:900}
.hero .sub{color:var(--c-muted);max-width:42em;margin:16px auto 0}
.cmd{max-width:720px;margin:28px auto 0;display:flex;background:var(--c-panel);border:1px solid var(--c-line-input);border-radius:var(--r-2xl);padding:6px;box-shadow:var(--sh-cmd)}
.cmd:focus-within{border-color:var(--c-lime)}
.cmd input{flex:1;min-width:0;background:none;border:0;color:var(--c-text);font-size:17px;padding:0 14px;outline:none}
.cmd .btn{border-radius:var(--r-lg);min-width:96px}
.quick{margin-top:14px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.quick a{font-size:13px;color:var(--c-text-2);border:1px solid var(--c-line-input);border-radius:var(--r-pill);padding:6px 12px;min-height:32px;display:inline-flex;align-items:center}
.quick a:hover{border-color:var(--c-lime)}
.sh{display:flex;align-items:baseline;gap:12px;margin:32px 0 12px}
.sh h2{font:700 var(--fs-h2)/1.3 var(--font-display)}
.sh .more{margin-left:auto;color:var(--c-lime);font-size:14px;white-space:nowrap}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none}
.tile{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;height:100%}
.tile:hover{border-color:var(--c-line-input);color:inherit}
.tile h3{font:600 16px/1.3 var(--font-display)}
:lang(ja) .tile h3,:lang(zh-Hant) .tile h3{font-size:15px;font-weight:700}
.tile .pub{font-size:13px;color:var(--c-muted)}
.tile .mt{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.logo-ph{display:flex;align-items:center;justify-content:center;text-align:center;background:var(--c-panel-2);border:1px solid var(--c-line);border-radius:var(--r-lg);color:var(--c-text-2);font:700 18px/1 var(--font-display);letter-spacing:.02em;overflow:hidden;white-space:nowrap}
.logo-ph--56{width:56px;height:56px}
.logo-img{background:var(--c-panel-2);border:1px solid var(--c-line);border-radius:var(--r-lg);object-fit:contain;padding:6px}
.lower{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin-top:12px}
.feed{list-style:none}
.feed li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;padding:12px 16px;border-top:1px solid var(--c-line);font-size:14px}
.feed li:first-child{border-top:0}
.feed .num{font-size:12px;color:var(--c-muted)}
.pan-h{display:flex;align-items:baseline;gap:12px;padding:14px 16px;border-bottom:1px solid var(--c-line)}
.pan-h h2{font:700 16px/1.3 var(--font-display)}
.browse{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin-top:12px}
.browse a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;height:100%}
.browse a b{font:600 15px/1.3 var(--font-display);color:var(--c-text)}
.browse a span{font-size:13px;color:var(--c-muted)}
.browse a:hover{border-color:var(--c-lime)}

/* ad slots: rendered only on Production with an ad-unit id; a slot AdSense reports unfilled collapses completely */
.ad-slot{display:block;text-align:center;overflow:hidden}
.ad-slot:has(ins[data-ad-status="unfilled"]){display:none}
.ad-slot--300{min-height:0}
.ad-slot--728{max-width:728px;width:100%;margin:12px auto 0}
.ad-slot--m{display:none;max-width:320px;margin:12px auto 0}

/* ---------- game page ---------- */
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;font:400 12px/1.5 var(--font-mono);color:var(--c-muted)}
:lang(ja) .crumb ol,:lang(zh-Hant) .crumb ol{font-family:var(--font-sans);font-size:13px}
.crumb a{display:inline-flex;align-items:center;min-height:24px}
.crumb li+li::before{content:"/";margin:0 8px;color:var(--c-faint)}
.crumb a:hover{color:var(--c-lime)}
.gband{margin-top:16px;padding:20px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center}
.glogo{width:120px;height:120px}
.glogo.logo-ph{font-size:36px}
.gh1{font:700 var(--fs-h1)/1.12 var(--font-display);letter-spacing:-.02em;margin:6px 0 12px}
:lang(ja) .gh1,:lang(zh-Hant) .gh1{font-size:var(--fs-h1-cjk);line-height:var(--lh-heading-cjk);letter-spacing:0;font-weight:900}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none}
.chips li{font-size:13px;border:1px solid var(--c-line);border-radius:var(--r-md);padding:3px 9px;color:var(--c-text-2)}
.chips li span{color:var(--c-muted);margin-right:6px}
.glance{margin-top:12px}
.bento{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:12px}
.bt{padding:18px;display:flex;flex-direction:column;gap:6px}
.big{font:700 var(--fs-big)/1.1 var(--font-display);margin:4px 0 2px}
:lang(ja) .big,:lang(zh-Hant) .big{font-size:var(--fs-big-cjk);font-weight:900;line-height:1.25}
.big--allows,.big--yes{color:var(--c-lime)}
.big--allows_with_conditions{color:var(--c-amber)}
.big--restricts{color:var(--c-red)}
.big--partial{color:var(--c-sky)}
.big--none_found,.big--no,.big--unknown{color:var(--c-text-2)}
.bt .note{font-size:13px;color:var(--c-muted)}
.meta{font:400 12px/1.5 var(--font-mono);color:var(--c-muted);display:flex;gap:6px 14px;flex-wrap:wrap;border-top:1px solid var(--c-line);padding-top:10px;margin-top:auto}
:lang(ja) .meta,:lang(zh-Hant) .meta{font-family:var(--font-sans);font-size:13px}
.meta a{color:var(--c-lime);text-decoration:underline;text-underline-offset:3px}
.bars{display:grid;gap:6px;margin-top:4px;list-style:none}
.bars li{display:grid;grid-template-columns:64px minmax(0,1fr) 22px;gap:10px;align-items:center;font-size:13px}
.bars .track{height:6px;background:var(--c-line);border-radius:3px;overflow:hidden}
.bars .track i{display:block;height:100%;background:var(--c-lime);border-radius:3px}
.bars .num{text-align:right}
.glance-cta{grid-column:3;display:flex}
.glance-cta .btn{flex:1}
.fresh{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--c-amber-border);color:var(--c-amber);border-radius:var(--r-lg);padding:10px 12px;font-size:13px;line-height:1.5}
.fresh svg{flex:none;width:16px;height:16px;margin-top:2px}
.gdetail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;margin-top:12px;align-items:start}
.gmain{display:grid;gap:12px}
.gside{display:grid;gap:12px;position:sticky;top:12px}
.sec{padding:20px}
.sec>h2{font:700 var(--fs-h2)/1.3 var(--font-display);margin-bottom:12px}
.sec>.lbl{display:block;margin-bottom:10px}
.quote{border-left:3px solid var(--c-amber);padding:2px 0 2px 16px;margin:4px 0 12px;color:var(--c-text);font-size:15px;line-height:1.65}
.quote[lang="ja"],.quote[lang="zh-Hant"]{line-height:1.85}
.cite{font-size:13px;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:6px 16px}
.cite .num{color:var(--c-text-2)}
.summary{margin-top:14px;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:12px 14px}
.summary .lbl{display:block;margin-bottom:4px}
.dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;font-size:14px}
.dl dt{color:var(--c-muted)}
.table-scroll{overflow-x:auto;border:1px solid var(--c-line);border-radius:var(--r-lg)}
.table-scroll:focus-visible{outline-offset:0}
table.rt{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.rt caption{text-align:left;padding:0 0 8px}
.rt th{font:500 11px/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--c-line);background:var(--c-bg-deep)}
:lang(ja) .rt th,:lang(zh-Hant) .rt th{font:500 13px/1.3 var(--font-sans);text-transform:none;letter-spacing:0}
.rt td{padding:11px 12px;border-bottom:1px solid var(--c-line);vertical-align:top}
.rt tr:last-child td{border-bottom:0}
.rt td.num{white-space:nowrap;font-size:13px}
.rep-note{font-size:13px;color:var(--c-muted);margin:-4px 0 12px}
.counts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.empty-inline{display:grid;justify-items:start;gap:12px;border:1px dashed var(--c-line-input);border-radius:var(--r-lg);padding:20px}
.empty-inline p{color:var(--c-text-2)}
.steps{counter-reset:s;list-style:none;display:grid;gap:10px}
.steps li{counter-increment:s;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;font-size:14px}
.steps li::before{content:counter(s);width:22px;height:22px;border-radius:50%;background:var(--c-amber);color:var(--c-on-amber);font:700 12px/22px var(--font-mono);text-align:center;margin-top:1px}
.links{list-style:none;display:grid;gap:4px;margin-top:12px;border-top:1px solid var(--c-line);padding-top:10px}
.links a{display:flex;gap:8px;min-height:32px;align-items:center;color:var(--c-lime);font-size:14px}
.links a:hover{text-decoration:underline}
.about p+p{margin-top:10px}
.rel{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rel a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--c-line);border-radius:var(--r-lg);font-size:14px;height:100%}
.rel a:hover{border-color:var(--c-line-input)}
.rel a span{font-size:12px;color:var(--c-muted)}
.disc{font-size:13px;color:var(--c-muted);margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 16px}
.disc a{color:var(--c-text-2);text-decoration:underline;text-underline-offset:3px}

/* ---------- list pages (A-Z, search, publisher, streamer mode) ---------- */
.phead{padding:28px 0 8px}
.phead .gh1{margin:6px 0 8px}
.phead .sub{color:var(--c-muted);max-width:60ch}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 12px}
.toolbar .lbl{margin-right:4px}
.fchip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--c-line-input);border-radius:var(--r-pill);font-size:13px;color:var(--c-text-2)}
.fchip[aria-current="true"]{background:var(--c-lime);border-color:var(--c-lime);color:var(--c-on-lime);font-weight:700}
.az{display:flex;flex-wrap:wrap;gap:2px;list-style:none;margin:8px 0 4px}
.az a,.az span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:var(--r-md);font:500 13px var(--font-mono)}
.az a{color:var(--c-text-2)}
.az a:hover{background:var(--c-panel);color:var(--c-lime)}
.az span{color:var(--c-faint)}
.rows{list-style:none;display:grid;gap:8px}
.row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 16px}
.row:hover{border-color:var(--c-line-input);color:inherit}
.row h2,.row h3{font:600 16px/1.3 var(--font-display)}
:lang(ja) .row :is(h2,h3),:lang(zh-Hant) .row :is(h2,h3){font-size:15px;font-weight:700}
.row .sub2{font-size:13px;color:var(--c-muted)}
.row .sub2 mark{background:none;color:var(--c-lime);font-weight:600}
.row .pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.row .chk-date{font-size:12px;color:var(--c-muted);text-align:right;margin-top:4px}
.letter{font:700 14px var(--font-mono);color:var(--c-lime);margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--c-line)}
.pager{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:24px;list-style:none}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:var(--r-lg);border:1px solid var(--c-line-input);font:500 14px var(--font-mono)}
.pager [aria-current="page"]{background:var(--c-lime);color:var(--c-on-lime);border-color:var(--c-lime)}
.pager .gap{border:0}
.res-count{font-size:14px;color:var(--c-muted);margin:4px 0 12px}
.empty{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start;padding:28px;margin-top:12px}
.empty .glyph{width:64px;height:64px;border-radius:var(--r-2xl);background:var(--c-panel-2);display:flex;align-items:center;justify-content:center;color:var(--c-lime)}
.empty .glyph svg{width:28px;height:28px}
.empty h2{font:700 20px/1.3 var(--font-display);margin-bottom:8px}
.empty ul{margin:10px 0 0 18px;color:var(--c-text-2);display:grid;gap:4px}
.empty .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.inline-search{display:flex;gap:8px;max-width:560px;margin-top:12px}
.inline-search input{flex:1;min-width:0;height:44px;background:var(--c-bg-deep);border:1px solid var(--c-line-input);border-radius:var(--r-lg);padding:0 12px;font-size:16px}
.inline-search input:focus{border-color:var(--c-lime);outline:none;box-shadow:0 0 0 2px var(--c-bg),0 0 0 4px var(--c-lime)}
.pub-pol{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;margin-top:12px;align-items:start}
.sm-tbl td:first-child a{font-weight:600}
.sm-tbl td:first-child a:hover{color:var(--c-lime)}

/* ---------- forms ---------- */
.fwrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;margin-top:16px;align-items:start}
.fhead{padding:20px 20px 12px}
.fhead .gh1{font-size:30px;margin:6px 0 8px}
:lang(ja) .fhead .gh1,:lang(zh-Hant) .fhead .gh1{font-size:26px}
.fhead p{color:var(--c-muted)}
.warn{margin:0 20px 12px;display:flex;gap:10px;border:1px solid var(--c-amber-border);color:var(--c-amber);border-radius:var(--r-lg);padding:10px 12px;font-size:14px}
.warn svg{flex:none;width:16px;height:16px;margin-top:3px}
.fld{padding:16px 20px;border-top:1px solid var(--c-line);margin:0;border-left:0;border-right:0;border-bottom:0;min-width:0}
.fld>legend,.fld>label,.fld>.flabel{display:block;float:left;width:100%;font:600 14px/1.4 var(--font-sans);color:var(--c-text);margin-bottom:10px;padding:0}
.fld>legend+*,.fld>label+*{clear:both}
.opt{font-weight:400;color:var(--c-muted);margin-left:8px;font-size:13px}
.req{color:var(--c-muted);font-weight:400;margin-left:6px;font-size:13px}
.hint{display:block;clear:both;font-size:13px;color:var(--c-muted);margin:-4px 0 8px}
.seg{display:flex;flex-wrap:wrap;gap:6px;clear:both}
.seg label{position:relative;display:inline-flex}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--c-line-input);border-radius:var(--r-lg);background:var(--c-bg-deep);font-size:14px;color:var(--c-text-2);cursor:pointer}
.seg input:checked+span{background:var(--c-lime);border-color:var(--c-lime);color:var(--c-on-lime);font-weight:700}
.seg input:focus-visible+span{outline:2px solid var(--c-focus);outline-offset:2px}
.seg label:hover span{border-color:var(--c-text-2)}
.inp,.sel{display:block;width:100%;min-height:44px;background:var(--c-bg-deep);border:1px solid var(--c-line-input);border-radius:var(--r-lg);padding:10px 12px;font-size:16px;color:var(--c-text)}
.sel{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-muted) 50%),linear-gradient(135deg,var(--c-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.inp:focus,.sel:focus{border-color:var(--c-lime);outline:none;box-shadow:0 0 0 2px var(--c-bg),0 0 0 4px var(--c-lime)}
.inp[readonly]{color:var(--c-text-2);border-style:dashed}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;clear:both}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:14px;cursor:pointer}
.chk input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--c-lime)}
.counter{display:block;text-align:right;font:400 12px var(--font-mono);color:var(--c-muted);margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fsubmit{padding:16px 20px 20px;border-top:1px solid var(--c-line)}
.fsubmit .small{margin-top:10px;color:var(--c-muted)}
/* errors */
.err-summary{margin:0 20px 12px;border:2px solid var(--c-red);border-radius:var(--r-lg);padding:14px 16px;background:#2A1A1A}
.err-summary h2{font:700 16px/1.3 var(--font-display);color:var(--c-text);margin-bottom:6px}
.err-summary ul{margin-left:18px;display:grid;gap:4px}
.err-summary a{color:var(--c-red);text-decoration:underline;text-underline-offset:3px}
.fld.has-err{box-shadow:inset 3px 0 0 var(--c-red)}
.err{display:flex;gap:6px;clear:both;color:var(--c-red);font-size:13px;font-weight:600;margin:0 0 8px}
.inp[aria-invalid="true"]{border-color:var(--c-red)}
.seg[data-invalid] span{border-color:var(--c-red)}
.paused{padding:28px;display:grid;gap:12px;justify-items:start}

/* receipt (report submitted) */
.receipt{padding:28px;display:grid;gap:16px}
.receipt .ok{display:flex;align-items:center;gap:12px}
.receipt .ok i{width:40px;height:40px;border-radius:50%;background:var(--c-lime);color:var(--c-on-lime);display:flex;align-items:center;justify-content:center;flex:none}
.receipt .ok i svg{width:22px;height:22px}
.rid{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;background:var(--c-bg-deep);border:1px solid var(--c-line-input);border-radius:var(--r-xl);padding:16px 18px}
.rid .code{font:700 28px/1 var(--font-mono);letter-spacing:.06em;color:var(--c-lime)}
.rid .st{margin-left:auto}
.acts{display:flex;flex-wrap:wrap;gap:10px}

/* 404 */
.nf{padding:72px 0 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.nf .code{font:700 120px/1 var(--font-mono);color:var(--c-line-input);letter-spacing:-.04em}
.nf .code b{color:var(--c-lime)}

/* ---------- md: 700-1023 ---------- */
@media (max-width:1023px){
  .nav{display:none}
  .hdr-m{display:flex;margin-left:0}
  .hdr-m .icon-btn{display:none}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .browse{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .bt--pol{grid-column:1/-1}
  .glance-cta{grid-column:1/-1}
  .gdetail,.fwrap,.pub-pol{grid-template-columns:minmax(0,1fr)}
  .gside{position:static}
  .ad-slot--728{display:none}
  .ad-slot--m{display:block}
  .ad-slot--m:has(ins[data-ad-status="unfilled"]){display:none}
  .rel{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ---------- sm: < 700 ---------- */
@media (max-width:699px){
  :root{--gutter:var(--gutter-sm);--header-h:var(--header-h-sm)}
  .hsearch,.lang{display:none}
  .hdr{gap:8px}
  .hdr-m{display:flex;margin-left:auto}
  .hdr-m .icon-btn{display:inline-flex}
  .brand img{height:22px}
  .hero{padding:24px 0 8px}
  .hero h1{font-size:var(--fs-display-sm)}
  :lang(ja) .hero h1,:lang(zh-Hant) .hero h1{font-size:var(--fs-display-cjk-sm)}
  .hero .sub{font-size:14px;margin-top:12px}
  .cmd{margin-top:16px}
  .cmd input{font-size:16px;padding:0 8px}
  .cmd .btn{min-width:0;padding:10px 14px}
  .tiles,.lower,.browse{grid-template-columns:minmax(0,1fr)}
  .sh{margin:24px 0 10px}
  .tile{padding:12px}
  .feed li{grid-template-columns:64px minmax(0,1fr);}
  .feed li .num:last-child{display:none}
  .gband{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px;align-items:start;margin-top:10px}
  .glogo{width:64px;height:64px}
  .glogo.logo-ph{font-size:20px}
  .gh1{font-size:var(--fs-h1-sm);margin:4px 0 8px}
  :lang(ja) .gh1,:lang(zh-Hant) .gh1{font-size:var(--fs-h1-cjk-sm)}
  .chips li{font-size:12px}
  .chips li:nth-child(n+4){display:none}
  .bento{gap:8px}
  .bt{padding:12px;gap:4px}
  .big{font-size:var(--fs-big-sm)}
  :lang(ja) .big,:lang(zh-Hant) .big{font-size:var(--fs-big-cjk-sm)}
  .bt--pol .note{display:none}
  .bars li{grid-template-columns:56px minmax(0,1fr) 14px;font-size:12px}
  .sec{padding:16px}
  .rel{grid-template-columns:minmax(0,1fr)}
  .row{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:12px}
  .row .logo-ph--56{width:48px;height:48px}
  .row .pills{grid-column:2;justify-content:flex-start}
  .row .chk-date{text-align:left;grid-column:2;margin-top:-6px}
  .row>div:last-child{grid-column:2}
  .empty{grid-template-columns:minmax(0,1fr);padding:20px;gap:14px}
  .fhead .gh1{font-size:24px}
  :lang(ja) .fhead .gh1,:lang(zh-Hant) .fhead .gh1{font-size:21px}
  .fld{padding:14px 16px}
  .warn,.err-summary{margin-left:16px;margin-right:16px}
  .fsubmit{padding:14px 16px 18px}
  .receipt{padding:20px}
  .rid .code{font-size:24px}
  .rid .st{margin-left:0}
  .nf{grid-template-columns:minmax(0,1fr);padding:32px 0 8px;gap:12px}
  .nf .code{font-size:84px}
  .ft{grid-template-columns:minmax(0,1fr)}
  .phead{padding:18px 0 4px}
}
