@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Inter:wght@300;400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}.demo-root{font-family:Inter,sans-serif;background:#080c12;color:#c8d6e5;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.demo-header{justify-content:space-between;padding:.75rem clamp(1rem,4vw,1.75rem);background:rgba(10,16,26,.95);border-bottom:1px solid rgba(34,217,122,.18);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-wrap:wrap;gap:.5rem}.demo-header,.demo-header-left{display:flex;align-items:center}.demo-header-left{gap:.75rem}.demo-logo{font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:700;color:#22d97a;letter-spacing:.12em}.demo-logo,.demo-subtitle{font-family:JetBrains Mono,monospace}.demo-subtitle{font-size:.72rem;color:rgba(200,214,229,.45);letter-spacing:.1em;text-transform:uppercase}@media (max-width:420px){.demo-subtitle{display:none}}.demo-header-right{display:flex;align-items:center;gap:.75rem;font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.08em}.demo-status-dot{width:7px;height:7px;border-radius:50%;background:#22d97a;box-shadow:0 0 8px #22d97a;animation:pulse-green 2s ease-in-out infinite;flex-shrink:0}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 6px #22d97a}50%{opacity:.6;box-shadow:0 0 14px #22d97a}}.demo-status-text{color:rgba(34,217,122,.75);text-transform:uppercase}@media (max-width:600px){.demo-status-text{display:none}}.demo-elapsed{background:rgba(34,217,122,.12);color:#22d97a;padding:.2rem .5rem;border-radius:4px;border:1px solid rgba(34,217,122,.25);white-space:nowrap}.demo-body{display:grid;grid-template-columns:360px 1fr;flex:1;overflow:hidden;height:calc(100dvh - 52px)}@media (max-width:860px){.demo-body{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;overflow:visible}}.demo-input-panel{border-right:1px solid rgba(34,217,122,.1);overflow-y:auto;padding:clamp(1rem,3vw,1.25rem);display:flex;flex-direction:column;gap:1.25rem;background:rgba(8,12,22,.8)}@media (max-width:860px){.demo-input-panel{border-right:none;border-bottom:1px solid rgba(34,217,122,.1);overflow-y:visible}}.demo-input-panel::-webkit-scrollbar{width:4px}.demo-input-panel::-webkit-scrollbar-track{background:transparent}.demo-input-panel::-webkit-scrollbar-thumb{background:rgba(34,217,122,.25);border-radius:2px}.panel-section{display:flex;flex-direction:column;gap:.6rem}.panel-label{font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.15em;color:rgba(34,217,122,.6);text-transform:uppercase;border-bottom:1px solid rgba(34,217,122,.08);padding-bottom:.4rem}.preset-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem}@media (min-width:861px){.preset-tabs{grid-template-columns:1fr}}.preset-tab{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:6px;color:rgba(200,214,229,.65);font-size:.8rem;cursor:pointer;transition:all .2s;text-align:left;font-family:Inter,sans-serif;min-height:44px}.preset-tab:hover{background:rgba(34,217,122,.07);border-color:rgba(34,217,122,.2);color:#c8d6e5}.preset-tab.active{background:rgba(34,217,122,.1);border-color:rgba(34,217,122,.35);color:#22d97a}.input-display{font-size:.8rem;line-height:1.55;color:rgba(200,214,229,.85);background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-left:2px solid rgba(245,166,35,.5);padding:.7rem .85rem;border-radius:4px;font-style:italic}.context-doc{display:flex;gap:.5rem;font-size:.75rem;color:rgba(200,214,229,.65);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:4px;padding:.55rem .75rem;line-height:1.45}.context-doc-idx{font-family:JetBrains Mono,monospace;color:rgba(34,217,122,.5);flex-shrink:0;font-size:.68rem;margin-top:1px}.rule-chip{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(200,214,229,.7);padding:.45rem .7rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:4px;flex-wrap:wrap}.rule-sev{font-family:JetBrains Mono,monospace;font-size:.58rem;font-weight:700;letter-spacing:.1em;padding:.15rem .4rem;border-radius:3px;flex-shrink:0}.sev-critical{background:rgba(255,77,77,.15);color:#ff4d4d;border:1px solid rgba(255,77,77,.3)}.sev-major{background:rgba(245,166,35,.15);color:#f5a623;border:1px solid rgba(245,166,35,.3)}.sev-minor{background:rgba(200,214,229,.08);color:#aab8c5;border:1px solid rgba(200,214,229,.15)}.validate-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.25rem;background:linear-gradient(135deg,#22d97a,#1ab86a);color:#080c12;border:none;border-radius:8px;font-size:.88rem;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;letter-spacing:.03em;margin-top:.5rem;min-height:48px}.validate-btn:hover:not(:disabled){background:linear-gradient(135deg,#2dfb8e,#22d97a);transform:translateY(-1px);box-shadow:0 6px 24px rgba(34,217,122,.35)}.validate-btn:active:not(:disabled){transform:translateY(0)}.validate-btn:disabled{background:rgba(34,217,122,.25);color:rgba(34,217,122,.5);cursor:not-allowed}.validate-btn.loading{background:rgba(34,217,122,.12);border:1px solid rgba(34,217,122,.25);color:#22d97a}.spinner{width:14px;height:14px;border:2px solid rgba(34,217,122,.3);border-top-color:#22d97a;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.demo-output-panel{overflow-y:auto;padding:clamp(1rem,3vw,1.5rem);background:#080c12;min-height:400px}.demo-output-panel::-webkit-scrollbar{width:4px}.demo-output-panel::-webkit-scrollbar-track{background:transparent}.demo-output-panel::-webkit-scrollbar-thumb{background:rgba(34,217,122,.2);border-radius:2px}.demo-idle{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;text-align:center;padding:clamp(1.5rem,5vw,3rem)}.idle-icon{font-size:clamp(2rem,5vw,3rem);color:rgba(34,217,122,.25);margin-bottom:.5rem}.idle-title{font-size:clamp(1.1rem,3vw,1.4rem);font-weight:600;color:rgba(200,214,229,.5)}.idle-sub{font-size:clamp(.78rem,2vw,.85rem);color:rgba(200,214,229,.35);max-width:420px;line-height:1.6}.idle-features{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;font-size:clamp(.7rem,1.8vw,.78rem);font-family:JetBrains Mono,monospace;color:rgba(34,217,122,.5);text-align:left}.demo-processing{display:flex;align-items:center;justify-content:center;padding:2rem;min-height:300px}.processing-steps{display:flex;flex-direction:column;gap:.65rem;width:100%;max-width:480px}.processing-step{font-family:JetBrains Mono,monospace;font-size:clamp(.7rem,1.8vw,.8rem);color:rgba(200,214,229,.35);padding:.5rem .85rem;border-left:2px solid transparent;animation:step-appear .4s ease both}.processing-step.active{color:#22d97a;border-left-color:#22d97a;animation:step-appear .4s ease both,flicker 1.5s ease infinite}@keyframes step-appear{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.6}}.demo-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.75rem;text-align:center;min-height:300px}.error-icon{font-size:2.5rem;color:#ff4d4d}.error-title{font-size:1.1rem;font-weight:600;color:#ff4d4d}.error-msg{font-size:.8rem;color:rgba(200,214,229,.5);max-width:400px;font-family:JetBrains Mono,monospace;word-break:break-word}.demo-result{display:flex;flex-direction:column;gap:1.25rem}.result-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.result-warning{font-size:.72rem;font-family:JetBrains Mono,monospace;color:#f5a623;background:rgba(245,166,35,.08);border:1px solid rgba(245,166,35,.2);padding:.4rem .75rem;border-radius:4px;width:100%}.decision-badge{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.25rem;border-radius:8px;border:1px solid}.decision-icon{font-size:1.2rem;font-weight:700}.decision-text{font-family:JetBrains Mono,monospace;font-size:clamp(.85rem,2.5vw,1rem);font-weight:700;letter-spacing:.12em}.risk-meter{flex:1;min-width:160px;display:flex;flex-direction:column;gap:.45rem}.risk-meter-label{display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.1em;color:rgba(200,214,229,.5)}.risk-meter-track{height:6px;background:rgba(255,255,255,.07);border-radius:3px;overflow:hidden}.risk-meter-fill{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px currentColor}.proof-card{background:rgba(12,18,30,.8);border:1px solid rgba(34,217,122,.2);border-radius:10px;padding:clamp(1rem,3vw,1.25rem);display:flex;flex-direction:column;gap:1.1rem}.proof-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;border-bottom:1px solid rgba(34,217,122,.1);padding-bottom:.75rem;flex-wrap:wrap}.proof-label{font-size:.7rem;font-weight:700;letter-spacing:.15em;color:#22d97a}.proof-id,.proof-label{font-family:JetBrains Mono,monospace}.proof-id{font-size:.62rem;color:rgba(200,214,229,.35);word-break:break-all}.proof-canonical,.proof-hash-block{display:flex;flex-direction:column;gap:.35rem}.proof-hash-label{font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.12em;color:rgba(34,217,122,.5);text-transform:uppercase}.proof-hash-value{font-size:clamp(.65rem,1.5vw,.78rem);color:#22d97a;background:rgba(34,217,122,.06);border-radius:4px;border:1px solid rgba(34,217,122,.15);letter-spacing:.04em}.proof-canonical-value,.proof-hash-value{font-family:JetBrains Mono,monospace;padding:.5rem .75rem;word-break:break-all}.proof-canonical-value{font-size:clamp(.6rem,1.4vw,.68rem);color:rgba(200,214,229,.5);background:rgba(255,255,255,.02);border-radius:4px;border:1px solid rgba(255,255,255,.05)}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}@media (max-width:500px){.proof-grid{grid-template-columns:repeat(2,1fr)}}.proof-stat{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.3rem}.proof-stat-label{font-size:.58rem;letter-spacing:.1em;color:rgba(200,214,229,.35);text-transform:uppercase}.proof-stat-label,.proof-stat-value{font-family:JetBrains Mono,monospace}.proof-stat-value{font-size:clamp(.72rem,1.8vw,.82rem);font-weight:600;color:#c8d6e5}.grounding-section,.rule-results{display:flex;flex-direction:column;gap:.45rem}.rule-results-header{font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.12em;color:rgba(34,217,122,.5);text-transform:uppercase;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.05)}.rule-row{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .75rem;border-radius:5px;border:1px solid transparent}.rule-pass{background:rgba(34,217,122,.05);border-color:rgba(34,217,122,.1)}.rule-fail{background:rgba(255,77,77,.06);border-color:rgba(255,77,77,.15)}.rule-status{font-size:.85rem;font-weight:700;flex-shrink:0;margin-top:1px}.rule-pass .rule-status{color:#22d97a}.rule-fail .rule-status{color:#ff4d4d}.rule-detail{display:flex;flex-direction:column;gap:.25rem;min-width:0}.rule-desc{font-size:clamp(.72rem,1.8vw,.78rem);color:rgba(200,214,229,.85)}.rule-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.rule-id{color:rgba(200,214,229,.3)}.rule-id,.rule-match{font-family:JetBrains Mono,monospace;font-size:.62rem}.rule-match{color:rgba(255,77,77,.7);word-break:break-word}.grounding-threshold{font-family:JetBrains Mono,monospace;font-size:clamp(.62rem,1.5vw,.68rem);color:rgba(200,214,229,.45);padding:.35rem 0}.evidence-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem .65rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:4px}.evidence-sim{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;flex-shrink:0;width:48px;text-align:center;padding-top:1px}.evidence-passage{font-size:clamp(.7rem,1.8vw,.75rem);color:rgba(200,214,229,.6);line-height:1.45;word-break:break-word}.raw-toggle{background:none;border:1px solid rgba(255,255,255,.07);color:rgba(200,214,229,.4);font-size:.72rem;font-family:JetBrains Mono,monospace;padding:.45rem .75rem;border-radius:4px;cursor:pointer;transition:all .2s;align-self:flex-start;min-height:36px}.raw-toggle:hover{border-color:rgba(34,217,122,.25);color:#22d97a}.raw-json{font-family:JetBrains Mono,monospace;font-size:clamp(.6rem,1.5vw,.68rem);color:rgba(200,214,229,.6);background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:1rem;overflow-x:auto;line-height:1.6;white-space:pre;max-height:400px;overflow-y:auto}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(34,217,122,.2);border-radius:2px}