:root { --ink:#eaf1ff; --muted:#98a8c6; --panel:#131e35; --line:#263655; --accent:#68d4ff; --positive:#52d39c; --negative:#ff7b8e; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:radial-gradient(circle at top right,#17325b 0,#0a1120 42rem); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.page-shell { max-width:1040px; margin:auto; padding:36px 20px; }
header,.panel-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
h1 { margin:3px 0 0; font-size:clamp(1.75rem,4vw,2.5rem); } h2 { margin:0; } p { color:var(--muted); } .eyebrow { margin:0; color:var(--accent); font-size:.76rem; font-weight:700; letter-spacing:.14em; }
button { border:0; border-radius:9px; background:var(--accent); color:#051220; cursor:pointer; font-weight:700; padding:10px 15px; } button:disabled { opacity:.6; cursor:wait; } button.quiet { background:transparent; border:1px solid var(--line); color:var(--ink); }
.notice { display:flex; gap:12px; margin:28px 0 18px; padding:13px 15px; border:1px solid #355079; border-radius:10px; background:#10223c; font-size:.92rem; } .notice span { color:var(--muted); }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; } .metrics article,.panel,.login-card { background:rgba(19,30,53,.9); border:1px solid var(--line); border-radius:14px; } .metrics article { padding:18px; } .metrics p { margin:0 0 8px; font-size:.9rem; } .metrics strong { font-size:1.5rem; }
.panel { margin-top:16px; padding:20px; } .panel-heading p { margin:5px 0 0; font-size:.85rem; } .table-wrap { overflow-x:auto; margin-top:18px; } table { width:100%; border-collapse:collapse; min-width:680px; } th,td { padding:14px 10px; border-bottom:1px solid var(--line); text-align:right; } th:first-child,td:first-child { text-align:left; } th { color:var(--muted); font-size:.78rem; } td small { display:block; margin-top:4px; color:var(--muted); }.positive { color:var(--positive); }.negative,.error { color:var(--negative); }.footer { text-align:center; font-size:.85rem; }.login-page { display:grid; place-items:center; padding:20px; }.login-card { width:min(100%,400px); padding:30px; }.login-card h1 { margin:8px 0; }.login-card form { display:grid; gap:10px; margin-top:24px; }.login-card label { font-size:.9rem; }.login-card input { border:1px solid var(--line); border-radius:8px; padding:12px; color:var(--ink); background:#0b1425; font-size:1rem; }
.analysis-panel { background:linear-gradient(125deg,rgba(19,30,53,.96),rgba(19,45,70,.9)); }.risk-badge { border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.8rem; font-weight:700; padding:7px 10px; white-space:nowrap; }.risk-低 { color:var(--positive); border-color:rgba(82,211,156,.45); }.risk-中 { color:#ffd166; border-color:rgba(255,209,102,.45); }.risk-高 { color:var(--negative); border-color:rgba(255,123,142,.45); }.analysis-summary { color:var(--ink); font-size:1.05rem; line-height:1.6; margin:20px 0 12px; }.analysis-details { color:var(--muted); display:grid; gap:9px; line-height:1.45; margin:0; padding-left:20px; }.analysis-disclaimer { font-size:.78rem; margin:18px 0 0; }
@media (max-width:620px) { .page-shell { padding:22px 14px; }.metrics { grid-template-columns:1fr; }.notice { display:block; }.notice span { display:block; margin-top:5px; } }
