:root{--bg:#0b1220;--panel:#111a2d;--panel-soft:#1a2742;--text:#ebf1ff;--muted:#99a9cc;--line:rgba(153,169,204,0.24);--accent:#22d3ee}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(circle at 10% 0,rgba(34,211,238,.16),transparent 38%),var(--bg);color:var(--text);font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif}a{color:inherit;text-decoration:none}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.admin-sidebar{border-right:1px solid var(--line);padding:26px 18px}.sidebar-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.admin-sidebar h1{margin:0;font-size:1.16rem}.admin-sidebar p{color:var(--muted);font-size:.88rem}.admin-sidebar nav{margin-top:20px;display:grid;grid-gap:6px;gap:6px}.admin-sidebar nav a{background:transparent;border:1px solid transparent;color:var(--muted);padding:8px 10px;border-radius:10px;transition:.2s ease}.admin-sidebar nav a:hover{color:var(--text);border-color:var(--line);background:rgba(16,26,46,.8)}.language-switcher{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:rgba(16,26,46,.8)}.language-switcher button{border:0;background:transparent;color:var(--muted);font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:999px;cursor:pointer}.language-switcher button.active{background:var(--accent);color:#0a1220}.admin-main{padding:26px}.admin-main header p{margin:0;color:var(--accent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.admin-main header h2{margin:8px 0 0;font-size:clamp(1.5rem,3vw,2.1rem)}.panel-grid{margin-top:22px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(12,1fr)}.panel{grid-column:span 6;background:linear-gradient(145deg,var(--panel),var(--panel-soft));border:1px solid var(--line);border-radius:14px;padding:16px}.panel h3{margin:0;font-size:1rem}.panel p{margin:8px 0 0;color:var(--muted);line-height:1.6}.kpi-grid{margin-top:22px;display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px}.kpi-card{grid-column:span 3;background:linear-gradient(145deg,var(--panel),var(--panel-soft));border:1px solid var(--line);border-radius:14px;padding:14px}.kpi-card p{margin:0;color:var(--muted);font-size:.8rem}.kpi-card h3{margin:8px 0 0;font-size:1.5rem}.section-block{margin-top:16px;background:linear-gradient(145deg,var(--panel),var(--panel-soft));border:1px solid var(--line);border-radius:14px;padding:14px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-head h3{margin:0;font-size:1.06rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700;color:var(--text);background:rgba(16,26,46,.8)}.btn.primary{border-color:transparent;background:var(--accent);color:#0a1220}.list-table{width:100%;border-collapse:collapse}.list-table td,.list-table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:.86rem}.list-table th{color:var(--muted);font-weight:600}.list-table td{color:var(--text)}.badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}.badge.published{background:rgba(34,211,238,.14);color:#7dd3fc}.badge.draft{background:rgba(153,169,204,.14);color:#c7d2fe}.badge.archived{background:rgba(251,191,36,.12);color:#facc15}.actions{display:flex;gap:8px}.actions a,.actions button{color:#a5b4fc;font-size:.82rem}.actions button{border:0;background:transparent;cursor:pointer;padding:0}.two-col{margin-top:14px;display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px}.two-col .panel{grid-column:span 6}.upload-form{display:grid;grid-gap:10px;gap:10px;max-width:780px}.upload-form input[type=file]{color:var(--muted);font-size:.86rem}.upload-form input,.upload-form select,.upload-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:rgba(16,26,46,.75);color:var(--text);font:inherit;font-size:.86rem;padding:9px 10px}.upload-help{margin:0;color:var(--muted);font-size:.82rem}.upload-result{margin:0;color:#7dd3fc;font-size:.86rem}.upload-result a{color:#a5b4fc}.upload-error{margin:0;color:#fca5a5;font-size:.86rem}.upload-result-card{border:1px solid var(--line);border-radius:12px;background:rgba(16,26,46,.55);padding:10px;display:grid;grid-gap:8px;gap:8px}.upload-preview{width:100%;max-width:360px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:rgba(16,26,46,.75)}.upload-preview img{width:100%;height:auto;display:block}.markdown-preview-wrap{border:1px solid var(--line);border-radius:12px;background:rgba(16,26,46,.55);padding:12px}.markdown-body{color:var(--text);line-height:1.75}.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:14px 0 8px}.markdown-body p{margin:8px 0}.markdown-body ol,.markdown-body ul{margin:8px 0 8px 20px;padding:0}.markdown-body code{background:rgba(153,169,204,.2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.85em}.markdown-body a{color:#93c5fd}@media (max-width:920px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid var(--line)}.panel{grid-column:span 12}.kpi-card{grid-column:span 6}.two-col .panel{grid-column:span 12}}@media (max-width:640px){.kpi-card{grid-column:span 12}}