@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4_400Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4_400Regular_Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4_700Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4_700Bold_Italic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond_400Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond_400Regular_Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond_700Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond_700Bold_Italic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3_400Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3_400Regular_Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3_700Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3_700Bold_Italic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin_400Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin_400Regular_Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin_700Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Libre Franklin;src:url(/fonts/LibreFranklin_700Bold_Italic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime_400Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime_400Regular_Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime_700Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime_700Bold_Italic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--chrome-bg:#f3f5f8;--chrome-panel:#fff;--chrome-border:#d6dce4;--chrome-border-strong:#b9c2cd;--menubar-bg:#1f2a37;--menubar-text:#e5e9ef;--menubar-hover:#2e3c4e;--text:#1f2937;--text-muted:#5b6676;--accent:#1d4ed8;--accent-hover:#1e40af;--accent-soft:#e3ebfd;--danger:#c0262d;--danger-hover:#a11f25;--focus:0 0 0 3px #1d4ed840;--radius:6px;--shadow-menu:0 10px 30px #0f172a2e, 0 2px 6px #0f172a14;--shadow-modal:0 24px 60px #0f172a47;color:var(--text);background:var(--chrome-bg);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{background:var(--chrome-bg);height:100%;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--chrome-border-strong);background:var(--chrome-panel);border-radius:var(--radius);padding:6px 14px}button:hover:not(:disabled){background:#f0f3f7}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{box-shadow:var(--focus);outline:none}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.primary.danger{background:var(--danger);border-color:var(--danger)}button.primary.danger:hover:not(:disabled){background:var(--danger-hover)}input,select{border:1px solid var(--chrome-border-strong);background:#fff;border-radius:4px;min-width:0;padding:4px 6px}input:focus,select:focus{border-color:var(--accent)}.icon-btn{background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:18px;line-height:1}.app{grid-template-rows:auto auto auto 1fr auto;height:100%;display:grid}.main{grid-template-columns:1fr;min-height:0;display:grid;position:relative}.menubar{background:var(--menubar-bg);height:32px;color:var(--menubar-text);align-items:stretch;padding-left:6px;display:flex}.brand{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#2f6fe4,#1d4ed8);border-radius:5px;place-items:center;width:26px;margin:5px 8px 5px 2px;font-size:12px;font-weight:700;display:grid}.menu{position:relative}.menu-title{height:100%;color:inherit;background:0 0;border:none;border-radius:0;padding:0 12px}.menu-title:hover:not(:disabled),.menu-title.open{background:var(--menubar-hover)}.menu-dropdown{z-index:50;background:var(--chrome-panel);min-width:240px;color:var(--text);border:1px solid var(--chrome-border);box-shadow:var(--shadow-menu);border-radius:0 0 8px 8px;padding:5px;position:absolute;top:100%;left:0}.menu-item{text-align:left;background:0 0;border:none;border-radius:4px;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;width:100%;padding:6px 10px 6px 6px;display:grid}.menu-item:hover:not(:disabled){background:var(--accent);color:#fff}.menu-item:hover:not(:disabled) .shortcut{color:#dbe4fb}.menu-item .check{text-align:center;font-size:12px}.menu-item .shortcut{color:var(--text-muted);padding-left:24px;font-size:12px}.menu-sep{background:var(--chrome-border);height:1px;margin:5px 6px}.control-palette{background:var(--chrome-panel);border-bottom:1px solid var(--chrome-border);align-items:center;gap:4px;height:40px;padding:0 10px;display:flex;overflow:hidden}.cp-group{border-right:1px solid var(--chrome-border);align-items:center;gap:10px;height:26px;padding:0 12px;display:flex}.cp-coords{min-width:380px;padding-left:2px}.cp-field{color:var(--text-muted);align-items:center;gap:5px;font-size:12px;display:flex}.cp-field .unit-input{width:64px;color:var(--text);font-variant-numeric:tabular-nums}.cp-field select{color:var(--text)}.cp-hint{color:var(--text-muted);font-size:12px}.cp-btn{padding:3px 10px;font-size:12px}.cp-cursor{color:var(--text-muted);font-variant-numeric:tabular-nums;border-right:none;justify-content:flex-end;min-width:170px;margin-left:auto;font-size:12px}.swatch{border:1px solid #00000040;border-radius:3px;flex:none;width:14px;height:14px;display:inline-block}.toolbox{z-index:20;background:var(--chrome-panel);border:1px solid var(--chrome-border-strong);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;width:78px;position:absolute;box-shadow:0 8px 24px #0f172a2e,0 1px 3px #0f172a1f}.toolbox-title{border-bottom:1px solid var(--chrome-border);height:20px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;cursor:grab;background:linear-gradient(#f4f6f9,#e9edf2);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:0 2px 0 8px;font-size:10px;font-weight:600;display:flex}.toolbox.dragging .toolbox-title{cursor:grabbing}.toolbox-title .icon-btn{color:var(--text-muted);padding:0 5px;font-size:14px}.toolbox-grid{grid-template-columns:repeat(2,34px);justify-content:center;gap:2px;padding:4px;display:grid}.tool{color:#3b4655;background:0 0;border:1px solid #0000;place-items:center;width:34px;height:34px;padding:0;display:grid}.tool:hover:not(:disabled){background:#eef2f7}.tool.on,.tool.on:hover{background:var(--accent-soft);color:var(--accent);border-color:#b7c9f5}.workspace{grid-template-rows:0 1fr;grid-template-columns:0 1fr;min-width:0;min-height:0;display:grid;overflow:hidden}.workspace.with-rulers{grid-template-rows:22px 1fr;grid-template-columns:22px 1fr}.ruler-corner{border-right:1px solid var(--chrome-border);border-bottom:1px solid var(--chrome-border);background:#eef1f5;grid-area:1/1}.ruler{touch-action:none;display:block}.ruler-h{cursor:row-resize;grid-area:1/2}.ruler-v{cursor:col-resize;grid-area:2/1}.canvas-host{touch-action:none;grid-area:2/2;min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-host canvas{display:block;position:absolute;inset:0}.pagebar{background:var(--chrome-panel);border-top:1px solid var(--chrome-border);justify-content:space-between;align-items:center;gap:12px;height:36px;padding:0 10px;display:flex}.page-nav{align-items:center;gap:4px;min-width:0;display:flex}.page-icons{scrollbar-width:thin;align-items:center;gap:1px;padding:3px 2px;display:flex;overflow-x:auto}.page-icon{font-variant-numeric:tabular-nums;border-color:var(--chrome-border-strong);width:22px;height:26px;color:var(--text-muted);border-radius:2px;flex:none;padding:0;font-size:10px}.page-icon.right+.page-icon.left{margin-left:6px}.page-icon.on{background:var(--accent);border-color:var(--accent);color:#fff}.page-icon.on:hover:not(:disabled){background:var(--accent-hover)}.zoom-ctl{align-items:center;gap:2px;display:flex}.zoom-ctl select{width:120px}.modal-backdrop{z-index:100;background:#0f172a73;place-items:center;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--chrome-panel);max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-modal);-webkit-user-select:text;user-select:text;border-radius:10px;flex-direction:column;animation:.14s ease-out pop;display:flex}.modal-header{border-bottom:1px solid var(--chrome-border);justify-content:space-between;align-items:center;padding:14px 16px 10px 20px;display:flex}.modal-header h2{margin:0;font-size:15px;font-weight:600}.modal-body{flex-direction:column;gap:14px;padding:16px 20px;display:flex;overflow:auto}.modal-footer{border-top:1px solid var(--chrome-border);background:#fafbfc;border-radius:0 0 10px 10px;justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}.field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.field>input,.field>textarea,.field>select,.field>.segmented,.field>.color-select{color:var(--text);font-size:13px}.grid-2{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.grid-3{grid-template-columns:1fr 1.4fr 1fr;gap:12px;display:grid}fieldset{border:1px solid var(--chrome-border);border-radius:8px;margin:0;padding:10px 14px 14px}fieldset:disabled{opacity:.5}legend{padding:0 6px;font-size:12px;font-weight:600}.checks{gap:20px;display:flex}.checks label{align-items:center;gap:6px;display:flex}.checks label.disabled{opacity:.5}.segmented{display:flex}.segmented button{border-radius:0;flex:1;padding:4px 10px}.segmented button:first-child{border-radius:4px 0 0 4px}.segmented button:last-child{border-left:none;border-radius:0 4px 4px 0}.segmented button.on{background:var(--accent-soft);color:var(--accent);border-color:#9fb6ef;font-weight:600}.color-select{align-items:center;gap:6px;display:flex}.color-select select{flex:1}.note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.note.error{color:var(--danger)}.corner-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.corner{color:var(--text-muted);flex-direction:column;align-items:center;gap:2px;padding:8px;display:flex}.corner.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.shortcuts{border-collapse:collapse;width:100%}.shortcuts td{border-bottom:1px solid #edf0f4;padding:5px 4px}.shortcuts td:first-child{width:46%}kbd{border:1px solid var(--chrome-border);background:#f1f4f8;border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:12px}.about{text-align:center}.about p{margin:6px 0}.about-logo{color:#fff;background:linear-gradient(135deg,#2f6fe4,#1d4ed8);border-radius:12px;place-items:center;width:56px;height:56px;margin:4px auto 12px;font-size:22px;font-weight:700;display:grid}.text-input{opacity:0;resize:none;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;top:0;left:0;overflow:hidden}.type-preview{border:1px solid var(--chrome-border);white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:8px;padding:14px 16px;font-size:20px;overflow:hidden}.cp-viewtoggle{gap:2px;padding-left:0}.cp-toggle{color:#3b4655;background:0 0;border-color:#0000;place-items:center;min-width:28px;height:26px;padding:0 6px;font-size:13px;display:inline-grid}.cp-toggle.on,.cp-toggle.on:hover{background:var(--accent-soft);color:var(--accent);border-color:#b7c9f5}.cp-buttons{gap:2px;display:flex}.cp-text{gap:12px}.cp-font{width:150px}.cp-check{gap:4px}.message-text{white-space:pre-wrap;margin:0;line-height:1.5}.grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.rule-row{grid-template-columns:110px 1fr;align-items:start;gap:10px;padding:6px 0;display:grid}.rule-row+.rule-row{border-top:1px solid var(--chrome-border)}.rule-on{align-items:center;gap:6px;padding-top:22px;font-weight:600;display:flex}.rule-fields{border:none;grid-template-columns:.8fr 1.3fr 1fr;gap:8px;margin:0;padding:0;display:grid}.pair{gap:4px;display:flex}.pair>*{flex:1;min-width:0}.keep-grid{grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.keep-grid label{align-items:center;gap:6px;display:flex}.lines-option{justify-content:space-between;align-items:center;gap:8px;display:flex}.lines-option select{width:90px}.link-btn{margin-left:auto}.tab-toolbar{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.tab-toolbar .segmented button{padding:5px 8px;line-height:0}.field.inline{flex-direction:column}.field.inline .unit-input{width:80px}.tab-ruler{cursor:copy;-webkit-user-select:none;user-select:none;touch-action:none;margin:4px auto 0;display:block}.tab-ruler-bg{fill:#fdfdf8;stroke:var(--chrome-border-strong)}.tab-tick{stroke:var(--text-muted)}.tab-num{fill:var(--text-muted);font-size:9px}.tab-default{stroke:var(--chrome-border-strong)}.tab-stop{stroke:var(--text);cursor:ew-resize}.tab-stop.on{stroke:var(--accent)}.indent-marker{fill:#fff;stroke:var(--accent);stroke-width:1.4px;cursor:ew-resize}.rule-fields .span-2{grid-column:span 2}.cp-buttons .cp-toggle{white-space:nowrap}.cp-toggle sup,.cp-toggle sub{font-size:9px;line-height:0}.cp-reverse{background:var(--text);color:#fff;border-radius:2px;padding:0 3px}.stroke-preview{border:1px solid var(--chrome-border);background:#fff;border-radius:4px;margin-top:8px;display:block}.polygon-settings{grid-template-columns:1fr 130px;align-items:center;gap:16px;display:grid}.frame-group+.frame-group{margin-top:12px}.frame-group>.field+.field,.frame-group>.field+.grid-2,.frame-group>.checks+.grid-2,.frame-group>.grid-2+.note{margin-top:8px}.output-options{flex-direction:column;gap:10px;margin-top:14px;display:flex}.fit-check{align-self:end;padding-bottom:8px}.ink-list{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}.ink-list label{align-items:center;gap:6px;font-size:13px;display:flex}.ink-chip{border:1px solid var(--chrome-border);border-radius:3px;width:12px;height:12px}.frame-align{margin-top:12px}.image-control{grid-template-columns:1fr 200px;align-items:center;gap:16px;display:grid}.image-control .btn{align-self:flex-start}.image-preview{object-fit:contain;border:1px solid var(--chrome-border);border-radius:var(--radius);background:#fff;width:200px;max-height:200px}.polygon-fields{flex-direction:column;gap:12px;display:flex}.polygon-preview{border:1px solid var(--chrome-border);border-radius:var(--radius);background:#fff;padding:4px}.align-row{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.align-row .corner span{text-align:center;font-size:11px;line-height:1.2}.cp-transform .unit-input{width:52px}.cp-transform .cp-btn{padding:3px 6px;line-height:0}.cp-lock{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.wrap-options{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.page-icon.master{background:#eef2f7;font-weight:600}.page-icon.last-master{margin-right:8px}.page-icon.master.on{background:var(--accent);color:#fff}.tabbar{background:var(--chrome-panel);border-bottom:1px solid var(--chrome-border);align-items:flex-end;gap:2px;padding:4px 8px 0;display:flex;overflow-x:auto}.pub-tab{border:1px solid var(--chrome-border);background:#e9edf2;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;max-width:220px;display:flex}.pub-tab.on{border-color:var(--chrome-border-strong);background:#fff;margin-bottom:-1px;padding-bottom:1px}.pub-tab-name{text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:190px;padding:4px 4px 4px 10px;font-size:12px;overflow:hidden}.pub-tab.on .pub-tab-name{color:var(--accent);font-weight:600}.pub-dirty{color:var(--text-muted)}.pub-tab-close,.pub-tab-new{color:var(--text-muted);background:0 0;border:none;padding:2px 8px;line-height:1}.pub-tab-close:hover,.pub-tab-new:hover:not(:disabled){color:var(--text);background:0 0}.main.with-panel{grid-template-columns:1fr 220px}.side-panels{background:var(--chrome-panel);border-left:1px solid var(--chrome-border);flex-direction:column;min-height:0;display:flex}.side-panel{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.side-panel+.side-panel{border-top:1px solid var(--chrome-border-strong)}.styles-panel{flex:.8 1 0}.panel-header{border-bottom:1px solid var(--chrome-border);justify-content:space-between;align-items:center;padding:8px 10px 8px 12px;font-weight:600;display:flex}.style-list{flex:1;margin:0;padding:6px;list-style:none;overflow:auto}.style-list button{text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:6px 8px;display:block}.style-list button:hover:not(:disabled){background:#eef2f7}.style-list button.on,.style-list button.on:hover{background:var(--accent-soft);color:var(--accent);border-color:#b7c9f5;font-weight:600}.style-list .style-none{color:var(--text-muted);font-style:italic}.panel-footer{border-top:1px solid var(--chrome-border);gap:6px;padding:8px 10px;display:flex}.panel-footer button{flex:1;padding:4px 6px;font-size:12px}.panel-hint{color:var(--text-muted);margin:0;padding:0 12px 8px;font-size:11px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.template-card{border:1px solid var(--chrome-border);border-radius:var(--radius);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;display:flex;position:relative}.template-card:hover{border-color:#b7c9f5}.template-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.template-thumb{height:72px}.template-name{font-weight:600}.template-desc{color:var(--text-muted);font-size:11px;line-height:1.35}.template-heading{margin:16px 0 8px;font-size:13px}.template-remove{color:var(--danger);cursor:pointer;font-size:11px;text-decoration:underline}.scripts{grid-template-columns:220px 1fr;gap:14px;display:grid}.scripts-list{flex-direction:column;gap:8px;display:flex}.scripts-list .index-list{height:330px}.scripts-list .book-buttons{flex-direction:row}.scripts-editor{flex-direction:column;gap:8px;min-width:0;display:flex}.script-text{resize:vertical;border:1px solid var(--chrome-border);border-radius:var(--radius);white-space:pre;height:260px;padding:8px 10px;font:13px/1.5 Courier Prime,Consolas,monospace}.script-help{background:var(--chrome-panel);border:1px solid var(--chrome-border);border-radius:var(--radius);white-space:pre-wrap;max-height:160px;margin:0;padding:8px 10px;font-size:11.5px;overflow:auto}.script-log{border-radius:var(--radius);color:#166534;background:#dcfce7;padding:6px 10px;font-size:12px}.script-log.error{color:#991b1b;background:#fee2e2}.book-output .spacer{flex:1}.links-table{border-collapse:collapse;width:100%;font-size:13px}.links-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--chrome-border);padding:4px 8px;font-size:12px;font-weight:600}.links-table td{border-bottom:1px solid var(--chrome-border);max-width:320px;padding:5px 8px}.links-table tr.on td{background:var(--accent-soft)}.links-table tbody tr{cursor:default}.link-status{color:var(--text-muted);background:#eef2f7;border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.link-status.ok{color:#166534;background:#dcfce7}.link-status.modified{color:#92400e;background:#fef3c7}.link-status.missing{color:#991b1b;background:#fee2e2}.link-info{border-radius:var(--radius);background:var(--chrome-panel);border:1px solid var(--chrome-border);margin-top:12px;padding:8px 10px}.link-info .note{word-break:break-all;margin:4px 0 0}.spacing-grid{grid-template-columns:90px repeat(3,1fr);align-items:end;gap:8px 12px;display:grid}.spacing-label{color:var(--text-muted);padding-bottom:8px;font-size:12px}.plugin-kind{margin-bottom:12px}.bullet-grid{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.bullet-sample{font-size:20px;line-height:1}.bullet-custom{text-align:center;width:48px;font-size:16px}.dropcap-preview{border:1px solid var(--chrome-border);border-radius:var(--radius);background:#fff;gap:7px;margin:12px 0;padding:10px 12px;display:grid;position:relative}.dropcap-preview span{color:var(--accent);font-family:"Source Serif 4",Georgia,serif;font-weight:700;position:absolute;top:8px;left:12px}.dropcap-preview i{background:#cbd5e1;border-radius:3px;height:5px;display:block}.booklet-sheets{flex-wrap:wrap;gap:8px;display:flex}.booklet-sheet{border:1px solid var(--chrome-border-strong);background:#fff;border-radius:3px;display:flex}.booklet-sheet b{justify-content:center;align-items:center;width:30px;height:38px;font-size:12px;font-weight:600;display:flex}.booklet-sheet b+b{border-left:1px dashed var(--chrome-border-strong)}.spell-status{border-radius:var(--radius);background:var(--chrome-panel);border:1px solid var(--chrome-border);margin-bottom:12px;padding:8px 10px;font-weight:600}.spell{grid-template-columns:1fr 150px;gap:14px;display:grid}.spell-main{flex-direction:column;gap:10px;display:flex}.spell-suggestions{height:170px}.spell-main .checks{flex-wrap:wrap;gap:6px 16px}.spell-main .checks label{white-space:nowrap}.spell-buttons{flex-direction:column;gap:6px;display:flex}.user-dict{border-top:1px solid var(--chrome-border);margin-top:12px;padding-top:10px}.user-dict ul{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.user-dict li{background:var(--accent-soft);border-radius:12px;align-items:center;gap:2px;padding:2px 4px 2px 8px;font-size:12px;display:flex}.index-list{border:1px solid var(--chrome-border);border-radius:var(--radius);max-height:340px;margin:0;padding:4px;list-style:none;overflow:auto}.index-list button{text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;width:100%;padding:4px 8px;display:flex}.index-list button:hover{background:#eef2f7}.index-list button.on{background:var(--accent-soft);color:var(--accent);border-color:#b7c9f5}.import-styles{max-height:260px;margin-bottom:10px}.import-styles label{align-items:center;gap:8px;padding:4px 6px;display:flex}.book{grid-template-columns:1fr 120px;gap:12px;margin-bottom:12px;display:grid}.book-list{border:1px solid var(--chrome-border);border-radius:var(--radius);counter-reset:chapter;height:220px;margin:0;padding:4px;list-style:none;overflow:auto}.book-list li .note{padding:8px}.book-list button{text-align:left;counter-increment:chapter;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;width:100%;padding:5px 8px;display:flex}.book-list button:before{content:counter(chapter) ".";color:var(--text-muted);min-width:18px}.book-list button:hover{background:#eef2f7}.book-list button.on{background:var(--accent-soft);color:var(--accent);border-color:#b7c9f5}.book-pages{color:var(--text-muted);white-space:nowrap;font-size:12px}.book-buttons{flex-direction:column;gap:6px;display:flex}.book-output{gap:8px;margin-top:12px;display:flex}.sort-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.sort-tools .note{margin:0}.sort-buttons{gap:6px;display:flex}.sort-grid{background:var(--chrome-panel);border:1px solid var(--chrome-border);border-radius:var(--radius);flex-wrap:wrap;gap:18px 22px;max-height:460px;padding:12px;display:flex;overflow:auto}.sort-spread{display:flex}.sort-spread.first{padding-left:96px}.sort-page{cursor:grab;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:3px;display:flex}.sort-thumb{border:1px solid var(--chrome-border-strong);background:#fff;overflow:hidden;box-shadow:0 1px 3px #0f172a26}.sort-thumb img{width:100%;height:100%;display:block}.sort-page.on .sort-thumb{outline:2px solid var(--accent);outline-offset:1px}.sort-page.drop-before{box-shadow:inset 3px 0 0 var(--accent)}.sort-page.drop-after{box-shadow:inset -3px 0 0 var(--accent)}.sort-num{color:var(--text-muted);font-size:12px}.sort-num.moved{color:var(--accent);font-weight:600}.master-list{flex:1;margin:0;padding:4px 6px;list-style:none;overflow:auto}.master-list button{text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;width:100%;padding:4px 8px;display:flex}.master-list button:hover{background:#eef2f7}.master-list button.on{background:var(--accent-soft);color:var(--accent);border-color:#b7c9f5;font-weight:600}.master-list button.editing{border-color:var(--accent);color:var(--accent);font-weight:600}.master-icon{color:var(--text-muted);flex:none}.layer-list{flex:1;margin:0;padding:4px 6px;list-style:none;overflow:auto}.layer-list li{cursor:default;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:3px 6px 3px 2px;display:flex}.layer-list li:hover{background:#eef2f7}.layer-list li.on{background:var(--accent-soft);border-color:#b7c9f5}.layer-list li.over{box-shadow:inset 0 2px 0 var(--accent)}.layer-toggle{width:20px;height:20px;color:var(--text);box-shadow:inset 0 0 0 1px var(--chrome-border);background:#fff;border:none;border-radius:3px;flex:none;padding:2px;line-height:0}.layer-toggle.off{color:#0000}.layer-toggle.off:hover{color:var(--text-muted)}.layer-chip{border-radius:2px;flex:none;width:10px;height:10px;margin:0 2px}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.layer-list li.on .layer-name{color:var(--accent);font-weight:600}.layer-target{color:var(--accent);line-height:0}.layer-sel{cursor:grab;flex:none;width:8px;height:8px}.panel-header{position:relative}.panel-header-tools{gap:2px;display:flex}.palette-menu-backdrop{z-index:40;position:fixed;inset:0}.palette-menu{z-index:41;border:1px solid var(--chrome-border);background:#fff;border-radius:6px;min-width:210px;margin:0;padding:4px;font-weight:400;list-style:none;position:absolute;top:34px;right:8px;box-shadow:0 8px 24px #0f172a29}.palette-menu button{text-align:left;background:0 0;border:none;border-radius:4px;width:100%;padding:5px 10px;font-size:13px;display:block}.palette-menu button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.palette-menu .sep{background:var(--chrome-border);height:1px;margin:4px 6px}.layer-colors{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.layer-colors button{border:2px solid #0000;border-radius:4px;width:22px;height:22px;padding:0;box-shadow:inset 0 0 0 1px #00000026}.layer-colors button.on{border-color:var(--text)}.layer-colors input[type=color]{border:1px solid var(--chrome-border);border-radius:4px;width:30px;height:24px;padding:0}.color-controls{border-bottom:1px solid var(--chrome-border);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.color-target button{padding:3px 6px;line-height:0}.tint-field{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.tint-field select{padding:2px 4px;font-size:12px}.color-list{flex:1;margin:0;padding:4px 6px;list-style:none;overflow:auto}.color-list button{text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;width:100%;padding:4px 8px;display:flex}.color-list button:hover{background:#eef2f7}.color-list button.on,.color-list button.on:hover{background:var(--accent-soft);color:var(--accent);border-color:#b7c9f5;font-weight:600}.color-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ink-icon{color:var(--text-muted);flex:none}.swatch-none{background:linear-gradient(to top right, #fff calc(50% - 1px), var(--danger) 50%, #fff calc(50% + 1px))}.color-list.boxed{border:1px solid var(--chrome-border);border-radius:var(--radius);height:300px}.define-colors{grid-template-columns:1fr 120px;gap:14px;display:grid}.define-buttons{flex-direction:column;gap:8px;display:flex}.edit-color-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.edit-color-values{grid-template-columns:64px 1fr;gap:16px;margin-top:8px;display:grid}.color-preview{border:1px solid var(--chrome-border-strong);border-radius:var(--radius);flex-direction:column;height:96px;display:flex;overflow:hidden}.color-preview span{flex:1}.color-inputs{flex-direction:column;gap:6px;display:flex}.ink-field{grid-template-columns:58px 1fr 64px 12px;align-items:center;gap:8px;font-size:13px;display:grid}.ink-field input[type=number]{width:64px}.ink-field input[type=color]{width:100%;height:26px;padding:0 2px}.ink-field code{color:var(--text-muted);grid-column:span 2}.ink-field .unit{color:var(--text-muted)}.library-bar{gap:8px;margin-bottom:10px;display:flex}.library-bar select,.library-bar input{flex:1;min-width:0}.library-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));align-content:start;gap:6px;height:340px;padding:2px;display:grid;overflow:auto}.library-grid button{border:1px solid var(--chrome-border);background:#fff;border-radius:4px;flex-direction:column;align-items:stretch;gap:4px;padding:4px;font-size:11px;display:flex}.library-grid button.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--accent-soft)}.library-grid button.have{opacity:.55}.library-grid .chip{border:1px solid #00000026;border-radius:3px;height:34px}.library-grid .chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-empty{padding:8px 4px 4px}.library-empty ul{margin:6px 0 10px;padding-left:18px}.modal-footer.flush{align-items:center;margin:0 -20px -16px}.modal-footer.flush .note{flex:1;margin:0}.story-editor{z-index:60;background:var(--chrome-bg);flex-direction:column;display:flex;position:fixed;inset:32px 0 0}.se-toolbar{background:var(--chrome-panel);border-bottom:1px solid var(--chrome-border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.se-title{text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-right:12px;font-weight:600;overflow:hidden}.se-toolbar input[type=text]{width:160px}.se-toolbar .spacer{flex:1}.se-body{flex:1;justify-content:center;min-height:0;padding:20px;display:flex}.se-text{border:1px solid var(--chrome-border);width:min(820px,100%);height:100%;color:var(--text);resize:none;-webkit-user-select:text;user-select:text;background:#fff;border-radius:8px;padding:24px 28px;font:16px/1.6 "Source Sans 3",system-ui,sans-serif;box-shadow:0 2px 12px #0f172a0f}.se-gutter{flex:none;width:130px;margin-right:8px;position:relative;overflow:hidden}.se-style{background:var(--accent-soft);max-width:126px;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;margin-top:1px;padding:1px 6px;font-size:11px;line-height:1.6;position:absolute;right:0;overflow:hidden}.se-mirror{visibility:hidden;pointer-events:none;white-space:pre-wrap;overflow-wrap:break-word;position:absolute;top:0;left:-10000px;height:auto!important}.se-text:focus{border-color:var(--accent);outline:none}.se-status{background:var(--chrome-panel);border-top:1px solid var(--chrome-border);color:var(--text-muted);align-items:center;gap:16px;padding:6px 14px;font-size:12px;display:flex}.se-status select{font-size:12px}.print-root{display:none}.unsaved-actions{gap:8px;margin-top:4px;display:flex}.unsaved-actions .spacer{flex:1}.checks.checks-column{flex-direction:column;gap:8px}
