/* Machine Civilization visual system. Content and application behavior are unchanged. */
:root{
  --ink:#070707;
  --ink-soft:#0d0d0d;
  --paper:#0a0a0a;
  --white:#efefef;
  --gold:#b3b3b3;
  --red:#a2a2a2;
  --red-bright:#f0f0f0;
  --red-dark:#343434;
  --steel:#9e9e9e;
  --steel-dark:#585858;
  --muted:#7e7e7e;
  --line:rgba(195,195,195,.18);
  --dark-line:rgba(195,195,195,.18);
  --serif:'IBM Plex Mono',monospace;
  --sans:'DM Sans',Arial,sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
html{background:#040404;scrollbar-color:#515151 #090909}
body,.light-page{background:var(--ink);color:var(--white)}
body{
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 50% -15%,rgba(202,202,202,.035),transparent 42%);
  background-size:64px 64px,64px 64px,100% 100%;
}
body:before{
  content:'';position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.12;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.028) 4px);
  mix-blend-mode:screen;
}
::selection{background:var(--red);color:#ffffff}
.wrap{max-width:1560px}
.eyebrow,.mono{letter-spacing:.13em;text-transform:uppercase}
.eyebrow{color:#adadad}
.gold{color:var(--red)}
.muted{color:#777777}
h1,h2,h3{font-family:var(--sans)}
h1,h2{font-weight:600;letter-spacing:-.062em}
h1 em,h2 em{font-style:normal;font-family:var(--mono);font-weight:400;letter-spacing:-.045em;text-transform:uppercase}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--red)}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--red)}
.skip{background:var(--red);color:#ffffff}
.site-header{
  height:92px;border-bottom:1px solid var(--line);position:relative;
}
.site-header:after{content:'';position:absolute;left:64px;bottom:-1px;width:130px;height:2px;background:var(--red);box-shadow:0 0 16px rgba(216,216,216,.24)}
.light-page .site-header{border-bottom-color:var(--line)}
.wordmark{font-family:var(--mono);font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:14px}
.wordmark:before{content:'';display:block;width:5px;height:23px;background:var(--red);box-shadow:0 0 15px rgba(216,216,216,.22)}
.site-header nav{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.site-header nav a{color:#a3a3a3}
.site-header nav a:hover,.light-page .site-header nav a:hover{color:var(--red-bright)}
.nav-directory{color:#dddddd!important;border-left:1px solid #393939;padding-left:32px}
.nav-directory span{color:var(--red)}
.button{
  position:relative;background:#0d0d0d;border:1px solid #4b4b4b;color:#dcdcdc;
  font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
}
.button:before{content:'';position:absolute;left:0;top:0;width:28px;height:2px;background:var(--red)}
.button:hover{background:#181818;border-color:#898989;color:#ffffff}
.light-button,.dark-button{background:var(--red);border-color:var(--red);color:#ffffff}
.light-button:hover,.dark-button:hover{background:#797979;border-color:#a9a9a9}
.plain-button{color:#aaaaaa;text-decoration-color:#222222}
.plain-button:hover{color:var(--red-bright)}
.site-footer,.light-page .site-footer{border-color:var(--line);color:#717171;font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em}
.site-footer a:hover,.light-page .site-footer a:hover{color:var(--red)}
/* Home */
.hero{min-height:790px;border-top:0;padding-top:86px;border-bottom:1px solid var(--line)}
.hero:before{
  content:'SYSTEM // CIVILIZATION_CARRIER';position:absolute;top:32px;left:64px;color:#5d5d5d;
  font:11px var(--mono);letter-spacing:.15em;z-index:3;
}
.hero:after{content:'';position:absolute;top:31px;right:64px;width:7px;height:7px;background:var(--red);border-radius:50%;box-shadow:0 0 14px var(--red)}
.hero-art{top:28px;right:0;width:75%;height:calc(100% - 54px);border-left:1px solid rgba(196,196,196,.16)}
.hero-art:before{
  content:'';position:absolute;z-index:2;inset:0;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(196,196,196,.12) 50%,transparent 50.2%),
    linear-gradient(0deg,transparent 49.8%,rgba(196,196,196,.1) 50%,transparent 50.2%);
  opacity:.32;
}
.hero-art:after{background:linear-gradient(90deg,#070707 0%,rgba(7,7,7,.93) 18%,rgba(7,7,7,.16) 61%,rgba(7,7,7,.08)),linear-gradient(0deg,#070707,transparent 23%,transparent 83%,rgba(7,7,7,.75))}
.hero-copy{width:63%;padding-top:29px}
.hero h1{font-size:clamp(82px,8.2vw,124px);line-height:.84;text-transform:uppercase;letter-spacing:-.078em;text-shadow:0 4px 34px #000000}
.hero h1 em{font-size:.78em;color:var(--red);text-shadow:0 0 28px rgba(216,216,216,.15)}
.hero-intro{color:#aeaeae;border-left:2px solid var(--red);padding-left:20px;font-family:var(--mono);font-size:13px;letter-spacing:.025em;text-transform:uppercase}
.text-link{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;border-color:#575757;color:#d9d9d9}
.text-link:hover{color:var(--red-bright)}
.hero-caption{color:#919191;border-right:1px solid var(--red);padding-right:13px}
.long-view-band{border-color:var(--line);min-height:150px;background:linear-gradient(90deg,rgba(196,196,196,.025),transparent 34%)}
.long-view-band .eyebrow{color:#898989}
.time-line{background:linear-gradient(90deg,transparent,#333333 35%,var(--red));box-shadow:4px 0 8px rgba(216,216,216,.16)}
.time-line:after{background:var(--red);box-shadow:0 0 11px var(--red)}
.time-number{font-family:var(--mono);font-weight:500;color:#e9e9e9;letter-spacing:-.08em}
.time-number span{font-family:var(--mono);font-size:17px;text-transform:uppercase;letter-spacing:.06em;color:#6f6f6f}
.light-section{background:#0c0c0c;color:var(--white);position:relative}
.light-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(196,196,196,.018) 1px,transparent 1px);background-size:128px 100%}
.philosophy{border-bottom:1px solid var(--line)}
.section-kicker{border-bottom:1px solid var(--line);padding-bottom:22px}
.section-kicker .eyebrow{color:var(--red)}
.statement-grid h2 em,.questions h2 em{color:var(--red)}
.statement-copy{color:#ababab;font-family:var(--mono);font-size:14px}
.statement-copy .small-note{color:#707070;border-top:1px solid var(--line);padding-top:15px}
.principles{border-color:var(--line);gap:1px;background:#242424;padding-top:1px}
.principles article{position:relative;background:#0c0c0c;padding:34px 34px 38px;min-height:260px;border-bottom:2px solid #282828}
.principles article:before{content:'';position:absolute;top:0;left:0;width:54px;height:2px;background:var(--red);box-shadow:0 0 10px rgba(216,216,216,.18)}
.principle-number{font-family:var(--mono);font-size:13px;color:var(--red)}
.principles h3{font-family:var(--mono);text-transform:uppercase;letter-spacing:.02em;color:#e7e7e7}
.principles p{color:#8c8c8c}
.continuity{position:relative;background:radial-gradient(circle at 75% 50%,rgba(141,141,141,.07),transparent 32%)}
.continuity:after{content:'';position:absolute;right:0;bottom:0;width:32%;height:1px;background:linear-gradient(90deg,transparent,var(--red))}
.continuity h2 em{color:var(--red)}
.continuity-grid>div>p{color:#959595;font-family:var(--mono);font-size:13px}
.carrier-diagram:before,.carrier-diagram:after{content:'';position:absolute;left:50%;top:50%;background:rgba(196,196,196,.11);transform:translate(-50%,-50%)}
.carrier-diagram:before{height:1px;width:440px}.carrier-diagram:after{height:440px;width:1px}
.carrier-orbit{border-color:#373737;box-shadow:inset 0 0 35px rgba(255,255,255,.018)}
.orbit-outer{border-style:dashed;border-color:#4f4f4f;animation:machine-spin 36s linear infinite}
.orbit-middle{border-color:#5a5a5a;animation:machine-spin-reverse 22s linear infinite}
.orbit-inner{border-color:var(--red);box-shadow:0 0 25px rgba(216,216,216,.06),inset 0 0 25px rgba(216,216,216,.04)}
.carrier-center{background:#070707;border:1px solid #434343;padding:20px;z-index:1;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.carrier-center:before{content:'';position:absolute;left:7px;top:7px;width:5px;height:5px;background:var(--red);box-shadow:0 0 8px var(--red)}
.carrier-center strong{font-family:var(--mono);font-size:24px;text-transform:uppercase}
.carrier-center span{color:var(--red)}
.orbit-label{background:#070707;color:#adadad;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;border-left:1px solid var(--red)}
.carrier-diagram .diagram-caption{color:#686868}
.questions{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.questions-intro{color:#878787;font-family:var(--mono);font-size:13px}
.question-list details,.question-list details:first-child{border-color:var(--line)}
.question-list details[open]{background:linear-gradient(90deg,rgba(196,196,196,.035),transparent)}
.question-list summary>.mono,.detail-symbol{color:var(--red)}
.question-list h3{font-family:var(--mono);font-size:17px;text-transform:uppercase;letter-spacing:.01em}
.question-answer{color:#969696;border-left:1px solid #434343;margin-left:42px;font-family:var(--mono);font-size:13px}
.closing{position:relative;overflow:hidden;background-image:linear-gradient(90deg,transparent 49.9%,rgba(196,196,196,.035) 50%,transparent 50.1%)}
.closing:before{content:'END OF TRANSMISSION';position:absolute;right:64px;top:101px;color:#575757;font:11px var(--mono);letter-spacing:.13em}
.closing h2{text-transform:uppercase}.closing h2 em{color:var(--red)}
.closing-bottom p{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
@keyframes machine-spin{to{transform:rotate(360deg)}}
@keyframes machine-spin-reverse{to{transform:rotate(-360deg)}}
/* Directory */
.directory-page{background:#080808;color:#e7e7e7}
.directory-main{position:relative}
.directory-main:before{content:'PUBLIC NETWORK / READ-ONLY ACCESS';position:absolute;right:64px;top:25px;color:#565656;font:11px var(--mono);letter-spacing:.12em}
.directory-intro{border-left:1px solid #333333;padding-left:30px;position:relative}
.directory-intro:before{content:'';position:absolute;left:-2px;top:0;width:3px;height:70px;background:var(--red);box-shadow:0 0 14px rgba(216,216,216,.22)}
.directory-intro h1{font-family:var(--sans);font-weight:650;text-transform:uppercase;letter-spacing:-.07em;line-height:.85}
.directory-intro h1 em{color:var(--red)}
.directory-intro p:not(.eyebrow),.directory-coordinate{color:#808080}
.search-form label{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#959595}
.search-bar{background:#0d0d0d;border:1px solid #434343;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));box-shadow:inset 0 0 28px rgba(255,255,255,.012)}
.search-bar:focus-within{border-color:var(--red);box-shadow:0 0 0 1px #525252,inset 0 0 28px rgba(196,196,196,.02)}
.search-bar svg{color:var(--red)}
.search-bar input{color:#efefef;font-family:var(--mono);font-size:15px}
.search-bar input::placeholder{color:#5b5b5b}
.search-submit{background:var(--red);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}
.search-submit:hover{background:#797979}
.search-help,.results-heading{color:#707070;font-family:var(--mono)}
.results-heading{border-color:var(--line)}
.search-empty{border:1px solid #272727;background:linear-gradient(135deg,rgba(196,196,196,.016),transparent 40%);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.empty-index{color:var(--red)}
.search-empty p{font-family:var(--mono);font-size:28px;text-transform:uppercase;color:#8e8e8e}
.search-empty p em{color:var(--red);font-style:normal}
.search-empty>span:last-child{color:#676767;font-family:var(--mono)}
.result-row{border-color:var(--line);color:#dddddd;position:relative;padding-left:16px;padding-right:16px}
.result-row:before{content:'';position:absolute;left:0;top:50%;width:3px;height:0;background:var(--red);transform:translateY(-50%);transition:height .2s;box-shadow:0 0 10px var(--red)}
.result-row:hover{background:rgba(196,196,196,.026)}.result-row:hover:before{height:60%}
.result-initial{border-radius:0;border-color:#444444;color:var(--red);font-family:var(--mono);background:#0d0d0d;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}
.result-heading{font-family:var(--mono);font-size:22px;text-transform:uppercase;color:#e3e3e3}
.result-code{color:var(--red)}.result-meta{color:#797979}.result-arrow{color:var(--red)}
.directory-bottom{border-color:var(--line);color:#aaaaaa}.directory-bottom p span,.directory-bottom>a{color:#717171}
.profile-dialog{background:#0b0b0b;color:#eaeaea;border:1px solid #606060;box-shadow:0 0 0 1px #171717,0 0 80px rgba(196,196,196,.08),0 40px 120px #000000}
.profile-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(10px)}
.dialog-close{border-color:#535353;color:#aeaeae}.dialog-close:hover{background:var(--red);color:#ffffff}
.contact-header{background:#060606;border-bottom:1px solid #2c2c2c;position:relative;overflow:hidden}
.contact-header:before{content:'';position:absolute;right:0;top:0;width:120px;height:100%;background:repeating-linear-gradient(135deg,transparent 0,transparent 8px,rgba(196,196,196,.04) 9px,rgba(196,196,196,.04) 10px)}
.contact-header .eyebrow{color:var(--red)}
.contact-title{font-family:var(--mono);font-size:43px;font-weight:500;text-transform:uppercase;color:#efefef;position:relative}
.contact-subtitle{font-family:var(--mono);color:#717171}
.contact-fields{background:#0c0c0c}
.contact-field{border-color:#292929}
.contact-field dt{font-family:var(--mono);color:#797979;text-transform:uppercase}
.field-number{color:var(--red)}
.contact-field dd{color:#d5d5d5;font-family:var(--mono)}
.contact-field a{border-color:#585858;color:#f1f1f1}
.profile-actions{border-color:#2a2a2a;background:#0a0a0a}
.profile-actions .button{background:var(--red);color:#ffffff;border-color:var(--red)}
.copy-status{color:var(--red)}.profile-footnote,.empty-note{color:#707070}
/* Administrator */
.admin-page{background:#080808;color:#e8e8e8}
.login-section{position:relative}
.login-section:before{content:'SECURE CONSOLE // AUTHENTICATION REQUIRED';position:absolute;left:64px;top:28px;color:#565656;font:11px var(--mono);letter-spacing:.12em}
.login-philosophy h1{font-family:var(--sans);font-weight:650;text-transform:uppercase;line-height:.86}
.login-philosophy h1 em{color:var(--red)}
.login-philosophy>p:last-child{color:#7f7f7f;font-family:var(--mono);font-size:13px}
.login-panel{background:#0c0c0c;border:1px solid #393939;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));box-shadow:0 0 70px rgba(196,196,196,.035);position:relative}
.login-panel:after{content:'';position:absolute;top:0;left:0;width:88px;height:2px;background:var(--red);box-shadow:0 0 14px rgba(216,216,216,.24)}
.login-panel>.eyebrow{color:var(--red)}.login-panel h2{font-family:var(--mono);font-size:36px;text-transform:uppercase}.login-panel>p:not(.eyebrow){color:#7c7c7c}
.login-panel label{font-family:var(--mono);text-transform:uppercase;color:#a2a2a2}
.password-wrap{background:#070707;border-color:#494949}.password-wrap input{color:#efefef}.password-wrap button{color:var(--red)}
.login-button{background:var(--red);border-color:var(--red)}
.login-panel .login-note{border-color:var(--line);color:#707070!important}.setup-help{color:#7c7c7c}.setup-help code{color:#8b8b8b}
.admin-heading h1{font-family:var(--sans);font-weight:650;text-transform:uppercase;line-height:.87}.admin-heading h1 em{color:var(--red)}
.admin-overview{border-color:var(--line);background:#0b0b0b;padding-left:24px;padding-right:24px;position:relative}
.admin-overview:before{content:'';position:absolute;left:0;top:0;width:72px;height:2px;background:var(--red)}
.admin-overview>div{border-color:var(--line)}.admin-overview strong{font-family:var(--mono);color:#e8e8e8}.admin-overview span,.admin-overview p span{color:#707070}.admin-overview p{color:#a8a8a8;font-family:var(--mono)}
.admin-filter input,.admin-filter select,.publication-control select{background:#0a0a0a;border-color:#444444;color:#d1d1d1;font-family:var(--mono)}
.admin-filter input::placeholder{color:#585858}.admin-filter select{color-scheme:dark}
.admin-message{color:var(--red)}
.profile-table th{color:#717171;border-color:var(--line);font-family:var(--mono)}
.profile-table td{color:#8f8f8f;border-color:var(--line)}
.profile-table tbody tr:hover{background:rgba(196,196,196,.018)}
.table-name{font-family:var(--mono);color:#e4e4e4;text-transform:uppercase}.table-code{color:var(--red)}.table-company{color:#686868}.field-count{color:#bcbcbc}
.status-pill{border-color:#585858;color:#aeaeae;font-family:var(--mono);border-radius:0;text-transform:uppercase}
.status-pill.published{color:#c4c4c4;border-color:#5c5c5c}.status-pill.published:before{background:var(--red);box-shadow:0 0 7px var(--red)}
.status-pill.draft{color:#777777;border-color:#3a3a3a}
.table-edit{background:#0e0e0e;border-color:#424242;color:#b5b5b5;font-family:var(--mono);text-transform:uppercase}.table-edit:hover{background:#181818;border-color:#5b5b5b;color:#ffffff}
.admin-bottom>.mono,.admin-hint>.mono{color:#6e6e6e}.admin-hint{border-color:var(--red)}.admin-hint>p{color:#797979}
.editor-dialog,.confirm-dialog{background:#0a0a0a;color:#e9e9e9;border:1px solid #525252;box-shadow:0 0 100px rgba(196,196,196,.06),0 40px 120px #000000}
.editor-dialog::backdrop,.confirm-dialog::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(9px)}
.editor-top{border-color:var(--line);background:#070707}.editor-top .eyebrow,.confirm-dialog .eyebrow{color:var(--red)}.editor-top h2,.confirm-dialog h2{font-family:var(--mono);text-transform:uppercase}.editor-close{background:#0c0c0c;border-color:#454545;color:#ababab}.editor-close:hover{background:var(--red);color:#ffffff}
.publication-control,.field-column-titles{border-color:var(--line)}.publication-control label,.field-column-titles{font-family:var(--mono);text-transform:uppercase}.publication-control p{color:#6f6f6f}
.field-editor label{font-family:var(--mono);text-transform:uppercase;color:#8d8d8d}.field-editor input:not([type=checkbox]){background:#070707;border-color:#3c3c3c;color:#e0e0e0;font-family:var(--mono)}.field-editor input:not([type=checkbox])::placeholder{color:#4e4e4e}
.visibility-control .switch-track{background:#333333}.visibility-control .switch-track:after{background:#939393}.visibility-control input:checked+.switch-track{background:#545454;box-shadow:0 0 12px rgba(206,206,206,.11)}.visibility-control input:checked+.switch-track:after{background:var(--red-bright);box-shadow:0 0 7px var(--red)}
.visibility-note,.editor-preview>p{color:#6b6b6b}.editor-preview{border-color:var(--line)}.preview-heading{color:#717171}.preview-card{border-color:#3a3a3a}
.editor-bottom{background:#070707;border-color:var(--line)}.delete-button{color:#c9c9c9}.confirm-dialog>p:not(.eyebrow){color:#8c8c8c}
.error-text,.results-heading .error-text,.editor-dialog .error-text{color:#bcbcbc!important}
.status-message{color:#858585}
@media(max-width:1100px){.site-header:after{left:36px}.hero:before{left:36px}.hero:after{right:36px}.closing:before{right:36px}.directory-main:before{right:36px}.login-section:before{left:36px}}
@media(max-width:760px){
  body{background-size:40px 40px,40px 40px,100% 100%}.site-header:after{left:24px;width:82px}.wordmark{font-size:12px}.nav-directory{padding-left:18px}.hero{min-height:900px;padding-top:60px}.hero:before{left:24px;top:25px;font-size:9px}.hero:after{right:24px;top:24px}.hero h1{font-size:clamp(62px,17vw,91px);line-height:.87}.hero-art{width:100%;border-left:0;height:440px}.hero-art:after{background:linear-gradient(180deg,#070707,transparent 33%,transparent 68%,#070707),linear-gradient(90deg,rgba(7,7,7,.2),transparent 65%)}.hero-intro{font-size:11px}.hero-caption{font-size:9px}.principles article{min-height:0;padding:25px 20px}.principles article{display:grid;grid-template-columns:32px 1fr}.carrier-diagram:before{width:330px}.carrier-diagram:after{height:330px}.question-list h3{font-size:14px}.question-answer{font-size:12px}.closing:before,.directory-main:before{display:none}.directory-intro{padding-left:20px}.directory-intro h1{font-size:58px}.search-submit{font-size:11px}.result-heading{font-size:17px}.contact-title{font-size:34px}.login-section:before{left:24px;top:13px;font-size:9px}.login-philosophy h1{font-size:47px}.admin-heading h1{font-size:46px}.admin-overview{padding-left:16px;padding-right:16px}.editor-dialog{background:#0a0a0a}
}
@media(prefers-reduced-motion:reduce){.orbit-outer,.orbit-middle{animation:none}}
