@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap";:root{font-family:Arial,Microsoft YaHei,sans-serif;color:#eae9db;background:#0a1512;font-synthesis:none;--gold:#d1b77e;--muted:#a5afa4;--line:rgba(213,209,173,.22)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid #f0d79d;outline-offset:6px}button{color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Noto Serif SC",Songti SC,SimSun,serif}a-scene{position:fixed!important;inset:0;z-index:0}.screen{position:fixed;inset:0;z-index:5}.home{isolation:isolate;background:#0c1a15}.home-art,.home-shade,.grain{position:absolute;inset:0;z-index:-1}.home-art{background:url(/assets/maze-concept.webp) center 50% / cover;animation:reveal 1.8s ease}.home-shade{background:linear-gradient(90deg,#030d0aeb,#040d0ab3 29%,#050e0c26 68%,#050e0c0d),linear-gradient(0deg,rgba(4,12,9,.94),transparent 24%,transparent 80%,rgba(4,12,9,.5))}.grain{opacity:.05;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' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.masthead{position:absolute;top:32px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-family:"Noto Serif SC",serif;font-size:19px;letter-spacing:4px}.brand svg{width:32px;height:40px;stroke:var(--gold);stroke-width:1.2;fill:none}.brand-sub{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:2.6px;color:var(--gold);margin-top:6px}.top-links{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1px;color:#c7cdbf}.status-dot{width:5px;height:5px;background:#9cab7b;border-radius:50%;box-shadow:0 0 12px #9cab7b}.text-button{border:0;background:none;font-size:12px;padding:12px 0;color:#ced1c2}.top-links .text-button{margin-left:32px;border-bottom:1px solid var(--line)}.text-button span{margin-left:12px;color:var(--gold)}.hero-copy{position:absolute;left:8.2%;top:50%;transform:translateY(-46%);max-width:580px}.eyebrow{font-size:10px;letter-spacing:2.6px;color:var(--gold);display:flex;align-items:center;gap:13px}.eyebrow>span{width:24px;height:1px;background:var(--gold)}h1{font-weight:400;font-size:clamp(54px,5.3vw,86px);letter-spacing:6px;line-height:1.28;margin:25px 0 24px}h1 span{color:#d9c798}h1 i{font-style:normal;color:#d9c798;font-size:.6em;margin-left:-8px}.intro{font-size:13px;color:#b4bdb1;line-height:2.05;letter-spacing:1.8px}.mode-selector{display:flex;gap:24px;margin:32px 0 20px}.mode{padding:10px 0;border:none;border-bottom:1px solid transparent;background:transparent;color:#8e9b8d;font-size:12px;letter-spacing:1px}.mode small{font-size:10px;margin-left:8px;opacity:.6}.mode.active{border-color:var(--gold);color:#e6dfc9}.hero-actions{display:flex;gap:12px}.primary,.secondary{min-height:52px;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:24px;letter-spacing:1px;border:1px solid var(--line);transition:background .2s,transform .2s}.primary{background:#d2bc8b;color:#1a251d;border-color:#d2bc8b;font-weight:600;min-width:218px}.primary:hover{background:#e4d1a4;transform:translateY(-1px)}.primary>span:last-child{font-size:22px;font-weight:400}.primary #start-label{font-size:14px}.secondary{background:#0a171280;font-size:13px;color:#dadbcf}.secondary:hover{background:#23382c}.secondary svg{width:24px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}.device-note{font-size:10px;color:#89998c;margin-top:18px;letter-spacing:.7px}.scene-caption{position:absolute;right:4.5%;bottom:22%;display:flex;flex-direction:column;gap:9px;text-align:right;color:#dae0d6;font-size:11px;letter-spacing:3px}.caption-line{height:28px;border-right:1px solid #b8c8ad;margin-bottom:6px}.scene-caption small{font-family:Georgia,serif;font-size:8px;color:#a3b4a3;letter-spacing:1.4px}.home-footer{position:absolute;bottom:48px;left:4.5%;right:4.5%;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;align-items:center}.chapters{display:flex;gap:50px;font-size:11px;letter-spacing:1.7px;color:#bfc7b9}.chapters b{font-family:Georgia,serif;color:#9a8c66;font-size:12px;margin-right:14px;font-weight:400}.concept-link{border:0;background:none;color:#c9cdbc;font-size:11px;letter-spacing:1px}.concept-link span{color:var(--gold);margin-left:18px}.project-note{position:absolute;bottom:15px;left:4.5%;font-size:9px;letter-spacing:1px;color:#728070}#load-error{color:#f1cb9a;font-size:12px;max-width:350px;margin-top:15px;line-height:1.8}.dialog{background:#111f1a;color:#e5e5d4;border:1px solid #50604a;padding:42px;width:min(580px,92vw);max-height:88dvh;box-shadow:0 30px 130px #000a}.dialog::backdrop,.concept-dialog::backdrop{background:#020b08cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog h2{font-weight:400;font-size:32px;letter-spacing:3px;margin:14px 0 18px}.dialog-intro{font-size:13px;line-height:1.95;color:#acb9a9}.close{position:absolute;right:16px;top:12px;font-size:25px;border:0;background:none;color:#b2bea9;width:36px;height:36px}.guide-steps{margin:28px 0}.guide-steps>div{display:flex;gap:20px;margin:22px 0}.guide-steps b{font-family:Georgia,serif;font-size:20px;color:var(--gold);font-weight:400}.guide-steps h3{font-size:16px;font-weight:400;margin-bottom:8px}.guide-steps p,.control-guide p{font-size:12px;color:#acb9a9;line-height:1.8}.control-guide{border-top:1px solid var(--line);padding-top:16px;margin-bottom:25px}.control-guide p{margin-bottom:8px}.control-guide b{color:var(--gold);margin-right:10px}.wide{width:100%;margin-top:12px}.compact{max-width:430px;text-align:center}.compact .eyebrow{justify-content:center}.compact .dialog-intro{margin-bottom:26px}.end-symbol{font-size:64px;color:var(--gold);margin:18px}.end-stats{padding:20px 0;border-top:1px solid var(--line);color:var(--gold);font-size:13px;letter-spacing:1px}.concept-dialog{background:#101e18;padding:0;color:#e5e5d4;border:1px solid #465b49;width:min(1180px,94vw);max-height:92dvh}.concept-dialog img{display:block;width:100%;max-height:67dvh;object-fit:cover}.concept-dialog>div{padding:25px 34px}.concept-dialog h2{font-weight:400;margin:10px 0}.concept-dialog p:not(.eyebrow){font-size:12px;color:#9daf9d;line-height:1.8}.concept-dialog a{display:inline-block;color:var(--gold);font-size:12px;margin-top:12px}.concept-dialog .close{background:#0b1617a8;border-radius:50%}#game-ui{position:fixed;inset:0;z-index:2;pointer-events:none}#game-ui button,#game-ui #move-pad{pointer-events:auto}.game-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#06120f96,transparent 23%,transparent 75%,#06120fc9);pointer-events:none}.game-header{position:absolute;top:30px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:flex-start}.game-header h2{font-weight:400;letter-spacing:4px;font-size:23px;margin:10px 0 14px}.seal-count{color:var(--gold);letter-spacing:4px;font-size:19px}.seal-count span{font-size:10px;letter-spacing:1px;margin-left:14px;color:#c5cebd}.game-top-right{display:flex;gap:25px;align-items:center}.timer{display:flex;flex-direction:column;gap:6px;text-align:right}.timer span{font-size:10px;color:#c0c7b6;letter-spacing:2px}.timer strong{font-family:Georgia,serif;font-weight:400;font-size:28px;letter-spacing:3px}.square-button{width:42px;height:42px;border:1px solid var(--line);background:#10221e85;font-size:17px}.reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:#eee9c9b0;box-shadow:0 0 0 6px #fff1}.toast{position:absolute;top:24%;left:50%;transform:translate(-50%);font-size:13px;letter-spacing:2px;max-width:80%;text-align:center;text-shadow:0 2px 8px #000;transition:opacity .4s;line-height:1.8}.interact-prompt{position:absolute;left:50%;top:60%;transform:translate(-50%);padding:13px 21px;background:#0b211bd9;border:1px solid #b9d5a358;font-size:13px;color:#e5dbba;white-space:nowrap}.game-footer{position:absolute;bottom:45px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:end}.objective{display:flex;align-items:center;gap:15px}.objective-mark{font-size:35px;color:var(--gold)}.objective small{font-size:9px;color:#a5b59f;letter-spacing:2px}.objective p{font-size:12px;letter-spacing:1px;margin-top:7px}.spell-actions{display:flex;gap:9px}.spell{border:1px solid var(--line);background:#0d211ac9;font-size:11px;padding:12px 14px;min-height:42px}.spell.active{border-color:#ccb87d80;color:#e5d59f}.spell kbd{font-family:Georgia,serif;font-size:11px;margin-right:8px;color:var(--gold)}.desktop-tip{position:absolute;bottom:17px;left:34px;font-size:9px;letter-spacing:1px;color:#b9c3ae}.mobile-controls{display:none}#map-panel{position:absolute;right:34px;top:150px;background:#0b1d19ec;border:1px solid #94aa784d;padding:16px;pointer-events:auto}.map-title{font-size:12px;color:var(--gold);margin-bottom:12px}.map-title span{font-size:9px;display:block;margin-top:6px;color:#97ac96}#map-grid{display:grid;grid-template-columns:repeat(13,13px);gap:2px}.map-cell{height:13px;background:#253d31;position:relative}.map-cell.wall{background:#0e211b}.map-cell.player{background:#f4edcb;border-radius:50%}.map-cell.seal:after,.map-cell.cup:after{content:"◆";position:absolute;font-size:11px;inset:-1px;color:#d1b77e;text-align:center}.map-cell.cup:after{content:"✧";color:#7ed4eb}.map-cell.gate{background:#59764a}.xr-active #game-ui,body.playing .home{display:none}@keyframes reveal{0%{opacity:.3;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@media(min-width:1600px){.hero-copy{left:10%}.masthead{top:42px}.hero-copy h1{font-size:90px}.intro{font-size:15px}.home-footer{bottom:56px}}@media(max-height:760px)and (min-width:801px){h1{font-size:60px;margin:16px 0}.hero-copy{transform:translateY(-43%)}.mode-selector{margin:16px 0 12px}.hero-copy .intro{font-size:12px}.home-footer{bottom:38px;padding-top:17px}.masthead{top:23px}.scene-caption{bottom:24%}}@media(max-width:800px){.masthead{top:23px;left:6%;right:6%}.brand{font-size:16px}.top-links>span{display:none}.top-links .text-button{margin-left:0}.home-art{background-position:62% center}.home-shade{background:linear-gradient(90deg,#04100bde,#07160e70),linear-gradient(0deg,#06120fee,transparent 80%)}.hero-copy{left:8%;right:8%;top:48%;max-width:none;transform:translateY(-43%)}h1{font-size:clamp(48px,10vw,70px);letter-spacing:5px}.eyebrow{font-size:8px;letter-spacing:2px}.intro{font-size:12px;letter-spacing:1px}.scene-caption{display:none}.chapters{gap:20px;font-size:9px;letter-spacing:0}.chapters b{margin-right:7px}.concept-link{font-size:10px}.concept-link span{margin-left:4px}.home-footer{left:6%;right:6%;bottom:46px;padding-top:18px;gap:16px}.project-note{left:6%;font-size:8px}.game-header{top:20px;left:20px;right:20px}.game-header h2{font-size:20px}.game-footer{left:20px;right:20px;bottom:22px;align-items:start;gap:20px}.objective{display:none}.spell-actions{gap:6px}.spell{padding:10px;font-size:10px}.spell kbd,.desktop-tip{display:none}.game-top-right{gap:12px}.timer strong{font-size:25px}.mobile-controls{display:block}#move-pad{position:absolute;bottom:110px;left:30px;width:106px;height:106px;border-radius:50%;background:#c4d3ba12;border:1px solid #dbe4c840;touch-action:none}#move-knob{position:absolute;width:42px;height:42px;left:31px;top:31px;border:1px solid #ebdfb96b;border-radius:50%;background:#d6d4ac2b}#cast-btn{position:absolute;right:30px;bottom:125px;width:64px;height:64px;font-size:35px;border-radius:50%;border:1px solid #e9ddad75;background:#15362c98;color:#ecdfad}.toast{top:29%;font-size:12px;width:80%}.interact-prompt{top:55%;font-size:11px;padding:10px 16px}#map-panel{right:20px;top:140px}.dialog{padding:32px 26px}.dialog h2{font-size:28px}.dialog-intro{font-size:12px}.guide-steps{margin:18px 0}.guide-steps>div{margin:17px 0}.concept-dialog>div{padding:22px}.concept-dialog h2{font-size:21px}.device-note{font-size:9px}.hero-actions{gap:10px}.primary{min-width:190px;padding:0 20px}.secondary{padding:0 16px;gap:10px}.mode-selector{margin-top:24px}}@media(pointer:coarse){.mobile-controls{display:block}.desktop-tip{display:none}}@media(max-width:420px){.chapters{gap:12px}.chapters span:last-child{display:none}.home-footer{bottom:42px}.hero-copy{left:7%;right:7%}.hero-actions .primary{min-width:180px}.hero-actions .secondary{padding:0 13px;font-size:12px}h1{font-size:53px}.game-header .eyebrow{font-size:7px}.seal-count{font-size:15px}.seal-count span{margin-left:7px;font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
