/* mgmt 共通レイアウト（段階D・2026-09-04／2026-09-13 補足の文字を濃く・状態色を 良好=緑/注意=橙/至急=赤 に）。/today の型を全ページに当てる。各テンプレの <head> 末尾で読み込む＝既存 <style> を上書き。
   トークンは /today と同じ。ページ固有の構造は触らず、既存クラスの見た目だけ揃える。 */
:root{--bg:#faf9f6;--paper:#fff;--ink:#23211f;--ink2:#4f4a44;--mute:#6f695f;--rule:#e6e1d8;--gold:#b08642;--gold-soft:#f3ecdf;--ok:#3f7d5a;--warn:#c2772b;--alert:#b5483a;--info:#4a6b8a;
  --serif:"Noto Serif JP","Hiragino Mincho ProN",serif;--num:"Saira Condensed","Hiragino Sans",sans-serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif}
html{background:var(--bg)}
body{font-family:var(--sans)!important;background:var(--bg)!important;color:var(--ink)!important;font-size:14px;line-height:1.7;margin:0}
/* 幅: 読み物系 .wrap は 860 / 表系 .container と個別ビューは 1180 */
.wrap{max-width:860px;margin:0 auto;padding:6px 20px 60px;background:transparent!important}
.container{max-width:1180px;margin:0 auto;padding:6px 20px 60px}
body.pg-creator .wrap,body.pg-line .wrap{max-width:1180px}
/* 見出し: 明朝・大きめ・下線なし。ページ名の行（topbar / top / tb）は透明背景 */
h1,.topbar .title,.tb-title,.tb h1,.top h1,.top-in h1{font-family:var(--serif)!important;font-weight:700!important;font-size:22px!important;letter-spacing:.04em;color:var(--ink)!important;margin:0}
.topbar,.top,.tb,.topbar-in{background:transparent!important;border:0!important;box-shadow:none!important;padding:26px 20px 10px!important;color:var(--ink)!important;max-width:1180px;margin:0 auto;box-sizing:border-box}
.top-in{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.wrap .top,.wrap .tb{padding-left:0!important;padding-right:0!important}   /* .wrap 内の見出しは .wrap の余白に任せる */
.topbar .meta,.tb-sub,.tb-count,.top .gen,.gen,.meta{font-size:11.5px!important;color:var(--mute)!important;font-weight:400!important;letter-spacing:.02em}
/* セクション見出し（/today の .sec と同型）: 明朝・下に1本線 */
.section-h,.sec,.mon-head,.tier-head,.chhead,.chart-head,.chart-title{display:flex;align-items:baseline;gap:12px;margin:34px 0 8px!important;padding:0 0 8px!important;border:0!important;border-bottom:1px solid var(--ink)!important;background:transparent!important;font-family:var(--serif)!important;font-size:15.5px!important;font-weight:700!important;letter-spacing:.06em;color:var(--ink)!important;border-radius:0!important}
.section-h span,.sec span,.mon-head span,.tier-head span,.chart-head span{font-family:var(--sans);font-size:11px!important;color:var(--mute)!important;font-weight:400!important;margin-left:auto}
.tier-head b,.mon-head b{font-size:15.5px!important;color:var(--ink)!important}
.src-head{font-family:var(--sans);font-size:11px!important;letter-spacing:.12em;color:var(--mute)!important;font-weight:700!important;margin:14px 2px 6px!important}
.src-head::before{content:""!important}
/* パネル・カード: 白・hairline・角丸4・影なし */
.card,.scard,.kcard,.katsu-panel,.inc-card,.entry,.mon,.st,.sum>div,.summary>div,.panel,.stat,.hourly-card,.event-card,.period-box,.chart-wrap,.doc,.item,.idx-row,.overview,.controls,.pattern-summary,.mstats,.msg,.legend,.note,.ctl,.ctl-foot,.p-list .filter,.filter{background:var(--paper)!important;border:1px solid var(--rule)!important;border-radius:4px!important;box-shadow:none!important}
.card,.scard,.kcard,.katsu-panel,.inc-card,.panel,.period-box,.chart-wrap,.doc,.overview,.pattern-summary{padding:18px 20px!important}
.entry,.mon,.item,.idx-row{padding:14px 16px!important}
.note,.msg,.legend,.ctl-foot{font-size:12px!important;color:var(--ink2)!important;padding:12px 14px!important;line-height:1.75}
.summary,.sum,.stats,.stat-row{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px!important;margin:12px 0 18px!important;background:transparent!important;border:0!important;padding:0!important}
.sum>div,.summary>div,.st,.stat{padding:14px 16px!important;text-align:left}
.sum b,.summary b,.st b,.stat b,.stat strong,.num,.n,.tb-count b,.big,.value{font-family:var(--num)!important;font-weight:600!important;font-size:26px;letter-spacing:.02em;color:var(--ink)!important;line-height:1.1}
.sum span,.summary span,.st span,.stat span,.stat small,.l{display:block;font-size:10.5px!important;letter-spacing:.1em;color:var(--mute)!important;margin-top:4px;font-weight:700}
/* 表: 罫線 hairline・ヘッダー小さく・行ゆったり */
table{border-collapse:collapse!important;width:100%;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
table th{font-size:10.5px!important;letter-spacing:.12em;color:var(--mute)!important;font-weight:700!important;text-align:left;padding:10px 8px!important;border:0!important;border-bottom:1px solid var(--ink)!important;background:transparent!important;text-transform:none}
table td{padding:11px 8px!important;border:0!important;border-bottom:1px solid var(--rule)!important;font-size:13px;vertical-align:middle;background:transparent!important}
table tr:hover td{background:#f7f5f1!important}
table td.num,table th.num,td.n,.tbl td.r{font-family:var(--num);font-size:15px;letter-spacing:.02em}
/* タブ: 下線式 */
.tabs{display:flex;gap:0!important;border:0!important;border-bottom:1px solid var(--rule)!important;margin:14px 0 16px!important;padding:0!important;background:transparent!important;border-radius:0!important;overflow-x:auto}
.tab,.tabs button{background:none!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:9px 14px!important;font-size:13px!important;color:var(--mute)!important;font-weight:700!important;box-shadow:none!important;white-space:nowrap}
.tab.on,.tab.active,.tabs button.on,.tabs button.active{color:var(--ink)!important;border-bottom-color:var(--gold)!important;background:none!important}
/* ピル・バッジ: 小さく・角丸2・色は各ページのまま */
.pill,.badge,.style-pill,.newtag,.ev-tier,.jdg,.judge,.tag{border-radius:2px!important;font-size:10.5px!important;letter-spacing:.06em;padding:2px 7px!important;font-weight:700!important;box-shadow:none!important;line-height:1.6}
/* ボタン・入力: 細枠・角丸2 */
button:not(.tab):not(.btn):not(.toggle):not(.day-head):not(.modal-close):not(.ov-toggle):not(.close):not(.x),.fbtn,.copy,.cp,.chk,a.button,.ctl button,.ctl-row button,.pager button,select,input[type=text],input[type=search],input[type=number],textarea{font-family:var(--sans);border:1px solid var(--rule)!important;border-radius:2px!important;background:var(--paper)!important;color:var(--ink)!important;font-size:12.5px!important;padding:6px 12px!important;box-shadow:none!important;font-weight:600}
button:not(.tab):hover,.fbtn:hover,.copy:hover,.chk:hover{border-color:var(--gold)!important;background:var(--gold-soft)!important}
button.primary,.fbtn.on,.chk.on,.ctl button.on,button[data-on="1"]{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
select{padding-right:26px!important}
/* リンク: 下線 hairline */
a{color:var(--ink)}
.container a:not(.pill):not(.button):not([class*="btn"]),.wrap a:not(.pill):not(.button):not([class*="btn"]):not(.tab){color:var(--ink2);text-decoration:none;border-bottom:1px solid var(--rule)}
.container a:hover,.wrap a:hover{border-bottom-color:var(--gold);color:var(--ink)}
/* モーダル */
.modal{background:var(--paper)!important;border:1px solid var(--rule)!important;border-radius:6px!important;box-shadow:0 12px 40px rgba(35,33,31,.12)!important}
.modal-head{font-family:var(--serif)!important;font-weight:700!important;font-size:16px!important;border-bottom:1px solid var(--ink)!important;background:transparent!important}
/* トースト */
.toast{background:var(--ink)!important;color:#fff!important;border-radius:3px!important;font-size:12.5px!important;font-weight:700;box-shadow:none!important}
/* 個別ビュー（creator）のヘッダ */
body.pg-creator .head-row{align-items:flex-end;gap:16px}
body.pg-creator .nick{font-family:var(--serif)!important;font-size:24px!important;font-weight:700!important;letter-spacing:.04em}
body.pg-creator .uid{font-family:var(--num)!important;font-size:14px!important;color:var(--mute)!important;letter-spacing:.04em}
body.pg-creator .sub{font-size:11.5px!important;color:var(--mute)!important}
/* スマホ */
@media(max-width:720px){.wrap,.container{padding:4px 12px 80px}h1,.topbar .title,.tb h1,.top h1{font-size:19px!important}.topbar,.top,.tb{padding:16px 0 8px!important}.summary,.sum,.stats,.stat-row{grid-template-columns:1fr 1fr!important;gap:8px!important}.sum b,.summary b,.st b,.stat b{font-size:22px}table th,table td{padding:9px 6px!important;font-size:12.5px}}
/* 小さな操作ボタンは広げない */
.modal-close,.close,.x{border:0!important;background:none!important;font-size:18px!important;line-height:1!important;padding:4px 8px!important;color:var(--mute)!important;cursor:pointer}
.modal-close:hover,.close:hover{color:var(--ink)!important;background:none!important}
.ov-toggle{font-size:11px!important;padding:3px 9px!important}
/* フィルタのピル（ランキング等）の ON は黒で統一 */
.pill.on,.pill[data-f].on,span.pill.on{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.pill[data-f]{cursor:pointer;user-select:none}
/* ランキング: ハイブリッドフィルタと見どころ（2026-09-04） */
.fcat{display:inline-flex;align-items:center;gap:4px;margin-right:12px}.fcat b{font-size:10px;letter-spacing:.12em;color:var(--mute);margin-right:3px;font-weight:700}
.hilite{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:8px 0 18px}
.hl{display:block;padding:14px 16px;background:var(--paper);border:1px solid var(--rule);border-radius:4px;text-decoration:none!important;color:var(--ink)!important;border-bottom:1px solid var(--rule)!important}
.hl:hover{border-color:var(--gold)!important}.hl.warn{border-left:2px solid var(--warn)}
.hl small{display:block;font-size:10px;letter-spacing:.12em;color:var(--gold);font-weight:700}.hl b{display:block;font-family:var(--serif);font-size:15px;margin:4px 0 2px;font-weight:700}.hl span{font-size:11.5px;color:var(--mute)}
details.tbl-wrap>summary{cursor:pointer;font-family:var(--serif);font-size:13px;letter-spacing:.08em;color:var(--ink2);margin:6px 0 8px;list-style:none}details.tbl-wrap>summary::before{content:"▾ ";color:var(--gold)}details.tbl-wrap:not([open])>summary::before{content:"▸ "}
