/* RED INDEX — sharp-edged constructivist surveillance interface */
:root{--base:#080506;--layer:#10090a;--panel:#140b0c;--ink:#e5ddda;--muted:#94817f;--dim:#6f5a59;--red:#e44e50;--red2:#fb8580;--line:rgba(224,104,102,.23);--line2:rgba(224,104,102,.48);--mono:Consolas,"SFMono-Regular","Liberation Mono",monospace;--sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--base);color:var(--ink)}html{overflow-x:hidden}body{font:13px/1.72 var(--sans);overflow-x:hidden;background:radial-gradient(ellipse at 50% -20%,#45191b26,transparent 58%),#080506}button,a{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:1px solid #fa8a85;outline-offset:3px}a{text-decoration:none}button{border:0}img{display:block;max-width:100%}[hidden]{display:none!important}.mono{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase}
::selection{background:#b54248;color:#fff}
.noise,.scanlines{position:fixed;inset:0;pointer-events:none}.noise{z-index:91;opacity:.095;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.79' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");mix-blend-mode:soft-light;animation:bodyGrain .55s steps(4) infinite}.scanlines{z-index:90;opacity:.12;background:repeating-linear-gradient(180deg,transparent 0 3px,#000a 4px)}.edge-index{position:fixed;top:36px;z-index:0;color:#624447;font-size:9px;line-height:2;pointer-events:none}.edge-left{left:clamp(15px,3vw,60px)}.edge-right{right:clamp(15px,3vw,60px);text-align:right}
/* loading / source-like flash stack */
.boot{position:fixed;inset:0;z-index:110;display:grid;place-items:center;overflow:hidden;background:#060304}.boot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 66px,#7f293215 67px),repeating-linear-gradient(90deg,transparent 0 66px,#7f293215 67px);animation:ambientDrift 36s linear infinite;opacity:.55}.boot-cross{position:absolute;left:50%;top:44%;width:1px;height:90vh;background:linear-gradient(transparent,#9d3c453b,transparent);transform:translate(-50%,-50%)}.boot-cross::after{content:"";position:absolute;left:-60vw;top:48%;width:120vw;height:1px;background:linear-gradient(90deg,transparent,#af41484d,transparent)}.boot-fault{position:absolute;left:-15%;right:-15%;height:9px;top:35%;opacity:0;background:linear-gradient(90deg,transparent,#ed727e68 30%,#fff7 49%,#ce485366 65%,transparent);mix-blend-mode:screen;filter:blur(.5px)}.boot-fault.visible{opacity:1;transform:translateX(var(--fault-shift,0px))}.boot-frame{width:min(470px,100%);min-height:440px;padding:25px;position:relative;border-top:1px solid #b34b51b8;border-bottom:1px solid #b34b5180;background:linear-gradient(180deg,#090405d9,#110608ed);box-shadow:0 0 0 1px #6a252636,0 0 100px #9a18201a}.boot-frame::after{content:"";position:absolute;inset:8px;border-left:1px solid #9f464522;border-right:1px solid #9f464522;pointer-events:none}.boot-top,.boot-foot{display:flex;justify-content:space-between;gap:10px;font:9px/1.4 var(--mono);letter-spacing:.12em;color:#bc7778}.boot-core{padding:56px 1px 38px;position:relative}.eyebrow{font:9px/1.5 var(--mono);letter-spacing:.18em;color:var(--red2)}.boot-ideogram{font:800 83px/.82 var(--mono);letter-spacing:-.13em;color:#b6474a;opacity:.9;text-shadow:0 0 50px #ec51562a}.boot-ideogram span{color:#392022}.boot-line{margin-top:19px;font:10px var(--mono);color:#b87777}.boot h1{font:700 26px/1.32 var(--sans);letter-spacing:.12em;margin:13px 0 8px}.glitch{position:relative;display:inline-block}.glitch::before,.glitch::after{content:attr(data-glitch);position:absolute;left:0;top:0;width:100%;pointer-events:none;white-space:nowrap;overflow:hidden}.glitch::before{color:#ec8885;transform:translate(1px,-1px);animation:glitchA 2.8s steps(1) infinite;opacity:.58}.glitch::after{color:#b3263d;transform:translate(-2px,1px);animation:glitchB 3.1s steps(1) infinite;opacity:.62}.boot-sub{font:9px/1.8 var(--mono);letter-spacing:.17em;color:var(--dim)}.boot-alert-layer{position:absolute;inset:0;pointer-events:none}.boot-alert{position:absolute;min-width:136px;max-width:200px;padding:9px 11px;background:#130607f0;border:1px solid #bf4149a2;box-shadow:5px 7px #060203,0 0 40px #fb5b5721;animation:alertPopup .55s steps(2,end) both}.boot-alert strong{display:block;font:11px/1.5 var(--sans)}.boot-alert small{font:8px/1.5 var(--mono);color:#c76e74}.boot-progress{display:grid;gap:12px}.boot-progress>span{font-size:9px;color:var(--red2)}.load-meter{height:2px;background:#4b282b}.load-meter i{display:block;width:0;height:100%;background:#f36b6b;box-shadow:0 0 12px #fd474e}.boot-foot{margin-top:22px}.boot-foot button{font:9px var(--mono);background:none;color:#d5a5a3}.boot.exit{animation:bootExit .65s steps(5,end) forwards}
/* narrative prologue / original documentary layering */
.prologue{--fault:0;--intro-flicker:0;--beam-y:45%;position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto auto;max-width:470px;margin:0 auto;background:radial-gradient(ellipse at 52% 43%,#5b1a2016,transparent 48%),#090506;overflow:hidden;border-left:1px solid #682f302e;border-right:1px solid #682f302e}.prologue::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 74px,#bb67641a 75px),repeating-linear-gradient(0deg,transparent 0 74px,#bb67641a 75px);mask-image:linear-gradient(transparent,#000 20%,#000 70%,transparent);opacity:.6}.intro-static-field{background:repeating-linear-gradient(0deg,transparent 0px,#dc727412 1px,transparent 4px,transparent 7px),radial-gradient(ellipse 55% 40% at 58% var(--beam-y),#d4546022,transparent 85%);z-index:3}.intro-signal-tear{background:linear-gradient(90deg,transparent,#f66e7c38 18%,#ffd2cd34 52%,transparent 88%);box-shadow:0 1px #d36c7026,-3px 0 #090506aa;z-index:13}.intro-nodes{position:absolute;inset:0;pointer-events:none;z-index:2}.intro-node{position:absolute;font:8px/1.4 var(--mono);letter-spacing:.11em;color:#a9585d;white-space:nowrap;animation:nodeCycle var(--node-cycle,4s) steps(5,end) infinite;animation-delay:var(--node-delay,0s);--opacity:.46}.document-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.document-field .float-document{position:absolute;width:42%;height:31%;overflow:hidden;opacity:.34;border:1px solid #a7474730;background:#290d0d18;transform:rotate(var(--rot,1deg));animation:panelPulse 4.6s steps(2,end) infinite}.float-document pre{margin:12px;font:8px/1.8 var(--mono);color:#b16667;white-space:pre;animation:folioScroll var(--scroll-dur,17s) linear infinite}.prologue-head,.prologue-foot{z-index:18;position:relative;display:flex;justify-content:space-between;gap:10px;padding:19px 19px 12px;font-size:9px;color:#b66c6e;border-bottom:1px solid var(--line)}.prologue-head .small-blink{color:var(--red2);animation:ambientBreath 5s ease-in-out infinite}.prologue-foot{padding:12px 19px;border-top:1px solid var(--line);border-bottom:0;font-size:8px}.intro-lockfield{z-index:3;top:41%;width:min(75vw,360px);--lock:.55}.intro-lockfield::before,.intro-lockfield::after{border-color:#c65b6140;box-shadow:0 0 0 34px #ce505508,0 0 0 104px #cb555205}.intro-focus{z-index:6;top:39%;left:50%;width:146px;height:86px;border-color:#fb838487;background:#6c27240f;box-shadow:0 0 26px #e873741a,0 0 0 1px #e88a8a1a inset}.intro-focus::after{border-left-color:#d56a6569;border-bottom-color:#d56a6549}.focus-title{position:absolute;left:6px;top:-18px;color:#de797b;font-size:8px}.focus-ticks{position:absolute;right:6px;bottom:-19px;color:#de797b;font-size:8px}.prologue-center{position:relative;z-index:8;align-self:center;padding:30px 30px 0;text-align:left}.p-eyebrow{color:#ef8d8b;font-size:9px}.p-number{font:200 104px/1.2 var(--mono);letter-spacing:-.13em;color:#c24c54;opacity:.9}.p-number span{font-size:12px;letter-spacing:.12em;color:#e18b89}.prologue-title{position:relative;z-index:8;padding:12px 0 0;border-top:1px solid #b556586b}.prologue-title .glitch{font-size:28px;font-weight:650;line-height:1.35;letter-spacing:.05em}.prologue-title small{display:block;font:9px/1.8 var(--mono);letter-spacing:.12em;color:#bc7473}.p-quote{margin:18px 0 16px;font-size:12px;letter-spacing:.075em;line-height:2.2;color:#ddc3c0}.p-system{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#916f6e;border-top:1px solid var(--line);padding-top:9px}.p-system span:last-child{color:#d47072}.intro-panel{z-index:2;padding:9px 10px;border-color:#c06c6d3a;background:linear-gradient(155deg,#ed77750c,#1c080712 65%);box-shadow:0 8px 30px #09030388;--panel-alpha:.4;opacity:var(--panel-alpha);border-radius:0}.intro-panel .p-top{padding-bottom:8px;border-bottom-color:#d66c6a31;font-size:8px;color:#c7807ba8}.intro-panel .p-body{gap:6px;margin-top:10px;padding-bottom:80px;font-size:8px;color:#b97675aa}.intro-panel .p-stamp{font-size:8px;color:#e985856d}.intro-panel.a{left:-20%;top:20%;width:53%;height:34%;transform:rotate(-3deg);--panel-alpha:.34}.intro-panel.b{right:-20%;top:12%;width:49%;height:36%;transform:rotate(2deg);--panel-alpha:.41}.intro-panel.c{left:26%;top:9%;width:45%;height:25%;transform:rotate(-1deg);--panel-alpha:.21}.prologue-hold{position:relative;z-index:16;margin:10px 18px 18px;padding:14px;border:1px solid #cc5d6088;background:linear-gradient(140deg,#2c0b0ede,#0a0506f7 74%);box-shadow:0 14px 40px #000b,0 0 50px #b42e3021}.hold-head{display:flex;justify-content:space-between;color:#e8908f;font-size:9px;margin-bottom:10px}.hold-button{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#a83c4321;border:1px solid #b8494e87;width:100%;min-height:52px;text-align:left;padding:14px 13px;color:#f0dbd8;touch-action:none;user-select:none;-webkit-user-select:none}.hold-button span{font-size:12px;letter-spacing:.05em}.hold-button small{font-size:8px;color:#ca8e8e}.hold-button.pressing{background:#b43e473e;box-shadow:0 0 30px #f34a3f23}.hold-cursor{position:absolute;left:-5px;top:-5px;width:11px;height:11px;border-top:1px solid #f48989;border-left:1px solid #f48989}.hold-track{height:2px;background:#482528;margin:13px 0 10px}.hold-track i{display:block;width:0;height:100%;background:#ff8f8d;box-shadow:0 0 10px #e44e50}.hold-state{font-size:9px;color:#9d7775;min-height:14px}
/* main terminal */
.terminal{position:relative;z-index:2;width:min(100%,470px);margin:auto;min-height:100svh;border-left:1px solid #68303436;border-right:1px solid #68303436;background:#0b0607;padding-bottom:85px}.terminal::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 90px,#9c444414 91px);opacity:.55}.topbar{position:sticky;z-index:35;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;height:58px;padding:0 17px;border-bottom:1px solid #c85f6054;background:#0b0607f2;backdrop-filter:blur(16px)}.brand{display:flex;gap:11px;align-items:center;background:none;padding:0;text-align:left}.brand-box{display:grid;place-items:center;border:1px solid var(--red);width:25px;height:25px;font:11px var(--mono);color:#f08e8d}.brand-box span{color:#7c4e4e}.brand-copy{display:block;line-height:1.2;font:600 11px/1.2 var(--mono);letter-spacing:.18em}.brand-copy small{display:block;margin-top:5px;font:8px/1 var(--mono);letter-spacing:.12em;color:#9d6f6d}.status-chip{display:flex;align-items:center;gap:6px;color:#b47170;font-size:8px}.status-chip i{width:5px;height:5px;background:var(--red);box-shadow:0 0 9px var(--red);animation:ambientBreath 4s infinite}.index-toggle{height:30px;padding:0 8px;background:none;border-left:1px solid var(--line);color:#e0a7a3;font-size:9px}.index-toggle span{margin-left:3px;color:#e76c6a}.page-shell{padding:0 15px}.section-hud{display:flex;justify-content:space-between;gap:10px;padding:12px 0 9px;color:#936b6a;font-size:9px;border-bottom:1px solid var(--line)}.pages{position:relative}.page{position:relative;padding:17px 0 26px;min-height:calc(100svh - 166px);isolation:isolate;overflow:hidden}.page::before{content:"";position:absolute;inset:-15%;pointer-events:none;z-index:-1;opacity:.7;background:repeating-linear-gradient(0deg,transparent 0 84px,#a44b4611 85px),repeating-linear-gradient(90deg,transparent 0 84px,#a44b4611 85px);animation:ambientDrift 50s linear infinite}.page::after{content:"";position:absolute;left:-20%;top:0;width:54%;height:115%;pointer-events:none;z-index:-1;background:linear-gradient(115deg,transparent 44%,#ff66660b 51%,transparent 56%);animation:ambientGlide 19s ease-in-out infinite}.page-head{position:relative;padding:0 0 18px;border-bottom:1px solid #b25c5a45}.page-head::before{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:var(--red)}.section-number{font:200 68px/1.13 var(--mono);letter-spacing:-.1em;color:#c4484b;margin:1px 0 -2px}.section-number span{font:11px var(--mono);letter-spacing:0;color:#b57475;margin-left:13px}.page-caption{font-size:9px;color:#aa696b}.page-title{margin:5px 0 9px;font-weight:550;letter-spacing:.13em;font-size:22px;line-height:1.32}.page-title span{font-weight:300;color:#ab8886;margin-left:10px}.page-lead{margin:0;max-width:36ch;font-size:11px;line-height:2.05;color:#b39e9b;letter-spacing:.055em}.page [data-reveal]{opacity:0;transform:translate3d(0,15px,0);filter:blur(4px);clip-path:inset(0 0 18% 0);transition:opacity .58s var(--ease),transform .7s var(--ease),filter .55s ease,clip-path .56s var(--ease);transition-delay:var(--reveal-delay,0ms)}.page [data-reveal].revealed{opacity:1;transform:translate3d(0,0,0);filter:blur(0);clip-path:inset(0 0 0 0)}
.subject-visual{position:relative;height:255px;overflow:hidden;margin:18px 0 0;border:1px solid var(--line);background:radial-gradient(circle at 54% 47%,#561c202b,transparent 37%),linear-gradient(180deg,#170a0bc9,#080506)}.subject-visual::before,.evidence-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#ca636424 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,#ca636424 50%,transparent 50.1%);z-index:1;pointer-events:none}.subject-back{position:absolute;inset:0;overflow:hidden}.subject-back .live-orbit{left:50%;top:44%;width:230px;transform:translate(-50%,-50%);position:absolute;aspect-ratio:1;pointer-events:none;border-radius:50%}.subject-back .live-orbit.outer{border:1px dashed #dc62634c;box-shadow:0 0 0 27px #c4514c08;animation:surveilSpin 58s linear infinite}.subject-back .live-orbit.middle{width:176px;border:1px dotted #e59d9350;animation:surveilSpinReverse 40s linear infinite}.subject-back .live-orbit.inner{width:98px;border:1px solid #d15a5c39;background:conic-gradient(from 0deg,transparent 0 274deg,#ce5f5c20 302deg,transparent 333deg);animation:surveilSpin 23s linear infinite}.code-body,.code-evidence{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;overflow:hidden;pointer-events:none;font:9px/1.25 var(--mono);letter-spacing:.08em;color:#ce6565aa;text-shadow:0 0 6px #e65f5c2b;mask-image:linear-gradient(transparent,#000 9%,#000 88%,transparent)}.code-body span,.code-evidence span{white-space:pre;max-width:100%;overflow:hidden}.code-body span:nth-child(3n){color:#deada270}.tracking-overlay{position:absolute;z-index:4;left:19%;top:14%;width:62%;height:68%;border:1px solid #d1707288;animation:trackShift 9s steps(3,end) infinite;pointer-events:none}.tracking-overlay i{position:absolute;width:17px;height:17px;border-color:#f17e7b;border-style:solid}.tracking-overlay i.tl{left:-3px;top:-3px;border-width:2px 0 0 2px}.tracking-overlay i.tr{right:-3px;top:-3px;border-width:2px 2px 0 0}.tracking-overlay i.bl{left:-3px;bottom:-3px;border-width:0 0 2px 2px}.tracking-overlay i.br{right:-3px;bottom:-3px;border-width:0 2px 2px 0}.tracking-overlay>span{position:absolute;right:0;top:-19px;color:#e99b9a;font:8px var(--mono);letter-spacing:.1em}.visual-meta{position:absolute;z-index:6;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:8px;padding:10px 12px;background:#090405d9;border-top:1px solid var(--line);font-size:8px;color:#e3a2a0}.visual-meta b{font-weight:400}.subject-naming{padding:16px 0 18px;border-bottom:1px solid var(--line)}.field-id{font-size:9px;color:var(--red2)}.subject-name{font-size:23px;font-weight:550;letter-spacing:.06em;margin:3px 0 8px}.group-name{font-size:9px;color:#b18a87}.spec-grid{display:grid;grid-template-columns:1fr 1fr;margin:16px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.spec{position:relative;display:grid;gap:3px;min-height:84px;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#bb4a4710}.spec>span{font-size:9px;color:#a66e6d}.spec>strong{font-size:15px;line-height:1.4;font-weight:500}.spec>small{font-size:9px;color:#7d6965}.spec::before{content:"";position:absolute;left:0;top:0;width:4px;height:4px;background:#e36969;opacity:.6}.intel-note{position:relative;padding:15px 12px 14px;border-left:2px solid #c05457;border-bottom:1px solid var(--line);margin-top:16px;background:linear-gradient(90deg,#b4494917,transparent 85%)}.intel-note.prominent{background:linear-gradient(90deg,#c65d5c22,transparent 90%);border-left-color:#ff8e88}.label-line{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--red2);font-size:9px}.label-line span{color:#986f70}.intel-note p{margin:11px 0 0;font-size:12px;line-height:2;letter-spacing:.045em}.tag-cluster{margin-top:24px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;min-height:30px;padding:0 10px 0 0;border:1px solid var(--line);background:#b1454414;font-size:10px;letter-spacing:.04em}.tag i{display:grid;place-items:center;width:36px;height:29px;font:9px var(--mono);font-style:normal;color:var(--red2);border-right:1px solid var(--line);background:#bc4c4a17}.tag b{font-weight:400;color:#d9bebb}.page-end{margin-top:23px;padding:9px 0;border-top:1px solid var(--line);color:#855f61;font-size:8px}
.hazard-banner{display:flex;align-items:center;gap:15px;border-top:1px solid #eb7771;border-bottom:1px solid #b75a56;margin:20px 0 14px;padding:15px 7px;background:repeating-linear-gradient(135deg,transparent 0 20px,#db5c5a0c 21px 22px)}.hazard-icon{display:grid;place-items:center;border:1px solid var(--red);height:34px;width:34px;color:#ff8480;font:23px var(--mono)}.hazard-banner strong,.hazard-banner small{display:block;font-weight:400}.hazard-banner strong{font-size:10px;color:#f6a7a3}.hazard-banner small{font-size:8px;color:#a97d7a;margin-top:5px}.warning-list{display:grid;gap:9px}.warning-record{position:relative;padding:13px 12px 14px;border:1px solid var(--line);background:#a6414110}.warning-record .risk-header{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #b559563d;padding-bottom:8px;margin-bottom:10px;color:#d7807d;font-size:9px}.warning-record h3{margin:0 0 9px;font-weight:500;font-size:13px;letter-spacing:.06em}.warning-record p{margin:0;font-size:11px;line-height:2;color:#c0aaa7}.warning-record::after{content:"+";position:absolute;right:10px;bottom:6px;font:14px var(--mono);color:#9d4c4b}
.evidence-stage{margin:20px 0 0;min-height:315px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 40%,#63191d31,transparent 55%),#100809;border:1px solid #c66a6747}.code-evidence{font-size:10px;gap:6px;animation:evidenceJitter 8.5s steps(2) infinite}.evidence-cross{position:absolute;z-index:3;inset:0;background:linear-gradient(90deg,transparent 49.9%,#ef858537 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,#ef858537 50%,transparent 50.1%)}.evidence-frame{position:absolute;z-index:4;inset:18px;border:1px solid #e2746a5e;pointer-events:none}.evidence-frame i{position:absolute;width:22px;height:22px;border:2px solid #f38380}.evidence-frame i:nth-child(1){left:-2px;top:-2px;border-right:0;border-bottom:0}.evidence-frame i:nth-child(2){right:-2px;top:-2px;border-left:0;border-bottom:0}.evidence-frame i:nth-child(3){left:-2px;bottom:-2px;border-right:0;border-top:0}.evidence-frame i:nth-child(4){right:-2px;bottom:-2px;border-left:0;border-top:0}.evidence-caption{position:absolute;z-index:5;bottom:0;left:0;right:0;background:#0c0606de;border-top:1px solid var(--line);font-size:9px;color:#dd8b87;padding:10px}.evidence-caption b{font-weight:400}
.signal-terminal{display:grid;gap:12px;padding:14px 12px;border:1px solid var(--line);background:#190c0d;margin:20px 0 14px}.signal-terminal>span,.signal-terminal>small{font-size:9px;color:#c76c6a}#waveBars{display:flex;justify-content:space-between;gap:2px;height:63px;align-items:center;overflow:hidden}#waveBars i{display:block;flex:1;max-width:4px;height:var(--h);background:#d45b58a6;animation:wave 1.3s var(--d) ease-in-out infinite alternate;transform-origin:center}.link-list{display:grid;gap:11px;margin-top:16px}.link-record{display:grid;gap:9px;padding:15px 12px 11px;border:1px solid var(--line);background:linear-gradient(120deg,#a43f4115,transparent)}.link-top{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#bc7672}.link-record h3{font-size:13px;letter-spacing:.05em;margin:0;font-weight:500}.link-record p{font-size:11px;line-height:1.8;margin:0;color:#b6a09e}.link-open{justify-self:end;display:inline-flex;align-items:center;gap:12px;padding:7px 10px;font:9px var(--mono);letter-spacing:.08em;border:1px solid #c76d654a;color:#f29a92;background:#bd52521b}.link-open.disabled{pointer-events:none;opacity:.48}.echo-display{position:relative;height:175px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 50%,#581d1d35,transparent 50%),#120909;margin:18px 0 12px;padding:12px}.echo-display>span{font-size:9px;color:#cf817d}.echo-signal{position:absolute;left:-5%;right:-5%;top:46%;height:55px;opacity:.68;background:repeating-linear-gradient(90deg,transparent 0 10px,#c75f6070 10px 12px,transparent 12px 17px,#fb97972b 17px 18px);clip-path:polygon(0 50%,5% 35%,10% 65%,15% 14%,20% 80%,25% 20%,30% 70%,35% 10%,40% 85%,45% 25%,50% 50%,55% 25%,60% 72%,65% 12%,70% 84%,75% 35%,80% 65%,85% 13%,90% 70%,95% 42%,100% 50%,100% 52%,0 52%);animation:waveGhost 5s steps(4) infinite}.echo-numeric{position:absolute;left:12px;bottom:12px;color:#d77776;font-size:18px;line-height:1.4}.echo-numeric span{display:block;font-size:9px;color:#997577}
.exit-message{margin:20px 0;padding:21px 14px 22px;border-left:2px solid #de746b;background:linear-gradient(90deg,#a741421d,transparent)}.exit-message>span{font-size:9px;color:#d4857e}.exit-message p{margin:15px 0 0;font-size:13px;line-height:2.2;letter-spacing:.09em}.music-panel{position:relative;border:1px solid var(--line);padding:14px;display:grid;justify-items:center;gap:14px;background:radial-gradient(circle at 50% 36%,#6c1b202b,transparent 42%),#100808;overflow:hidden}.player-head{display:flex;justify-content:space-between;gap:10px;width:100%;font-size:9px;color:#d28b83}.music-disc{position:relative;width:178px;height:178px;border-radius:50%;display:grid;place-items:center;border:1px solid #aa52564d;background:repeating-radial-gradient(circle,#070404 0 2px,#311719 3px,#090606 4px 5px);box-shadow:0 0 0 13px #cc53520d,0 0 0 25px #cc53520a,inset 0 0 45px #0009;animation:surveilSpin 12s linear infinite;animation-play-state:paused;left:auto;top:auto;transform:rotate(0)}.music-disc.playing{animation-name:discSpin;animation-play-state:running}.disc-core{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#9c373c;border:5px solid #250b10;color:#eedad6}.disc-core b{font:600 13px var(--mono);letter-spacing:.1em}.disc-cross{position:absolute;top:20px;right:25px;color:#f7a6a5;font-size:13px}.music-name{text-align:center;display:grid;gap:4px}.music-name span{font-size:9px;color:#be7775}.music-name strong{font-size:13px;line-height:1.8;font-weight:500}.music-name small{font:9px var(--mono);color:#8e6e69}.audio-progress{width:100%;height:2px;background:#4a2b2b}.audio-progress i{display:block;height:100%;width:0;background:#ee7371}.music-controls{display:flex;align-items:center;gap:16px}.music-controls button{min-width:42px;height:33px;background:none;border:1px solid var(--line);color:#e59d97;font:14px var(--mono)}.music-controls button:disabled{opacity:.35;cursor:not-allowed}.music-controls #musicPlay{min-width:55px;border-color:#dc7e7799;background:#c34b4a20}.exit-foot{padding:18px 0 0;font-size:8px;color:#a47570;letter-spacing:.12em}.return-btn{width:100%;margin-top:14px;padding:11px;text-align:left;border:1px solid var(--line);background:#ab404017;color:#dc908a;font-size:9px}
.dock{position:fixed;z-index:40;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,470px);height:62px;padding:0 15px max(0px,env(safe-area-inset-bottom) / 2);display:grid;grid-template-columns:45px 1fr 45px;align-items:center;gap:9px;border-top:1px solid #c6606049;background:#0a0506f2;backdrop-filter:blur(16px)}.dock>button{height:36px;background:none;border:1px solid var(--line);color:#df8a84}.dock>button:disabled{opacity:.3}.dock .dock-current{display:grid;grid-template-columns:auto 1fr;gap:0 12px;align-items:center;text-align:left;padding:4px 10px;border-color:#ad5b5636}.dock-current .mono{font-size:9px;color:#d47874}.dock-current span:nth-child(2){font-size:11px;color:#d8b0a7}.dock-current i{grid-column:1/-1;margin-top:4px;height:2px;width:var(--progress,16.7%);background:#d85858}.index-drawer{position:fixed;z-index:55;top:0;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,470px);padding:24px 20px;background:#070404f8;backdrop-filter:blur(20px);border-left:1px solid #a64b4b4a;border-right:1px solid #a64b4b4a;animation:drawerReveal .34s steps(6) both}.index-drawer>header{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#b77b78;padding-bottom:14px;border-bottom:1px solid var(--line)}.index-drawer header button{background:none;color:#f09e92;font:9px var(--mono)}.drawer-title{font-size:52px;line-height:1.1;color:#c05255;padding:26px 0 20px}.drawer-title b{font-size:12px;vertical-align:middle;font-weight:400}.drawer-title span{display:block;margin-top:10px;font-size:9px;color:#997271}.drawer-links{display:grid;border-top:1px solid var(--line)}.drawer-link{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line);background:none;color:#ddd0ca;text-align:left}.drawer-link span{font-size:9px;color:#d46d6b}.drawer-link strong{font-size:12px;font-weight:500;letter-spacing:.09em}.drawer-link i{font-size:14px;font-style:normal;color:#dc8580}.drawer-link.current{color:#fb9590;background:#a9444416}.drawer-foot{position:absolute;bottom:25px;color:#805b58;font-size:8px}
.alert-field{position:fixed;inset:0;z-index:28;pointer-events:none;overflow:hidden}.alert-box{position:absolute;min-width:120px;max-width:176px;background:#0d0606e5;border:1px solid #bc5a5a91;box-shadow:6px 6px #0303038c,0 0 30px #d6505015;opacity:0;transform:translate(8px,4px);filter:blur(2px);transition:opacity .24s,transform .45s,filter .3s;padding:8px 10px}.alert-box.show{opacity:.83;transform:none;filter:blur(0)}.alert-box .alert-head{font:9px var(--mono);color:#ef7774;letter-spacing:.13em}.alert-box p{margin:5px 0 0;font:8px/1.7 var(--mono);letter-spacing:.08em;color:#b68b87}
.wipe{position:fixed;inset:0;z-index:95;pointer-events:none;opacity:0;visibility:hidden;background:#090405}.wipe.active{opacity:1;visibility:visible}.wipe-strips{position:absolute;inset:0;overflow:hidden}.wipe-strip{position:absolute;left:-3%;width:106%;background:#b8434736;border-top:1px solid #ef777784;border-bottom:1px solid #ef777741;transform:translateX(var(--x,-105%));mix-blend-mode:screen}.wipe-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,82vw);padding:17px 15px;border-left:2px solid #eb6666;background:#100607e8;display:grid;gap:7px;opacity:0}.wipe.active .wipe-center{animation:wipeRead .6s steps(5) both}.wipe-center span{font-size:9px;color:#ea8883}.wipe-center strong{font:200 34px var(--mono);letter-spacing:-.04em;color:#e46060}.wipe-center small{font-size:8px;color:#94716e}
@keyframes glitchA{0%,82%,100%{clip-path:inset(99% 0 0 0);transform:translate(0)}83%{clip-path:inset(20% 0 63% 0);transform:translate(-3px)}85%{clip-path:inset(57% 0 26% 0);transform:translate(3px)}87%{clip-path:inset(8% 0 80% 0);transform:translate(-2px)}}
@keyframes glitchB{0%,72%,100%{clip-path:inset(99% 0 0 0)}73%{clip-path:inset(60% 0 12% 0)}74%{clip-path:inset(11% 0 67% 0)}75%{clip-path:inset(39% 0 51% 0)}}
@keyframes alertPopup{0%{opacity:0;transform:translate(10px,6px)}30%,76%{opacity:1;transform:translate(0)}100%{opacity:0;transform:translate(-7px,-3px)}}
@keyframes bootExit{0%{opacity:1}50%{filter:contrast(2);transform:translateX(-7px)}70%{transform:translateX(6px)}100%{opacity:0;visibility:hidden;transform:scale(1.1)}}
@keyframes trackShift{0%,100%{transform:translate(0,0) scale(1)}26%{transform:translate(5px,-4px) scale(.95)}50%{transform:translate(-3px,6px) scale(1.02)}72%{transform:translate(7px,-2px) scale(.98)}}
@keyframes evidenceJitter{0%,85%,100%{transform:none;filter:none}86%{transform:translateX(-5px);filter:contrast(2)}88%{transform:translateX(4px)}89%{transform:none}}
@keyframes wave{from{transform:scaleY(.27);opacity:.45}to{transform:scaleY(1);opacity:.95}}
@keyframes waveGhost{0%,100%{transform:translateX(-2%);opacity:.46}50%{transform:translateX(3%);opacity:.83}}
@keyframes discSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes drawerReveal{from{clip-path:inset(0 100% 0 0);opacity:.7}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes wipeRead{0%{opacity:0;transform:translate(-48%,-50%)}20%{opacity:1;transform:translate(-52%,-50%)}100%{opacity:1;transform:translate(-50%,-50%)}}
@media(max-width:520px){.edge-index{display:none}.prologue{width:100%}.p-number{font-size:91px}.prologue-center{padding:25px 23px 0}.prologue-title .glitch{font-size:25px}.intro-panel.a{left:-28%}.intro-panel.b{right:-29%}.boot-frame{margin:14px}.page-shell{padding:0 15px}.page-title{font-size:21px}}
@media(max-width:360px){.topbar{padding:0 10px}.page-shell{padding:0 11px}.page-title{font-size:19px}.section-number{font-size:61px}.p-number{font-size:75px}.hold-button span{font-size:11px}.status-chip{display:none}.subject-visual{height:231px}.boot h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* Source-driven page choreography / timed technical reveals */
.page.page-loading .page-head::after{content:"";position:absolute;left:-15px;right:-15px;top:0;height:2px;background:linear-gradient(90deg,transparent,#fd9185,transparent);box-shadow:0 0 14px #ef656591;animation:chapterSweep .65s steps(9,end) both;pointer-events:none}
.page.page-loading .section-number{animation:indexSignal .52s steps(5,end) both}
.page.page-loading .page-title{animation:titleSignal .45s steps(4,end) both}
.page.page-loading .subject-visual,.page.page-loading .evidence-stage,.page.page-loading .signal-terminal,.page.page-loading .echo-display{animation:containerInterference .58s steps(5,end) both}
.tag{opacity:0;transform:translateX(-10px);filter:blur(2px);transition:transform .34s var(--ease),opacity .3s ease,filter .3s ease;transition-delay:var(--tag-delay,0ms)}.tag-cluster.revealed .tag{opacity:1;transform:translateX(0);filter:blur(0)}
.warning-record::before{content:"";position:absolute;left:0;top:0;height:1px;width:0;background:#ed6c66;transition:width 1.2s ease;transition-delay:var(--reveal-delay,0ms)}.warning-record.revealed::before{width:100%}
.link-record::before{content:"";display:block;height:1px;width:0;background:#ce6963;transition:width .9s ease;transition-delay:var(--reveal-delay,0ms)}.link-record.revealed::before{width:100%}
.page .ghost-folio{position:absolute;z-index:0;pointer-events:none;right:-14%;top:13%;width:52%;height:250px;border-left:1px solid #c95f5b25;transform:rotate(-2deg);opacity:.2;overflow:hidden;mask-image:linear-gradient(transparent,#000 22%,#000 70%,transparent)}
.page .ghost-folio pre{white-space:pre;margin:0;padding:6px;font:8px/1.9 var(--mono);color:#ad6564;animation:folioScroll var(--ghost-speed,17s) linear infinite}
.page .ghost-folio.second{right:auto;left:-20%;top:51%;transform:rotate(3deg);opacity:.12;height:260px}
.page> :not(.ghost-folio){position:relative;z-index:1}
@keyframes chapterSweep{0%{transform:translateY(-14px);opacity:0}12%{opacity:1}85%{opacity:.7}100%{transform:translateY(235px);opacity:0}}
@keyframes indexSignal{0%{opacity:0;transform:translateX(-17px)}24%{opacity:.8;transform:translateX(4px)}40%{opacity:.4;transform:translateX(-5px)}64%{opacity:1;transform:translateX(0)}100%{opacity:1}}
@keyframes titleSignal{0%{filter:blur(12px);transform:translateX(18px)}40%{filter:blur(0);transform:translateX(-3px)}60%{filter:blur(4px);transform:translateX(2px)}100%{filter:blur(0);transform:none}}
@keyframes containerInterference{0%{clip-path:inset(0 0 100% 0);filter:contrast(2)}25%{clip-path:inset(0 0 49% 0)}54%{clip-path:inset(0 0 21% 0);filter:contrast(1.5)}100%{clip-path:inset(0 0 0 0);filter:none}}
/* Compact typographic correction: information density over display-size typography. */
:root{--ink:#d9dbda;--muted:#8f8281}
.boot-ideogram{font-size:62px}.boot h1{font-size:22px}
.p-number{font-size:68px}.prologue-title .glitch{font-size:23px}
.section-number{font-size:43px;margin:7px 0 2px}.drawer-title{font-size:36px}.subject-name{font-size:20px}
@media(max-width:520px){.p-number{font-size:60px}.prologue-title .glitch{font-size:21px}.section-number{font-size:40px}.drawer-title{font-size:34px}}
@media(max-width:360px){.p-number{font-size:53px}.section-number{font-size:36px}}
