:root{--accent:#2a5f4a;--accent-strong:#244b3d;--accent-wash:#eef3f0;--ink:#17201c;--ink-soft:#3a423e;--muted:#6b7178;--border:#e4e6e8;--border-strong:#d3d7da;--bg:#ffffff;--bg-subtle:#f6f7f8;--bg-sunken:#fafbfc;--danger:#b42318;--danger-border:#e6c3bf;--radius:10px;--shadow-sm:0 1px 2px rgba(20,25,30,0.04),0 1px 3px rgba(20,25,30,0.06)}*{box-sizing:border-box}:root{color-scheme:light}html{-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0;color:var(--ink);background:var(--bg-sunken);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-strong)}h2{font-size:1.35rem;margin:0 0 1rem}h2,h3{letter-spacing:-.01em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.shell{display:flex;min-height:100vh}.nav{width:216px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);padding:1.1rem 0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.nav h1{font-size:1.15rem;padding:0 1.25rem;margin:0 0 1.25rem;color:var(--accent);letter-spacing:-.02em;font-weight:700}.nav a{display:block;padding:.5rem 1.25rem;text-decoration:none;color:var(--ink-soft);font-size:.9rem;border-left:3px solid transparent}.nav a:hover{background:var(--bg-subtle);color:var(--ink)}.nav a.active{background:var(--accent-wash);color:var(--accent-strong);font-weight:600;border-left-color:var(--accent)}.nav .section{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:1.1rem 1.25rem .3rem;font-weight:600}.nav .disabled{color:var(--border-strong);cursor:default}.main{flex:1 1;padding:1.75rem 2.25rem;max-width:1120px}.card{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem;background:var(--bg);box-shadow:var(--shadow-sm)}.card h3{margin:0 0 .25rem;font-size:1rem}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--accent)}.meta{color:var(--muted);font-size:.8rem;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.badge{display:inline-block;padding:.12rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600;white-space:nowrap}.badge.warm{background:#fdecd4;color:#8a5a00}.badge.adjacent{background:#e4ecf7;color:#2b4d7e}.badge.cold{background:#edeef0;color:#565b60}.badge.act_now{background:#fbdcd8;color:#922}.badge.worth_exploring{background:#e6f3ec;color:#1e6b45}.badge.monitor{background:#edeef0;color:#565b60}.badge.neutral{background:var(--bg-subtle);color:var(--ink-soft);border:1px solid var(--border)}.btn,button{font:inherit;font-size:.85rem;padding:.42rem .9rem;border-radius:7px;border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;text-decoration:none;color:var(--ink);line-height:1.3;transition:background .12s,border-color .12s,filter .12s}.btn:hover,button:hover{background:var(--bg-subtle)}.btn.primary,button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover,button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}button.danger{color:var(--danger);border-color:var(--danger-border)}button.danger:hover{background:#fbf1f0}button:disabled{opacity:.55;cursor:not-allowed}form.editor{display:grid;grid-gap:.9rem;gap:.9rem;max-width:720px}form.editor label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--ink-soft)}form.editor input,form.editor select,form.editor textarea,input.field,select.field{font:inherit;font-size:.9rem;padding:.5rem .6rem;border:1px solid var(--border-strong);border-radius:7px;width:100%;background:var(--bg);color:var(--ink)}form.editor input:focus,form.editor select:focus,form.editor textarea:focus,input.field:focus,select.field:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-wash)}form.editor textarea{min-height:90px;resize:vertical}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.evidence{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem;font-size:.85rem}table.plain{border-collapse:collapse;width:100%;font-size:.85rem}table.plain td,table.plain th{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}table.plain th{color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}table.plain tr:hover td{background:var(--bg-sunken)}.filters{display:flex;gap:.4rem;margin:.75rem 0 1.25rem;flex-wrap:wrap;align-items:center}.filters a{font-size:.8rem;padding:.28rem .7rem;border:1px solid var(--border-strong);border-radius:99px;text-decoration:none;color:var(--ink-soft);background:var(--bg)}.filters a:hover{background:var(--bg-subtle)}.filters a.on{background:var(--accent);color:#fff;border-color:var(--accent)}.filters .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;margin-right:.1rem}.filters .divider{width:1px;height:18px;background:var(--border-strong);margin:0 .35rem}.notice{background:#fff8e6;border:1px solid #eadfb8;padding:.6rem .9rem;border-radius:8px}.callout,.notice{font-size:.85rem;margin-bottom:1rem}.callout{background:var(--accent-wash);border:1px solid #cfe0d8;padding:.7rem 1rem;border-radius:8px}.sources{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.sources a{font-size:.76rem;padding:.16rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-subtle);color:var(--ink-soft);text-decoration:none}.sources a:hover{border-color:var(--accent);color:var(--accent)}.cell-input,.cell-select{font:inherit;font-size:.85rem;color:var(--ink);border:1px solid transparent;background:transparent;border-radius:6px;padding:.25rem .4rem;width:100%;max-width:210px}.cell-select{min-width:118px}.cell-input:hover,.cell-select:hover{border-color:var(--border)}.cell-input:focus,.cell-select:focus{border-color:var(--accent);background:var(--bg);outline:none;box-shadow:0 0 0 2px var(--accent-wash)}.cell-input::placeholder{color:var(--muted);font-style:italic}.spinner{width:14px;height:14px;flex:0 0 auto;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}