@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=IBM+Plex+Mono&display=swap";:root,[data-theme=dark]{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--color-brand-primary:#818cf8;--color-brand-primary-hover:#6366f1;--color-brand-primary-active:#4f46e5;--color-brand-primary-dim:#818cf829;--color-brand-secondary:#06b6d4;--color-brand-secondary-hover:#0891b2;--color-brand-secondary-dim:#06b6d429;--color-brand-accent:#ff7e47;--color-brand-accent-hover:#ea580c;--color-brand-accent-dim:#ff7e4729;--color-bg:#090a16;--color-surface:#0f1126;--color-surface-2:#16193b;--color-surface-3:#222659;--color-border:#818cf833;--color-border-2:#818cf873;--color-text-primary:#f8fafc;--color-text-secondary:#c7d2fe;--color-text-muted:#818cf8;--color-validated-bg:#06b6d429;--color-validated-text:#22d3ee;--color-validated-border:#06b6d459;--color-suggested-bg:#818cf829;--color-suggested-text:#a5b4fc;--color-suggested-border:#818cf859;--color-review-bg:#f59e0b29;--color-review-text:#fde047;--color-review-border:#f59e0b59;--color-rejected-bg:#ef444429;--color-rejected-text:#fca5a5;--color-rejected-border:#ef444459;--color-comment-bg:#38bdf829;--color-comment-text:#7dd3fc;--color-comment-border:#38bdf859;--color-memo-bg:#a855f729;--color-memo-text:#e9d5ff;--color-memo-border:#a855f759;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 8px 36px #818cf826;--shadow-glow:0 0 30px #818cf840;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}[data-theme=light]{--color-bg:#f8fafc;--color-surface:#fff;--color-surface-2:#f1f5f9;--color-surface-3:#e2e8f0;--color-border:#e2e8f0;--color-border-2:#cbd5e1;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-brand-primary:#4338ca;--color-brand-primary-hover:#3730a3;--color-brand-primary-active:#312e81;--color-brand-primary-dim:#4338ca14;--color-brand-secondary:#0d9488;--color-brand-secondary-hover:#0f766e;--color-brand-secondary-dim:#0d948814;--color-validated-bg:#0d948814;--color-validated-text:#0f766e;--color-validated-border:#0d948833;--color-suggested-bg:#4338ca14;--color-suggested-text:#3730a3;--color-suggested-border:#4338ca33;--color-review-bg:#b4530914;--color-review-text:#b45309;--color-review-border:#b4530933;--color-rejected-bg:#b91c1c14;--color-rejected-text:#b91c1c;--color-rejected-border:#b91c1c33;--color-comment-bg:#0369a114;--color-comment-text:#0369a1;--color-comment-border:#0369a133;--color-memo-bg:#6d28d914;--color-memo-text:#6d28d9;--color-memo-border:#6d28d933;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-glow:0 0 24px #4338ca14}[data-theme=high-contrast]{--color-bg:#000;--color-surface:#000;--color-surface-2:#000;--color-surface-3:#121212;--color-border:#fff;--color-border-2:#fff;--color-text-primary:#fff;--color-text-secondary:#fff;--color-text-muted:#e5e7eb;--color-brand-primary:#818cf8;--color-brand-primary-hover:#a5b4fc;--color-brand-primary-active:#c7d2fe;--color-brand-primary-dim:#fff3;--color-brand-secondary:#2dd4bf;--color-brand-secondary-hover:#5eead4;--color-brand-secondary-dim:#fff3;--color-validated-bg:#000;--color-validated-text:#2dd4bf;--color-validated-border:#fff;--color-suggested-bg:#000;--color-suggested-text:#818cf8;--color-suggested-border:#fff;--color-review-bg:#000;--color-review-text:#fbbf24;--color-review-border:#fff;--color-rejected-bg:#000;--color-rejected-text:#f87171;--color-rejected-border:#fff;--color-comment-bg:#000;--color-comment-text:#38bdf8;--color-comment-border:#fff;--color-memo-bg:#000;--color-memo-text:#c084fc;--color-memo-border:#fff;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--shadow-glow:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:15px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text-primary);min-height:100dvh;line-height:1.6;transition:background-color .25s,color .2s}:focus-visible{outline:3px solid var(--color-brand-primary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.01em;font-weight:700;line-height:1.25}h1{font-size:2.2rem}h2{font-size:1.6rem}h3{font-size:1.2rem}h4{font-size:1rem}p{color:var(--color-text-secondary);font-size:.92rem;line-height:1.7}a{color:var(--color-brand-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--color-brand-primary-hover)}input,textarea,select{font-family:var(--font-sans);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);outline:none;width:100%;padding:.65rem .9rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s,background-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-primary-dim);background:var(--color-surface)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.7}textarea{resize:vertical;min-height:90px}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.35rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-brand-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-brand-primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--color-brand-primary-active);transform:translateY(0)}.btn-secondary{background:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-3);border-color:var(--color-border-2);transform:translateY(-1px)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text-primary)}.btn-danger{background:var(--color-rejected-bg);color:var(--color-rejected-text);border:1px solid var(--color-rejected-border)}.btn-danger:hover:not(:disabled){background:var(--color-rejected-text);color:#fff;transform:translateY(-1px)}.btn-success{background:var(--color-validated-bg);color:var(--color-validated-text);border:1px solid var(--color-validated-border)}.btn-success:hover:not(:disabled){background:var(--color-validated-text);color:#fff;transform:translateY(-1px)}.btn-sm{border-radius:var(--radius-sm);padding:.4rem .8rem;font-size:.8rem}.btn-lg{padding:.9rem 1.8rem;font-size:1rem}.btn-icon{aspect-ratio:1;border-radius:var(--radius-md);padding:.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:1.75rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.card:hover{border-color:var(--color-border-2);box-shadow:var(--shadow-md)}.card-glass{-webkit-backdrop-filter:blur(20px);background:#111827b3}[data-theme=light] .card-glass{background:#fffc}.badge{letter-spacing:.01em;border-radius:99px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-brand{background:var(--color-brand-primary-dim);color:var(--color-brand-primary);border:1px solid #6366f133}.badge-secondary{background:var(--color-brand-secondary-dim);color:var(--color-brand-secondary);border:1px solid #14b8a633}.code-chip{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000000d;align-items:center;gap:.35rem;padding:.2rem .65rem;font-size:.75rem;font-weight:550;transition:all .15s;display:inline-flex}.code-chip:hover{filter:brightness(.95);transform:translateY(-.5px)}.research-validated{background:var(--color-validated-bg);color:var(--color-validated-text);border:1px solid var(--color-validated-border)}.research-suggested{background:var(--color-suggested-bg);color:var(--color-suggested-text);border:1px solid var(--color-suggested-border)}.research-review{background:var(--color-review-bg);color:var(--color-review-text);border:1px solid var(--color-review-border)}.research-rejected{background:var(--color-rejected-bg);color:var(--color-rejected-text);border:1px solid var(--color-rejected-border)}.research-comment{background:var(--color-comment-bg);color:var(--color-comment-text);border:1px solid var(--color-comment-border)}.research-memo{background:var(--color-memo-bg);color:var(--color-memo-text);border:1px solid var(--color-memo-border)}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.form-error{color:var(--color-rejected-text);font-size:.8rem}.form-hint{color:var(--color-text-muted);font-size:.78rem}.divider{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-surface-2) 25%, var(--color-surface-3) 50%, var(--color-surface-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes ai-pulse{0%,to{box-shadow:0 0 #6366f166}50%{box-shadow:0 0 0 8px #6366f100}}.ai-active{animation:2.2s infinite ai-pulse}.hover-slide{transition:transform .2s,border-color .2s}.hover-slide:hover{transform:translateY(-2px)}@media (width<=768px){html{font-size:14px}h1{font-size:1.8rem}h2{font-size:1.4rem}.card{border-radius:var(--radius-lg);padding:1.25rem}}
