:root{--bg:#f4f7fb;--panel:#fff;--ink:#182235;--muted:#68748a;--line:#dfe7f3;--brand:#2d5bff;--brand-dark:#1732a6;--danger:#b42318;--success:#027a48}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;border-radius:12px;background:var(--brand);color:#fff;padding:12px 16px;cursor:pointer;font-weight:700}button:disabled{opacity:.65;cursor:not-allowed}button.ghost{background:#eef2ff;color:var(--brand-dark)}button.secondary{background:#101828}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}textarea{min-height:280px;resize:vertical}label{grid-gap:8px;gap:8px;font-weight:700;color:#344054}.hero,label{display:grid}.hero{min-height:100vh;grid-template-columns:1.1fr .9fr;grid-gap:32px;gap:32px;align-items:center;padding:7vw;background:radial-gradient(circle at top right,#d9e2ff,transparent 34%),var(--bg)}.hero h1{font-size:clamp(42px,7vw,84px);line-height:.95;margin:0 0 24px;letter-spacing:-.06em}.hero p{font-size:1.2rem;color:var(--muted);line-height:1.7;max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-card{background:var(--panel);border:1px solid var(--line);border-radius:32px;padding:30px;box-shadow:0 24px 60px rgba(16,24,40,.08)}.hero-card ul{padding-left:20px;color:var(--muted);line-height:1.9}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px}.auth-page .panel{width:min(100%,520px)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 40px rgba(16,24,40,.06)}.form,.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;grid-gap:10px;gap:10px}.card h3,.card p{margin:0}.card p{color:var(--muted);line-height:1.55}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:#101828;color:#fff;padding:24px;display:flex;flex-direction:column;gap:22px}.brand{font-size:1.5rem;font-weight:900;letter-spacing:-.04em}.user-card{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);padding:14px;border-radius:16px;display:grid;grid-gap:4px;gap:4px}.user-card span{color:#c7d7fe;font-size:.9rem}.sidebar nav{display:grid;grid-gap:8px;gap:8px}.sidebar nav a{padding:12px 14px;border-radius:12px;color:#d0d5dd}.sidebar nav a.active,.sidebar nav a:hover{background:hsla(0,0%,100%,.1);color:#fff}.content{padding:34px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{margin:0;letter-spacing:-.04em}.page-head p{margin:8px 0 0;color:var(--muted)}.badge{display:inline-flex;width:max-content;align-items:center;padding:5px 9px;border-radius:999px;font-weight:800;font-size:.78rem;background:#eef2ff;color:var(--brand-dark)}.status-active,.success{color:var(--success)}.status-pending{color:#b54708}.danger,.status-rejected,.status-suspended{color:var(--danger)}.muted{color:var(--muted)}.centered{min-height:100vh;display:grid;place-items:center;padding:24px}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.table td,.table th{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}.table th{background:#f8fafc;color:#475467}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.editor-layout{display:grid;grid-template-columns:1fr 360px;grid-gap:18px;gap:18px;align-items:start}.reader-frame{width:100%;min-height:75vh;border:1px solid var(--line);border-radius:20px;background:#fff}.preview{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff;min-height:200px}@media (max-width:900px){.app-shell,.editor-layout,.grid.three,.grid.two,.hero{grid-template-columns:1fr}.sidebar{position:static;height:auto}.content{padding:20px}}.editor-studio-page{display:grid;grid-gap:18px;gap:18px}.studio-head{align-items:center}.studio-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge-soft{background:#eff6ff;color:#1d4ed8}.studio-grid{display:grid;grid-template-columns:320px minmax(0,1fr) 360px;grid-gap:18px;gap:18px;align-items:start}.studio-inspector,.studio-resource-panel,.studio-sidebar,.studio-workbench{position:-webkit-sticky;position:sticky;top:18px}.studio-inspector,.studio-sidebar{max-height:calc(100vh - 52px);overflow:auto}.studio-main{display:grid;grid-gap:18px;gap:18px}.studio-block{display:grid;grid-gap:12px;gap:12px}.studio-eyebrow{margin:0;color:#2146d0;font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.compact-grid input,.compact-grid select{min-width:0}.outline-tree{display:grid;grid-gap:12px;gap:12px}.outline-chapter{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fbfcfe}.outline-chapter,.outline-heading{display:grid;grid-gap:10px;gap:10px}.outline-heading input{font-weight:800}.outline-sections{display:grid;grid-gap:8px;gap:8px}.outline-section{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.outline-section.active .outline-select{border-color:#bfdbfe;background:#eff6ff}.outline-select{width:100%;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);padding:10px 12px;border-radius:12px;display:grid;grid-gap:4px;gap:4px}.outline-select small{color:var(--muted)}button.small{padding:10px 12px;font-size:.86rem}button.tiny{padding:8px 10px;font-size:.86rem}button.active-chip{background:#dbeafe;color:#1d4ed8}.studio-workbench-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.studio-workbench-head h2{margin:2px 0 0}.node-title-input{min-width:240px}.studio-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.studio-editor-surface{min-height:560px;border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;outline:none;line-height:1.75}.studio-editor-surface:focus{border-color:#98a2ff;box-shadow:0 0 0 4px rgba(45,91,255,.08)}.studio-editor-surface h1,.studio-editor-surface h2,.studio-editor-surface h3{line-height:1.2}.studio-editor-surface .nm-activity,.studio-editor-surface .nm-note,.studio-editor-surface .nm-theorem,.studio-editor-surface .nm-warning{border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:16px 0}.studio-editor-surface .nm-note{background:#eff6ff;border-color:#bfdbfe}.studio-editor-surface .nm-activity{background:#f0fdf4;border-color:#86efac}.studio-editor-surface .nm-theorem{background:#fefce8;border-color:#fde68a}.studio-editor-surface .nm-warning{background:#fef2f2;border-color:#fecaca}.studio-editor-surface .nm-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.studio-editor-surface iframe{width:100%;min-height:360px;border:1px solid var(--line);border-radius:14px;background:#fff}.studio-source{min-height:560px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.studio-resource-tabs{display:flex;gap:8px;flex-wrap:wrap}.resource-stack{display:grid;grid-gap:12px;gap:12px}.resource-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-gap:4px;gap:4px;text-align:left}.resource-card span{color:var(--muted);font-size:.9rem}.resource-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;padding:12px}.resource-row div{display:grid;grid-gap:4px;gap:4px}.resource-row small{color:var(--muted)}.studio-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.stat-card{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-gap:4px;gap:4px}.stat-card strong{font-size:1.25rem}.stat-card span{color:var(--muted);font-size:.84rem}.activity-item{display:grid;grid-gap:4px;gap:4px;padding:10px 0;border-top:1px dashed var(--line)}.activity-item:first-child{border-top:0;padding-top:0}.activity-item small{color:var(--muted)}.preview-shell{position:-webkit-sticky;position:sticky;top:18px}.preview-editor{border:1px solid var(--line);border-radius:18px;background:#f8fafc;max-height:72vh;overflow:auto}.nm-preview-book{display:grid;grid-gap:16px;gap:16px;padding:14px}.nm-preview-book.theme-kids .nm-preview-cover{background:linear-gradient(135deg,#fb923c,#ea580c)}.nm-preview-book.theme-classic .nm-preview-cover{background:linear-gradient(135deg,#5b3c1f,#8b5e34)}.nm-preview-cover{border-radius:20px;padding:24px;background:linear-gradient(135deg,#101828,#2146d0);color:#fff}.nm-preview-cover h1{margin:10px 0 6px;font-size:clamp(28px,4vw,42px);line-height:1}.nm-badge{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.35);font-weight:700}.nm-authors,.nm-subtitle,.nm-summary{margin:8px 0 0}.nm-preview-chapter,.nm-preview-front{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.nm-kicker{margin:0;color:#2146d0;font-size:.75rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.nm-preview-section{border-top:1px solid #eef2f6;padding-top:12px;margin-top:12px}.nm-preview-content{color:#243347;line-height:1.7}.nm-preview-content iframe,.nm-preview-content img,.nm-preview-content video{max-width:100%;border-radius:14px}@media (max-width:1280px){.studio-grid{grid-template-columns:300px 1fr}.studio-inspector{grid-column:1/-1;position:static;max-height:none}}@media (max-width:980px){.studio-grid{grid-template-columns:1fr}.preview-shell,.studio-inspector,.studio-resource-panel,.studio-sidebar,.studio-workbench{position:static;max-height:none}.studio-workbench-head{flex-direction:column}.node-title-input{min-width:0;width:100%}}.layered-editor-page{display:grid;grid-gap:20px;gap:20px}.editor-page-head{align-items:flex-start}.layered-editor-grid{display:grid;grid-template-columns:320px 1fr;grid-gap:20px;gap:20px;align-items:start}.layered-structure{position:-webkit-sticky;position:sticky;top:20px;max-height:calc(100vh - 54px);overflow:auto}.layered-main,.layered-structure{display:grid;grid-gap:14px;gap:14px}.section-headline{display:grid;grid-gap:6px;gap:6px}.section-headline h3{margin:0}.structure-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.small-note{font-size:.92rem;line-height:1.6}.outline-stack{display:grid;grid-gap:12px;gap:12px}.outline-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fbfcfe;display:grid;grid-gap:8px;gap:8px}.outline-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.outline-row-nested{padding-left:10px}.outline-row-deep{padding-left:24px}.outline-link{width:100%;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line)}.outline-link.selected{background:#eef2ff;color:var(--brand-dark);border-color:#c7d7fe}.wrap-actions{flex-wrap:wrap}.a4-preview-frame{width:100%;min-height:82vh;border:1px solid var(--line);border-radius:20px;background:#fff}.stats-panel .stats-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.stats-panel .stats-grid-4>div{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-gap:4px;gap:4px}.stats-panel span{color:var(--muted);font-size:.88rem}.stats-panel strong{font-size:1.35rem}.compact-info-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-gap:6px;gap:6px}.project-layer-page{display:grid;grid-gap:18px;gap:18px}.editorial-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);display:grid;place-items:center;padding:24px;z-index:40}.editorial-modal{width:min(100%,980px);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 80px rgba(16,24,40,.18);display:grid}.editorial-modal-lg{width:min(100%,1080px)}.editorial-modal-head{padding:22px 24px 12px;border-bottom:1px solid var(--line)}.editorial-modal-head h3{margin:0 0 6px}.editorial-modal-head p{margin:0;color:var(--muted)}.editorial-modal-body{padding:20px 24px;display:grid;grid-gap:16px;gap:16px}.editorial-modal-actions{padding:16px 24px 22px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.editorial-modal-actions-sticky{position:-webkit-sticky;position:sticky;bottom:0;background:#fff}.sim-toggle-empty{color:var(--muted)}@media (max-width:1100px){.layered-editor-grid{grid-template-columns:1fr}.layered-structure{position:static;max-height:none}.stats-panel .stats-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.stats-panel .stats-grid-4,.structure-actions-grid{grid-template-columns:1fr}}.legacy-editorial-page{max-width:1300px;margin:0 auto;padding:40px 28px 60px;display:grid;grid-gap:18px;gap:18px}.legacy-empty-box,.legacy-hero-card,.legacy-overview-item,.legacy-project-card,.legacy-project-head,.legacy-project-stat,.legacy-simple-list,.legacy-toolbar-card{background:var(--panel);border:1px solid var(--line);border-radius:24px}.legacy-hero-card{padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.legacy-hero-card h1{margin:6px 0 10px;font-size:clamp(44px,5vw,72px);line-height:.95;letter-spacing:-.05em}.legacy-hero-card p{margin:0;color:var(--muted)}.legacy-kicker{color:#365bff;font-weight:900;letter-spacing:.08em;font-size:.8rem;text-transform:uppercase}.legacy-btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid #1f3aa8;border-radius:16px;color:#0f2b7b;background:#fff;font-weight:800;min-height:46px}.legacy-toolbar-card{padding:18px 22px;display:flex;justify-content:space-between;gap:18px;align-items:end}.legacy-toolbar-left{display:flex;gap:14px;flex:1 1;align-items:end}.legacy-toolbar-left label{flex:0 0 250px}.legacy-toolbar-left .legacy-grow{flex:1 1}.legacy-toolbar-left label span{color:#475467;font-size:.9rem;font-weight:800}.legacy-toolbar-right{display:flex;gap:12px}.legacy-stat-card{min-width:132px;padding:18px;display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:18px;background:#fbfcfe}.legacy-stat-card span{color:#667085;font-weight:800;font-size:.86rem}.legacy-stat-card strong{font-size:2rem;letter-spacing:-.04em}.legacy-subbar{display:flex;justify-content:flex-end}.legacy-project-head h1,.legacy-projects h2{margin:0;letter-spacing:-.04em}.compact-head{align-items:center;margin-bottom:12px}.legacy-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:18px;gap:18px}.legacy-project-card{overflow:hidden;position:relative}.legacy-project-link{display:grid;grid-gap:12px;gap:12px;padding:20px}.legacy-project-top{display:flex;justify-content:space-between;align-items:center}.legacy-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#fff7ed;color:#b45309;font-weight:800;width:max-content}.legacy-project-card h3{margin:0;font-size:2rem;line-height:1;letter-spacing:-.04em}.legacy-mini-stats{display:flex;flex-wrap:wrap;gap:8px}.legacy-mini-stats span{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;color:#334155;font-weight:700;font-size:.88rem}.legacy-card-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:10px;border-top:1px dashed var(--line)}.legacy-open-link{color:#365bff;font-weight:800}.legacy-quick-actions{display:flex;gap:8px;padding:0 20px 20px}.legacy-project-head{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:20px;gap:20px;align-items:start}.legacy-title-row h1{font-size:clamp(42px,5vw,64px);line-height:.95}.legacy-project-head-actions{display:grid;grid-gap:12px;gap:12px}.legacy-primary-link{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:18px;background:#ef3340;color:#fff;font-weight:900;font-size:1.35rem}.legacy-project-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.legacy-project-stat{padding:18px;display:grid;grid-gap:10px;gap:10px}.legacy-project-stat span{color:#475467;font-weight:800;line-height:1.25}.legacy-project-stat strong{font-size:2rem;letter-spacing:-.04em}.legacy-overview-grid>div{min-height:118px}.legacy-overview-item{padding:16px;display:grid;grid-gap:8px;gap:8px}.legacy-overview-item span{color:#475467;font-size:.9rem;font-weight:900;line-height:1.25}.legacy-overview-item strong{font-size:1.15rem}.legacy-empty-box{padding:34px 20px;color:#667085;text-align:center}.legacy-simple-list{display:grid;grid-gap:10px;gap:10px;padding:6px 0 0}.legacy-list-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe}.legacy-list-item span{color:#667085}.upload-guidance-box{border:1px dashed #c7d7fe;border-radius:18px;padding:14px 16px;background:#f8fbff;display:grid;grid-gap:8px;gap:8px}.upload-guidance-box p{margin:0;color:#526179}.upload-guidance-box code{background:#eef2ff;padding:2px 6px;border-radius:8px}@media (max-width:1100px){.legacy-project-head{grid-template-columns:1fr}.legacy-project-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-hero-card,.legacy-toolbar-card,.legacy-toolbar-left{flex-direction:column;align-items:stretch}.legacy-toolbar-left label{flex:1 1}}@media (max-width:760px){.legacy-editorial-page{padding:24px 16px 40px}.grid.three,.grid.two,.legacy-project-grid,.legacy-project-stats-grid{grid-template-columns:1fr}.legacy-hero-card h1,.legacy-project-head h1{font-size:2.5rem}.legacy-list-item{flex-direction:column;align-items:flex-start}}.legacy-title-editable-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.legacy-title-edit-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.legacy-title-edit-form input{min-width:min(420px,100%)}.danger-button{color:var(--danger)!important;background:rgba(180,35,24,.08)!important;border:1px solid rgba(180,35,24,.16)!important}.legacy-simulator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px}.legacy-simulator-card{border:1px solid var(--line);border-radius:20px;background:#fbfcfe;padding:18px;display:grid;grid-gap:14px;gap:14px}.legacy-simulator-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.legacy-simulator-head h3{margin:0 0 6px;font-size:1.25rem}.legacy-simulator-head p{margin:0;color:var(--muted);line-height:1.6}.legacy-simulator-summary{display:grid;grid-gap:10px;gap:10px}.legacy-simulator-summary>div{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.legacy-simulator-summary span{color:var(--muted);font-size:.9rem;font-weight:800}.legacy-simulator-summary strong{text-align:right;font-size:.92rem;color:var(--ink);word-break:break-word}.legacy-simulator-actions{display:flex;gap:10px;flex-wrap:wrap}.legacy-simulator-actions>*{flex:1 1 180px}.legacy-edit-summary{display:grid;grid-gap:10px;gap:10px}.legacy-edit-summary>div{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.legacy-edit-summary span{color:var(--muted);font-size:.84rem;font-weight:900}.legacy-edit-summary strong{text-align:right;color:var(--ink);font-size:.92rem;word-break:break-word}.editorial-dropzone{border:1px dashed #c7d7fe;border-radius:18px;background:#f8fbff;padding:22px;display:grid;grid-gap:6px;gap:6px;text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.editorial-dropzone.is-dragover,.editorial-dropzone:hover{border-color:var(--brand);background:#eef4ff}.editorial-dropzone span{font-weight:900;color:var(--brand-dark)}.editorial-dropzone small{color:var(--muted)}.legacy-file-badges{display:flex;flex-wrap:wrap;gap:8px}.legacy-file-badges span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#f7f9fc;color:var(--ink);font-size:.82rem;font-weight:800}.legacy-upload-summary-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;display:grid;grid-gap:14px;gap:14px}.legacy-upload-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.legacy-upload-summary-head h4{margin:0;font-size:1.05rem}.legacy-upload-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:.78rem;font-weight:900}.legacy-upload-status.ok{color:var(--success);background:rgba(2,122,72,.12);border-color:rgba(2,122,72,.18)}.legacy-upload-status.warn{color:#b54708;background:rgba(181,71,8,.12);border-color:rgba(181,71,8,.18)}.legacy-upload-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.legacy-upload-summary-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-gap:4px;gap:4px}.legacy-upload-summary-grid span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.legacy-upload-summary-grid strong{color:var(--ink);font-size:.95rem;word-break:break-word}.legacy-alert{border-radius:16px;padding:14px 16px;border:1px solid var(--line);display:grid;grid-gap:8px;gap:8px}.legacy-alert ul{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.legacy-alert-error{border-color:rgba(180,35,24,.22);background:rgba(180,35,24,.08)}@media (max-width:900px){.legacy-edit-summary>div,.legacy-simulator-summary>div,.legacy-title-edit-form,.legacy-title-editable-row{flex-direction:column;align-items:flex-start}.legacy-upload-summary-grid{grid-template-columns:1fr}}.legacy-upload-status.error{color:var(--danger);background:rgba(180,35,24,.1);border-color:rgba(180,35,24,.22)}.legacy-upload-summary-grid>div.is-ok{border-color:rgba(2,122,72,.22);background:rgba(2,122,72,.06)}.legacy-upload-summary-grid>div.is-missing{border-color:rgba(180,35,24,.22);background:rgba(180,35,24,.06)}.legacy-upload-summary-grid>div.is-missing strong{color:var(--danger)}.legacy-catalog-file-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:8px}.legacy-catalog-file-status span{border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:800;color:var(--muted);background:#f8fafc}.legacy-catalog-file-status span.ok{color:var(--success);border-color:rgba(2,122,72,.18);background:rgba(2,122,72,.08)}.legacy-catalog-file-status span.error{color:var(--danger);border-color:rgba(180,35,24,.18);background:rgba(180,35,24,.08)}@media (max-width:760px){.legacy-catalog-file-status{grid-template-columns:1fr}}.hero-note{margin-top:16px;color:var(--muted);font-size:1rem;line-height:1.7}.public-books-page{min-height:100vh;padding:40px 24px 56px;background:radial-gradient(circle at top right,rgba(45,91,255,.08),transparent 28%),var(--bg)}.public-books-shell{width:min(1180px,100%);margin:0 auto;display:grid;grid-gap:22px;gap:22px}.public-books-hero{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 20px 56px rgba(16,24,40,.08);display:grid;grid-gap:14px;gap:14px}.public-books-hero h1{margin:0;font-size:clamp(34px,5vw,56px);line-height:.98;letter-spacing:-.05em}.public-books-hero p{margin:0;color:var(--muted);line-height:1.7;max-width:840px}.public-books-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.public-books-toolbar .search-wrap{flex:1 1;min-width:min(100%,340px)}.public-books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:18px;gap:18px}.public-book-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 40px rgba(16,24,40,.06);display:grid;grid-gap:12px;gap:12px;transition:transform .12s ease,box-shadow .2s ease,border-color .2s ease}.public-book-card:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(16,24,40,.1);border-color:#cdd9f1}.public-book-card h3{margin:0;font-size:1.3rem;line-height:1.2}.public-book-card p{margin:0;color:var(--muted);line-height:1.6}.public-book-meta{display:grid;grid-gap:8px;gap:8px;padding-top:6px;border-top:1px dashed var(--line)}.public-book-meta span{color:var(--muted);font-size:.92rem;font-weight:700}.public-book-meta strong{color:var(--ink);font-size:.95rem}.public-book-card .actions{justify-content:flex-start}.public-reader-page{min-height:100vh;padding:28px 24px 48px;background:radial-gradient(circle at top right,rgba(45,91,255,.08),transparent 28%),var(--bg)}.public-reader-shell{width:min(1280px,100%);margin:0 auto;display:grid;grid-gap:18px;gap:18px}.public-reader-head{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid var(--line);border-radius:26px;padding:22px 24px;box-shadow:0 16px 44px rgba(16,24,40,.08);display:grid;grid-gap:10px;gap:10px}.public-reader-head h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.04;letter-spacing:-.04em}.public-reader-head p{margin:0;color:var(--muted);line-height:1.65}.public-reader-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.public-reader-frame{width:100%;min-height:82vh;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(16,24,40,.08)}.public-inline-empty{background:var(--panel);border:1px dashed var(--line);border-radius:20px;padding:28px 22px;color:var(--muted);text-align:center;box-shadow:0 10px 26px rgba(16,24,40,.05)}@media (max-width:760px){.public-books-page,.public-reader-page{padding:24px 16px 36px}.public-books-hero,.public-reader-head{padding:20px}.public-books-toolbar{align-items:stretch}}