﻿*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,sans-serif;background:#0f172a;color:#e2e8f0;min-height:100vh}
header{background:#1e293b;padding:.8rem 1.5rem;display:flex;align-items:center;gap:.6rem;border-bottom:1px solid #334155;position:sticky;top:0;z-index:10}
header h1{font-size:1.05rem;font-weight:700;color:#f8fafc;flex:1}
.badge{font-size:.68rem;padding:.18rem .55rem;border-radius:9999px;font-weight:600;white-space:nowrap}
.online{background:#166534;color:#bbf7d0}.local{background:#1e3a5f;color:#bae6fd}.mem-badge{background:#312e81;color:#c7d2fe}
nav{display:flex;background:#1e293b;border-bottom:1px solid #334155;padding:0 1.2rem;overflow-x:auto;gap:0}
.nav-tab{padding:.55rem 1rem;font-size:.78rem;cursor:pointer;color:#64748b;border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s}
.nav-tab:hover{color:#e2e8f0}.nav-tab.active{color:#60a5fa;border-bottom-color:#3b82f6}
.page{display:none;max-width:980px;margin:1.2rem auto;padding:0 .9rem}
.page.active{display:flex;flex-direction:column;gap:1.1rem}
.card{background:#1e293b;border:1px solid #334155;border-radius:.65rem;padding:1.2rem}
.ct{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.8rem}
label{display:block;font-size:.8rem;margin-bottom:.28rem;color:#cbd5e1}
textarea,input[type=number],input[type=file],input[type=text]{width:100%;background:#0f172a;border:1px solid #475569;border-radius:.4rem;color:#f1f5f9;padding:.48rem .62rem;font-size:.82rem}
textarea{resize:vertical;min-height:90px}input[type=file]{padding:.3rem}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
button{background:#3b82f6;color:#fff;border:none;border-radius:.4rem;padding:.52rem 1.1rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s}
button:hover{background:#2563eb}button:disabled{background:#475569;cursor:not-allowed}
.btn-ghost{background:#0f172a;border:1px solid #334155;color:#94a3b8}.btn-ghost:hover{background:#1e293b;color:#f1f5f9}
.btn-danger{background:#7f1d1d;color:#fca5a5;border:none}.btn-danger:hover{background:#991b1b}
.btn-sm{font-size:.72rem;padding:.26rem .65rem}
#run-btn{width:100%;font-size:.9rem;padding:.72rem}
#progress-box{display:none;background:#0f172a;border:1px solid #334155;border-radius:.4rem;padding:.75rem;margin-top:.65rem;max-height:170px;overflow-y:auto}
#progress-log{font-size:.7rem;color:#94a3b8;font-family:monospace;line-height:1.85}
#sub-list{margin-top:.6rem;display:flex;flex-direction:column;gap:.28rem}
.sub-item{background:#0f172a;border:1px solid #334155;border-radius:.35rem;padding:.38rem .6rem;display:flex;align-items:center;gap:.55rem;font-size:.74rem;flex-wrap:wrap}
.sub-item .name{flex:1;color:#f1f5f9;font-weight:500}
.sub-item input[type=number]{width:50px;padding:.15rem .3rem;font-size:.7rem;background:#1e293b;border-color:#475569}
.sub-item label{margin:0;color:#94a3b8;font-size:.7rem}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}
.stat-box{background:#0f172a;border:1px solid #334155;border-radius:.4rem;padding:.6rem;text-align:center}
.stat-box .val{font-size:1.2rem;font-weight:700;color:#60a5fa}.stat-box .lbl{font-size:.64rem;color:#64748b;margin-top:.1rem}
.sc{background:#0f172a;border:1px solid #334155;border-radius:.4rem;padding:.8rem;margin-bottom:.55rem}
.sh{display:flex;justify-content:space-between;align-items:center;margin-bottom:.32rem}
.sh h3{font-size:.88rem;font-weight:700;color:#f8fafc}
.sbar{background:#1e293b;border-radius:9999px;height:4px;overflow:hidden;margin:.2rem 0 .45rem}
.sbar-fill{height:4px;border-radius:9999px}
.cr{display:grid;grid-template-columns:1fr auto;align-items:start;font-size:.74rem;padding:.24rem 0;border-bottom:1px solid #1e293b;gap:.35rem}
.cr:last-child{border-bottom:none}.cn{color:#94a3b8;font-weight:500}
.ce{font-size:.66rem;color:#475569;font-style:italic;margin-top:.08rem}
.cright{display:flex;align-items:center;gap:.28rem;white-space:nowrap}
.cscore{color:#f1f5f9;font-weight:600}
.conf{font-size:.58rem;padding:.06rem .26rem;border-radius:9999px}
.conf-high{background:#14532d;color:#86efac}.conf-medium{background:#713f12;color:#fde68a}.conf-low{background:#7f1d1d;color:#fca5a5}
.trow{display:flex;align-items:center;gap:.32rem;margin-top:.25rem}
.thumb{background:transparent;border:1px solid #334155;border-radius:.28rem;padding:.15rem .4rem;font-size:.78rem;cursor:pointer;color:#64748b;transition:all .12s}
.thumb:hover{border-color:#60a5fa;color:#60a5fa}.thumb.up.active{background:#14532d;border-color:#34d399;color:#34d399}.thumb.down.active{background:#7f1d1d;border-color:#f87171;color:#f87171}
.cbox{display:none;margin-top:.32rem;gap:.32rem;flex-direction:column}.cbox.open{display:flex}
.ptag{font-size:.68rem;color:#f87171;margin-top:.2rem}
details summary{cursor:pointer;color:#60a5fa;font-size:.74rem;margin-top:.4rem}
.fbtext{font-size:.74rem;color:#94a3b8;margin-top:.4rem;white-space:pre-wrap;line-height:1.65;border-left:2px solid #334155;padding-left:.55rem}
.alert{padding:.6rem .85rem;border-radius:.4rem;font-size:.78rem;margin-top:.55rem}
.alert-error{background:#450a0a;border:1px solid #dc2626;color:#fca5a5}.alert-ok{background:#052e16;border:1px solid #16a34a;color:#86efac}
.tab-bar{display:flex;gap:.32rem;margin-bottom:.8rem;flex-wrap:wrap}
.tab{padding:.26rem .7rem;border-radius:.32rem;font-size:.7rem;cursor:pointer;border:1px solid #334155;color:#94a3b8;background:transparent}
.tab.active{background:#3b82f6;color:#fff;border-color:#3b82f6}
.rcard{background:#0f172a;border:1px solid #334155;border-radius:.4rem;padding:.78rem;margin-bottom:.48rem}
.rh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.28rem}
.rs{font-size:.8rem;font-weight:700;color:#f8fafc}.rc{font-size:.72rem;color:#60a5fa}
.rscore{font-size:.72rem;color:#94a3b8;margin-bottom:.25rem}
.rev{font-size:.68rem;color:#475569;font-style:italic;margin-bottom:.3rem;padding:.25rem .45rem;background:#1e293b;border-radius:.28rem}
.sbadge{font-size:.64rem;padding:.1rem .35rem;border-radius:9999px}
.sp{background:#78350f;color:#fde68a}.sa{background:#14532d;color:#86efac}.sc2{background:#7f1d1d;color:#fca5a5}
.hcard{background:#0f172a;border:1px solid #334155;border-radius:.4rem;padding:.78rem;margin-bottom:.45rem;cursor:pointer;transition:border-color .15s}
.hcard:hover{border-color:#3b82f6}.htitle{font-size:.85rem;font-weight:600;color:#f8fafc}
.hmeta{font-size:.68rem;color:#64748b;margin-top:.2rem}
.hstats{display:flex;gap:.65rem;margin-top:.35rem;font-size:.68rem;color:#94a3b8}
.pcard{background:#0f172a;border:1px solid #334155;border-radius:.4rem;padding:.78rem;margin-bottom:.45rem}
.pcard h4{font-size:.78rem;font-weight:600;color:#60a5fa;margin-bottom:.3rem}
.pstat{font-size:.72rem;color:#94a3b8;margin:.1rem 0}
.faq-item{border-bottom:1px solid #334155;padding:.65rem 0}.faq-item:last-child{border-bottom:none}
.faq-q{font-size:.82rem;font-weight:600;color:#f1f5f9;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-q:hover{color:#60a5fa}.faq-a{font-size:.77rem;color:#94a3b8;line-height:1.65;margin-top:.42rem;display:none;padding-left:.45rem;border-left:2px solid #334155}
.faq-a.open{display:block}.faq-arrow{transition:transform .2s;color:#475569}.faq-arrow.open{transform:rotate(90deg)}
.ftag{display:inline-block;background:#1e293b;border:1px solid #334155;border-radius:.28rem;padding:.08rem .35rem;font-size:.64rem;color:#94a3b8;margin:.08rem}
.ebox{background:#0f172a;border:1px solid #334155;border-radius:.4rem;padding:.78rem;margin-top:.45rem}
.ebox h4{font-size:.76rem;font-weight:600;color:#60a5fa;margin-bottom:.35rem}
.ebox p{font-size:.74rem;color:#94a3b8;line-height:1.6;margin-bottom:.3rem}
.slist{list-style:none;counter-reset:steps}
.slist li{counter-increment:steps;display:flex;gap:.5rem;align-items:flex-start;font-size:.74rem;color:#94a3b8;margin:.35rem 0;line-height:1.55}
.slist li::before{content:counter(steps);background:#1e3a5f;color:#bae6fd;border-radius:9999px;width:1.2rem;height:1.2rem;display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:700;flex-shrink:0;margin-top:.05rem}
.chat-wrap{display:flex;flex-direction:column;height:420px}
.chat-msgs{flex:1;overflow-y:auto;padding:.6rem;background:#0f172a;border:1px solid #334155;border-radius:.4rem .4rem 0 0;display:flex;flex-direction:column;gap:.45rem}
.msg{max-width:82%;padding:.5rem .7rem;border-radius:.4rem;font-size:.78rem;line-height:1.6}
.msg.user{background:#1e3a5f;color:#bae6fd;align-self:flex-end;border-radius:.4rem .4rem 0 .4rem}
.msg.assistant{background:#1e293b;color:#e2e8f0;align-self:flex-start;border-radius:.4rem .4rem .4rem 0}
.chat-input{display:flex;gap:.4rem;padding:.5rem;background:#1e293b;border:1px solid #334155;border-top:none;border-radius:0 0 .4rem .4rem}
.chat-input input{flex:1;background:#0f172a;border:1px solid #475569;border-radius:.35rem;color:#f1f5f9;padding:.42rem .6rem;font-size:.8rem}
.chat-input button{padding:.42rem .9rem;font-size:.78rem}
.sim-table{width:100%;border-collapse:collapse;font-size:.74rem;margin-top:.5rem}
.sim-table th{background:#1e293b;color:#64748b;padding:.35rem .5rem;text-align:left;font-weight:600;font-size:.68rem;text-transform:uppercase}
.sim-table td{padding:.32rem .5rem;border-bottom:1px solid #1e293b;color:#e2e8f0}
.sim-table tr.flagged td{background:#450a0a}.sim-table tr.ai-flag td{background:#1c1917}
.flag-ai{color:#f87171;font-size:.68rem}.flag-sim{color:#fbbf24;font-size:.68rem}
/* AAF Platform Integration */
#aaf-platform-nav a:hover {
    background: rgba(255,255,255,.15) !important;
}
body { margin-top: 0; }
