:root{--color-bg: #090d09;--color-surface: #121a12;--color-surface-bright: #1c261c;--color-text: #e0e0e0;--color-text-muted: #808080;--text-on-primary: #000;--color-primary: #3ddc84;--color-primary-dim: rgba(61,220,132,.2);--color-border: rgba(61,220,132,.2);--color-border-strong: rgba(61,220,132,.6);--color-error: #ff4d4d;--color-warning: #ffcc00;--color-success: #3ddc84;--color-solved: #3ddc84;--color-locked: rgba(128,128,128,.3);--font-mono: "JetBrains Mono", ui-monospace, monospace;--fs-h1: clamp(2.5rem, 1.4rem + 5vw, 4.5rem);--fs-h2: clamp(2rem, 1.4rem + 2.8vw, 3rem);--fs-h3: 1.5rem;--fs-body: 1rem;--fs-ui: .875rem;--fs-small: .75rem;--lh-h1: 1.1;--lh-h2: 1.2;--lh-h3: 1.4;--lh-body: 1.6;--lh-ui: 1.4;--fw-regular: 400;--fw-medium: 500;--fw-bold: 700;--tracking-heading: .1em;--tracking-body: -.02em;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 48px;--padding-mobile: 16px;--padding-desktop: 40px;--radius-none: 0;--shadow-glow: 0 0 15px rgba(61,220,132,.3);--text-glow: 0 0 10px rgba(61,220,132,.5);--scrim-dark: rgba(9,13,9,.92);--container-max: 1280px;--nav-height: 64px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(to bottom,rgba(61,220,132,.03) 0px,rgba(61,220,132,.03) 1px,transparent 1px,transparent 3px)}a{color:var(--color-primary)}.app-shell{position:relative;z-index:1;min-height:100%;max-width:640px;margin:0 auto;padding:var(--padding-mobile);padding-bottom:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.screen{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-lg);max-width:640px;width:100%;margin:0 auto;padding:var(--padding-mobile);background:var(--color-bg)}@media (min-width: 720px){.screen{padding:var(--space-lg) var(--padding-desktop)}}.shell-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--fs-small);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-text-muted);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.shell-bar__id{color:var(--color-primary);text-shadow:var(--text-glow)}.shell-bar__sep{color:var(--color-text-muted);margin:0 4px}.shell-bar__status{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-text-muted)}.shell-bar__dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);box-shadow:var(--shadow-glow);animation:pulse-dot 1.6s ease-in-out infinite}@keyframes pulse-dot{50%{opacity:.35}}.sys-metrics{margin-top:var(--space-sm);border-top:1px solid var(--color-border);padding-top:var(--space-md);display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border);border:1px solid var(--color-border)}.sys-metric{background:var(--color-surface);padding:var(--space-md);display:flex;flex-direction:column;gap:2px}.sys-metric__key{font-size:var(--fs-small);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-text-muted)}.sys-metric__val{font-size:var(--fs-ui);font-weight:var(--fw-bold);color:var(--color-primary);letter-spacing:var(--tracking-heading)}.sys-metrics__log{grid-column:1 / -1;background:var(--color-bg);color:var(--color-text-muted);font-size:var(--fs-small);letter-spacing:var(--tracking-body);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border)}.sys-metrics__log:before{content:"> ";color:var(--color-primary)}.eyebrow{font-size:var(--fs-small);color:var(--color-text-muted);letter-spacing:var(--tracking-heading);text-transform:uppercase;margin:0}.h1{font-size:clamp(1.75rem,1.2rem + 3vw,2.5rem);line-height:var(--lh-h1);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-primary);text-shadow:var(--text-glow);margin:0}.h2{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-primary);margin:0}.pc-glow{text-shadow:var(--text-glow)}.muted{color:var(--color-text-muted)}.prompt-line{font-size:var(--fs-ui);color:var(--color-text-muted)}.prompt-line:before{content:"> ";color:var(--color-primary)}.cursor:after,.cursor-blink:after{content:"_";color:var(--color-primary);animation:blink 1.1s step-end infinite}@keyframes blink{50%{opacity:0}}.shield{width:64px;height:72px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-dim);border:2px solid var(--color-primary);box-shadow:var(--shadow-glow);clip-path:polygon(50% 0,100% 18%,100% 60%,50% 100%,0 60%,0 18%);font-size:1.75rem;font-weight:var(--fw-bold);text-shadow:var(--text-glow)}.welcome-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.section-head{font-size:var(--fs-ui);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-primary);margin:0 0 var(--space-md)}.section-head:before{content:"> ";color:var(--color-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-none);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.card--glow{box-shadow:var(--shadow-glow);border-color:var(--color-border-strong)}.summary-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-none);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.summary-card:after{content:"";position:absolute;top:0;right:0;width:14px;height:14px;border-top:2px solid var(--color-primary);border-right:2px solid var(--color-primary);box-shadow:var(--shadow-glow)}.summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.summary-list li{position:relative;padding-left:1.5em;line-height:var(--lh-body);color:var(--color-text)}.summary-list li:before{content:">";position:absolute;left:0;color:var(--color-primary);font-weight:var(--fw-bold)}.summary-mark{background:var(--color-primary-dim);color:var(--color-primary);padding:0 4px}.summary-strong{color:var(--color-primary);font-weight:var(--fw-bold)}.summary-meta{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.summary-meta__row{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--fs-ui);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-text)}.summary-meta__icon{color:var(--color-primary)}.btn,.btn-term{font-family:var(--font-mono);font-size:var(--fs-ui);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);text-transform:uppercase;border-radius:var(--radius-none);padding:12px 20px;cursor:pointer;transition:all .12s ease;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);-webkit-user-select:none;user-select:none;background:transparent;color:var(--color-text);border:1px solid var(--color-border-strong)}.btn:disabled,.btn-term:disabled{opacity:.45;cursor:not-allowed}.btn-term--lg{padding:16px 22px;font-size:var(--fs-body)}.btn--primary,.btn-term--primary{background:var(--color-primary);color:var(--text-on-primary);border:1px solid var(--color-primary)}.btn--primary:not(:disabled):hover,.btn-term--primary:not(:disabled):hover{box-shadow:var(--shadow-glow);filter:brightness(1.08)}.btn--ghost,.btn-term--ghost{background:transparent;color:var(--color-primary);border:1px solid var(--color-border-strong)}.btn--ghost:not(:disabled):hover,.btn-term--ghost:not(:disabled):hover{background:var(--color-primary-dim);box-shadow:var(--shadow-glow)}.btn--danger,.btn-term--danger{background:transparent;color:var(--color-error);border:1px solid var(--color-error)}.btn--danger:not(:disabled):hover,.btn-term--danger:not(:disabled):hover{background:#ff4d4d1f}.btn-row{display:flex;flex-direction:column;gap:var(--space-sm)}.action-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--fs-small);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-text-muted)}.action-meta__link{color:var(--color-primary);text-decoration:none;cursor:pointer}.action-meta__link:before{content:"// "}.field{display:flex;flex-direction:column;gap:var(--space-xs)}.field__label{font-size:var(--fs-ui);color:var(--color-text);letter-spacing:var(--tracking-body);text-transform:uppercase}.field__label:before{content:"_ ";color:var(--color-primary)}.field__req{color:var(--color-primary);margin-left:4px}.field__hint{font-size:var(--fs-small);color:var(--color-text-muted)}.field__error{font-size:var(--fs-small);color:var(--color-error)}.field__error:before{content:"! "}.input,.textarea,.select{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--color-text);background:transparent;border:none;border-bottom:2px solid var(--color-primary);border-radius:var(--radius-none);padding:10px 2px;width:100%;outline:none;transition:box-shadow .12s ease,border-color .12s ease}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.input:focus,.textarea:focus,.select:focus{border-bottom-color:var(--color-primary);box-shadow:0 2px 12px -4px #3ddc8499}.input--error,.textarea--error,.select--error{border-bottom-color:var(--color-error)}.textarea{resize:vertical;min-height:110px}.select,.select-term{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%),linear-gradient(135deg,var(--color-primary) 50%,transparent 50%);background-position:calc(100% - 14px) center,calc(100% - 8px) center;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:28px}.select-term{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--color-text);background-color:transparent;border:none;border-bottom:2px solid var(--color-primary);border-radius:var(--radius-none);padding:10px 28px 10px 2px;width:100%;outline:none}.select-term:focus{box-shadow:0 2px 12px -4px #3ddc8499}.select-term option{background:var(--color-surface);color:var(--color-text)}.radio-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.radio-chip{font-family:var(--font-mono);font-size:var(--fs-ui);letter-spacing:var(--tracking-body);text-transform:uppercase;padding:8px 14px;border-radius:var(--radius-none);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.radio-chip:hover{color:var(--color-text);border-color:var(--color-primary)}.radio-chip.is-active{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.chip-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.chip,.interest-chip{font-family:var(--font-mono);font-size:var(--fs-ui);letter-spacing:var(--tracking-body);text-transform:uppercase;padding:8px 14px;border-radius:var(--radius-none);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.chip:hover,.interest-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.chip--active,.interest-chip.is-active{border-color:var(--color-primary);background:var(--color-primary-dim);color:var(--color-primary);box-shadow:var(--shadow-glow)}.consent-note{font-size:var(--fs-small);color:var(--color-text-muted);line-height:1.5}.consent-note:before{content:"// ";color:var(--color-primary)}.consent{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer}.consent input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;flex:0 0 20px;margin-top:2px;border:1px solid var(--color-border-strong);border-radius:var(--radius-none);background:var(--color-bg);cursor:pointer;position:relative}.consent input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.consent input[type=checkbox]:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-on-primary);font-weight:var(--fw-bold);font-size:14px}.consent__text{font-size:var(--fs-small);color:var(--color-text-muted);line-height:1.5}.review-list{display:flex;flex-direction:column;gap:var(--space-sm);margin:0}.review-row{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.review-row__key{font-size:var(--fs-small);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-heading)}.review-row__val{font-size:var(--fs-body);color:var(--color-text);word-break:break-word}.status-badge{display:inline-flex;align-items:baseline;gap:2px;font-size:clamp(1.25rem,.9rem + 2vw,1.75rem);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--color-primary);text-shadow:var(--text-glow)}.status-badge--pending{color:var(--color-warning);text-shadow:0 0 10px rgba(255,204,0,.5)}.status-badge--approved,.status-badge--provisioned{color:var(--color-success)}.status-badge--rejected,.status-badge--failed{color:var(--color-error);text-shadow:0 0 10px rgba(255,77,77,.5)}.status-badge--chip{display:inline-block;font-size:var(--fs-small);font-weight:var(--fw-regular);padding:4px 10px;border:1px solid currentColor;text-shadow:none}.process-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.process-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--fs-ui);letter-spacing:var(--tracking-body);color:var(--color-text-muted)}.process-item__mark{font-weight:var(--fw-bold);width:1.25em;text-align:center}.process-item.is-passed{color:var(--color-text)}.process-item.is-passed .process-item__mark{color:var(--color-success)}.process-item.is-passed .process-item__mark:before{content:"✓"}.process-item.is-pending .process-item__mark{color:var(--color-warning);animation:blink 1.1s step-end infinite}.process-item.is-pending .process-item__mark:before{content:"…"}.process-item.is-failed{color:var(--color-error)}.process-item.is-failed .process-item__mark:before{content:"✗"}.process-item__tag{margin-left:auto;font-size:var(--fs-small);letter-spacing:var(--tracking-heading);text-transform:uppercase}.term-log{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-none);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--fs-ui);line-height:var(--lh-ui);color:var(--color-text-muted)}.term-log__line:before{content:"> ";color:var(--color-primary)}.term-log__line--ok{color:var(--color-success)}.term-log__line--warn{color:var(--color-warning)}.term-log__line--err{color:var(--color-error)}.code-box{font-size:clamp(1.5rem,1rem + 4vw,2.25rem);font-weight:var(--fw-bold);letter-spacing:.15em;color:var(--color-primary);text-shadow:var(--text-glow);background:var(--color-bg);border:1px dashed var(--color-border-strong);padding:var(--space-md);text-align:center;word-break:break-all}.instructions{white-space:pre-wrap;font-size:var(--fs-ui);color:var(--color-text);line-height:1.6}.loader-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:50vh;color:var(--color-text-muted)}.spinner{width:34px;height:34px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;box-shadow:var(--shadow-glow)}@keyframes spin{to{transform:rotate(360deg)}}.stack-sm{display:flex;flex-direction:column;gap:var(--space-sm)}.center{text-align:center}.error-text{color:var(--color-error)}.list-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{font-size:var(--fs-small);padding:2px 8px;border:1px solid var(--color-border);color:var(--color-primary)}
