:root{--term-red:#c33b46;--term-red-deep:#7f2029;--term-ink:#05070a;--term-panel:#0b1017;--term-line:rgba(218,226,232,.18);--term-text:#edf2f6;--term-muted:#9ba8b5}
.ids-terminal-page{background:#05070a;color:var(--term-text)}
.ids-terminal-page main{overflow:hidden}
.terminal-hero{position:relative;max-width:1280px;margin:0 auto;padding:clamp(28px,4vw,52px) clamp(20px,4vw,52px) clamp(18px,2.5vw,30px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;border-left:1px solid var(--term-line);border-right:1px solid var(--term-line);background:radial-gradient(circle at 84% 38%,rgba(195,59,70,.12),transparent 22%),linear-gradient(180deg,#090d13,#05070a)}
.terminal-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.012) 4px 5px)}
.terminal-ident{position:relative;z-index:1}
.terminal-kicker,.terminal-label{margin:0 0 16px;color:var(--term-red);font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.terminal-hero h1{max-width:none;margin:0;color:#f4f7fa;font:900 clamp(2.65rem,5vw,5.7rem)/.88 "Arial Narrow",Impact,sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.terminal-dek{max-width:760px;margin:28px 0 0;color:#b8c3ce;font-size:clamp(1rem,1.6vw,1.24rem);line-height:1.7}
.terminal-status-row{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}
.terminal-status-row span{padding:8px 11px;border:1px solid var(--term-line);background:rgba(255,255,255,.025);color:#aeb8c2;font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.terminal-status-row i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#6fc889;box-shadow:0 0 10px rgba(111,200,137,.6)}
.terminal-emblem{position:relative;z-index:1;width:112px;text-align:center;color:#7f8b96}
.terminal-emblem-ring{width:92px;height:92px;margin:0 auto 8px;display:grid;place-items:center;border:1px solid rgba(195,59,70,.5);border-radius:50%;box-shadow:inset 0 0 0 7px #05070a,inset 0 0 0 8px rgba(218,226,232,.16),0 0 36px rgba(195,59,70,.12)}
.terminal-emblem-ring:before,.terminal-emblem-ring:after{content:"";position:absolute;width:116px;height:1px;background:rgba(195,59,70,.3)}
.terminal-emblem-ring:after{transform:rotate(90deg)}
.terminal-emblem-ring span{font:900 2rem/1 "Arial Narrow",Impact,sans-serif;letter-spacing:.06em;color:#cbd3da}
.terminal-emblem small{font-size:.52rem;font-weight:900;letter-spacing:.18em;line-height:1.35}
.terminal-shell{max-width:1280px;margin:0 auto clamp(70px,9vw,130px);border:1px solid rgba(218,226,232,.2);border-top-color:rgba(195,59,70,.5);background:linear-gradient(145deg,#0b1017,#070a0e);box-shadow:0 28px 100px rgba(0,0,0,.45)}
.terminal-topline{min-height:54px;padding:11px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--term-line);background:#070a0e}
.terminal-topline>div:first-child{display:flex;gap:12px;align-items:center}
.terminal-topline span{color:#74808c;font-size:.63rem;font-weight:900;letter-spacing:.16em}
.terminal-topline strong{color:#dce2e7;font-size:.68rem;letter-spacing:.14em}
.terminal-lights{display:flex;gap:6px}.terminal-lights i{width:7px;height:7px;border-radius:50%;background:#5f6973}.terminal-lights i:first-child{background:var(--term-red);box-shadow:0 0 8px rgba(195,59,70,.6)}
.terminal-query-panel{padding:clamp(22px,3.5vw,40px);border-bottom:1px solid var(--term-line)}
.terminal-query-panel h2{margin:0 0 18px;color:#f1f4f6;font:900 clamp(2rem,4vw,4rem)/.95 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.terminal-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.terminal-form input{min-height:68px;width:100%;padding:15px 18px;border:1px solid rgba(218,226,232,.28);border-radius:0;outline:none;background:#040609;color:#f2f5f7;font-size:1.05rem;box-shadow:inset 0 0 28px rgba(0,0,0,.45)}
.terminal-form input:focus{border-color:var(--term-red);box-shadow:0 0 0 3px rgba(195,59,70,.13),inset 0 0 28px rgba(0,0,0,.45)}
.terminal-form button,.terminal-prompts button,.terminal-category-grid button{border-radius:0;cursor:pointer}
.terminal-form button{min-height:68px;padding:0 25px;border:1px solid var(--term-red);background:var(--term-red-deep);color:#fff;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.terminal-form button:hover,.terminal-form button:focus-visible{background:var(--term-red)}
.terminal-prompts{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.terminal-prompts button{padding:8px 10px;border:1px solid rgba(218,226,232,.16);background:rgba(255,255,255,.025);color:#9ca8b3;font-size:.72rem}
.terminal-prompts button:hover,.terminal-prompts button:focus-visible{border-color:rgba(195,59,70,.7);color:#fff}
.terminal-output{min-height:330px;padding:clamp(24px,5vw,58px);position:relative}
.terminal-output:before{content:"TERMINAL OUTPUT";position:absolute;top:15px;right:18px;color:#4e5964;font-size:.59rem;font-weight:900;letter-spacing:.18em}
.terminal-idle{min-height:220px;display:grid;place-items:center;align-content:center;text-align:center}
.terminal-idle p{margin:0 0 8px;color:var(--term-red);font-size:.68rem;font-weight:900;letter-spacing:.22em}
.terminal-idle strong{font:900 clamp(1.6rem,4vw,3.4rem)/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.terminal-idle small{max-width:620px;margin-top:14px;color:#7f8b96;line-height:1.6}
.terminal-answer{display:grid;grid-template-columns:120px minmax(0,1fr);gap:26px}
.terminal-answer-code{padding-top:5px;color:var(--term-red);font-size:.68rem;font-weight:900;letter-spacing:.18em}
.terminal-answer-body h3{margin:0;color:#f1f4f6;font:900 clamp(2rem,5vw,4.5rem)/.92 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.terminal-answer-body>p{max-width:850px;margin:20px 0;color:#c0c9d2;font-size:1.05rem;line-height:1.75}
.terminal-answer-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.terminal-answer-meta span{padding:6px 8px;border:1px solid var(--term-line);color:#8995a0;font-size:.64rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.terminal-source-links{display:flex;gap:8px;flex-wrap:wrap}.terminal-source-link{display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid var(--term-red);color:#fff;text-decoration:none;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.terminal-source-link:hover{background:rgba(195,59,70,.14)}
.terminal-related{margin-top:28px;padding-top:22px;border-top:1px solid var(--term-line)}.terminal-related>span{display:block;margin-bottom:10px;color:#75818d;font-size:.64rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.terminal-related-links{display:flex;gap:8px;flex-wrap:wrap}.terminal-related-links button{padding:8px 10px;border:1px solid rgba(218,226,232,.14);background:#080b10;color:#aab4be;cursor:pointer}.terminal-related-links button:hover{border-color:var(--term-red);color:#fff}
.terminal-no-answer h3{margin:0 0 14px;color:#eef2f5;font:900 clamp(2rem,5vw,4rem)/.95 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.terminal-no-answer p{max-width:760px;color:#aab5bf;line-height:1.7}.terminal-no-answer strong{color:#fff}
.terminal-explainer,.terminal-categories{max-width:1280px;margin:0 auto clamp(80px,10vw,150px);padding:0 20px}
.terminal-explainer>div:first-child,.terminal-categories>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:end;margin-bottom:30px}
.terminal-explainer h2,.terminal-categories h2{max-width:14ch;margin:0;color:#eff3f5;font:900 clamp(2.4rem,5vw,5rem)/.92 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.terminal-explainer-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--term-line);border-left:1px solid var(--term-line)}
.terminal-explainer-grid>div{min-height:260px;padding:28px;border-right:1px solid var(--term-line);border-bottom:1px solid var(--term-line);background:rgba(255,255,255,.018)}
.terminal-explainer-grid span{color:var(--term-red);font-size:.7rem;font-weight:900;letter-spacing:.15em}.terminal-explainer-grid h3{margin:50px 0 12px;color:#edf1f4;font-size:1.25rem}.terminal-explainer-grid p{margin:0;color:#939faa;line-height:1.7}
.terminal-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.terminal-category-grid button{min-height:130px;padding:20px;text-align:left;border:1px solid var(--term-line);background:#090d12;color:#fff}.terminal-category-grid button:hover,.terminal-category-grid button:focus-visible{border-color:rgba(195,59,70,.75);background:rgba(195,59,70,.08)}.terminal-category-grid span{display:block;margin-bottom:25px;color:var(--term-red);font-size:.61rem;font-weight:900;letter-spacing:.18em}.terminal-category-grid strong{display:block;font-size:1.1rem}.terminal-category-grid small{display:block;margin-top:5px;color:#7f8b96}
@media(max-width:820px){.terminal-hero{grid-template-columns:1fr}.terminal-emblem{display:none}.terminal-form{grid-template-columns:1fr}.terminal-answer{grid-template-columns:1fr;gap:8px}.terminal-explainer>div:first-child,.terminal-categories>div:first-child{grid-template-columns:1fr}.terminal-explainer-grid{grid-template-columns:1fr}.terminal-category-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.terminal-hero{padding-top:24px;padding-bottom:16px}.terminal-hero h1{font-size:2.8rem}.terminal-category-grid{grid-template-columns:1fr}.terminal-topline>div:first-child span{display:none}}


/* ACCESS FILES interaction sequence */
.terminal-shell{position:relative;isolation:isolate}
.terminal-shell:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent 0%,rgba(195,59,70,.035) 46%,rgba(195,59,70,.12) 50%,rgba(195,59,70,.035) 54%,transparent 100%);transform:translateY(-100%);z-index:4}
.terminal-shell.is-accessing:after{opacity:1;animation:terminal-shell-scan .9s linear infinite}
.terminal-shell.is-accessing{box-shadow:0 28px 100px rgba(0,0,0,.45),0 0 42px rgba(195,59,70,.08)}
.terminal-shell.is-accessing .terminal-lights i:first-child{animation:terminal-light-pulse .48s steps(2,end) infinite}
.terminal-shell.is-accessing .terminal-lights i:nth-child(2){background:#d7a34d;box-shadow:0 0 10px rgba(215,163,77,.45);animation:terminal-light-pulse .7s steps(2,end) infinite reverse}
.terminal-shell.is-accessing .terminal-lights i:nth-child(3){background:#6fc889;box-shadow:0 0 10px rgba(111,200,137,.35);animation:terminal-light-pulse .92s steps(2,end) infinite}
.terminal-form button.is-accessing{position:relative;overflow:hidden;background:#5e181f;color:#fff;cursor:progress}
.terminal-form button.is-accessing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:translateX(-110%);animation:terminal-button-sweep .72s linear infinite}
.terminal-output.is-accessing{overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(195,59,70,.08),transparent 48%)}
.terminal-output.is-accessing:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.018) 5px 6px);animation:terminal-static-drift 1.8s linear infinite}
.terminal-access-sequence{position:relative;min-height:225px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:34px;align-items:center}
.terminal-access-copy{position:relative;z-index:2}
.terminal-access-kicker{margin:0 0 14px;color:var(--term-red);font-size:.68rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.terminal-access-query{max-width:760px;margin:0;color:#eef3f6;font:900 clamp(1.55rem,3.4vw,3.25rem)/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.terminal-access-log{margin-top:24px;display:grid;gap:7px}
.terminal-access-log span{position:relative;padding-left:18px;color:#65717d;font:800 .68rem/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;transition:color .16s ease,transform .16s ease}
.terminal-access-log span:before{content:"›";position:absolute;left:0;color:#4f5963}
.terminal-access-log span.is-active{color:#f1f4f6;transform:translateX(4px)}
.terminal-access-log span.is-active:before{color:var(--term-red);text-shadow:0 0 10px rgba(195,59,70,.7)}
.terminal-access-log span.is-complete{color:#89959f}
.terminal-access-log span.is-complete:before{content:"✓";color:#6fc889}
.terminal-access-visual{position:relative;width:150px;height:150px;margin:auto;border:1px solid rgba(195,59,70,.28);border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 32px rgba(195,59,70,.05),0 0 38px rgba(195,59,70,.08)}
.terminal-access-visual:before,.terminal-access-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(218,226,232,.12)}
.terminal-access-visual:before{inset:17px;border-top-color:var(--term-red);animation:terminal-radar-spin 1.25s linear infinite}
.terminal-access-visual:after{inset:36px;border-right-color:#6fc889;animation:terminal-radar-spin .82s linear infinite reverse}
.terminal-access-cross{position:absolute;inset:0}
.terminal-access-cross:before,.terminal-access-cross:after{content:"";position:absolute;left:50%;top:50%;background:rgba(195,59,70,.25);transform:translate(-50%,-50%)}
.terminal-access-cross:before{width:1px;height:188px}.terminal-access-cross:after{width:188px;height:1px}
.terminal-access-visual strong{position:relative;z-index:2;color:#dfe5e9;font:900 1.15rem/1 "Arial Narrow",Impact,sans-serif;letter-spacing:.12em}
.terminal-answer,.terminal-no-answer{position:relative;z-index:2}
.terminal-answer.is-revealed,.terminal-no-answer.is-revealed{animation:terminal-result-in .42s cubic-bezier(.2,.7,.2,1) both}
.terminal-answer.is-revealed .terminal-answer-code{animation:terminal-code-flash .62s ease-out both}
.terminal-answer.is-revealed .terminal-answer-body>*{animation:terminal-content-rise .48s ease-out both}
.terminal-answer.is-revealed .terminal-answer-body>*:nth-child(2){animation-delay:.05s}
.terminal-answer.is-revealed .terminal-answer-body>*:nth-child(3){animation-delay:.1s}
.terminal-answer.is-revealed .terminal-answer-body>*:nth-child(4){animation-delay:.15s}
.terminal-source-link{position:relative;overflow:hidden}
.terminal-source-link:after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-55%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:skewX(-18deg)}
.terminal-source-link:hover:after{animation:terminal-link-sweep .55s ease-out}
.terminal-topline strong{transition:color .18s ease,text-shadow .18s ease}
.terminal-shell.is-accessing .terminal-topline strong{color:#f0c4c8;text-shadow:0 0 12px rgba(195,59,70,.35)}

@keyframes terminal-shell-scan{0%{transform:translateY(-105%)}100%{transform:translateY(105%)}}
@keyframes terminal-light-pulse{0%,45%{opacity:.35}50%,100%{opacity:1}}
@keyframes terminal-button-sweep{to{transform:translateX(260%)}}
@keyframes terminal-static-drift{0%{transform:translateY(0)}100%{transform:translateY(6px)}}
@keyframes terminal-radar-spin{to{transform:rotate(360deg)}}
@keyframes terminal-result-in{0%{opacity:0;transform:translateY(12px);filter:blur(5px)}45%{opacity:.8;filter:blur(1px)}100%{opacity:1;transform:none;filter:none}}
@keyframes terminal-code-flash{0%{opacity:0;text-shadow:0 0 18px var(--term-red)}100%{opacity:1;text-shadow:none}}
@keyframes terminal-content-rise{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}
@keyframes terminal-link-sweep{to{left:125%}}

@media(max-width:700px){
  .terminal-access-sequence{grid-template-columns:1fr;gap:22px}
  .terminal-access-visual{width:104px;height:104px}
  .terminal-access-visual:before{inset:12px}.terminal-access-visual:after{inset:27px}
  .terminal-access-cross:before{height:128px}.terminal-access-cross:after{width:128px}
}
@media(prefers-reduced-motion:reduce){
  .terminal-shell.is-accessing:after,.terminal-shell.is-accessing .terminal-lights i,.terminal-form button.is-accessing:after,.terminal-output.is-accessing:after,.terminal-access-visual:before,.terminal-access-visual:after{animation:none!important}
  .terminal-answer.is-revealed,.terminal-no-answer.is-revealed,.terminal-answer.is-revealed .terminal-answer-code,.terminal-answer.is-revealed .terminal-answer-body>*{animation:none!important}
  .terminal-access-log span{transition:none}
}
