:root{--navy:#122140;--navy-deep:#0a1730;--mint:#3fae96;--mint-soft:#cfede3;--mint-dim:#e7f4f0;--cream:#f6f1e7;--cream-dim:#efe6d4;--ink:#1b2233;--ink-soft:#5b6478;--line:#dad2be;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,sans-serif;line-height:1.55}.serif,h1,h2,h3{font-family:Fraunces,serif}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}@media (max-width:760px){.app{grid-template-columns:1fr}.rail{display:none}}.rail{background:var(--navy);color:var(--cream);padding:32px 20px;position:relative}.rail-brand{font-family:Fraunces,serif;font-weight:600;font-size:15px;letter-spacing:.04em;color:var(--mint-soft);margin-bottom:44px;text-transform:uppercase}.rail-brand span{display:block;font-size:11px;color:#8b96ac;font-weight:400;letter-spacing:.08em;margin-top:4px}.steps{list-style:none;padding:0;margin:0;position:relative}.steps:before{content:"";position:absolute;left:13px;top:6px;bottom:6px;width:1px;background:#2b3a5c}.step-item{position:relative;padding:0 0 30px 34px;font-size:13.5px;color:#8b96ac;cursor:default}.step-item .num{position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;background:var(--navy-deep);border:1px solid #2b3a5c;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:12.5px;color:#8b96ac}.step-item.active{color:var(--cream)}.step-item.active .num{background:var(--mint);border-color:var(--mint);color:var(--navy-deep);font-weight:700}.step-item.done .num{background:transparent;border-color:var(--mint);color:var(--mint)}.step-item.done{color:#c7d0e0}main{padding:48px 56px 90px;max-width:900px}@media (max-width:760px){main{padding:28px 20px 70px}}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);font-weight:600;margin-bottom:10px}h1.title{font-size:34px;font-weight:600;margin:0 0 6px;color:var(--navy)}.sub{color:var(--ink-soft);font-size:15px;margin-bottom:36px;max-width:620px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;margin-bottom:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:600px){.grid2{grid-template-columns:1fr}}label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:6px;letter-spacing:.01em}input[type=email],input[type=file],input[type=password],input[type=text],input[type=url],textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-family:Inter,sans-serif;font-size:14px;background:var(--cream-dim);color:var(--ink);margin-bottom:16px}textarea{resize:vertical;min-height:80px}input:focus,textarea:focus{outline:2px solid var(--mint);outline-offset:1px;background:#fff}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;border:none;padding:13px 24px;border-radius:9px;font-family:Inter,sans-serif;font-weight:600;font-size:14px;cursor:pointer;transition:transform .15s ease,background .15s ease}.btn:hover{background:var(--navy-deep);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.mint{background:var(--mint);color:var(--navy-deep)}.btn.mint:hover{background:#37a088}.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}.btn.ghost:hover{background:var(--cream-dim)}.row-end{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-block{margin-bottom:28px}.section-block h3{font-size:18px;color:var(--navy);margin:0 0 4px;font-weight:600}.section-block .num-tag{display:inline-block;font-family:Fraunces,serif;font-size:12px;color:var(--mint);border:1px solid var(--mint);border-radius:20px;padding:2px 10px;margin-bottom:10px}.field{margin-bottom:12px}.field .k{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:600;margin-bottom:3px}.field .v{font-size:14.5px;color:var(--ink)}.field .v[contenteditable=true]{background:var(--cream-dim);padding:8px 10px;border-radius:7px;border:1px solid transparent}.field .v[contenteditable=true]:focus{border-color:var(--mint);outline:none;background:#fff}.src-list{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.src-chip{font-size:11px;color:var(--navy);background:var(--mint-dim);border:1px solid var(--mint-soft);padding:3px 9px;border-radius:20px;text-decoration:none}.src-chip:hover{background:var(--mint-soft)}.insight-card{border:1.5px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:14px;cursor:pointer;transition:border-color .15s,background .15s;position:relative}.insight-card.selected,.insight-card:hover{border-color:var(--mint)}.insight-card.selected{background:var(--mint-dim)}.insight-card .tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mint);font-weight:700;margin-bottom:6px}.insight-card textarea{margin-bottom:0;background:transparent;border:none;padding:0;font-family:Fraunces,serif;font-size:16.5px;color:var(--ink);min-height:50px}.insight-card textarea:focus{outline:none;background:#fff}.radio-dot{position:absolute;top:18px;right:18px;width:18px;height:18px;border-radius:50%;border:2px solid var(--line)}.insight-card.selected .radio-dot{border-color:var(--mint);background:var(--mint)}.loading{display:flex;align-items:center;gap:14px;padding:40px 10px;color:var(--ink-soft);font-size:14.5px}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--mint-soft);border-top-color:var(--mint);animation:spin .8s linear infinite;flex:0 0 auto}@keyframes spin{to{transform:rotate(1turn)}}.report{background:var(--navy);color:var(--cream);border-radius:18px;overflow:hidden}.report-head{padding:44px 44px 30px;border-bottom:1px solid #23335a}.report-head .eyebrow{color:var(--mint-soft)}.report-head h1{font-size:30px;color:#fff;margin:0 0 8px}.report-head .meta{color:#93a0bc;font-size:13px}.report-sec{padding:34px 44px;border-bottom:1px solid #23335a}.report-sec:last-of-type{border-bottom:none}.report-sec .num-tag{color:var(--mint);font-family:Fraunces,serif;font-size:13px;letter-spacing:.05em;margin-bottom:8px;display:block}.report-sec h2{font-size:22px;color:#fff;margin:0 0 14px;font-weight:600}.report-sec p{color:#d7deec;font-size:15.5px;margin:0}.thought{background:linear-gradient(135deg,#0f1d38,#16294c);padding:52px 44px;text-align:left}.thought .num-tag{color:var(--mint)}.thought blockquote{font-family:Fraunces,serif;font-size:26px;line-height:1.4;font-weight:500;color:#fff;margin:12px 0 0;font-style:italic;border-left:3px solid var(--mint);padding-left:20px}.report-foot{padding:24px 44px 34px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.link-box{background:var(--navy-deep);border:1px solid #2b3a5c;border-radius:9px;padding:10px 14px;font-size:13px;color:var(--mint-soft);font-family:monospace}.helptext{font-size:12.5px;color:var(--ink-soft);margin-top:-8px;margin-bottom:16px}.divider{height:1px;background:var(--line);margin:26px 0}.load-existing{font-size:13px;color:var(--ink-soft);margin-top:20px}.load-existing a{color:var(--navy);cursor:pointer;text-decoration:underline}.error-box{background:#fbecea;border:1px solid #e8b9b0;color:#7a2e22;padding:12px 16px;border-radius:9px;font-size:13.5px;margin-bottom:16px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream)}.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px 38px;width:100%;max-width:380px}.auth-card .rail-brand-lite{font-family:Fraunces,serif;font-weight:600;font-size:15px;letter-spacing:.04em;color:var(--navy);margin-bottom:6px;text-transform:uppercase}.auth-card .sub{margin-bottom:26px}table.dash-table{width:100%;border-collapse:collapse;font-size:14px}table.dash-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:600;padding:0 12px 10px;border-bottom:1px solid var(--line)}table.dash-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}table.dash-table tr:last-child td{border-bottom:none}.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:20px;letter-spacing:.02em}.badge-draft{background:var(--cream-dim);color:var(--ink-soft);border:1px solid var(--line)}.badge-researching{background:var(--mint-dim);color:#2a7e6c;border:1px solid var(--mint-soft)}.badge-needs_review{background:#fbf3e3;color:#8a6a1f;border:1px solid #ebd9ac}.badge-insight_chosen{background:var(--mint-dim);color:#2a7e6c;border:1px solid var(--mint-soft)}.badge-report_generated{background:var(--navy);color:#fff;border:1px solid var(--navy)}.badge-shared{background:var(--mint);color:var(--navy-deep);border:1px solid var(--mint)}.btn.small{padding:8px 14px;font-size:12.5px}.rail-foot{position:absolute;bottom:28px;left:20px;right:20px;font-size:12px;color:#8b96ac}.rail-foot a{color:var(--mint-soft);text-decoration:none}.rail-foot .who{color:#c7d0e0;margin-bottom:8px;display:block}