:root{font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;color:#132c45;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 0,#dceefb 0,transparent 31rem),#f4f7fa}button,input,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1100px;margin:0 auto;padding:26px 24px 60px;min-height:100dvh}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4ec;padding-bottom:20px}.brand{border:0;background:none;font:500 28px Georgia,serif;color:#133b62;text-align:left}.brand span{display:block;color:#6e7f91;font:12px Avenir Next,sans-serif;margin-top:3px}.topbar nav{display:flex;gap:8px}.topbar nav button,.text{border:0;background:transparent;color:#385772;padding:9px 10px}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:52px;padding:76px 0 56px}.eyebrow,.card-label{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700;color:#2472ae;margin:0 0 12px}h1,h2,h3{font-family:Georgia,serif;font-weight:500;letter-spacing:-.04em;color:#132c45}h1{font-size:clamp(42px,6vw,70px);line-height:1.02;margin:0}h2{font-size:36px;margin:0 0 12px}.lead{max-width:600px;color:#62758a;line-height:1.9;margin-top:20px}.auth-card,.scene-card,.dialogue-card,.expression-panel,.admin,.complete{background:#fff;border:1px solid #dce5ed;border-radius:18px;padding:24px;box-shadow:0 15px 36px #19385112}.auth-card{display:flex;flex-direction:column;gap:11px;align-self:center}.auth-card input,.admin input,.admin textarea{width:100%;border:1px solid #cedbe7;border-radius:9px;padding:12px;background:#fff}.auth-card small{color:#738598}.primary{border:0;border-radius:10px;background:#153d66;color:#fff;padding:12px 16px;font-weight:700}.primary:disabled{opacity:.5;cursor:not-allowed}.ready strong{font:28px Georgia,serif;color:#153d66}.ready span{color:#65788a}.scene-section{padding:22px 0}.section-heading{margin-bottom:20px}.scene-card{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center}.scene-card h3{font-size:28px;margin:12px 0 8px}.scene-card p,.admin>p{color:#637589;line-height:1.75;margin:0}.badge{font-size:12px;color:#2370aa;background:#e8f4fc;border-radius:999px;padding:6px 9px}.level-group{display:flex;gap:5px;border:1px solid #dce5ed;padding:4px;border-radius:10px}.level-group button{border:0;border-radius:7px;background:none;padding:8px 11px;color:#6d7d8f}.level-group .active{background:#e8f4fc;color:#185584;font-weight:700}.practice{max-width:790px;margin:52px auto}.practice-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.speaker{font-size:12px;color:#2775b1;font-weight:700}.line{font:28px/1.45 Georgia,serif;margin:10px 0 18px;color:#173d63}.dialogue-card audio{width:100%}.audio-wait{color:#9b6b14;background:#fff6e2;padding:10px;border-radius:8px;font-size:13px}.choices{display:grid;gap:11px;margin:18px 0}.choice{border:1px solid #d3e1eb;background:#fff;border-radius:12px;padding:15px;text-align:left;color:#183c60;line-height:1.6}.choice:hover{border-color:#2876b2;background:#f0f8fd}.choice span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#2672ae;margin-bottom:5px}.expression-panel{margin-top:18px}.expression-panel div{padding:12px 0;border-top:1px solid #edf1f5}.expression-panel strong{display:block;color:#193d61}.expression-panel span{display:block;color:#718296;font-size:14px;margin-top:3px}.complete{background:#eaf7f0;border-color:#b8e3cc}.complete strong{color:#176448;font:28px Georgia,serif}.complete p{color:#4d7666;line-height:1.75}.admin{max-width:760px;margin:52px auto}.admin textarea{margin:14px 0;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.notice{padding:12px 14px;border-radius:10px;color:#195d45;background:#e7f5ed}.error{color:#a02d2d;background:#fceaea}@media (max-width:700px){.shell{padding:18px 15px 40px}.topbar{align-items:flex-start;gap:10px}.topbar nav{flex-direction:column;align-items:flex-end}.hero{grid-template-columns:1fr;padding:48px 0 36px;gap:30px}.scene-card{grid-template-columns:1fr;align-items:start}.practice-head{gap:10px}.line{font-size:24px}h2{font-size:30px}}
