@font-face{font-family:Inter;src:url('/static/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#121113;--panel:#1b191c;--surface:#211d21;--raised:#292329;--ink:#f3f0f1;--muted:#b3aab1;--faint:#9c9099;--line:#ffffff12;--border:#ffffff1b;--soft:#1b191c;--accent:#d62e42;--accent-light:#ff98a3;--red:#ffb4bd;--bordeaux:#681b2b;--warning:#edc18b;--radius:16px;--shadow:0 24px 80px #0004;--ease:cubic-bezier(.22,1,.36,1);font:14px/1.6 Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:0}body,button,input,textarea,select{font-family:Inter,Arial,sans-serif}button,input,textarea,select{font-size:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,input,textarea,select,summary{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .25s var(--ease)}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-light)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 16px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--ink);font-weight:500}button:hover:not(:disabled),.button:hover{background:#30232a;border-color:#f0445650;color:var(--ink)}button:active:not(:disabled),.button:active{transform:translateY(1px)}.primary,.file-button{background:linear-gradient(135deg,#df3449,#b51d34);border-color:#f0445659;color:#fff;box-shadow:0 3px 18px #b51d3420}.primary:hover:not(:disabled),.file-button:hover{background:linear-gradient(135deg,#ed4357,#cc263e);box-shadow:0 5px 26px #d62e4238;border-color:#ff81906b}.primary svg,.text-link svg{transition:transform .25s var(--ease)}.primary:hover svg,.text-link:hover svg{transform:translateX(3px)}.icon-button{width:42px;min-width:42px;padding:10px}.text-button,.text-link{border:0;background:none;color:var(--muted);font-size:12px;display:inline-flex;align-items:center;gap:8px}.text-button:hover{color:var(--ink);background:#ffffff06}.eyebrow{font-size:10px;letter-spacing:.16em;line-height:1.6;font-weight:600;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.eyebrow.accent{color:var(--accent-light)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.25;letter-spacing:-.04em}h1{font-size:36px;font-weight:550}h2{font-size:26px;font-weight:550}h3{font-size:18px;font-weight:550}p{line-height:1.75}svg.lucide{width:18px;height:18px;flex-shrink:0;stroke-width:1.65}img{max-width:100%}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:500}input,textarea,select{max-width:100%;min-width:0;border:1px solid var(--border);border-radius:9px;padding:12px 14px;background:#151315;color:var(--ink);outline:none}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#91858e}input:focus,textarea:focus,select:focus{border-color:#f0445680;box-shadow:0 0 0 3px #d62e4213}select{cursor:pointer}option,optgroup{background:#211d21;color:var(--ink)}:focus-visible{outline:2px solid #ff9aa6;outline-offset:4px}main:focus{outline:none}.hidden,[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link,.skip{position:fixed;top:-100px;left:16px;background:var(--panel);padding:12px 20px;z-index:200;border:1px solid var(--accent);border-radius:8px}.skip-link:focus,.skip:focus{top:10px}.muted,.source-note,.field-note{color:var(--muted)}.source-note,.field-note{font-size:12px;line-height:1.7}.field-note:empty,.error:empty{display:none}.error{color:var(--red);overflow-wrap:anywhere}.warning,.layout-note{color:var(--warning)}.brand,.wordmark{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650;letter-spacing:.015em;white-space:nowrap}.brand img,.wordmark img{width:33px;height:36px}.brand strong{font-weight:650}.brand strong>span,.wordmark>span{color:#f04456}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:.12em;margin-top:3px;text-transform:uppercase}.brand:hover,.wordmark:hover{color:var(--ink)}
/* The Facthelm sphere is a decorative CSS object, never a progress meter. */
.ai-orb{--orb-size:96px;position:relative;isolation:isolate;display:block;width:var(--orb-size);height:var(--orb-size);flex-shrink:0;border-radius:50%;background:radial-gradient(ellipse at 28% 23%,#b9586440,transparent 33%),radial-gradient(ellipse at 62% 77%,#d62e4275,transparent 49%),radial-gradient(ellipse at 40% 36%,#341721,#110d11 59%,#450e1b 80%,#09080a);box-shadow:inset 0 0 0 1px #ff90a32d,inset -8px -9px 25px #000a,inset 4px 3px 10px #ff79991c,0 16px 45px #0006,0 0 60px #af1f3223;overflow:visible}.ai-orb::before{content:'';position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(ellipse,#8f1e3033,transparent 65%);z-index:-1}.ai-orb::after{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse at 28% 18%,#ffd5de50,transparent 23%);opacity:.6;pointer-events:none}.orb-line{position:absolute;inset:11%;border-radius:50%;border:1px solid #fa52687d;border-left-color:#ff9eae28;border-bottom-color:#c12c4a22;box-shadow:0 -2px 7px #d62e4233;transform:rotate(-34deg) scaleX(.39)}.orb-line:nth-child(2){inset:3% 17%;transform:rotate(42deg) scaleX(.58);border-top-color:#ff839a88}.orb-line:nth-child(3){inset:23% 3%;transform:rotate(-18deg) scaleY(.57);border-bottom-color:#fa71887a}.orb-core{position:absolute;inset:31%;border-radius:50%;background:radial-gradient(ellipse,#e23f5966,transparent 70%);opacity:.6}.ai-orb.is-active .orb-line{animation:orb-orbit 9s ease-in-out infinite alternate}.ai-orb.is-active .orb-line:nth-child(2){animation-name:orb-orbit-two;animation-duration:12s}.ai-orb.is-active .orb-line:nth-child(3){animation-name:orb-orbit-three;animation-duration:7s}.ai-orb.is-active .orb-core{animation:orb-pulse 4s ease-in-out infinite}.ai-orb.is-error{box-shadow:inset 0 0 0 2px #edc18b88,0 0 30px #d62e4220}.ai-orb.is-error .orb-line{border-color:#edc18b77;animation:none}.ai-orb.is-small{--orb-size:38px}.ai-orb.is-small .orb-line{border-width:.8px}.ai-orb.is-small::before{display:none}.orb-caption{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;letter-spacing:.08em}.orb-caption::before{content:'';width:5px;height:5px;border-radius:50%;background:#ed5367}
.skeleton{position:relative;overflow:hidden;background:#ffffff06;border-radius:6px;min-height:12px}.skeleton::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#fbbcc809,transparent);animation:shimmer 2.1s linear infinite}.skeleton-stack{display:grid;gap:13px;padding:22px}.skeleton-stack .skeleton:nth-child(2){width:85%}.skeleton-stack .skeleton:nth-child(3){width:62%}.skeleton-row{display:flex;gap:16px;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.skeleton-row>.skeleton{width:38px;height:43px}.skeleton-row>div:last-child{flex:1;display:grid;gap:10px}.skeleton-row>div:last-child .skeleton:last-child{width:45%}
.report-text{font-size:15px;line-height:1.9;overflow-wrap:anywhere;color:#e1d9df}.report-text p{line-height:inherit;margin-bottom:18px;white-space:pre-wrap}.report-text strong{color:var(--ink);font-weight:650}.report-text h3{font-size:19px;margin:28px 0 14px;color:var(--ink)}.report-text h4{font-size:16px;margin:22px 0 10px;color:var(--ink)}.report-text ul,.report-text ol{padding-left:24px;margin:14px 0 20px}.report-text li{padding-left:5px;margin:7px 0}.report-text li::marker{color:#f18a98}.report-text code{font-size:.88em;background:#ffffff08;border:1px solid var(--line);border-radius:5px;padding:2px 5px;white-space:pre-wrap}.report-table-wrap{overflow-x:auto;margin:20px 0;border:1px solid var(--border);border-radius:10px;max-width:100%}.report-text table{border-collapse:collapse;min-width:100%;font-size:13px;line-height:1.65}.report-text th,.report-text td{padding:13px 17px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;min-width:130px}.report-text th{background:#ffffff05;color:var(--ink);font-weight:600}.report-text tr:last-child td{border-bottom:0}
@keyframes orb-orbit{to{transform:rotate(24deg) scaleX(.48)}}@keyframes orb-orbit-two{to{transform:rotate(-12deg) scaleX(.46)}}@keyframes orb-orbit-three{to{transform:rotate(24deg) scaleY(.64)}}@keyframes orb-pulse{50%{opacity:1;transform:scale(1.15)}}@keyframes shimmer{to{transform:translateX(100%)}}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{50%{opacity:.6;transform:scale(1.035)}}@keyframes spin{to{transform:rotate(360deg)}}
.motion-off *, .motion-off *::before,.motion-off *::after,.tab-hidden *, .tab-hidden *::before,.tab-hidden *::after{animation:none!important;scroll-behavior:auto!important}.motion-off *{transition-duration:.01ms!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:600px){input,textarea,select{font-size:16px}h1{font-size:29px}.report-text{font-size:14px}.report-text table{font-size:12px}}

html.motion-off{scroll-behavior:auto}

/* Facthelm signature: ruby glass, original ribbon geometry, restrained motion. */
:root{--bg:#100e11;--panel:#1c181d;--border:#e7b4c21f;--accent:#df3048;--accent-light:#ffa1af;--shadow:0 28px 90px #0005}
::selection{background:#b52a4b80;color:#fff}
.primary{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#f4485d,#cf1c3c 65%,#a91634);border-color:#ff7e9150;box-shadow:inset 0 1px 0 #ffccd533,0 6px 25px #bd1f4033}
.primary::after{content:'';position:absolute;inset:-80% -35%;z-index:-1;background:linear-gradient(105deg,transparent 40%,#ffdee738 50%,transparent 60%);transform:translateX(-65%);transition:transform .65s var(--ease);pointer-events:none}
.primary:hover::after{transform:translateX(65%)}
.core-enhanced.ai-orb{isolation:isolate;background:radial-gradient(ellipse at 31% 18%,#e98c9850 0,transparent 33%),radial-gradient(ellipse at 67% 78%,#a5123666 0,transparent 46%),radial-gradient(ellipse at 52% 40%,#28131d,#0c090e 60%,#490e23 93%);box-shadow:inset 2px 2px 3px #ffbbc534,inset -14px -7px 28px #020003b0,inset 1px 0 16px #f64a6a24,0 30px 65px #0007,0 0 80px #ad194226}
.core-enhanced .orb-line,.core-enhanced>.orb-core{display:none}
.core-enhanced::before{inset:-24%;background:radial-gradient(ellipse,#b2264524,transparent 65%)}
.core-enhanced::after{inset:0;background:radial-gradient(ellipse at 26% 15%,#ffc1ce38,transparent 24%);box-shadow:inset -2px -2px 2px #ee547422;opacity:1}
.core-sculpture{position:absolute;inset:-17%;border-radius:50%;pointer-events:none}
.core-ribbons{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:.94;transform-origin:50% 50%}
.core-reflection{position:absolute;inset:20% 34% 66% 25%;border-radius:50%;background:#ffc0cf20;filter:blur(8px);transform:rotate(-35deg)}
.is-active .core-ribbons{animation:sculpture-drift 12s ease-in-out infinite alternate}
.is-ambient .core-ribbons{animation:sculpture-drift 21s ease-in-out infinite alternate}
.is-active .core-reflection,.is-ambient .core-reflection{animation:reflection-drift 8s ease-in-out infinite alternate}
.core-enhanced.is-error{box-shadow:inset 0 0 0 2px #edc18b99,0 0 35px #bd713322}
.is-error .core-ribbons{opacity:.38}
.ai-orb.is-small .core-ribbons{opacity:.6}
.scene-offscreen *, .scene-offscreen *::before,.scene-offscreen *::after{animation-play-state:paused!important}
@keyframes sculpture-drift{from{transform:rotate(-6deg) scale(.985)}to{transform:rotate(9deg) scale(1.015)}}
@keyframes reflection-drift{to{transform:translate(9%,8%) rotate(-22deg);opacity:.5}}
@keyframes light-breath{50%{opacity:.55;transform:scale(1.06)}}
@keyframes orbit-float{50%{transform:translateY(-7px)}}
@keyframes reveal-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.core-ribbons,.core-reflection{animation:none!important}}
.motion-off .core-ribbons,.motion-off .core-reflection{animation:none!important}
