:root{color-scheme:dark;--paper:#f0e9dc;--muted:#b5ab9b;--gold:#c5a878;--gold-bright:#e4c797;--line:#d5c4a329;--panel:#141411ed;--cyan:#c5a878;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#151411;color:var(--paper);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}[hidden]{display:none!important}
#viewport{position:fixed;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}kbd{display:inline-block;font:10px Consolas,monospace;border:1px solid #e5d5b832;border-radius:3px;padding:2px 4px;margin-left:6px;color:#c9bea9}
#intro{position:fixed;inset:0;z-index:100;background:linear-gradient(90deg,#10100ee8 0%,#10100e85 33%,transparent 72%),linear-gradient(0deg,#080807ad,transparent 23%,transparent 80%,#0808075c);padding:38px 48px;display:flex;flex-direction:column;justify-content:space-between;transition:opacity .7s}#intro.gone{opacity:0;pointer-events:none}
.intro-top,.intro-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.16em;color:#c3b7a1}.intro-top>span:first-child{font-size:12px;color:#ede2ce;letter-spacing:.22em}.intro-copy{max-width:560px;padding-bottom:8vh}.eyebrow{margin:0 0 12px;font-size:10px;letter-spacing:.2em;color:var(--gold)}
.intro-copy h1{margin:0 0 25px;font-family:Georgia,"Songti SC","SimSun",serif;font-size:clamp(43px,5.3vw,76px);font-weight:400;line-height:1.2;letter-spacing:-.035em;color:#f0e5d1}.intro-description{margin:0 0 32px;color:#c7bca8;font-size:13px;line-height:2;letter-spacing:.02em}.enter-button{display:flex;align-items:center;justify-content:space-between;gap:42px;min-width:225px;padding:16px 21px;border:1px solid #d2b8877a;border-radius:2px;background:#cbb38a;color:#211b12;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.enter-button:hover{background:#e5d2b1;transform:translateY(-2px)}.enter-button span:last-child{font-size:18px;font-weight:400}.intro-help{margin-top:18px;color:#a49680;font-size:9px;letter-spacing:.08em}
#hud{position:fixed;inset:0;pointer-events:none}#hud button,#hud input,#hud textarea,#hud select,.panel,dialog{pointer-events:auto}.topbar{position:absolute;left:30px;right:30px;top:25px;display:flex;justify-content:space-between;align-items:center;gap:18px}.identity{display:flex;flex-direction:column;gap:6px;text-shadow:0 1px 15px #000}.wordmark{font-size:11px;letter-spacing:.19em;color:#f0e6d2}#place-name{font-size:10px;letter-spacing:.06em;color:#c7bda9}.top-actions,.bottom-actions{display:flex;gap:7px;align-items:center}
.top-actions>button,.bottom-actions>button{background:#14130f8f;border:1px solid #d2b8872e;border-radius:4px;padding:9px 12px;backdrop-filter:blur(14px);font-size:10px;letter-spacing:.025em;color:#d6cbb7;transition:border-color .2s,background .2s,color .2s}.top-actions>button:hover,.bottom-actions>button:hover{color:#f4e7cf;border-color:#dbc29880;background:#211b13b3}.top-actions>button.active{color:#ead3ab;border-color:#c5a8788a;background:#372a18b8}#help-button{width:33px;height:33px;padding:0;font-size:13px}
.journey{position:absolute;top:91px;left:30px;width:188px;padding:13px 14px 11px;background:#161510a3;border:1px solid #c8af7b27;border-left:2px solid #b4976463;border-radius:3px;backdrop-filter:blur(14px);box-shadow:0 4px 24px #0002}.journey .eyebrow{font-size:8px;margin-bottom:7px;letter-spacing:.15em}.journey h2{margin:0 0 6px;font-size:13px;font-weight:500}.journey p:not(.eyebrow){margin:0 0 9px;color:#b5aa95;font-size:10px;line-height:1.65}.journey button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 0 0;border:0;border-top:1px solid #ddc69c24;background:none;font-size:9px;color:#d6bc91}.journey button:hover{color:#f0d7ac}
.journey.complete{display:flex;align-items:center;gap:14px;width:auto;max-width:calc(100vw - 60px);padding:9px 12px;border-left-width:1px;background:#15141086}.journey.complete .eyebrow,.journey.complete #journey-detail{display:none}.journey.complete h2{margin:0;font-size:10px;color:#bfb19a;white-space:nowrap}.journey.complete button{width:auto;padding:0 0 0 12px;border-top:0;border-left:1px solid #ddc69c29;font-size:10px;white-space:nowrap}
#reticle{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#f3e6ce91;box-shadow:0 0 4px #0007;transform:translate(-50%,-50%)}.interaction{position:absolute;left:50%;top:calc(50% + 26px);transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #c5a87856;border-radius:4px;background:#11110ed9;backdrop-filter:blur(12px);font-size:11px;white-space:nowrap}.interaction kbd{margin:0;color:#dcc095;border-color:#b99d676b}
.hotspot{position:absolute;transform:translate(-50%,-50%);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#151410b8;border:1px solid #c5a87839;border-radius:3px;padding:6px 9px;color:#d5c5a8;font-size:9px;backdrop-filter:blur(8px);box-shadow:0 2px 12px #0002}.hotspot:before{content:"";display:inline-block;width:3px;height:3px;margin-right:7px;border:1px solid #c1a477;transform:rotate(45deg);vertical-align:1px}.hotspot:hover{color:#211b12;background:#dcc49c;border-color:#e8cda0}
#toast{position:absolute;top:79px;left:50%;transform:translate(-50%,-8px);max-width:min(550px,78vw);padding:10px 17px;border:1px solid #cfb58231;border-radius:4px;background:#151410dc;color:#ddceb4;font-size:11px;line-height:1.65;text-align:center;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;backdrop-filter:blur(12px)}#toast.visible{opacity:1;transform:translate(-50%,0)}.bottom-bar{position:absolute;bottom:23px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;gap:12px}.move-hint{color:#c5b79e;font-size:9px;text-shadow:0 1px 12px #000}.move-hint>span{margin:0 12px;color:#a79d8a}.bottom-actions>button{padding:8px 11px}#quality-button{min-width:69px;color:#bda986}
#ar-frame{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 62%,#ad906710 100%);pointer-events:none}.ar-corner{position:absolute;width:22px;height:20px;border-color:#d3bd8754}.ar-corner.a{left:13px;top:13px;border-left:1px solid;border-top:1px solid}.ar-corner.b{right:13px;top:13px;border-right:1px solid;border-top:1px solid}.ar-corner.c{left:13px;bottom:13px;border-left:1px solid;border-bottom:1px solid}.ar-corner.d{right:13px;bottom:13px;border-right:1px solid;border-bottom:1px solid}.ar-state{position:absolute;bottom:73px;left:50%;transform:translateX(-50%);padding:6px 11px;border:1px solid #bba17239;border-radius:3px;background:#181811ab;color:#d3c09a;font-size:9px;letter-spacing:.08em;backdrop-filter:blur(12px)}.ar-state small{margin-left:10px;font-size:8px;color:#9e987e}.signal{display:inline-block;width:3px;height:3px;margin-right:7px;border-radius:50%;background:#d6c59b;box-shadow:0 0 6px #d2b87866}
.panel{background:var(--panel);backdrop-filter:blur(24px);border:1px solid #c3ae8033;border-radius:5px;box-shadow:0 18px 75px #0006;color:#e3dbc9}.tour-panel{position:absolute;left:30px;bottom:69px;width:245px;padding:17px}.tour-panel header{display:flex;justify-content:space-between;align-items:center}.tour-panel header strong{font-size:13px;font-weight:500}.tour-panel p{margin:10px 0;color:#a49b88;font-size:10px;line-height:1.7}.close-button{padding:3px 6px;border:0;background:none;color:#aa9e87;font-size:22px;line-height:1}.close-button:hover{color:#f0dab3}.tour-panel button:not(.close-button){display:block;width:100%;padding:9px 6px;border:0;border-bottom:1px solid #ffffff0b;background:none;text-align:left;font-size:11px;color:#cdbca0}.tour-panel button:not(.close-button):hover{background:#b59d6713;color:#f2d7ae}.tour-panel button:disabled{opacity:.3;cursor:default}
#jarvis-panel{position:absolute;right:30px;top:78px;bottom:72px;width:355px;padding:22px;overflow:auto;scrollbar-width:thin;scrollbar-color:#6d6047 transparent}#jarvis-panel h2{margin:0;font-size:17px;font-weight:500;letter-spacing:.02em}#jarvis-panel h3{margin:16px 0 11px;font-size:12px;font-weight:500;color:#dbc7a4}#jarvis-panel p{font-size:11px;line-height:1.8}.jarvis-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.jarvis-head p{margin:7px 0 0;color:#a89b83}.jarvis-tabs{display:flex;gap:5px;margin:18px 0;padding-bottom:15px;border-bottom:1px solid #ffffff0d}
.button,.chip{padding:8px 10px;border:1px solid #bda37346;border-radius:4px;background:#302719;color:#d9c39c;font-size:11px;line-height:1.45;transition:background .15s,border-color .15s}.button:hover,.chip:hover{background:#463724;border-color:#d1b27c8c}.chip{background:#ffffff03;color:#a99d87;border-color:#c0ac812d}.chip[aria-selected="true"],.chip.active{background:#bfa578;color:#1e190f;border-color:#cdb287}
.field{width:100%;min-width:0;padding:10px 11px;border:1px solid #c6b89125;border-radius:4px;background:#0c0d0b;color:#e4dac4;font-size:11px;line-height:1.6}.field::placeholder{color:#756e5e}textarea.field{min-height:68px;resize:vertical}.jarvis-form,.jarvis-command-form{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.jarvis-form .field,.jarvis-command-form .field{flex:1;min-width:100px}.jarvis-form select.field{flex:0 1 78px}.jarvis-form>label,.jarvis-form>textarea,.jarvis-form>.jarvis-toolbar,.jarvis-command-form>label{width:100%}.jarvis-note,.jarvis-memory,.empty-state{color:#a89b83;font-size:10px;line-height:1.8}.jarvis-output{margin:13px 0;padding:14px;border:1px solid #b59a6830;border-left:2px solid #b59a6870;border-radius:3px;background:#ab92640b;color:#ded2b9;font-size:12px;line-height:1.85;white-space:pre-wrap}.jarvis-list{display:flex;flex-direction:column;gap:7px}
.task,.jarvis-achievement{display:flex;gap:8px;align-items:start;padding:12px 11px;border:1px solid #ffffff10;border-radius:4px;background:#ffffff02;font-size:12px}.task{flex-direction:column;align-items:stretch}.task .field{padding:4px 6px}.task.done{opacity:.48}.task.done .task-title{text-decoration:line-through}.task input[type="checkbox"]{accent-color:#c7ad7c}.jarvis-task-main{display:flex;align-items:flex-start;gap:8px}.jarvis-task-title{flex:1;word-break:break-word;line-height:1.7}.jarvis-task-title.is-done{text-decoration:line-through;opacity:.5}.jarvis-task-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:4px;color:#a29377;font-size:9px}.jarvis-priority{width:78px}.jarvis-command-row{display:flex;width:100%;gap:7px}.jarvis-actions,.jarvis-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:9px 0}.jarvis-actions .button{padding:4px 7px;font-size:10px}.jarvis-tag{display:inline-block;padding:3px 7px;border:1px solid #a88c5229;border-radius:3px;background:#a58a5614;color:#b9a275;font-size:9px}.jarvis-achievement{display:block}.jarvis-achievement h4{margin:0 0 5px;color:#dfc9a4;font-size:12px;font-weight:500}.jarvis-achievement p{margin:0;color:#a3947b}.jarvis-memory{display:flex;align-items:center;justify-content:space-between;gap:8px}.jarvis-storage-note{padding-top:10px;border-top:1px solid #ffffff0e}.empty-state{margin:12px 0;padding:18px 10px;border:1px dashed #bca5752c;border-radius:4px;text-align:center}
dialog{width:calc(100% - 38px);max-width:470px;max-height:88vh;overflow:auto;padding:28px;border:1px solid #c5ab7754;border-radius:5px;background:#161611f5;color:#e6d8bf;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#070706b8;backdrop-filter:blur(8px)}dialog>.close-button{float:right}dialog h2{margin:8px 0 22px;font-family:Georgia,"Songti SC","SimSun",serif;font-size:28px;font-weight:400}dialog dt{margin-top:14px;font-size:11px;color:#d4b783}dialog dd{margin:4px 0;color:#aa9e87;font-size:11px;line-height:1.85}
#concept-dialog{width:calc(100% - 64px);max-width:1200px;padding:30px}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.concept-grid figure{margin:0;overflow:hidden;border:1px solid #c5ab772b;background:#0d0e0c}.concept-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.concept-grid figcaption{padding:17px 18px}.concept-grid figcaption>span{display:block;margin-bottom:10px;color:#9e8861;font-size:9px;letter-spacing:.16em}.concept-grid strong{font-size:13px;font-weight:500;color:#e7d4b1}.concept-grid p{margin:8px 0 0;color:#a99b82;font-size:11px;line-height:1.85}.concept-note,.asset-credit{margin:20px 0 0;color:#847a65;font-size:10px;line-height:1.7}.asset-credit a{color:#b8a781;text-decoration:none}.asset-credit a:hover{text-decoration:underline}
#touch-controls{display:none}#crash{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:#151411;color:#ddd0b9;text-align:center}#crash h2{font-size:22px;font-weight:400}#crash p{max-width:600px;font-size:13px;line-height:1.9}#crash button{margin-top:10px;padding:12px 24px;border:1px solid #b29b7366;border-radius:3px;background:none}
@media(max-width:760px){#intro{padding:25px 23px;background:linear-gradient(90deg,#11110dcc,transparent),linear-gradient(0deg,#10100ef0,transparent 88%)}.intro-top>span:last-child,.intro-bottom>span:last-child{display:none}.intro-copy{padding-bottom:8vh}.intro-copy h1{font-size:clamp(39px,10vw,52px)}.intro-description{font-size:12px}.intro-help{font-size:8px}.intro-top,.intro-bottom{font-size:9px}.topbar{left:16px;right:16px;top:17px}.wordmark{font-size:9px;letter-spacing:.14em}#place-name{font-size:9px}.top-actions{gap:5px}.top-actions>button{padding:8px 9px;font-size:9px}.top-actions kbd{display:none}#help-button{width:30px;height:30px}.journey{left:16px;top:78px;width:165px;padding:10px 11px}.journey h2{font-size:12px}.journey p:not(.eyebrow){font-size:9px;line-height:1.6}.journey .eyebrow{font-size:7px;margin-bottom:6px}.journey.complete{max-width:calc(100vw - 32px);gap:9px;padding:8px 10px}.journey.complete h2,.journey.complete button{font-size:9px}.journey.complete button{padding-left:9px}
#jarvis-panel{left:12px;right:12px;top:69px;bottom:67px;width:auto;padding:18px;background:#141411f7}.bottom-bar{bottom:20px;left:16px;right:16px;gap:6px}.move-hint{display:none}.bottom-actions{margin-left:auto;gap:5px}.bottom-actions>button{padding:8px 9px;font-size:9px}#quality-button{min-width:61px}.hotspot{padding:7px 9px;font-size:9px;max-width:135px}.tour-panel{left:16px;bottom:64px;width:230px;padding:15px}.interaction{top:calc(50% + 22px);font-size:10px}.ar-state{bottom:63px;font-size:8px}.ar-state small,.ar-corner{display:none}#toast{top:65px;max-width:82vw;padding:9px 13px;font-size:10px}
#touch-controls{display:block;position:absolute;inset:0;pointer-events:none}#joystick{position:absolute;bottom:80px;left:22px;width:88px;height:88px;border:1px solid #dcc49c4d;border-radius:50%;background:#17140b26;pointer-events:auto;touch-action:none}#joystick-knob{position:absolute;left:26px;top:26px;width:34px;height:34px;border:1px solid #ead3a975;border-radius:50%;background:#d5be915c}#touch-interact{position:absolute;bottom:96px;right:25px;width:50px;height:50px;border:1px solid #dcc49c62;border-radius:50%;background:#17140b68;color:#d7c49e;font-size:14px}.touch-hint{position:absolute;bottom:59px;left:22px;color:#b9aa8c;font-size:8px;pointer-events:none}dialog{max-height:85vh;padding:23px}#concept-dialog{width:calc(100% - 24px);padding:20px}#concept-dialog h2{font-size:24px;margin-bottom:19px}.concept-grid{grid-template-columns:1fr;gap:16px}.concept-grid figcaption{padding:14px 15px}.concept-grid strong{font-size:12px}.concept-grid p{font-size:10px}.concept-note{font-size:9px;line-height:1.7}}
@media(max-width:360px){.identity .wordmark{font-size:8px;letter-spacing:.06em}.top-actions>button{padding:8px 7px}.bottom-actions{gap:4px}.bottom-actions>button{padding:8px 7px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
