:root{--page:#f1efe7;--paper:#fdfcf7;--paper-solid:#fff;--ink:#1b1a16;--ink-2:#3b3931;--ink-3:#6b685c;--ink-4:#9a968a;--red:#b8452a;--red-soft:#b8452a17;--teal:#146958;--rule:#ded9ca;--rule-2:#cac4b3;--grid:#ddd8c9;--font-ui:"PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:"Songti SC", "Noto Serif SC", "STSong", "SimSun", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", "Cascadia Code", Consolas, "SFMono-Regular", monospace;--font-math:"Cambria Math", "Latin Modern Math", "Times New Roman", Georgia, serif;color:var(--ink);background:var(--page);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:15px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(1100px 520px at 18% -12%, #faf9f3 0%, #faf9f300 70%), var(--page);margin:0;overflow:hidden}h1,h2,h3,p,ul,ol{margin:0}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}code{font-family:var(--font-mono)}::selection{background:#b8452a2e}:focus-visible{outline-offset:2px;outline:2px solid #b8452a73}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1b1a1629 padding-box padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#1b1a1647 padding-box padding-box}.app{flex-direction:column;height:100%;display:flex;overflow:hidden}.workspace{flex:1;grid-template-columns:240px minmax(0,1fr) 372px;min-height:0;display:grid}.topbar{border-bottom:1px solid var(--rule);z-index:5;background:linear-gradient(#fdfcf8 0%,#f8f6ef 100%);flex-shrink:0;align-items:center;gap:18px;height:64px;padding:0 18px;display:flex;position:relative}.brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-mark{color:var(--ink);flex-shrink:0}.brand-text{flex-direction:column;gap:1px;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.14em;color:var(--ink);font-size:19px;font-weight:600;line-height:1.2}.brand-sub{letter-spacing:.05em;color:var(--ink-4);white-space:nowrap;font-size:10.5px}.kindnav{border:1px solid var(--rule);background:#ffffff80;border-radius:9px;gap:2px;padding:3px;display:flex}.kindtab{text-align:left;cursor:pointer;color:var(--ink-3);background:0 0;border:0;border-radius:6px;flex-direction:column;gap:1px;padding:5px 13px 6px;transition:background .16s,color .16s;display:flex}.kindtab:hover{color:var(--ink-2);background:#1b1a160b}.kindtab-label{letter-spacing:.02em;font-size:13px;font-weight:600;line-height:1.35}.kindtab-sub{color:var(--ink-4);letter-spacing:.02em;white-space:nowrap;font-size:10px;line-height:1.35}.kindtab.on{background:var(--ink);color:var(--paper)}.kindtab.on .kindtab-sub{color:#fdfcf794}.top-actions{flex-shrink:0;align-items:center;gap:14px;margin-left:auto;display:flex}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.switch-track{background:var(--rule-2);border-radius:9px;align-items:center;width:30px;height:17px;padding:2px;transition:background .2s;display:inline-flex}.switch-knob{background:var(--paper-solid);border-radius:50%;width:13px;height:13px;transition:transform .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 1px 2px #1b1a1647}.switch input:checked+.switch-track{background:var(--red)}.switch input:checked+.switch-track .switch-knob{transform:translate(13px)}.switch input:focus-visible+.switch-track{outline-offset:2px;outline:2px solid #b8452a66}.switch-label{color:var(--ink-3);white-space:nowrap;font-size:12px}.btn{border:1px solid var(--rule-2);background:var(--paper-solid);height:33px;color:var(--ink-2);letter-spacing:.01em;cursor:pointer;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:500;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.btn:hover{border-color:var(--ink-4);color:var(--ink)}.btn:active{transform:translateY(1px)}.btn.small{height:29px;padding:0 10px;font-size:12px}.btn.ghost{color:var(--ink-3);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--ink);background:#1b1a160d;border-color:#0000}.btn.primary{background:var(--red);border-color:var(--red);color:#fffdf9}.btn.primary:hover{color:#fffdf9;background:#a53c23;border-color:#a53c23}.btn:disabled{opacity:.5;cursor:default;transform:none}.ai-btn{color:var(--teal);background:#1469580b;border-color:#14695842}.ai-btn:hover{color:#0f4e41;background:#14695814;border-color:#14695875}.btn-badge{font-style:normal;font-family:var(--font-mono);background:var(--red);color:#fffdf9;text-align:center;border-radius:8px;min-width:15px;padding:0 4px;font-size:10.5px;line-height:15px}.rail{border-right:1px solid var(--rule);background:#f8f6ef80;min-height:0;padding:14px 10px 20px;overflow-y:auto}.rail-group+.rail-group{margin-top:16px}.rail-head{letter-spacing:.14em;color:var(--ink-4);justify-content:space-between;align-items:baseline;padding:3px 8px 7px;font-size:11px;display:flex}.rail-head b{font-family:var(--font-mono);color:var(--ink-4);font-size:10.5px;font-weight:500}.rail-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.pitem{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:8px;width:100%;padding:8px 9px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.pitem:hover{background:#1b1a160b}.pitem.on{background:var(--paper-solid);border-color:var(--rule);box-shadow:0 1px 3px #1b1a160d}.pitem.on:before{content:"";background:var(--red);border-radius:2px;width:2px;position:absolute;top:9px;bottom:9px;left:-1px}.pitem-idx{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em;flex-shrink:0;padding-top:2px;font-size:10px}.pitem.on .pitem-idx{color:var(--red)}.pitem-body{flex-direction:column;gap:4px;min-width:0;display:flex}.pitem-title{color:var(--ink-2);font-size:13.5px;font-weight:600;line-height:1.35}.pitem.on .pitem-title{color:var(--ink)}.pitem-meta{color:var(--ink-4);align-items:center;gap:7px;font-size:10.5px;display:flex}.pitem-steps{white-space:nowrap}.pitem-tag{color:var(--teal);background:#14695812;border:1px solid #1469582e;border-radius:3px;padding:0 4px;font-size:9.5px;font-style:normal;line-height:14px}.rail-foot{border-top:1px dashed var(--rule);color:var(--ink-4);margin-top:14px;padding:12px 9px 0;font-size:11px;line-height:1.75}.rail-tools{gap:6px;padding:0 2px 10px;display:flex}.rail-search{border:1px solid var(--rule);background:var(--paper-solid);min-width:0;height:27px;color:var(--ink);border-radius:6px;outline:none;flex:1;padding:0 9px;font-family:inherit;font-size:12px;transition:border-color .15s,box-shadow .15s}.rail-search::placeholder{color:var(--ink-4)}.rail-search:focus{border-color:var(--rule-2);box-shadow:0 0 0 2px #b8452a14}.rail-filter{border:1px solid var(--rule);background:var(--paper-solid);height:27px;color:var(--ink-4);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0 7px;font-family:inherit;font-size:11px;transition:color .15s,border-color .15s,background .15s}.rail-filter:hover{color:var(--ink-3)}.rail-filter.on{color:var(--red);background:var(--red-soft);border-color:#b8452a59}.rail-chapters{flex-direction:column;gap:1px;display:flex}.rail-chapter{border-radius:7px}.rail-chapter-head{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;width:100%;padding:6px 8px;transition:background .15s;display:flex}.rail-chapter-head:hover{background:#1b1a160b}.rail-ch-num{text-align:center;width:16px;font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;font-size:10px}.rail-ch-title{min-width:0;color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:12.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.rail-ch-count{font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;font-size:10px}.rail-ch-arrow{text-align:center;width:13px;color:var(--ink-4);flex-shrink:0;font-size:11px}.rail-chapter.on .rail-ch-num,.rail-chapter.on .rail-ch-arrow{color:var(--red)}.rail-chapter.on .rail-ch-title{color:var(--ink);font-weight:600}.rail-chapter .rail-list{margin-top:2px;padding-left:7px}.rail-empty{color:var(--ink-4);margin:4px 8px;font-size:11.5px;line-height:1.7}.pitem-wrap{align-items:center;gap:1px;display:flex}.pitem-wrap .pitem{flex:1;width:auto;min-width:0}.pitem-fav{width:20px;height:20px;color:var(--rule-2);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:4px;flex-shrink:0;padding:0;font-size:11px;line-height:1;transition:opacity .15s,color .15s,background .15s}.pitem-wrap:hover .pitem-fav,.pitem-fav.on{opacity:1}.pitem-fav:hover{color:var(--red);background:var(--red-soft)}.pitem-fav.on{color:var(--red)}.pitem-entry .pitem-title{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.pitem-entry:hover .pitem-title{color:var(--ink-2)}.stage-fav{width:22px;height:22px;color:var(--rule-2);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;font-size:12px;line-height:1;transition:color .15s,background .15s}.stage-fav:hover{color:var(--red);background:var(--red-soft)}.stage-fav.on{color:var(--red)}.ai-source{font-family:var(--font-mono);letter-spacing:.02em;color:var(--red)!important;margin:4px 0 0!important;font-size:11.5px!important}.stage-weak{border:1px solid var(--rule);height:22px;color:var(--ink-4);letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:5px;padding:0 8px;font-family:inherit;font-size:10.5px;transition:color .15s,border-color .15s,background .15s}.stage-weak:hover{color:var(--red);border-color:#b8452a59}.stage-weak.on{color:var(--red);background:var(--red-soft);border-color:#b8452a59}.ask{border:1px solid var(--rule);background:var(--paper-solid);border-radius:10px;margin-top:18px;padding:12px}.ask-head{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.ask-head span{color:var(--ink-4);letter-spacing:.02em;font-size:10.5px;font-weight:400}.ask-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ask-chip{border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;background:0 0;border-radius:999px;padding:4px 9px;font-family:inherit;font-size:11.5px;transition:color .15s,border-color .15s,background .15s}.ask-chip:hover{color:var(--red);background:var(--red-soft);border-color:#b8452a52}.ask-thread{flex-direction:column;gap:12px;margin-top:11px;display:flex}.ask-turn{flex-direction:column;gap:5px;display:flex}.ask-q{color:var(--ink-4);margin:0;font-size:11.5px;line-height:1.6}.ask-q:before{content:"你问：";color:var(--ink-4)}.ask-a{color:var(--ink-2);white-space:pre-wrap;border-left:2px solid #14695859;margin:0;padding-left:10px;font-size:13px;line-height:1.75}.ask-wait{color:var(--ink-4);align-items:center;gap:7px;margin-top:10px;font-size:11.5px;display:flex}.ask-form{gap:6px;margin-top:11px;display:flex}.ask-input{border:1px solid var(--rule);background:var(--paper);min-width:0;height:30px;color:var(--ink);border-radius:6px;outline:none;flex:1;padding:0 9px;font-family:inherit;font-size:12px;transition:border-color .15s,box-shadow .15s}.ask-input:focus{border-color:var(--rule-2);box-shadow:0 0 0 2px #b8452a14}.ask-send{border:1px solid var(--ink);background:var(--ink);height:30px;color:var(--paper-solid);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0 13px;font-family:inherit;font-size:12px;transition:opacity .15s}.ask-send:disabled{opacity:.35;cursor:default}.level{align-items:center;gap:3px;display:inline-flex}.level i{background:var(--rule-2);border-radius:50%;width:5px;height:5px;display:block}.level i.on{background:var(--red)}.level-sm i{width:4px;height:4px}.stage{flex-direction:column;min-width:0;min-height:0;padding:14px 16px 12px;display:flex}.stage-head{justify-content:space-between;align-items:flex-end;gap:16px;padding:2px 4px 12px;display:flex}.stage-head-main{align-items:center;gap:10px;min-width:0;display:flex}.stage-kind{letter-spacing:.08em;color:var(--red);background:#b8452a0d;border:1px solid #b8452a42;border-radius:4px;flex-shrink:0;padding:3px 7px;font-size:10px;line-height:1.4}.stage-title{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:600;line-height:1.3;overflow:hidden}.stage-head-meta{flex-shrink:0;align-items:center;gap:10px;padding-bottom:3px;display:flex}.stage-tags{color:var(--ink-4);letter-spacing:.02em;white-space:nowrap;font-size:11px}.stage-body{flex:1;min-height:0;display:flex;position:relative}.stage-canvas{border:1px solid var(--rule);background:var(--paper-solid);border-radius:10px;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:0 1px 2px #1b1a1608,inset 0 1px #ffffffe6}.stage-canvas svg{display:block}.canvas-zoom{border-radius:10px;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.canvas-zoom>.stage-canvas>svg{transform:translate(var(--panx,0px), var(--pany,0px)) scale(var(--zoom,1));transform-origin:50%}.canvas-zoom>.stage-canvas{touch-action:none}.canvas-tools{z-index:4;border:1px solid var(--rule);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fdfcf7eb;border-radius:9px;align-items:center;gap:1px;padding:3px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #1b1a160f}.canvas-tools button{min-width:24px;height:24px;color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 7px;font-size:11px;line-height:1;transition:background .15s,color .15s}.canvas-tools button:hover{background:var(--rule);color:var(--ink)}.canvas-tools button.on{background:var(--ink);color:var(--paper-solid)}.canvas-tools .canvas-scale{min-width:42px;color:var(--ink-2);font-variant-numeric:tabular-nums}.canvas-sep{background:var(--rule);width:1px;height:15px;margin:0 3px}.stage-full{z-index:80;background:var(--paper-solid);box-shadow:0 0 0 1px var(--rule), 0 24px 60px #1b1a1629;padding:16px 20px 14px;position:fixed;inset:0}.stage-hint{z-index:3;border:1px solid var(--rule);color:var(--ink-4);letter-spacing:.02em;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fdfcf7e6;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:10.5px;display:inline-flex;position:absolute;bottom:11px;left:13px}.stage-hint-r{left:auto;right:13px}.full-note{z-index:3;border:1px solid var(--rule);border-left:3px solid var(--red);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fdfcf7f2;border-radius:8px;max-width:420px;padding:10px 13px;position:absolute;bottom:14px;left:16px;box-shadow:0 6px 20px #1b1a1614}.full-note b{color:var(--ink);margin-bottom:3px;font-size:12.5px;font-weight:600;display:block}.full-note span{color:var(--ink-2);font-size:11.5px;line-height:1.6;display:block}.stage-broken{border:1px solid var(--rule);background:var(--paper-solid);text-align:center;border-radius:12px;max-width:380px;margin:auto;padding:22px 24px}.stage-broken h2{color:var(--ink);margin:0 0 8px;font-size:15px}.stage-broken p{color:var(--ink-3);margin:0 0 16px;font-size:12.5px;line-height:1.75}.stage-dock{flex-shrink:0;padding-top:9px}.dock-progress{background:var(--rule);border-radius:2px;height:2px;margin-bottom:9px;overflow:hidden}.dock-progress span{background:linear-gradient(90deg, var(--red) 0%, #d07452 100%);height:100%;transition:width .34s cubic-bezier(.3,.7,.3,1);display:block}.dock-params{flex-wrap:wrap;gap:18px;padding:2px 2px 10px;display:flex}.param{flex-direction:column;flex:1;gap:4px;min-width:148px;max-width:250px;display:flex}.param-name{color:var(--ink-3);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.param-name b{font-family:var(--font-mono);color:var(--ink);font-weight:500}input[type=range]{appearance:none;background:var(--rule-2);cursor:pointer;border-radius:3px;outline:none;width:100%;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--paper-solid);border:1.5px solid var(--red);border-radius:50%;width:12px;height:12px;transition:transform .15s;box-shadow:0 1px 2px #1b1a162e}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}input[type=range]::-moz-range-thumb{background:var(--paper-solid);border:1.5px solid var(--red);border-radius:50%;width:11px;height:11px}.dock-player{align-items:center;gap:16px;display:flex}.dock-dots{flex-wrap:wrap;flex:1;align-items:center;gap:5px;min-width:0;display:flex}.dot{background:var(--rule-2);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:background .18s,transform .18s}.dot:hover,.dot.done{background:var(--ink-4)}.dot.on{background:var(--red);transform:scale(1.4)}.dock-buttons{flex-shrink:0;align-items:center;gap:5px;display:flex}.pbtn{border:1px solid var(--rule-2);background:var(--paper-solid);width:30px;height:30px;color:var(--ink-2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.pbtn:hover:not(:disabled){border-color:var(--ink-3)}.pbtn:active:not(:disabled){transform:scale(.94)}.pbtn:disabled{opacity:.28;cursor:default}.pbtn.main{background:var(--ink);border-color:var(--ink);width:34px;height:34px;color:var(--paper)}.pbtn.main:hover{background:#000;border-color:#000}.dock-count{font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;align-items:baseline;gap:4px;font-size:11px;display:flex}.dock-count span{color:var(--ink);font-weight:600}.dock-count i{opacity:.55;font-style:normal}.dock-pct{background:var(--rule);color:var(--ink-3);letter-spacing:.02em;border-radius:4px;margin-left:5px;padding:1px 5px;font-size:9.5px;font-weight:600}.dock-speed{border:1px solid var(--rule);color:var(--ink-3);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;margin-left:4px;padding:3px 7px;font-size:10.5px;transition:border-color .15s,color .15s}.dock-speed:hover{border-color:var(--ink-4);color:var(--ink)}.panel{border-left:1px solid var(--rule);background:var(--paper);flex-direction:column;min-height:0;display:flex}.panel-head{flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 0;display:flex}.ptabs{background:#1b1a160b;border-radius:7px;gap:3px;padding:3px;display:flex}.ptab{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.ptab:hover{color:var(--ink)}.ptab.on{background:var(--paper-solid);color:var(--ink);box-shadow:0 1px 2px #1b1a1612}.panel-count{font-family:var(--font-mono);color:var(--ink-4);font-size:10.5px}.panel-scroll{flex:1;min-height:0;padding:14px 16px 24px;overflow-y:auto}.stepcard{animation:.32s both cardIn}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stepcard-top{align-items:baseline;gap:9px;margin-bottom:12px;display:flex}.step-index{font-family:var(--font-display);color:var(--red);letter-spacing:.06em;border-bottom:2px solid #b8452a52;flex-shrink:0;padding-bottom:2px;font-size:13px}.step-title{font-family:var(--font-display);color:var(--ink);font-size:19px;font-weight:600;line-height:1.4}.q{border:1px solid var(--rule);background:#ffffff8c;border-radius:8px;margin-bottom:9px;padding:9px 12px 10px}.q-label{letter-spacing:.12em;color:var(--ink-4);margin-bottom:4px;font-size:10px;display:inline-block}.q p{color:var(--ink-2);font-size:13.5px;line-height:1.78}.q-ask{background:#1b1a1606;border-style:dashed}.q-ask p{color:var(--ink-3)}.q-why{background:#b8452a0b;border-color:#b8452a38}.q-why .q-label{color:var(--red)}.step-detail{color:var(--ink-2);margin:12px 2px 0;font-size:14px;line-height:1.85}.formula{border-left:2px solid var(--teal);background:#1469580b;border-radius:0 6px 6px 0;align-items:center;gap:8px;margin-top:12px;padding:9px 11px;display:flex}.formula-label{letter-spacing:.1em;color:var(--teal);flex-shrink:0;font-size:10px}.formula code{font-family:var(--font-math);color:#0f4e41;background:0 0;padding:0;font-size:14px;font-style:italic}.stepnext{border:1px solid var(--rule);background:var(--paper-solid);width:100%;color:var(--ink-4);text-align:left;cursor:pointer;border-radius:7px;align-items:center;gap:8px;margin-top:13px;padding:9px 11px;transition:border-color .15s,transform .15s;display:flex}.panel-foot{border-top:1px solid var(--rule);background:var(--paper);flex-shrink:0;padding:9px 14px 12px}.panel-foot .stepnext,.panel-foot .stepend{margin-top:0}.stepnext:hover{border-color:var(--ink-4);transform:translate(1px)}.stepnext-label{letter-spacing:.1em;flex-shrink:0;font-size:10px}.stepnext-title{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.stepend{color:var(--teal);background:#1469580d;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding:8px 11px;font-size:12px;line-height:1.5;display:flex}.stepend-text{align-items:center;gap:6px;display:inline-flex}.stepend-btn{color:var(--teal);font:inherit;cursor:pointer;background:0 0;border:1px solid #1469583d;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 9px;font-size:11.5px;transition:background .15s;display:inline-flex}.stepend-btn:hover{background:#1469581a}.qblock{border-top:1px solid var(--rule);margin-top:20px;padding-top:14px}.qblock-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.qblock-label{letter-spacing:.12em;color:var(--ink-4);font-size:10px}.qblock-goal{color:var(--red);text-align:right;font-size:11.5px;line-height:1.5}.qblock-text{color:var(--ink-2);font-size:13px;line-height:1.8}.qblock-given{flex-direction:column;gap:4px;margin:9px 0 0;padding:0;list-style:none;display:flex}.qblock-given li{color:var(--ink-3);padding-left:12px;font-size:12px;line-height:1.6;position:relative}.qblock-given li:before{content:"";background:var(--rule-2);border-radius:50%;width:4px;height:4px;position:absolute;top:.62em;left:0}.tree-cap{flex-direction:column;gap:3px;margin-bottom:12px;display:flex}.tree-cap strong{color:var(--ink);font-size:12.5px;font-weight:600}.tree-cap span{color:var(--ink-4);font-size:11.5px}.tnode{min-width:0}.trow{text-align:left;width:100%;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:5px 8px;font-size:12.5px;line-height:1.5;transition:background .15s,color .15s;display:flex;position:relative}.trow:hover:not(:disabled){color:var(--ink);background:#1b1a160a}.trow:disabled{cursor:default;opacity:.85}.tdot{background:var(--rule-2);border-radius:50%;flex-shrink:0;width:5px;height:5px}.trow.path .tdot{background:#b8452a8c}.trow.active{background:var(--red-soft);color:var(--red);font-weight:600}.trow.active .tdot{background:var(--red);box-shadow:0 0 0 3px #b8452a24}.tlabel{flex:1;min-width:0;line-height:1.5}.tstep{font-family:var(--font-mono);color:var(--ink-4);border:1px solid var(--rule);border-radius:3px;flex-shrink:0;padding:0 4px;font-size:9.5px;line-height:15px}.trow.active .tstep{color:var(--red);border-color:#b8452a4d}.tkids{border-left:1px dashed var(--rule-2);margin-left:9px;padding-left:4px}.tree-empty{color:var(--ink-4);font-size:12.5px;line-height:1.7}.tree-now{border-top:1px dashed var(--rule);color:var(--ink-4);margin-top:16px;padding-top:10px;font-size:11px}.sheet-mask{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b1a164d;justify-content:center;align-items:center;padding:26px;animation:.2s both maskIn;display:flex;position:fixed;inset:0}@keyframes maskIn{0%{opacity:0}}.sheet{border:1px solid var(--rule-2);background:var(--paper);border-radius:12px;flex-direction:column;width:min(800px,100%);max-height:100%;padding:18px 20px;animation:.26s cubic-bezier(.2,.8,.2,1) both sheetIn;display:flex;box-shadow:0 26px 60px #1b1a163d,0 2px 6px #1b1a1614}@keyframes sheetIn{0%{opacity:0;transform:translateY(10px)scale(.995)}}.sheet-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sheet-head h2{font-family:var(--font-display);color:var(--ink);margin-bottom:5px;font-size:19px;font-weight:600}.sheet-head p{max-width:590px;color:var(--ink-4);font-size:12px;line-height:1.75}.sheet-head code,.sheet-foot-note code{font-family:var(--font-mono);color:var(--ink-2);background:#1b1a160e;border-radius:3px;padding:1px 4px;font-size:11px}.iconbtn{width:28px;height:28px;color:var(--ink-4);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.iconbtn:hover{color:var(--ink);background:#1b1a160f}.sheet-tools{border-bottom:1px solid var(--rule);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;margin:14px 0 10px;padding-bottom:10px;display:flex}.sheet-tools-note{color:var(--ink-4);margin-left:auto;font-size:11px}.sheet-code{resize:vertical;border:1px solid var(--rule);min-height:220px;max-height:46vh;color:var(--ink-2);font-family:var(--font-mono);tab-size:2;background:#faf8f1;border-radius:8px;outline:none;flex:1;padding:12px;font-size:12.5px;line-height:1.65;transition:border-color .15s,background .15s}.sheet-code:focus{border-color:var(--ink-4);background:#fffef9}.sheet-errors{color:#8a3220;background:#b8452a0e;border:1px solid #b8452a42;border-radius:7px;flex-shrink:0;max-height:108px;margin-top:10px;padding:9px 12px 9px 28px;font-size:12px;line-height:1.7;overflow-y:auto}.sheet-list{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:7px;margin-top:12px;display:flex}.sheet-list-label{letter-spacing:.1em;color:var(--ink-4);margin-right:2px;font-size:10px}.chip{border:1px solid var(--rule);background:var(--paper-solid);border-radius:20px;align-items:center;font-size:11.5px;display:inline-flex;overflow:hidden}.chip-open{max-width:170px;color:var(--ink-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:3px 6px 3px 10px;overflow:hidden}.chip-open:hover{color:var(--red)}.chip-del{color:var(--ink-4);cursor:pointer;background:0 0;border:0;padding:3px 8px 3px 4px;display:inline-flex}.chip-del:hover{color:var(--red)}.sheet-foot{border-top:1px solid var(--rule);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.sheet-foot-note{color:var(--ink-4);margin-right:auto;font-size:11px}.grid-dot{fill:var(--grid)}.ink-fill{fill:#b8452a12;stroke:none}.ink-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:.52s cubic-bezier(.35,.05,.2,1) forwards inkDraw}@keyframes inkDraw{to{stroke-dashoffset:0}}.ink-fade{animation:.42s both inkFade}@keyframes inkFade{0%{opacity:0}}.ink-pulse{stroke-width:calc(var(--_w,1.8) + .6);filter:drop-shadow(0 0 1.5px);animation:1.4s ease-in-out both inkPulse}@keyframes inkPulse{0%,to{opacity:.55}50%{opacity:1}}.drag-tip{pointer-events:none;z-index:5;transform-origin:0 0;border:1px solid var(--rule-2);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fdfcf7f5;border-radius:7px;padding:6px 10px;font-size:11.5px;line-height:1.55;position:absolute;box-shadow:0 4px 14px #1b1a161f}.drag-tip>div:first-child{color:var(--ink);font-weight:600}.ai-guess-warn{color:var(--red);background:#b8452a0f;border:1px solid #b8452a47;border-radius:6px;margin-top:6px;padding:6px 10px;font-size:11.5px;line-height:1.55}.pt-dot{fill:var(--paper-solid);stroke:var(--ink);stroke-width:1.8px;transition:r .15s}.pt-drag{fill:var(--paper-solid);stroke:var(--ink-3);stroke-width:1.7px;cursor:grab;transition:stroke .15s,r .15s}.pt-drag:hover{stroke:var(--red)}.pt-drag:active{cursor:grabbing}.pt-label{font-family:var(--font-ui);fill:var(--ink);letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-size:13.5px;font-weight:600}.ang-label{font-family:var(--font-math);-webkit-user-select:none;user-select:none;font-size:11.5px;font-style:italic}.note-label{font-family:var(--font-ui);fill:var(--ink-3);-webkit-user-select:none;user-select:none;font-size:11.5px}.halo{fill:#b8452a1a;stroke:#b8452a52;stroke-width:1px;animation:2.4s ease-in-out infinite haloPulse}@keyframes haloPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.35;transform:scale(1.16)}}.halo{transform-box:fill-box;transform-origin:50%}.fn-grid line{stroke:var(--grid);stroke-width:1px}.fn-axis line{stroke:var(--ink-2);stroke-width:1.2px}.fn-head{fill:var(--ink-2)}.fn-axis-name{font-family:var(--font-math);fill:var(--ink-2);font-size:13px;font-style:italic}.fn-ticks line{stroke:var(--ink-4);stroke-width:1px}.fn-ticks text{font-family:var(--font-mono);fill:var(--ink-4);-webkit-user-select:none;user-select:none;font-size:9.5px}.fn-origin{font-family:var(--font-mono);font-size:10px}.guide-label{font-family:var(--font-ui);fill:var(--red);-webkit-user-select:none;user-select:none;font-size:10.5px}.rot-badge circle{fill:#fdfcf7db;stroke:var(--rule);stroke-width:1px}.rot-badge path{stroke:var(--ink-4);stroke-width:1.3px;fill:none}.rot-badge text{font-family:var(--font-ui);fill:var(--ink-4);-webkit-user-select:none;user-select:none;font-size:10.5px}.ai-sheet{width:min(680px,100%)}.ai-form{flex-direction:column;gap:12px;margin-top:14px;padding-right:2px;display:flex;overflow-y:auto}.ai-field{flex-direction:column;gap:6px;display:flex}.ai-field-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ai-label{letter-spacing:.1em;color:var(--ink-4);font-size:11px}.ai-hint{color:var(--ink-4);font-size:11px}.ai-hint a{color:var(--teal);border-bottom:1px dotted #14695873;text-decoration:none}.ai-textarea{resize:vertical;border:1px solid var(--rule);min-height:132px;max-height:32vh;color:var(--ink-2);background:#faf8f1;border-radius:8px;outline:none;padding:11px 12px;font-size:13.5px;line-height:1.75;transition:border-color .15s,background .15s}.ai-textarea:focus{border-color:var(--ink-4);background:#fffef9}.ai-row{gap:10px;display:flex}.ai-input{border:1px solid var(--rule);background:var(--paper-solid);height:34px;color:var(--ink);border-radius:7px;outline:none;flex:1;padding:0 11px;font-size:12.5px;transition:border-color .15s}.ai-input:focus{border-color:var(--ink-4)}.ai-select{border:1px solid var(--rule);background:var(--paper-solid);height:34px;color:var(--ink-2);cursor:pointer;border-radius:7px;outline:none;padding:0 8px;font-size:12.5px}.ai-kinds{flex-wrap:wrap;gap:6px;display:flex}.ai-kind{border:1px solid var(--rule);color:var(--ink-3);text-align:left;cursor:pointer;background:0 0;border-radius:7px;flex:88px;padding:7px 9px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.ai-kind span{color:var(--ink-4);margin-top:2px;font-size:10px;display:block}.ai-kind:hover{border-color:var(--rule-2)}.onb-overlay{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b1a1642;justify-content:center;align-items:center;padding:24px;animation:.22s both onb-fade;display:flex;position:fixed;inset:0}.onb-card{border:1px solid var(--rule);background:var(--paper-solid);border-radius:14px;width:min(430px,100%);padding:26px 28px 20px;animation:.26s cubic-bezier(.2,.8,.3,1) both onb-rise;box-shadow:0 18px 46px #1b1a162e}.onb-brand{align-items:baseline;gap:9px;margin-bottom:16px;display:flex}.onb-brand strong{letter-spacing:.04em;color:var(--ink);font-size:17px}.onb-brand span{color:var(--ink-4);letter-spacing:.02em;font-size:11px}.onb-title{color:var(--ink);margin:0 0 14px;font-size:19px;font-weight:600}.onb-steps{counter-reset:onb;flex-direction:column;gap:13px;margin:0 0 20px;padding:0;list-style:none;display:flex}.onb-steps li{counter-increment:onb;padding-left:30px;position:relative}.onb-steps li:before{content:counter(onb);border:1px solid var(--rule-2);width:20px;height:20px;color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums;border-radius:50%;font-size:11px;line-height:18px;position:absolute;top:1px;left:0}.onb-steps b{color:var(--ink);margin-bottom:2px;font-size:13.5px;font-weight:600;display:block}.onb-steps span{color:var(--ink-2);font-size:12.5px;line-height:1.6;display:block}.onb-go{background:var(--ink);width:100%;height:38px;color:var(--paper-solid);font:inherit;letter-spacing:.06em;cursor:pointer;border:0;border-radius:8px;font-size:13px;transition:background .16s}.onb-go:hover{background:var(--red)}.onb-foot{text-align:center;color:var(--ink-4);margin:11px 0 0;font-size:11px}@keyframes onb-fade{0%{opacity:0}}@keyframes onb-rise{0%{opacity:0;transform:translateY(10px)scale(.985)}}.ai-kind.on{border-color:var(--red);color:var(--ink);background:#b8452a0d}.ai-kind.on span{color:#b8452abf}.ai-note{color:var(--ink-4);background:#1b1a1607;border-radius:6px;padding:8px 10px;font-size:11px;line-height:1.7}.ai-status{color:var(--ink-3);border:1px solid var(--rule);background:#fff9;border-radius:7px;align-items:center;gap:9px;padding:9px 11px;font-size:12px;line-height:1.6;display:flex}.ai-ok{color:var(--teal);background:#1469580f;border-color:#14695859;font-weight:600}.ai-spinner{border:1.6px solid var(--rule-2);border-top-color:var(--red);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-error{color:#8a3220;white-space:pre-wrap;background:#b8452a0e;border:1px solid #b8452a42;border-radius:7px;padding:9px 12px 9px 28px;font-size:12px;line-height:1.7}.ai-foot{border-top:1px solid var(--rule);flex-shrink:0;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.ai-foot-note{color:var(--ink-4);margin-right:auto;font-size:11px}@media (width<=1240px){.workspace{grid-template-columns:214px minmax(0,1fr) 340px}.brand-sub{display:none}.kindtab{padding:5px 10px 6px}.kindtab-sub{display:none}}@media (width<=1000px){.workspace{grid-template-columns:188px minmax(0,1fr) 316px}.stage-tags{display:none}.topbar{gap:12px;padding:0 12px}}@media (width<=860px){body{overflow:auto}.app{height:auto;min-height:100%}.workspace{flex-direction:column;height:auto;display:flex}.rail{border-right:0;border-bottom:1px solid var(--rule);order:1;align-items:center;gap:8px;padding:8px 12px;display:flex;overflow:auto hidden}.rail-group{align-items:center;gap:6px;display:flex;margin:0!important}.rail-head,.rail-foot,.rail-tools,.rail-chapters{display:none}.rail-list{flex-direction:row;gap:4px}.pitem{width:auto;padding:6px 9px}.pitem-idx,.pitem-meta{display:none}.pitem-title{white-space:nowrap;font-size:12.5px}.stage{order:2;padding:10px 12px}.stage-body{min-height:56vh}.panel{border-left:0;border-top:1px solid var(--rule);order:3;min-height:320px}.panel-scroll{max-height:none}.stage-title{font-size:19px}.brand-name{font-size:17px}.top-actions{gap:8px}}.sim{border-top:1px solid var(--rule);flex-direction:column;gap:6px;margin-top:20px;padding-top:14px;display:flex}.sim-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:3px;display:flex}.sim-head strong{font-family:var(--font-display);letter-spacing:.03em;color:var(--ink-2);font-size:13px;font-weight:600}.sim-head span{color:var(--ink-4);letter-spacing:.04em;font-size:10.5px}.sim-item{border:1px solid var(--rule);cursor:pointer;text-align:left;width:100%;color:var(--ink-3);background:#ffffff8c;border-radius:7px;align-items:center;gap:8px;padding:7px 9px;transition:background .15s,border-color .15s,color .15s;display:flex}.sim-item:hover{background:var(--paper-solid);border-color:var(--ink-4);color:var(--ink)}.sim-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;line-height:1.5;overflow:hidden}.sim-kind{letter-spacing:.06em;color:var(--ink-4);border:1px solid var(--rule);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px}.sim-item svg{color:var(--ink-4);flex-shrink:0}.pitem-done{color:var(--teal);background:#14695812;border-color:#14695847}.help-overlay{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1b1a1657;justify-content:center;align-items:center;padding:24px;animation:.16s both help-in;display:flex;position:fixed;inset:0}.help-card{border:1px solid var(--rule);background:var(--paper);border-radius:12px;width:min(400px,100%);padding:18px 20px 16px;animation:.18s cubic-bezier(.2,.8,.2,1) both help-rise;box-shadow:0 18px 46px #1b1a1638}.help-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.help-head strong{font-family:var(--font-display);letter-spacing:.06em;font-size:15px;font-weight:600}.help-x{color:var(--ink-4);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px;display:inline-flex}.help-x:hover{color:var(--ink);background:#1b1a160d}.help-rows{flex-direction:column;gap:9px;margin:14px 0 0;display:flex}.help-rows>div{justify-content:space-between;align-items:center;gap:14px;display:flex}.help-rows dt{gap:4px;margin:0;display:flex}.help-rows dd{color:var(--ink-3);margin:0;font-size:12.5px}.help-rows kbd{font-family:var(--font-mono);text-align:center;border:1px solid var(--rule-2);background:var(--paper-solid);min-width:22px;color:var(--ink-2);border-bottom-width:2px;border-radius:5px;padding:5px 6px;font-size:11px;line-height:1}.help-tip{border-top:1px dashed var(--rule);color:var(--ink-4);margin-top:14px;padding-top:12px;font-size:11.5px;line-height:1.7}@keyframes help-in{0%{opacity:0}to{opacity:1}}@keyframes help-rise{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}.mstep{display:none}@media (width<=860px){body{padding-bottom:58px}.mstep{z-index:40;border-top:1px solid var(--rule);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fdfcf7f0;align-items:center;gap:10px;height:52px;padding:0 12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #1b1a1612}.mstep button{border:1px solid var(--rule-2);background:var(--paper-solid);width:40px;height:34px;color:var(--ink-2);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mstep button:disabled{opacity:.35;cursor:default}.mstep-label{min-width:0;color:var(--ink-4);letter-spacing:.04em;flex:1;align-items:baseline;gap:7px;font-size:11px;display:flex}.mstep-label b{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:13px;font-weight:600;overflow:hidden}}.panel-quiz{border:1px solid var(--rule-2);height:24px;color:var(--ink-3);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;margin-left:auto;margin-right:10px;padding:0 9px;font-size:11px;transition:background .15s,color .15s,border-color .15s}.panel-quiz:hover{color:var(--ink);border-color:var(--ink-4)}.panel-quiz.on{background:var(--red-soft);color:var(--red);border-color:#b8452a66}.stepcard-quiz{border:1px dashed var(--rule-2);background:#ffffff73;border-radius:9px;padding:16px 16px 14px}.stepcard-quiz .step-title{color:var(--ink-2);font-size:16px}.quiz-tip{color:var(--ink-4);margin-top:12px;font-size:12px;line-height:1.75}.quiz-reveal{border:1px solid var(--ink);background:var(--ink);width:100%;height:36px;color:var(--paper);letter-spacing:.06em;cursor:pointer;border-radius:7px;margin-top:12px;font-size:12.5px;transition:opacity .15s,transform .15s}.quiz-reveal:hover{opacity:.88}.quiz-reveal:active{transform:translateY(1px)}.panel-aa{font-family:var(--font-display);letter-spacing:0;margin-right:8px;padding:0 7px;font-size:12px}.ask-clear{color:var(--ink-4);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 4px;font-size:10.5px}.ask-clear:hover{color:var(--red);background:var(--red-soft)}.help-actions{justify-content:flex-end;margin-top:12px;display:flex}.help-act{border:1px solid var(--rule-2);background:var(--paper-solid);height:30px;color:var(--ink-2);cursor:pointer;border-radius:7px;padding:0 12px;font-size:12px}.help-act:hover{border-color:var(--ink-4);color:var(--ink)}@media print{body{background:#fff;overflow:visible}.topbar,.rail,.stage-dock,.canvas-tools,.stage-hint,.mstep,.panel-head,.panel-foot,.full-note,.onb-overlay,.help-overlay,.ask,.sim{display:none!important}.app,.workspace{height:auto;display:block;overflow:visible}.stage,.panel{border:0!important;min-height:0!important;padding:0 0 12px!important;overflow:visible!important}.stage-body{height:360px!important;min-height:0!important}.panel-scroll{zoom:1!important;max-height:none!important;overflow:visible!important}.stepcard{break-inside:avoid}}.ai-error-act{align-items:flex-start;gap:10px;display:flex}.ai-error-act span{flex:1;min-width:0}.ai-error-act button{height:24px;color:var(--red);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #b8452a66;border-radius:6px;flex-shrink:0;padding:0 9px;font-size:11.5px}.ai-error-act button:hover{background:#b8452a14}.ai-error-act button:disabled{opacity:.45;cursor:default}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.full-note{align-items:flex-end;gap:12px;display:flex}.full-note-text{min-width:0}.full-note-text span{display:block}.full-nav{flex-shrink:0;gap:4px;padding-bottom:2px;display:flex}.full-nav button{border:1px solid var(--rule-2);background:var(--paper-solid);width:30px;height:28px;color:var(--ink-2);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.full-nav button:hover:not(:disabled){border-color:var(--ink-4);color:var(--ink)}.full-nav button:disabled{opacity:.35;cursor:default}@media (width<=620px){.topbar{scrollbar-width:none;gap:8px;padding:0 8px;overflow:auto hidden}.topbar::-webkit-scrollbar{display:none}.topbar>*{flex-shrink:0}.brand-text{display:none}.kindtab{padding:4px 8px 5px}.kindtab-label{font-size:12px}.btn{height:30px;padding:0 9px;font-size:12px}.canvas-tools{scrollbar-width:none;max-width:calc(100% - 20px);overflow-x:auto}.canvas-tools::-webkit-scrollbar{display:none}.canvas-tools button{flex-shrink:0}.full-note{max-width:none;left:8px;right:8px}}.stepend-btns{flex-shrink:0;gap:6px;display:flex}.stepend-btn.primary{border-color:var(--ink);background:var(--ink);color:var(--paper)}.stepend-btn.primary:hover{opacity:.88}
