.mode-extra{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;border:1px dashed var(--line);border-radius:6px;font-size:15px;line-height:1.5;color:var(--muted);cursor:pointer}.mode-extra input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}.mode-extra input:disabled{cursor:default}.filter-stats{display:block;font-size:14px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}.mode-card .filter-stats{margin-top:6px}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-top:14px}.preview-toolbar .font-controls{flex-wrap:wrap}.preview-toolbar .muted-note{font-size:15px}.prepare-page .recent-id{padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:14px;line-height:1.5;color:var(--muted);background:var(--surface-2);white-space:nowrap}.import-link{margin-bottom:16px}.import-link summary{font-size:19px;font-weight:700;line-height:1.4;cursor:pointer}.import-link .mode-desc{margin:8px 0 10px}.import-link-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-link-input{flex:1 1 240px;min-width:0;padding:10px 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-size:15px;line-height:1.4}.import-link-input:focus{outline:2px solid var(--focus);outline-offset:1px}.import-link .inline-error{margin-bottom:0}.prepare-page .recent-manage-toggle{flex:0 0 auto}.prepare-page .recent-manage{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 10px;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:4px}.prepare-page .recent-manage-count{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}.prepare-page .recent-manage-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-left:auto}.prepare-page .recent-item-select{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.prepare-page .recent-item-select.is-selected{border-color:var(--accent);background:var(--surface-2)}.prepare-page .recent-check{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--line-strong);border-radius:4px;font-size:15px;line-height:1;color:var(--ink);background:var(--surface)}.prepare-page .recent-item-select.is-selected .recent-check{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}@media (max-width: 720px){.prepare-page .recent-manage-actions{margin-left:0;width:100%}}.quick-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:stretch;justify-content:center;overflow:hidden;overscroll-behavior:contain;background:#1213109e}.quick-edit-dialog{display:flex;flex-direction:column;width:100%;height:100vh;height:var(--app-height, 100vh);max-height:100vh;max-height:var(--app-height, 100vh);background:var(--surface);color:var(--ink)}.quick-edit-header{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--line);background:var(--surface)}.quick-edit-heading{min-width:0}.quick-edit-title{font-size:23px;font-weight:700;line-height:1.2}.quick-edit-target{margin-top:2px;font-size:15px;line-height:1.4;color:var(--muted)}.quick-edit-actions{display:flex;flex:none;gap:8px}.quick-edit-action{min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-size:15px;font-weight:650;white-space:nowrap;cursor:pointer}.quick-edit-action:hover{background:var(--surface-2)}.quick-edit-action.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.quick-edit-action:disabled{opacity:.5;cursor:not-allowed}.quick-edit-body{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;padding:10px 16px max(12px,env(safe-area-inset-bottom))}.quick-edit-label{flex:none;font-size:15px;font-weight:600;color:var(--muted)}.quick-edit-textarea{flex:1;width:100%;min-height:0;padding:12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-family:var(--font-serif);font-size:19px;line-height:1.65;resize:none}.quick-edit-hint,.quick-edit-notice,.quick-edit-error{flex:none;font-size:15px;line-height:1.5}.quick-edit-hint,.quick-edit-notice{color:var(--muted)}.quick-edit-error{color:var(--accent);font-weight:600}.reader-bar .quick-edit-button{min-width:0;padding:0 10px;font-size:15px;white-space:nowrap}@media (max-width: 430px){.reader .reader-tools{gap:2px}.reader .quick-edit-button{padding:0 7px}}@media (min-width: 700px){.quick-edit-overlay{align-items:center;padding:24px}.quick-edit-dialog{width:min(820px,100%);height:min(88vh,920px);height:min(calc(var(--app-height, 100vh) * .88),920px);border:2px solid var(--ink);border-radius:8px;box-shadow:8px 8px #20211d38}}@media (max-width: 640px){.quick-edit-overlay{padding:0}.quick-edit-dialog{width:100%;height:100vh;height:var(--app-height, 100vh);max-height:100vh;max-height:var(--app-height, 100vh);border:0;border-radius:0}}.inline-script-editor{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.inline-script-editor__input{display:block;box-sizing:border-box;width:100%;min-height:2.6em;margin:0;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit;font:inherit;font-family:var(--font-serif, Georgia, serif);line-height:1.38;letter-spacing:inherit;text-align:inherit;caret-color:var(--accent, #b4382f);resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.inline-script-editor__input[data-auto-grow=false]{overflow-y:auto;overscroll-behavior:contain}.inline-script-editor__input:focus{outline:2px solid var(--focus, #2f6fed);outline-offset:2px;background:color-mix(in srgb,var(--surface, #fff) 72%,transparent)}.inline-script-editor__input::selection{background:color-mix(in srgb,var(--accent, #b4382f) 28%,transparent)}.inline-script-editor__input::placeholder{color:var(--muted, #6f7068);opacity:1}.inline-script-editor__input[readonly]{caret-color:transparent}.inline-script-editor__bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;padding-top:2px;color:var(--muted, #6f7068);font-family:var(--font-sans, system-ui, sans-serif);font-size:15px;line-height:1.45}.inline-script-editor__status-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}.inline-script-editor__status{display:inline-flex;align-items:center;gap:6px;min-width:0;font-weight:600;color:var(--muted, #6f7068)}.inline-script-editor__message{min-width:0;color:var(--muted, #6f7068)}.inline-script-editor__range{flex-basis:100%;min-width:0;color:var(--accent, #b4382f);font-weight:600}.inline-script-editor__status:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}.inline-script-editor__status[data-state=saved]{color:var(--accent, #b4382f)}.inline-script-editor__status[data-state=dirty],.inline-script-editor__status[data-state=saving]{color:var(--ink, #20211d)}.inline-script-editor__status[data-state=offline],.inline-script-editor__status[data-state=timeout],.inline-script-editor__status[data-state=network],.inline-script-editor__status[data-state=forbidden],.inline-script-editor__status[data-state=error],.inline-script-editor__status[data-state=conflict]{color:var(--accent, #b4382f)}.inline-script-editor__meta{color:var(--muted, #6f7068);font-variant-numeric:tabular-nums}.inline-script-editor__recovery{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.inline-script-editor__action,.inline-script-editor__done{min-height:40px;padding:0 12px;border:1px solid var(--line-strong, rgba(0, 0, 0, .24));border-radius:6px;background:var(--surface, #fff);color:var(--ink, #20211d);font-family:var(--font-sans, system-ui, sans-serif);font-size:15px;font-weight:650;line-height:1;white-space:nowrap;cursor:pointer}.inline-script-editor__action:hover,.inline-script-editor__done:hover{background:var(--surface-2, rgba(0, 0, 0, .05))}.inline-script-editor__done{margin-left:auto;border-color:var(--accent, #b4382f);background:var(--accent, #b4382f);color:var(--accent-ink, #fff)}.inline-script-editor__done:hover{background:var(--accent, #b4382f);filter:brightness(.94)}.inline-script-editor__action:disabled,.inline-script-editor__done:disabled{opacity:.5;cursor:default}.inline-script-editor__action:focus-visible,.inline-script-editor__done:focus-visible,.inline-script-editor__input:focus-visible{outline:2px solid var(--focus, #2f6fed);outline-offset:2px}.alib-page{min-height:100vh;min-height:var(--app-height, 100vh);padding:max(16px,var(--android-safe-top, env(safe-area-inset-top))) max(16px,env(safe-area-inset-right)) max(28px,var(--android-safe-bottom, env(safe-area-inset-bottom))) max(16px,env(safe-area-inset-left));background:var(--bg, #f4f1e9);color:var(--ink, #20211d);font-family:var(--font-sans, system-ui, sans-serif);font-size:19px;line-height:1.6}.alib-page *{box-sizing:border-box}.alib-header,.alib-main{width:100%;max-width:880px;margin:0 auto}.alib-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:4px 0 16px}.alib-heading{min-width:0}.alib-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.alib-header-actions>.alib-btn{flex:0 0 auto}.alib-page-title{margin:0;font-size:23px;font-weight:800;line-height:1.2;letter-spacing:-.01em}.alib-subtitle{margin:4px 0 0;color:var(--muted, #5c5e55);font-size:15px;line-height:1.4}.alib-main{display:grid;gap:22px}.alib-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.alib-section-title{margin:0;font-size:23px;font-weight:800;line-height:1.25}.alib-hint{color:var(--muted, #5c5e55);font-size:15px}.alib-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--line-strong, #b8b09f);border-radius:10px;background:var(--surface, #fffdf8);color:var(--ink, #20211d);font-family:inherit;font-size:15px;font-weight:650;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.alib-btn:hover{background:var(--surface-2, #ece7db)}.alib-btn:active{transform:translateY(1px)}.alib-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.alib-btn.alib-primary{border-color:var(--accent, #b23a2c);background:var(--accent, #b23a2c);color:var(--accent-ink, #fffaf3)}.alib-btn.alib-primary:hover{filter:brightness(.96)}.alib-btn.alib-danger{border-color:var(--accent, #b23a2c);color:var(--accent, #b23a2c);background:transparent}.alib-btn.alib-danger:hover{background:var(--accent-soft, #f3ddd6)}.alib-recent-card{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px;border:1px solid var(--accent, #b23a2c);border-left-width:5px;border-radius:14px;background:var(--surface, #fffdf8)}.alib-recent-copy{flex:1 1 18rem;min-width:0}.alib-recent-name,.alib-card-title{margin:0;font-size:19px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.alib-card-title a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}.alib-card-title a:hover{text-decoration:underline}.alib-preview{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:var(--muted, #5c5e55);font-size:15px;line-height:1.45;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.alib-meta{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;margin:8px 0 0;color:var(--muted, #5c5e55);font-size:15px;line-height:1.4}.alib-tag{padding:2px 8px;border:1px solid var(--line, #ddd7c9);border-radius:999px;background:var(--surface-2, #ece7db);color:var(--ink, #20211d);font-size:15px;font-weight:650}.alib-id{font-variant-numeric:tabular-nums}.alib-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alib-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.alib-field{display:grid;gap:4px;flex:1 1 16rem;min-width:0}.alib-field-sort{flex:0 1 12rem}.alib-label{color:var(--muted, #5c5e55);font-size:15px;line-height:1.3}.alib-search,.alib-select{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line-strong, #b8b09f);border-radius:10px;background:var(--surface, #fffdf8);color:var(--ink, #20211d);font-family:inherit;font-size:19px;line-height:1.2}.alib-select{font-size:15px}.alib-search::placeholder{color:var(--muted, #5c5e55);opacity:1}.alib-manage-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;border:1px solid var(--line, #ddd7c9);border-radius:12px;background:var(--surface-2, #ece7db)}.alib-selected-count{font-size:15px;font-weight:700}.alib-manage-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alib-warning,.alib-note,.alib-error{margin:0 0 12px;padding:10px 12px;border-radius:10px;font-size:15px;line-height:1.5}.alib-warning{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid var(--warn, #8f4b12);background:var(--surface-2, #ece7db);color:var(--warn, #8f4b12)}.alib-note{border:1px solid var(--ok, #2d6a4f);background:var(--surface, #fffdf8);color:var(--ok, #2d6a4f)}.alib-warning-code{flex-direction:column;align-items:stretch}.alib-warning-text{margin:0}.alib-code-row{display:flex;flex-wrap:wrap;gap:8px}.alib-code-input{flex:1 1 220px;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong, #c9c2b2);border-radius:8px;background:var(--surface, #fff);color:var(--ink, #20211d);font-size:17px}.alib-code-error{margin:0;color:var(--accent, #b3492b);font-size:15px}.alib-error{border:1px solid var(--accent, #b23a2c);background:var(--accent-soft, #f3ddd6);color:var(--accent, #b23a2c)}.alib-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.alib-list>li{min-width:0}.alib-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;padding:14px;border:1px solid var(--line, #ddd7c9);border-radius:14px;background:var(--surface, #fffdf8)}.alib-card.is-selected{border-color:var(--accent, #b23a2c);background:var(--accent-soft, #f3ddd6)}.alib-card-main{flex:1 1 18rem;min-width:0}.alib-card .alib-actions{flex:0 1 auto}.alib-check{display:grid;place-items:center;flex:none;width:44px;height:44px;cursor:pointer}.alib-check input{width:22px;height:22px;accent-color:var(--accent, #b23a2c);cursor:pointer}.alib-empty{padding:26px 16px;border:1px dashed var(--line-strong, #b8b09f);border-radius:12px;color:var(--muted, #5c5e55);text-align:center;font-size:19px;line-height:1.5}.alib-empty-hint{margin-top:4px;font-size:15px}.alib-empty p{margin:0}@media (max-width: 560px){.alib-page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.alib-header{align-items:stretch}.alib-header-actions{width:100%}.alib-header-actions>.alib-btn{flex:1 1 auto;min-width:0}.alib-recent-card,.alib-card{align-items:stretch}.alib-card .alib-actions,.alib-recent-card .alib-actions{width:100%}.alib-card .alib-actions .alib-btn,.alib-recent-card .alib-actions .alib-btn{flex:1 1 auto}}:root{--android-tabbar-height: 60px;--android-safe-bottom: max( var(--safe-area-inset-bottom, 0px), env(safe-area-inset-bottom, 0px) );--android-safe-top: max(var(--safe-area-inset-top, 0px), env(safe-area-inset-top, 0px))}.android-page{display:flex;flex-direction:column;height:100vh;height:var(--app-height, 100vh);min-height:0;background:var(--bg);color:var(--ink)}.android-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(12px,var(--android-safe-top)) 16px 12px;border-bottom:1px solid var(--line);background:var(--surface)}.android-header--compact{flex-wrap:wrap;gap:8px}.android-header-main{min-width:0}.android-title{margin:0;font-size:24px;line-height:1.2;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.android-subtitle{margin:4px 0 0;font-size:15px;color:var(--muted)}.android-header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.android-header--compact .android-header-actions{flex:1 0 100%;margin-left:0;flex-wrap:nowrap;gap:4px;justify-content:flex-start}.android-header--compact .android-header-actions>:first-child{margin-left:auto}.android-header--compact .android-small-button{flex:none;padding:8px 10px}.android-main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px calc(18px + var(--android-safe-bottom))}.android-section-title{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--muted);letter-spacing:.04em}.android-recent{margin-bottom:16px}.android-recent-card{display:flex;flex-direction:column;gap:4px;width:100%;padding:14px 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:pointer}.android-recent-title{font-size:20px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.android-recent-meta{font-size:15px;color:var(--muted)}.android-list-tools{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.android-search{flex:1 1 180px;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font-size:17px}.android-small-button{min-height:44px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);color:var(--ink);font-size:15px;font-weight:600;cursor:pointer}.android-small-button.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.android-small-button:disabled{opacity:.5}.android-danger-button{min-height:44px;padding:8px 16px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:16px;font-weight:700}.android-project-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.android-project-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.android-checkbox{width:24px;height:24px;flex:0 0 auto}.android-project-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.android-project-title{font-size:19px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.android-project-meta{font-size:15px;color:var(--muted)}.android-project-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.android-note,.android-error,.android-banner{margin:8px 0;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-size:15px;color:var(--muted)}.android-banner{margin:8px 16px 0;border:1px solid var(--line)}.android-banner--error{border-color:var(--accent);color:var(--accent)}.android-error{color:var(--accent)}.android-batch-bar{position:sticky;bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);font-size:16px}.android-tabbar{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:4px 8px calc(4px + var(--android-safe-bottom));border-top:1px solid var(--line);background:var(--surface);z-index:30}.android-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:15px;font-weight:650;cursor:pointer}.android-tab.is-active{background:var(--accent-soft);color:var(--accent)}.android-tab:disabled{opacity:.4}.android-tab-icon{display:block;width:22px;height:22px}.android-settings{position:relative}.android-settings-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);font-size:19px;cursor:pointer;list-style:none}.android-settings-trigger::-webkit-details-marker{display:none}.android-settings-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:min(320px,calc(100vw - 32px));max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.android-settings-title{margin:4px 0 6px;font-size:15px;font-weight:700;color:var(--muted)}.android-segmented{display:flex;gap:4px;margin-bottom:8px}.android-segmented button{flex:1;min-height:42px;padding:6px 4px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--ink);font-size:15px;cursor:pointer}.android-segmented button.is-current{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.android-settings-note{margin:6px 0 0;font-size:14px;color:var(--muted)}.android-prepare-hint{margin:0;padding:8px 16px;font-size:15px;color:var(--muted);border-bottom:1px solid var(--line)}.android-prepare-scroll{position:relative;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px calc(20px + var(--android-safe-bottom))}.android-page-block{margin-bottom:6px}.android-paper{position:relative;padding:18px 18px 22px;border:1px solid var(--line);border-radius:10px;background:var(--surface);height:clamp(280px,46vh,520px);overflow:hidden}.android-paper-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;min-width:0}.android-paper-index{margin:0;flex:none;font-size:15px;font-weight:700;color:var(--muted);white-space:nowrap}.android-paper-body{height:calc(100% - 30px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.android-paper-capacity{position:static;flex:0 1 auto;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:15px;line-height:1.2;color:var(--muted)}.android-boundary{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:8px 0}.android-boundary-main{display:flex;align-items:center;justify-content:center;gap:4px;flex:1 1 auto;min-width:0}.android-boundary-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;min-width:0;padding:4px;border:1px dashed var(--line-strong);border-radius:7px;background:var(--surface-2);color:var(--ink);font-size:15px;line-height:1.2;text-align:center;white-space:nowrap;cursor:pointer}.android-boundary-font{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:34px;min-height:48px;padding:4px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface-2);color:var(--ink);font-size:15px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer}.android-boundary--font{justify-content:space-between;padding:8px 2px}.android-boundary-line{display:block}.android-boundary-button:disabled,.android-boundary-font:disabled{opacity:.5}.inline-script-editor{min-height:100%;outline:none}.inline-script-editor:focus-within{outline:2px solid var(--focus);outline-offset:4px}.reader-bar .reader-goto-prepare{display:inline-flex;align-items:center;justify-content:center;min-height:var(--reader-tools-button-size);padding:0 9px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:15px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none}.reader-bar .reader-goto-prepare:active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.reader--android .reader-tools{gap:4px}.reader--android .sync-pill,.reader--android .reader-bar .fullscreen-button{padding:0 8px}.reader-bar .reader-font-global{display:inline-flex;align-items:center;justify-content:center;min-height:var(--reader-tools-button-size);padding:0 9px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-2);color:var(--muted);font-family:var(--font-sans);font-size:15px;font-weight:600;line-height:1;white-space:nowrap}.reader-bar .reader-font-global.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.reader-bar .reader-font-global:disabled{opacity:.5}@media (max-width: 430px){.reader-bar .reader-goto-prepare,.reader-bar .reader-font-global{padding:0 5px}.reader--android .reader-tools{gap:3px}.reader--android .sync-pill,.reader--android .reader-bar .fullscreen-button{padding:0 5px}}@media (max-width: 480px){.reader--android .reader-bar-side{display:none}}.reader--android .reader-stage{min-height:0}.reader--android{--android-page-lane: 76px}.reader--android .reader-content{padding-bottom:calc(var(--reader-content-pad-bottom) + var(--android-page-lane) + var(--android-safe-bottom))}.reader--android.reader--immersive .reader-content{clip-path:inset(0 0 calc(var(--reader-content-pad-bottom) + var(--android-page-lane) + var(--android-safe-bottom)) 0)}.android-page-controls{position:absolute;left:50%;bottom:calc(12px + var(--android-safe-bottom));transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reader--android:not(.reader--immersive) .android-page-controls{bottom:calc(var(--android-tabbar-height) + var(--android-safe-bottom) + 12px)}.android-page-controls button{width:48px;height:44px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:24px;cursor:pointer}.android-page-controls button:disabled{opacity:.35}.android-page-controls span{min-width:64px;text-align:center;font-size:15px;font-weight:700;color:var(--muted)}.android-shell-pane{display:flex;flex-direction:column;height:100vh;height:var(--app-height, 100vh);min-height:0;background:var(--bg)}.android-shell-pane-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.android-shell-pane-scroll .alib-page{min-height:0;padding-bottom:calc(24px + var(--android-safe-bottom))}.inline-script-editor.is-editing{display:flex;flex-direction:column;height:100%;min-height:100%}.inline-script-textarea{flex:1;width:100%;min-height:160px;padding:0;border:0;outline:none;resize:none;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:inherit;line-height:1.38;white-space:pre-wrap;overflow-wrap:anywhere}.inline-script-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0 0;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}.inline-script-done{min-height:40px;padding:4px 14px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:700;cursor:pointer}.android-inline-host,.android-inline-host .inline-script-editor{min-height:100%}.android-inline-host .inline-script-editor__input{width:100%;min-height:100%;padding:0;border:0;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:inherit;line-height:1.38;resize:none}.reader-anchor-mirror{position:absolute;left:0;right:0;top:0;visibility:hidden;pointer-events:none;z-index:-1}.reader-anchor-mirror .script-line,.reader-anchor-mirror .script-blank,.reader-anchor-mirror .script-scene,.reader-anchor-mirror .script-stage{margin:0;padding:0;border:0;color:inherit;font-weight:inherit;line-height:1.38;white-space:pre-wrap}.reader-anchor-mirror .script-blank{height:1.38em}.reader-anchor-mirror .script-role{color:inherit;font-weight:inherit}.reader-paper{position:relative}.menu-panel .menu-locale{display:flex;flex-wrap:nowrap;gap:6px;padding:6px 4px}.menu-panel .menu-locale button{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;width:auto;min-width:0;min-height:38px;padding:6px 4px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font-size:14px;line-height:1.2;text-align:center;white-space:nowrap}.menu-panel .menu-locale button.is-current{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.menu-panel .menu-locale button.is-current:before{content:none}.android-shell-pane-scroll--new .prepare-page{min-height:0;padding-bottom:calc(96px + var(--android-safe-bottom))}.android-inline-host:not(:focus-within) .inline-script-editor[data-inline-status=saved] .inline-script-editor__bar{display:none}.android-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:15px;font-weight:650;color:var(--muted)}.android-new-textarea{width:100%;min-height:220px;padding:12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:19px;line-height:1.55;resize:vertical}.android-new-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.android-primary-button{width:100%;min-height:52px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:var(--accent-ink);font-size:19px;font-weight:750;cursor:pointer}.android-primary-button:disabled{opacity:.5}.android-import{display:flex;flex-direction:column;gap:8px;margin:20px 0 12px;padding-top:12px;border-top:1px solid var(--line)}.android-import .android-search{flex:none;width:100%}.android-inline-host .inline-script-editor__input:focus{background:var(--surface, #fff)}.android-inline-host .inline-script-editor__input::selection{background:var(--accent-soft, #f3ddd6)}.android-boundary-recovery{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 16px 0;padding:10px 12px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:15px}.android-boundary-recovery span{flex:1 1 180px;min-width:0;font-weight:650}.android-boundary-recovery .android-small-button{background:var(--surface);color:var(--ink)}.share-page.is-android .share-main{display:flex;flex-direction:column;gap:18px;max-width:560px;padding:20px 16px calc(28px + var(--android-safe-bottom, 0px))}.share-page.is-android .share-copy h1{font-size:26px;line-height:1.25}.share-page.is-android .share-copy .lede,.share-page.is-android .share-note{font-size:15px}.share-page.is-android .share-qr{order:-1;align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface)}.share-page.is-android .share-qr .qr-image{width:min(220px,58vw);height:auto}.share-page.is-android .share-back{flex:0 0 auto}@media (max-width: 560px){.reader--android:not(.reader--lean):not(.reader--compact) .reader-bar{flex-wrap:wrap;row-gap:6px}.reader--android:not(.reader--lean):not(.reader--compact) .reader-tools{flex-wrap:wrap;justify-content:flex-end;row-gap:6px;width:100%;margin-left:0}}.android-color-swatch{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid var(--transition-line);background:var(--transition-bg)}.android-segmented--colors{flex-wrap:wrap}.android-segmented--colors button{display:flex;align-items:center;gap:6px;min-height:44px}:root{--bg: #f4f1e9;--surface: #fffdf8;--surface-2: #ece7db;--ink: #20211d;--muted: #5c5e55;--line: #ddd7c9;--line-strong: #b8b09f;--accent: #b23a2c;--accent-ink: #fffaf3;--accent-soft: #f3ddd6;--ok: #2d6a4f;--warn: #8f4b12;--focus: #1f5fa8;--shadow: 2px 2px 0 rgba(32, 33, 29, .12);--font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Songti SC", "Source Han Serif SC", "Noto Serif SC", "STSong", Georgia, serif;color-scheme:light}:root[data-theme=dark]{--bg: #151614;--surface: #1e201d;--surface-2: #282b26;--ink: #f2efe6;--muted: #b8b4a8;--line: #3b3e37;--line-strong: #575b51;--accent: #e08771;--accent-ink: #1a1512;--accent-soft: #3a2723;--ok: #82d3a9;--warn: #e6b06a;--focus: #9dc2ff;--shadow: 2px 2px 0 rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg)}body{min-height:100vh;min-height:var(--app-height, 100vh);background-color:var(--bg);background-image:radial-gradient(circle at 8% 4%,rgba(178,58,44,.05),transparent 34%),radial-gradient(circle at 92% 0%,rgba(45,106,79,.05),transparent 28%);color:var(--ink);font-family:var(--font-sans);font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh;min-height:var(--app-height, 100vh)}a{color:inherit}button,input,textarea{font-family:inherit}button{color:inherit}p,h1,h2,h3,ul{margin:0}ul{padding:0;list-style:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.page{min-height:100vh;min-height:var(--app-height, 100vh)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1560px;margin:0 auto;padding:18px 24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{display:inline-flex;gap:3px;flex:none;padding:7px;border:2px solid var(--ink);border-radius:4px;background:var(--surface);box-shadow:var(--shadow)}.brand-mark span{display:block;width:9px;height:22px;background:var(--accent);border-radius:1px}.brand-mark span:last-child{background:var(--ink)}.brand-text{display:flex;flex-direction:column;font-family:var(--font-serif);font-size:24px;font-weight:700;line-height:1.15;letter-spacing:.01em}.brand-text small{font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--muted);letter-spacing:.02em;margin-top:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:9px 18px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-size:17px;font-weight:650;line-height:1.3;text-decoration:none;cursor:pointer;box-shadow:0 2px #20211d1a;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.button:hover{background:var(--surface-2)}.button:active{transform:translateY(1px);box-shadow:none}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 3px #0000002e}.button.primary:hover{filter:brightness(.96)}.button.ghost{background:transparent;box-shadow:none}.button.ghost:hover{background:var(--surface-2)}.button.small{min-height:38px;padding:6px 12px;font-size:15px;box-shadow:none}.button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font-size:16px;font-weight:700;line-height:1;cursor:pointer}.icon-button:hover{background:var(--surface-2)}.icon-button:disabled{opacity:.38;cursor:not-allowed}.font-value{min-width:30px;text-align:center;font-size:15px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.chip{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid var(--line);border-radius:999px;font-size:15px;color:var(--muted);white-space:nowrap}.chip-warn{border-color:var(--warn);color:var(--warn)}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;border:1px solid var(--line-strong);font-size:15px;line-height:1.5;color:var(--muted);white-space:nowrap}.tag-warn{border-color:var(--warn);color:var(--warn)}.section-title{font-family:var(--font-serif);font-size:24px;font-weight:700;line-height:1.25;letter-spacing:.01em}.eyebrow{font-size:15px;font-weight:700;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}.lede{font-size:19px;line-height:1.72;color:var(--muted)}.hint,.muted-note{font-size:15px;line-height:1.6;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow);padding:20px}.inline-error{margin-top:14px;padding:12px 14px;border:1px solid var(--accent);border-left-width:5px;border-radius:4px;background:var(--accent-soft);color:var(--ink);font-size:16px;line-height:1.6}.inline-ok{margin-top:12px;padding:9px 12px;border-left:4px solid var(--ok);background:var(--surface-2);color:var(--ink);font-size:15px;line-height:1.55}.error-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:80;max-width:min(92vw,680px);padding:12px 18px;border:1px solid var(--line-strong);border-radius:6px;background:var(--ink);color:var(--bg);font-size:16px;line-height:1.5;box-shadow:0 14px 34px #00000047}.center-screen{min-height:100vh;min-height:var(--app-height, 100vh);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px;text-align:center}.center-title{font-family:var(--font-serif);font-size:30px;line-height:1.28}.center-note{max-width:560px;font-size:17px;line-height:1.65;color:var(--muted)}.center-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}.mark{display:inline-flex;gap:4px;padding:9px;border:2px solid var(--ink);border-radius:5px;background:var(--surface);box-shadow:var(--shadow)}.mark span{display:block;width:11px;height:28px;background:var(--accent);border-radius:1px}.mark span:last-child{background:var(--ink)}.mark.is-muted{opacity:.55}.connection{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:var(--muted);white-space:nowrap}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.connection-online .connection-dot{background:var(--ok)}.connection-offline .connection-dot{background:var(--warn)}.connection-missing .connection-dot{background:var(--accent)}.offline-banner,.notice-banner{flex:none;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:15px;line-height:1.5}.notice-banner{background:var(--surface);color:var(--ink)}.text-button{border:0;background:transparent;color:inherit;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px}.prepare-main{max-width:1180px;margin:0 auto;padding:34px 24px 60px}.hero{max-width:900px;margin-bottom:28px}.hero h1{font-family:var(--font-serif);font-size:clamp(34px,5vw,52px);font-weight:700;line-height:1.16;letter-spacing:-.01em;margin:10px 0 16px}.hero .lede{max-width:760px}.prep-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);gap:20px;align-items:start}.card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.counter{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}.script-input{display:block;width:100%;min-height:380px;resize:vertical;padding:16px;border:1px solid var(--line-strong);border-radius:4px;background:var(--bg);color:var(--ink);font-size:19px;line-height:1.72}.script-input::placeholder{color:var(--muted);opacity:.72}.manuscript-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:15px;line-height:1.55;color:var(--muted)}.manuscript-actions{display:flex;gap:8px;flex-wrap:wrap}.options{position:sticky;top:20px}.mode-list{display:grid;gap:10px;margin:14px 0 0}.mode-card{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px;border:2px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.mode-card:hover{border-color:var(--line-strong);background:var(--surface-2)}.mode-card.is-chosen{border-color:var(--accent);background:var(--accent-soft)}.mode-card:disabled{opacity:.6;cursor:wait}.mode-title{font-size:19px;font-weight:700}.mode-desc{font-size:15px;line-height:1.55;color:var(--muted)}.submit-button{width:100%;min-height:58px;margin-top:16px;font-size:19px}.promise-list{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line-strong)}.promise-list li{position:relative;padding-left:20px;font-size:15px;line-height:1.55;color:var(--muted)}.promise-list li:before{content:"";position:absolute;left:2px;top:.58em;width:7px;height:7px;border-radius:50%;background:var(--accent)}.recent{min-width:0;margin-top:34px}.recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.recent-list{display:grid;gap:8px;min-width:0}.recent-list>li{min-width:0}.recent-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:4px;background:var(--surface);text-decoration:none}.recent-item:hover{background:var(--surface-2)}.recent-preview{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.recent-meta{display:flex;align-items:center;gap:8px 10px;flex:0 1 auto;flex-wrap:wrap;min-width:0;color:var(--muted);font-size:15px}.recent-id{font-variant-numeric:tabular-nums}.recent-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.recent-row .recent-item{flex:1 1 15rem;min-width:0}.recent-actions{display:flex;gap:6px;flex:0 0 auto;margin-left:auto}.recent-note{margin:0 0 10px;color:var(--muted);font-size:15px;line-height:1.6}.recent-empty{padding:18px 14px;border:1px dashed var(--line-strong);border-radius:4px;color:var(--muted);font-size:16px;line-height:1.6}.site-footer{max-width:1180px;margin:0 auto;padding:18px 24px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:15px;line-height:1.6}.script-body{font-family:var(--font-sans);color:var(--ink)}.script-line{margin:0 0 .14em;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.38}.script-line:last-child{margin-bottom:0}.script-blank{height:.18em;margin:0}.script-role{color:var(--accent);font-weight:700}.script-scene{margin:.18em 0 .26em;padding-left:.55em;border-left:3px solid var(--accent);color:var(--muted);font-weight:700}.script-stage{color:var(--muted)}.reader{display:flex;flex-direction:column;height:100vh;height:var(--app-height, 100vh);overflow:hidden;background:var(--bg);--reader-bar-pad-base: 8px;--reader-bar-pad-top: max( var(--reader-bar-pad-base), var(--safe-area-inset-top, 0px), env(safe-area-inset-top, 0px) );--reader-bar-pad-bottom: 8px;--reader-bar-gap: 12px;--reader-tools-button-size: 38px;--reader-bar-height: calc( var(--reader-bar-pad-base) + var(--reader-tools-button-size) + var(--reader-bar-pad-bottom) + 1px );--reader-content-pad-top: 18px;--reader-content-pad-x: clamp(18px, 4vw, 44px);--reader-content-pad-bottom: 24px;--reader-footer-pad-top: 8px;--reader-footer-pad-bottom: max( 8px, var(--safe-area-inset-bottom, 0px), env(safe-area-inset-bottom, 0px) );--reader-page-button-height: 44px;--reader-page-button-font: 16px}.reader-bar{flex:none;display:flex;align-items:center;gap:var(--reader-bar-gap);padding:var(--reader-bar-pad-top) 16px var(--reader-bar-pad-bottom);border-bottom:1px solid var(--line-strong);background:var(--surface)}.reader-bar-side{min-width:0;flex:none}.reader-title{font-family:var(--font-serif);font-size:24px;font-weight:700;line-height:1;letter-spacing:.06em;white-space:nowrap}.reader-title a{text-decoration:none}.reader-tools{display:flex;align-items:center;gap:6px;flex:none;margin-left:auto}.reader-font-global__short{display:none}.reader-bar .icon-button{min-width:var(--reader-tools-button-size);min-height:var(--reader-tools-button-size)}.reader-bar .fullscreen-button{min-width:0;padding:0 10px;font-size:15px;white-space:nowrap}.sync-pill{min-height:var(--reader-tools-button-size);padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:15px;white-space:nowrap;cursor:pointer}.sync-pill.is-on{border-color:var(--ok);background:var(--ok);color:#fff;font-weight:650}.reader:fullscreen,.reader:-webkit-full-screen{width:100vw;height:100vh;height:var(--app-height, 100vh)}.reader--immersive{--reader-safe-top: max( var(--safe-area-inset-top, 0px), env(safe-area-inset-top, 0px) )}.reader--immersive .reader-content{padding-top:calc(var(--reader-content-pad-top) + var(--reader-bar-height) + var(--reader-safe-top));padding-left:calc(var(--reader-content-pad-x) + env(safe-area-inset-left,0px));padding-right:calc(var(--reader-content-pad-x) + env(safe-area-inset-right,0px))}.reader:fullscreen::backdrop{background:var(--bg)}.reader--immersive>.reader-bar.is-floating,.reader--immersive>.reader-footer.is-floating{position:absolute;left:0;right:0;z-index:6;background:var(--surface)}.reader--immersive>.reader-bar.is-floating{top:var(--reader-safe-top);padding-top:var(--reader-bar-pad-base);box-shadow:0 2px 10px #0000002e}.reader--immersive>.reader-footer.is-floating{bottom:0;box-shadow:0 -2px 10px #0000002e}.reader-overflow-bar{position:absolute;top:0;left:0;right:0;z-index:5;height:2px;background:var(--warn, #d9534f);opacity:0;pointer-events:none;transition:opacity .12s ease-out}.reader-overflow-bar.is-on{opacity:1}.lock-button{touch-action:manipulation;-webkit-user-select:none;user-select:none}.lock-button.is-locked{border-color:var(--warn);background:var(--warn);color:#fff}.reader--locked{box-shadow:inset 0 0 0 2px var(--warn)}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;font-size:20px}.menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:calc(100% + var(--reader-bar-pad-bottom));z-index:60;display:flex;flex-direction:column;gap:2px;min-width:220px;max-height:min(76vh,560px);max-height:min(calc(var(--app-height, 100vh) * .76),560px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);box-shadow:0 16px 36px #00000038}.menu-panel>*{flex:none}.app-version{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.4}.app-version.menu-version{margin:2px 0 0;padding:8px 4px 2px;border-top:1px dashed var(--line-strong)}.menu-meta{margin:0;padding:2px 12px 8px;border-bottom:1px dashed var(--line-strong);color:var(--muted);font-size:14px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-group{display:flex;flex-direction:column;gap:2px;padding:6px 0 8px;border-top:1px dashed var(--line-strong)}.menu-group:first-of-type{border-top:0;padding-top:2px}.menu-group-title{display:flex;align-items:baseline;gap:8px;margin:0;padding:6px 12px 4px;color:var(--muted);font-size:15px;font-weight:650;line-height:1.35}.menu-group-title span{color:var(--muted);font-size:14px;font-weight:400;opacity:.9}.menu-note{margin:0;padding:0 12px 6px;color:var(--muted);font-size:14px;line-height:1.45}.menu-sub{border-top:1px dashed var(--line-strong)}.menu-sub>summary{padding:10px 12px;border-radius:4px;color:var(--ink);font-size:16px;line-height:1.4;cursor:pointer;list-style:none}.menu-sub>summary::-webkit-details-marker{display:none}.menu-sub>summary:hover{background:var(--surface-2)}.menu-sub-list{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px 10px}.menu-sub-list button{color:var(--muted);font-size:15px}.menu-panel a,.menu-panel button{display:block;width:100%;padding:10px 12px;border:0;border-radius:4px;background:transparent;color:var(--ink);font-size:16px;line-height:1.4;text-align:left;text-decoration:none;cursor:pointer}.menu-panel a:hover,.menu-panel button:hover{background:var(--surface-2)}.menu-panel a[aria-disabled=true]{opacity:.38;cursor:not-allowed;pointer-events:none}.reader-content{flex:1;min-height:0;padding:var(--reader-content-pad-top) var(--reader-content-pad-x) var(--reader-content-pad-bottom);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.reader-content:not(.is-raw){overflow-y:hidden}@media (orientation: landscape){.reader--immersive .reader-content:not(.is-raw){display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:hidden}.reader--immersive .reader-content:not(.is-raw) .reader-paper{width:100%}}.reader-content.is-overflowing,.reader--immersive .reader-content.is-overflowing{justify-content:flex-start;overflow-y:auto}.reader-paper{max-width:1240px;margin:0 auto}.end-marker{margin-top:1.4em;text-align:center;color:var(--muted);font-size:15px}.reader-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:var(--reader-footer-pad-top) 16px var(--reader-footer-pad-bottom);border-top:1px solid var(--line-strong);background:var(--surface)}.footer-page{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0}.page-button{flex:0 1 auto;min-width:112px;min-height:var(--reader-page-button-height);padding:0 14px;font-size:var(--reader-page-button-font)}.editor-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.92fr);gap:20px;align-items:start;max-width:1600px;margin:0 auto;padding:22px 22px 60px}.editor-header .header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.editor-header .editor-edit-all{min-height:44px;font-size:15px}.editor-panel,.preview-panel{min-width:0;padding:20px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.editor-head,.preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.editor-head .hint,.preview-head .hint{margin-top:6px;max-width:620px}.editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 12px;padding-top:12px;border-top:1px dashed var(--line-strong)}.editor-banner{margin:0 0 12px;padding:10px 12px;border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--ink);font-size:15px;line-height:1.55}.editor-banner.is-soft{border-left-color:var(--line-strong);background:var(--surface-2);color:var(--muted)}.line-list{max-height:calc(100vh - 320px);max-height:calc(var(--app-height, 100vh) - 320px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;border-top:1px solid var(--line);scrollbar-gutter:stable}.editor-line{border-bottom:1px solid var(--line)}.editor-line-text{display:block;width:100%;min-height:44px;margin:0;padding:10px 4px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:19px;line-height:1.7;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer}.editor-line-text:hover{background:var(--surface-2)}.editor-line-text:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.editor-line.is-selected{background:var(--accent-soft)}.editor-line.is-selected .editor-line-text{font-weight:650}.editor-role{color:var(--accent);font-weight:700}.scene-tag{display:inline-block;margin-right:8px;padding:1px 7px;border:1px solid var(--line-strong);border-radius:3px;color:var(--muted);font-size:15px;font-weight:650;vertical-align:.08em}.editor-line.kind-scene{background:var(--surface-2);font-weight:700}.editor-line.kind-scene.is-selected{background:var(--accent-soft)}.editor-line.kind-stage{color:var(--muted)}.line-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 6px 12px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}.line-actions .button{min-height:44px;font-size:15px}.line-action-note{color:var(--muted);font-size:15px;font-weight:500}.page-break{position:relative;margin:6px 0}.page-break:before{content:"";display:block;height:1px;margin:0 2px;background:var(--line-strong)}.page-break-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:2px 4px;border:0;border-radius:4px;background:transparent;color:var(--accent);font-family:inherit;font-size:15px;font-weight:700;text-align:left;cursor:pointer}.page-break-toggle:hover{background:var(--accent-soft)}.page-break-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.page-break-hint{color:var(--muted);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.page-break-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:2px 4px 10px}.page-break-actions .button{min-height:44px;font-size:15px}.page-nav{display:flex;align-items:center;gap:8px;flex:none}.page-nav-label{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.preview-phones{display:grid;gap:16px;margin-top:14px}.phone{min-width:0;margin:0}.phone-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.phone-label{font-size:16px;font-weight:700}.phone-viewport{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.font-controls{display:flex;align-items:center;gap:4px}.font-controls .icon-button{min-width:44px;min-height:40px;font-size:15px}.phone-shell{position:relative;width:100%;overflow:hidden;border-radius:18px;background:#191a17;box-shadow:0 8px 20px #0000002e}.phone-frame{position:absolute;left:0;top:0;display:flex;flex-direction:column;box-sizing:content-box;border:8px solid #191a17;border-radius:18px;background:#191a17;transform-origin:top left;overflow:hidden}.reader-mock{height:100%}.reader-mock .reader-content{scrollbar-gutter:auto}.phone-note{margin-top:6px;font-size:15px;color:var(--ok)}.phone-note.is-warning{color:var(--warn);font-weight:650}.preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.preview-actions .button{flex:1;min-width:160px}.preview-hint{margin-top:10px;font-size:15px;line-height:1.55;color:var(--muted)}.share-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);gap:36px;align-items:start;max-width:1100px;margin:0 auto;padding:40px 24px 64px}.share-copy h1{font-family:var(--font-serif);font-size:clamp(32px,4.4vw,48px);line-height:1.16;letter-spacing:-.01em;margin:10px 0 16px}.share-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;font-size:16px;color:var(--muted)}.url-box{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}.url-label{flex-basis:100%;font-size:15px;font-weight:650;color:var(--muted)}.url-input{flex:1;min-width:240px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);color:var(--ink);font-size:17px;line-height:1.4}.local-warning{margin-top:12px;padding:10px 12px;border-left:4px solid var(--warn);background:var(--surface-2);color:var(--warn);font-size:15px;line-height:1.55}.share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.share-note{margin-top:20px;font-size:15px;line-height:1.6;color:var(--muted)}.share-qr{padding:22px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.qr-image{display:block;width:min(100%,330px);margin:0 auto;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fffdf8}.qr-placeholder{display:flex;align-items:center;justify-content:center;min-height:290px;padding:18px;border:1px dashed var(--line-strong);border-radius:6px;color:var(--muted);font-size:16px;line-height:1.6}.qr-caption{margin-top:12px;font-size:16px;color:var(--muted)}@media (max-width: 1080px){.editor-main{grid-template-columns:1fr}.line-list{max-height:none;overflow-y:visible;overscroll-behavior:auto;scrollbar-gutter:auto}.preview-phones{grid-template-columns:1fr}}@media (max-width: 920px){.prep-grid,.share-main{grid-template-columns:1fr}.options{position:static}}@media (max-width: 640px){.site-header{padding:14px 16px}.brand-text{font-size:23px}.prepare-main{padding:24px 16px 48px}.hero h1{font-size:34px}.editor-main{padding:14px 12px 48px}.editor-panel,.preview-panel{padding:14px}.recent-item{flex-direction:column;align-items:flex-start;gap:6px}.recent-preview{flex:0 0 auto;width:100%}.reader-bar{gap:8px;padding-left:12px;padding-right:12px}.reader-title{font-size:21px}.reader-tools{gap:3px}.reader{--reader-tools-button-size: 36px;--reader-content-pad-top: 12px;--reader-content-pad-x: 14px;--reader-content-pad-bottom: 18px;--reader-page-button-height: 44px;--reader-page-button-font: 16px}.reader-tools .icon-button{padding:0 6px}.page-button{min-width:0;flex:1}.footer-page{flex:none}.reader-footer{gap:8px}.share-main{padding:26px 16px 48px;gap:24px}.qr-placeholder{min-height:220px}}@media (max-height: 520px) and (orientation: landscape){.reader{--reader-bar-pad-base: 4px;--reader-bar-pad-bottom: 4px;--reader-bar-gap: 8px;--reader-tools-button-size: 36px;--reader-content-pad-top: 10px;--reader-content-pad-bottom: 12px;--reader-footer-pad-top: 6px;--reader-footer-pad-bottom: max( 6px, var(--safe-area-inset-bottom, 0px), env(safe-area-inset-bottom, 0px) );--reader-page-button-height: 44px;--reader-page-button-font: 16px}}.reader--compact{--reader-bar-pad-base: 4px;--reader-bar-pad-bottom: 4px;--reader-bar-gap: 8px;--reader-tools-button-size: 36px;--reader-content-pad-top: 10px;--reader-content-pad-bottom: 12px;--reader-footer-pad-top: 6px;--reader-footer-pad-bottom: max( 6px, var(--safe-area-inset-bottom, 0px), env(safe-area-inset-bottom, 0px) );--reader-page-button-height: 44px;--reader-page-button-font: 16px;--reader-content-pad-x: 34.88px;container-type:size}@supports (container-type: size){.reader--compact{--reader-content-pad-x: clamp(18px, 4cqw, 44px)}}.reader-stage{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.reader--lean{--reader-bar-pad-base: 2px;--reader-bar-pad-bottom: 2px;--reader-bar-gap: 8px;--reader-tools-button-size: 32px;--reader-content-pad-top: 4px;--reader-content-pad-bottom: 6px;--reader-content-pad-x: 20px}.reader--lean .reader-bar-side{display:none}.reader--lean .reader-tools{margin-left:0;width:100%;justify-content:flex-end}.reader--lean .reader-bar .icon-button,.reader--lean .sync-pill,.reader--lean .font-value{font-size:15px}.reader--lean .reader-paper{line-height:1.5}.reader--lean .script-line{line-height:1.34}.reader-hotzones{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;grid-template-columns:1fr 1fr 1fr;pointer-events:none}.reader-hotzone{min-width:0;padding:0;border:0;background:transparent;opacity:0;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.reader-hotzone-gap{pointer-events:none}.reader-hotzone:disabled,.reader-hotzones.is-passive .reader-hotzone{pointer-events:none}.reader-hotzone:focus-visible{outline:3px solid var(--focus);outline-offset:-4px;opacity:.2}.reader-tapzones{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;grid-template-columns:1fr 1fr 1fr;pointer-events:none}.reader-tapzone{display:flex;align-items:center;min-width:0;padding:0 6px;border:0;background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:18px;line-height:1;opacity:.24;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.reader-tapzone-prev{justify-content:flex-start}.reader-tapzone-next{justify-content:flex-end}.reader-tapzone-gap{pointer-events:none}.reader-tapzone:disabled{opacity:0;pointer-events:none;cursor:default}@media (hover: hover){.reader-tapzone:not(:disabled):hover{opacity:.5}}.reader-tapzone:focus-visible{outline:3px solid var(--focus);outline-offset:-4px;opacity:.6}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}.mode-card.dialogs-only{margin-top:10px}.menu-panel button.is-current{color:var(--accent);font-weight:700}.menu-panel button.is-current:before{content:"✓";margin-right:6px}.dialog-removed{margin-top:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.dialog-removed>summary{padding:10px 14px;font-size:15px;color:var(--ink);cursor:pointer}.dialog-removed-hint{margin-left:8px;color:var(--muted);font-size:14px}.dialog-removed ul{display:grid;gap:6px;margin:0;padding:0 14px 8px;list-style:none}.dialog-removed li{display:flex;align-items:flex-start;gap:10px}.dialog-removed-text{flex:1;min-width:0;font-size:15px;line-height:1.5;color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px;word-break:break-word}.dialog-removed>.muted-note,.dialog-removed>.button{margin:0 14px 12px}.editor-line.is-removed{opacity:.45}.editor-line.is-removed .editor-line-text{text-decoration:line-through;text-decoration-thickness:1px}.button.small.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:650}@media (max-width: 560px){.reader:not(.reader--lean):not(.reader--compact) .reader-bar-side{display:none}.reader:not(.reader--lean):not(.reader--compact) .reader-bar{flex-wrap:wrap;row-gap:6px;padding-left:12px;padding-right:12px}.reader:not(.reader--lean):not(.reader--compact) .reader-tools{flex-wrap:wrap;justify-content:flex-end;row-gap:6px;width:100%;margin-left:0}.reader:not(.reader--lean):not(.reader--compact){--reader-bar-gap: 6px;--reader-tools-button-size: 34px}.reader:not(.reader--lean):not(.reader--compact) .reader-tools{flex-wrap:nowrap;gap:4px}.reader:not(.reader--lean):not(.reader--compact) .reader-font-global__full{display:none}.reader:not(.reader--lean):not(.reader--compact) .reader-font-global__short{display:inline}.reader:not(.reader--lean):not(.reader--compact) .reader-bar .icon-button,.reader:not(.reader--lean):not(.reader--compact) .reader-bar .reader-font-global,.reader:not(.reader--lean):not(.reader--compact) .sync-pill,.reader:not(.reader--lean):not(.reader--compact) .reader-goto-prepare,.reader:not(.reader--lean):not(.reader--compact) .reader-bar .fullscreen-button{padding-left:6px;padding-right:6px;font-size:14px}}.is-transition-yellow{--transition-bg: #fde68a;--transition-ink: #422006;--transition-line: #b45309}.is-transition-red{--transition-bg: #fecaca;--transition-ink: #7f1d1d;--transition-line: #b91c1c}.is-transition-blue{--transition-bg: #bfdbfe;--transition-ink: #1e3a8a;--transition-line: #1d4ed8}.is-transition-green{--transition-bg: #bbf7d0;--transition-ink: #14532d;--transition-line: #15803d}:root[data-theme=dark] .is-transition-yellow{--transition-bg: #713f12;--transition-ink: #fef3c7;--transition-line: #fbbf24}:root[data-theme=dark] .is-transition-red{--transition-bg: #7f1d1d;--transition-ink: #fee2e2;--transition-line: #f87171}:root[data-theme=dark] .is-transition-blue{--transition-bg: #1e3a8a;--transition-ink: #dbeafe;--transition-line: #93c5fd}:root[data-theme=dark] .is-transition-green{--transition-bg: #14532d;--transition-ink: #dcfce7;--transition-line: #86efac}.reader-sentence{border-radius:4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.reader-sentence.is-marked{background:var(--transition-bg);color:var(--transition-ink);font-weight:600}button.reader-sentence{display:inline;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:inherit;cursor:pointer;touch-action:manipulation}button.reader-sentence.is-marked{background:var(--transition-bg);color:var(--transition-ink)}button.reader-sentence:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reader-bar .reader-mark-toggle{min-width:0;min-height:var(--reader-tools-button-size);padding:0 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);font-size:15px;font-weight:600;white-space:nowrap}.reader-bar .reader-mark-toggle.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.reader-mark-note{flex:none;display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line-strong);background:var(--accent-soft);color:var(--ink);font-size:15px}.reader-mark-note span{flex:1;min-width:0}.menu-transition{display:flex;flex-direction:column;gap:6px;margin:4px 0}.menu-transition-title{font-size:15px;color:var(--muted)}.menu-transition-colors{display:flex;gap:8px}.menu-transition-colors button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.menu-transition-colors button.is-current{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-soft)}
