/* Shared art direction: matte graphite, natural light, restrained signal color. */
:root,body[data-category=learn]{--bg:#101412;--surface:#191e1c;--panel:#191e1c;--text:#e9e8df;--muted:#a4aaa2;--line:#49514a88;--orange:#dc7047;--accent:#dc7047;color-scheme:dark}
body.security-environment{background-color:var(--bg);background-image:linear-gradient(110deg,#131a17aa,#10141255),url('./assets/security-field.svg');background-size:cover;background-attachment:fixed}body{color:var(--text)}
.site-header,.category-header,.case-nav{background:#101412e8;border-color:#868d7f33;backdrop-filter:blur(14px);box-shadow:0 8px 32px #0002}.site-header:before,.site-header:after,.category-header:before{display:none}.brand-mark,.category-brand>b{color:var(--text)}.category-brand>b em{color:var(--orange)}.brand-name small,.category-brand small{color:var(--muted)}
.scene-grain{opacity:.018}.ambient-grid{display:none}.story-stage{background:#141917}.story{height:calc(100svh + min(100svh,900px)*4.2 + min(80svh,650px))}
.opening-copy:before{background:linear-gradient(90deg,#101412f7,#101412e8 48%,#101412aa 80%,#10141200);border-left-color:#dc704788}.opening-copy h1{font-family:var(--mono);font-weight:400;font-size:clamp(34px,3.8vw,58px);line-height:1.12;letter-spacing:-.035em;max-width:1000px;text-shadow:none}.opening-copy .eyebrow,.opening-copy .hero-bottom p{color:#d3d6cc}.trace-copy h2,.defense-copy h2{font-family:var(--mono);font-weight:400;letter-spacing:-.04em;font-size:clamp(35px,4.6vw,68px);line-height:1.1}
.journey-label,.story-skip,.story-meta,.map-caption{color:#c0c6bb}.signal-readout{background:#131916ec;border-color:#7c857555;box-shadow:0 10px 35px #0004}.signal-readout>span,.signal-readout small{color:#aab3a6}.signal-readout strong{color:#e0e7d8}
.packet-tag{background:#17201aef;border-color:#9baf9266;border-left-color:#acbaa0;box-shadow:0 6px 18px #0004}.packet-tag>span{color:#bac2b3}.packet-tag>strong{color:#e4e8de}.packet-tag:after{background:#b6c6a799}.packet-tag[data-phase=map]{background:#211a16ef;border-color:#d8795866;border-left-color:#dc7047}.packet-tag[data-phase=map]>span{color:#c0b4a6}.packet-tag[data-phase=map]>strong{color:#e0a186}.packet-tag[data-phase=map]:after{background:#dc7047aa}.trace-controls button{background:#151b17e8;border-color:#75816a66;color:#c4cbbd}.trace-controls button:hover{border-color:var(--orange);color:var(--text)}
.terminal-launchpad{background:linear-gradient(135deg,#222a24,#111713 75%);border-color:#798473;color:var(--text);box-shadow:inset 0 0 80px #0004}.terminal-topline{border-color:#55604b;color:#c4ccba}.terminal-topline i{background:#a8b4a2;box-shadow:none}.terminal-topline>span:last-child{color:#a7b19d}.terminal-choice{background:linear-gradient(135deg,#c6d2b707,#c6d2b702);border-color:#626d58;transition:background .24s,border-color .24s,transform .24s;cursor:pointer}.terminal-choice:hover,.terminal-choice:focus-visible{background:#c6d2b715;border-color:#d7dccb;transform:translateY(-3px)}.terminal-choice:before,.terminal-choice:last-child:before{background:var(--orange);width:3px}.terminal-choice strong{font-family:var(--mono);font-size:100px;letter-spacing:-.06em;font-weight:400}.terminal-choice strong b,.terminal-choice:last-child strong b,.terminal-choice:last-child .terminal-open b{color:var(--orange)}.terminal-index,.terminal-description{color:#a9b39e}.terminal-project{color:#d9dece;font-size:22px;letter-spacing:.015em}.terminal-open{border-color:#56624c;color:#dce1d1}.terminal-bottomline{color:#a0ac92}
.console-arrival{position:absolute;z-index:9;bottom:26px;left:50%;width:max-content;max-width:88%;transform:translateX(-50%);text-align:center;padding:14px 25px;background:#101412e8;border:1px solid #8b947b44;box-shadow:0 12px 28px #0003;animation:console-arrive .45s ease both}.console-arrival>span{font:7px var(--mono);letter-spacing:.15em;color:#b2bc9f}.console-arrival p{font:11px/1.8 var(--body);margin:5px 0;color:#e4e7dc}.console-arrival strong{font-weight:600;color:#f2f2e8}.console-arrival a{font:8px var(--mono);color:#a8b29d;border-bottom:1px solid #8b947b55;padding:4px 0;display:inline-block}.console-arrival a:hover{color:#e6ebdd}@keyframes console-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.category-title h1{font-family:var(--mono);font-size:28px;font-weight:400}.category-title h1:after{color:#5c665a}.category-title p,.project-picker>label,.project-count{color:var(--muted)}.project-picker select,.project-picker option{background:#1b211c;color:var(--text);border-color:var(--line)}
.tour-copy,.tour-visual{border:1px solid #68716077;border-radius:2px;box-shadow:1px 2px 0 #41483c,5px 8px 0 #080c09,16px 25px 45px #0007}.tour-copy{background:linear-gradient(135deg,#202721fa,#141a16fc)}.tour-visual{background:linear-gradient(145deg,#1d251ffa,#111813fc)}.tour-visual:before{display:none}.project-ident{color:#acb49f}.project-ident strong{font:500 15px var(--mono);color:#ecede4;letter-spacing:.04em}.project-ident span{color:#a0a997}.project-context{margin:8px 0 0;font:11px/1.6 var(--body);color:#c0c6b8;grid-column:1/-1}.tour-outcome{border-left-color:#69745d;color:#9da892;margin-top:12px;font-size:11px}
.tour-copy h2{font:400 clamp(29px,2.75vw,43px)/1.15 var(--mono);letter-spacing:-.045em;margin:15px 0 20px}.tour-copy h2 span:last-child{color:#d8ddcd}.step-number{color:var(--accent);font-size:8px}.step-copy{color:#d2d7ca}.step-facts{color:#a5af9b}.project-links a{border-color:#6f795b88;color:#c6cdbb}.project-links a:hover{color:#fff;border-color:var(--orange)}
.tour-copy .tour-progress{border-top-color:#59634d88}.progress-caption{color:#b6bfa9}.progress-caption span:last-child{color:#9aa68a}.progress-track{background:#6f7c5e44}.progress-track i{box-shadow:none}.step-controls{scrollbar-color:#647052 transparent}.step-controls button,.step-controls button b{color:#9aa88b;border-color:#63704f66}.step-controls button[aria-pressed=true]{background:#b1bd9c08}.step-controls button:hover{color:#e8edde;border-color:#acb697}
.visual-topline{color:#9aa78c;border-color:#5c685044}.visual-topline>span:first-child{color:#d0d9c5}.visual-cue{color:#9eac8e}.visual-actions{background:#121a14eb;border-color:#5c685055}.visual-actions button{background:#253020;border-color:#6a7c5566;color:#c0cdb0}.flow-artifact{background:#19231b;border-color:#66765988}.flow-artifact-label,.flow-state{color:#a8b99b}.flow-artifact h3{color:var(--text)}.flow-artifact p{color:#afbba4}.flow-node{background:#182019;border-color:#5d6c5088;color:#9cad8e}.flow-node.is-active{background:#33432c33;color:#e3e9da;box-shadow:none}
.shared-profile{background:linear-gradient(#101412de,#101412f5);color:var(--text)}.profile-eyebrow,.profile-principles span{color:#a3af93}.shared-profile h2 em{color:var(--orange)}.profile-principle,.profile-about,.profile-contact,.profile-principles article{border-color:#65715155}.profile-principles p,.profile-intro p,.profile-panel>p,.profile-education span{color:#a9b39d}.profile-link,.profile-email,.profile-contact-links,.course-bottom a,.branch-merge a{color:#d1dbc2;border-color:#6b795688}
.profile-detail{background:#1a221af5;border-color:#626e5488;box-shadow:8px 12px 0 #080d0977,0 24px 50px #0004}.profile-tabs{background:#121a13;border-color:#626e5488}.profile-tabs button{color:#a5b393}.profile-tabs button[aria-selected=true]{color:#e1e7d6;box-shadow:inset 0 -2px var(--orange);background:#a1b38609}.profile-panel>h3{color:#e0e6d6}.profile-education{border-color:#63725166}.profile-education strong,.course-overview p,.course-card h4{color:#d8e0ce}.shared-profile button:focus-visible,.shared-profile a:focus-visible,.course-scroll:focus-visible{outline-color:var(--orange)}
.course-standing-date,.course-term h3,.course-card-top,.course-units,.course-bottom,.branch-merge{color:#a6b596}.course-term-nav button{background:#151e16;color:#a9b997;border-color:#5d714c88}.course-term-nav button[aria-pressed=true]{border-color:#b6c29f;color:#e0e8d3}.course-scroll{scrollbar-color:#6c8057 #141d15}.course-card{background:linear-gradient(120deg,#232f20,#182319);border-color:#5b6e4c88}.course-card[data-status=in-progress]{border-left-color:var(--orange)}.course-card[data-status=in-progress] .course-status{color:#e1a381}.course-status{color:#96a585}.category-footer{background:#111812e8;color:#98a58a;border-color:#53624655}.category-footer a{color:#c4cfb4}.media-viewer{background:#121915;border-color:#66745a}.approach,.about,.contact{background:var(--bg)}
@media(max-width:1000px) and (min-width:701px){.tour-copy h2{font-size:32px}.project-context{font-size:10px}.tour-outcome{font-size:10px}.project-ident strong{font-size:13px}}
@media(max-width:700px){.tour-copy h2{font-size:26px;margin:10px 0 12px;line-height:1.12}.project-context{font-size:9px;margin:5px 0 0}.project-ident strong{font-size:11px}.category-title h1{font-size:22px}.console-arrival{bottom:84px;padding:11px 16px}.console-arrival p{font-size:9px}.console-arrival a{font-size:7px}.terminal-choice strong{font-size:120px}.terminal-project{font-size:29px}.opening-copy h1{font-size:clamp(29px,8.5vw,48px)}.opening-copy:before{background:linear-gradient(90deg,#101412f7,#101412dd 80%,#101412a0)}}
@media(max-width:600px){.story{height:calc(100svh + min(100svh,780px)*4.1 + min(80svh,650px))}}
@media(prefers-reduced-motion:reduce){.story{height:auto!important}.console-arrival{display:none}.terminal-choice{transition:none}.terminal-choice:hover{transform:none}}
/* Quiet neutral materials keep the warm signal accent meaningful. */
.tour-copy{background:linear-gradient(135deg,#222624fa,#151a18fc)}.tour-visual{background:linear-gradient(145deg,#202624fa,#121816fc)}
.journey-label>span,.story-skip{background:#101412d9;padding:7px 10px;border:1px solid #868d7f33;color:#d0d5c9}.map-caption{background:#101412d9;padding:8px 12px;width:max-content;max-width:85%}
.defense-copy h2{font-size:clamp(30px,3.5vw,48px)}.server-alert{background:#201813f2;border-color:#bd6449;box-shadow:0 10px 25px #0005}.server-alert span,.server-alert small{color:#c6b7a9}.server-alert strong{color:#eee4d6}
.trace-controls button b{color:var(--orange)}.trace-controls button:hover,.trace-controls button:focus-visible{background:#20281f;border-color:#b0bca0;color:#e1e7d6}.trace-controls button[aria-pressed=true]{color:#d6dfc9;border-color:#899b74}.trace-controls button[aria-pressed=true] i{background:#b8c6a4;border-color:#b8c6a4;box-shadow:none}.signal-readout[data-phase=threat]{border-color:#cc624b}.signal-readout[data-phase=threat] strong{color:#e09179}
/* Compact map context stays at the edge of the routes. All traffic is illustrative. */
.map-caption{display:grid;gap:9px;padding:11px 14px;background:#101412eb}.map-caption-title{display:flex;align-items:center;gap:10px;font:8px var(--mono);letter-spacing:.04em}.map-caption-title strong{font-weight:500}.map-caption-title>span{color:#aeb6a6;font-size:7px;margin-left:12px}.map-caption-title>i{background:#c3cbba;box-shadow:none;width:4px;height:4px}.map-legend{display:flex;gap:17px;font:7px var(--mono);letter-spacing:.06em;color:#b7bfb0}.map-legend>span{display:flex;gap:6px;align-items:center}.map-legend>span:before{content:'';width:12px;height:2px;background:#d5b858}.map-legend>.severity-elevated:before{background:#da874c}.map-legend>.severity-severe:before{background:#d65349}
.trace-copy{max-width:430px;bottom:15%;right:auto}.trace-copy h2{font-size:clamp(30px,3.4vw,48px)}.trace-copy .map-threat-fact{font:11px/1.65 var(--body);max-width:330px;margin-top:17px;color:#ccd2c4}.map-fact-source{display:inline-flex;font:7px var(--mono);letter-spacing:.06em;color:#aebc9f;padding:7px 0;margin-top:4px;border-bottom:1px solid #7f8b6b66;pointer-events:auto}.map-fact-source:hover{color:#eef1e4;border-color:var(--orange)}
@media(max-width:600px){.map-caption{top:151px;left:6%;padding:10px 12px;max-width:88%;gap:8px}.map-caption-title{font-size:6px;gap:7px;flex-wrap:wrap}.map-caption-title>span{font-size:6px;margin-left:0}.map-legend{font-size:6px;gap:12px}.trace-copy{left:6%;max-width:83%;bottom:22%}.trace-copy h2{font-size:31px}.trace-copy .map-threat-fact{font-size:9px;max-width:280px;margin-top:12px}.map-fact-source{font-size:6px}}

/* The handle shares the name's typeface and rhythm, with a quieter emphasis. */
.profile-intro #about-title{display:flex;flex-direction:column;align-items:flex-start;gap:.06em;line-height:.94}
.profile-name-line{display:block}
.profile-nickname{display:block;font:inherit;font-size:.64em;line-height:1;color:var(--muted);letter-spacing:-.02em}
.brand-alias{color:#b7bcb3;font-weight:inherit}
.brand-name,.category-brand>span,.case-brand>span:last-child{white-space:nowrap}
@media(max-width:600px){
  .brand-name,.category-brand>span,.case-brand>span:last-child{white-space:normal;max-width:165px;font-size:9px;line-height:1.35;letter-spacing:.025em}
  .brand-alias{white-space:nowrap}
  .brand-name small,.category-brand small{margin-top:3px;font-size:6px}
  .brand,.category-brand{gap:9px;min-width:0}
  .category-header nav{gap:12px;flex-shrink:0}
}
@media(max-width:380px){
  .brand-name,.category-brand>span{display:block;max-width:125px;font-size:8px}
  .brand-name small,.category-brand small{font-size:5px}
  .site-header nav{gap:12px;font-size:7px}
}
