:root{--bg:#0b0d1a;--bg2:#151a2e;--ink:#e9dfd0;--muted:#a59c8e;--dim:#6f6a63;--warm:#e8b67a;--warm2:#c98c5a;--card:rgba(30,32,52,.55);--line:rgba(232,182,122,.18)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Noto Sans SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;font-size:17px;line-height:1.6}
body{background:radial-gradient(120% 80% at 50% 0%,#1a1d36 0%,#0f1224 45%,#07080f 100%) fixed}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0}
.glow{position:fixed;left:-20%;right:-20%;bottom:-30%;height:60%;z-index:0;background:radial-gradient(closest-side,rgba(201,140,90,.16),transparent);animation:breathe 14s ease-in-out infinite;pointer-events:none}
@keyframes breathe{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
main{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 18px 10px}
.view{display:none}.view.active{display:block;animation:fade 1.2s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.brand{text-align:center;margin:18px 0 22px}
.moon{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f6e3c2,#d9b37f 60%,#b88a5a);box-shadow:0 0 40px rgba(232,182,122,.35);animation:breathe 9s ease-in-out infinite}
h1{font-weight:500;font-size:26px;letter-spacing:4px;margin:0;color:#f0e4d2}
.sub{color:var(--muted);margin:6px 0 0;font-size:15px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;margin:0 0 14px;backdrop-filter:blur(6px)}
.card.soft{background:rgba(20,22,38,.5)}
.q{display:block;font-size:17px;color:#f0e4d2;margin-bottom:10px}
textarea,input[type=text],input:not([type]){width:100%;background:rgba(10,11,22,.6);border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:12px 14px;font:inherit;font-size:16px;outline:none;resize:none}
textarea:focus,input:focus{border-color:rgba(232,182,122,.45)}
::placeholder{color:#6d665d}
#name,#place{margin-top:12px}
.hidden{display:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip,.opt{font:inherit;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:999px;min-height:44px;padding:8px 16px;cursor:pointer;transition:all .4s}
.chip.sel,.opt.sel{background:rgba(232,182,122,.18);border-color:rgba(232,182,122,.6);color:#f6e3c2}
.options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.options.three{grid-template-columns:1fr 1fr 1fr}
.options .opt{border-radius:16px;min-height:52px;display:flex;align-items:center;justify-content:center;gap:6px}
.options .opt span{font-size:18px;filter:saturate(.6) brightness(.9)}
.options.mini{display:flex;flex-wrap:wrap;gap:6px}
.options.mini .opt{min-height:40px;padding:6px 12px;font-size:15px;border-radius:999px}
.primary{display:block;width:100%;min-height:58px;margin:6px 0 8px;border:0;border-radius:999px;font:inherit;font-size:19px;letter-spacing:3px;color:#2a1c10;background:linear-gradient(135deg,#e8c08e,#c98c5a);box-shadow:0 6px 30px rgba(201,140,90,.25);cursor:pointer}
.primary:disabled{opacity:.6}
.ghost{font:inherit;font-size:15px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:999px;min-height:42px;padding:6px 16px;margin:8px 0;cursor:pointer}
.ghost:disabled{opacity:.45}
.tiny{font-size:13px;color:var(--dim);text-align:center;margin:4px 0 16px}
.muted{color:var(--muted);font-size:15px}.small{font-size:14px}
.voice summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:36px}
.voice summary::-webkit-details-marker{display:none}
.voice summary .q{margin:0}
.soon{font-size:12px;color:var(--warm);border:1px solid rgba(232,182,122,.4);border-radius:999px;padding:2px 10px}
.steps{padding-left:20px}.steps li{margin:4px 0}
.mock{border-top:1px dashed var(--line);padding-top:12px;margin-top:8px}
.verify{font-size:18px;color:#f6e3c2;margin:6px 0;line-height:1.7}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--muted);margin:8px 0}
.consent input{width:22px;height:22px;accent-color:#c98c5a;flex:none;margin-top:2px}
/* player */
.top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.title{flex:1;text-align:center;color:var(--muted);font-size:15px;letter-spacing:1px}
.timer{min-width:44px;text-align:right;color:var(--dim);font-size:13px}
.stage{min-height:46vh;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:20px 6px}
.stage p{margin:0;transition:opacity 1.6s ease,color 1.6s ease}
.prev,.next{font-size:16px;color:var(--dim);opacity:.55;min-height:3em}
.now{font-size:27px;line-height:1.75;color:#f3e6d3;margin:18px 0!important;text-shadow:0 0 24px rgba(232,182,122,.18);min-height:3.5em}
.now.fade{opacity:0}
.progress{height:3px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;margin:0 10px}
#bar{height:100%;width:0;background:linear-gradient(90deg,#8a6a4a,#e8b67a);transition:width 1s}
.controls{display:flex;justify-content:center;margin:18px 0}
.round{width:76px;height:76px;border-radius:50%;border:1px solid rgba(232,182,122,.45);background:rgba(232,182,122,.1);color:#f6e3c2;font-size:22px;cursor:pointer}
.row{display:flex;align-items:center;gap:12px;margin:10px 0;flex-wrap:wrap}
.lab{color:var(--muted);font-size:14px;min-width:64px}
input[type=range]{flex:1;accent-color:#c98c5a;height:30px}
footer{position:relative;z-index:1;max-width:560px;margin:10px auto 0;padding:8px 22px max(26px,env(safe-area-inset-bottom));color:var(--dim);font-size:12.5px;text-align:center;line-height:1.7}
footer a{color:var(--warm2)}
body.dim .card.soft,body.dim .top,body.dim footer{opacity:.35;transition:opacity 4s}
@media (prefers-reduced-motion:reduce){.glow,.moon{animation:none}}
