:root{--night:#101b19;--ink:#18312e;--paper:#f1f4ef;--muted:#57716c;--accent:#a94338;--line:#c4d2cb}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--night);color:var(--paper);letter-spacing:0;font-family:Noto Sans CJK SC,Microsoft YaHei,sans-serif}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.experience{background:var(--night);min-height:100dvh}.scene{isolation:isolate;background:#203935;width:min(100%,56.25dvh);height:100dvh;min-height:520px;margin:0 auto;position:relative;overflow:hidden}.intro{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.scene-header,.scene-footer{z-index:3;justify-content:space-between;align-items:center;gap:12px;padding:18px max(18px,4%);display:flex;position:absolute;left:0;right:0}.scene-header{background:linear-gradient(#071614b3,#0000);top:0}.scene-footer{color:#e2eee9;background:linear-gradient(#0000,#071614c2);font-size:12px;bottom:0}.brand{color:#fff;gap:1px;text-decoration:none;display:grid}.brand strong{font-family:Songti SC,SimSun,serif;font-size:22px;font-weight:400}.brand span{color:#d4e3dd;font-size:11px}.scene-actions{gap:8px;display:flex}.scene-actions button,.scene-footer a,.reading-head button{color:#fff;white-space:nowrap;background:#081f1b94;border:1px solid #edf8f173;border-radius:4px;min-height:44px;padding:0 12px;font-size:13px;text-decoration:none}.scene-footer a{align-items:center;display:inline-flex}.play-intro{z-index:4;color:#fff;background:var(--accent);border:0;border-radius:4px;min-height:48px;padding:0 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog{z-index:5;width:min(88%,460px);color:var(--ink);background:var(--paper);border:1px solid #fff;border-radius:6px;padding:22px;position:absolute;top:43%;left:50%;transform:translate(-50%);box-shadow:0 16px 45px #02121040}.dialog:before{content:"";border-left:22px solid #0000;border-right:22px solid #0000;border-bottom:clamp(24px, 4dvh, 38px) solid var(--paper);width:0;height:0;position:absolute;bottom:calc(100% - 1px);left:calc(50% - 8px)}.step-label{color:var(--muted);font-size:12px}.dialog h1{color:var(--ink);margin:10px 0 18px;font-family:Songti SC,SimSun,serif;font-size:24px;font-weight:400}.dialog textarea,.dialog input{width:100%;min-height:48px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:4px;outline:none;padding:11px 12px;font-size:16px}.dialog textarea{resize:vertical;min-height:88px;max-height:160px;line-height:1.5}.dialog textarea:focus,.dialog input:focus{border-color:var(--muted);box-shadow:0 0 0 2px #4b776b29}.dialog input::placeholder,.dialog textarea::placeholder{color:#728982}.primary,.secondary{border-radius:4px;min-height:48px;padding:0 20px;font-size:16px}.primary{color:#fff;background:var(--accent);border:1px solid var(--accent)}.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}#questionForm>.primary,form>.primary{width:100%;margin-top:14px}.number-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.number-row label{min-width:0;color:var(--muted);font-size:13px}.number-row input{text-align:center;margin-top:7px}.form-actions{grid-template-columns:1fr 2fr;gap:10px;margin-top:22px;display:grid}.form-actions .primary{margin-top:0}.form-error{color:#9d352f;margin:10px 0 0;font-size:13px}.reading{z-index:6;background:#0c1d1bf5;border-radius:8px 8px 0 0;flex-direction:column;display:flex;position:absolute;inset:14% 0 0;overflow:hidden;box-shadow:0 -12px 35px #0003}.reading-head{border-bottom:1px solid #eaf6ee2b;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;font-family:Songti SC,SimSun,serif;font-size:17px;display:flex}.reading-head button{font-family:inherit}.reading-actions{gap:8px;display:flex}.reading-loading{text-align:center;margin:auto;padding:30px}.reading-loading h2{font-size:20px;font-weight:400}.reading-loading p{color:#b9cec5}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}#readingResult{padding:24px 22px 64px;overflow-y:auto}#readingResult h2{margin:20px 0 14px;font-family:Songti SC,SimSun,serif;font-size:21px;font-weight:400}.reading-meta{flex-wrap:wrap;gap:7px;display:flex}.reading-meta span{color:#cfddd5;border:1px solid #e3f1e84d;border-radius:3px;padding:5px 9px;font-size:12px}.reading-text{overflow-wrap:anywhere;font-size:15px;line-height:1.9}.reading-text h3{color:#e8f2ec;margin:20px 0 8px;font-family:Songti SC,SimSun,serif;font-size:17px;font-weight:400}.reading-text p{margin:0 0 12px}.reading-error{color:#ffb4aa;margin:16px 0;font-size:14px}.reading-note{color:#c6d6cd;margin:16px 0;font-size:13px}.retry{min-height:44px;margin:16px 0;display:block}.reading-disclaimer{color:#a3bab0;margin:30px 0 0;font-size:12px;line-height:1.6}@media (width<=600px){.scene{width:100%;min-height:0}.dialog{width:calc(100% - 32px);padding:20px}.dialog h1{font-size:22px}}@media (height<=650px){.dialog{max-height:58%;overflow-y:auto}.reading{inset-block-start:8%}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}
