:root{--bg:#171310;--surface:#1e1915;--surface2:#262019;--elev:#332b21;--text:#efe7d7;--muted:#a89b84;--faint:#7c7160;--line:#3b3226;--accent:#d0764b;--accent-soft:rgba(208,118,75,.16);--seal:#e0564f;--ok:#3ecf8e;--r:14px;--r-lg:18px;--page:#0d0a07;--tabbar:rgba(23,19,16,.92);--cover-grad:linear-gradient(160deg,#5c4732,#2c2117);--thumb-grad:linear-gradient(140deg,#6d5238,#342818);--bubble-user:#5a4632;--bar-end:#e8a87c;--sheet-box:#2b241b;--avatar-fg:#e9caa6;--on-accent:#201409;--hl:#e8c1a5}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{background:var(--page);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea,select{font:inherit;color:var(--text)}svg.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}#app{height:100%;max-width:520px;margin:0 auto;position:relative;background:var(--bg);box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column}@media(min-width:521px){body{padding:0}}.screen{position:relative;flex:1;display:flex;flex-direction:column;background:var(--bg);min-height:0;overflow:hidden}.page-enter-active{transition:opacity .18s ease,transform .18s ease}.page-leave-active{transition:opacity .12s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}.ob-step{flex:1;display:flex;flex-direction:column;min-height:0}.step-enter-active,.step-leave-active{transition:opacity .15s ease,transform .15s ease}.step-enter-from{opacity:0;transform:translate(14px)}.step-leave-to{opacity:0;transform:translate(-8px)}.topbar{display:flex;align-items:center;gap:10px;padding:14px 16px 10px;flex:none}.topbar h2{font-size:17px;font-weight:600;flex:1;text-align:center;margin-right:26px}.topbar .back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--muted)}.scroll{flex:1;overflow-y:auto;padding:0 20px 24px;scrollbar-width:none;min-height:0}.scroll::-webkit-scrollbar{display:none}.pill{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:13px 10px;font-size:15px;color:var(--text);transition:border-color .15s,background .15s}.pill.on{border-color:var(--accent);background:var(--accent-soft);color:var(--hl)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sec-t{font-size:15px;font-weight:600;text-align:center;margin:26px 0 14px;color:var(--text)}.cta{display:block;width:100%;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:16px;border-radius:16px;padding:15px;text-align:center;transition:opacity .15s}.cta:disabled{opacity:.35}.cta.ghost{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.foot{padding:12px 20px calc(14px + env(safe-area-inset-bottom));flex:none}.tabbar{display:flex;flex:none;border-top:1px solid var(--line);background:var(--tabbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:6px 4px calc(8px + env(safe-area-inset-bottom));position:relative;z-index:4}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--faint);font-size:10.5px;padding:6px 0}.tabbar button.on{color:var(--accent)}.tabbar button svg.ic{width:22px;height:22px}.bc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px;flex:none}.bc-head h1{font-size:20px;font-weight:700;letter-spacing:1px}.bc-head .row{display:flex;gap:6px}.bc-head .iconbtn{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.tagbar{display:flex;gap:8px;padding:0 20px 12px;overflow-x:auto;scrollbar-width:none;flex:none}.tagbar::-webkit-scrollbar{display:none}.tagbar .pill{padding:6px 14px;font-size:12.5px;color:var(--muted);flex:none}.tagbar .pill.on{color:var(--hl)}.post{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid rgba(59,50,38,.6);width:100%;text-align:left}.cover{width:64px;height:88px;border-radius:8px;flex:none;display:flex;align-items:flex-end;padding:6px;font-size:11px;color:#ffffffeb;background:var(--cover-grad);position:relative;overflow:hidden}.cover:after{content:"";position:absolute;top:6px;right:6px;width:14px;height:14px;border-radius:4px;background:var(--seal);opacity:.85}.cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.post .meta{flex:1;min-width:0}.post .meta h3{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post .meta p{color:var(--muted);font-size:12px;margin-top:4px}.post .tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.post .tags i{font-style:normal;font-size:11px;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:2px 8px}.post .stats{display:flex;gap:12px;margin-top:8px;color:var(--faint);font-size:11.5px;align-items:center}.post .stats span{display:flex;align-items:center;gap:4px}.post .stats svg.ic{width:13px;height:13px}.chat-log{flex:1;overflow-y:auto;padding:16px 16px 8px;scrollbar-width:none;min-height:0}.chat-log::-webkit-scrollbar{display:none}.msg{display:flex;margin-bottom:14px;animation:pop .25s ease}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.msg.user{justify-content:flex-end}.bubble{max-width:82%;border-radius:16px;padding:11px 14px;font-size:14.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.msg.ai .bubble{background:var(--surface2);border:1px solid var(--line);border-top-left-radius:6px}.msg.user .bubble{background:var(--bubble-user);border-top-right-radius:6px}.card{width:100%;max-width:88%;background:var(--surface2);border:1px solid var(--line);border-radius:6px 16px 16px;padding:14px}.card h4{font-size:14px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}.card h4 svg.ic{width:16px;height:16px;color:var(--accent)}.card .link{display:block;margin-top:12px;text-align:center;font-size:13px;color:var(--accent)}.vrow{display:flex;gap:10px;align-items:center}.vthumb{width:88px;height:60px;border-radius:8px;flex:none;background:var(--thumb-grad);display:flex;align-items:center;justify-content:center;color:#ffffffd9;overflow:hidden}.vthumb img{width:100%;height:100%;object-fit:cover}.vrow .t{flex:1;min-width:0}.vrow .t b{display:block;font-size:13.5px;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vrow .t span{font-size:11.5px;color:var(--muted)}.card .btns{display:flex;gap:10px;margin-top:12px}.card .btns button{flex:1;border-radius:12px;padding:10px;font-size:14px;font-weight:600}.btn-pri{background:var(--accent);color:var(--on-accent)}.btn-sec{background:var(--elev);color:var(--muted);border:1px solid var(--line)}.confirm-text{font-size:13.5px;line-height:1.75;color:var(--text)}.confirm-done{margin-top:10px;font-size:12.5px;color:var(--muted)}.cfg-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:14px}.cfg-row .lab{color:var(--muted)}.stepper{display:flex;align-items:center;gap:14px}.stepper button{width:26px;height:26px;border-radius:8px;background:var(--elev);color:var(--text);font-size:15px;line-height:1}.seg{display:flex;background:var(--elev);border-radius:10px;padding:3px;gap:3px}.seg button{border-radius:8px;padding:5px 12px;font-size:13px;color:var(--muted)}.seg button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.prog-top{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:8px}.prog-top b{color:var(--text)}.bar{height:6px;border-radius:3px;background:var(--elev);overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--bar-end));transition:width .3s}.stages{display:flex;gap:14px;margin-top:10px;font-size:11.5px;color:var(--faint);flex-wrap:wrap}.stages span.on{color:var(--accent)}.stages span.done{color:var(--ok)}.res{display:flex;gap:12px;align-items:center}.res .cover{width:56px;height:78px}.res .t{flex:1;min-width:0}.res .t b{font-size:14.5px;font-weight:600;display:block}.res .t span{font-size:12px;color:var(--muted)}.res .go{flex:none;border-radius:10px;background:var(--accent-soft);color:var(--hl);border:1px solid rgba(208,118,75,.4);padding:7px 14px;font-size:13px;font-weight:600}.chat-hero{padding:64px 28px 0}.chat-hero h1{font-size:30px;font-weight:700;letter-spacing:1px}.chat-hero p{color:var(--muted);margin-top:10px;font-size:15px;line-height:1.8}.chips-row{display:flex;gap:8px;padding:8px 14px;overflow-x:auto;scrollbar-width:none;flex:none}.chips-row::-webkit-scrollbar{display:none}.chips-row .pill{padding:8px 14px;font-size:13px;color:var(--muted);gap:6px;flex:none}.chips-row .pill svg.ic{width:15px;height:15px}.inputbar{display:flex;align-items:center;gap:10px;margin:0 14px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:10px 14px;flex:none}.inputbar input{flex:1;background:none;border:none;outline:none;font-size:14.5px;color:var(--text);min-width:0}.inputbar input::placeholder{color:var(--faint)}.inputbar .ib{color:var(--muted);display:flex}.inputbar .ib svg.ic{width:21px;height:21px}.powered{flex:none;text-align:center;color:var(--faint);font-size:11px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.d-head{padding:20px 24px 0;display:flex;gap:16px;align-items:center}.d-head .cover{width:84px;height:116px;font-size:12px}.d-head h1{font-size:19px;font-weight:700;line-height:1.4}.d-head .m{color:var(--muted);font-size:12.5px;margin-top:8px;line-height:1.7}.fold{margin:10px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.fold>button{width:100%;display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;color:var(--muted)}.fold>button svg.ic{width:15px;height:15px;transition:transform .2s}.fold.open>button svg.ic{transform:rotate(180deg)}.fold .body{display:block;padding:0 14px;font-size:13px;color:var(--muted);line-height:1.8;max-height:0;overflow:hidden;white-space:pre-wrap;opacity:0;transition:max-height .28s ease,padding .28s ease,opacity .22s ease}.fold.open .body{max-height:220px;padding:0 14px 14px;opacity:1;overflow:auto}.chap{margin:8px 20px}.chap h3{font-size:15px;font-weight:600;margin-bottom:8px}.chap p{font-size:14px;color:var(--text);opacity:.85;line-height:1.9;margin-bottom:10px}.fab-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d0a0780;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:5}.screen.fab-open .fab-dim{opacity:1;pointer-events:auto}.fab-wrap{position:absolute;right:20px;bottom:calc(28px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;z-index:6}.fab-act{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--text);opacity:0;transform:translate(16px) scale(.9);pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.9,.3,1.15)}.fab-act .c{width:52px;height:52px;border-radius:16px;background:var(--elev);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #0006}.fab-act span{font-size:11px;color:var(--muted)}.screen.fab-open .fab-act{opacity:1;transform:none;pointer-events:auto}.fab{width:60px;height:60px;border-radius:20px;background:linear-gradient(145deg,#e0564f,#b23b3e);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px #e0564f66;transition:transform .25s}.fab svg.ic{width:26px;height:26px}.fab .x,.screen.fab-open .fab .b{display:none}.screen.fab-open .fab .x{display:block}.ed{flex:1;display:flex;min-height:0}.ed-list{width:86px;flex:none;border-right:1px solid var(--line);overflow:auto;padding:10px 8px;scrollbar-width:none}.ed-list button{display:block;width:100%;text-align:left;font-size:12.5px;color:var(--muted);border-radius:8px;padding:8px 10px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-list button.on{background:var(--accent-soft);color:var(--hl)}.ed-main{flex:1;display:flex;flex-direction:column;min-width:0}.ed-main textarea{flex:1;background:none;border:none;outline:none;resize:none;padding:16px 18px;font-size:14.5px;line-height:1.9;color:var(--text)}.ed-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line);flex:none}.rowline{display:flex;align-items:center;gap:12px;padding:15px 4px;border-bottom:1px solid rgba(59,50,38,.6);font-size:14.5px;width:100%;text-align:left;color:var(--text)}.rowline .sp{flex:1}.rowline svg.ic{width:18px;height:18px;color:var(--muted)}.rowline .chev{color:var(--faint)}.me-head{display:flex;gap:14px;align-items:center;padding:26px 4px 10px;width:100%;text-align:left}.avatar{width:60px;height:60px;border-radius:50%;background:var(--thumb-grad);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:var(--avatar-fg);overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.coach{position:absolute;left:0;right:0;bottom:96px;display:flex;justify-content:center;z-index:8;animation:pop .3s ease}.coach[hidden]{display:none}.coach .bub{position:relative;background:var(--elev);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:13px;color:var(--text);max-width:270px;box-shadow:0 12px 30px #00000073}.coach .bub:after{content:"";position:absolute;bottom:-6px;left:50%;width:10px;height:10px;background:var(--elev);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translate(-50%) rotate(45deg)}.coach .bub button{display:block;margin-top:8px;color:var(--accent);font-size:13px;font-weight:600}.sheet{position:absolute;top:0;right:0;bottom:0;left:0;background:#0605038c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet-enter-active,.sheet-leave-active{transition:opacity .2s ease}.sheet-enter-active .box,.sheet-leave-active .box{transition:transform .25s cubic-bezier(.2,.8,.3,1.1),opacity .2s ease}.sheet-enter-from,.sheet-leave-to,.sheet-enter-from .box,.sheet-leave-to .box{opacity:0}.sheet-enter-from .box{transform:translateY(24px)}.sheet-leave-to .box{transform:translateY(16px)}.sheet .box{width:calc(100% - 32px);margin-bottom:24px;background:var(--sheet-box);border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center}.sheet .box .icn{width:52px;height:52px;margin:0 auto 12px;border-radius:14px;background:linear-gradient(145deg,#e0564f,#b23b3e);display:flex;align-items:center;justify-content:center;color:#fff}.sheet .box .icn svg.ic{width:26px;height:26px}.sheet .box h3{font-size:16px;font-weight:600}.sheet .box p{font-size:13px;color:var(--muted);margin:8px 0 16px;line-height:1.7}.sheet .box .btns{display:flex;flex-direction:column;gap:8px}.sheet .box .btns button{border-radius:12px;padding:12px;font-size:15px;font-weight:600}.toast{position:absolute;left:50%;top:70px;transform:translate(-50%) translateY(-8px);background:var(--elev);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:9px 18px;font-size:13px;opacity:0;pointer-events:none;transition:all .25s;z-index:30;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}.ob-head{padding:56px 24px 8px;text-align:center}.ob-logo{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:linear-gradient(145deg,#e0564f,#b23b3e);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #e0564f59}.ob-logo svg.ic{width:30px;height:30px}.ob-head h1{font-size:24px;font-weight:700;letter-spacing:1px}.ob-head p{color:var(--muted);font-size:13px;margin-top:6px}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chips .pill{padding:10px 18px;font-size:14px;flex:none}.ob-hint{color:var(--faint);font-size:12px;text-align:center;margin-top:10px}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14.5px;outline:none;color:var(--text)}.field input:focus,.field textarea:focus{border-color:var(--accent)}.empty{color:var(--faint);font-size:13px;text-align:center;padding:40px 0;font-style:italic}.loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:44px 0;color:var(--faint);font-size:13px;text-align:center}.loading p{font-style:italic}.spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;flex:none}.mini-spin{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active,.step-enter-active,.step-leave-active,.sheet-enter-active,.sheet-leave-active,.sheet-enter-active .box,.sheet-leave-active .box,.fab-act,.fab,.fold .body{transition:none}}
