.login[data-v-3f308d9e]{max-width:26rem;padding-top:clamp(3rem,14vh,7rem)}.title[data-v-3f308d9e]{margin:0 0 2.5rem;font-size:2rem;line-height:1.25}.subtitle[data-v-3f308d9e]{color:var(--ink-muted);margin-top:.35rem;font-size:1.05rem;font-weight:500;display:block}.form[data-v-3f308d9e]{gap:1.25rem;display:grid}.optional[data-v-3f308d9e]{font-weight:400}.error[data-v-3f308d9e]{color:var(--roman);margin:0;font-size:.95rem}.lead[data-v-3f308d9e]{color:var(--ink-soft);margin:0}.qr[data-v-3f308d9e]{border:1px solid var(--rule);background:#fff;border-radius:6px;margin:0 auto;display:block}.secret[data-v-3f308d9e]{text-align:center;margin:0;font-size:.85rem}.secret code[data-v-3f308d9e]{letter-spacing:.08em;color:var(--ink);word-break:break-all;font-size:.95rem}.header[data-v-4857de28]{padding:calc(1.5rem + env(safe-area-inset-top)) 0 1rem;border-bottom:1px solid var(--rule-strong);justify-content:space-between;align-items:center;gap:1rem;display:flex}.title[data-v-4857de28]{margin:0;font-size:1.75rem;line-height:1.2}.logout[data-v-4857de28]{min-height:40px;font-size:.9rem}.episodes[data-v-4857de28]{margin:0;padding:0;list-style:none}.episodes li+li[data-v-4857de28]{border-top:1px solid var(--rule)}.episode[data-v-4857de28]{text-align:left;background:0 0;border:0;align-items:baseline;gap:1.1rem;width:100%;padding:1.1rem .25rem;transition:background-color .15s;display:flex}.episode[data-v-4857de28]:active{background:var(--paper-sunk)}@media (hover:hover) and (pointer:fine){.episode[data-v-4857de28]:hover{background:var(--paper-sunk)}}.number[data-v-4857de28]{color:var(--roman);font-variant-numeric:tabular-nums;text-align:right;flex:0 0 2.2rem;font-size:1.9rem;font-weight:700;line-height:1}.body[data-v-4857de28]{gap:.2rem;display:grid}.name[data-v-4857de28]{font-size:1.2rem;font-weight:700;line-height:1.35}.meta[data-v-4857de28]{font-size:.85rem}.scene[data-v-08542b7e]{border-bottom:1px solid var(--rule);padding:1.75rem 0 1.25rem}.scene-head[data-v-08542b7e]{align-items:baseline;gap:.75rem;display:flex}.label[data-v-08542b7e]{margin:0;font-size:1.1rem;font-weight:700}.tag[data-v-08542b7e]{color:var(--ink-muted);font-size:.8rem}.shot[data-v-08542b7e]{color:var(--ink-muted);margin:.35rem 0 .9rem;font-size:.88rem;line-height:1.6}.narration[data-v-08542b7e]{border:1px solid var(--rule);background:var(--paper-raised);resize:none;width:100%;min-height:3.6em;caret-color:var(--roman);border-radius:6px;padding:.7rem .85rem;font-size:1.12rem;line-height:1.85;transition:border-color .15s,background-color .15s;display:block;overflow:hidden}.narration[data-v-08542b7e]::placeholder{color:var(--ink-muted);font-family:var(--sans);font-size:.95rem}.narration[data-v-08542b7e]:focus{border-color:var(--ink);background:#fffdf8;outline:none}.narration.dirty[data-v-08542b7e]{border-color:var(--roman)}.highlights[data-v-08542b7e]{color:var(--ink-muted);flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;margin:.6rem 0 0;font-size:.82rem;display:flex}.highlight-word[data-v-08542b7e]{color:var(--ink-soft);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:.25em;font-weight:600}.highlight-word.missing[data-v-08542b7e]{color:var(--roman);-webkit-text-decoration-color:var(--roman);text-decoration-color:var(--roman)}.missing-note[data-v-08542b7e]{color:var(--roman);flex-basis:100%}.scene-foot[data-v-08542b7e]{align-items:center;gap:.75rem;min-height:44px;margin-top:.6rem;display:flex}.count[data-v-08542b7e]{font-variant-numeric:tabular-nums;font-size:.82rem}.status[data-v-08542b7e]{flex:1;font-size:.85rem}.status.saved[data-v-08542b7e]{color:var(--ok)}.status.error[data-v-08542b7e]{color:var(--roman)}.save[data-v-08542b7e]{min-width:5.5rem;margin-left:auto}.conflict[data-v-08542b7e]{background:var(--warn-paper);border-radius:6px;margin-top:.9rem;padding:.9rem 1rem}.conflict-title[data-v-08542b7e]{color:var(--warn);margin:0 0 .35rem;font-size:.85rem;font-weight:600}.conflict-text[data-v-08542b7e]{white-space:pre-wrap;margin:0 0 .8rem;font-size:1.02rem;line-height:1.8}.conflict-actions[data-v-08542b7e]{flex-wrap:wrap;gap:.6rem;display:flex}.visually-hidden[data-v-08542b7e]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.viewer[data-v-84fbfa0c]{z-index:50;color:#fbf8f1;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:#14110df0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.bar[data-v-84fbfa0c]{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.label[data-v-84fbfa0c]{font-size:.9rem}.count[data-v-84fbfa0c]{color:#b8ad9c}.image[data-v-84fbfa0c]{object-fit:contain;width:100%;height:100%}.icon-button[data-v-84fbfa0c]{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.icon-button[data-v-84fbfa0c]:disabled{opacity:.3}.icon-button[data-v-84fbfa0c]:active:not(:disabled){background:#ffffff1a}.choose[data-v-84fbfa0c]{flex:1;max-width:16rem}.chosen[data-v-84fbfa0c]{color:#fbf8f1;background:0 0;border-color:#b8ad9c}.muted-light[data-v-84fbfa0c]{text-align:center;color:#b8ad9c;flex:1;font-size:.85rem}.keyframes[data-v-34b1c3c5]{border-top:1px dashed var(--rule);margin-top:1.1rem;padding-top:1rem}.heading[data-v-34b1c3c5]{color:var(--ink-soft);margin:0 0 .6rem;font-size:.9rem;font-weight:700}.note[data-v-34b1c3c5]{margin:0;font-size:.85rem}.strip[data-v-34b1c3c5]{scroll-snap-type:x proximity;overscroll-behavior-x:contain;gap:.6rem;margin:0 -1.25rem;padding:0 1.25rem .4rem;display:flex;overflow-x:auto}.thumb[data-v-34b1c3c5]{aspect-ratio:9/16;background:var(--paper-sunk);scroll-snap-align:start;transition:border-color .15s ease, transform .16s var(--ease-out);border:2px solid #0000;border-radius:6px;flex:0 0 7.2rem;padding:0;position:relative;overflow:hidden}.thumb[data-v-34b1c3c5]:active{transform:scale(.97)}.thumb img[data-v-34b1c3c5]{object-fit:cover;width:100%;height:100%;display:block}.thumb.current[data-v-34b1c3c5]{border-color:var(--rule-strong)}.thumb.selected[data-v-34b1c3c5]{border-color:var(--roman)}.thumb-label[data-v-34b1c3c5]{color:#fbf8f1;text-align:left;background:#1e1a15b8;padding:.25rem .35rem;font-size:.72rem;line-height:1.35;position:absolute;inset:auto 0 0}.thumb.selected .thumb-label[data-v-34b1c3c5]{background:var(--roman)}.pending[data-v-34b1c3c5]{border:1px dashed var(--rule-strong);place-items:center;display:grid}.pulse[data-v-34b1c3c5]{background:var(--rule-strong);border-radius:50%;width:1.4rem;height:1.4rem;animation:1.4s ease-in-out infinite pulse-34b1c3c5}@keyframes pulse-34b1c3c5{50%{opacity:.35;transform:scale(.8)}}.status[data-v-34b1c3c5]{color:var(--ok);margin:.6rem 0 0;font-size:.85rem}.error[data-v-34b1c3c5]{color:var(--roman);margin:.6rem 0 0;font-size:.85rem}.actions[data-v-34b1c3c5]{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.prompt-editor[data-v-34b1c3c5]{margin-top:.9rem}.optional[data-v-34b1c3c5]{font-weight:400}.prompt[data-v-34b1c3c5]{border:1px solid var(--rule-strong);background:var(--paper-raised);resize:vertical;border-radius:6px;width:100%;padding:.7rem .8rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:16px;line-height:1.55;display:block}.prompt[data-v-34b1c3c5]:focus{border-color:var(--ink);outline:none}@media (prefers-reduced-motion:reduce){.pulse[data-v-34b1c3c5]{animation:none}.thumb[data-v-34b1c3c5]:active{transform:none}}.header[data-v-8254c7b8]{z-index:5;padding:calc(.75rem + env(safe-area-inset-top)) 1.25rem .75rem .5rem;background:var(--paper);border-bottom:1px solid var(--rule-strong);align-items:center;gap:.5rem;margin:0 -1.25rem;display:flex;position:sticky;top:0}.back[data-v-8254c7b8]{height:44px;color:var(--ink);background:0 0;border:0;border-radius:6px;flex:0 0 44px;place-items:center;display:inline-grid}.back[data-v-8254c7b8]:active{background:var(--paper-sunk)}.heading[data-v-8254c7b8]{min-width:0;display:grid}.episode-number[data-v-8254c7b8]{letter-spacing:.04em;font-size:.8rem;font-weight:600}.title[data-v-8254c7b8]{overflow-wrap:anywhere;margin:0;font-size:1.35rem;line-height:1.3}.save-bar[data-v-8254c7b8]{left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:10;background:var(--ink);width:min(100% - 2rem,26rem);color:var(--paper);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .6rem .6rem 1.1rem;font-size:.95rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px -12px #1e1a158c}.rise-enter-active[data-v-8254c7b8],.rise-leave-active[data-v-8254c7b8]{transition:opacity .22s var(--ease-out), transform .22s var(--ease-out)}.rise-enter-from[data-v-8254c7b8],.rise-leave-to[data-v-8254c7b8]{opacity:0;transform:translate(-50%,12px)}@media (prefers-reduced-motion:reduce){.rise-enter-active[data-v-8254c7b8],.rise-leave-active[data-v-8254c7b8]{transition:opacity .12s}.rise-enter-from[data-v-8254c7b8],.rise-leave-to[data-v-8254c7b8]{transform:translate(-50%)}}:root{--paper:#f4efe4;--paper-raised:#fbf8f1;--paper-sunk:#ebe4d5;--ink:#1e1a15;--ink-soft:#4a4238;--ink-muted:#6d6356;--rule:#d9cfbd;--rule-strong:#b9ab93;--roman:#8e2f1c;--roman-deep:#72240f;--ok:#2f5d3e;--warn:#7a4a0b;--warn-paper:#f6e7c8;--serif:"Noto Serif TC", "Songti TC", "PMingLiU", serif;--sans:-apple-system, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;margin:0;line-height:1.6}::selection{color:var(--ink);background:#e8c9b9}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:2px solid var(--roman);outline-offset:3px;border-radius:2px}.page{width:100%;max-width:44rem;padding:0 1.25rem calc(6rem + env(safe-area-inset-bottom));margin:0 auto}.serif{font-family:var(--serif)}.muted{color:var(--ink-muted)}.button{-webkit-user-select:none;user-select:none;min-height:44px;transition:background-color .15s ease, border-color .15s ease, transform .16s var(--ease-out);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:0 1.1rem;font-size:.95rem;font-weight:600;display:inline-flex}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.5;cursor:default}.button-primary{background:var(--roman);color:#fff9f2}.button-quiet{border-color:var(--rule-strong);color:var(--ink-soft);background:0 0}@media (hover:hover) and (pointer:fine){.button-primary:hover:not(:disabled){background:var(--roman-deep)}.button-quiet:hover:not(:disabled){background:var(--paper-sunk)}}.notice{background:var(--warn-paper);color:var(--warn);border-radius:6px;margin:1rem 0;padding:.75rem 1rem;font-size:.9rem}.field-label{color:var(--ink-soft);margin-bottom:.4rem;font-size:.9rem;font-weight:600;display:block}.text-input{border:1px solid var(--rule-strong);background:var(--paper-raised);border-radius:6px;width:100%;min-height:48px;padding:0 .9rem;font-size:16px;transition:border-color .15s}.text-input:focus{border-color:var(--ink);outline:none}@media (prefers-reduced-motion:reduce){.button{transition:none}.button:active:not(:disabled){transform:none}}
