:root{--bg:#f5f6f2;--surface:#fff;--surface-2:#eef1e9;--text:#172018;--muted:#667066;--line:#dce1d8;--accent:#0c6244;--accent-2:#d4a72c;--danger:#a13333;--shadow:0 18px 50px rgba(29,48,34,.08);--radius:20px;--max:1180px;color-scheme:light}
@media(prefers-color-scheme:dark){:root{--bg:#101511;--surface:#182019;--surface-2:#202a21;--text:#eef4ef;--muted:#aeb8b0;--line:#344037;--accent:#65c69c;--accent-2:#e7c55e;--danger:#ff9999;--shadow:0 18px 50px rgba(0,0,0,.25);color-scheme:dark}}
:root[data-theme=light]{--bg:#f5f6f2;--surface:#fff;--surface-2:#eef1e9;--text:#172018;--muted:#667066;--line:#dce1d8;--accent:#0c6244;--accent-2:#d4a72c;--danger:#a13333;--shadow:0 18px 50px rgba(29,48,34,.08);color-scheme:light}
:root[data-theme=dark]{--bg:#101511;--surface:#182019;--surface-2:#202a21;--text:#eef4ef;--muted:#aeb8b0;--line:#344037;--accent:#65c69c;--accent-2:#e7c55e;--danger:#ff9999;--shadow:0 18px 50px rgba(0,0,0,.25);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Yu Gothic UI","Hiragino Sans",Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip{position:fixed;top:-100px;left:1rem;z-index:99;background:var(--text);color:var(--bg);padding:.7rem 1rem;border-radius:8px}.skip:focus{top:1rem}.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.header-inner{max-width:var(--max);margin:auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--accent);color:var(--surface);font:800 22px Georgia,serif}.brand b{display:block;font-size:15px;letter-spacing:.06em}.brand small{display:block;color:var(--muted);font-size:10px}.site-header nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.site-header nav>a,.link-button,.icon-button{min-height:42px;padding:9px 12px;border-radius:10px;color:var(--muted);font-weight:700;font-size:13px;border:0;background:transparent;cursor:pointer}.site-header nav>a:hover,.site-header nav>a:focus-visible,.link-button:hover,.icon-button:hover{background:var(--surface-2);color:var(--text)}.inline{display:inline}.link-button{display:inline}main{min-height:65vh}.hero{max-width:var(--max);margin:0 auto;padding:88px 24px 56px}.hero.compact{padding-top:62px;padding-bottom:36px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,5vw,68px);line-height:1.15;letter-spacing:-.02em;max-width:850px;margin:8px 0 18px}.hero.compact h1{font-size:clamp(32px,4vw,52px)}.hero>p:not(.eyebrow){color:var(--muted);max-width:720px;font-size:17px}.eyebrow{color:var(--accent);font-weight:900;letter-spacing:.18em;font-size:12px;text-transform:uppercase;margin:0}.edition-tools{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.section{max-width:var(--max);margin:0 auto;padding:26px 24px 56px}.section-title{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px}.section-title h2,.admin-section h2{font-size:clamp(24px,3vw,36px);margin:4px 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.section-title>span{color:var(--muted)}.top-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.news-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;box-shadow:var(--shadow);min-width:0}.news-card.featured{padding-top:50px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent) 7%,var(--surface)))}.rank{position:absolute;left:22px;top:18px;font:800 23px Georgia,serif;color:var(--accent-2)}.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.category,.explore{display:inline-flex;border-radius:999px;padding:4px 9px;background:var(--surface-2);color:var(--accent);font-weight:800}.explore{color:#765600;background:#fff1bd}.news-card h3{font-size:clamp(19px,2.2vw,25px);line-height:1.45;margin:16px 0 10px}.news-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}.summary{color:var(--muted);margin:0 0 20px}.source{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;color:var(--muted);font-size:12px}.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:var(--surface);padding:9px 15px;font-weight:800;cursor:pointer}.button:hover,.button:focus-visible{filter:brightness(1.1)}.button.secondary{background:transparent;color:var(--accent)}.button.wide{width:100%}.filter-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 18px;scrollbar-width:thin}.filter{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;min-height:42px;padding:8px 14px;cursor:pointer}.filter.active{background:var(--text);border-color:var(--text);color:var(--bg)}.feedback{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.feedback-btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:42px;padding:8px 11px;color:var(--muted);cursor:pointer}.feedback-btn.active.like{background:color-mix(in srgb,var(--accent) 15%,var(--surface));border-color:var(--accent);color:var(--accent)}.feedback-btn.active.dislike{background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:var(--danger);color:var(--danger)}.reason{display:none;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:7px}.feedback:has(.dislike.active) .reason{display:block}.feedback-status{font-size:12px;color:var(--accent)}.breadcrumbs{max-width:900px;margin:0 auto;padding:32px 24px 0;display:flex;gap:9px;color:var(--muted);font-size:13px}.detail{max-width:900px;margin:0 auto;padding:30px 24px 80px}.detail>h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(32px,5vw,58px);line-height:1.3;margin:16px 0 20px}.lead{font-size:clamp(18px,2.4vw,23px);line-height:1.9;color:var(--muted);border-left:4px solid var(--accent);padding-left:20px}.detail section{margin-top:42px}.detail section h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:26px}.detail section p{font-size:17px}.caution{background:var(--surface-2);border-radius:16px;padding:20px 24px}.owner-panel{border:1px solid var(--line);padding:22px;border-radius:16px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}.facts>div{background:var(--surface);padding:14px}.facts dt{color:var(--muted);font-size:12px;font-weight:800}.facts dd{margin:4px 0 0;font-weight:700}.archive-list{display:grid;gap:10px}.archive-list>a{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.archive-list>a:hover{border-color:var(--accent)}.search-form{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:10px;margin-top:28px;max-width:900px}.search-form input,.search-form select,.auth-card input,.settings-form select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:10px 13px}.result-count,.empty{color:var(--muted)}.auth-card{max-width:520px;margin:70px auto;padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-card h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:34px}.auth-card>p{color:var(--muted)}.auth-card label,.settings-form label{display:grid;gap:7px;margin:16px 0;font-weight:800}.alert{padding:12px;border-radius:10px}.alert.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.dashboard-grid{max-width:var(--max);margin:auto;padding:0 24px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.metric span,.metric small{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:26px;margin:6px 0}.admin-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px}.settings-form{max-width:620px}.help{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted)}footer{border-top:1px solid var(--line);max-width:var(--max);margin:40px auto 0;padding:28px 24px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:16px}footer p{margin:0}
.small-button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;min-height:38px;padding:6px 11px;cursor:pointer}.small-button:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:900px){.top-grid{grid-template-columns:1fr}.article-list{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.site-header nav>a{display:none}.site-header nav>a:nth-child(2){display:inline-flex}.user-auth .site-header nav>a:nth-child(4){display:inline-flex}.user-guest .site-header nav>a:nth-child(3){display:inline-flex}.site-header .icon-button{display:none}}
@media(max-width:600px){.header-inner{padding:10px 14px}.brand small{display:none}.hero{padding:58px 18px 36px}.section{padding:20px 16px 42px}.news-card{padding:19px}.top-grid,.article-list{gap:12px}.search-form{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr;padding:0 16px}.detail{padding:24px 18px 60px}.source{flex-direction:column}.card-actions{align-items:stretch}.card-actions>.button{flex:1}.feedback{width:100%}.reason{width:100%}footer{flex-direction:column;padding:24px 18px}.auth-card{margin:30px 14px;padding:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
