.toast{border-radius:var(--r-pill);color:#fffdf7;max-width:80vw;font-size:var(--fs-body-s);opacity:0;pointer-events:none;z-index:var(--z-toast);transition:opacity var(--dur-normal) var(--ease-out), transform var(--dur-normal) var(--ease-out);background:#2b241cf0;padding:12px 22px;position:fixed;bottom:48px;left:50%;transform:translate(-50%)translateY(12px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:var(--danger)}button,input,textarea,select{font:inherit}.page-head{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-title);letter-spacing:.02em;margin:0}body.line-family .page-head h1{font-family:var(--font-serif);letter-spacing:.06em}.page-head .spacer{flex:1}.desc-text{color:var(--ink-2);font-size:var(--fs-body-s);margin-top:4px}.card{background:var(--paper-1);border-radius:var(--r-card);box-shadow:var(--shadow-s);border:1px solid var(--line);padding:var(--sp-6)}.card+.card{margin-top:var(--sp-5)}.card h2{margin:0 0 var(--sp-4);align-items:center;gap:10px;font-size:18px;display:flex}.empty{text-align:center;color:var(--ink-2);padding:var(--sp-9) 0 var(--sp-8);font-size:var(--fs-body-s)}.empty .big{margin-bottom:var(--sp-3);font-size:44px}.empty-logo{opacity:.9;width:76px;height:76px;margin-bottom:var(--sp-3);border-radius:22%}.btn{border-radius:var(--r-s);font-size:var(--fs-body-s);border:1px solid var(--line-strong);background:var(--paper-1);color:var(--ink-0);cursor:pointer;transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast), filter var(--dur-fast), transform var(--dur-press) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:9px 18px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fffdf7;border-radius:var(--r-pill);padding-left:24px;padding-right:24px}.btn.primary:hover{background:var(--brand-deep);color:#fffdf7;filter:brightness(1.05)}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:var(--danger);background:#fdf0ee}.btn.small{font-size:var(--fs-caption);border-radius:7px;padding:5px 12px}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{border-radius:var(--r-pill);font-size:var(--fs-caption);white-space:nowrap;padding:3px 12px;font-weight:500;display:inline-block}.badge.draft{background:var(--paper-2);color:var(--ink-2)}.badge.published{color:var(--ok);background:#e4f2e5}.badge.closed{color:var(--warn);background:#f8ecd2}.field{margin-bottom:var(--sp-5)}.field>label{font-size:var(--fs-body-s);color:var(--ink-1);margin-bottom:var(--sp-2);font-weight:600;display:block}.field .hint{font-size:var(--fs-caption);color:var(--ink-2);margin-top:6px}.field input[type=text],.field input[type=password],.field input[type=email],.field input[type=number],.field input[type=url],.field textarea,.field select{border:1px solid var(--line-strong);border-radius:var(--r-m);background:var(--paper-1);width:100%;color:var(--ink-0);font-size:var(--fs-body);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);outline:none;padding:12px 14px}.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand);border-color:var(--brand);box-shadow:0 0 0 3px #96662a2e;box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 16%, transparent)}.field textarea{resize:vertical;min-height:84px}.form-actions{gap:var(--sp-3);margin-top:var(--sp-6);display:flex}table{border-collapse:collapse;width:100%;font-size:var(--fs-body-s)}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 12px}th{color:var(--ink-2);font-weight:600;font-size:var(--fs-caption);white-space:nowrap;letter-spacing:.05em}tr:last-child td{border-bottom:none}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--brand)}th.sortable:hover{text-underline-offset:4px;text-decoration:underline}.row-actions{grid-template-columns:repeat(2,max-content);justify-content:start;gap:8px;display:grid}.bk-tag{border-radius:var(--r-pill);color:var(--brand);background:#96662a1a;background:color-mix(in srgb, var(--brand) 10%, transparent);cursor:pointer;vertical-align:2px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.bk-tag:hover{text-decoration:underline}.tabs{gap:var(--sp-2);margin:0 0 var(--sp-5);flex-wrap:wrap;display:flex}.tab{border-radius:var(--r-pill);font-size:var(--fs-body-s);color:var(--ink-2);background:var(--paper-1);border:1px solid var(--line-strong);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);padding:9px 24px}.tab:hover{border-color:var(--brand);color:var(--brand)}.tab.active{background:var(--brand);border-color:var(--brand);color:#fffdf7;font-weight:600}.stat-chips{gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.stat-chip{background:var(--paper-1);border-radius:var(--r-m);border:1px solid var(--line);padding:var(--sp-4) var(--sp-6);box-shadow:var(--shadow-s);min-width:150px}.stat-chip .num{color:var(--brand);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.stat-chip .lbl{font-size:var(--fs-caption);color:var(--ink-2);margin-top:2px}.session-card{border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:var(--sp-3);background:var(--paper-1);overflow:hidden}.session-head{align-items:center;gap:var(--sp-3);padding:14px var(--sp-5);background:var(--paper-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-body-s);transition:background var(--dur-fast);display:flex}.session-head:hover{background:var(--paper-3)}.session-head .caret{transition:transform var(--dur-fast) var(--ease-out);color:var(--ink-3)}.session-card.open .session-head .caret{transform:rotate(90deg)}.session-head .s-status{margin-left:auto}.session-body{padding:var(--sp-5) var(--sp-6);display:none}.session-card.open .session-body{display:block}.person-card .session-head .pm-btn{flex:none;margin-left:auto}.person-session{align-items:center;gap:var(--sp-4);border-bottom:1px dashed var(--line);font-size:var(--fs-body-s);flex-wrap:wrap;padding:10px 2px;display:flex}.person-session:last-child{border-bottom:none}.person-session .btn{margin-left:auto}.pm-stale{margin:0 var(--sp-6) var(--sp-4);color:var(--warn);font-size:var(--fs-body-s)}.turn-row{border-bottom:1px dashed var(--line);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.turn-row:last-child{border-bottom:none}.turn-badge{text-align:center;min-width:56px;font-size:var(--fs-caption);border-radius:7px;flex:none;margin-top:2px;padding:4px 8px;font-weight:600}.turn-badge.b-blue{color:#1d4ed8;background:#dceafb}.turn-badge.b-amber{color:#b45309;background:#fdefd2}.turn-badge.b-gray{background:var(--paper-2);color:var(--ink-2)}.turn-badge.b-green{color:var(--ok);background:#e4f2e5}.turn-badge.b-dark{color:#fffdf7;background:#2e2a26}.turn-text{font-size:var(--fs-body-s);white-space:pre-wrap;word-break:break-word;flex:1;line-height:1.75}.turn-text audio{width:300px;max-width:100%;height:34px;margin-top:8px;display:block}.sd-body audio{width:260px}.topic-block h2{font-size:17px}.topic-block .no{color:var(--brand);margin-right:8px}.topic-count{font-size:var(--fs-caption);color:var(--ink-2);margin-left:auto;font-weight:400}.topic-answer{padding:var(--sp-3) 0;border-top:1px dashed var(--line)}.topic-answer .ta-who{font-size:var(--fs-body-s);margin-bottom:4px;font-weight:600}.topic-answer .ta-who span{color:var(--ink-2);margin-left:8px;font-weight:400}.topic-answer .ta-text{font-size:var(--fs-body-s);white-space:pre-wrap;line-height:1.85}.rt-wrap{padding:6px 4px;overflow-x:auto}.rt{min-width:720px}.rt th{white-space:nowrap}.rt .q-col{min-width:180px;max-width:260px;font-weight:500}.rt .qno{color:var(--brand);font-weight:700}.rt td.ans{max-width:260px}.rt .ans-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.rt tbody tr{cursor:pointer}.rt tbody tr:hover td{background:#96662a1a;background:color-mix(in srgb, var(--brand) 5%, var(--paper-1))}.rt .no-ans{color:var(--ink-3)}.sum-head .sum-overall{font-size:var(--fs-body);line-height:1.85}.sum-meta{margin-top:var(--sp-3);color:var(--ink-2);font-size:var(--fs-body-s);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sum-q h2 .qno{color:var(--brand);margin-right:4px;font-weight:700}.sum-q-s{font-size:var(--fs-body-s);margin-bottom:10px;line-height:1.75}.sum-points{font-size:var(--fs-body-s);padding-left:22px;line-height:1.9}.sum-quotes{margin-top:var(--sp-3);border-top:1px dashed var(--line);padding-top:var(--sp-3);flex-direction:column;gap:8px;display:flex}.sum-quote{color:var(--ink-2);font-size:var(--fs-body-s);font-style:italic}.chart-row{gap:var(--sp-6);flex-wrap:wrap;align-items:center;display:flex}.chart-row .chart-bar{flex:1;min-width:340px}.chart-legend{margin-top:var(--sp-3);font-size:var(--fs-caption);color:var(--ink-2);flex-wrap:wrap;gap:6px 20px;display:flex}.chart-legend .dot{border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.q-row{margin-bottom:var(--sp-3);align-items:flex-start;gap:12px;display:flex}.q-row .q-no{background:#96662a1a;background:color-mix(in srgb, var(--brand) 10%, var(--paper-1));width:34px;height:46px;color:var(--brand);font-weight:700;font-size:var(--fs-body-s);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.q-row textarea{border:1px solid var(--line-strong);border-radius:var(--r-m);resize:vertical;background:var(--paper-1);height:46px;min-height:46px;color:var(--ink-0);font-size:var(--fs-body);flex:1;padding:11px 14px}.q-row textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #96662a2e;box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 16%, transparent);outline:none}.q-row .q-tools{flex-direction:column;flex:none;gap:4px;display:flex}.q-row .q-tools button{color:var(--ink-2);border:1px solid var(--line);background:var(--paper-1);cursor:pointer;border-radius:7px;padding:4px 8px;font-size:12px}.q-row .q-tools button:hover{color:var(--brand);border-color:var(--brand)}.q-row .q-tools button.del:hover{color:var(--danger);border-color:var(--danger)}.tpl-page{gap:var(--sp-5);grid-template-columns:320px minmax(0,1fr);align-items:start;display:grid}.tpl-tree{padding:var(--sp-3);position:sticky;top:88px}.tree-gname{font-size:var(--fs-caption);color:var(--ink-2);letter-spacing:1px;padding:10px 12px 4px}.tree-group+.tree-group{margin-top:var(--sp-3)}.tree-leaf{cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast);border:1px solid #0000;border-radius:10px;margin-top:4px;padding:12px 14px 12px 24px}.tree-leaf:hover{background:#96662a1a;background:color-mix(in srgb, var(--brand) 7%, var(--paper-1))}.tree-leaf.active{border-color:var(--brand);background:#96662a1a;background:color-mix(in srgb, var(--brand) 9%, var(--paper-1))}.tree-leaf .tl-name{font-weight:600;font-size:var(--fs-body-s)}.tree-leaf.active .tl-name{color:var(--brand)}.tree-leaf .tl-meta{color:var(--ink-2);font-size:var(--fs-caption);margin-top:3px;line-height:1.55}.tpl-preview{min-height:480px}.pv-placeholder{text-align:center;color:var(--ink-2);font-size:var(--fs-body-s);padding:100px 20px;line-height:1.9}.pv-placeholder .big{margin-bottom:var(--sp-3);font-size:42px}.pv-name{font-size:22px;font-weight:700}body.line-family .pv-name{font-family:var(--font-serif);letter-spacing:.04em}.pv-desc{color:var(--ink-2);font-size:var(--fs-body-s);margin-top:8px;line-height:1.7}.pv-block{margin-top:var(--sp-5)}.pv-block>label{font-size:var(--fs-caption);color:var(--ink-2);margin-bottom:8px;font-weight:600;display:block}.pv-text{font-size:var(--fs-body-s);background:#96662a1a;background:color-mix(in srgb, var(--brand) 5%, var(--paper-1));border-radius:9px;padding:12px 16px;line-height:1.8}.pv-input{border:1px solid var(--line-strong);border-radius:var(--r-m);background:var(--paper-1);width:100%;color:var(--ink-0);font-size:var(--fs-body);outline:none;padding:11px 14px}.pv-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #96662a2e;box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 16%, transparent)}.pv-book{margin-top:var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-m);background:#96662a1a;background:color-mix(in srgb, var(--brand) 3%, var(--paper-1));padding:4px 16px 10px}.pv-q{border-bottom:1px dashed var(--line);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.pv-q:last-child{border-bottom:none}.pv-no{background:#96662a1a;background:color-mix(in srgb, var(--brand) 12%, var(--paper-1));width:28px;height:28px;color:var(--brand);font-weight:700;font-size:var(--fs-caption);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-top:1px;display:flex}.pv-q div{font-size:var(--fs-body);line-height:1.7}.pv-scene{border:1px solid var(--line);border-radius:var(--r-m);margin-top:var(--sp-4);padding:18px 20px 10px}.pv-scene-title{font-weight:700;font-size:var(--fs-body)}body.line-family .pv-scene-title{font-family:var(--font-serif);letter-spacing:.03em}.pv-scene-desc{color:var(--ink-2);font-size:var(--fs-caption);margin:4px 0 8px;line-height:1.6}.pv-foot{align-items:center;gap:var(--sp-4);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line);display:flex}.pv-foot .pv-hint{color:var(--ink-2);font-size:var(--fs-caption);flex:1;line-height:1.6}@media (max-width:860px){.tpl-page{grid-template-columns:1fr}.tpl-tree{position:static}}.reader-mask{z-index:var(--z-modal);padding:var(--sp-5) var(--sp-4);background:#2b241c8c;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.reader-bar{align-items:center;gap:var(--sp-3);width:100%;max-width:960px;padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);background:var(--paper-1);border-radius:var(--r-pill);box-shadow:var(--shadow-m);flex:none;display:flex}.reader-bar .rb-title{font-weight:600;font-size:var(--fs-body-s);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.reader-page{background:var(--bk-page-bg,#fbf6ea);border:1px solid var(--bk-page-line,#e8dcc2);border-radius:var(--r-card);width:100%;max-width:960px;box-shadow:var(--shadow-l);padding:24px;flex:none;padding:max(32px,min(6vw,72px)) max(24px,min(7vw,88px))}.memoir-article{color:var(--bk-ink,#46311c);font-family:var(--bk-font-body,var(--font-serif))}.memoir-article h1{font-family:var(--bk-font-display,var(--font-serif));text-align:center;margin:0 0 var(--sp-6);letter-spacing:3px;color:var(--bk-ink,#46311c);font-size:max(24px,min(3.4vw,30px));font-weight:600}.memoir-article h2{font-family:var(--bk-font-display,var(--font-serif));margin:var(--sp-6) 0 var(--sp-3);color:var(--bk-heading,#7a5426);font-size:19px;font-weight:600}.memoir-article h2:before{content:"❧ ";color:var(--bk-ornament,#c89b5a)}.memoir-article p{font-size:17px;line-height:var(--lh-reading);text-align:justify;margin:14px 0}.memoir-photo{max-width:86%;max-height:60vh;max-height:60dvh;margin:var(--sp-5) auto;border:1px solid var(--bk-page-line,#e8dcc2);border-radius:10px;display:block;box-shadow:0 6px 24px #7854282e}.reader-loading{text-align:center;color:var(--ink-2);padding:var(--sp-8) 0;font-size:var(--fs-body-s);line-height:2}@media print{.reader-bar,.topbar,.toast,.asr-warn{display:none!important}.reader-mask{background:0 0;padding:0;position:static;overflow:visible}.reader-page{width:100%;box-shadow:none;border:none;border-radius:0;padding:0}body{background:#fff}}@media (max-width:720px){th:nth-child(5),td:nth-child(5){display:none}.card{padding:var(--sp-4)}.page-head h1{font-size:var(--fs-title-s)}.card{overflow-x:auto}#listCard table{min-width:540px}.rt-wrap .rt{min-width:640px}}.bs-page{width:100%;max-width:1220px;margin:0 auto}.bs-initial{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:56vh;display:flex}.bs-initial-mark{border:1px solid var(--line-strong);width:58px;height:58px;color:var(--brand);font-family:var(--font-serif);letter-spacing:2px;border-radius:50%;place-content:center;font-size:17px;display:grid}.bs-initial h1{font-family:var(--font-serif);margin:20px 0 8px;font-size:25px;font-weight:600}.bs-initial p{color:var(--ink-2);font-size:var(--fs-body-s);margin:0 0 22px}.bs-book-header{padding:0 0 22px}.bs-back{color:var(--ink-2);font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;align-items:center;padding:4px 0;display:inline-flex}.bs-back:hover{color:var(--brand)}.bs-identity{margin-top:12px}.bs-title-line{align-items:center;gap:10px;min-width:0;display:flex}.bs-book-title{min-width:0;color:var(--ink-0);font-family:var(--font-serif);letter-spacing:.04em;overflow-wrap:anywhere;cursor:text;margin:0;font-size:30px;font-weight:600;line-height:1.4}.bs-rename{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:4px 7px;font-size:12px}.bs-rename:hover{background:var(--paper-2);color:var(--brand)}.bs-badge-wrap{flex:none;position:relative}.bs-status{border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--font-serif);letter-spacing:1px;cursor:pointer;white-space:nowrap;background:0 0;padding:4px 11px;font-size:12px}.bs-status.active{color:var(--ok);background:#4d7c4412;border-color:#4d7c446b}.bs-status.done{color:var(--seal);background:#c048510f;border-color:#c048516b}.bs-status.archived{color:var(--ink-2);background:var(--paper-2)}.bs-badge-pop{z-index:5;border:1px solid var(--line);background:var(--paper-1);min-width:122px;box-shadow:var(--shadow-m);border-radius:10px;flex-direction:column;padding:5px;display:flex;position:absolute;top:calc(100% + 7px);left:0}.bs-badge-pop button{color:var(--ink-1);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:13px}.bs-badge-pop button:hover{background:var(--paper-2)}.bs-badge-pop button.on{color:var(--brand);font-weight:600}.bs-book-meta{color:var(--ink-2);font-size:var(--fs-caption);flex-wrap:wrap;align-items:center;gap:9px;margin-top:8px;display:flex}.bs-book-meta b{color:var(--ink-1);font-weight:600}.bs-book-meta i{background:var(--line);width:1px;height:12px}.bs-nav{scrollbar-width:thin;border-bottom:1px solid var(--line);align-items:center;gap:32px;max-width:100%;display:flex;overflow-x:auto}.bs-nav-item{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:6px;padding:0 2px 13px;font-size:15px;display:inline-flex;position:relative}.bs-nav-item:hover{color:var(--brand)}.bs-nav-item.on{border-bottom-color:var(--brand);color:var(--brand);font-weight:600}.bs-nav-count{border-radius:var(--r-pill);background:var(--paper-2);min-width:19px;height:19px;color:var(--ink-2);place-content:center;padding:0 5px;font-size:11px;font-weight:400;display:inline-grid}.bs-view{padding-top:28px}.bs-page-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.bs-page-head h2{font-family:var(--font-serif);letter-spacing:.04em;margin:0;font-size:26px;font-weight:600}.bs-page-head p{max-width:680px;color:var(--ink-2);margin:6px 0 0;font-size:14px;line-height:1.75}.bs-page-stat,.bs-current-theme{color:var(--ink-2);font-size:var(--fs-caption);white-space:nowrap;flex:none;padding-top:7px}.bs-current-theme{color:var(--brand)}.bs-btn{border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--paper-1);min-height:38px;color:var(--ink-0);font-size:var(--fs-caption);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast), transform var(--dur-press);justify-content:center;align-items:center;gap:6px;padding:8px 15px;display:inline-flex}.bs-btn:hover{border-color:var(--brand);color:var(--brand)}.bs-btn:active{transform:translateY(1px)}.bs-btn.primary{border-color:var(--brand);border-radius:var(--r-pill);background:var(--brand);color:#fffdf7;padding-left:20px;padding-right:20px}.bs-btn.primary:hover{background:var(--brand-deep);color:#fffdf7}.bs-btn.danger{color:var(--danger)}.bs-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#fdf0ee}.bs-btn.small{min-height:32px;padding:5px 11px;font-size:12px}.bs-btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.bs-select{border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--paper-1);width:100%;height:42px;color:var(--ink-0);outline:none;padding:8px 11px;font-size:13px}.bs-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #96662a1f}.bs-notice{border-left:2px solid var(--brand);background:var(--brand-tint);color:var(--ink-1);border-radius:0 8px 8px 0;margin-bottom:18px;padding:11px 15px;font-size:13px;line-height:1.7}.modal .hint-empty,.bs-page .hint-empty{color:var(--ink-2);font-size:var(--fs-body-s);line-height:1.8}.bs-state-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper-1);box-shadow:var(--shadow-s);margin-bottom:20px}.bs-state-err{justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.bs-state-err b{color:var(--danger);font-size:14px}.bs-state-err p{color:var(--ink-2);margin:4px 0 0;font-size:13px;line-height:1.7}.bs-state-busy{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:56px;min-height:380px;padding:48px;display:grid}.bs-generating-label{color:var(--brand);letter-spacing:3px;font-size:12px}.bs-generating-copy h2{font-family:var(--font-serif);margin:13px 0 12px;font-size:27px;font-weight:600;line-height:1.5}.bs-generating-copy p{max-width:520px;color:var(--ink-2);margin:0;font-size:14px;line-height:1.9}.bs-generating-lines{border:1px solid var(--line);background:var(--paper-0);height:230px;box-shadow:var(--shadow-m);border-radius:8px;padding:42px 26px}.bs-generating-lines i{background:var(--paper-3);border-radius:4px;height:7px;margin-bottom:20px;animation:1.5s ease-in-out infinite alternate bsPulse;display:block}.bs-generating-lines i:nth-child(2){width:91%;animation-delay:.15s}.bs-generating-lines i:nth-child(3){width:96%;animation-delay:.3s}.bs-generating-lines i:nth-child(4){width:64%;animation-delay:.45s}@keyframes bsPulse{0%{opacity:.45}to{opacity:1}}.bs-empty-book{border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper-1);min-height:486px;box-shadow:var(--shadow-s);grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);align-items:center;gap:48px;padding:48px 54px;display:grid}.bs-empty-kicker{color:var(--brand);letter-spacing:3px;font-size:12px}.bs-empty-copy h2{max-width:460px;font-family:var(--font-serif);margin:13px 0 12px;font-size:30px;font-weight:600;line-height:1.5}.bs-empty-text{max-width:520px;color:var(--ink-2);margin:0;font-size:15px;line-height:1.9}.bs-empty-form{max-width:590px;margin-top:26px}.bs-form-grid{grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr);gap:14px;display:grid}.bs-form-grid label>span,.bs-compose label>span{color:var(--ink-1);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.bs-empty-generate{min-height:44px;margin-top:20px}.bs-form-note{color:var(--ink-2);margin:10px 0 0;font-size:12px;line-height:1.7}.bs-empty-visual{flex-direction:column;align-items:center;min-width:0;display:flex}.bs-empty-cover.bc-cover{border:1px solid var(--line);width:210px;height:290px;min-height:290px;box-shadow:var(--shadow-l);border-radius:10px;flex:none;padding:32px 20px 22px}.bs-empty-cover .bc-title{font-size:25px;line-height:1.5}.bs-empty-cover .bc-seal{width:38px;height:38px;font-size:19px}.bs-empty-visual>span{color:var(--ink-2);text-align:center;margin-top:18px;font-size:12px}.bs-compose{border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper-1);grid-template-columns:minmax(170px,1fr) 210px 170px auto;align-items:end;gap:14px;margin-bottom:26px;padding:14px 16px;display:grid}.bs-compose-intro b{font-size:14px;display:block}.bs-compose-intro>span{color:var(--ink-2);margin-top:3px;font-size:12px;display:block}.bs-compose .bs-btn{height:42px}.bs-manuscript{grid-template-columns:190px minmax(0,800px);justify-content:center;align-items:start;gap:32px;display:grid}.bs-toc{max-height:calc(100vh - 112px);border-right:1px solid var(--line);max-height:calc(100dvh - 112px);padding-right:16px;position:sticky;top:88px;overflow-y:auto}.bs-toc-head{color:var(--ink-2);letter-spacing:2px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 6px;font-size:12px;display:flex}.bs-toc-head small{color:var(--ink-3);letter-spacing:0;font-size:11px}.bs-toc-item{width:100%;color:var(--ink-1);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:baseline;gap:7px;padding:7px 6px;font-size:13px;line-height:1.55;display:flex}.bs-toc-item:hover{background:var(--paper-2)}.bs-toc-item.on{background:var(--brand-tint);color:var(--brand)}.bs-toc-item.dim{color:var(--ink-2)}.bs-toc-no{width:18px;color:var(--ink-3);flex:none;font-size:11px}.bs-toc-item.on .bs-toc-no{color:var(--brand)}.bs-toc-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bs-toc-edit{color:var(--brand);flex:none;font-size:10px}.bs-stage{min-width:0}.bs-stage-head{align-items:center;gap:12px;min-height:30px;margin-bottom:12px;display:flex}.bs-stage-note{color:var(--ink-2);flex:1;font-size:12px;line-height:1.6}.bs-jump{display:none}.bs-mode{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--paper-1);flex:none;padding:3px;display:flex}.bs-mode-btn{border-radius:var(--r-pill);min-width:64px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:6px 15px;font-size:13px}.bs-mode-btn.on{background:var(--paper-2);color:var(--ink-0);font-weight:600}.bs-book{width:100%;max-width:800px;margin:0 auto}.bs-chapter{position:relative}.bs-ch-tools{z-index:2;opacity:0;pointer-events:none;transition:opacity var(--dur-fast);display:flex;position:absolute;top:50px;right:0}.bs-page.mode-edit .bs-chapter .rch-title{padding-right:112px}.bs-page.mode-edit .bs-chapter:hover .bs-ch-tools{opacity:1;pointer-events:auto}.bs-chapter.editing{outline-offset:12px;border-radius:4px;outline:1px dashed #96662a80}.bs-ed-ribbon{border-radius:var(--r-pill);background:var(--paper-1);color:var(--brand);letter-spacing:1px;border:1px solid #96662a61;padding:3px 11px;font-size:11px;position:absolute;top:18px;right:0}.bs-ed-titlerow{border-bottom:1px dashed var(--line-strong);align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.bs-ed-titlerow:focus-within{border-bottom-color:var(--brand)}.bs-ed-chapno{color:var(--bk-ornament,#c89b5a);font-family:var(--bk-font-display,var(--font-serif));white-space:nowrap;flex:none;padding:5px 0;font-size:21px;font-weight:600}.bs-ed-title{min-width:0;color:var(--bk-heading,#7a5426);font-family:var(--bk-font-display,var(--font-serif));background:0 0;border:0;outline:none;flex:1;margin:0;padding:5px 2px;font-size:22px;font-weight:600}.bs-ed-meta{color:var(--ink-2);margin-bottom:8px;font-size:11px;line-height:1.6}.bs-ed-body{resize:vertical;width:100%;min-height:360px;color:var(--bk-ink,#46311c);font-family:var(--bk-font-body,var(--font-serif));font-size:18px;line-height:var(--lh-reading);background:0 0;border:0;outline:none;padding:4px 2px}.bs-ed-actions{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:14px;display:flex}.bs-ed-actions .spacer{flex:1}.bs-ed-actions .bs-select{width:auto;height:36px;font-size:12px}.bs-ed-hint{color:var(--ink-2);margin-top:9px;font-size:11px;line-height:1.7}.bs-ed-hint code{background:var(--paper-2);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:11px}.bs-page.mode-read .bs-edit-only{display:none!important}.bs-page.mode-read .bs-chapter .rch-title{padding-right:0}.bs-interview-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:30px;display:grid}.bs-scenes-panel{min-width:0}.bs-panel-title{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.bs-panel-title h3{margin:0;font-size:16px}.bs-panel-title>span{color:var(--ink-2);font-size:12px}.bs-inline-empty{color:var(--ink-2);padding:36px 0;font-size:14px}.bs-scene{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px 0;display:grid}.bs-scene-no{border:1px solid var(--line);background:var(--paper-2);width:32px;height:32px;color:var(--brand);font-family:var(--font-serif);border-radius:50%;place-content:center;font-size:14px;display:grid}.bs-scene-main{min-width:0}.bs-scene-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bs-scene-title{min-width:0;color:var(--ink-0);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:600;line-height:1.5}.bs-badge{border-radius:var(--r-pill);white-space:nowrap;flex:none;padding:2px 8px;font-size:11px;font-weight:400}.bs-badge.closed{color:var(--ok);background:#4d7c441a}.bs-badge.published{background:var(--brand-tint);color:var(--brand)}.bs-badge.draft{background:var(--paper-2);color:var(--ink-2)}.bs-scene-meta{color:var(--ink-2);margin-top:4px;font-size:12px}.bs-scene-links{gap:7px;display:flex}.bs-guide-card{min-width:0}.bs-guide-card h2{margin-bottom:8px}.bs-guide-card>p{color:var(--ink-2);margin:0 0 18px;font-size:13px;line-height:1.8}.bs-guide-card>label{color:var(--ink-1);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.bs-guide-card textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--paper-0);width:100%;min-height:156px;color:var(--ink-0);outline:none;padding:11px 12px;font-family:inherit;font-size:13px;line-height:1.8}.bs-guide-card textarea::placeholder{color:var(--ink-2)}.bs-guide-card textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #96662a1f}.bs-guide-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.bs-guide-foot .c{color:var(--ink-2);font-size:11px}.bs-timeline-section{margin-top:30px}.bs-timeline-section .tl-card{margin-bottom:0}.bs-assets-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.bs-assets-grid>*{min-width:0}.bs-assets-grid>.card+.card{margin-top:0}.bs-footnote{color:var(--ink-2);margin:14px 0 0;font-size:13px;line-height:1.7}.bs-share-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.bs-share-layout>*{min-width:0}.bs-share-layout>.card+.card{margin-top:0}.bs-export-panel>p{color:var(--ink-2);margin:-4px 0 18px;font-size:13px;line-height:1.8}.bs-export-panel>.bs-btn{width:100%;margin-top:10px}.bs-export-note{border-top:1px solid var(--line);color:var(--ink-2);margin-top:20px;padding-top:14px;font-size:12px;line-height:1.7}.bs-settings{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.bs-settings>h2{font-family:var(--font-serif);margin:0;font-size:19px;font-weight:600}.bs-settings-row{justify-content:space-between;align-items:center;gap:24px;margin-top:14px;display:flex}.bs-settings-row b{font-size:14px}.bs-settings-row p{max-width:760px;color:var(--ink-2);margin:5px 0 0;font-size:13px;line-height:1.75}.bs-settings-row .bs-btn{flex:none}.bs-delete-confirm h3{color:var(--danger);font-family:var(--font-serif);margin:0 0 12px;font-size:20px;font-weight:600}.bs-delete-confirm p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.85}.bs-delete-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.pk-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.pk-item{cursor:pointer;margin:0}.pk-item img{object-fit:cover;border:1px solid var(--line);width:100%;height:130px;transition:transform var(--dur-fast), box-shadow var(--dur-fast);border-radius:10px;display:block}.pk-item:hover img{box-shadow:var(--shadow-m);transform:translateY(-2px)}.pk-item figcaption{color:var(--ink-2);margin-top:6px;font-size:12px;line-height:1.5}@media (max-width:1100px){.bs-manuscript{grid-template-columns:170px minmax(0,1fr);gap:24px}.bs-interview-layout{grid-template-columns:minmax(0,1fr) 310px;gap:22px}}@media (max-width:960px){.bs-empty-book{gap:30px;padding:38px}.bs-manuscript{display:block}.bs-toc{display:none}.bs-stage-head{flex-wrap:wrap}.bs-stage-note{flex:none;width:100%}.bs-jump{border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--paper-1);width:100%;height:40px;color:var(--ink-0);padding:8px 10px;font-size:13px;display:block}.bs-ch-tools{opacity:1;pointer-events:auto;margin-bottom:8px;position:static}.bs-page.mode-edit .bs-chapter .rch-title{padding-right:0}.bs-ed-ribbon{margin-bottom:8px;display:inline-block;position:static}.bs-interview-layout,.bs-assets-grid,.bs-share-layout{grid-template-columns:1fr}.bs-guide-card{margin-top:4px}}@media (max-width:720px){.bs-book-header{padding-bottom:18px}.bs-book-title{font-size:26px}.bs-title-line{flex-wrap:wrap;gap:6px}.bs-created,.bs-created-sep{display:none}.bs-nav{gap:22px;overflow-x:auto}.bs-nav-item{padding-bottom:11px;font-size:14px}.bs-view{padding-top:24px}.bs-page-head{flex-direction:column;gap:13px;margin-bottom:20px}.bs-page-head h2{font-size:24px}.bs-page-stat,.bs-current-theme{white-space:normal;padding-top:0}.bs-empty-book{grid-template-columns:1fr;gap:32px;min-height:0;padding:30px 24px}.bs-empty-copy h2{font-size:26px}.bs-empty-form{max-width:none}.bs-empty-visual{padding-top:4px}.bs-empty-cover.bc-cover{width:174px;height:238px;min-height:238px}.bs-empty-cover .bc-title{font-size:21px}.bs-state-busy{grid-template-columns:1fr;gap:28px;min-height:0;padding:30px 24px}.bs-generating-lines{width:100%;max-width:250px;height:190px;padding:30px 24px}.bs-generating-copy h2{font-size:24px}.bs-state-err{flex-direction:column;align-items:flex-start}.bs-compose{grid-template-columns:1fr 1fr}.bs-compose-intro,.bs-compose>.bs-btn{grid-column:1/-1}.bs-scene{grid-template-columns:32px minmax(0,1fr);gap:12px}.bs-scene-links{grid-column:2}.bs-settings-row{flex-direction:column;align-items:flex-start;gap:16px}.bs-ed-actions .spacer{display:none}.bs-ed-actions .bs-select{width:100%}.bs-ed-chapno,.bs-ed-title{font-size:19px}}@media (max-width:480px){.bs-book-title{font-size:24px}.bs-badge-pop{left:auto;right:0}.bs-book-meta{font-size:12px}.bs-nav{gap:18px}.bs-empty-book{padding:26px 18px}.bs-form-grid{grid-template-columns:1fr}.bs-empty-generate{width:100%}.bs-compose{grid-template-columns:1fr}.bs-compose-intro,.bs-compose>.bs-btn{grid-column:auto}.bs-scene-links{width:100%}.bs-scene-links .bs-btn,.bs-delete-actions .bs-btn{flex:1}}@supports not (gap:1rem){.bs-title-line>*+*,.bs-book-meta>*+*,.bs-ed-actions>*+*,.bs-scene-links>*+*,.bs-delete-actions>*+*{margin-left:8px}.bs-nav-item+.bs-nav-item{margin-left:24px}}@media print{.bs-book-header,.bs-nav,.bs-page-head,.bs-compose,.bs-notice,.bs-state-card,.bs-toc,.bs-stage-head,.bs-ch-tools,.bs-settings,.bs-ed-ribbon{display:none!important}.bs-page,.bs-book{width:100%;max-width:none}.bs-view{padding:0}.bs-manuscript{display:block}.bs-chapter.editing{outline:none}.bs-chapter.editing .bs-edit-view{display:none!important}.bs-chapter.editing .bs-read-view{display:block!important}}
