@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700&display=swap";:root{--ink:#20221d;--muted:#74766d;--paper:#f4f0e8;--cream:#e9e3d7;--red:#e6523c;--green:#2f5b4e;--line:rgba(32,34,29,.13)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:DM Sans,PingFang SC,sans-serif}button,input{font:inherit}button{color:inherit}.topbar{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;width:max-content}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:50% 50% 48% 52%/45% 55%;font-family:"Noto Serif SC",serif;font-size:19px}.brand strong,.brand small{display:block}.brand strong{font-family:"Noto Serif SC",serif;font-size:19px;letter-spacing:.16em}.brand small{color:var(--muted);font-size:8px;letter-spacing:.22em;margin-top:3px}.mode-tabs{background:#e7e1d6;padding:4px;border-radius:999px;display:flex;gap:2px}.mode-tab{border:0;background:transparent;padding:10px 22px;border-radius:999px;cursor:pointer;color:var(--muted);transition:.2s;font-size:14px}.mode-tab.active{background:#fffdf8;color:var(--ink);box-shadow:0 2px 12px #2a282114}.save-state{justify-self:end;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.save-dot{width:7px;height:7px;border-radius:50%;background:#6e9a7d}.view[hidden]{display:none!important}.edit-view{display:grid;grid-template-columns:minmax(280px,32vw) 1fr;min-height:calc(100vh - 84px)}.side-panel{border-right:1px solid var(--line);padding:8vh 4vw 5vh;display:flex;flex-direction:column}.eyebrow,.live-kicker{color:var(--red);font-weight:700;font-size:11px;letter-spacing:.2em}.side-panel h1{margin:24px 0 20px;font:600 clamp(34px,3.3vw,57px)/1.22 "Noto Serif SC",serif;letter-spacing:-.04em}.side-panel h1 em{color:var(--red);font-style:normal}.side-panel>p{color:var(--muted);line-height:1.85;max-width:370px;margin:0 0 42px;font-size:14px}.upload-card{border:1px dashed #aaa89e;background:#ffffff3d;padding:18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:.2s}.upload-card:hover{background:#fff9;border-color:var(--green)}.upload-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-size:20px}.upload-card strong,.upload-card small{display:block}.upload-card strong{font-size:13px;margin-bottom:4px}.upload-card small{font-size:10px;color:var(--muted)}.stat-row{display:flex;margin-top:auto;padding-top:38px;gap:42px}.stat-row div{display:flex;align-items:baseline;gap:6px}.stat-row strong{font:600 30px "Noto Serif SC",serif}.stat-row span{font-size:11px;color:var(--muted)}.editor-shell{background:#fbf9f4;margin:5vh 5vw;min-width:0;border:1px solid rgba(255,255,255,.8);box-shadow:0 16px 60px #37322814;display:flex;flex-direction:column;max-height:calc(90vh - 84px)}.editor-toolbar{min-height:62px;display:flex;align-items:center;padding:0 22px;border-bottom:1px solid var(--line);gap:4px;position:sticky;top:0;background:#fbf9f4;z-index:2}.editor-toolbar button{min-width:36px;height:36px;border:0;background:transparent;border-radius:7px;cursor:pointer}.editor-toolbar button:hover{background:#ebe7de}.editor-toolbar .divider{width:1px;height:22px;background:var(--line);margin:0 8px}.highlight-tool i{display:block;width:17px;height:17px;border-radius:50%;background:var(--color);border:1px solid rgba(0,0,0,.08);margin:auto}.toolbar-hint{margin-left:auto;color:#9a9b94;font-size:11px}.editor{flex:1;min-height:50vh;overflow:auto;padding:clamp(28px,5vw,70px);outline:none;font:500 clamp(20px,1.7vw,27px)/2 "Noto Serif SC",serif;caret-color:var(--red)}.editor:empty:before{content:attr(data-placeholder);color:#b5b3aa}.editor p{margin:0 0 1.2em}.editor mark{padding:0 .1em}.editor-footer{min-height:48px;padding:0 22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.editor-footer button{border:0;background:none;cursor:pointer;color:var(--muted)}.editor-footer button:hover{color:var(--red)}.present-view{min-height:calc(100vh - 84px);background:#141713;color:#f7f3e9;display:flex;flex-direction:column}body.presenting .topbar{background:#141713;color:#f7f3e9;border-color:#33372f}.presenting .mode-tabs{background:#252922}.presenting .mode-tab.active{background:#f3eee4;color:#191c17}.presenting .save-state{visibility:hidden}.presentation-header{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw 12px}.presentation-header h2{font:600 20px "Noto Serif SC",serif;margin:7px 0 0}.presentation-actions{display:flex;gap:8px;align-items:center}.icon-button,.exit-button{background:#242820;border:1px solid #3a3e35;color:#eee9df;border-radius:9px;min-width:42px;height:40px;cursor:pointer}.exit-button{padding:0 18px;margin-left:8px}.prompter-stage{flex:1;min-height:0;position:relative;overflow:hidden}.prompter{height:calc(100vh - 260px);overflow:auto;padding:35vh 12vw 40vh;outline:none;scrollbar-width:none;font:600 42px/1.8 "Noto Serif SC",serif;letter-spacing:.01em;text-align:left;cursor:pointer}.prompter.is-empty{cursor:default}.prompter::-webkit-scrollbar{display:none}.prompt-paragraph{margin:0 0 1.5em;color:#74796f;opacity:.7;transition:color .25s,opacity .25s,transform .25s;border-left:3px solid transparent;padding-left:.7em}.prompt-paragraph.completed{color:#adb1a7;opacity:.92}.prompt-paragraph.current{color:#fff;opacity:1;border-left-color:var(--red);transform:translate(.18em)}.focus-line{pointer-events:none;position:absolute;z-index:2;top:50%;left:4vw;right:4vw;height:1px;background:linear-gradient(90deg,transparent,rgba(230,82,60,.4) 12%,rgba(230,82,60,.4) 88%,transparent)}.focus-line span{position:absolute;left:0;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--red)}.empty-prompt{position:absolute;inset:0;display:grid;place-items:center;color:#7a7e74}.empty-prompt[hidden]{display:none}.control-dock{min-height:92px;border-top:1px solid #30342d;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5vw;background:#191c17}.step-instructions{display:flex;align-items:center;gap:12px}.step-icon{width:36px;height:36px;border:1px solid #44493f;border-radius:9px;display:grid;place-items:center;color:var(--red);font-size:18px}.step-instructions strong,.step-instructions small,.paragraph-counter strong,.paragraph-counter small{display:block}.step-instructions strong{font-size:13px}.step-instructions small,.paragraph-counter small{font-size:10px;color:#858a80;margin-top:4px}.paragraph-counter{text-align:center}.paragraph-counter strong{font:600 18px "Noto Serif SC",serif}.progress-control{justify-self:end;display:flex;align-items:center;gap:13px;color:#9b9f96;font-size:11px}.progress-control input{accent-color:var(--red);width:min(16vw,180px)}.progress-control input:disabled{opacity:.35;cursor:not-allowed}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#23251f;color:#fff;padding:12px 20px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%)}@keyframes pulse{50%{opacity:.45;transform:scale(.9)}}@media(max-width:800px){.topbar{grid-template-columns:1fr auto;padding:0 18px}.save-state{display:none}.mode-tabs{justify-self:end}.mode-tab{padding:9px 12px}.edit-view{display:block}.side-panel{border-right:0;border-bottom:1px solid var(--line);padding:42px 24px 28px}.side-panel>p{margin-bottom:24px}.stat-row{margin-top:0;padding-top:28px}.editor-shell{margin:22px 14px;max-height:none}.editor{padding:32px 24px;min-height:60vh}.toolbar-hint{display:none}.presentation-header{padding:16px}.presentation-actions .icon-button:nth-child(-n+2){display:none}.prompter{height:calc(100vh - 250px);padding:35vh 8vw 40vh;font-size:32px!important}.control-dock{grid-template-columns:1fr auto;padding:0 16px}.progress-control,.brand small{display:none}}@media(max-width:480px){.brand>span:last-child{display:none}.mode-tab{font-size:12px}.presentation-header h2{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exit-button{padding:0 12px}.step-instructions small{max-width:150px}.control-dock{grid-template-columns:1fr auto}.paragraph-counter{text-align:right}}
