:root{--bg:#08090b;--panel:#101216;--panel2:#15181d;--line:#292d33;--text:#e9e7e1;--muted:#999a9b;--dim:#656a70;--red:#e34a42;--amber:#d7b46b;--green:#78d9a5;--mono:'DM Mono',monospace;--sans:'Space Grotesk',Arial,sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:radial-gradient(900px 500px at 15% -10%,rgba(215,180,107,.08),transparent 60%),radial-gradient(800px 500px at 90% 0%,rgba(120,217,165,.05),transparent 55%),var(--bg);color:var(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 85% 70% at 50% 20%,#000 20%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 20%,#000 20%,transparent 80%)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}.noise{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.topbar{height:72px;position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100% - var(--max))/2));background:rgba(8,9,11,.91);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);font:10px var(--mono);letter-spacing:.12em}.brand{display:flex;align-items:center;gap:11px;font-weight:500;font-size:16px;letter-spacing:.04em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #5b3532;color:var(--red);font-size:11px}.red{color:var(--red)}nav{display:flex;gap:30px;color:#aaa}nav a:hover,.text-link:hover{color:var(--red)}.system-state{color:var(--muted)}.system-state i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px;box-shadow:0 0 10px #78d9a588}.hero{min-height:680px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8%;padding:90px max(28px,calc((100% - var(--max))/2)) 84px;border-bottom:1px solid var(--line)}.hero-grid{display:none}.hero-copy,.hero-side{position:relative;z-index:1}.eyebrow,.section-label,.micro,.terminal-head,.terminal-foot,.hero-index,.statusline,.label,.evidence-no,.evidence small,.file-id,.file-status,.puzzle-head,.puzzle-panel label,.progress-meta,.log-title,.discovery-log li,.footer-code{font:10px var(--mono);letter-spacing:.13em}.eyebrow{color:var(--amber);margin:0 0 24px}.statusline{color:#9a9b9d;margin:0 0 24px}.statusline b{color:#e6e1d7;font-weight:400}.statusline .green,.green{color:var(--green)}h1{font-size:clamp(64px,9.5vw,132px);line-height:.83;letter-spacing:-.085em;margin:0 0 28px;font-weight:600}h1 span{color:var(--red)}.hero-sub{font-size:18px;color:#b9b7b2;line-height:1.65}.hero-symbol{display:flex;align-items:center;gap:18px;width:max-content;margin:34px 0 30px;padding:12px 18px;border:1px solid #47302f;background:#120f10;cursor:pointer;transition:.2s}.hero-symbol:hover{border-color:var(--red);transform:translateX(4px)}.hero-symbol span{font:30px var(--mono);color:var(--red)}.hero-symbol small{font:9px var(--mono);letter-spacing:.1em;color:#858080}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;padding:0 18px;border:1px solid #44484d;background:transparent;color:var(--text);font:10px var(--mono);letter-spacing:.1em;cursor:pointer;transition:.2s}.button:hover{border-color:var(--red);color:#fff;transform:translateY(-2px)}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.primary:hover{background:#f05a50}.button.outline{border-color:#5b4542}.text-link{font:10px var(--mono);letter-spacing:.1em;color:#aaa}.micro{font-size:9px;color:var(--dim);margin-top:22px}.hero-side{border:1px solid #3b3332;background:#0b0d10;box-shadow:0 24px 90px #0008;transform:rotate(1deg)}.terminal-head,.terminal-foot{display:flex;justify-content:space-between;padding:15px 18px;color:#858585;background:#111418;border-bottom:1px solid var(--line)}.terminal-head .blink{color:var(--green)}.terminal-body{padding:30px 24px;min-height:280px;font:12px/2 var(--mono);color:#c9c5bd}.terminal-body p{margin:0}.terminal-body .dim{color:#656b70}.terminal-body .warn{color:var(--amber)}.terminal-body .red{color:var(--red)}.symbol-small{color:var(--red)}.terminal-cursor{color:var(--red);animation:blink 1s steps(2,start) infinite}.terminal-foot{border-top:1px solid var(--line);border-bottom:0;font-size:9px}.hero-index{position:absolute;bottom:24px;left:max(28px,calc((100% - var(--max))/2));color:#666}.hero-index span{color:var(--red)}@keyframes blink{to{visibility:hidden}}.ticker-strip{height:42px;display:flex;align-items:center;justify-content:space-around;gap:18px;overflow:hidden;white-space:nowrap;background:#111214;border-bottom:1px solid var(--line);color:#777;font:9px var(--mono);letter-spacing:.16em}.ticker-strip b{color:var(--red);font-weight:400}.section{max-width:var(--max);margin:auto;padding:100px 0;border-bottom:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;gap:20px;color:var(--amber);padding-bottom:18px;border-bottom:1px solid var(--line)}.section-label span+span{color:#686c70}.incident-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:62px 0 50px}.section h2{font-size:clamp(42px,6vw,76px);line-height:.96;letter-spacing:-.065em;margin:0;font-weight:600}.section h2 em{font-style:normal;color:var(--red)}.story-copy{max-width:540px;color:#aaa}.story-copy strong{color:#eee}.classified-stamp{display:flex;justify-content:space-between;align-items:center;margin:25px 0;padding:14px 17px;border:1px solid #74403c;color:var(--red);font:15px var(--mono);letter-spacing:.12em;transform:rotate(-1deg)}.classified-stamp span{font-size:9px;color:#9b6a65}.big-line{font:18px var(--mono);color:var(--text);letter-spacing:.08em}.evidence-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.evidence{padding:20px 24px;border-right:1px solid var(--line)}.evidence:last-child{border:0}.evidence-no{display:block;color:#777;margin-bottom:14px}.evidence strong{display:block;font:30px var(--mono);color:#e4e0d7}.evidence small{display:block;color:#74777a;font-size:8px;margin-top:7px}.symbol-section{position:relative;overflow:hidden;min-height:620px;padding-top:40px}.symbol-backdrop{position:absolute;right:-20px;top:90px;font:clamp(170px,30vw,380px)/1 var(--mono);color:#ffffff06;letter-spacing:-.14em;pointer-events:none}.symbol-content{position:relative;max-width:620px;padding:90px 0 20px}.symbol-content>p:not(.eyebrow){max-width:460px;color:#aaa}.symbol-quote{padding-left:18px;border-left:2px solid var(--red);font:italic 16px var(--sans);color:#ded9d1!important;margin:28px 0}.symbol-content .micro{margin-top:15px}.archive-section{max-width:none;padding-left:max(28px,calc((100% - var(--max))/2));padding-right:max(28px,calc((100% - var(--max))/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:56px 0 42px}.section-heading>p{max-width:350px;color:#8c9092;margin:0 0 5px}.file-list{border-top:1px solid var(--line)}.file-row{width:100%;display:grid;grid-template-columns:130px 1fr 150px;align-items:center;gap:20px;text-align:left;padding:23px 20px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;transition:.2s}.file-row.available:hover{background:#161719}.file-row.locked{opacity:.45;cursor:not-allowed}.file-id{color:var(--red)}.file-title{font-size:16px}.file-title small{display:block;color:#777;font:10px var(--mono);margin-top:4px}.file-status{text-align:right;color:var(--green);font-size:9px}.locked .file-status{color:#777}.file-status b{margin-left:12px;font-size:16px}.file-reader{margin-top:22px;border:1px solid #57403d;background:#0c0e11}.reader-top{display:flex;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line);font:10px var(--mono);color:var(--amber)}.reader-top button,.modal-close{border:0;background:none;color:#aaa;font-size:23px;cursor:pointer}.reader-content{padding:28px;max-width:760px;color:#bdbab2}.reader-content h3{font-size:26px;color:#eee;margin:5px 0 16px}.reader-content .reader-code{display:inline-block;padding:12px 16px;border:1px solid #51403d;color:var(--red);font:18px var(--mono);letter-spacing:.12em}.investigation-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding:62px 0}.muted{color:#898d90}.progress-wrap{margin-top:40px}.progress-meta{display:flex;justify-content:space-between;color:#858585}.progress-meta strong{color:var(--amber)}.progress-track{height:4px;background:#282b2e;margin-top:12px}.progress-track span{display:block;width:0;height:100%;background:var(--red);transition:width .4s}.puzzle-panel{padding:25px;border:1px solid #37393b;background:linear-gradient(145deg,#151619,#0e1012)}.puzzle-head{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);color:#777}.puzzle-prompt{color:#b8b6b0;margin:24px 0}.cipher{padding:18px;background:#090a0c;border:1px dashed #35383c;text-align:center;font:18px var(--mono);letter-spacing:.2em;color:#8a8d8f;margin:20px 0}.cipher b{color:var(--red)}.puzzle-panel label{display:block;color:#888;margin:22px 0 9px}.answer-row{display:flex;gap:8px}.answer-row input{min-width:0;flex:1;background:#08090b;border:1px solid #36393d;padding:0 13px;color:#eee;font:11px var(--mono);letter-spacing:.08em}.answer-row input:focus{outline:1px solid var(--red)}.terminal-feedback{font:10px var(--mono);color:var(--amber);min-height:20px;margin:14px 0}.hint-toggle,.reset-link{border:0;background:none;color:#858585;font:9px var(--mono);letter-spacing:.1em;cursor:pointer;padding:0}.hint-toggle:hover,.reset-link:hover{color:var(--red)}.hint{color:#a8a19a;font-size:13px}.discovery-log{border:1px solid var(--line);padding:20px 22px}.log-title{display:flex;justify-content:space-between;color:#c2bdb4}.log-title span{color:#666}.discovery-log ul{list-style:none;margin:16px 0;padding:0}.discovery-log li{padding:10px 0;border-top:1px solid #22262a;color:#a4aaa9;font-size:9px}.discovery-log li.empty-log{color:#64686b}.reward-section{max-width:none;padding-left:max(28px,calc((100% - var(--max))/2));padding-right:max(28px,calc((100% - var(--max))/2))}.reward-panel{display:grid;grid-template-columns:1fr 280px;gap:60px;align-items:center;padding:55px 0}.reward-panel>div:first-child{max-width:640px}.reward-panel p:not(.eyebrow){color:#999}.reward-side{display:flex;flex-direction:column;align-items:flex-start;padding:25px;border:1px solid #493532;background:#100d0e}.lock-icon{font:44px var(--mono);color:var(--red)}.reward-side strong{font:13px var(--mono);margin:15px 0 7px}.reward-side small{font:9px var(--mono);color:var(--amber)}.token-section{padding-bottom:90px}.token-stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin:15px 0 25px}.token-stats>div{padding:18px;border-right:1px solid var(--line)}.token-stats>div:last-child{border:0}.token-stats small,.mint-box small{display:block;font:9px var(--mono);color:#73777a;letter-spacing:.1em}.token-stats strong{display:block;font:26px var(--mono);margin:10px 0 4px}.token-stats span{font-size:10px;color:#888}.mint-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);background:#101215}.mint-box code{display:block;margin-top:7px;font:11px var(--mono);overflow-wrap:anywhere}.token-links{display:flex;gap:25px;margin-top:22px;font:10px var(--mono);letter-spacing:.1em;color:var(--amber)}.token-links a:hover{color:#fff}footer{max-width:var(--max);margin:auto;padding:35px 0 50px;display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}footer>p{margin:0;color:#85898c;font:10px var(--mono);letter-spacing:.08em}.disclaimer{grid-column:1/-1;max-width:850px;line-height:1.8;color:#666;font:11px var(--sans)}.footer-code{grid-column:1/-1;color:#5e6265}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#000c;backdrop-filter:blur(8px)}.modal[hidden]{display:none}.modal-card{position:relative;width:min(460px,100%);padding:35px;border:1px solid #68403c;background:#101114;box-shadow:0 25px 90px #000}.modal-close{position:absolute;right:16px;top:12px}.modal-card h2{font-size:32px;margin:0 0 20px}.modal-symbol{font:70px var(--mono);color:var(--red);padding:10px 0}.modal-card code{color:var(--amber)}.toast{position:fixed;bottom:25px;left:50%;z-index:30;transform:translate(-50%,20px);padding:11px 18px;border:1px solid #60403c;background:#141416;color:#eee;font:10px var(--mono);opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.topbar{padding:0 22px}nav{gap:14px}.system-state{display:none}.hero{padding:70px 28px;grid-template-columns:1fr;gap:45px}.hero-side{max-width:620px}.hero-index{left:28px}.section{padding:75px 28px}.archive-section,.reward-section{padding-left:28px;padding-right:28px}.token-stats{grid-template-columns:repeat(3,1fr)}.token-stats>div:nth-child(3){border-right:0}.token-stats>div:nth-child(-n+3){border-bottom:1px solid var(--line)}footer{margin:0 28px}}
@media(max-width:620px){.topbar{height:62px}.topbar nav{display:none}nav{display:none}.hero{padding:65px 22px 78px}.hero-index{left:22px}.hero-sub{font-size:16px}.hero-symbol{gap:10px}.hero-symbol span{font-size:24px}.hero-symbol small{font-size:8px}.section{padding:62px 22px}.section-label{font-size:8px}.section-label span+span{max-width:45%;text-align:right}.incident-layout,.investigation-grid{grid-template-columns:1fr;gap:35px}.evidence-row{grid-template-columns:1fr}.evidence{border-right:0;border-bottom:1px solid var(--line)}.evidence:last-child{border-bottom:0}.section-heading{display:block;padding:40px 0 28px}.section-heading>p{margin-top:22px}.file-row{grid-template-columns:80px 1fr;gap:10px;padding:18px 12px}.file-status{grid-column:2;text-align:left}.archive-section,.reward-section{padding-left:22px;padding-right:22px}.answer-row{flex-direction:column}.answer-row input{min-height:46px}.reward-panel{grid-template-columns:1fr;gap:25px;padding:40px 0}.reward-side{max-width:340px}.token-stats{grid-template-columns:repeat(2,1fr)}.token-stats>div,.token-stats>div:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.token-stats>div:nth-child(2n){border-right:0}.token-stats>div:last-child{border-bottom:0}.mint-box{align-items:flex-start;flex-direction:column}.token-links{flex-wrap:wrap;gap:16px}footer{margin:0 22px;grid-template-columns:1fr}.disclaimer,.footer-code{grid-column:1}.footer-code{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.topbar-actions{display:flex;align-items:center;gap:16px}
.buy-now{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;background:var(--red);border:1px solid var(--red);color:#fff;font:10px var(--mono);letter-spacing:.12em;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.buy-now:hover,.buy-now:focus-visible{background:#f05a50;border-color:#f05a50;transform:translateY(-1px);box-shadow:0 0 0 4px rgba(227,74,66,.12);outline:none}
.buy-now svg{width:13px;height:13px;flex:none}
@media(max-width:620px){.buy-now{min-height:32px;padding:0 10px;font-size:9px}.buy-now svg{width:11px;height:11px}}
.chart-link{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid #44484d;color:#bbb;font:10px var(--mono);letter-spacing:.12em;white-space:nowrap;transition:border-color .2s,color .2s,transform .2s}
.chart-link:hover,.chart-link:focus-visible{border-color:var(--red);color:#fff;transform:translateY(-1px);outline:none}
.chart-link svg{width:12px;height:12px;flex:none}
@media(max-width:720px){nav{display:none}.topbar-actions{gap:10px}}
@media(max-width:620px){.chart-link{min-height:32px;padding:0 9px;font-size:9px}.chart-link svg{width:10px;height:10px}}

/* --- SCOPED BACKEND ARCHIVE & CONTROL ROOM STYLES (.wrap) --- */
:root {
  --line-strong: #3a4048;
  --panel-2: #15181d;
}
.skip {
  position: absolute;
  left: -9999px;
  top: 12px;
  z-index: 50;
  padding: 10px 14px;
  background: var(--red);
  color: #fff;
  font: 11px var(--mono);
}
.skip:focus { left: 12px; }
.wrap .archive-section {
  max-width: var(--max);
  margin: 0 auto;
  padding: 48px 28px 80px;
}
.wrap .eyebrow {
  margin: 0 0 10px;
  font: 11px var(--mono);
  letter-spacing: 0.16em;
  color: var(--red);
  text-transform: uppercase;
}
.wrap .lede {
  max-width: 68ch;
  color: var(--muted);
  font-size: 16px;
  margin-bottom: 24px;
}
.wrap .fine {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.wrap .mono {
  font-family: var(--mono);
}
.wrap .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border: 1px solid var(--line-strong);
  background: var(--panel);
  color: var(--text);
  font: 11px var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
}
.wrap .btn:hover {
  border-color: var(--red);
  color: #fff;
}
.wrap .btn.primary {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.wrap .btn.primary:hover {
  background: #f05a50;
  border-color: #f05a50;
}
.wrap .btn.ghost {
  background: transparent;
  color: var(--muted);
}
.wrap .stats {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin: 28px 0;
}
.wrap .stat {
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--panel);
  display: grid;
  gap: 6px;
}
.wrap .stat-label {
  font: 10px var(--mono);
  letter-spacing: 0.14em;
  color: var(--dim);
}
.wrap .stat strong {
  font: 24px var(--mono);
  color: var(--text);
}
.wrap .stat-note {
  font-size: 12px;
  color: var(--muted);
}
.nav-form {
  display: inline;
  margin: 0;
}
.nav-button {
  background: none;
  border: 0;
  padding: 0;
  color: var(--muted);
  font: 11px var(--mono);
  letter-spacing: 0.12em;
  cursor: pointer;
}
.nav-button:hover {
  color: var(--red);
}
.archive-title {
  font-size: clamp(28px, 6vw, 44px);
  letter-spacing: 0.06em;
  margin: 8px 0 16px;
}

.auth-form {
  display: grid;
  gap: 16px;
  margin: 24px 0;
}

.field {
  display: grid;
  gap: 6px;
}

.field-label {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--dim);
}

.field-input {
  background: var(--panel);
  border: 1px solid var(--line);
  color: var(--text);
  padding: 12px 14px;
  font: inherit;
  border-radius: 2px;
}

.field-input:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 1px;
  border-color: var(--line-strong);
}

.field-hint {
  color: var(--dim);
  font-size: 13px;
}

.field-check {
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
  font-size: 14px;
  color: var(--muted);
}

.field-errors {
  list-style: none;
  margin: 0;
  padding: 12px 16px;
  border-left: 2px solid var(--red);
  background: rgba(255, 122, 122, 0.06);
  color: var(--red);
  font-family: var(--mono);
  font-size: 13px;
}

.archive-notice {
  margin: 16px 0;
  padding: 12px 16px;
  border-left: 2px solid var(--amber);
  background: rgba(255, 200, 87, 0.06);
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 0.04em;
}

.archive-notice[data-kind="dev"] {
  border-left-color: var(--dim);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
}

.wallet-panel {
  margin: 32px 0;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--panel);
  display: grid;
  gap: 12px;
  justify-items: start;
}

.wallet-panel h2 {
  margin: 0;
  font-size: 20px;
  letter-spacing: 0.05em;
}

.wallet-address {
  color: var(--amber);
  margin: 0;
}

.wallet-status {
  margin: 0;
  min-height: 1.4em;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--dim);
  letter-spacing: 0.06em;
}

.wallet-status[data-kind="error"] {
  color: var(--red);
}

.wallet-status[data-kind="ok"] {
  color: var(--green);
}

.balance-block {
  display: grid;
  gap: 4px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  width: 100%;
}

.balance-value {
  font-family: var(--mono);
  font-size: 30px;
  color: var(--text);
}

.archive-stats {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin: 32px 0;
}

.archive-pending {
  margin-top: 32px;
  padding: 24px;
  border: 1px dashed var(--line-strong);
  background: rgba(255, 255, 255, 0.02);
}

.break {
  overflow-wrap: anywhere;
}

/* ---------------------------------------------------------------------
   The archive list, file pages, and the archivist terminal
   --------------------------------------------------------------------- */

.archive-group {
  margin-top: 40px;
}

.archive-group-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.archive-group-title {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--amber);
}

.file-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.file-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.02);
}

.file-card h3 {
  margin: 0;
  font-size: 16px;
}

.file-card h3 a {
  color: var(--text);
  text-decoration: none;
}

.file-card h3 a:hover {
  color: var(--amber);
}

.file-index {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--muted);
}

.file-teaser {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}

.file-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0;
  font-size: 11px;
  color: var(--muted);
}

.status-chip {
  padding: 2px 8px;
  border: 1px solid var(--line-strong);
  font-size: 10px;
  letter-spacing: 0.14em;
}

.status-chip[data-state="open"] {
  color: var(--green);
  border-color: rgba(80, 200, 120, 0.4);
}

.status-chip[data-state="locked"] {
  color: var(--amber);
  border-color: rgba(255, 200, 87, 0.4);
}

.status-chip[data-state="completed"] {
  color: var(--green);
  border-color: var(--line-strong);
}

.status-chip[data-state="draft"],
.status-chip[data-state="archived"] {
  color: var(--muted);
}

.briefing {
  margin: 32px 0;
  padding-left: 18px;
  border-left: 2px solid var(--line-strong);
}

/* Free text is escaped by the template; pre-wrap keeps the archivist's line
   breaks without ever letting markup through. */
.briefing-body {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-wrap;
  color: var(--muted);
}

.checklist {
  display: grid;
  gap: 10px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}

.check-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
}

.check-mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 20px;
  height: 20px;
  border: 1px solid var(--line-strong);
  font-size: 11px;
}

.check-item[data-ok="yes"] .check-mark {
  color: var(--green);
  border-color: rgba(80, 200, 120, 0.5);
}

.check-item[data-ok="no"] .check-mark {
  color: var(--red);
  border-color: rgba(220, 80, 80, 0.5);
}

/* Per-file reward conditions. A condition is one partner task; the four
   data-state values are the only states the server can produce. Green is
   reserved for the verified state, which only an archivist review sets. */
.requirements-panel {
  margin: 32px 0;
  padding: 20px 22px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.requirements {
  display: grid;
  gap: 12px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.requirement-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border: 1px solid var(--line);
  background: var(--panel-2, var(--panel));
}

.requirement-mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 26px;
  height: 26px;
  border: 1px solid var(--line-strong);
  font-family: var(--mono);
  font-size: 13px;
}

.requirement-item[data-state="verified"] .requirement-mark {
  color: var(--green);
  border-color: rgba(80, 200, 120, 0.6);
  background: rgba(80, 200, 120, 0.08);
}

.requirement-item[data-state="pending"] .requirement-mark {
  color: var(--amber);
  border-color: rgba(255, 200, 87, 0.5);
  background: rgba(255, 200, 87, 0.07);
}

.requirement-item[data-state="rejected"] .requirement-mark,
.requirement-item[data-state="missing"] .requirement-mark {
  color: var(--red);
  border-color: rgba(227, 74, 66, 0.6);
  background: rgba(227, 74, 66, 0.07);
}

.requirement-body {
  flex: 1;
  min-width: 0;
}

.requirement-title {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin: 0;
  font-size: 13px;
}

.requirement-state {
  padding: 2px 8px;
  border: 1px solid var(--line-strong);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--muted);
}

.requirement-item[data-state="verified"] .requirement-state {
  color: var(--green);
  border-color: rgba(80, 200, 120, 0.4);
}

.requirement-item[data-state="pending"] .requirement-state {
  color: var(--amber);
  border-color: rgba(255, 200, 87, 0.4);
}

.requirement-item[data-state="rejected"] .requirement-state,
.requirement-item[data-state="missing"] .requirement-state {
  color: var(--red);
  border-color: rgba(227, 74, 66, 0.4);
}

.requirement-target {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 10px 0 0;
}

.requirement-note {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}

.requirement-note.ok { color: var(--green); }
.requirement-note.wait { color: var(--amber); }
.requirement-note.bad { color: var(--red); }

.requirement-proof {
  display: grid;
  gap: 10px;
  max-width: 420px;
  margin-top: 12px;
}

.staking-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line-strong);color:var(--muted);transition:border-color .2s,color .2s,transform .2s}
.staking-icon:hover,.staking-icon:focus-visible{border-color:var(--red);color:var(--text);transform:translateY(-1px);outline:none}
.staking-icon svg{width:16px;height:16px}
/* --- STAKING PROMO (hero, beside the headline) --- */
.hero-terminal{position:relative;z-index:1;border:1px solid #3b3332;background:#0b0d10;box-shadow:0 24px 90px #0008;transform:rotate(1deg);margin-top:46px}
html[data-theme="light"] .hero-terminal{border-color:var(--line-strong)}
.staking-hero-side{background:transparent;border:none;box-shadow:none;transform:none;max-width:none;align-self:start;padding-top:48px}
.staking-hero-promo{text-align:left}
.staking-hero-promo .staking-apy-big{font-size:clamp(88px,9vw,150px);line-height:.85;margin:0}
.staking-hero-promo .staking-apy-small{margin:14px 0 0;font-size:11px;letter-spacing:.3em}
.staking-hero-promo .staking-lock{margin:10px 0 0;font-size:10px}
.staking-hero-promo .coming-soon-stamp{display:inline-flex;gap:16px;margin:22px 0 0;padding:12px 20px;font-size:12px;border-width:1px;letter-spacing:.26em;transform:rotate(-1.2deg);background:var(--red);border-color:var(--red);color:#fff;font-weight:700}
.staking-hero-btn{display:inline-block;margin-top:20px}
@keyframes stakePulse{0%,100%{box-shadow:0 0 0 rgba(227,74,66,.0)}50%{box-shadow:0 0 22px rgba(227,74,66,.35)}}

/* --- STAKING SECTION (homepage, centered centerpiece) --- */
.staking-section{padding:110px 28px;text-align:center;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.staking-section .section-label{justify-content:center}
.staking-center{max-width:900px;margin:0 auto}
.staking-apy-big{margin:0;font-family:'Arial Black','Space Grotesk','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:clamp(120px,24vw,300px);line-height:.82;letter-spacing:-.03em;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:4px var(--text)}
.staking-apy-big span{font-family:var(--mono);font-weight:700;font-size:.4em;color:var(--red);-webkit-text-fill-color:var(--red);-webkit-text-stroke:0}
.staking-apy-small{margin:18px 0 0;font:clamp(13px,2vw,18px) var(--mono);letter-spacing:.42em;color:var(--muted);text-transform:uppercase}
.staking-lock{margin:10px 0 0;font:11px var(--mono);letter-spacing:.2em;color:var(--dim);text-transform:uppercase}
.coming-soon-stamp{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;margin:34px auto 0;padding:18px 30px;border:2px solid var(--red);background:var(--red);color:#fff;font:clamp(14px,2vw,18px) var(--mono);font-weight:700;letter-spacing:.3em;text-transform:uppercase;transform:rotate(-1.2deg)}
.coming-soon-stamp span:last-child{font-size:10px;letter-spacing:.2em;opacity:.8}
.staking-note{margin:26px auto 0;max-width:560px;color:var(--muted);font-size:14px;line-height:1.7}
@media(max-width:620px){.staking-section{padding:70px 22px}.coming-soon-stamp{flex-direction:column;gap:8px;letter-spacing:.22em}}

/* --- STAKING SECTION (homepage) end --- */
.sign-in-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line-strong);color:var(--muted);transition:border-color .2s,color .2s,transform .2s}
.sign-in-icon:hover,.sign-in-icon:focus-visible{border-color:var(--red);color:#fff;transform:translateY(-1px);outline:none}
.sign-in-icon svg{width:16px;height:16px}

.admin-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 28px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  background: rgba(255, 200, 87, 0.04);
}

.admin-id {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.admin-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.admin-nav a {
  color: var(--text);
  text-decoration: none;
}

.admin-nav a:hover,
.admin-nav a[aria-current="page"] {
  color: var(--amber);
}

.admin-panel {
  margin-top: 32px;
  padding: 20px;
  border: 1px solid var(--line);
}

.admin-table {
  width: 100%;
  margin-top: 12px;
  border-collapse: collapse;
  font-size: 12px;
}

.admin-table th {
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-align: left;
  color: var(--muted);
}

.admin-table td {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.admin-table tr:last-child td {
  border-bottom: none;
}

.admin-table a {
  color: var(--amber);
}

.admin-form {
  display: grid;
  gap: 18px;
  max-width: 760px;
  margin: 24px 0;
}

.field-row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
}

.compact-form {
  max-width: 520px;
  margin-top: 8px;
}

/* A grid stretches its children, and a stretched button reads as a banner
   rather than an action. Actions size to their label; fields keep the width. */
.admin-form > .btn {
  justify-self: start;
}

.inline-form {
  display: inline;
}

.upload-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin-top: 18px;
}

textarea.field-input {
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.6;
  resize: vertical;
}

@media (max-width: 640px) {
  .archive-nav {
    gap: 12px;
    font-size: 11px;
  }

  .wallet-panel {
    padding: 18px;
  }

  .admin-bar {
    flex-direction: column;
  }

  .file-grid {
    grid-template-columns: 1fr;
  }

  .admin-table {
    display: block;
    overflow-x: auto;
  }
}

/* ==================================================================== */
/* THE MYSTERY LAYER                                                      */
/* ==================================================================== */

.mystery-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 14px 0 0;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--red, #c1121f);
}

.mystery-status span + span::before {
  content: " / ";
  color: var(--muted);
}

.mystery-quote {
  margin: 18px 0;
  padding: 0 0 0 16px;
  border-left: 2px solid var(--red, #c1121f);
  font-family: var(--mono);
  font-size: 15px;
  letter-spacing: 0.06em;
  color: var(--text, #e8e6e3);
}

.mystery-teaser {
  margin-top: 22px;
  padding: 14px;
  border: 1px dashed rgba(193, 18, 31, 0.55);
  background: rgba(193, 18, 31, 0.05);
}

.glyph {
  font-family: var(--mono);
  font-size: 26px;
  letter-spacing: 0.02em;
  color: var(--red, #c1121f);
  background: transparent;
  border: 1px solid rgba(193, 18, 31, 0.6);
  padding: 8px 14px;
  cursor: pointer;
  border-radius: 2px;
  opacity: 0.55;
  transition: opacity 160ms ease, box-shadow 160ms ease;
}

.glyph:hover,
.glyph:focus-visible {
  opacity: 1;
  box-shadow: 0 0 0 1px rgba(193, 18, 31, 0.7), 0 0 18px rgba(193, 18, 31, 0.25);
  outline: none;
}

.glyph.is-locked {
  opacity: 0.35;
}

.glyph-inline {
  display: inline-block;
  font-size: 20px;
  padding: 2px 6px;
}

.redacted {
  font-family: var(--mono);
  background: rgba(193, 18, 31, 0.12);
  border: 1px solid rgba(193, 18, 31, 0.45);
  color: transparent;
  text-shadow: none;
  border-radius: 2px;
  padding: 2px 8px;
  cursor: pointer;
}

.redacted:hover,
.redacted:focus-visible {
  background: rgba(193, 18, 31, 0.28);
  outline: none;
}

.redacted .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.mystery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 26px 0 8px;
}

.mystery-card {
  background: var(--panel);
  border: 1px solid var(--line, #1c232b);
  padding: 18px;
}

.mystery-card h3 {
  margin: 10px 0 8px;
  font-family: var(--mono);
  letter-spacing: 0.12em;
  font-size: 15px;
}

.mystery-card p {
  margin: 0;
}

.mystery-card .file-meta {
  margin-top: 14px;
}

/* recovered documents */

.document {
  background: var(--panel);
  border: 1px solid var(--line, #1c232b);
  padding: 20px 22px;
  margin: 18px 0;
}

.document-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--line, #1c232b);
  padding-bottom: 10px;
  margin-bottom: 16px;
}

.document-head .mono {
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--muted);
}

.stamp-inline {
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--red, #c1121f);
  border: 1px solid rgba(193, 18, 31, 0.6);
  padding: 3px 8px;
  border-radius: 2px;
}

.document-body {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.7;
  color: var(--text, #e8e6e3);
}

.clue-reveal {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(193, 18, 31, 0.55);
  background: rgba(193, 18, 31, 0.06);
}

.terminal-line {
  margin: 18px 0 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.terminal-cursor {
  display: inline-block;
  width: 8px;
  height: 14px;
  margin-left: 2px;
  background: var(--red);
  vertical-align: text-bottom;
  animation: terminal-blink 1.1s steps(1, end) infinite;
}

@keyframes terminal-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* progress */

.progress {
  margin: 22px 0;
}

.progress-track {
  height: 4px;
  background: var(--panel-2, #131920);
  border: 1px solid var(--line, #1c232b);
}

.progress-fill {
  display: block;
  height: 100%;
  background: var(--red, #c1121f);
  transition: width 400ms ease;
}

.progress-label {
  margin: 8px 0 0;
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--muted);
}

/* clues */

.clue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
}

.clue-card {
  background: var(--panel);
  border: 1px solid var(--line, #1c232b);
  padding: 18px;
}

.clue-card h3 {
  margin: 10px 0 8px;
  font-family: var(--mono);
  letter-spacing: 0.1em;
  font-size: 14px;
}

/* evidence list on the investigation hub */

.evidence-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.evidence-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid var(--line, #1c232b);
}

.evidence-row:last-child {
  border-bottom: 0;
}

.evidence-row a {
  font-family: var(--mono);
  letter-spacing: 0.08em;
  font-size: 13px;
}

/* chapters */

.chapter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}

.chapter-card {
  background: var(--panel);
  border: 1px solid var(--line, #1c232b);
  padding: 18px;
}

.chapter-card h3 {
  margin: 10px 0 8px;
  font-family: var(--mono);
  letter-spacing: 0.1em;
  font-size: 14px;
}

.chapter-card.is-locked {
  opacity: 0.72;
}

/* answers, puzzles, sealed panels */

.answer-reveal {
  font-family: var(--mono);
  background: var(--panel-2, #131920);
  border: 1px solid var(--line, #1c232b);
  padding: 12px;
  white-space: pre-wrap;
}

.puzzle-text {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.7;
}

.sealed-panel {
  border: 1px solid rgba(193, 18, 31, 0.55);
  background: rgba(193, 18, 31, 0.05);
  padding: 26px;
}

.sealed-panel h2 {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  font-size: 18px;
}

.classification {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--red, #c1121f);
  border: 1px solid rgba(193, 18, 31, 0.6);
  padding: 2px 6px;
}

.filter-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}

.filter-nav a {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  padding: 6px 10px;
  border: 1px solid var(--line, #1c232b);
}

.filter-nav a[aria-current="page"] {
  border-color: rgba(193, 18, 31, 0.7);
  color: var(--red, #c1121f);
}

/* timeline */

.timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.timeline li {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line, #1c232b);
}

.timeline li:last-child {
  border-bottom: 0;
}

/* responsive */

@media (max-width: 860px) {
  .mystery-grid {
    grid-template-columns: 1fr;
  }

  .mystery-status {
    font-size: 10px;
  }
}


/* ==================================================================== */
/* THEME SWITCH — NIGHT MODE (default) / NORMAL MODE (light dossier)     */
/* ==================================================================== */

.theme-toggle{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid #44484d;background:transparent;color:#bbb;font:10px var(--mono);letter-spacing:.12em;white-space:nowrap;cursor:pointer;transition:border-color .2s,color .2s,transform .2s}
.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--red);color:#fff;transform:translateY(-1px);outline:none}
.theme-toggle span[aria-hidden]{font-size:12px;line-height:1}
@media(max-width:620px){.theme-toggle{min-height:32px;padding:0 9px;font-size:9px}.theme-toggle span[aria-hidden]{font-size:10px}}

/* Normal (light) mode: the same declassified-dossier aesthetic, inverted.
   Everything is driven by the custom properties, so one override block
   re-skins the homepage, the archive, and the Control Room together. */
html[data-theme="light"]{
  --bg:#f4f1ea;--panel:#faf8f2;--panel2:#efeadf;--line:#d8d2c4;--text:#1c1a17;--muted:#5c564b;--dim:#8a8272;--red:#b3271e;--amber:#8a6a1f;--green:#1e7a4f;
  --line-strong:#b9b2a2;--panel-2:#efeadf;
}
html[data-theme="light"] body{background:radial-gradient(900px 500px at 15% -10%,rgba(138,106,31,.07),transparent 60%),radial-gradient(800px 500px at 90% 0%,rgba(30,122,79,.05),transparent 55%),var(--bg)}
html[data-theme="light"] body::before{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px)}
html[data-theme="light"] .topbar{background:rgba(244,241,234,.92);border-bottom:1px solid var(--line)}
html[data-theme="light"] .noise{opacity:.02}
html[data-theme="light"] ::selection{background:var(--amber);color:#f4f1ea}
html[data-theme="light"] .skip{background:var(--red);color:#fff}
html[data-theme="light"] a:hover{color:var(--red)}
html[data-theme="light"] .theme-toggle,html[data-theme="light"] .chart-link{border-color:#b9b2a2;color:#5c564b}
html[data-theme="light"] .theme-toggle:hover,html[data-theme="light"] .chart-link:hover{border-color:var(--red);color:#b3271e}

/* ==================================================================== */
/* MOBILE BOTTOM NAV BAR (phones) - links on top, BUY F106 NOW below    */
/* ==================================================================== */

.mobile-nav{display:none}

@media(max-width:720px){
  /* The blanket 'nav{display:none}' rule above also hides the Control Room
     nav on phones. Un-hide it: the terminal must stay usable on mobile. */
  nav.admin-nav{display:flex}

  nav.mobile-nav{
    display:flex;flex-direction:column;gap:8px;
    position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:rgba(8,9,11,.96);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    border-top:1px solid var(--line);
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
  }
  .mobile-nav-links{
    display:flex;gap:2px;align-items:center;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .mobile-nav-links::-webkit-scrollbar{display:none}
  .mobile-nav-links a{
    flex:none;padding:9px 11px;
    font:10px var(--mono);letter-spacing:.12em;
    color:#aaa;border:1px solid transparent;white-space:nowrap;
  }
  .mobile-nav-links a:hover,.mobile-nav-links a:focus-visible{color:var(--red);outline:none}
  .mobile-nav .buy-now{width:100%;justify-content:center;min-height:42px}
  body{padding-bottom:132px}
}

@media(max-width:620px){
  .mobile-nav-links a{padding:8px 9px;font-size:9px}
  body{padding-bottom:124px}
}

html[data-theme="light"] nav.mobile-nav{
  background:rgba(244,241,234,.96);
  border-top:1px solid var(--line);
}
html[data-theme="light"] .mobile-nav-links a{color:#5c564b}
html[data-theme="light"] .mobile-nav-links a:hover,html[data-theme="light"] .mobile-nav-links a:focus-visible{color:#b3271e}

/* Normal (light) mode readability: the base story stylesheet was written for
   a dark page, so text that sat on the dark background needs its light-mode
   counterpart. Inset "terminal" panels stay dark on purpose. */
html[data-theme="light"] nav{color:var(--muted)}
html[data-theme="light"] .statusline{color:var(--muted)}
html[data-theme="light"] .statusline b{color:var(--text)}
html[data-theme="light"] .hero-sub{color:var(--muted)}
html[data-theme="light"] .text-link{color:var(--muted)}
html[data-theme="light"] .story-copy{color:var(--muted)}
html[data-theme="light"] .story-copy strong{color:var(--text)}
html[data-theme="light"] .evidence strong{color:var(--text)}
html[data-theme="light"] .symbol-content>p:not(.eyebrow){color:var(--muted)}
html[data-theme="light"] .symbol-quote{color:var(--text)!important}
html[data-theme="light"] .section-heading>p{color:var(--muted)}
html[data-theme="light"] .file-row.available:hover{background:var(--panel-2)}
html[data-theme="light"] .log-title{color:var(--text)}
html[data-theme="light"] .discovery-log li{color:var(--muted);border-top-color:var(--line)}
html[data-theme="light"] .reward-panel p:not(.eyebrow){color:var(--muted)}
html[data-theme="light"] .reward-side{background:var(--panel);border-color:var(--line)}
html[data-theme="light"] .reward-side strong{color:var(--text)}
html[data-theme="light"] .mint-box{background:var(--panel);border-color:var(--line)}
html[data-theme="light"] .modal-card{background:var(--panel);border-color:var(--line-strong)}
html[data-theme="light"] .modal-card h2{color:var(--text)}
html[data-theme="light"] .button:hover{color:var(--red)}
html[data-theme="light"] .token-links a:hover{color:var(--text)}
html[data-theme="light"] .hero-side{border-color:var(--line-strong)}
html[data-theme="light"] .hero-symbol{border-color:var(--line-strong)}

/* Theme-aware native form controls (Control Room, sign-in, settings). */
html{color-scheme:dark}
html[data-theme="light"]{color-scheme:light}

.wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
.wrap select,
.wrap textarea {
  background:var(--panel);
  border:1px solid var(--line-strong);
  color:var(--text);
  padding:10px 12px;
  border-radius:0;
}
.wrap input::placeholder,
.wrap textarea::placeholder{color:var(--dim);opacity:1}
.wrap input:focus,
.wrap select:focus,
.wrap textarea:focus{outline:1px solid var(--red);outline-offset:0;border-color:var(--red)}

/* Mobile chrome: the bottom bar owns navigation, the theme switch and BUY.
   Hide the duplicate desktop controls so phones never scroll sideways. */
@media(max-width:720px){
  .topbar .theme-toggle,
  .topbar-actions .chart-link,
  .topbar-actions .buy-now{display:none}
  .mobile-nav-links .mobile-theme{
    flex:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:9px 11px;
    border:1px solid transparent;
    background:none;
    color:#aaa;
    font:10px var(--mono);
    letter-spacing:.12em;
    white-space:nowrap;
    cursor:pointer;
  }
  .mobile-nav-links .mobile-theme:hover,
  .mobile-nav-links .mobile-theme:focus-visible{color:var(--red);outline:none}
}
@media(max-width:620px){
  .mobile-nav-links .mobile-theme{padding:8px 9px;font-size:9px}
}
html[data-theme="light"] .mobile-nav-links .mobile-theme{color:#5c564b}
html[data-theme="light"] .mobile-nav-links .mobile-theme:hover,
html[data-theme="light"] .mobile-nav-links .mobile-theme:focus-visible{color:#b3271e}

/* ==================================================================== */
/* PHONE DRAWER NAV - three-line button in the top-left corner          */
/* ==================================================================== */

.menu-toggle{display:none}
.mobile-nav-head{display:none}
.menu-scrim{display:none}

@media(max-width:720px){
  body{padding-bottom:0}
  .topbar{justify-content:flex-start;gap:10px}

  .menu-toggle{
    display:inline-flex;flex-direction:column;justify-content:center;gap:4px;
    flex:none;width:38px;height:38px;padding:0 8px;margin:0;
    border:1px solid transparent;background:none;cursor:pointer;
  }
  .menu-toggle span{display:block;width:100%;height:1.5px;background:var(--text);transition:background .2s}
  .menu-toggle:hover span,.menu-toggle:focus-visible span{background:var(--red)}
  .menu-toggle:focus-visible{outline:1px solid var(--red);outline-offset:2px}

  nav.mobile-nav{
    display:flex;flex-direction:column;gap:14px;
    position:fixed;top:0;left:0;bottom:0;right:auto;
    width:min(330px,86vw);height:100vh;height:100dvh;z-index:60;
    padding:14px 16px calc(18px + env(safe-area-inset-bottom,0px));
    background:rgba(8,9,11,.985);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    border-top:0;border-right:1px solid var(--line);
    transform:translateX(-105%);visibility:hidden;
    transition:transform .28s ease,visibility .28s ease;
    overflow-y:auto;overscroll-behavior:contain;
  }
  nav.mobile-nav.open{transform:none;visibility:visible}

  body.menu-open{overflow:hidden}

  .mobile-nav-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding-bottom:14px;border-bottom:1px solid var(--line);
  }
  .menu-close{
    flex:none;display:grid;place-items:center;width:36px;height:36px;
    border:1px solid transparent;background:none;color:var(--muted);
    font:22px/1 var(--mono);cursor:pointer;
  }
  .menu-close:hover,.menu-close:focus-visible{color:var(--red);outline:none}

  .mobile-nav-links{display:flex;flex-direction:column;gap:0;overflow:visible;flex:none}
  .mobile-nav-links a{
    flex:none;display:block;padding:14px 8px;
    border-bottom:1px solid var(--line);
    font-size:11px;letter-spacing:.14em;
  }
  .mobile-nav-links .mobile-theme{
    justify-content:flex-start;
    padding:14px 8px;
    border-bottom:1px solid var(--line);
    font-size:11px;letter-spacing:.14em;
  }
  .mobile-nav .buy-now{width:100%;justify-content:center;min-height:46px;margin-top:auto}

  .menu-scrim{
    display:block;position:fixed;inset:0;z-index:55;
    background:rgba(0,0,0,.62);
    opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;
  }
  .menu-scrim.open{opacity:1;visibility:visible}
}

@media(max-width:620px){
  .mobile-nav-links .mobile-theme{padding:14px 8px;font-size:11px}
}

html[data-theme="light"] nav.mobile-nav{
  background:rgba(244,241,234,.99);
  border-top:0;
  border-right-color:var(--line);
}
html[data-theme="light"] .menu-close{color:var(--muted)}
html[data-theme="light"] .menu-scrim{background:rgba(28,26,23,.32)}
