:root{--bg: #DCE0D9;--ink: #31081F;--cherry: #6B0F1A;--cherry-bg: #EDDCD9;--olive: #808F85;--olive-deep: #44554B;--olive-bg: #D2DBD2;--charcoal: #595959;--card: #F7F7F3;--line: #C5CCC2;--gold: #C99A2E;--serif: "Fraunces", Georgia, serif;--sans: "Inter", -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--serif)}a{color:inherit}button{font-family:var(--sans);cursor:pointer}.shell{display:flex;min-height:100%}.sidebar{width:240px;flex-shrink:0;background:var(--ink);color:var(--bg);display:flex;flex-direction:column;padding:28px 0 20px;position:sticky;top:0;height:100vh}.sidebar .brand{font-family:var(--serif);font-style:italic;font-weight:700;font-size:34px;padding:0 26px 4px}.sidebar .brand small{display:block;font-family:var(--sans);font-style:normal;font-weight:500;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#b99ba9;margin-top:2px}.sidebar nav{margin-top:26px;flex:1}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 26px;font-size:14px;font-weight:500;color:#d8c3ce;text-decoration:none;border-left:3px solid transparent}.sidebar nav a:hover{color:#fff;background:#ffffff0d}.sidebar nav a.active{color:#fff;border-left-color:var(--gold);background:#ffffff12}.sidebar nav .sep{margin:14px 26px 10px;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:#8a6d7c}.sidebar .account{padding:14px 26px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.sidebar .account .name{font-weight:600;color:#fff}.sidebar .account .kind{color:#b99ba9;font-size:12px;margin-top:1px}.sidebar .account .plan{display:inline-block;margin-top:8px;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--gold);color:var(--ink)}.sidebar .account .plan.essai{background:#8a6d7c;color:#fff}.sidebar .account button{margin-top:12px;background:none;border:1px solid rgba(255,255,255,.3);color:#d8c3ce;border-radius:8px;padding:6px 14px;font-size:12.5px}.sidebar .account button:hover{border-color:#fff;color:#fff}.content{flex:1;min-width:0;padding:36px 44px 60px;max-width:1080px}.page-head{margin-bottom:26px}.page-head h1{font-size:30px;font-weight:600}.page-head p{color:var(--charcoal);font-size:14px;margin-top:6px;max-width:640px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:26px}.stat .label{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--charcoal)}.stat .value{font-family:var(--serif);font-size:34px;font-weight:600;margin-top:6px}.stat .hint{font-size:12px;color:var(--charcoal);margin-top:2px}.section-title{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--charcoal);margin:30px 0 12px}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--charcoal);padding:8px 12px;border-bottom:2px solid var(--ink)}table.data td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:#fff9}.lead-pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 10px;border-radius:12px}.lead-pill.yes{background:var(--olive-bg);color:var(--olive-deep)}.lead-pill.no{background:var(--cherry-bg);color:var(--cherry)}.lead-pill.none{background:#e4e7e2;color:var(--charcoal)}.delta{font-weight:600;font-size:13px;white-space:nowrap}.delta.up{color:var(--olive-deep)}.delta.down{color:var(--cherry)}.delta.flat{color:var(--charcoal)}.share-bar{height:8px;border-radius:4px;background:var(--cherry-bg);overflow:hidden;min-width:90px}.share-bar>div{height:100%;background:var(--olive)}.chat{display:flex;flex-direction:column;gap:18px}.msg-user{align-self:flex-end;max-width:75%;background:var(--ink);color:var(--bg);padding:13px 18px;border-radius:16px 16px 4px;font-size:14.5px;line-height:1.45}.msg-report{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 28px}.msg-error{background:var(--cherry-bg);color:var(--cherry);border-radius:12px;padding:12px 18px;font-size:13.5px}.report-actions{display:flex;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);flex-wrap:wrap}.thinking{display:flex;align-items:center;gap:12px;color:var(--charcoal);font-size:13.5px;padding:6px 2px}.thinking .dot{width:8px;height:8px;border-radius:50%;background:var(--cherry);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}.chat-input{position:sticky;bottom:0;background:var(--bg);padding:14px 0 4px;display:flex;gap:10px}.chat-input textarea{flex:1;font-family:var(--sans);font-size:14.5px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);resize:none;line-height:1.4}.chat-input textarea:focus{outline:2px solid var(--ink);border-color:transparent}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{background:none;border:1px solid var(--olive);color:var(--olive-deep);border-radius:20px;padding:7px 14px;font-size:12.5px}.chip:hover{background:var(--olive-bg)}.btn{border:none;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;background:var(--ink);color:#fff}.btn:hover{background:#47132e}.btn:disabled{opacity:.45;cursor:default}.btn.secondary{background:none;border:1.5px solid var(--ink);color:var(--ink)}.btn.secondary:hover{background:#31081f0f}.btn.small{padding:7px 14px;font-size:12.5px;border-radius:8px}.report{font-size:14.5px;line-height:1.62}.report h1{font-size:24px;font-weight:600;margin:4px 0 14px;line-height:1.25}.report h2{font-size:18px;font-weight:600;margin:22px 0 8px}.report h3{font-size:15.5px;font-weight:600;margin:16px 0 6px}.report p{margin:9px 0}.report ul,.report ol{margin:9px 0 9px 22px}.report li{margin:4px 0}.report strong{color:var(--cherry)}.report code{font-family:ui-monospace,monospace;font-size:13px;background:var(--bg);padding:1px 5px;border-radius:4px}.report hr{border:none;border-top:1px solid var(--line);margin:18px 0}.report .tw{overflow-x:auto;margin:12px 0}.report table{border-collapse:collapse;font-size:13.5px;min-width:380px}.report th{text-align:left;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--charcoal);border-bottom:2px solid var(--ink);padding:6px 14px 6px 0}.report td{padding:7px 14px 7px 0;border-bottom:1px solid var(--line)}.trace{margin-top:16px}.trace summary{font-size:12.5px;font-weight:600;color:var(--olive-deep);cursor:pointer}.trace ol{margin:10px 0 4px 22px}.trace li{font-size:13px;margin:7px 0;line-height:1.45}.trace li .raw{display:block;font-family:ui-monospace,monospace;font-size:11px;color:var(--charcoal);margin-top:2px;word-break:break-all}.flip-item{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}.flip-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.flip-icon.yes{background:var(--olive-bg);color:var(--olive-deep)}.flip-icon.no{background:var(--cherry-bg);color:var(--cherry)}.flip-body{flex:1;min-width:0}.flip-title{font-weight:600;font-size:14.5px}.flip-meta{font-size:12.5px;color:var(--charcoal);margin-top:3px}.flip-verdict{font-size:13px;margin-top:4px}.flip-verdict b.yes{color:var(--olive-deep)}.flip-verdict b.no{color:var(--cherry)}.form-grid{display:flex;flex-direction:column;gap:16px;max-width:560px}.form-grid label{font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--charcoal);display:block;margin-bottom:6px}.form-grid input,.form-grid textarea,.form-grid select{width:100%;font-family:var(--sans);font-size:14.5px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.form-grid input:focus,.form-grid textarea:focus{outline:2px solid var(--ink);border-color:transparent}.form-hint{font-size:12.5px;color:var(--charcoal);margin-top:5px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink);padding:24px}.login-card{text-align:center;color:var(--bg);max-width:420px}.login-card .wordmark{font-family:var(--serif);font-style:italic;font-weight:700;font-size:64px}.login-card .rule{width:70px;height:3px;background:var(--cherry);margin:10px auto 22px}.login-card p{font-size:14.5px;line-height:1.55;color:#d8c3ce;margin-bottom:26px}.login-card .gsi{display:flex;justify-content:center;min-height:44px}.login-card .notice{margin-top:22px;font-size:12.5px;color:#b99ba9;line-height:1.5}.login-card .error{margin-top:18px;background:#6b0f1a59;border:1px solid var(--cherry);color:#f2d8d4;padding:10px 16px;border-radius:10px;font-size:13px}.upsell{border:1.5px solid var(--gold);background:#f5efdc;border-radius:14px;padding:26px 30px;max-width:560px}.upsell h2{font-size:20px;margin-bottom:8px}.upsell p{font-size:14px;line-height:1.55;color:var(--charcoal);margin-bottom:14px}.empty{color:var(--charcoal);font-size:14px;padding:26px 0}@media(max-width:860px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;padding-bottom:8px}.sidebar nav{display:flex;flex-wrap:wrap;margin-top:10px}.sidebar nav .sep{display:none}.sidebar nav a{border-left:none;border-bottom:3px solid transparent;padding:9px 14px}.sidebar nav a.active{border-bottom-color:var(--gold)}.content{padding:24px 18px 50px}}
