:root{--ink:#202a29;--sub:#74807a;--muted:#a4ada8;--paper:#f7f8f5;--white:#fff;--line:#e4e9e4;--line-dark:#d6dfd8;--green:#2c6354;--green-dark:#21483f;--wash:#edf3ee;--sidebar:#fff;--danger:#ad463a;--shadow:0 8px 25px rgba(23,35,29,.055);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper)}body{overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,[tabindex]:focus-visible{outline:3px solid #a9d0bd;outline-offset:3px}svg:not(.sprite){width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}.sprite{position:absolute;width:0;height:0;overflow:hidden}.hidden,.visually-hidden{display:none!important}.visually-hidden{position:absolute;left:-9999px}h1,h2,h3,p{margin:0}.eyebrow{letter-spacing:.105em;font-size:10px;line-height:1.5;font-weight:750;color:#8a9990}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 30px;background:var(--white);border-bottom:1px solid var(--line)}.brand{min-width:305px;display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{width:30px;height:32px;display:block;position:relative;flex:none}.brand-mark span{position:absolute;border:1px solid #27574d;display:block;border-radius:3px;width:20px;height:25px;background:#fff;top:4px;left:4px;transform:rotate(-11deg)}.brand-mark span:nth-child(2){left:8px;top:3px;transform:rotate(0);background:#d1e5d7}.brand-mark span:nth-child(3){left:10px;top:1px;transform:rotate(8deg);background:#f9fbf8}.brand-name{font-size:21px;font-weight:820;letter-spacing:-.055em}.brand-period{color:#6b9b83}.version-tag{font-size:9px;letter-spacing:.1em;color:#5f826e;background:#e8f1e8;border:1px solid #d8e6db;padding:5px 8px;border-radius:5px;font-weight:800;margin-left:4px}.header-center{color:#91a099;font-size:12px;white-space:nowrap}.header-center strong{color:#4d6157;font-weight:600}.header-separator{margin:0 10px;color:#cbd4cf}.header-right{min-width:305px;display:flex;align-items:center;gap:18px;justify-content:flex-end}.privacy-pill{display:inline-flex;align-items:center;gap:7px;color:#557e68;font-weight:600;font-size:11px;white-space:nowrap}.privacy-pill svg{width:13px;height:13px}.header-help{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:white;color:#74817b}.header-help svg{width:17px;height:17px}.app-layout{min-height:calc(100vh - 74px);display:grid;grid-template-columns:minmax(235px,275px) minmax(0,1fr) minmax(245px,292px)}.sources-pane,.inspector-pane{background:var(--white);min-height:0}.sources-pane{border-right:1px solid var(--line);display:flex;flex-direction:column}.pane-header{padding:32px 24px 0}.pane-header h2,.inspector-header h2{font-weight:750;letter-spacing:-.04em;font-size:19px;margin-top:6px}.count-badge{font-size:11px;background:#edf1ed;color:#63756b;border-radius:7px;padding:4px 7px;vertical-align:middle;margin-left:4px;letter-spacing:0}.pane-hint{font-size:12px;color:#98a29a;line-height:1.5;padding:11px 24px 20px}.add-files{border:1px dashed #afc8b6;background:#f1f7f2;color:#2c6551;font-weight:700;font-size:12px;min-height:44px;margin:0 22px 24px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;transition:.15s}.add-files:hover,.empty-add:hover{background:#e3eee5}.add-files svg{width:16px;height:16px}.shortcut-hint{margin-left:auto;margin-right:10px;color:#819e8b;border:1px solid #cedfcf;padding:0 5px;border-radius:4px;font-size:12px}.source-list{padding:0 13px 24px;overflow-y:auto;flex:1;min-height:70px}.source-empty{text-align:center;color:#a0aaa3;font-size:12px;padding:38px 20px;line-height:1.65}.source-file{border:1px solid var(--line);border-radius:11px;padding:11px;margin:0 6px 10px;background:#fff}.source-file-header{display:flex;gap:10px;align-items:center}.source-file-icon{height:42px;width:36px;background:#f0f5f1;color:#668775;display:grid;place-items:center;border-radius:7px}.source-file-icon svg{width:19px}.source-text{min-width:0;flex:1}.source-name{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.source-pages{display:block;font-size:11px;color:#94a198;margin-top:4px}.source-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #eef1ed}.link-button{border:0;background:none;color:#47725f;font-weight:700;font-size:11px;display:flex;align-items:center;gap:3px;padding:3px}.link-button:hover{text-decoration:underline}.link-button svg{width:12px;height:12px}.remove-source{border:0;background:none;padding:3px;color:#afb7af}.remove-source:hover{color:var(--danger)}.remove-source svg{width:15px;height:15px}.source-details{margin-top:12px;padding:9px 0 0;border-top:1px solid #edf1ed}.source-page-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:190px;overflow:auto}.source-page-btn{padding:5px 0;border:1px solid #dce6dd;background:#f9fbf9;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#65816e}.source-page-btn:hover{background:#e8f2e9}.source-page-btn svg{width:11px;height:11px}.source-page-btn span{font-size:11px}.sources-bottom{display:flex;gap:9px;margin:0 19px 22px;padding:16px 12px;border:1px solid var(--line);border-radius:10px;color:#6e8e79;background:#fbfdfb}.sources-bottom svg{width:17px;height:17px;margin-top:2px}.sources-bottom strong{display:block;color:#4f6f5b;font-size:11px;margin-bottom:5px}.sources-bottom p{font-size:11px;line-height:1.5;color:#94a79b}.workspace-main{display:flex;min-width:0;min-height:calc(100vh - 74px);flex-direction:column}.workbar{min-height:101px;background:var(--paper);padding:24px 32px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e9ede9}.canvas-heading{display:flex;gap:13px;align-items:center;margin-top:4px}.canvas-heading h1{font-size:24px;font-weight:760;letter-spacing:-.052em;white-space:nowrap}.canvas-count{font-size:11px;font-weight:650;color:#87978d;background:#edf1eb;border-radius:50px;padding:6px 10px;white-space:nowrap}.workbar-actions{display:flex;align-items:center;gap:9px}.icon-button{background:#fff;border:1px solid var(--line);width:35px;height:35px;display:grid;place-items:center;border-radius:8px;color:#63756b}.icon-button:hover:not(:disabled){background:#edf3ed}.icon-button svg{width:16px;height:16px}.action-divider{width:1px;height:25px;background:#dce3db;margin:0 6px}.ghost-button{background:transparent;border:none;color:#818f84;font-weight:650;font-size:12px;padding:10px}.ghost-button:hover:not(:disabled){color:var(--danger)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:37px;border-radius:8px;background:#2e6353;color:#fff;border:1px solid #2e6353;padding:0 14px;font-weight:700;font-size:12px;white-space:nowrap;transition:.15s}.primary-button:hover:not(:disabled){background:#224d40;box-shadow:0 4px 14px rgba(35,93,71,.18)}.primary-button svg{width:15px;height:15px}.canvas-area{flex:1;position:relative;min-height:460px;}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:74px 16px 50px;max-width:540px;margin:0 auto}.welcome-visual{width:250px;height:158px;position:relative;margin-bottom:14px}.sheet{position:absolute;width:92px;height:125px;border:1px solid #d9e4da;background:#fff;border-radius:5px;box-shadow:0 16px 28px #233d2d10;padding:22px 13px}.sheet i{display:block;height:6px;border-radius:4px;background:#e4ece5;margin-bottom:7px}.sheet i:nth-child(2){width:78%}.sheet i:nth-child(3){width:93%}.sheet i:nth-child(4){height:30px;width:82%;background:#ebf1eb;margin-top:14px}.sheet-left{left:13px;top:19px;transform:rotate(-15deg)}.sheet-right{right:12px;top:16px;transform:rotate(14deg)}.sheet-center{left:80px;top:3px;z-index:2;width:92px;height:132px}.welcome-badge{position:absolute;z-index:3;right:26px;bottom:2px;width:38px;height:38px;border-radius:50%;background:#2f6955;color:#fff;border:4px solid var(--paper);display:grid;place-items:center;box-shadow:0 5px 11px #356b5040}.welcome-badge svg{width:17px}.empty-state h2{font-size:clamp(33px,4vw,48px);letter-spacing:-.065em;line-height:1.12;font-weight:760;margin:13px 0 14px}.empty-state h2 em{color:#4f866e;font-style:normal}.empty-state p{font-size:14px;line-height:1.75;max-width:410px;color:#87958b}.empty-add{margin-top:30px;background:#dfece2;color:#285e49;border:1px solid #cbdccb;padding:13px 23px;border-radius:9px;display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:750}.empty-add svg{width:17px}.empty-support{margin-top:14px;font-size:11px;color:#a1ada3}.canvas-content{padding:26px 32px 48px}.canvas-tip{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#8a9a8d;padding:0 0 23px}.canvas-tip span{display:inline-flex;align-items:center;gap:7px}.canvas-tip svg{width:14px;height:14px}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(153px,1fr));gap:24px 20px;align-items:start}.page-card{min-width:0;position:relative;user-select:none;outline:none}.page-card.dragging{opacity:.34}.page-card.drop-before::before,.page-card.drop-after::after{content:"";position:absolute;top:0;bottom:17px;width:4px;background:#428d71;border-radius:6px;z-index:10}.page-card.drop-before::before{left:-10px}.page-card.drop-after::after{right:-10px}.page-visual{height:210px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e0e7df;border-radius:7px;box-shadow:0 5px 14px rgba(40,56,43,.048);position:relative;padding:10px;overflow:hidden;transition:.15s}.page-card:hover .page-visual{box-shadow:0 8px 22px rgba(35,60,43,.12);border-color:#b8cfc0}.page-card.selected .page-visual{outline:2px solid #4d896a;outline-offset:2px;border-color:#4d896a;box-shadow:0 6px 21px rgba(50,110,75,.14)}.page-visual img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 0 1px rgba(0,0,0,.045));pointer-events:none}.page-visual .loading-page{height:100%;width:100%;display:grid;place-items:center;color:#b7c6bc}.loading-page svg{width:31px;height:31px}.page-checkbox{position:absolute;top:8px;left:8px;height:21px;width:21px;border:1px solid #cbdacc;border-radius:50%;background:#ffffffeb;color:transparent;display:grid;place-items:center;z-index:3;transition:.15s}.page-checkbox svg{width:14px;height:14px}.page-card.selected .page-checkbox{background:#39745d;color:white;border-color:#39745d}.page-card:not(.selected):hover .page-checkbox{color:#bacabc}.page-idx{font-size:11px;font-weight:700;color:#576c5d;margin-top:12px;display:flex;align-items:center;gap:5px}.page-idx .page-index{background:#e9eee8;padding:4px 7px;border-radius:4px;font-size:10px;color:#799080}.page-card.selected .page-index{background:#d3e7d9;color:#2c7054}.page-filename{font-size:10px;font-weight:500;color:#a2ada4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;flex:1;min-width:0}.page-reorder{display:none}.canvas-add{margin-top:30px;width:100%;padding:19px;border:1px dashed #cbd9ce;color:#71907b;background:transparent;border-radius:8px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:9px}.canvas-add:hover{background:#edf4ec}.canvas-add svg{width:16px;height:16px}.workspace-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e7ece6;color:#9dab9e;font-size:10px;padding:12px 32px;min-height:39px}.workspace-footer span{display:inline-flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;background:#64ab83;border-radius:50%}.inspector-pane{border-left:1px solid var(--line)}.inspector-header{padding:32px 25px 28px;border-bottom:1px solid #eef0ec}.inspector-empty{text-align:center;padding:84px 31px 25px}.inspector-icon{border:1px solid #e0e9df;background:#f6f9f5;display:grid;place-items:center;color:#93aa99;width:60px;height:60px;border-radius:16px;margin:0 auto 17px}.inspector-icon svg{width:25px;height:25px}.inspector-empty h3{font-size:14px;letter-spacing:-.025em}.inspector-empty p{color:#9aa79e;font-size:12px;line-height:1.7;margin-top:10px}.inspector-content{padding:25px 23px 28px}.inspector-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rotation-chip{font-size:11px;border:1px solid var(--line);padding:4px 8px;border-radius:5px;color:#6e806f}.preview-stage{height:254px;background:#f0f3ef;border:1px solid #e5ece4;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:17px;overflow:hidden}.preview-frame{height:100%;max-width:100%;display:flex;align-items:center;justify-content:center}.preview-frame img{height:auto;width:auto;max-width:100%;max-height:100%;box-shadow:0 3px 10px #1c2b2422;object-fit:contain}.preview-placeholder{color:#bed0c1}.preview-placeholder svg{width:36px;height:36px}.inspector-source{font-size:11px;color:#96a499;text-align:center;margin:13px 0 26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-section{margin-bottom:23px}.section-label{margin-bottom:11px}.tool-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px 5px;background:#fff;border:1px solid var(--line);border-radius:8px;color:#667c6c;min-height:74px;transition:.15s}.tool-button svg{width:19px;height:19px}.tool-button span{font-size:11px;font-weight:630}.tool-button:hover:not(:disabled){background:#f4f8f3;border-color:#bad0bf;color:#366b53}.tool-danger:hover:not(:disabled){border-color:#ebc7c1;background:#fcf5f3;color:var(--danger)}.inspector-tip{margin-top:35px;background:#f5f8f4;border:1px solid #e9eee7;border-radius:8px;padding:12px;display:flex;gap:8px;color:#95a69b}.inspector-tip svg{width:15px;height:15px}.inspector-tip p{font-size:10px;line-height:1.7}.drop-overlay{position:fixed;inset:0;z-index:100;background:#214d3f7a;border:6px dashed #effbf0;display:grid;place-items:center}.drop-card{background:#fff;border-radius:22px;padding:45px 55px;text-align:center;box-shadow:0 25px 80px #14292055}.drop-card svg{width:50px;height:50px;color:#3b8464;margin-bottom:15px}.drop-card h2{font-size:26px;letter-spacing:-.05em}.drop-card p{margin-top:10px;font-size:13px;color:#92a397}.busy-overlay{position:fixed;inset:0;z-index:110;background:#f2f6f0b8;backdrop-filter:blur(5px);display:grid;place-items:center}.busy-card{border:1px solid #dae7db;background:white;box-shadow:var(--shadow);border-radius:17px;padding:37px 45px;min-width:290px;text-align:center}.spinner{width:37px;height:37px;border:3px solid #e6eee6;border-top-color:#367a5a;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.busy-card h2{font-size:16px;letter-spacing:-.03em}.busy-card p{font-size:12px;margin-top:10px;color:#94a99a}.toast{position:fixed;right:28px;bottom:23px;max-width:min(425px,calc(100vw - 40px));z-index:130;background:#243a2f;color:white;border-radius:12px;padding:14px 19px;box-shadow:0 8px 30px #11251a40;font-size:13px;line-height:1.5}.toast.error{background:#773d35}.help-dialog{position:fixed;border:1px solid #dce7dc;border-radius:17px;width:min(480px,calc(100vw - 30px));padding:35px 35px 29px;box-shadow:0 15px 70px #1a302a44}.help-dialog::backdrop{background:#1c32294f;backdrop-filter:blur(3px)}.help-dialog h2{font-size:29px;letter-spacing:-.065em;margin:7px 0 13px}.help-dialog>p{font-size:13px;color:#819187;line-height:1.7}.help-close{position:absolute;top:17px;right:17px;background:none;border:0;color:#91a196}.help-steps{margin:23px 0;display:grid;gap:15px}.help-steps>div{display:flex;gap:14px;align-items:start}.help-steps strong{font-size:13px;color:#428060}.help-steps span{font-size:13px;color:#506656;line-height:1.5}.help-dialog .help-footnote{font-size:11px;color:#9aa69a;margin:19px 0 20px}.help-dialog .primary-button{width:100%}
@media (max-width:1180px){.app-layout{grid-template-columns:235px minmax(0,1fr) 244px}.header-center{display:none}.brand,.header-right{min-width:0}.workbar{padding-left:22px;padding-right:22px}.canvas-content{padding-left:22px;padding-right:22px}.page-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:19px 13px}.page-visual{height:178px}.inspector-content{padding:20px 14px}}
@media (max-width:920px){.app-layout{grid-template-columns:226px minmax(0,1fr)}.inspector-pane{grid-column:1/-1;border-top:1px solid var(--line);border-left:0;display:flex;align-items:stretch;flex-wrap:wrap}.inspector-header{width:100%;padding:15px 22px}.inspector-empty{padding:20px;width:100%}.inspector-content{width:100%;padding:20px 22px;display:grid;grid-template-columns:220px repeat(3,minmax(0,1fr));gap:12px;align-items:start}.inspector-meta{grid-column:1;grid-row:1}.preview-stage{grid-column:1;grid-row:2;height:160px}.inspector-source{grid-column:1;grid-row:3;margin:4px}.inspector-section{grid-row:2;margin:0}.section-label{margin:0 0 10px}.tool-row{grid-template-columns:1fr}.tool-button{flex-direction:row;min-height:53px;padding:6px}.inspector-tip{grid-column:2/-1;grid-row:3;margin:0}.canvas-heading h1{font-size:20px}.ghost-button{display:none}}
@media (max-width:650px){.topbar{height:60px;padding:0 16px}.brand-name{font-size:19px}.version-tag{font-size:8px;margin-left:0}.privacy-pill{font-size:0;gap:0}.privacy-pill svg{width:18px;height:18px}.header-right{gap:14px}.app-layout{display:flex;flex-direction:column;min-height:calc(100vh - 60px)}.sources-pane{border-right:0;border-bottom:1px solid var(--line);min-height:0}.pane-header{padding:18px 17px 0}.pane-header h2{font-size:16px}.pane-hint{display:none}.add-files{margin:13px 17px 12px;min-height:42px}.source-list{display:flex;overflow-x:auto;min-height:0;padding:0 15px 13px;gap:8px}.source-file{min-width:205px;margin:0}.source-empty{padding:9px 0;text-align:left}.sources-bottom{display:none}.workspace-main{min-height:500px}.workbar{padding:15px 16px;min-height:78px}.canvas-heading h1{font-size:20px}.workbar-actions{gap:5px}.canvas-count{font-size:10px;padding:5px}.icon-button{width:30px;height:31px}.primary-button{padding:0 10px;min-height:34px}.workbar-actions .primary-button span{display:none}.action-divider{margin:0 2px}.canvas-area{min-height:350px}.empty-state{padding:35px 24px 45px}.welcome-visual{transform:scale(.78);margin-bottom:-5px}.empty-state h2{font-size:35px}.empty-state p{font-size:12px}.canvas-content{padding:17px 14px 30px}.canvas-tip{padding-bottom:17px;line-height:1.6}.canvas-tip span:last-child{display:none}.page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 13px}.page-visual{height:205px}.inspector-content{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inspector-meta{grid-column:1/-1;grid-row:1}.preview-stage{grid-column:1/-1;grid-row:2;height:210px}.inspector-source{grid-column:1/-1;grid-row:3}.inspector-section{grid-row:auto;grid-column:auto}.inspector-section:nth-of-type(5){grid-column:1/-1}.tool-row{grid-template-columns:1fr 1fr}.tool-button{flex-direction:column}.inspector-tip{grid-column:1/-1;grid-row:auto}.workspace-footer{padding:12px 14px}.workspace-footer>span:last-child{display:none}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition:none!important}}
