:root{--ink:#222c36;--muted:#72766f;--gold:#aa8050;--line:#e2e0d8;--canvas:#eae9e3;--panel:#f8f7f2;--danger:#a54035;--serif:'Songti SC','STSong','Noto Serif CJK SC',serif;--sans:'PingFang SC','Microsoft YaHei',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 var(--sans)}button,input,textarea,select{font:inherit}button{padding:9px 14px;border:1px solid #d3d3c8;border-radius:5px;color:var(--ink);background:white;cursor:pointer;white-space:nowrap}button:hover{border-color:var(--gold);background:#fbf8f2}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--ink);border-color:var(--ink);color:white}button.primary:hover{background:#38424b}button.quiet{background:transparent;border-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}input,textarea,select{width:100%;min-width:0;border:1px solid #dcdcd4;background:#fff;border-radius:4px;padding:9px 10px;color:var(--ink)}input[type=number]{font-variant-numeric:tabular-nums}textarea{resize:vertical;min-height:66px}input:invalid{border-color:#cb7b64}input[readonly]{background:#f1efe8;color:#666b66;cursor:not-allowed}small{font-size:11px;color:var(--muted);font-weight:400}label{display:block;font-size:12px;font-weight:500}label>input,label>select,label>textarea,label>.input-unit{margin-top:5px}label small{display:block;line-height:1.5;margin-top:5px}label>small:first-child{display:inline}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.access-gate{position:fixed;inset:0;z-index:100;background:#eae9e3;display:grid;place-items:center;padding:24px}.access-card{width:min(420px,100%);background:#f8f7f2;border:1px solid #d4c8b4;padding:38px;box-shadow:0 18px 55px #27313a18}.access-mark{width:48px;height:48px;border:1px solid var(--ink);font:36px/44px var(--serif);text-align:center;margin-bottom:24px}.access-kicker{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:600}.access-card h1{font:600 28px/1.35 var(--serif);margin-top:9px}.access-copy{font-size:13px;color:var(--muted);margin:10px 0 22px}.access-card label{font-size:12px}.access-card input{margin-top:7px;font-size:16px;letter-spacing:1px}.access-card button{width:100%;margin-top:16px}.access-error{font-size:11px;color:var(--danger);margin-top:12px}.locked>.app-header,.locked>.workspace,.locked>.history-view,.locked>.confirm-dialog,.locked>.toast{display:none!important}.app-header{position:sticky;top:0;z-index:10;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#f8f7f2;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:35px;height:35px;border:1px solid var(--ink);font:27px/32px var(--serif);text-align:center}.brand strong{display:block;letter-spacing:3px;font-size:14px}.brand div>span{display:block;font-size:11px;letter-spacing:1.1px;color:#77786f;margin-top:1px}.header-actions{display:flex;align-items:center;gap:8px}.save-state{font-size:11px;color:var(--muted);margin-right:12px}.workspace{display:grid;grid-template-columns:minmax(300px,28%) minmax(0,1fr);max-width:1680px;margin:auto}.editor{background:var(--panel);border-right:1px solid var(--line);min-height:calc(100vh - 76px);padding:26px 25px 28px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#858278}.editor-title h1{font-family:var(--serif);font-size:26px;line-height:1.35;margin-top:10px;font-weight:600}.editor-title p{color:var(--muted);font-size:12px;margin:10px 0 24px}.editor details{border-top:1px solid var(--line)}.editor summary{cursor:pointer;padding:15px 0;display:flex;align-items:center;gap:9px;font-weight:600;font-size:13px;list-style:none}.editor summary::-webkit-details-marker{display:none}.editor summary>span{font-size:10px;color:var(--gold);font-variant-numeric:tabular-nums}.editor summary::after{content:'+';margin-left:auto;font:18px/1 Arial;color:#8b897f}.editor details[open]>summary::after{content:'−'}.fields{display:flex;flex-direction:column;gap:13px;padding-bottom:21px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-unit{display:flex;align-items:center;position:relative}.input-unit input{padding-right:54px}.input-unit>span{position:absolute;right:10px;font-size:11px;color:#85847a;pointer-events:none}.fields [data-kind]>label{margin-bottom:13px}.calculated{border-left:2px solid var(--gold);background:#efede5;padding:11px 13px}.calculated>span{display:block;font-size:11px;color:var(--muted)}.calculated strong{display:block;font:600 23px/1.5 var(--serif)}.calculated p{font-size:10px;color:#78766a}.upload-row{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted)}.file-label{cursor:pointer;font-size:11px;border-bottom:1px solid #b9b6aa}.text-button{border:0;background:transparent;padding:0;font-size:11px;color:var(--muted)}.share-control{background:#fff;border:1px solid var(--line);padding:12px}.derived-share>span{display:block;font-size:12px}.derived-share strong{font-size:25px;display:block;padding-top:5px;font-family:var(--serif)}.share-track{height:5px;background:#c7c4b9;margin-top:12px}.share-track>span{height:100%;display:block;background:var(--ink);width:70%}.share-control p{font-size:10px;color:var(--muted);margin-top:8px}.advanced h3{font-size:12px;margin-top:5px}.field-note{font-size:11px;color:var(--muted)}.checkbox{display:flex;align-items:center;gap:7px}.checkbox input{width:14px;margin:0;accent-color:var(--ink)}#saleFields>label{margin-top:12px}.calc-detail{font-size:10px;line-height:1.8;background:#efede5;padding:10px;overflow-wrap:anywhere}.calc-detail p+p{margin-top:6px}.validation{font-size:11px;line-height:1.6}.validation .error{border-left:2px solid var(--danger);color:var(--danger);background:#f8ebe7;padding:10px;margin-top:10px}.validation .warning{border-left:2px solid #b0915c;background:#f1eddf;padding:10px;margin-top:10px;color:#756343}.privacy{margin-top:18px;font-size:10px;color:#8b897f}.preview{padding:26px 30px 30px;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;min-height:44px}.preview-toolbar>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.preview-toolbar .eyebrow{width:100%;line-height:1}.preview-toolbar strong{font-size:15px;font-weight:500}.page-status{font-size:10px;color:#72766f;padding:2px 7px;background:#deded5}.page-status.invalid{color:var(--danger);background:#f4ded7}.export-actions{display:flex;gap:8px}.paper-stage{position:relative;margin:0 auto;width:794px;max-width:100%}.paper{width:794px;height:auto;min-height:1123px;flex-shrink:0;padding:38px 44px 34px;background:#fff;box-shadow:0 4px 25px #28302212;border:0;display:flex;flex-direction:column;font:13px/1.55 var(--sans);color:#222c36;overflow:visible;transform-origin:top left}.paper-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c0aa88;padding-bottom:12px;margin-bottom:20px}.paper-brand{font-size:12px;font-weight:700;letter-spacing:2.5px;white-space:nowrap}.paper-brand span{font-size:10px;font-weight:400;letter-spacing:1px;color:#8d795b;margin-left:8px}.paper-date{font-size:10px;color:#7c7e77}.proposal-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.proposal-kicker{font-size:8px;letter-spacing:2px;color:#9b835f;margin-bottom:5px}.proposal-head h1{font:700 29px/1.3 var(--serif);letter-spacing:.4px;overflow-wrap:anywhere}.proposal-meta{font-size:10px;color:#737770;margin-top:7px}.proposal-head img{max-width:85px;max-height:60px;object-fit:contain}.proposal-intro{font-size:11.5px;margin-top:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.key-figures{display:grid;grid-template-columns:1fr 1fr 1.12fr;background:#f5f3ed;border-top:1px solid #d5c5ad;margin-top:17px;padding:13px 17px;gap:15px}.key-figures>div+div{border-left:1px solid #dcd7cd;padding-left:17px}.key-figures span{display:block;font-size:10px;color:#74786f}.key-figures strong{font:600 24px/1.45 var(--serif);font-variant-numeric:tabular-nums;color:#26333c;letter-spacing:.2px}.paper-section{margin-top:18px}.paper-section h2{font:700 16px/1.3 var(--serif);display:flex;align-items:center;gap:10px;margin-bottom:9px}.paper-section h2::after{content:'';height:1px;background:#e5e1d8;flex:1;margin-left:3px}.paper-section h2>span{font:11px var(--sans);color:#a48455;letter-spacing:1px}.rights-line{font-size:11.5px;line-height:1.7;overflow-wrap:anywhere}.terms-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e7e4dc;margin-top:8px}.terms-grid>div{display:flex;gap:10px;justify-content:space-between;padding:6px 9px;font-size:10px;border-bottom:1px solid #e7e4dc}.terms-grid>div:nth-child(odd){border-right:1px solid #e7e4dc}.terms-grid span{color:#777a74}.terms-grid b{font-weight:500;text-align:right}.funds-row{display:flex;gap:0;border:1px solid #e5e1d8;margin-top:10px}.fund-item{flex:1;padding:7px 9px}.fund-item+.fund-item{border-left:1px solid #e5e1d8}.fund-item span{display:block;font-size:9px;color:#7b7c75}.fund-item b{font-size:12px;font-weight:600}.fine{font-size:9px;color:#777c78;line-height:1.6;margin-top:6px;overflow-wrap:anywhere}.flowchart{display:block;width:100%;height:auto}.flowchart text{font-family:var(--sans)}.split-banner{display:flex;align-items:center;gap:18px;background:#f4f3ee;padding:10px 15px}.split-banner>div:first-child,.split-banner>div:last-child{display:flex;gap:10px;align-items:center;white-space:nowrap}.split-banner span{font-size:10px;color:#6b716e}.split-banner b{font-size:23px;font-family:var(--serif);line-height:1}.split-middle{flex:1;text-align:center}.split-middle span{font-size:9px}.split-line{display:flex;height:4px;background:#c0b399;margin-top:6px}.split-line i{background:#233541;height:4px;display:block;width:70%}.income-table{border-collapse:collapse;width:100%;font-size:10.5px;margin-top:8px;table-layout:fixed}.income-table th{background:#26333e;color:white;font-weight:500;text-align:left;padding:7px 9px;font-size:10px}.income-table th:first-child{width:30%}.income-table th:nth-child(2){width:22%}.income-table td{padding:5px 9px;border-bottom:1px solid #e6e4de;vertical-align:top}.income-table td:nth-child(2){font-weight:600;font-variant-numeric:tabular-nums}.income-table td:nth-child(3){color:#727671;font-size:9.5px}.income-table tr.emphasis td{background:#f2f0e9;font-weight:600}.income-table tr.total td{border-top:1px solid #b7a685;background:#e9edf0;font-weight:700}.loss-note{color:#a44036}.responsibilities{display:grid;grid-template-columns:1fr 1fr;gap:20px}.responsibilities>div+div{border-left:1px solid #e5e1d8;padding-left:20px}.responsibilities h3{font-size:11px;font-weight:600;margin-bottom:4px}.responsibilities p{font-size:10px;color:#68716e;line-height:1.7}.personal-note{margin-top:9px;border-left:2px solid #b29465;padding:4px 10px;font-size:10px}.personal-note>b{font-size:9px;color:#9a825d}.personal-note p{line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.paper-footer{margin-top:auto;padding-top:15px;color:#8a8c83;font-size:8.5px}.paper-footer>p{padding-top:9px;border-top:1px solid #d5c5ad;line-height:1.6}.paper-footer>div{display:flex;justify-content:space-between;gap:15px;margin-top:7px}.paper-footer>div>span:first-child{max-width:82%;overflow-wrap:anywhere}.preview-caption{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;color:#92938a;margin-top:20px}.status-dot{width:5px;height:5px;background:#91937f;border-radius:50%}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#24313b;color:white;padding:12px 21px;border-radius:5px;z-index:30;font-size:13px;max-width:90vw;box-shadow:0 5px 20px #0002}body.exporting{cursor:progress}body.exporting .export-actions{pointer-events:none}
@media(min-width:1500px){.editor{padding:30px 34px}.preview{padding:30px 50px}}@media(max-width:1050px){.app-header{padding:0 18px}.workspace{grid-template-columns:310px minmax(0,1fr)}.editor{padding:22px 20px}.preview{padding:22px 18px}.save-state{display:none}.header-actions{gap:4px}.preview-toolbar{flex-wrap:wrap}.export-actions{width:100%}.preview-caption{flex-wrap:wrap}}@media(max-width:740px){.app-header{height:auto;min-height:80px;padding:15px;flex-wrap:wrap;gap:12px}.header-actions{width:100%}.header-actions button{font-size:11px;padding:6px 10px}.workspace{display:block}.editor{border-right:0;min-height:auto;padding:20px}.editor-title h1{font-size:23px}.editor-title h1 br{display:none}.preview{padding:22px 12px}.preview-toolbar{padding:0 5px}.export-actions{width:auto}.preview-toolbar>div:first-child{flex:1}.preview-caption{font-size:9px}.editor details:not([open]) summary{padding:14px 0}.editor-title p{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@page{size:auto;margin:10mm}@media print{html,body{width:210mm!important;margin:0!important;background:white!important}.app-header,.editor,.preview-toolbar,.preview-caption,.toast,#projectFile{display:none!important}.workspace,.preview,.paper-stage{display:block!important;margin:0!important;padding:0!important;width:210mm!important;max-width:none!important;height:auto!important}.paper{transform:none!important;margin:0!important;box-shadow:none!important;width:210mm!important;height:auto!important;min-height:0!important;break-after:avoid;page-break-after:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.paper *{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.workspace{height:calc(100dvh - 76px);overflow:hidden}.editor,.preview{overflow:auto}.preview-toolbar{position:sticky;top:-26px;background:#eae9e3;z-index:5;padding-top:8px;padding-bottom:8px}.paper{padding-top:32px!important;padding-bottom:28px!important}.paper-section{margin-top:14px!important}.paper-top{margin-bottom:16px!important}.key-figures{padding-top:11px!important;padding-bottom:11px!important}@media(max-width:740px){.workspace{height:auto!important;overflow:visible!important}.editor,.preview{overflow:visible!important}.preview-toolbar{position:static!important}}@media print{.workspace,.preview{height:auto!important;overflow:visible!important}}

/* Keep one readable proposal; its height grows with the actual content. */
.paper-section{margin-top:20px!important}
.paper-section h2{font-size:17px;margin-bottom:10px}
.rights-line,.proposal-intro{font-size:12px;line-height:1.8}
.proposal-meta,.terms-grid>div{font-size:11px}
.terms-grid>div{padding:8px 9px}
.key-figures strong{font-size:23px}
.key-figures span{font-size:11px}
.fine{font-size:10.5px;line-height:1.65}
.fund-item span{font-size:10.5px}
.fund-item b{font-size:14px;display:block}
.fund-item small{display:block;font-size:9.5px;margin-top:3px}
.flowchart{margin-top:15px}
.market-making-note{margin-top:12px;padding-left:12px;border-left:2px solid #b29465}
.market-making-note .rights-line>b{display:block;margin-bottom:3px;color:#5f4b2e}
.return-summary{display:flex;align-items:center;gap:13px;border:1px solid #ddd8ca;padding:14px;margin-top:12px}
.return-summary>div{flex:1}
.return-summary>div>span{display:block;font-size:10.5px;color:#72766f}
.return-summary b{display:block;font:600 23px/1.55 var(--serif)}
.return-summary small{display:block;margin-top:2px;font-size:9.5px;color:#8a6a3d;white-space:nowrap}
.return-arrow{color:#a58b61;font-size:18px}
.return-summary .extra-result{border-left:1px solid #ddd8ca;padding-left:14px}
.split-banner{margin-top:13px}
.split-banner span{font-size:11px}
.income-table{font-size:12px}
.income-table th{font-size:11px;padding:8px 9px}
.income-table td{padding:7px 9px}
.income-table td:nth-child(3){font-size:10.5px}
.unlock-rules{margin:0;padding-left:21px;font-size:12px;line-height:1.75}
.unlock-rules li+li{margin-top:6px}
.unlock-rules li::marker{color:#a58b61;font-weight:600}
.responsibilities h3{font-size:12px}
.responsibilities p{font-size:11px}
.personal-note{font-size:11px}
.paper-footer{margin-top:20px;font-size:9.5px}
.calc-detail{font-size:11px}
.fields label{line-height:1.55}
.field-feedback{display:block;font-size:11px;font-weight:400;line-height:1.6;padding:8px 9px;margin-top:7px;border-left:2px solid;overflow-wrap:anywhere}.field-feedback.error{color:#a54035;background:#f8ebe7;border-color:#a54035}.field-feedback.warning{color:#756343;background:#f1eddf;border-color:#b0915c}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b85b4b}.input-unit input{padding-right:70px}.field-row>label{min-width:0}.fund-item{min-width:0}.fund-item b{overflow-wrap:anywhere}.fund-item small{line-height:1.5}input[readonly]{background:#f1f0ea;color:#65706c}
.export-result{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:794px;margin:0 auto 16px;padding:10px 14px;background:#f8f7f2;border:1px solid #d7d0c2;font-size:12px}.export-result a{color:#76582e;font-weight:600;white-space:nowrap}@media print{.export-result{display:none!important}}
.paper-footer{border-top:1px solid #d5c5ad;padding-top:11px;text-align:right;font-size:11px;letter-spacing:.4px;color:#8d795b}
.phase-income-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:10px;font-size:8.8px;font-variant-numeric:tabular-nums}
.phase-income-table th{padding:7px 4px;background:#26333e;color:#fff;font-weight:500;line-height:1.35;text-align:right}
.phase-income-table th:first-child,.phase-income-table td:first-child{text-align:left;width:13%}
.phase-income-table th:nth-child(3){width:12%}
.phase-income-table th span{font-size:8px;color:#d9dedf}
.phase-income-table td{padding:6px 4px;border-bottom:1px solid #e6e4de;text-align:right;white-space:nowrap}
.phase-income-table tr.emphasis td{background:#f3f1eb;font-weight:600}
.phase-income-table tr.total td{border-top:1px solid #a89069;background:#e7ecee;font-weight:700}
.history-view{max-width:1180px;margin:auto;padding:42px 36px 36px}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.history-heading h1{font:600 32px/1.4 var(--serif);margin-top:9px}.history-heading p{font-size:13px;color:var(--muted);margin-top:10px}.history-tools{display:flex;align-items:end;gap:20px;margin-bottom:24px}.history-tools label{width:360px;max-width:100%}.history-tools>span{font-size:12px;color:var(--muted);padding-bottom:10px}.history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.history-card{background:var(--panel);border:1px solid #d8d4ca;border-top:2px solid #b49a72;border-radius:5px;padding:22px}.history-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.history-card h2{font:600 21px/1.45 var(--serif);overflow-wrap:anywhere}.history-card-heading p{font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.history-badge{font-size:10px;padding:3px 7px;color:#746345;background:#ebe5d8;white-space:nowrap}.history-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-top:20px}.history-stats span{display:block;font-size:11px;color:var(--muted)}.history-stats b{display:block;font-size:15px;margin-top:5px;overflow-wrap:anywhere}.history-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.history-card-bottom time{font-size:11px;color:var(--muted)}.history-card-bottom button{font-size:12px}.history-actions{display:flex;gap:8px}.history-delete{color:#9f4338;background:transparent}.history-empty{padding:55px 20px;border:1px dashed #c8c2b6;text-align:center;color:var(--muted);background:#f6f4ee;font-size:13px}.history-local-note{font-size:11px;color:#8b897f;margin-top:25px}.confirm-dialog{width:min(440px,calc(100vw - 32px));border:0;border-radius:7px;padding:0;box-shadow:0 22px 70px #1117;background:#fff}.confirm-dialog::backdrop{background:#20272da8}.confirm-dialog-body{padding:28px}.confirm-dialog h2{font:600 24px/1.35 var(--serif);margin-top:8px}.confirm-dialog-body>p{margin-top:10px;overflow-wrap:anywhere}.confirm-warning{font-size:12px;color:#786f66;background:#f5f1e9;padding:11px}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.danger-button{background:#9f4338;color:#fff;border-color:#9f4338}.danger-button:hover{background:#84362e;border-color:#84362e}@media(max-width:740px){.history-view{padding:26px 18px}.history-heading{align-items:start}.history-heading h1{font-size:27px}.history-heading p{font-size:12px}.history-list{grid-template-columns:1fr}.history-tools{flex-wrap:wrap;gap:9px}.history-tools label{width:100%}.history-card{padding:18px}.history-stats{gap:9px}.history-stats b{font-size:13px}.history-card-bottom{align-items:flex-start;flex-direction:column}.history-actions{width:100%}.history-actions button{flex:1}}@media print{.history-view,.confirm-dialog{display:none!important}}
