:root{color-scheme:dark;--ink:#faf0e9;--muted:#cebac3;--pink:#f2adc5;--edge:#ffffff20;font-family:"Microsoft YaHei","PingFang SC",sans-serif;background:#211c22;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 12%,#49323f 0,transparent 60%),#211c22}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:var(--ink);background:#4b3544;border:1px solid #b68f9f70;border-radius:12px;min-height:44px;padding:11px 18px;transition:background .18s,transform .18s}button:hover{background:#694456}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #ffd6e2;outline-offset:4px}a{color:var(--muted);text-decoration:none}a:hover{color:var(--ink)}[hidden]{display:none!important}header{max-width:1080px;margin:auto;padding:25px 20px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-family:Georgia,"Microsoft YaHei",serif;color:var(--ink);font-size:25px;letter-spacing:.12em;display:flex;align-items:center;gap:16px}.brand span{font:9px/1.4 sans-serif;letter-spacing:.2em;max-width:130px;color:var(--muted)}.room-label{font-size:12px;color:var(--muted)}main{max-width:1040px;margin:auto;padding:0 18px}.room{position:relative;overflow:hidden;border:1px solid var(--edge);border-radius:24px;box-shadow:0 20px 70px #0005;background:#332831 url('./assets/art/art-05-room.png') center/cover}.stage{height:610px;position:relative;overflow:hidden;isolation:isolate}.room-light{position:absolute;inset:0;background:linear-gradient(90deg,#211c2280,#271e2240,#211c2260),linear-gradient(0deg,#211c22b0,transparent 35%);z-index:-1}canvas{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 10px 15px #21142165)}.portrait{position:absolute;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:100%;object-fit:cover;object-position:top;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);transition:opacity 1.1s ease}.hooded{z-index:2}.hooded.revealed{opacity:0;pointer-events:none}.plush{position:absolute;width:clamp(85px,16%,160px);right:4%;bottom:3%;filter:drop-shadow(0 8px 7px #0007);transform:rotate(-8deg)}.scene-label{position:absolute;top:22px;left:25px;color:#ffefe2ab;font-size:11px;letter-spacing:.16em;text-shadow:0 1px 4px #000}.dialogue{position:relative;margin:-35px 30px 25px;z-index:3;padding:21px 25px;background:#271e26ed;border:1px solid #efbed141;border-radius:18px;backdrop-filter:blur(18px);min-height:170px;box-shadow:0 7px 30px #0004}.dialogue-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--pink)}#chapter{font-size:10px;color:var(--muted)}#line{font-size:17px;line-height:1.9;margin:14px 0 18px;white-space:pre-line;min-height:33px}.choices{display:flex;gap:10px;flex-wrap:wrap}.choices button{flex:1;text-align:left;background:#583c4b}.next{display:block;margin-left:auto;background:#e8adc4;color:#34212d;border-color:transparent;min-width:106px}.next:hover{background:#f8c9dc}.next span{margin-left:20px}.hint{font-size:11px;line-height:1.7;color:var(--muted);margin:13px 0 0}.quiet-actions{display:flex;gap:10px;flex-wrap:wrap}.tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 3px;color:var(--muted);font-size:11px}.tools button{background:transparent;font-size:12px;border-color:transparent;padding:8px 10px}.tools button:hover{background:#503441}footer{max-width:1040px;margin:20px auto;padding:0 20px 25px;display:flex;gap:10px;justify-content:space-between;color:#ad96a2;font-size:10px;line-height:1.8}details{border:1px solid var(--edge);border-radius:14px;background:#2c242d;padding:0 18px}summary{cursor:pointer;font-size:13px;padding:15px 0;min-height:44px;color:var(--muted)}.timer-card{max-width:450px;margin:10px auto 20px;text-align:center}.timer-card h1{font-size:23px}.eyebrow,.intro,.status,.daily{font-size:12px;color:var(--muted)}.tabs,.timer-actions,.dialog-actions{display:flex;gap:10px;justify-content:center}.active,.primary{background:#e8adc4;color:#34212d}.clock-wrap{position:relative;width:200px;height:200px;margin:15px auto}.clock-wrap svg{width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:3}.track{stroke:#79566450}#progress{stroke:var(--pink);stroke-dasharray:678.584}.clock-center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}#clock{font-size:40px;font-variant-numeric:tabular-nums}.text-button{border:none;background:transparent;min-height:30px;font-size:11px}.daily{display:flex;justify-content:space-between;margin:20px 0}#demo{display:block;margin:10px auto 18px;background:transparent;font-size:12px}dialog{border:1px solid #aa748f;background:#302432;color:var(--ink);border-radius:18px;padding:25px;max-width:calc(100% - 32px)}dialog::backdrop{background:#0009}dialog label{display:block;margin:18px 0}input{display:block;padding:10px;color:var(--ink);background:#211c22;border:1px solid #94677f;border-radius:8px;width:100%;margin-top:8px}dialog p{font-size:12px;line-height:1.8}noscript{display:block;padding:20px;text-align:center}@media(min-width:1100px){main{max-width:1040px}.stage{height:630px}.room{background-position:center 40%}}@media(max-width:600px){header{padding:18px 18px 15px}.brand{font-size:22px}.brand span{font-size:8px;max-width:100px}.room-label{font-size:10px;max-width:80px;text-align:right}main{padding:0 12px}.room{border-radius:18px;background-position:60% center}.stage{height:490px}canvas{width:100%;height:100%}.portrait{height:100%;max-width:none;width:368px;object-fit:cover}.dialogue{margin:-25px 10px 13px;padding:17px 17px;min-height:180px}.dialogue-meta{font-size:11px}#line{font-size:15px;line-height:1.85;margin:12px 0 15px}.choices{flex-direction:column}.choices button{width:100%;font-size:14px;padding:12px 14px}.quiet-actions{flex-direction:column}.quiet-actions button{font-size:13px}.hint{font-size:10px}.scene-label{left:17px;top:17px}.plush{width:90px;right:3%;bottom:4%}footer{flex-direction:column;margin-top:15px}.tools{font-size:10px}details{padding:0 14px}}@media(max-width:350px){.stage{height:430px}.portrait{width:322px}.brand span{max-width:85px}.dialogue{padding:15px 13px}#line{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
