:root{--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#dde1e6;--color-text:#1f2430;--color-text-muted:#5b6472;--color-primary:#2f5fd1;--color-primary-dark:#23439c;--color-danger:#c0362c;--color-danger-bg:#fdecea;--color-success:#1f8a4c;--color-success-bg:#e9f7ef;--color-warning-bg:#fff6e0;--color-warning-border:#e8c568;--radius:8px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:24px;--spacing-6:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Segoe UI,system-ui,sans-serif;line-height:1.6}a{color:var(--color-primary)}.app-shell{max-width:1080px;padding:var(--spacing-4) var(--spacing-4) var(--spacing-6);margin:0 auto}.app-header{justify-content:space-between;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.app-title{align-items:center;gap:var(--spacing-2);font-size:1.1rem;font-weight:700;display:flex}.app-nav{gap:var(--spacing-2);display:flex}.app-nav a{align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius);color:var(--color-text);font-weight:600;text-decoration:none;display:inline-flex}.app-nav a[data-active=true]{background:var(--color-primary);color:#fff}.disclaimer-banner{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius);padding:var(--spacing-3) var(--spacing-4);margin:var(--spacing-4) 0;gap:var(--spacing-2);align-items:flex-start;font-size:.9rem;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-4);margin-bottom:var(--spacing-4)}.card h2{align-items:center;gap:var(--spacing-2);margin-top:0;font-size:1.05rem;display:flex}.field{margin-bottom:var(--spacing-3)}.field label{margin-bottom:var(--spacing-1);color:var(--color-text-muted);font-size:.85rem;font-weight:600;display:block}.field input[type=text],.field input[type=datetime-local],.field textarea,.field select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);background:#fff;font-size:.95rem}.field-hint{color:var(--color-text-muted);margin-top:var(--spacing-1);font-size:.8rem}.field-error{color:var(--color-danger);margin-top:var(--spacing-1);font-size:.85rem}.button{align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.9rem;font-weight:600;display:inline-flex}.button:disabled{opacity:.6;cursor:not-allowed}.button-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.button-primary:hover:not(:disabled){background:var(--color-primary-dark)}.button-danger{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.button-small{padding:var(--spacing-1) var(--spacing-2);font-size:.8rem}.table-scroll{overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;min-width:480px;font-size:.9rem}table.data-table th,table.data-table td{text-align:left;padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border)}table.data-table th{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.badge{background:var(--color-border);color:var(--color-text);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-failed{background:var(--color-danger-bg);color:var(--color-danger)}.badge-working{background:var(--color-success-bg);color:var(--color-success)}.badge-unobserved{color:var(--color-text-muted);background:#eef0f3}.empty-state{color:var(--color-text-muted);padding:var(--spacing-3) 0;font-size:.9rem}.modal-overlay{z-index:1000;padding:var(--spacing-4);background:#0f121a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius);padding:var(--spacing-5);width:100%;max-width:480px}.modal h3{margin-top:0}.modal-actions{justify-content:flex-end;gap:var(--spacing-2);margin-top:var(--spacing-4);display:flex}.toast-host{bottom:var(--spacing-4);right:var(--spacing-4);gap:var(--spacing-2);z-index:1100;flex-direction:column;max-width:360px;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--spacing-2);padding:var(--spacing-3);border-radius:var(--radius);font-size:.85rem;display:flex;box-shadow:0 4px 12px #0000001f}.toast-success{background:var(--color-success-bg);color:var(--color-success)}.toast-error{background:var(--color-danger-bg);color:var(--color-danger)}.toast button{cursor:pointer;color:inherit;background:0 0;border:none;margin-left:auto}.origin-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-3);margin-bottom:var(--spacing-3)}.origin-card-rank{color:var(--color-primary);margin-right:var(--spacing-2);font-weight:700}.step-row{align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2);display:flex}.step-row input{flex:1}.relogin-entry{border-left:3px solid var(--color-primary);padding-left:var(--spacing-3);margin-bottom:var(--spacing-4)}.relogin-entry.skipped{border-left-color:var(--color-success);opacity:.75}svg.dependency-graph{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;height:auto}@media (max-width:480px){.app-shell{padding:var(--spacing-3) var(--spacing-2) var(--spacing-5)}.card{padding:var(--spacing-3)}}.demo-banner{color:#fff;text-align:center;background:#d97706;padding:6px 16px;font-size:.75rem;font-weight:500;line-height:1.5}.app-nav-demos-link{color:var(--color-text-muted);padding-left:var(--spacing-3);border-left:1px solid var(--color-border);align-items:center;gap:5px;font-size:.85rem;text-decoration:none;display:inline-flex}.consult-button{z-index:300;background:var(--color-primary-dark);color:#fff;white-space:nowrap;border-radius:9999px;align-items:center;gap:7px;padding:10px 18px;font-size:.85rem;font-weight:600;text-decoration:none;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 14px #00000040}.app-footer{border-top:1px solid var(--color-border);padding:var(--spacing-4);text-align:center;color:var(--color-text-muted);font-size:.8rem}.app-footer a{color:var(--color-text-muted);text-decoration:none}.legal-back-link{color:var(--color-text-muted);margin-bottom:var(--spacing-5);align-items:center;gap:4px;font-size:.9rem;text-decoration:none;display:inline-flex}.legal-page section{margin-bottom:var(--spacing-6)}.legal-page h2{margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border);font-size:1rem;font-weight:700}.legal-page ul{color:var(--color-text-muted);flex-direction:column;gap:10px;padding-left:20px;font-size:.9rem;line-height:1.7;display:flex}.legal-page dl{flex-direction:column;gap:10px;display:flex}.legal-row{gap:var(--spacing-4);display:flex}.legal-row dt{width:80px;color:var(--color-text-muted);flex-shrink:0;font-size:.9rem}.legal-row dd{margin:0;font-size:.9rem}
