/* 本地字体声明 */
@font-face {
  font-family: 'Ma Shan Zheng';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/MaShanZheng-Regular.ttf') format('truetype');
}

:root {
  --mono: "Cascadia Mono", Consolas, monospace;
  --story: "Ma Shan Zheng", "STKaiti", "KaiTi", serif;
  --note: "STFangsong", "FangSong", serif;
  --paper: #d9cfc4;
  --paper-dim: #b8a99a;
  --ink: #2a231c;
  --ink-light: #4a3f35;
  --accent: #8c4843;
  --accent-warm: #bd957f;
  --accent-glow: rgba(190, 145, 120, 0.45);
  color-scheme: dark
}
*{box-sizing:border-box;margin:0;padding:0}
html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth;background:#020203;cursor:url('../assets/ui/cursor-default.svg') 2 2, auto}
body{width:100%;max-width:100%;min-width:320px;overflow-x:hidden;background:#020203;color:var(--paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,a{color:inherit;font:inherit}
button{cursor:url('../assets/ui/cursor-pointer.svg') 7 2, pointer;transition:all 0.2s ease}
button:hover{filter:brightness(1.1)}
a{cursor:url('../assets/ui/cursor-pointer.svg') 7 2, pointer}
input,textarea,[contenteditable]{cursor:url('../assets/ui/cursor-text.svg') 6 10, text}
.crt-overlay{position:fixed;z-index:200;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.02) 4px),radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,0.15) 100%);mix-blend-mode:screen;opacity:0.8}
.project-guide{position:fixed;z-index:100;inset:0;display:none;overflow-x:hidden;overflow-y:auto;background:#030304}.project-guide.open{display:block}.guide-nav{position:fixed;z-index:110;left:0;right:0;top:0;display:flex;justify-content:space-between;padding:26px 4vw;color:#948980;font:12px var(--mono);letter-spacing:3px}.guide-nav button{padding:7px 0;border:0;border-bottom:1px solid #51473f;background:transparent}.guide-section{position:relative;min-height:100vh;overflow:hidden;padding:clamp(68px,8vw,110px) clamp(32px,9vw,165px);opacity:0;transform:translateY(20px);animation:fadeInUp 0.8s ease forwards}
.guide-story{animation-delay:0.3s}
.guide-ready{animation-delay:0.6s}.guide-hero,.guide-ready{display:flex;align-items:center}.guide-hero{justify-content:center;text-align:center}.guide-hero-copy{max-width:min(860px,86vw)}.guide-hero-bg{position:absolute;inset:0;background:url('../assets/images/corner5-central-view-v1.webp') center/cover;filter:saturate(.55) brightness(.88) contrast(1.1);animation:breathe 12s ease-in-out infinite alternate}.guide-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.32) 60%,rgba(0,0,0,.18)),linear-gradient(0deg,rgba(3,3,4,.5),transparent 45%)}.guide-hero-copy{position:relative;z-index:2}.guide-hero-copy>small,.guide-story small,.guide-ready small{color:#9c897c;font:13px var(--mono);letter-spacing:3px}.guide-hero h1{margin-top:25px;color:#e8ded2;font:400 clamp(65px,10vw,150px)/.86 var(--story);letter-spacing:.08em;text-shadow:0 2px 4px rgba(0,0,0,0.8),0 5px 40px #000,0 0 80px rgba(190,145,120,0.15)}.guide-hero-copy p{margin-top:44px;color:#c4bbb0;font:clamp(22px,2.2vw,32px)/1.9 var(--story);text-shadow:0 2px 8px rgba(0,0,0,0.5)}.guide-scroll{position:absolute;z-index:3;left:50%;bottom:32px;color:#898078;text-decoration:none;font:12px var(--mono);letter-spacing:3px;transform:translateX(-50%);animation:scrollPulse 2s ease-in-out infinite}.guide-story{display:grid;align-items:center;grid-template-columns:.82fr 1fr;gap:clamp(55px,9vw,150px);background:#060607}.guide-section h2{margin-top:16px;color:#dfd5c9;font:400 clamp(32px,4.2vw,56px)/1.25 var(--story);letter-spacing:.07em}.story-copy p{margin-bottom:15px;color:#b6aca2;font:clamp(16px,1.3vw,19px)/1.75 var(--story)}.story-copy blockquote{margin:20px 0;padding:14px 18px 14px 20px;border:1px dashed rgba(128,98,84,.42);border-left:3px solid rgba(126,31,24,.6);background:rgba(63,35,29,.12);color:#9c4e45;font:clamp(16px,1.3vw,19px)/1.7 var(--story);transform:rotate(-.4deg)}.guide-ready{justify-content:center;text-align:center;background:#040405 url('../assets/images/guide-corridor-lookdev-v1.webp') center/cover;background-size:cover;background-position:center 40%}.guide-ready::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,2,3,.6) 0%,rgba(2,2,3,.35) 50%,rgba(2,2,3,.75) 100%)}.guide-ready>div{position:relative;z-index:2;width:min(760px,90vw)}.guide-ready p{margin:28px auto;color:#b5aca2;font:clamp(18px,1.6vw,22px)/1.9 var(--story)}.requirements{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:32px 0}.requirements span{padding:10px 16px;border:1px solid rgba(81,73,67,0.6);background:rgba(0,0,0,.45);color:#9b9289;font:13px var(--mono);letter-spacing:1px;transition:all 0.3s ease}.requirements span:hover{border-color:rgba(189,149,127,0.4);background:rgba(98,62,48,0.2)}.enter{display:block;position:relative;min-width:min(420px,86vw);margin:auto;padding:19px 30px;border:1px solid #8b7163;background:#0e0b0c;color:#e2d5c7;font:24px var(--story);letter-spacing:.12em;overflow:hidden;transition:all 0.3s ease}.enter:hover{border-color:#c0a38f;background:#171514}.enter::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.05),transparent);transition:left 0.5s ease}.enter:hover::before{left:100%}.window-enter{margin-top:13px;padding:9px 12px;border:0;border-bottom:1px solid #493f39;background:transparent;color:#877d74;font:15px var(--note)}@keyframes breathe{0%{filter:saturate(.55) brightness(.88) contrast(1.1)}50%{filter:saturate(.6) brightness(.94) contrast(1.08);transform:scale(1.008)}100%{filter:saturate(.55) brightness(.88) contrast(1.1)}}
@keyframes scrollPulse{0%,100%{opacity:0.6;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(5px)}}
@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}
@keyframes scanlines{0%{background-position:0 0}100%{background-position:0 4px}}
@keyframes screenError{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3) hue-rotate(10deg)}}
@keyframes bootUp{0%{opacity:0;transform:scale(0.95);filter:brightness(2) contrast(2)}30%{opacity:1;filter:brightness(1.5)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes typewriter{to{width:100%}}
@keyframes blink{50%{opacity:0}}
@keyframes slotPulse{0%,100%{border-color:rgba(189,149,127,0.2)}50%{border-color:rgba(189,149,127,0.4)}}
@keyframes slotConnect{0%{transform:scale(1.1);opacity:0.8}100%{transform:scale(1);opacity:0}}
@keyframes statusBlink{0%,100%{opacity:1}50%{opacity:0.5}}
@keyframes monitorBreath{0%,100%{filter:drop-shadow(0 0 18px rgba(190,145,120,.55))}50%{filter:drop-shadow(0 0 25px rgba(190,145,120,.7))}}
@keyframes syncTypewriter{from{width:0}to{width:100%}}
.hud{position:relative;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #2f2a27;background:linear-gradient(180deg,#0a0808 0%,#040303 100%);box-shadow:0 1px 0 rgba(190,145,120,.06) inset,0 8px 22px rgba(0,0,0,.6)}.hud::before,.hud::after{content:"";width:14px;height:14px;border:1px solid rgba(189,149,127,.35)}.hud::before{position:absolute;left:14px;bottom:-1px;border-top:0;border-right:0}.hud::after{position:absolute;right:14px;bottom:-1px;border-top:0;border-left:0}.hud>div{display:flex;align-items:center;gap:14px}.hud b,.hud span,.hud button{font:13px var(--mono);letter-spacing:2px}.hud>div:first-child::before{content:"●";margin-right:6px;color:#9a3a31;font-size:11px;text-shadow:0 0 8px rgba(154,58,49,.7);animation:statusBlink 1.6s ease-in-out infinite}.hud span{color:#90867e}.hud button{padding:7px 12px;border:1px solid rgba(189,149,127,.25);background:rgba(20,17,15,.4);color:#aaa097;letter-spacing:2px}.hud button:hover{border-color:rgba(189,149,127,.5);background:rgba(98,62,48,.18);color:#d4c3b3}#liveClock{color:#c8b8a4;font:13px var(--mono);letter-spacing:3px;padding:6px 12px;border:1px solid rgba(189,149,127,.3);background:rgba(20,17,15,.55);text-shadow:0 0 6px rgba(190,145,120,.25)}#liveClock::before{content:"◷";margin-right:6px;color:#9d8a7b}.stage{position:relative;height:calc(100dvh - 64px);min-height:580px;overflow:hidden;background:
  radial-gradient(ellipse 80% 60% at 50% 38%,rgba(56,42,34,.55) 0%,transparent 65%),
  radial-gradient(circle at 18% 82%,rgba(110,75,55,.1) 0%,transparent 38%),
  radial-gradient(circle at 82% 22%,rgba(80,60,90,.08) 0%,transparent 38%),
  radial-gradient(circle at 50% 56%,#161311 0%,#0a0807 38%,#050302 78%,#020100 100%)
}.stage::before{content:"";position:absolute;z-index:20;inset:0;pointer-events:none;background:
  repeating-linear-gradient(0deg,transparent 0 3px,rgba(220,220,210,.022) 4px),
  linear-gradient(rgba(120,105,90,.05) 1px,transparent 1px),
  linear-gradient(90deg,rgba(120,105,90,.05) 1px,transparent 1px);
  background-size:auto,80px 80px,80px 80px;
  mask:radial-gradient(ellipse at center,#000 35%,transparent 88%);
  -webkit-mask:radial-gradient(ellipse at center,#000 35%,transparent 88%);
}.stage::after{content:"";position:absolute;z-index:18;inset:0;pointer-events:none;background:
  radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.55) 100%)}.console-top,.console-bottom{position:absolute;z-index:25;left:18px;right:18px;display:flex;align-items:center;color:#6e6964;font:11px var(--mono);letter-spacing:2px;pointer-events:none}.console-top{top:12px;border-bottom:1px solid rgba(110,105,100,0.3);text-shadow:0 0 8px rgba(110,105,100,0.3)}.console-top i{margin-left:18px;color:#8c4843;font-style:normal;animation:statusBlink 1.5s ease-in-out infinite}.console-top b{margin-left:auto}.console-bottom{bottom:9px;border-top:1px solid rgba(110,105,100,0.3)}.console-bottom b{margin-left:auto;color:#897a70;font-weight:400}.ritual-copy{pointer-events:none;position:absolute;z-index:24;left:50%;top:20px;width:min(430px,72vw);padding:12px 22px 10px;border:1px solid rgba(189,149,127,.2);background:linear-gradient(180deg,rgba(14,11,10,.88),rgba(5,4,5,.9));text-align:center;transform:translateX(-50%);box-shadow:0 12px 34px rgba(0,0,0,.5);backdrop-filter:blur(12px)}.ritual-copy small{color:#9d8a7b;font:10px var(--mono);letter-spacing:4px}.ritual-copy h2{margin:7px 0 3px;color:#ded2c5;font:400 clamp(21px,2.4vw,28px)/1.15 var(--story);letter-spacing:.06em}.ritual-copy p{color:#a89d91;font:13px var(--note)}.console-desk{position:absolute;z-index:8;left:50%;top:50%;width:calc(2 * clamp(245px,28vmin,325px) + 60px);height:calc(2 * (clamp(245px,28vmin,325px) / 1.18) + 60px);transform:translate(-50%,-50%);background:linear-gradient(160deg,rgba(255,255,255,.04),transparent 40%),linear-gradient(180deg,#1a1715 0%,#0e0c0a 55%,#070605 100%);border:1px solid rgba(120,105,90,.14);border-radius:5px;box-shadow:0 40px 80px rgba(0,0,0,.75),0 12px 28px rgba(0,0,0,.55),inset 0 1px 0 rgba(200,180,150,.05),inset 0 0 50px rgba(0,0,0,.5)}.console-desk::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px);opacity:.6}.console-desk::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 34%,rgba(0,0,0,.38) 100%)}.center-void{position:absolute;z-index:9;left:50%;top:50%;width:clamp(245px,28vmin,325px);height:calc(clamp(245px,28vmin,325px) / 1.18);transform:translate(-50%,-50%);border:1px dashed rgba(189,149,127,.1);background:rgba(0,0,0,.16);box-shadow:inset 0 0 40px rgba(0,0,0,.5)}#autoArrange{pointer-events:auto;margin-left:14px;padding:0;border:0;border-bottom:1px dotted rgba(137,122,112,.3);background:transparent;color:rgba(137,122,112,.5);font:10px var(--mono);letter-spacing:2px;cursor:pointer;transition:color .2s}#autoArrange:hover{color:rgba(189,149,127,.85)}.stage:not([data-phase="ritual"]):not([data-phase="transfer"]) .monitor-slot{display:none}
.monitor-slot{position:absolute;z-index:22;width:clamp(245px,28vmin,325px);aspect-ratio:1.18;padding:20px 18px;border:1px solid rgba(189,149,127,.18);background:
  linear-gradient(135deg,rgba(189,149,127,.04) 0%,rgba(8,7,6,.55) 60%),
  rgba(10,9,8,.45);
  color:#85766a;text-align:center;backdrop-filter:blur(3px);
  box-shadow:
    inset 18px 18px 0 -17px rgba(189,149,127,.22),
    inset -18px 18px 0 -17px rgba(189,149,127,.22),
    inset 18px -18px 0 -17px rgba(189,149,127,.22),
    inset -18px -18px 0 -17px rgba(189,149,127,.22),
    inset 0 0 35px rgba(0,0,0,.55),
    0 6px 18px rgba(0,0,0,.4);
  transition:all .25s ease;
  animation:slotPulse 2.4s ease-in-out infinite;
}.monitor-slot::before{content:"●";position:absolute;left:50%;top:6px;transform:translateX(-50%);font-size:8px;color:rgba(189,149,127,.45);text-shadow:0 0 6px rgba(189,149,127,.3)}.monitor-slot b,.monitor-slot span{display:block;position:relative}.monitor-slot b{margin-top:8px;font:11px var(--mono);letter-spacing:4px;color:#9b8a78}.monitor-slot span{font:18px var(--story);letter-spacing:.06em;color:#b8a99a;font-weight:400}.slot-1{left:20px;top:24px}.slot-2{right:20px;top:24px}.slot-3{right:20px;bottom:24px}.slot-4{left:20px;bottom:24px}.monitor-slot.drop-ready{background:rgba(98,62,48,.22);box-shadow:inset 18px 18px 0 -17px rgba(189,149,127,.5),inset -18px 18px 0 -17px rgba(189,149,127,.5),inset 18px -18px 0 -17px rgba(189,149,127,.5),inset -18px -18px 0 -17px rgba(189,149,127,.5),inset 0 0 35px rgba(175,127,101,.2),0 0 24px rgba(190,145,120,.18),0 0 50px rgba(190,145,120,.1);animation:none}.monitor-slot.drop-ready::before{color:#c08c6f;text-shadow:0 0 10px rgba(190,145,120,.8)}.monitor-slot.filled{opacity:0;pointer-events:none;animation:slotConnect 0.5s ease-out}
.monitor{--mw:clamp(245px,28vmin,325px);position:absolute;z-index:15;width:var(--mw);height:calc(var(--mw) / 1.18 + 31px);touch-action:none;user-select:none;filter:drop-shadow(0 18px 18px rgba(0,0,0,.8)) drop-shadow(0 5px 10px rgba(0,0,0,0.4));transition:left .45s,top .45s,right .45s,bottom .45s,filter .25s,transform .25s}.monitor-1{left:calc(50% - var(--mw) - 14px);top:calc(50% - (var(--mw) / 1.18) - 16px)}.monitor-2{left:calc(50% + 14px);top:calc(50% - (var(--mw) / 1.18) - 16px)}.monitor-3{left:calc(50% + 14px);top:calc(50% + 14px)}.monitor-4{left:calc(50% - var(--mw) - 14px);top:calc(50% + 14px)}.monitor-handle{position:absolute;z-index:0;left:28%;right:28%;top:-13px;height:23px;border:7px solid #252526;border-bottom:0;border-radius:8px 8px 0 0;background:#0b0b0c}.monitor-shell{position:absolute;z-index:2;inset:0 0 20px;padding:10px 11px 8px;border:1px solid #454344;border-radius:9px 9px 5px 5px;background:linear-gradient(145deg,#39393a 0,#1b1b1c 32%,#0e0e0f 78%);box-shadow:inset 2px 2px 1px rgba(255,255,255,.08),inset -4px -4px 8px #050506}.monitor-bezel{height:calc(100% - 29px);padding:8px;border:2px solid #080809;border-radius:16px;background:#111}.monitor-screen{position:relative;height:100%;overflow:hidden;border-radius:12% / 9%;background:#030404;box-shadow:inset 0 0 30px #000,0 0 3px rgba(181,200,184,.35),0 0 15px rgba(0,0,0,0.8)}.monitor-screen::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 48%,rgba(0,0,0,.82)),linear-gradient(115deg,rgba(255,255,255,.06),transparent 28%);pointer-events:none;mix-blend-mode:screen}.feed-room,.feed-person,.feed-noise{position:absolute;inset:0}.feed-room{background:url('../assets/images/room-four-corners-v1.webp') no-repeat;background-size:200% auto;filter:brightness(.54) saturate(.25) contrast(1.18)}.monitor-1 .feed-room{background-position:0 0}.monitor-2 .feed-room{background-position:100% 0}.monitor-3 .feed-room{background-position:100% 100%}.monitor-4 .feed-room{background-position:0 100%}.feed-person{background:url('../assets/images/characters-four-v1.webp') no-repeat;background-size:400% auto;background-position-y:64%;filter:brightness(.58) saturate(.28) contrast(1.2)}.monitor-1 .feed-person{background-position-x:0}.monitor-2 .feed-person{background-position-x:33.333%}.monitor-3 .feed-person{background-position-x:66.666%}.monitor-4 .feed-person{background-position-x:100%}.feed-noise{z-index:3;opacity:.4;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(210,230,214,.08) 3px),linear-gradient(90deg,rgba(80,110,90,.07),transparent 45%,rgba(80,100,90,.06));animation:noise .22s steps(2) infinite;mix-blend-mode:screen}.feed-osd{position:absolute;z-index:5;left:10px;right:10px;top:8px;display:flex;justify-content:space-between;color:#c6d1c6;font:8px var(--mono);text-shadow:0 1px 3px #000,0 0 6px rgba(198,209,198,0.3)}.feed-osd span{color:#ba7770;text-shadow:0 0 4px rgba(186,119,112,0.4)}.feed-caption{position:absolute;z-index:5;left:0;right:0;bottom:0;padding:24px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.92) 48%)}.feed-caption b,.feed-caption span{display:block}.feed-caption b{font:20px var(--story);font-weight:400}.feed-caption span{color:#b2aaa1;font:11px/1.4 var(--note)}.monitor-controls{display:flex;align-items:center;height:29px;padding:0 7px;gap:6px}.monitor-controls i{width:7px;height:7px;border-radius:50%;background:#161616;box-shadow:inset 0 1px 2px #000}.monitor-controls i:first-child{background:#812c26;box-shadow:0 0 6px #9c3831;transition:background .45s ease,box-shadow .45s ease}.monitor-controls em{color:#696663;font:7px var(--mono);font-style:normal}.monitor-controls strong{margin-left:auto;color:#88827d;font:9px var(--mono);font-weight:400}.monitor-foot{position:absolute;z-index:1;left:18%;right:18%;bottom:8px;height:16px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,#151516,#0a0a0b);box-shadow:0 8px 10px #000,0 2px 4px rgba(0,0,0,0.5)}.monitor.selected{z-index:30;filter:drop-shadow(0 0 18px rgba(190,145,120,.55)) drop-shadow(0 18px 18px #000);animation:monitorBreath 2s ease-in-out infinite}.monitor.selected .monitor-shell{border-color:#8f7060;box-shadow:inset 0 0 15px rgba(190,145,120,0.1),0 0 20px rgba(190,145,120,0.15)}.monitor.dragging{z-index:50;transition:none;transform:scale(1.03);filter:drop-shadow(0 0 25px rgba(190,145,120,.6)) drop-shadow(0 20px 20px #000)}.monitor.sealed{z-index:23}.monitor.sealed .monitor-controls i:first-child{background:#2e8c38;box-shadow:0 0 8px #3fbf4e,0 0 14px rgba(63,191,78,.4)}.monitor-1.sealed{left:20px;top:24px}.monitor-2.sealed{left:auto;right:20px;top:24px}.monitor-3.sealed{left:auto;right:20px;top:auto;bottom:24px}.monitor-4.sealed{left:20px;top:auto;bottom:24px}.stage[data-phase="transfer"] .monitor{animation:signalLock 1.25s ease both}.stage[data-phase="transfer"] .monitor-2{animation-delay:.08s}.stage[data-phase="transfer"] .monitor-3{animation-delay:.16s}.stage[data-phase="transfer"] .monitor-4{animation-delay:.24s}@keyframes noise{50%{transform:translateY(1px)}}@keyframes signalLock{45%{filter:brightness(1.7) drop-shadow(0 0 20px rgba(180,137,113,.4))}100%{filter:brightness(.12)}}
@media(max-width:900px),(max-height:680px){.monitor{--mw:clamp(190px,24vmin,255px)}.monitor-slot{width:clamp(190px,24vmin,255px)}.ritual-copy{top:10px;padding:12px 16px}.ritual-copy h2{font-size:22px}.ritual-copy p{font-size:13px}}@media(max-width:980px){.guide-story{grid-template-columns:1fr;gap:45px}}@media(max-height:700px){.ritual-copy{top:8px;padding:8px 12px}.ritual-copy h2{font-size:18px;margin:4px 0 2px}.ritual-copy p{font-size:11px}.ritual-copy button{margin-top:4px;padding:4px 8px}.console-top,.console-bottom{font-size:8px}.monitor{--mw:clamp(170px,21vmin,225px)}.monitor-slot{width:clamp(170px,21vmin,225px)}}@media(max-height:600px){.ritual-copy h2{font-size:16px}.ritual-copy p{display:none}.ritual-copy small{font-size:8px}}

/* 首次接入保持平面监控伪装；第四路归位后才让页面发生媒介坍塌。 */
.project-guide:before{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;opacity:.18;background:radial-gradient(circle at 20% 30%,rgba(138,111,73,.12),transparent 32%),repeating-linear-gradient(92deg,rgba(255,247,220,.018) 0 1px,transparent 1px 7px)}
.guide-credit{position:absolute;z-index:3;left:clamp(24px,4vw,68px);right:clamp(24px,4vw,68px);bottom:24px;display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px solid rgba(141,124,112,.24);color:#625b55;font:10px var(--mono);letter-spacing:2px;text-align:left}.guide-credit b{color:#91847a;font:400 13px var(--note);letter-spacing:3px}.guide-credit small{margin-left:auto;color:#524c47!important;font:9px var(--mono)!important;letter-spacing:2px!important}
.guide-section{z-index:1}.story-copy blockquote{position:relative;border:1px dashed rgba(128,98,84,.42);border-left:1px dashed rgba(128,98,84,.42);background:rgba(63,35,29,.12);color:#9c4e45;transform:rotate(-.4deg)}.story-copy blockquote:after{content:"复原批注";position:absolute;right:13px;bottom:-12px;padding:2px 6px;border:2px solid rgba(130,39,31,.4);color:rgba(151,53,45,.5);font:10px var(--note);letter-spacing:3px;transform:rotate(-7deg)}
.transfer-collapse{position:absolute;z-index:70;inset:0;display:none;place-items:center;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(220,235,220,0.05) 3px),radial-gradient(circle,rgba(185,197,181,.16),rgba(0,0,0,.94) 35%,#000 72%)}.transfer-collapse:before,.transfer-collapse:after{content:"";position:absolute;left:50%;top:50%;width:2px;height:2px;border:1px solid rgba(218,228,215,.45);box-shadow:0 0 80px 30px rgba(163,183,168,.16);transform:translate(-50%,-50%)}.transfer-collapse i{position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 9px,rgba(220,235,220,.055) 10px 11px);animation:noisePull .16s steps(2) infinite}.transfer-collapse b{z-index:2;color:rgba(202,211,202,.48);font:9px var(--mono);font-weight:400;letter-spacing:6px;overflow:hidden;white-space:nowrap;width:0;animation:syncTypewriter 1s steps(6) forwards}
.stage[data-phase="transfer"] .transfer-collapse{display:grid;animation:collapseReveal 2.2s ease-in both}.stage[data-phase="transfer"] .ritual-copy,.stage[data-phase="transfer"] .console-top,.stage[data-phase="transfer"] .console-bottom,.stage[data-phase="transfer"] .console-desk,.stage[data-phase="transfer"] .center-void{animation:uiErase .85s .75s forwards}.stage[data-phase="transfer"] .monitor{animation:signalCollapse 2.05s cubic-bezier(.7,0,.9,.35) both}.stage[data-phase="transfer"] .monitor-2{animation-delay:.06s}.stage[data-phase="transfer"] .monitor-3{animation-delay:.12s}.stage[data-phase="transfer"] .monitor-4{animation-delay:.18s}.stage.transfer-drop{animation:stageFall .72s cubic-bezier(.7,0,1,.35) forwards}
@keyframes signalCollapse{0%{filter:brightness(1)}30%{filter:brightness(1.8) contrast(1.5) drop-shadow(0 0 18px rgba(180,190,173,.4))}42%{filter:brightness(2.1) contrast(1.7) drop-shadow(0 0 24px rgba(180,190,173,.5))}100%{left:50%;right:auto;top:50%;bottom:auto;opacity:0;filter:brightness(4) contrast(3);transform:translate(-50%,-50%) scale(.04)}}@keyframes collapseReveal{0%,25%{opacity:0}45%{opacity:.32}100%{opacity:1}}@keyframes noisePull{50%{transform:scale(1.08) rotate(.3deg)}}@keyframes uiErase{to{opacity:0;filter:blur(5px)}}@keyframes stageFall{0%{transform:scale(1)}50%{filter:brightness(2) contrast(1.8)}100%{filter:brightness(2.8) contrast(2.2);transform:scale(1.7);opacity:0}}
.field-frame{position:fixed;z-index:500;inset:0;display:none;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;background:#000;overflow:hidden;opacity:0;transition:opacity .45s ease}.field-frame:not([hidden]){display:block}.field-frame.is-ready{opacity:1}
html.field-open,body.field-open{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none}
.archive-login[hidden]{display:none!important}
.login-screen .return-guide{position:relative;z-index:2;margin:3px 0 10px;padding:3px 0;border:0;border-bottom:1px dotted rgba(126,157,128,.35);background:transparent;color:#6f806f;font:11px var(--note);letter-spacing:.08em}.login-screen .return-guide:hover{color:#a7b8a6}
.archive-login{position:fixed;z-index:180;inset:0;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 46%,#171719,#030304 62%,#000);overflow:hidden}.archive-login:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(210,225,211,.025) 4px),radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.72))}.login-machine{position:relative;width:min(610px,92vw);padding:18px 19px 12px;border:1px solid #4b4a47;border-radius:14px 14px 7px 7px;background:linear-gradient(145deg,#373736,#181819 35%,#0b0b0c);box-shadow:0 40px 110px #000,inset 2px 2px 1px rgba(255,255,255,.07);animation:bootUp 1.2s ease-out}.login-screen{position:relative;overflow:hidden;padding:42px 48px 36px;border:9px solid #090a09;border-radius:32px / 24px;background:radial-gradient(circle at 50% 42%,#111a14,#050806 74%);box-shadow:inset 0 0 80px #000,inset 0 0 30px rgba(145,184,150,0.15),0 0 8px rgba(145,184,150,0.25);color:#aebcae;text-shadow:0 0 8px rgba(117,177,126,.25);animation:scanlines 0.1s linear infinite}.login-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(190,222,195,.05) 3px),linear-gradient(110deg,rgba(255,255,255,.04),transparent 32%)}.login-screen>span{color:#6f846f;font:11px var(--mono);letter-spacing:4px}.login-screen h2{margin:15px 0 10px;color:#c1d0c0;font:400 32px var(--note);letter-spacing:.12em;overflow:hidden;white-space:nowrap;width:0;animation:typewriter 1.5s steps(8) forwards}.login-screen h2::after{content:'█';animation:blink 0.7s infinite;color:#c1d0c0}.login-screen>p{color:#7f907f;font:15px/1.7 var(--note)}.login-screen form{position:relative;z-index:2;margin-top:28px}.login-screen label{display:grid;grid-template-columns:100px 1fr;align-items:center;margin-top:14px;border-bottom:1px solid rgba(126,157,128,.28)}.login-screen label b{color:#829282;font:14px var(--mono);font-weight:400;letter-spacing:2px}.login-screen input{width:100%;padding:12px 7px;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;color:#d0dfce;font:20px var(--mono);letter-spacing:6px;text-shadow:0 0 8px rgba(125,196,137,.5);transition:all 0.3s ease}.login-screen input:focus{background:rgba(104,145,107,.08);text-shadow:0 0 12px rgba(125,196,137,.7);border-bottom:1px solid rgba(125,196,137,.4)}.login-screen input::placeholder{color:rgba(126,157,128,.3)}.login-screen form button{display:block;width:100%;margin-top:28px;padding:13px;border:1px solid rgba(129,157,130,.45);background:rgba(86,110,87,.08);color:#aebcae;font:16px var(--note);letter-spacing:.12em;transition:all 0.3s ease}.login-screen form button:hover{background:rgba(107,142,109,.2);border-color:#829883;box-shadow:0 0 15px rgba(125,196,137,.15);text-shadow:0 0 8px rgba(125,196,137,.4)}.login-screen form button:active{transform:translateY(1px);box-shadow:0 0 8px rgba(125,196,137,.1)}.login-screen .login-feedback{min-height:24px;margin-top:18px;color:#829182;font:13px/1.7 var(--mono);letter-spacing:.06em}.login-screen .login-feedback.error{color:#c07060;text-shadow:0 0 8px rgba(192,112,96,.4)}.login-screen.error{animation:screenError 0.3s ease}.login-screen small{display:block;color:#465347;font:11px var(--mono);letter-spacing:1px}.login-controls{display:flex;align-items:center;height:31px;padding:0 10px;gap:7px}.login-controls i{width:8px;height:8px;border-radius:50%;background:#1a1a19;box-shadow:inset 0 1px 2px #000}.login-controls i:first-child{background:#70342d;box-shadow:0 0 6px #8f4037}.login-controls em{color:#66645f;font:7px var(--mono);font-style:normal}.login-controls b{margin-left:auto;color:#77746d;font:9px var(--mono);font-weight:400;letter-spacing:2px}.archive-login.accepted .login-screen{animation:loginAccepted .75s ease forwards}@keyframes loginAccepted{0%{filter:brightness(1)}30%{filter:brightness(2.4)}100%{opacity:0;transform:scaleY(.015);filter:brightness(4)}}
@media(max-height:600px){.login-machine{padding:12px 14px 8px}.login-screen{padding:24px 28px 20px}.login-screen h2{font-size:22px;margin:8px 0 5px}.login-screen form label{font-size:11px}.login-screen input{font-size:15px;letter-spacing:4px;padding:7px 5px}.login-screen form button{margin-top:15px;padding:9px}}
@media(max-height:500px){.login-screen h2{font-size:18px}.login-screen p{font-size:10px}.login-screen form{margin-top:12px}}

/* 四路录像来自同一套旧监控系统：统一曝光、色偏、颗粒和镜头裁切。 */
.monitor-screen{background:#06100d}
.feed-room,.feed-person{transform:scale(1.045);transform-origin:50% 54%;filter:grayscale(.78) sepia(.14) hue-rotate(72deg) saturate(.42) brightness(.49) contrast(1.24)}
.feed-person{opacity:.88;mix-blend-mode:screen}
.feed-noise{opacity:.28;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(207,224,211,.075) 3px),repeating-linear-gradient(90deg,rgba(30,51,42,.055) 0 1px,transparent 1px 5px),linear-gradient(90deg,rgba(70,98,80,.06),transparent 46%,rgba(70,91,77,.055))}
.monitor-screen:before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,16,13,.18),transparent 28% 73%,rgba(5,11,9,.22)),radial-gradient(ellipse at 49% 48%,rgba(207,219,207,.035),rgba(0,0,0,.5) 82%);mix-blend-mode:screen}
.monitor-2 .feed-room,.monitor-2 .feed-person{transform:scale(1.045) translateY(.4%)}
.monitor-3 .feed-room,.monitor-3 .feed-person{transform:scale(1.045) translateX(-.35%)}
.monitor-4 .feed-room,.monitor-4 .feed-person{transform:scale(1.045) translate(.25%,.2%)}
.patrol-log{pointer-events:none;position:absolute;z-index:24;left:20px;top:50%;transform:translateY(-50%) rotate(-1.3deg);width:186px;padding:10px 12px 9px;border:1px solid rgba(96,80,64,.4);border-left:3px solid rgba(96,80,64,.5);background:linear-gradient(180deg,rgba(24,21,18,.74),rgba(14,12,10,.74));text-align:left;box-shadow:0 10px 30px rgba(0,0,0,.35)}.patrol-log b{display:block;color:#c9baa6;font-size:11px;letter-spacing:.18em}.patrol-log ol{margin:7px 0 5px;padding-left:16px;color:#9a8d7c;font-size:11.5px;line-height:1.85}.patrol-log time{margin-right:7px;color:#d8c9b2;font-variant-numeric:tabular-nums}.patrol-log small{display:block;margin-top:4px;color:#6e665b;font-size:9.5px;letter-spacing:.08em;line-height:1.5}@media (max-width:1100px){.patrol-log{width:150px}.patrol-log ol{font-size:10.5px}}
