@keyframes dash{to{stroke-dashoffset:1000}}.reader-stage-frame[data-v-28128e4f]{position:relative;flex:0 0 auto;overflow:hidden}.reader-page[data-v-28128e4f]{overflow:hidden;transition:all .5s ease-in-out;transform-style:preserve-3d;transform-origin:left center;box-shadow:0 0 20px #4b4b4b}.reader-page[data-v-28128e4f],.reader-page[data-v-28128e4f] canvas{width:100%;height:100%}.reader-page.flipped[data-v-28128e4f]{transform:rotateY(-90deg) skew(1deg,-1deg) translate(-20%);box-shadow:0 0 1px #4b4b4b}.reader-page.flipped .reader-page-back[data-v-28128e4f]{transform:translate(-10%) skew(3deg,2deg);box-shadow:0 0 20px 5px #4b4b4b}.reader-page-back[data-v-28128e4f]{position:absolute;left:100%;top:0;width:100%;height:100%;background-color:#fff;z-index:1000000;transition:all .5s;transform-style:preserve-3d;box-shadow:0 0 #4b4b4b}.reader-nav-arrow[data-v-28128e4f]{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:0;cursor:pointer;background:#1f1b1673;color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:20;transition:background .12s ease-out,transform .12s ease-out,opacity .12s ease-out}.reader-nav-arrow[data-v-28128e4f]:hover{background:#1f1b16b3;transform:translateY(-50%) scale(1.04)}.reader-nav-arrow[data-v-28128e4f]:active{transform:translateY(-50%) scale(.96)}.reader-nav-arrow[data-v-28128e4f]:disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.reader-nav-arrow--prev[data-v-28128e4f]{left:1rem}.reader-nav-arrow--next[data-v-28128e4f]{right:1rem}@media(max-width:640px){.reader-nav-arrow[data-v-28128e4f]{width:44px;height:44px}.reader-nav-arrow--prev[data-v-28128e4f]{left:.5rem}.reader-nav-arrow--next[data-v-28128e4f]{right:.5rem}}.reader-controlbar[data-v-28128e4f]{flex-shrink:0;height:38px;background:#0d0d0d;color:#ffffffe6;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;font-family:var(--font-body,system-ui,sans-serif);-webkit-user-select:none;-moz-user-select:none;user-select:none}.reader-controlbar-brand[data-v-28128e4f]{font-family:var(--font-body);font-weight:800;font-size:var(--fs-sm);letter-spacing:-.005em;color:#fffffff2;text-decoration:none;padding:4px 2px;border-radius:4px;transition:color .12s ease-out}.reader-controlbar-brand[data-v-28128e4f]:hover{color:var(--brand-orange,#ff6b1a)}.reader-controlbar-pg[data-v-28128e4f]{font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;color:#ffffffb3;letter-spacing:.02em}.reader-controlbar-tools[data-v-28128e4f]{display:inline-flex;align-items:center;gap:2px;justify-self:end}.reader-controlbar-btn[data-v-28128e4f]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:0;background:transparent;color:#ffffffb3;cursor:pointer;transition:background .12s ease-out,color .12s ease-out,transform .1s ease-out}.reader-controlbar-btn[data-v-28128e4f]:hover{background:#ffffff1a;color:#fff}.reader-controlbar-btn[data-v-28128e4f]:active{transform:scale(.94)}.reader-controlbar-btn--active[data-v-28128e4f]{background:var(--brand-orange,#ff6b1a);color:#fff}.reader-controlbar-btn--active[data-v-28128e4f]:hover{background:var(--brand-ember,#ff5a1f);color:#fff}@media(pointer:coarse){.reader-controlbar[data-v-28128e4f]{height:44px}.reader-controlbar-btn[data-v-28128e4f]{width:40px;height:40px}.reader-controlbar-tools[data-v-28128e4f]{gap:4px}}@media(max-width:400px){.reader-controlbar-brand[data-v-28128e4f]{display:none}}.reader-speech-error-banner[data-v-28128e4f]{top:0;z-index:25;padding:6px 16px;background:#d32f2f;color:#fff;line-height:1.4;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reader-speech-error-banner[data-v-28128e4f],.reader-speech-overlay[data-v-28128e4f]{position:absolute;left:0;right:0;font-size:var(--fs-sm)}.reader-speech-overlay[data-v-28128e4f]{bottom:0;z-index:15;padding:8px 14px;background:#0000008c;color:#f0f0f0;line-height:1.35;display:flex;flex-direction:column;gap:2px;pointer-events:none}.reader-speech-prompt[data-v-28128e4f]{font-weight:600;opacity:.85}.reader-speech-prompt[data-v-28128e4f],.reader-speech-result[data-v-28128e4f]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-speech-result .speech-match[data-v-28128e4f]{color:#66ff7a;font-weight:600;margin-right:2px}.reader-speech-result .speech-miss[data-v-28128e4f]{color:#ffd84a;margin-right:2px}.reader-inspect-overlay-v3[data-v-28128e4f]{position:fixed;inset:0;height:100dvh;z-index:200;background:var(--paper-0,#fffefa);display:flex;flex-direction:column;touch-action:pan-x pan-y pinch-zoom;font-family:var(--font-display)}.reader-inspect-topbar[data-v-28128e4f]{flex:0 0 auto;height:44px;display:flex;align-items:center;padding:0 14px;background:var(--paper-50,#fafaf7);border-bottom:1px solid var(--hairline,#e8ddc2);gap:12px;font-size:var(--fs-sm);z-index:2}.reader-inspect-pill[data-v-28128e4f]{display:inline-flex;align-items:center;gap:6px;background:var(--paper-200,#f0ede5);border:1px solid var(--hairline,#e8ddc2);border-radius:999px;padding:4px 12px;color:var(--ink-700,#3a342b);font-weight:500}.reader-inspect-pill-dot[data-v-28128e4f]{width:7px;height:7px;border-radius:50%;background:var(--brand-orange,#ff6b1a);box-shadow:0 0 0 3px #ff6b1a2e;animation:reader-inspect-pulse-28128e4f 1.4s ease-in-out infinite}@keyframes reader-inspect-pulse-28128e4f{0%,to{box-shadow:0 0 0 3px #ff6b1a2e}50%{box-shadow:0 0 0 6px #ff6b1a0d}}.reader-inspect-title[data-v-28128e4f]{color:var(--ink-700,#3a342b);font-weight:600}.reader-inspect-step[data-v-28128e4f]{color:var(--ink-500,#6b6457);font-size:var(--fs-xs)}.reader-inspect-spacer[data-v-28128e4f]{flex:1}.reader-inspect-ctrl[data-v-28128e4f]{display:inline-flex;align-items:center;gap:6px;background:var(--paper-0,#fffefa);border:1px solid var(--hairline,#e8ddc2);color:var(--ink-700,#3a342b);min-height:36px;padding:8px 14px;border-radius:7px;font-size:var(--fs-xs);font-weight:500;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s ease-out,transform .1s ease-out}.reader-inspect-ctrl[data-v-28128e4f]:hover{background:var(--paper-100,#fbf2df)}.reader-inspect-ctrl[data-v-28128e4f]:active{transform:scale(.97)}.reader-inspect-ctrl--exit[data-v-28128e4f]{background:#fff;color:var(--brand-orange-deep,#b23a06);border-color:var(--brand-orange,#ff6b1a);font-weight:600}.reader-inspect-ctrl--exit[data-v-28128e4f]:hover{background:#ff6b1a0f}.reader-inspect-body[data-v-28128e4f]{flex:1;display:flex;min-height:0;background:#2a2f38}.reader-event-container--v3[data-v-28128e4f]{flex:1;position:relative;background-color:#1a1f2e;background-image:linear-gradient(hsla(0,0%,100%,.05) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.05) 1px,transparent 0);background-size:24px 24px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.event-graph-area[data-v-28128e4f]{flex:1 1 auto;position:relative;overflow:hidden}.event-graph[data-v-28128e4f],.event-graph-area[data-v-28128e4f]{width:100%;height:100%}.event-graph-loader[data-v-28128e4f]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;z-index:4}.reader-inspect-review[data-v-28128e4f]{position:absolute;inset:0;z-index:30;display:flex;border-radius:12px;overflow:hidden}.inspect-reader-overlay[data-v-28128e4f]{position:absolute;inset:0;background:#00000059;z-index:9999;pointer-events:all}.reader-inspect-rail[data-v-28128e4f]{width:273px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--paper-50,#fafaf7);border-left:1px solid var(--hairline,#e8ddc2);min-height:0;overflow:hidden}@media(orientation:portrait)and (max-width:1024px){.reader-inspect-body[data-v-28128e4f]{flex-direction:column}.reader-inspect-rail[data-v-28128e4f]{width:100%;height:auto;max-height:40vh;border-left:none;border-top:1px solid var(--hairline,#e8ddc2)}}.reader-inspect-preview-cell[data-v-28128e4f]{flex:0 0 auto;background:var(--paper-100,#fbf2df);border:1px solid var(--hairline,#e8ddc2);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px}.reader-inspect-preview-frame[data-v-28128e4f]{width:253px;height:142px;border-radius:5px;background:#262c31;overflow:hidden;position:relative;align-self:center;box-shadow:inset 0 0 0 1px #0000000f}.reader-inspect-preview-frame>.reader-area[data-v-28128e4f]{width:100%!important;height:100%!important;text-rendering:geometricPrecision}.reader-inspect-preview-caption[data-v-28128e4f]{font-size:var(--fs-2xs);color:var(--ink-500,#6b6457);text-align:center;letter-spacing:.04em;text-transform:uppercase;font-weight:600;font-variant-numeric:tabular-nums}.reader-inspect-preview-nav[data-v-28128e4f]{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px;padding:0 4px}.reader-inspect-nav-btn[data-v-28128e4f]{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:7px;border:1px solid var(--hairline,#e8ddc2);background:var(--paper-0,#fffefa);color:var(--ink-700,#3a342b);cursor:pointer;transition:background .12s,border-color .12s,transform .08s}.reader-inspect-nav-btn[data-v-28128e4f]:hover:not(:disabled){background:var(--paper-50,#fff8eb);border-color:var(--hairline-strong,#d6c9a7)}.reader-inspect-nav-btn[data-v-28128e4f]:active:not(:disabled){transform:translateY(1px)}.reader-inspect-nav-btn[data-v-28128e4f]:disabled{opacity:.35;cursor:default}.reader-inspect-vars-panel[data-v-28128e4f]{flex:0 0 215px;flex-direction:column}.reader-inspect-log-panel[data-v-28128e4f],.reader-inspect-vars-panel[data-v-28128e4f]{background:var(--paper-0,#fffefa);border:1px solid var(--hairline,#e8ddc2);border-radius:8px;display:flex;min-height:0;overflow:hidden}.reader-inspect-log-panel[data-v-28128e4f]{flex:1 1 auto;flex-direction:column}.reader-inspect-panel-head[data-v-28128e4f]{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--paper-50,#fafaf7);border-bottom:1px solid var(--hairline,#e8ddc2);font-size:var(--fs-2xs);font-weight:600;color:var(--ink-700,#3a342b);text-transform:uppercase;letter-spacing:.05em}.reader-inspect-panel-badge[data-v-28128e4f]{background:var(--paper-200,#f0ede5);color:var(--ink-500,#6b6457);padding:1px 7px;border-radius:6px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:0;text-transform:none}.reader-inspect-log-scroll[data-v-28128e4f],.reader-inspect-vars-scroll[data-v-28128e4f]{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;font-family:var(--font-mono);font-size:var(--fs-2xs);padding:4px 0}.reader-inspect-var-row[data-v-28128e4f]{display:grid;grid-template-columns:1fr auto;padding:3px 10px;gap:8px;align-items:baseline;border-bottom:1px dashed var(--hairline,#e8ddc2)}.reader-inspect-var-row[data-v-28128e4f]:nth-child(odd){background:#00000005}.reader-inspect-var-name[data-v-28128e4f]{color:var(--ink-700,#3a342b)}.reader-inspect-var-name[data-v-28128e4f],.reader-inspect-var-value[data-v-28128e4f]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-inspect-var-value[data-v-28128e4f]{color:var(--brand-orange-deep,#b23a06)}.reader-inspect-var-value.is-num[data-v-28128e4f]{color:#1f6fcc}.reader-inspect-var-value.is-str[data-v-28128e4f]{color:#2f8c5a}.reader-inspect-var-value.is-bool[data-v-28128e4f]{color:#7a3fb3}.reader-inspect-vars-empty[data-v-28128e4f]{margin:12px 10px;color:var(--ink-500,#6b6457);font-style:italic;font-size:var(--fs-2xs);text-align:center}.reader-inspect-log-row[data-v-28128e4f]{display:grid;grid-template-columns:56px 1fr;padding:2px 8px;gap:8px;border-left:3px solid transparent;color:var(--ink-700,#3a342b);line-height:1.4;word-break:break-word;transition:background-color .7s ease-out,border-left-color .7s ease-out}.reader-inspect-log-row.is-goto[data-v-28128e4f]{border-left-color:#2d6cdf;background:#2d6cdf0f}.reader-inspect-log-row.is-event[data-v-28128e4f]{border-left-color:#2f8c5a;background:#2f8c5a0f}.reader-inspect-log-row.is-error[data-v-28128e4f]{border-left-color:#c0392b;background:#c0392b12;color:#6f2018}.reader-inspect-log-row.is-speech[data-v-28128e4f]{border-left-color:#b8861f;background:#b8861f12}.reader-inspect-log-row.is-fresh[data-v-28128e4f]{background:var(--paper-100,#fbf2df);border-left-color:var(--brand-orange,#ff6b1a)}@media(prefers-reduced-motion:reduce){.reader-inspect-log-row[data-v-28128e4f]{transition:none}}.reader-inspect-log-time[data-v-28128e4f]{color:var(--ink-500,#6b6457);font-weight:600}.reader-inspect-log-msg[data-v-28128e4f]{overflow-wrap:anywhere}.speech-match[data-v-28128e4f]{color:#2f8c5a;font-weight:700}.speech-miss[data-v-28128e4f]{color:#b3924a;text-decoration:line-through;opacity:.7}
