:root{--bg:#0b0905;--surface:#15110e;--surface2:#100c08;--line:#2a2018;--text:#ece6e1;--dim:#9a8c80;--accent:#FF8C32;--gold:#e8c061;--warn:#e08a4a;--calm:#5fae7a}
*{box-sizing:border-box;margin:0;padding:0}
body{background:radial-gradient(ellipse at top,#1a130a,#0b0905 60%);color:var(--text);font:16px/1.7 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:2rem 1.2rem 4rem}
a{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto}
.crumbs{font-size:.8rem;color:var(--dim);margin-bottom:1rem}
.head{text-align:center;margin-bottom:2rem}
.eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.05;font-weight:700;margin:.3rem 0}
.hint-inline{font-weight:400;font-size:.78rem;color:var(--dim)}
.head .sub{color:var(--dim);max-width:620px;margin:0 auto}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.6rem;margin-bottom:1.6rem}
.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1.2rem}
label{font-weight:600;font-size:.82rem;color:var(--dim);display:block;margin-bottom:.4rem}
input{width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--text);font:inherit}
input:focus{outline:none;border-color:var(--accent)}
.gen{width:100%;background:linear-gradient(120deg,var(--accent),#e0701a);color:#1a120d;border:none;padding:.9rem;font-size:1rem;font-weight:800;border-radius:11px;cursor:pointer;transition:filter .2s}
.gen:hover{filter:brightness(1.08)}
.hint{font-size:.78rem;color:var(--dim);margin-top:.8rem;line-height:1.55}
.err{display:none;color:#f0b09a;background:rgba(224,90,40,.12);border:1px solid #7a3a22;border-radius:9px;padding:.7rem .9rem;margin-top:1rem;font-size:.9rem}
.loader{display:none;text-align:center;color:var(--gold);font-weight:700;margin:1rem 0}
.results{display:none;grid-template-columns:1fr;gap:1.6rem}
@media(min-width:860px){.results{grid-template-columns:1fr 1.4fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.4rem}
.card h2,.card h3{font-family:'Cormorant Garamond',Georgia,serif}
.card h2{color:var(--gold);font-size:1.5rem;margin-bottom:.6rem}
.chart-wrap{text-align:center}
.snapshot{margin-top:1rem;font-size:.9rem}
.snapshot dl{margin:0}
.snapshot dt{font-weight:700;color:var(--accent);margin-top:.7rem;font-size:.82rem}
.snapshot dd{margin:.15rem 0 0}
.badge{display:inline-block;background:#3a2c14;color:var(--gold);border-radius:6px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;margin:.15rem .2rem .15rem 0}
.badge.warn{background:rgba(224,138,74,.2);color:var(--warn)}
.badge.calm{background:rgba(95,174,122,.18);color:var(--calm)}
.ai :is(h3){color:var(--accent);font-size:1.15rem;margin:1.3rem 0 .4rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}
.ai :is(h3):first-child{margin-top:0}
.ai ul{margin:.4rem 0 .4rem 1.2rem}
.ai p{margin:.5rem 0;color:#d8cdc3}
.timeline{margin-top:0}
.tl-grid{display:grid;grid-template-columns:1fr;gap:1.4rem}
@media(min-width:680px){.tl-grid{grid-template-columns:1fr 1fr}}
.muted{color:var(--dim);font-size:.85rem}
.ftable{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.5rem}
.ftable th,.ftable td{border:1px solid var(--line);padding:.5rem .6rem;text-align:left}
.ftable th{background:var(--surface2);color:var(--gold)}
.ftable tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.disclaimer{font-size:.78rem;color:var(--dim);text-align:center;margin-top:2rem;line-height:1.6;max-width:680px;margin-left:auto;margin-right:auto}
