:root{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;color:#173126;background:radial-gradient(circle at top right,rgba(220,242,226,.9),transparent 28%),linear-gradient(180deg,#f4f7f1,#edf2ec);--ink:#173126;--muted:#688075;--line:#d7e3da;--card:#ffffff;--soft:#edf6f0;--brand:#17664d;--brand-deep:#0d4f3a;--accent:#cce7d8;--warn:#fff5e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:transparent;color:var(--ink)}.app-shell{font-size:var(--app-font-base,16px)}button,input{font:inherit}button{cursor:pointer}header{height:74px;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(183,204,191,.55);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;cursor:pointer}.brand i{font-style:normal;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--brand),#22916b);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 10px 22px #17664d3d}.brand b,.brand small{display:block}.brand small{color:var(--muted);margin-top:3px}nav{display:flex;gap:6px}nav button,.back,.text-btn,.resulthead button,.script footer button{border:0;background:transparent}nav button{padding:10px 14px;border-radius:10px;color:var(--muted)}nav .on{background:var(--soft);color:var(--brand);font-weight:800}main{max-width:1180px;margin:auto;padding:34px 22px 72px;position:relative}.font-dock{position:fixed;right:14px;bottom:16px;z-index:30;background:#fffffff5;border:1px solid rgba(207,220,211,.95);border-radius:16px;box-shadow:0 14px 34px #10392a1f;padding:10px}.font-dock small{display:block;color:var(--muted);font-size:var(--app-font-small,13px);margin-bottom:8px}.font-dock div{display:flex;gap:6px}.font-dock button{min-width:42px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:8px 10px;font-weight:800}.font-dock button.on{background:var(--brand);border-color:var(--brand);color:#fff}.toast,.notice{margin-bottom:16px;border-radius:14px;padding:12px 16px;border:1px solid var(--line)}.toast{background:#f5fbf7;color:var(--brand)}.notice{background:#fff8eb;color:#8a5a11}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px;background:linear-gradient(135deg,#084130f5,#17664deb),linear-gradient(180deg,#0b5a42,#1a7f5c);color:#fff;border-radius:28px;padding:38px;box-shadow:0 22px 48px #0f3c2c29}.hero-copy small,.heading small,.panel>small,aside>small,.libhead small,.recent small{color:inherit;opacity:.78;font-weight:800;letter-spacing:.04em}.hero h1,.libhead h1{margin:8px 0 10px;line-height:1.08}.hero h1{font-size:var(--app-font-hero,42px);max-width:10ch}.hero p{max-width:54ch;line-height:1.75;color:#ffffffd6;font-size:var(--app-font-body,16px)}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-actions button,.primary,.secondary,.done button{border:0;border-radius:12px;padding:12px 16px;font-weight:800}.hero-actions button{background:#f9fff9;color:var(--brand-deep)}.hero-actions .ghost{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.18)}.hero-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-content:start}.hero-metrics div,.stat{background:#ffffff17;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px}.hero-metrics b,.stat b{display:block;font-size:28px}.hero-metrics span,.stat span{color:#ffffffbf;font-size:var(--app-font-small,13px)}.quick{margin:28px 0 26px}.heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.heading h2{margin:6px 0 12px}.heading>button,.back,.text-btn,.resulthead button{color:var(--brand)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button,.favorite button{border:1px solid var(--line);background:#ffffffe0;border-radius:999px;padding:9px 13px;color:var(--ink)}.recent{margin-top:14px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cards article,.panel,aside,.script,.libhead,.empty{background:#ffffffe0;border:1px solid rgba(207,220,211,.95);border-radius:20px;box-shadow:0 16px 38px #10392a0d}.cards article{padding:22px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.cards article:hover{transform:translateY(-2px);border-color:#bfd9cc;box-shadow:0 18px 36px #0f46321a}.cards em,.title em{font-style:normal;display:grid;place-items:center}.cards em{width:46px;height:46px;font-size:24px;border-radius:15px;background:var(--soft)}.cards small{display:block;color:var(--brand);font-weight:800;margin-top:14px;font-size:var(--app-font-small,13px)}.cards h2{margin:7px 0}.cards p,.title p,aside p,.feedback>p,.steps span,.trace span,.libhead p{color:var(--muted);font-size:var(--app-font-body,16px)}.cards article>b{display:inline-block;margin-top:14px;color:var(--brand)}.card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.card-meta span,.tags span,.stage{font-size:12px;border-radius:999px;padding:6px 9px}.card-meta span{background:#eef5ef;color:#4b6c5e}.back{padding:4px 0;margin-bottom:18px}.title{display:flex;align-items:center;gap:15px;margin-bottom:18px}.title em{width:64px;height:64px;font-size:30px;background:linear-gradient(135deg,#dff3e7,#f4fbf7);border-radius:18px}.title h1{margin:4px 0;font-size:var(--app-font-title,30px)}.title p{margin:0}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{padding:16px 18px;background:#f8fcf9}.stat b{color:var(--brand-deep)}.stat span{color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.panel,aside,.script,.libhead{padding:22px}.panel{margin-bottom:16px}.goal{background:linear-gradient(180deg,#eff8f2,#f8fcf9)}.goal p,.standards p,.script>p,.mini-script p,.speak p,.flow-card p,.branch-item p{line-height:1.8;font-size:var(--app-font-body,16px)}.playbook h2,.feedback h2,.done h2{margin:4px 0 10px}.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.two-col b{display:block;margin-bottom:10px}.two-col ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.75}.steps>div,.trace{display:flex;gap:11px}.steps i,.trace i,.done>b{font-style:normal;display:grid;place-items:center;color:#fff;background:var(--brand)}.steps i,.trace i{width:30px;height:30px;flex:none;border-radius:50%;font-size:12px}.steps p,.trace p{margin:0 0 15px}.steps b,.steps span,.trace b,.trace span{display:block}.steps span,.trace span,.flow-card small,.branch-item span{font-size:var(--app-font-small,13px)}.standards,.recommend-list,.fullview,.branch-list{display:grid;gap:12px}.standards>div,.mini-script,.flow-card,.branch-item{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fcfefd}.flow-card{background:linear-gradient(180deg,#fcfefd,#f4faf6)}.flow-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.flow-head span{font-size:12px;font-weight:800;color:var(--brand);background:#e7f3ec;border-radius:999px;padding:6px 9px}.flow-card b,.branch-item b{display:block;margin-bottom:8px;color:var(--ink)}.flow-card small,.branch-item span{display:block;color:var(--muted)}.flow-card em{display:block;margin-top:10px;font-style:normal;color:var(--brand);font-size:var(--app-font-small,13px)}.row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.standards b,.mini-script b{color:var(--brand)}aside{height:fit-content;position:sticky;top:90px}.primary{width:100%;background:linear-gradient(135deg,var(--brand),#218764);color:#fff;box-shadow:0 12px 22px #17664d33}.secondary{width:100%;background:#edf2ef;color:var(--ink);margin-top:8px}.secondary:disabled{opacity:.55;cursor:not-allowed}.assist-top{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.stage{display:inline-block;background:#e8f4ee;color:var(--brand);font-weight:800}.stage.light{background:#f2f5f3;color:#50695d}.speak{background:linear-gradient(160deg,var(--brand-deep),var(--brand));color:#fff;border-radius:20px;padding:24px;box-shadow:0 18px 34px #0e533d2e}.speak>div{display:flex;justify-content:space-between;gap:12px}.speak button{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:10px;padding:6px 10px}.speak p{font-size:var(--app-font-script,22px);margin:14px 0 0}.feedback{margin-top:22px}.feedback>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.feedback button{min-height:58px;border:1px solid var(--line);background:#fff;border-radius:14px;font-weight:800;color:var(--ink)}.done{margin-top:20px;background:linear-gradient(180deg,#eef8f1,#fbfefc);border-radius:18px;padding:18px;display:flex;align-items:center;gap:12px;border:1px solid #d9e9de}.done>b{width:40px;height:40px;border-radius:50%}.done h2,.done p{margin:2px}.done button{margin-left:auto;background:var(--brand);color:#fff}.libhead{padding:28px}.libhead h1{font-size:var(--app-font-title,30px)}.goal-pills{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px}.goal-pills button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:8px 12px;font-weight:800}.goal-pills button.on{background:var(--brand);border-color:var(--brand);color:#fff}.goal-hint{display:block;color:var(--muted)!important;opacity:1!important;margin-bottom:10px}.search{max-width:760px;height:54px;border:2px solid var(--brand);border-radius:14px;display:flex;align-items:center;gap:10px;padding:0 14px;font-size:22px;margin:18px 0 12px;background:#fff}.search span{color:var(--brand)}.search input{border:0;outline:0;flex:1;padding:0;font-size:var(--app-font-body,16px);background:transparent}.liblayout{display:grid;grid-template-columns:196px 1fr;gap:18px;margin-top:18px}.liblayout.single{grid-template-columns:1fr}.filters{padding:15px}.filters>b{display:block;margin:8px 6px}.filters button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:10px;color:var(--muted)}.filters .sel{background:#eaf5ef;color:var(--brand);font-weight:800}.resulthead{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px;align-items:flex-start}.resulthead b,.resulthead small{display:block}.resulthead small{color:var(--muted);margin-top:3px}.favorite{margin:10px 0 16px}.favorite h3{margin:0 0 10px}.featured-block{margin-bottom:16px}.golden-block{margin-bottom:18px}.featured-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:10px}.featured-head h3,.featured-head small{margin:0}.featured-head small{color:var(--muted)}.script{margin-bottom:12px;padding:18px}.script.featured{border-color:#bddbcb;background:linear-gradient(180deg,#fcfffd,#f3faf6)}.script.golden{border-color:#e0c47a;background:linear-gradient(180deg,#fffdf5,#fff8e7)}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{background:#edf6f0;color:var(--brand)}.tags .star{background:var(--brand);color:#fff}.golden .tags .star{background:#b98515}.script>p,.mini-script p{font-size:calc(var(--app-font-body,16px) + 1px);margin:12px 0}.why{border-left:3px solid #b8d9c7;background:#f6fbf8;color:#4c695d;padding:10px 12px;border-radius:10px;margin:0 0 12px}.script footer{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.script footer small{color:#86968d}.actions{display:flex;gap:8px;align-items:center}.script footer .copy{background:var(--brand);color:#fff;border-radius:10px;padding:8px 11px}.empty{text-align:center;padding:34px;color:var(--muted)}@media(max-width:880px){header{padding:0 14px}.brand small{display:none}main{padding:22px 14px 52px}.hero,.layout,.liblayout,.cards,.stats-strip,.two-col{grid-template-columns:1fr}.hero h1{font-size:calc(var(--app-font-hero,42px) - 8px);max-width:none}.hero{padding:24px}.hero-actions{flex-direction:column}.hero-metrics{grid-template-columns:repeat(2,1fr)}aside{position:static}.feedback>div{grid-template-columns:1fr}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters>b{width:100%}.filters button{width:auto}.script footer{flex-direction:column;align-items:flex-start}.actions{width:100%;justify-content:space-between}.font-dock{right:10px;bottom:10px;padding:8px}.font-dock button{min-width:40px;padding:8px}}
