:root{--bg: #f3efe6;--paper: #fffdf8;--ink: #1d1a16;--muted: #5c564e;--line: #e3dcd0;--accent: #0c6b52;--accent-strong: #084c3b;--danger: #8d2b2b;--warn-bg: #fff6e8;--warn: #8a4b08;--shadow: 0 10px 30px rgba(40, 30, 10, .06)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.6 Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit;font-size:16px}button{min-height:44px}.page{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px}.eyebrow{margin:0;color:var(--accent);font-size:13px;letter-spacing:.08em}h1{margin:4px 0 8px;font-size:34px;line-height:1.2}.lede,.hint,.guide li,.status{color:var(--muted)}.guide,.panel,.token,.banner{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.guide{padding:16px 18px 8px;margin:20px 0}.guide h2{margin:0 0 8px;font-size:18px}.guide ul{margin:0;padding-left:18px}.banner,.status,.warn-line{padding:12px 14px;border-radius:12px}.banner{margin-bottom:16px;background:var(--warn-bg);color:var(--warn);border-color:#f0ddb8}.banner p{margin:0 0 6px}.banner p:last-child{margin-bottom:0}.token{padding:14px 16px;margin-bottom:16px}.token label,.field label,.mini-label{display:block;margin-bottom:6px;font-size:14px}.workspace,.setup{display:grid;gap:16px}.brief{display:flex;flex-direction:column}.chat{display:flex;flex-direction:column;gap:8px;min-height:320px;padding:12px;background:#f7f3eb;border:1px solid var(--line);border-radius:12px}.chat h2{margin:0;font-size:18px}.chat-log{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto;padding-right:2px}.bubble{max-width:92%;margin:0;padding:8px 10px;border-radius:12px;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:#e7f5ef}.bubble.assistant{align-self:flex-start;background:#fffdf8}.chat textarea{min-height:72px;background:#fff}.chat-error{color:var(--danger)}.topic-field{order:1}.chat{order:2}.points-field{order:3}.panel{padding:16px}.field{margin-bottom:14px}input,textarea,select{width:100%;padding:10px 12px;color:var(--ink);background:#fff;border:1px solid #d9d0c3;border-radius:10px}textarea{min-height:88px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.row{display:grid;gap:12px}.actions{display:flex;flex-wrap:wrap;gap:8px}button{border:0;border-radius:999px;padding:10px 16px;cursor:pointer}button.primary{background:var(--accent);color:#fff}button.primary:hover{background:var(--accent-strong)}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}button.ghost{background:#f6f1e8;color:var(--ink)}button:disabled{cursor:not-allowed;opacity:.45}.empty{color:var(--muted);padding:28px 8px}.cover img,.shot img{width:100%;display:block;border-radius:12px;background:#efe8dc}.cover img{aspect-ratio:900 / 383;object-fit:cover}.cover button,.shot button{margin-top:8px}.placeholder{display:grid;place-items:center;min-height:140px;padding:16px;text-align:center;color:var(--danger);background:#fbf7f2;border:1px dashed #d9d0c3;border-radius:12px}.title-input{font-size:22px;font-weight:700;line-height:1.35;min-height:64px}.counter{margin:4px 0 0;color:var(--muted);font-size:12px;text-align:right}.block{margin-top:14px}.paragraph{text-indent:2em}.shot{margin-top:8px}details{margin-top:8px;color:var(--muted)}details textarea{margin-top:8px;min-height:72px}.status{margin:0;background:#f6f1e8}.status.error{background:#fdecec;color:var(--danger)}.status.ok{background:#e7f5ef;color:var(--accent-strong)}.status.warn{background:var(--warn-bg);color:var(--warn)}.toast{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(640px,calc(100% - 24px));z-index:6;box-shadow:var(--shadow)}.toast .status+.status{margin-top:8px}.warn-line{margin-top:12px;background:var(--warn-bg);color:var(--warn)}.footer{margin-top:22px;color:var(--muted);font-size:14px}.footer a{color:var(--accent);margin-right:12px}.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:16px;background:#1d1a1673}.dialog{width:min(440px,100%);padding:18px;background:var(--paper);border-radius:16px}.dialog h2{margin:0 0 8px;font-size:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.login-card{width:min(440px,100%);margin:12px auto 0}.login-card h2,.panel h2{margin:0 0 12px;font-size:20px}.login-card .primary{width:100%}.mine-card{width:min(440px,100%)}.mine-user{margin:0 0 8px;font-size:18px}.mine-actions{display:flex;flex-wrap:wrap;gap:8px}.mine-actions .primary,.mine-actions .ghost{width:100%}.auth-switch{display:flex;gap:8px;margin-bottom:12px}.auth-switch .ghost.on{border-color:var(--accent, #0c6b52);color:var(--accent, #0c6b52)}.wechat-setup{width:min(720px,100%);margin:12px auto 0}.wechat-setup ol{margin:0 0 16px;padding-left:1.2em}.wechat-setup li{margin:8px 0}.egress-ip{font-family:Consolas,Source Code Pro,monospace;font-size:18px}.wechat-actions{display:flex;flex-wrap:wrap;gap:8px}.wechat-actions .primary,.wechat-actions .ghost{width:100%}@media(min-width:720px){.wechat-actions .primary,.wechat-actions .ghost,.mine-actions .primary,.mine-actions .ghost{width:auto}}.topbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end}.session{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.session span{color:var(--muted)}.user-create{display:grid;gap:12px;margin-bottom:16px}.user-create .primary{width:100%}.user-list{display:grid;gap:12px}.user-card{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.user-card .meta{display:flex;justify-content:space-between;gap:8px}@media(min-width:720px){.row.two{grid-template-columns:1fr 1fr}.row.three{grid-template-columns:1fr 1fr 1fr}.user-create{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(140px,.8fr)}.user-create .primary{grid-column:1 / -1;justify-self:start;width:auto}}@media(min-width:960px){.workspace{grid-template-columns:minmax(560px,1.15fr) minmax(300px,.85fr);align-items:start}.preview{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.brief{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr);column-gap:16px;align-items:start}.topic-field{order:0;grid-column:1;grid-row:1}.points-field{order:0;grid-column:1;grid-row:2}.chat{order:0;grid-column:2;grid-row:1 / span 2;align-self:stretch}}.app-kicker{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.tabbar{display:none}@media(max-width:959px){h1{font-size:28px}.page{width:min(1120px,calc(100% - 24px));padding-top:18px}.page.has-toast{padding-bottom:120px}.page:not(.is-app) .actions{position:sticky;bottom:0;z-index:2;margin:12px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.page:not(.is-app).has-toast .actions{bottom:88px}.actions button{flex:1 1 140px}.page.is-auth,.page.is-app{width:100%;margin:0}.page.is-auth{min-height:100dvh;display:flex;flex-direction:column;padding:calc(20px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom))}.page.is-auth header{margin:8px 0 0;text-align:center}.page.is-auth .topbar{display:block}.page.is-auth h1{font-size:32px}.page.is-auth .lede{margin:8px 0 0}.page.is-auth .login-card{flex:1 1 auto;width:100%;margin:16px 0 0;display:flex;flex-direction:column}.page.is-app{min-height:100dvh;padding:0 0 calc(88px + env(safe-area-inset-bottom))}.page.is-app.has-toast{padding-bottom:calc(188px + env(safe-area-inset-bottom))}.page.is-app header{position:sticky;top:0;z-index:5;background:#fffdf8f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line)}.page.is-app .eyebrow,.page.is-app .session{display:none}.page.is-app h1{margin:0;font-size:20px;line-height:1.3}.page.is-app .banner{margin:12px 12px 0}.page.is-app .app-main{padding:12px 12px 0}.page.is-app .mine-card,.page.is-app .wechat-setup{width:100%;margin:0}.page.is-app .mine-card>.mine-actions{margin-top:16px}.page.is-app .mine-card .footer{margin-top:18px}.page.is-app .workspace,.page.is-app .setup{gap:12px}.page.is-app .actions{position:static;bottom:auto;z-index:auto;margin:0;padding:0;background:transparent;border-top:0}.page.is-app .toast{bottom:calc(76px + env(safe-area-inset-bottom));z-index:9}.page.is-auth input,.page.is-auth textarea,.page.is-auth select,.page.is-app input,.page.is-app textarea,.page.is-app select{font-size:16px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:8;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -8px 24px #281e0a0f;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.tabbar button{width:100%;min-height:56px;border-radius:0;background:transparent;color:var(--muted);font-size:15px;font-weight:600;padding:8px 4px}.tabbar button.on{color:var(--accent-strong);background:transparent;box-shadow:inset 0 3px 0 var(--accent)}}@media(min-width:960px){.tabbar{display:none!important}.app-kicker{display:none}}
