@font-face{font-family:system;src:local('Arial')}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#101715;color:#e8eade;font-family:system-ui,'Microsoft YaHei',sans-serif}body{background-image:radial-gradient(ellipse at 80% 0%,#35483b55,transparent 60%)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{border:1px solid #66735e;background:#d5e3a5;color:#172018;padding:12px 19px;border-radius:4px;cursor:pointer;text-decoration:none;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;cursor:wait}.secondary{background:#19251e;color:#d8dfca;border-color:#475743}.danger{color:#ffc6ad;border-color:#785044;background:#35251f}a{color:#d5e3a5}input,textarea,select{width:100%;border:1px solid #475447;background:#101b15;color:#eef1e6;padding:10px;border-radius:4px}textarea{min-height:82px;resize:vertical}label{display:block;color:#bac7b4;font-size:.88rem;margin-bottom:14px}label input,label textarea,label select{margin-top:7px}input[type=checkbox]{width:auto;accent-color:#c7df91}input[type=range]{padding:0;accent-color:#ccdf9b}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,'Songti SC',serif;font-weight:400;letter-spacing:-.045em}h2{font-size:1.4rem;font-weight:500}p{line-height:1.65;color:#b4c0af}.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#bdd196}.shell{max-width:1240px;padding:30px;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3a4836;padding-bottom:20px;margin-bottom:34px;gap:20px}.brand{color:#e1e8cd;text-decoration:none;letter-spacing:.1em;font-size:.9rem}.brand small{color:#9caa92;margin-left:12px}.links{display:flex;gap:12px;align-items:center}.links a{font-size:.85rem;text-decoration:none}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;padding:65px 0}.hero h1{font-size:clamp(4rem,8vw,7.8rem);line-height:.95;margin:24px 0}.hero p{max-width:460px}.hero-art{height:510px;position:relative;background:linear-gradient(90deg,#10171500,#10171544),repeating-linear-gradient(0deg,transparent 0 78px,#17231d 79px 86px),repeating-linear-gradient(90deg,#52664b22 0 47px,#142219 48px 58px);border:1px solid #536149;box-shadow:inset 0 0 110px 40px #08100c}.hero-art:before{content:'三年级 · 教学楼';position:absolute;top:20px;left:25px;border:1px solid #7d8e67;padding:9px;color:#c6cfb2;letter-spacing:.2em;font-family:serif}.silhouette{position:absolute;bottom:45px;left:51%;width:50px;height:205px;background:#020604;clip-path:polygon(37% 0,65% 0,74% 11%,64% 17%,82% 23%,100% 72%,89% 75%,71% 40%,79% 100%,57% 100%,50% 66%,42% 100%,20% 100%,29% 39%,10% 75%,0 72%,18% 23%,37% 17%,27% 11%);filter:drop-shadow(0 0 20px black)}.stamp{position:absolute;bottom:20px;left:20px;font:11px monospace;color:#b2bca0}.ruleline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3b4736;margin-top:30px}.ruleline article{padding:25px 20px 10px 0}.ruleline span{font:12px monospace;color:#c1d496}.ruleline h3{font-weight:500;font-size:1rem;margin:12px 0}.ruleline p{font-size:.85rem}.panel{background:#18231c;border:1px solid #3b4a38;border-radius:6px;padding:24px}.narrow{max-width:450px;margin:80px auto}.notice{background:#293b25;border:1px solid #728256;padding:13px 16px;white-space:pre-wrap;border-radius:4px;margin:16px 0;color:#e5edcf}.notice.error{border-color:#a66b56;background:#3c2923;color:#ffd1bf}[hidden]{display:none!important}.dashboard{display:grid;grid-template-columns:260px 1fr;gap:28px}.sidebar{align-self:start}.lesson-button{display:block;width:100%;text-align:left;margin-bottom:9px;background:#172019;color:#c1cdb7;border:1px solid #3c4a36;font-size:.85rem}.lesson-button.active{border-color:#bdd196;background:#2d3d27;color:#eff6df}.flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.muted{color:#97a68f;font-size:.85rem;line-height:1.6}.question{margin:15px 0;padding:20px;border:1px solid #43503c;border-left:3px solid #899e64;border-radius:4px}.question h3{font-size:.85rem;font-weight:500}.question .grid2{gap:12px}.question label{margin-bottom:10px}.question details{margin-bottom:10px}.question summary{cursor:pointer;color:#cad6ba}.settings{padding:18px 0;border-top:1px solid #3c4a36;border-bottom:1px solid #3c4a36;margin:12px 0 24px}.settings label{margin:10px 0}.face-preview{width:74px;height:74px;object-fit:cover;border:1px solid #5a6a4d;border-radius:50%}.pub{padding:15px 0;border-top:1px solid #3c4a36}.pub p{margin:0 0 8px;font-size:.85rem}.pub input{font:12px monospace;margin-bottom:8px}.import-preview{max-height:240px;overflow:auto;white-space:pre-wrap;font:13px monospace}.modal{position:fixed;inset:0;background:#040906de;display:flex;justify-content:center;align-items:center;z-index:30;padding:20px;overflow:auto}.modal>.panel{width:min(100%,540px);max-height:95dvh;overflow:auto}.crop-canvas{width:100%;max-height:320px;object-fit:contain;background:#000}.game-body{height:100dvh;overflow:hidden;background:#040807}.game-body canvas#game{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.game-hud{position:absolute;inset:0;pointer-events:none;z-index:3;padding:22px}.game-hud button{pointer-events:auto;background:#101b16b8;color:#e4ebd9;border-color:#65735b;padding:9px 14px}.hud-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.hud-title{font-family:Georgia,serif;font-size:1.3rem;text-shadow:0 2px 6px black}.hud-title small{display:block;font:10px monospace;letter-spacing:.17em;color:#c1ccaf;margin-top:7px}.counter{font:20px monospace;background:#101b16b8;padding:12px;border:1px solid #65735b}.crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#e9ecd3;box-shadow:0 0 6px white;transform:translate(-50%,-50%)}.hud-bottom{position:absolute;bottom:25px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:end;gap:20px}.proximity{width:180px;padding:10px;background:#0a130dbb;border:1px solid #52634b;font:10px monospace;letter-spacing:.12em}.proximity i{display:block;height:3px;background:#a4b980;margin-top:10px;transform-origin:left;transition:transform .2s,background .2s}.hint{position:absolute;bottom:27%;left:50%;transform:translateX(-50%);background:#101c13e0;color:#dfebc6;border:1px solid #7d8b66;padding:11px 18px;text-align:center;font-size:.9rem;min-width:200px}.stamina{width:120px;height:3px;background:#48533f;margin-top:8px}.stamina i{display:block;height:100%;background:#ccd9a7;transform-origin:left}.toast{position:absolute;top:22%;left:50%;transform:translateX(-50%);background:#121e15ed;border:1px solid #7c8b65;padding:15px 20px;text-align:center;max-width:90%;width:max-content;color:#e4edcf}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 100px 35px #000b;pointer-events:none}.danger-overlay{position:absolute;inset:0;background:#7f1f121f;opacity:0;box-shadow:inset 0 0 100px #ac332366;pointer-events:none}.game-modal h1{font-size:3.5rem;margin-bottom:15px}.game-modal .panel{background:linear-gradient(145deg,#223122,#0c140f);border-color:#778461}.game-modal .eyebrow{margin-bottom:16px}.game-modal p{font-size:.9rem}.choices{display:grid;gap:10px;margin:20px 0}.choices button{text-align:left;justify-content:start;font-weight:400;background:#253420;color:#e4ecd7;min-height:48px}.choices button.selected{background:#526736}.question-word{font:italic 2.8rem Georgia,serif;color:#e4e9c7;overflow-wrap:anywhere}.answer-feedback{padding:12px;border-left:3px solid #b7cc87;color:#dce7c6;line-height:1.5}.review-list{padding-left:20px;line-height:1.7;color:#c6d1bb}.touch-controls{position:absolute;inset:0;z-index:5;pointer-events:none;display:none}.joystick{position:absolute;bottom:80px;left:30px;width:120px;height:120px;background:#cbd6b619;border:1px solid #a6b39466;border-radius:50%;pointer-events:auto;touch-action:none}.joystick i{position:absolute;left:40px;top:40px;width:40px;height:40px;border-radius:50%;background:#d6e2b770;pointer-events:none}.touch-action{position:absolute;right:25px;bottom:104px;pointer-events:auto;min-width:72px;min-height:64px;background:#1d2c20cc;color:#e6edcf}.touch-sprint{bottom:32px;right:31px;padding:10px;font-size:.8rem;min-height:48px}.touch-help{display:none}.no-scroll{overflow:hidden}.footer{border-top:1px solid #3c4a36;padding:24px 0;color:#8d9c86;font-size:.75rem}.badge{border:1px solid #526247;padding:5px 8px;font:10px monospace;letter-spacing:.1em;color:#c3d2ae}.empty{padding:25px 0;color:#9daa94}.capture-face{height:160px;width:120px;object-fit:cover;filter:grayscale(1);display:block;margin:0 auto 15px;background:#ced1bd;clip-path:ellipse(42% 49% at 50% 50%)}
@media(max-width:800px){.shell{padding:20px}.hero{grid-template-columns:1fr;padding:20px 0;gap:25px}.hero-art{height:300px}.hero h1{font-size:5rem}.ruleline{grid-template-columns:1fr}.ruleline article{padding:14px 0}.dashboard{grid-template-columns:1fr}.sidebar .lesson-list{display:flex;gap:8px;overflow:auto}.lesson-button{min-width:150px}.grid2{grid-template-columns:1fr}.topbar{margin-bottom:22px}.brand small{display:none}.question{padding:14px}.game-hud{padding:14px}.hud-title{font-size:1rem}.counter{font-size:16px;padding:9px}.hud-bottom{bottom:12px;left:14px;right:14px}.proximity{width:120px}.game-modal h1{font-size:2.8rem}.game-modal .panel{padding:20px}.game-modal .grid2{grid-template-columns:1fr 1fr}.hint{bottom:36%}.touch-help{display:block}.desktop-help{display:none}}
@media(pointer:coarse){.touch-controls{display:block}.desktop-help{display:none}.touch-help{display:block}}
@media(max-width:800px){.touch-controls{display:block}}
.player-status{position:absolute;top:95px;left:22px;font:11px monospace;letter-spacing:.1em;color:#d3dfbd;text-shadow:0 2px 4px black}.network-panel{margin-bottom:25px}.network-panel select{max-width:550px}.game-hud .hud-top .flex{max-width:60%;gap:6px}.game-hud #crouch-button,.game-hud #light-button{font-size:11px;padding:10px}.game-body .hint{max-width:85%;width:max-content}@media(max-width:800px){.hud-title small{max-width:150px;line-height:1.5}.player-status{top:100px;left:14px}.game-hud .hud-top .flex{max-width:65%}.game-hud #crouch-button,.game-hud #light-button{padding:10px 7px;font-size:10px}.hud-title{max-width:125px}.hud-top{gap:5px}}
.minimap-wrap{position:absolute;right:22px;top:116px;width:182px;background:#060d0beb;border:1px solid #526149;padding:7px;box-shadow:0 4px 16px #0007}.minimap-wrap span,.minimap-wrap small{display:block;font:9px monospace;letter-spacing:.1em;color:#cad6b8}.minimap-wrap canvas{display:block;width:100%;height:auto;margin:6px 0}.minimap-wrap small{font-size:7px;color:#8a9c80}.jump-scare{position:fixed;inset:0;background:#000;z-index:100;display:flex;justify-content:center;align-items:center;pointer-events:none;overflow:hidden}.jump-scare canvas{height:120dvh;width:auto;min-width:70vw;object-fit:cover;filter:contrast(1.2)}.jump-scare span{position:absolute;bottom:8%;font:18px monospace;letter-spacing:.35em;color:#e0e7cd;text-shadow:0 2px 10px black}.jump-scare.shock canvas{animation:scare-lunge .8s ease-out both}@keyframes scare-lunge{from{transform:scale(1.35) rotate(-4deg)}to{transform:scale(1.03) rotate(1deg)}}@media(max-width:800px){.minimap-wrap{width:126px;right:14px;top:136px}.minimap-wrap small{font-size:6px}.minimap-wrap span{font-size:8px}}
