:root{color-scheme:light;--sg-bg:#f7f3e8;--sg-bg-soft:#efe8d8;--sg-linen:#fbf7ec;--sg-paper:#fffdf5;--sg-sage-50:#f6f7ed;--sg-sage-100:#eef3e7;--sg-sage-200:#dde8d4;--sg-sage-500:#b8c9ad;--sg-moss:#5f745a;--sg-moss-hover:#4f634b;--sg-walnut:#6b513c;--sg-ink:#2f2a23;--sg-muted:#675f53;--sg-border:rgba(72,82,62,0.14);--sg-border-strong:rgba(72,82,62,0.24);--sg-brass:#9e8755;--sg-plum:#5a4251;--sg-danger:#8c4a43;--sg-shadow:0 18px 50px rgba(55,58,46,0.12);--linen:var(--sg-bg);--paper:var(--sg-paper);--sage:var(--sg-sage-200);--sage-deep:var(--sg-sage-500);--moss:var(--sg-moss);--moss-deep:var(--sg-moss-hover);--walnut:var(--sg-walnut);--walnut-deep:var(--sg-walnut);--ink:var(--sg-ink);--muted:var(--sg-muted);--whisper:var(--sg-muted);--hairline:var(--sg-border-strong);--warning:var(--sg-brass);--success:var(--sg-moss);--error:var(--sg-danger)}:root[data-theme=dark]{color-scheme:dark;--sg-bg:#1c1d18;--sg-bg-soft:#25271f;--sg-linen:#25271f;--sg-paper:#2a2c24;--sg-sage-50:#232b1f;--sg-sage-100:#2c382c;--sg-sage-200:#3a4838;--sg-sage-500:#6f8166;--sg-moss:#8aa07e;--sg-moss-hover:#a3b893;--sg-walnut:#d4a679;--sg-ink:#ecead8;--sg-muted:#aaa68f;--sg-border:rgba(212,200,180,0.14);--sg-border-strong:rgba(212,200,180,0.24);--sg-brass:#d4b070;--sg-plum:#a888a0;--sg-danger:#d77565;--sg-shadow:0 18px 50px rgba(0,0,0,0.4)}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--sg-moss-hover);outline-offset:2px;border-radius:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}body,html{margin:0;padding:0;background:var(--linen);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Georgia,Times New Roman,serif;font-weight:600;color:var(--walnut-deep);margin-top:0;line-height:1.25}h1{font-size:1.75rem;margin-bottom:.75rem}h2{font-size:1.375rem;margin-bottom:.5rem}h3{font-size:1.125rem;margin-bottom:.375rem}a{color:var(--moss);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font:inherit;width:100%;background:var(--sg-paper);color:var(--sg-ink);border:1px solid var(--sg-border);border-radius:16px;padding:.85rem 1rem;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--sg-muted);opacity:.85}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sg-moss);box-shadow:0 0 0 3px rgba(95,116,90,.15)}.btn,button{font:inherit;cursor:pointer;border:none;font-weight:600;letter-spacing:.01em;transition:background .12s,box-shadow .12s,transform 80ms}.btn:active,button:active{transform:translateY(1px)}.btn-primary{background:var(--sg-moss);color:#fffdf5;border-radius:999px;padding:.85rem 1.625rem;font-weight:600;box-shadow:0 1px 2px rgba(20,28,22,.12)}.btn-primary:hover{background:var(--sg-moss-hover);color:#fffdf5;text-decoration:none;box-shadow:0 4px 14px rgba(95,116,90,.28)}.btn-primary:disabled{opacity:.55;cursor:default;box-shadow:none}.btn-secondary{background:rgba(244,239,229,.4);color:var(--sg-ink);border:1px solid var(--sg-border-strong);border-radius:999px;padding:.78rem 1.25rem}.btn-secondary:hover{background:rgba(233,240,227,.7);text-decoration:none}.btn-ghost{background:transparent;color:var(--sg-moss-hover);padding:.5rem 1rem;border-radius:999px}.btn-ghost:hover{background:var(--sg-sage-100)}.btn-danger{background:var(--sg-danger);color:var(--sg-paper);border-radius:999px;padding:.85rem 1.5rem}.btn-danger:hover{background:#6e3a36}.portal-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.portal-sidebar{background:var(--sg-sage-50);color:var(--sg-ink);padding:1.5rem 1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--sg-border-strong)}.portal-sidebar .brand{font-family:Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--sg-walnut);display:block;margin-bottom:2rem;padding-left:.75rem;text-decoration:none}.portal-sidebar nav a{display:block;color:var(--sg-ink);opacity:.78;padding:.5rem .75rem;border-radius:8px;margin-bottom:.125rem;font-size:.9375rem;transition:background 80ms,opacity 80ms}.portal-sidebar nav a:hover{background:rgba(72,82,62,.1);opacity:1;text-decoration:none}.portal-sidebar nav a.active{background:var(--sg-sage-200);opacity:1;font-weight:600;color:var(--sg-moss-hover);border-left:3px solid var(--sg-moss);padding-left:calc(.75rem - 3px)}.portal-sidebar .user-chip{margin-top:auto;padding:.75rem;background:var(--sg-paper);border:1px solid var(--sg-border-strong);border-radius:8px;font-size:.875rem;color:var(--sg-ink)}.portal-sidebar .user-chip a{color:var(--sg-muted);display:block;margin-top:.375rem;font-size:.8125rem;text-decoration:none}.portal-sidebar .user-chip a:hover{color:var(--sg-moss-hover);text-decoration:underline}.portal-main{padding:2.5rem 3rem;background:var(--sg-bg);min-height:100vh}.portal-main>h1{font-family:Georgia,Iowan Old Style,serif;font-size:1.75rem;font-weight:600;color:var(--sg-walnut);letter-spacing:-.01em;margin-bottom:.5rem}.portal-main>h1+p{color:var(--sg-muted);margin-bottom:2.5rem;font-size:.9375rem}.portal-section{max-width:880px}.portal-card{background:var(--sg-paper);border:1px solid var(--sg-border-strong);border-radius:10px;padding:1.5rem 1.75rem;margin-bottom:1.25rem;box-shadow:0 1px 3px rgba(20,28,22,.04)}.portal-card.portal-card-narrow{max-width:880px}.portal-card.library-book-card{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.portal-card.library-book-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,28,22,.08),0 2px 6px rgba(20,28,22,.04);border-color:var(--sg-moss-hover)}.portal-card h3{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sg-muted);margin:0 0 1rem;padding-bottom:.625rem}.nav-tabs,.portal-card h3{border-bottom:1px solid var(--sg-border)}.nav-tabs{display:flex;flex-wrap:wrap;gap:0 1.75rem;margin-bottom:1.5rem}.nav-tab{background:none;padding:.75rem 0;font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--sg-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 80ms,border-color 80ms;letter-spacing:0;text-decoration:none;display:inline-flex;align-items:center;gap:.375rem}.nav-tab:hover{color:var(--sg-ink)}.nav-tab.active{color:var(--sg-walnut);font-weight:600;border-bottom-color:var(--sg-walnut)}.nav-tab .count{font-size:.8125rem;font-weight:500;color:var(--sg-muted);background:var(--sg-sage-200);padding:.0625rem .5rem;border-radius:999px}.nav-tab.active .count{background:var(--sg-moss);color:#fffdf5}.tier-picker{background:var(--sg-paper);border:1px solid var(--sg-border-strong);border-radius:10px;padding:1.5rem 1.75rem 1.75rem;margin-bottom:1.25rem;max-width:880px}.tier-picker .picker-eyebrow{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--sg-muted);margin-bottom:.5rem}.tier-picker h3{font-family:Georgia,Iowan Old Style,serif;font-size:1.25rem;color:var(--sg-walnut);font-weight:600;margin:0 0 .375rem;padding:0;border:none;text-transform:none;letter-spacing:-.01em}.tier-picker .picker-lead{color:var(--sg-muted);font-size:.9375rem;margin:0 0 1.5rem}.tier-picker .tier-tabs{display:flex;flex-wrap:wrap;gap:0 1.75rem;border-bottom:1px solid var(--sg-border);margin-bottom:1.5rem}.tier-picker .tier-tab{background:none;padding:.75rem 0;font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--sg-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 80ms,border-color 80ms;letter-spacing:0}.tier-picker .tier-tab:hover{color:var(--sg-ink)}.tier-picker .tier-tab.active{color:var(--sg-walnut);font-weight:600;border-bottom-color:var(--sg-walnut)}.tier-picker .tier-detail{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.75rem;gap:.75rem}.tier-picker .tier-detail .price-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.tier-picker .tier-detail .price-row .price{font-family:Georgia,serif;font-size:1.5rem;color:var(--sg-walnut);font-weight:600}.tier-picker .tier-detail .price-row .cadence{font-size:.9375rem;color:var(--sg-muted)}.tier-picker .tier-detail p{color:var(--sg-ink);font-size:.9375rem;line-height:1.65;margin:0}.tier-picker .tier-detail .picker-cta{margin-top:.5rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:var(--sg-moss-hover);background:none;border:none;border-bottom:1px solid var(--sg-moss-hover);padding:.125rem 0;border-radius:0;cursor:pointer;align-self:flex-start;letter-spacing:0;font-family:inherit}.tier-picker .tier-detail .picker-cta:hover{color:var(--sg-moss);border-bottom-color:var(--sg-moss);background:none;box-shadow:none}.tier-picker .tier-detail .picker-cta:disabled{opacity:.5;cursor:default}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.kpi{background:var(--sg-paper);border:1px solid var(--sg-border-strong);border-radius:10px;padding:1rem 1.25rem;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(20,28,22,.04)}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sg-sage-500);opacity:.6}.kpi.kpi-good:before{background:var(--sg-moss);opacity:.7}.kpi.kpi-warning:before{background:var(--sg-brass);opacity:.7}.kpi.kpi-danger:before{background:var(--sg-danger);opacity:.7}.kpi .label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sg-muted);margin-bottom:.375rem;font-weight:600}.kpi .value{font-family:Georgia,serif;font-size:1.75rem;color:var(--sg-walnut);letter-spacing:-.01em;line-height:1.1}.onboarding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.25rem;gap:1.25rem;margin:1.5rem 0 2rem}.onboarding-step{background:var(--sg-paper);border:1px solid var(--sg-border-strong);border-radius:12px;padding:1.5rem 1.5rem 1.625rem;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(20,28,22,.05);display:flex;flex-direction:column}.onboarding-step:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--sg-moss);opacity:.75}.onboarding-step .step-num{position:absolute;top:1.25rem;right:1.25rem;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--sg-sage-100);color:var(--sg-moss-hover);font-family:Georgia,serif;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center}.onboarding-step h3{font-family:Georgia,serif;color:var(--sg-walnut);font-size:1.0625rem;margin:.25rem 2.5rem .625rem 0;letter-spacing:-.005em}.onboarding-step p{margin:0 0 1.125rem;color:var(--sg-muted);font-size:.9rem;line-height:1.55;flex-grow:1}.onboarding-step .btn-primary,.onboarding-step .btn-secondary{align-self:flex-start;font-size:.875rem;padding:.625rem 1.125rem}.ai-actions-panel{display:flex;flex-direction:column;gap:.875rem;background:var(--sg-paper);border:1px solid var(--sg-border);border-radius:10px;padding:1rem;max-height:100%;overflow-y:auto}.ai-actions-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--sg-border);margin-bottom:.5rem}.ai-actions-tabs button{background:none;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;color:var(--sg-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit}.ai-actions-tabs button.is-active{color:var(--sg-walnut);border-bottom-color:var(--sg-moss)}.ai-actions-tabs button:hover:not(.is-active){color:var(--sg-ink)}.ai-actions-list{display:flex;flex-direction:column;gap:.875rem}.ai-action-row{padding:.75rem 0;border-bottom:1px solid var(--sg-border)}.ai-action-row:last-child{border-bottom:none}.ai-action-row.is-disabled{opacity:.55}.ai-action-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem}.ai-action-meta{display:flex;align-items:center;gap:.625rem}.ai-action-meta strong{font-size:.875rem;color:var(--sg-ink)}.ai-action-actions{display:flex;align-items:center;gap:.5rem}.ai-action-desc{margin:0;font-size:.8125rem;color:var(--sg-muted);line-height:1.45}.ai-action-form{margin-top:.625rem;gap:.625rem;padding:.625rem .75rem;background:var(--sg-sage-50,rgba(213,226,196,.18));border-radius:6px}.ai-action-field,.ai-action-form{display:flex;flex-direction:column}.ai-action-field{gap:.25rem;font-size:.8125rem;color:var(--sg-ink)}.ai-action-field span{font-weight:600}.ai-action-field input,.ai-action-field textarea{border:1px solid var(--sg-border);border-radius:4px;padding:.375rem .5rem;font-family:inherit;font-size:.875rem;background:#fff;resize:vertical}.ai-action-req{color:var(--sg-danger)}.ai-action-result{margin-top:.625rem;padding:.625rem .75rem;background:var(--sg-sage-50,rgba(213,226,196,.18));border-radius:6px}.ai-action-result.is-error{background:rgba(184,69,58,.08)}.ai-action-result summary{cursor:pointer;font-size:.8125rem;color:var(--sg-ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-action-result summary:hover{color:var(--sg-moss-hover)}.link-list{list-style:none;padding:0;margin:0}.link-list li{border-top:1px solid var(--sg-border)}.link-list li:first-child{border-top:none}.link-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 0;color:var(--sg-ink);font-weight:500;font-size:.9375rem;text-decoration:none;transition:color 80ms}.link-list a:after{content:"→";color:var(--sg-moss);opacity:.6;font-size:1.125rem;transition:opacity 80ms,transform 80ms}.link-list a:hover{color:var(--sg-moss-hover);text-decoration:none}.link-list a:hover:after{opacity:1;transform:translateX(2px)}.text-cta{display:inline-flex;align-items:center;gap:.25rem;font-size:.9375rem;font-weight:600;color:var(--sg-moss-hover);background:none;border:none;padding:.125rem 0;border-radius:0;cursor:pointer;letter-spacing:0;font-family:inherit;text-decoration:underline;-webkit-text-decoration-color:rgba(95,116,90,.4);text-decoration-color:rgba(95,116,90,.4);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .12s,-webkit-text-decoration-color .12s;transition:color .12s,text-decoration-color .12s;transition:color .12s,text-decoration-color .12s,-webkit-text-decoration-color .12s}.text-cta:after{content:"→";font-weight:400;opacity:.55;transition:opacity .12s,transform .12s}.text-cta:hover{color:var(--sg-moss);background:none;-webkit-text-decoration-color:var(--sg-moss);text-decoration-color:var(--sg-moss)}.text-cta:hover:after{opacity:1;transform:translateX(2px)}.text-cta:disabled{opacity:.5;cursor:default}.text-cta:disabled:after{transform:none}.text-cta.text-cta-plain:after{content:none}.portal-card-compact{max-width:540px}.portal-card-compact.is-centered{margin-left:auto;margin-right:auto}.compact-card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,480px));justify-content:center;grid-gap:1.25rem;gap:1.25rem;margin-bottom:2rem}.kpi .delta{font-size:.8125rem;margin-top:.25rem}.kpi .delta.positive{color:var(--moss)}.kpi .delta.negative{color:var(--warning)}.cap-bar{height:8px;background:var(--sg-sage-200);border-radius:999px;overflow:hidden;margin:.5rem 0;border:1px solid var(--sg-border)}.cap-bar .fill{height:100%;background:linear-gradient(90deg,var(--sg-moss),var(--sg-moss-hover));transition:width .2s;border-radius:999px 0 0 999px}.cap-bar .fill.warning{background:linear-gradient(90deg,var(--sg-brass),#b89858)}.cap-bar .fill.critical{background:linear-gradient(90deg,var(--sg-danger),#6e3a36)}.is-featured{border:2px solid var(--sg-moss)!important;position:relative}.is-featured:after{content:"Most popular";position:absolute;top:-.625rem;left:1rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sg-moss-hover);background:var(--sg-paper);padding:.125rem .5rem;border:1px solid var(--sg-moss);border-radius:999px}table.portal-table{width:100%;border-collapse:collapse;font-size:.9375rem}.portal-table td,.portal-table th{padding:.625rem .75rem;border-bottom:1px solid var(--hairline);text-align:left}.portal-table th{background:var(--linen);color:var(--walnut-deep);font-size:.8125rem}.badge,.portal-table th{font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge{display:inline-block;padding:.125rem .625rem;border-radius:12px;font-size:.75rem}.badge-success{background:var(--sage);color:var(--moss-deep)}.badge-warning{background:#F5E0CC;color:var(--warning)}.badge-neutral{background:var(--hairline);color:var(--muted)}.badge-error{background:#F8D8D8;color:var(--error)}.auth-card{max-width:440px;margin:4rem auto;padding:2.25rem 2rem 2rem;background:var(--sg-paper);border-radius:14px;border:1px solid rgba(95,116,90,.22);box-shadow:0 24px 60px rgba(20,28,22,.18),0 2px 6px rgba(20,28,22,.06)}.auth-card h1{text-align:center;margin-bottom:.375rem;font-size:1.5rem;color:var(--sg-walnut)}.auth-card .subtitle{text-align:center;color:var(--sg-muted);margin-bottom:1.75rem;font-size:.9375rem}.auth-card .field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.125rem}.auth-card label{font-weight:600;font-size:.8125rem;color:var(--sg-ink);letter-spacing:.01em;margin:0}.auth-card .btn-primary{width:100%;margin-top:.75rem;padding:.95rem 1.5rem}.auth-card .alt-link{margin-top:1.25rem;color:var(--sg-muted)}.auth-card .alt-link a{color:var(--sg-moss-hover);text-decoration:none;font-weight:600}.auth-card .alt-link a:hover{text-decoration:underline}.auth-card .alt-link{text-align:center;margin-top:1.5rem;font-size:.9375rem;color:var(--muted)}@media (max-width:768px){.portal-layout{grid-template-columns:1fr}.portal-sidebar{position:static;height:auto}.portal-main{padding:1.5rem}}.sg-banner-error,.sg-banner-info,.sg-banner-warning{border-radius:8px;padding:.75rem 1rem;font-size:.875rem;line-height:1.5;border:1px solid transparent}.sg-banner-warning{background:#fff5d6;border-color:#e8d196;color:#5b4225}:root[data-theme=dark] .sg-banner-warning{background:rgba(212,176,112,.12);border-color:rgba(212,176,112,.3);color:#e8c98a}.sg-banner-error{background:#f8d8d8;border-color:#e5b8b8;color:var(--sg-danger)}:root[data-theme=dark] .sg-banner-error{background:rgba(215,117,101,.15);border-color:rgba(215,117,101,.35);color:#ec9788}.sg-banner-info{background:var(--sg-sage-50);border-color:var(--sg-border-strong);color:var(--sg-ink)}.wb-titlebar{display:flex;align-items:center;gap:1rem;padding:.625rem 1.25rem;background:var(--sg-sage-50);border-bottom:1px solid var(--sg-border-strong);flex-shrink:0}.wb-titlebar-back{color:var(--sg-muted);text-decoration:none;font-size:.875rem;display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:6px;transition:background .1s,color .1s}.wb-titlebar-back:hover{background:var(--sg-sage-100);color:var(--sg-walnut)}.wb-titlebar-title{flex:1 1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.wb-titlebar-eyebrow{font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sg-muted);font-weight:600}.wb-titlebar-book-title{font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-size:1.125rem;font-weight:600;color:var(--sg-walnut);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-titlebar-pills{gap:.5rem;flex-shrink:0}.wb-pill,.wb-titlebar-pills{display:inline-flex;align-items:center}.wb-pill{gap:.375rem;padding:.25rem .625rem;background:var(--sg-paper);border:1px solid var(--sg-border);border-radius:999px;font-size:.75rem;color:var(--sg-muted);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap}.wb-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.wb-pill-dot--idle{background:var(--sg-muted)}.wb-pill-dot--saving{background:var(--sg-brass);animation:wb-pulse 1.2s ease-in-out infinite}.wb-pill-dot--saved{background:var(--sg-moss)}.wb-pill-dot--error{background:var(--sg-danger)}@keyframes wb-pulse{0%,to{opacity:.5}50%{opacity:1}}.wb-pill-tier{background:var(--sg-sage-100);color:var(--sg-moss-hover);font-weight:600;border-color:var(--sg-sage-200)}.wb-paper{max-width:760px;margin:2rem auto;background:var(--sg-paper);border:1px solid var(--sg-border);border-radius:10px;box-shadow:0 10px 30px rgba(20,28,22,.06),0 2px 6px rgba(20,28,22,.04);padding:3rem 3.5rem;min-height:calc(100vh - 200px)}.wb-paper .ProseMirror{font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-size:1.0625rem;line-height:1.65;color:var(--sg-ink);outline:none;min-height:60vh}.wb-paper .ProseMirror p{margin:0 0 1.25em}.wb-paper .ProseMirror h1,.wb-paper .ProseMirror h2,.wb-paper .ProseMirror h3{font-family:Georgia,Iowan Old Style,serif;color:var(--sg-walnut);margin-top:1.5em;margin-bottom:.5em}.wb-paper .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--sg-muted);opacity:.6;float:left;height:0;pointer-events:none}@media (max-width:820px){.wb-paper{margin:1rem;padding:1.5rem;max-width:none}.wb-titlebar{padding:.5rem .875rem}.wb-titlebar-pills{display:none}}.book-wizard{max-width:980px;margin:2.5rem auto;display:grid;grid-template-columns:240px 1fr;grid-gap:1.75rem;gap:1.75rem;align-items:start}.book-wizard .step-rail{background:var(--sg-sage-50);border:1px solid var(--sg-border);border-radius:14px;padding:1.5rem 1.25rem;position:-webkit-sticky;position:sticky;top:1.5rem}.book-wizard .step-rail h2{font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sg-muted);font-weight:700;margin:0 0 1rem}.book-wizard .step-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.875rem;gap:.875rem}.book-wizard .step-list li{display:grid;grid-template-columns:26px 1fr;grid-gap:.625rem;gap:.625rem;align-items:start;font-size:.875rem;color:var(--sg-muted);line-height:1.4}.book-wizard .step-list li.is-current{color:var(--sg-ink);font-weight:600}.book-wizard .step-list li.is-done{color:var(--sg-moss-hover)}.book-wizard .step-marker{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--sg-border-strong);background:var(--sg-paper);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--sg-muted);font-family:Georgia,Times New Roman,serif}.book-wizard .step-list li.is-current .step-marker,.book-wizard .step-list li.is-done .step-marker{border-color:var(--sg-moss-hover);background:var(--sg-moss-hover);color:var(--sg-paper)}.book-wizard .step-body{background:var(--sg-paper);border:1px solid var(--sg-border);border-radius:14px;padding:2rem 2.25rem 1.75rem;box-shadow:0 18px 50px rgba(20,28,22,.08),0 2px 6px rgba(20,28,22,.04);min-height:480px;display:flex;flex-direction:column}.book-wizard .step-eyebrow{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sg-moss-hover);font-weight:700;margin:0 0 .5rem;font-family:-apple-system,Segoe UI,sans-serif}.book-wizard .step-body h1{text-align:left;margin:0 0 .5rem;font-size:1.625rem;color:var(--sg-walnut)}.book-wizard .step-body .lede{color:var(--sg-muted);font-size:.9375rem;margin:0 0 1.75rem}.book-wizard .step-body .fields{display:grid;grid-gap:1.125rem;gap:1.125rem;margin-bottom:1.5rem}.book-wizard .field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.book-wizard label{font-weight:600;font-size:.8125rem;color:var(--sg-ink);margin-bottom:.375rem;display:block}.book-wizard input[type=file],.book-wizard input[type=password],.book-wizard input[type=text],.book-wizard select,.book-wizard textarea{width:100%;padding:.6875rem .875rem;border-radius:8px;border:1px solid var(--sg-border-strong);background:var(--sg-paper);color:var(--sg-ink);font:inherit;font-size:.9375rem;transition:border-color .12s ease}.book-wizard textarea{min-height:96px;resize:vertical}.book-wizard input:focus,.book-wizard select:focus,.book-wizard textarea:focus{outline:none;border-color:var(--sg-moss-hover);box-shadow:0 0 0 3px rgba(95,116,90,.15)}.book-wizard .hint{font-size:.75rem;color:var(--sg-muted);margin:.3125rem 0 0}.book-wizard .choice-tiles{display:grid;grid-gap:1rem;gap:1rem;margin-top:.5rem}.book-wizard .choice-tile{display:grid;grid-template-columns:56px 1fr;align-items:center;grid-gap:1.125rem;gap:1.125rem;padding:1.25rem 1.5rem;border-radius:12px;border:1.5px solid var(--sg-border-strong);background:var(--sg-paper);cursor:pointer;text-align:left;font:inherit;color:var(--sg-ink);transition:border-color .12s ease,background .12s ease,transform .06s ease}.book-wizard .choice-tile:hover{border-color:var(--sg-moss-hover);background:var(--sg-sage-50)}.book-wizard .choice-tile.is-selected{border-color:var(--sg-moss-hover);background:var(--sg-sage-100)}.book-wizard .choice-tile .tile-glyph{width:44px;height:44px;border-radius:50%;background:var(--sg-sage-100);display:flex;align-items:center;justify-content:center;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;color:var(--sg-moss-hover);font-weight:700}.book-wizard .choice-tile.is-selected .tile-glyph{background:var(--sg-moss-hover);color:var(--sg-paper)}.book-wizard .choice-tile strong{display:block;font-size:1rem;margin-bottom:.25rem;color:var(--sg-walnut);font-family:Georgia,serif;font-weight:600}.book-wizard .choice-tile .tile-body{font-size:.875rem;color:var(--sg-muted);line-height:1.5}.book-wizard .pill-row{display:flex;flex-wrap:wrap;gap:.5rem}.book-wizard .pill{padding:.4375rem .875rem;border-radius:999px;border:1.5px solid var(--sg-border-strong);background:var(--sg-paper);color:var(--sg-ink);font:inherit;font-size:.8125rem;cursor:pointer;transition:border-color .12s,background .12s}.book-wizard .pill.is-selected,.book-wizard .pill:hover{border-color:var(--sg-moss-hover)}.book-wizard .pill.is-selected{background:var(--sg-moss-hover);color:var(--sg-paper)}.book-wizard .spice-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.5rem;gap:.5rem}.book-wizard .spice-cell{padding:.625rem .5rem;border-radius:8px;border:1.5px solid var(--sg-border-strong);background:var(--sg-paper);cursor:pointer;text-align:center;font:inherit;transition:border-color .12s,background .12s}.book-wizard .spice-cell:hover{border-color:var(--sg-moss-hover)}.book-wizard .spice-cell.is-selected{border-color:var(--sg-moss-hover);background:var(--sg-sage-100)}.book-wizard .spice-cell .num{font-family:Georgia,serif;font-size:1.125rem;color:var(--sg-walnut);font-weight:600}.book-wizard .spice-cell .lbl{display:block;font-size:.6875rem;color:var(--sg-muted);margin-top:.125rem}.book-wizard .file-zone{border:1.5px dashed var(--sg-border-strong);border-radius:12px;padding:1.5rem 1.25rem;text-align:center;background:var(--sg-sage-50);cursor:pointer;transition:border-color .12s}.book-wizard .file-zone:hover{border-color:var(--sg-moss-hover)}.book-wizard .file-zone strong{display:block;color:var(--sg-walnut);font-family:Georgia,serif;font-size:1rem;margin-bottom:.25rem}.book-wizard .file-zone .hint{margin:0}.book-wizard .file-picked{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--sg-sage-100);border-radius:10px;margin-top:.625rem;font-size:.875rem}.book-wizard .file-picked .file-name{font-weight:600;color:var(--sg-walnut)}.book-wizard .step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--sg-border);gap:.75rem}.book-wizard .step-actions .ghost{background:none;border:none;color:var(--sg-muted);font:inherit;font-size:.9375rem;cursor:pointer;padding:.5rem .75rem}.book-wizard .step-actions .ghost:hover{color:var(--sg-walnut)}.book-wizard .step-actions .primary{background:var(--sg-moss);color:var(--sg-paper);border:1px solid var(--sg-moss-hover);border-radius:10px;padding:.6875rem 1.5rem;font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .12s}.book-wizard .step-actions .primary:hover{background:var(--sg-moss-hover)}.book-wizard .step-actions .primary:disabled{opacity:.55;cursor:not-allowed}.book-wizard .err{background:#f8d8d8;color:var(--sg-danger);border-radius:8px;padding:.625rem .875rem;font-size:.875rem;margin:0 0 1rem}.book-wizard .creating{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;text-align:center;padding:2rem 1rem}.book-wizard .creating .spinner{width:56px;height:56px;border:4px solid var(--sg-border);border-top-color:var(--sg-moss-hover);border-radius:50%;animation:book-wizard-spin .9s linear infinite;margin-bottom:1.25rem}@keyframes book-wizard-spin{to{transform:rotate(1turn)}}@media (max-width:820px){.book-wizard{grid-template-columns:1fr;margin:1.5rem 1rem}.book-wizard .step-rail{position:static}.book-wizard .field-row{grid-template-columns:1fr}.book-wizard .spice-grid{grid-template-columns:repeat(5,1fr)}.book-wizard .step-body{padding:1.5rem 1.25rem 1.25rem;min-height:auto}}