/* 梦核：启动页、CRT、噪点颗粒 */
.boot-screen { display:grid; place-items:center; background:radial-gradient(circle at 82% 82%,#4d463c 0%,#242729 42%,#0b0d0e 100%); }
.boot-glow { position:absolute; inset:auto 0 0 auto; width:60vw; height:70vh; background:radial-gradient(circle,rgba(244,164,96,.18),transparent 68%); animation:boot-glow-pulse 6s cubic-bezier(.4,0,.2,1) infinite; pointer-events:none; }
.grain-overlay { position:absolute; inset:0; z-index:20; opacity:.06; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); animation:grain-shift 1.5s steps(6) infinite; }
.dust-field i { position:absolute; width:var(--s); height:var(--s); left:var(--x); top:var(--y); border-radius:50%; background:#e8d8ba; opacity:.28; animation:dust-float var(--d) linear var(--delay) infinite; }
.dust-field i:nth-child(1){--s:3px;--x:12%;--y:24%;--d:11s;--delay:-3s}.dust-field i:nth-child(2){--s:2px;--x:26%;--y:70%;--d:9s;--delay:-1s}.dust-field i:nth-child(3){--s:4px;--x:40%;--y:16%;--d:14s;--delay:-7s}.dust-field i:nth-child(4){--s:2px;--x:58%;--y:32%;--d:10s;--delay:-2s}.dust-field i:nth-child(5){--s:3px;--x:70%;--y:78%;--d:13s;--delay:-6s}.dust-field i:nth-child(6){--s:2px;--x:82%;--y:38%;--d:12s;--delay:-4s}.dust-field i:nth-child(7){--s:4px;--x:89%;--y:64%;--d:9s;--delay:-8s}.dust-field i:nth-child(8){--s:2px;--x:18%;--y:88%;--d:14s;--delay:-9s}
.crt-monitor { position:absolute; left:50%; top:36%; width:min(59vw,670px); height:min(46vw,402px); transform:translate(-50%,-50%); opacity:.83; filter:drop-shadow(0 21px 22px #0a0a0a); }
.crt-screen { position:absolute; inset:0 8% 16%; border-radius:7% 8% 6% 5%; background:#111a1b; border:17px solid #4b4a45; border-right-color:#41413d; box-shadow:inset 0 0 22px #0a0a0a,0 0 18px rgba(201,155,74,.14); overflow:hidden; }
.crt-screen:before { content:""; position:absolute; inset:0; background:rgba(205,213,208,.025); background-image:url("data:image/svg+xml,%3Csvg width='4' height='4' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 1h4' stroke='%23f5f5f0' stroke-opacity='.08'/%3E%3C/svg%3E"); animation:crt-static-shift .4s steps(4) infinite; }
.crt-screen span { position:absolute; inset:35% 20%; border:1px solid rgba(194,213,216,.2); box-shadow:0 0 22px rgba(182,231,221,.25); animation:crt-breath-pulse 4s linear infinite; }
.crt-cursor { position:absolute; left:24%; top:39%; color:#c99b4a; font:22px var(--font-mono); animation:cursor-blink 1s steps(2) infinite; }
.crt-neck { position:absolute; bottom:10%; left:38%; width:24%; height:13%; background:#31302e; clip-path:polygon(18% 0,82% 0,100% 100%,0 100%); }
.crt-base { position:absolute; bottom:0; left:25%; width:50%; height:12%; border-radius:44% 46% 10% 9%; background:#3f3d39; }
.boot-copy { position:relative; z-index:2; text-align:center; margin-top:min(47vh,350px); }
.bios-strip { display:flex; justify-content:space-between; width:min(440px,76vw); margin:0 auto 14px; color:#b79a66; font:10px var(--font-mono); letter-spacing:1px; opacity:.72; }
.eyebrow { color:#9b8b72; font:10px var(--font-mono); letter-spacing:3px; opacity:.65; }
.boot-copy h1 { margin:10px 0 14px; color:var(--dc-faded); font:42px var(--font-serif); letter-spacing:20px; text-indent:20px; animation:boot-title-appear 2s ease-out forwards; }
.boot-subtitle { margin:0 0 18px; color:var(--dc-shadow); font-size:14px; letter-spacing:4px; opacity:0; animation:boot-subtitle-appear 2.5s ease-out .4s forwards; }
.boot-diagnostics { display:flex; justify-content:center; gap:16px; margin:0 auto 24px; color:#8e9b7f; font:10px var(--font-mono); letter-spacing:1px; opacity:.75; }
.glass-button { position:relative;left:1px;padding:9px 29px 10px;border:1px solid #665f53;border-top-color:#e1d8c4;border-left-color:#d6ccb8;border-radius:0;background:#b7ad99;color:#192029;font:12px 'SimSun','宋体',serif;letter-spacing:2px;box-shadow:inset 0 1px #cec4af;transition:transform .14s cubic-bezier(.4,0,.2,1),filter .14s linear; }
.glass-button:hover { filter:brightness(1.08);outline:1px solid rgba(175,145,76,.6);outline-offset:2px; }
.glass-button:active { transform:scale(.96); }
.build-label { position:absolute; bottom:22px; color:rgba(139,125,107,.4); font-size:10px; letter-spacing:2px; }
@keyframes grain-shift{0%,100%{background-position:0 0}25%{background-position:3% -2%}50%{background-position:-2% 3%}75%{background-position:2% 2%}}
@keyframes boot-glow-pulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes dust-float{0%,100%{transform:translate(0,0);opacity:.18}50%{transform:translate(18px,-24px);opacity:.5}}
@keyframes crt-static-shift{0%,100%{transform:translate(0)}50%{transform:translate(2px,-1px)}}
@keyframes crt-breath-pulse{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.15);opacity:.9}}
@keyframes boot-title-appear{from{opacity:0;letter-spacing:20px}to{opacity:1;letter-spacing:12px}}
@keyframes boot-subtitle-appear{0%,60%{opacity:0}100%{opacity:1}}
@keyframes cursor-blink{0%,45%{opacity:1}46%,100%{opacity:0}}
.boot-password-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(5,8,8,.72)}.password-panel{width:min(430px,calc(100vw - 35px));padding:17px;border:1px solid #756f63;border-top-color:#d9d0bc;border-left-color:#cdc4b2;background:#c8c1ae;color:#1b2930;box-shadow:7px 9px 0 rgba(10,10,10,.4);font:12px 'SimSun','宋体',serif}.password-title{padding-bottom:7px;margin-bottom:13px;border-bottom:1px solid #8e897b;color:#173755;font-weight:bold;letter-spacing:1px}.password-panel input{width:100%;padding:7px;border:1px solid #6d8193;border-radius:0;background:#e9e5d8;color:#152c4a;font:13px 'Courier New',monospace}.password-feedback{min-height:17px;margin:9px 0 0;color:#742a27;font:11px 'SimSun','宋体',serif}.boot-clue{display:grid;grid-template-columns:119px 1fr;gap:13px;margin-top:13px;padding-top:11px;border-top:1px solid #948e80}.boot-clue img{width:119px;height:99px;object-fit:cover;border:1px solid #777268;filter:brightness(.92) contrast(.96) sepia(.08) saturate(.85)}.boot-clue ol{padding-left:17px;margin:0;font-size:10px;line-height:1.55}.boot-clue strong{color:#742a27}.password-shake{animation:password-shake .16s steps(3) 2}.password-shake-strong{animation:password-shake .12s steps(3) 4}.password-blackout{background:#0a0a0a}.password-blackout .password-panel{border:0;background:transparent;box-shadow:none}.password-blackout .password-panel>*:not(.password-feedback){visibility:hidden}.password-blackout .password-feedback{position:fixed;inset:0;display:grid;place-items:center;margin:0;color:#d4c5a9;font:16px var(--font-serif);letter-spacing:4px}.photo-flash{animation:photo-flash .15s steps(2)}@keyframes password-shake{0%,100%{transform:translateX(0)}33%{transform:translateX(-8px)}66%{transform:translateX(8px)}}@keyframes photo-flash{50%{filter:brightness(2.4) contrast(1.35)}}
