:root{--paper-white: #faf9f6;--ink-gray: #2c2c2c;--wood: #8b6f4e;--accent-blue: #5b8db8;--highlight: #f5f1e8;--divider: #e5e0d8}*{box-sizing:border-box}body{margin:0;background:#f3efe7;color:var(--ink-gray);font-family:Georgia,Songti SC,STSong,"Noto Serif SC",serif}button,input,textarea,select{font:inherit}.workshop-shell[data-v-54465c50]{position:relative;min-height:100vh;background:radial-gradient(circle at top left,rgba(139,111,78,.16),transparent 26%),linear-gradient(180deg,#f6f1e8,#f2ece1)}.workshop-shell__grain[data-v-54465c50]{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.26;pointer-events:none;background-image:linear-gradient(#ffffff47,#ffffff47),radial-gradient(rgba(44,44,44,.05) .7px,transparent .7px);background-size:auto,8px 8px}.confirm-overlay[data-v-54465c50]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#2c2c2c3d}.confirm-dialog[data-v-54465c50]{width:min(520px,100%);padding:24px 22px;display:grid;gap:16px;background:#faf9f6fa;border:1px solid rgba(229,224,216,.95);border-radius:16px;box-shadow:0 18px 48px #2c2c2c1f}.confirm-dialog h2[data-v-54465c50]{margin:0;font-size:clamp(24px,3vw,32px);line-height:1.2}.loading-screen[data-v-54465c50],.login-screen[data-v-54465c50]{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px}.login-screen--admin[data-v-54465c50]{background:linear-gradient(180deg,#f5f1e8,#eee6d8)}.ink-loader[data-v-54465c50]{width:72px;height:72px;border-radius:999px;background:radial-gradient(circle,rgba(91,141,184,.65) 0%,rgba(91,141,184,.16) 48%,transparent 72%);animation:ink-pulse-54465c50 1.6s ease infinite}.login-screen__backdrop[data-v-54465c50]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#faf9f66b,#faf9f66b),url(https://images.unsplash.com/photo-1516979187457-637abb4f9353?auto=format&fit=crop&w=1600&q=80) center/cover;filter:saturate(.82)}.login-card[data-v-54465c50],.paper-card[data-v-54465c50],.composer-card[data-v-54465c50]{position:relative;z-index:1;background:#faf9f6f5;border:1px solid rgba(229,224,216,.95);border-radius:12px;box-shadow:0 2px 8px #0000000a}.login-card[data-v-54465c50]{width:min(520px,100%);padding:32px 28px;display:grid;gap:18px}.login-card__eyebrow[data-v-54465c50],.story-section__eyebrow[data-v-54465c50],.brand-mark__eyebrow[data-v-54465c50]{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--wood)}.login-card h1[data-v-54465c50],.story-section h2[data-v-54465c50]{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.12;font-weight:600}.login-card__copy[data-v-54465c50],.story-paragraph[data-v-54465c50],.story-note[data-v-54465c50],.composer-card__actions span[data-v-54465c50]{line-height:1.8}.story-paragraph[data-v-54465c50]{white-space:pre-wrap;word-break:break-word}.field[data-v-54465c50]{display:grid;gap:8px}.field span[data-v-54465c50]{font-size:14px;color:#2c2c2cbd}.field-hint[data-v-54465c50]{color:#2c2c2c8f;line-height:1.6}.field input[data-v-54465c50],.field textarea[data-v-54465c50],.field select[data-v-54465c50],.composer-card textarea[data-v-54465c50]{width:100%;border:1px solid var(--divider);border-radius:16px;background:#fffdf9;padding:14px 16px;color:var(--ink-gray)}.primary-button[data-v-54465c50],.secondary-button[data-v-54465c50],.chapter-nav__item[data-v-54465c50],.avatar-button[data-v-54465c50],.link-button[data-v-54465c50]{border-radius:999px;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary-button[data-v-54465c50],.secondary-button[data-v-54465c50],.chapter-nav__item[data-v-54465c50],.link-button[data-v-54465c50]{cursor:pointer}.primary-button[data-v-54465c50]:hover,.secondary-button[data-v-54465c50]:hover,.chapter-nav__item[data-v-54465c50]:hover,.paper-card--button[data-v-54465c50]:hover,.link-button[data-v-54465c50]:hover{transform:scale(1.02)}.primary-button[data-v-54465c50]{padding:12px 20px;background:linear-gradient(180deg,#8b6f4e,#7b6143);color:#fffdf8;box-shadow:inset 0 1px #ffffff29}.secondary-button[data-v-54465c50],.link-button[data-v-54465c50]{padding:12px 20px;background:#f5f1e8;color:var(--ink-gray);border-color:#8b6f4e2e}.link-button[data-v-54465c50]{justify-self:start}.feedback[data-v-54465c50]{margin:0;padding:12px 14px;border-radius:12px}.feedback-error[data-v-54465c50]{background:#a65c4f1f;color:#8a4f43;border:1px solid rgba(166,92,79,.2)}.feedback-success[data-v-54465c50]{background:#6894721f;color:#3e7350;border:1px solid rgba(104,148,114,.2)}.page-frame[data-v-54465c50],.admin-frame[data-v-54465c50]{position:relative;z-index:1;min-height:100vh;padding:20px 28px 34px}.topbar[data-v-54465c50]{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.brand-mark[data-v-54465c50]{display:flex;align-items:center;gap:14px}.brand-mark__seal[data-v-54465c50]{width:42px;height:42px;border-radius:999px;display:inline-grid;place-items:center;background:#8b6f4e1f;color:var(--wood);font-weight:700}.topbar__user[data-v-54465c50]{display:flex;align-items:center;gap:12px}.topbar__name[data-v-54465c50]{font-size:14px;color:#2c2c2cb8}.avatar-button[data-v-54465c50]{width:42px;height:42px;padding:0;background:var(--highlight);border-color:#8b6f4e29;overflow:hidden}.avatar-button img[data-v-54465c50]{width:100%;height:100%;object-fit:cover}.book-layout[data-v-54465c50],.admin-layout[data-v-54465c50]{display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px;align-items:start}.chapter-nav[data-v-54465c50]{position:sticky;top:24px;display:grid;gap:8px;padding-top:14px}.chapter-nav__item[data-v-54465c50]{text-align:left;padding:10px 0 10px 18px;background:transparent;color:#2c2c2ca3;border-left:2px solid transparent}.chapter-nav__item.is-active[data-v-54465c50]{color:var(--ink-gray);border-left-color:var(--wood);background:linear-gradient(90deg,rgba(245,241,232,.95),transparent)}.story-sheet[data-v-54465c50]{max-width:980px;min-height:calc(100vh - 120px);display:grid;align-content:start;gap:24px;padding:22px 28px 26px;background:#faf9f6f5;border-radius:20px;border:1px solid rgba(229,224,216,.92);box-shadow:0 10px 40px #7c664d0d}.story-section[data-v-54465c50]{display:grid;gap:18px;animation:page-slide-54465c50 .32s ease}.paper-card[data-v-54465c50]{padding:20px;display:grid;gap:16px}.paper-card__head[data-v-54465c50],.composer-card__actions[data-v-54465c50],.log-head[data-v-54465c50],.button-row[data-v-54465c50]{display:flex;justify-content:space-between;gap:18px;align-items:center}.paper-card__head h3[data-v-54465c50],.paper-card h3[data-v-54465c50]{margin:0;font-size:24px}.paper-card p[data-v-54465c50]{margin:0}.paper-card--button[data-v-54465c50]{width:100%;text-align:left;cursor:pointer}.paper-card--button.is-active[data-v-54465c50]{background:var(--highlight)}.highlight-strip[data-v-54465c50]{padding:16px;border-radius:12px;background:var(--highlight)}.card-stack[data-v-54465c50],.timeline[data-v-54465c50],.feature-route-stack[data-v-54465c50]{display:grid;gap:14px}.feature-route-card__key[data-v-54465c50]{color:#2c2c2c85;font-size:13px}.rule-summary[data-v-54465c50]{padding:14px 16px;border-radius:12px;background:#f5f1e8cc;border:1px solid rgba(229,224,216,.9)}.paper-card--portrait[data-v-54465c50]{grid-template-columns:64px minmax(0,1fr);align-items:center}.portrait-badge[data-v-54465c50]{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle at top left,#5b8db833,#8b6f4e29);color:var(--wood);font-size:24px}.timeline__item[data-v-54465c50]{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px}.timeline__dot[data-v-54465c50]{width:10px;height:10px;margin-top:10px;border-radius:999px;background:var(--accent-blue);box-shadow:0 0 0 6px #5b8db814}.timeline__content[data-v-54465c50]{position:relative;padding-left:6px}.timeline__content[data-v-54465c50]:before{content:"";position:absolute;left:-13px;top:18px;bottom:-28px;width:2px;background:linear-gradient(180deg,#5b8db847,#8b6f4e1a)}.timeline__item:last-child .timeline__content[data-v-54465c50]:before{display:none}.timeline__label[data-v-54465c50]{margin:0 0 6px;color:var(--wood);font-size:14px}.composer-card[data-v-54465c50]{padding:18px;display:grid;gap:14px}.composer-card--sticky[data-v-54465c50]{position:sticky;bottom:12px;z-index:3}.story-section--timeline[data-v-54465c50]{min-height:0}.page-footer[data-v-54465c50]{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid var(--divider);color:#2c2c2cad}.workshop-grid[data-v-54465c50]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rule-layout[data-v-54465c50]{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}@keyframes ink-pulse-54465c50{0%,to{transform:scale(.84);opacity:.5}50%{transform:scale(1.08);opacity:1}}@keyframes page-slide-54465c50{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media(max-width:960px){.book-layout[data-v-54465c50],.admin-layout[data-v-54465c50],.rule-layout[data-v-54465c50],.workshop-grid[data-v-54465c50]{grid-template-columns:1fr;gap:18px}.chapter-nav[data-v-54465c50]{position:static;grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto;padding-top:0}.chapter-nav__item[data-v-54465c50]{white-space:nowrap;border-left:none;border-bottom:2px solid transparent;padding:8px 6px}.chapter-nav__item.is-active[data-v-54465c50]{border-bottom-color:var(--wood);background:transparent}}@media(max-width:640px){.page-frame[data-v-54465c50],.admin-frame[data-v-54465c50]{padding:14px 14px 28px}.topbar[data-v-54465c50],.paper-card__head[data-v-54465c50],.composer-card__actions[data-v-54465c50],.log-head[data-v-54465c50],.topbar__user[data-v-54465c50]{display:grid;justify-content:stretch}.story-sheet[data-v-54465c50]{padding:18px 16px 22px}.story-section--timeline[data-v-54465c50]{min-height:calc(100vh - 220px);grid-template-rows:auto auto minmax(0,1fr) auto}.timeline[data-v-54465c50]{overflow:auto;padding-bottom:10px}.composer-card--sticky[data-v-54465c50]{bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 6px 18px #7c664d14}.composer-card--sticky textarea[data-v-54465c50]{min-height:88px}.login-card[data-v-54465c50]{padding:24px 18px}}
