:root{--ink:#19140f;--paper:#fff8ed;--gold:#d5a84b;--deep:#160f0a;--soft:#f4e5cf;--line:#d8bf94;--accent:#8e2d23;--green:#426b44;--blue:#293c64}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top left,#7f2f24,#32160e 36%,#110b08 100%);color:var(--ink)}button,.file-btn{border:0;border-radius:14px;padding:11px 14px;font-weight:900;cursor:pointer;background:#efe0c9;color:#25160d;box-shadow:0 8px 18px rgba(0,0,0,.18)}button:hover,.file-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary{background:linear-gradient(135deg,#ffd777,#a96f18);color:#160f0a}.dark{background:#211309;color:#fff}.topbar{display:flex;justify-content:space-between;gap:20px;padding:24px 32px;color:#fff;background:rgba(0,0,0,.5);border-bottom:1px solid rgba(255,255,255,.2)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#ffd777;margin:0 0 5px;font-size:.78rem}.topbar h1{font-size:2.1rem;margin:0}.topbar h1 span{font-size:1rem;color:#ffd777}.subtitle{max-width:900px;margin:.5rem 0 0;line-height:1.45;color:#f8ead7}.top-actions{display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:300px}.file-btn{display:inline-flex;align-items:center}.file-btn input{display:none}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;padding:22px}.sidebar{position:sticky;top:16px;align-self:start;background:rgba(255,248,237,.94);border:1px solid rgba(255,255,255,.5);border-radius:24px;padding:18px;box-shadow:0 24px 55px rgba(0,0,0,.32);max-height:calc(100vh - 32px);overflow:auto}.brand-card{display:flex;gap:12px;align-items:center;margin-bottom:14px}.logo-mark{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#1b0d07,#a66d22);color:#fff;display:grid;place-items:center;font-weight:1000}.brand-card span,.score-card span{display:block;font-size:.78rem;color:#705b45}.score-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.score-card div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;text-align:center}.score-card strong{display:block;font-size:1.45rem;color:#8e2d23}.tabs{display:flex;flex-direction:column;gap:8px}.tab{text-align:left;background:#fff;border:1px solid #e4cfaa;box-shadow:none}.tab.active{background:linear-gradient(135deg,#2b180b,#7d291f);color:#fff}.help-card{background:#29180d;color:#fff;border-radius:18px;padding:14px;margin-top:16px}.tiny{font-size:.78rem;opacity:.8}.editor{background:rgba(255,248,237,.97);border-radius:26px;padding:22px;box-shadow:0 24px 65px rgba(0,0,0,.35);min-height:82vh}.panel{display:none}.active-panel{display:block}.panel h2{margin-top:0;font-size:1.85rem}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-note{background:#fff5e6;border-left:5px solid var(--gold);padding:12px;border-radius:12px;color:#574028}.grid{display:grid;gap:14px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{font-weight:900;display:block;margin:12px 0 5px}input,textarea,select{width:100%;border:1px solid #cdb68f;border-radius:14px;padding:12px;background:#fffdfa;font:inherit;color:#201610}textarea{resize:vertical}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-box{background:linear-gradient(135deg,#fff,#f2dfbd);border:1px solid var(--line);border-radius:20px;padding:20px;text-align:center}.dash-box strong{display:block;font-size:2rem;color:#8e2d23}.dash-box span{font-weight:800}.checklist{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 20px}.checklist li{margin:9px 0}.list{display:grid;gap:14px}.item-card{background:#fffdf8;border:1px solid #d7c09a;border-radius:22px;padding:18px;box-shadow:0 12px 25px rgba(62,37,15,.09)}.compact{padding:14px}.item-actions{display:flex;justify-content:flex-end;gap:8px}.item-actions button{padding:8px 10px;border-radius:10px;box-shadow:none}.remove{background:#6d1f19;color:#fff}.move-up,.move-down{background:#e7d6b9}.thumb{max-width:240px;max-height:190px;border-radius:16px;border:1px solid var(--line);display:block;margin-top:10px;object-fit:cover}.hidden{display:none}.gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.gallery-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px}.gallery-card img{width:100%;height:160px;object-fit:cover;border-radius:14px;background:#eee}.gallery-card .status{margin-top:8px}.import-tips{background:#1e130d;color:#fff;border-radius:18px;padding:14px;margin-top:12px}.book-output{display:none}.preview-frame{background:#362014;border-radius:18px;padding:18px;overflow:auto;max-height:72vh}.preview-frame .book{margin:auto}.book{font-family:Georgia,'Times New Roman',serif;color:#1b1712}.page{background:var(--paper);width:8.5in;min-height:11in;margin:0 auto 24px;padding:.65in;position:relative;border:1px solid #dcc5a0;box-shadow:0 14px 36px rgba(0,0,0,.25);page-break-after:always}.page:after{content:attr(data-footer);position:absolute;bottom:.28in;left:.65in;right:.65in;text-align:center;border-top:1px solid #d2b98c;padding-top:8px;font:11px Arial;color:#7b6042}.page h1{font-size:44px;line-height:1.05;margin:.2in 0}.page h2{font-size:30px;border-bottom:2px solid #c99a3e;padding-bottom:8px}.page h3{font-size:20px;margin-bottom:4px}.page p{font-size:14.5px;line-height:1.55}.cover-page{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.cover-img{max-width:5.6in;max-height:4.1in;border-radius:20px;object-fit:cover;margin:22px 0}.book-img{max-width:100%;max-height:4.8in;border-radius:14px;border:1px solid #d1b98d;display:block;margin:12px auto;object-fit:contain}.profile-grid{display:grid;grid-template-columns:1.8in 1fr;gap:18px;margin:12px 0 20px;break-inside:avoid}.profile-grid img{width:1.8in;height:2.15in;object-fit:cover;border-radius:12px;border:1px solid #c8ac7c}.timeline-entry{border-left:5px solid #b9852e;padding-left:14px;margin:14px 0;break-inside:avoid}.gallery-book{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-book figure{margin:0;break-inside:avoid}.gallery-book img{width:100%;height:2.6in;object-fit:cover;border-radius:10px;border:1px solid #d0b88d}.gallery-book figcaption{font-size:12px;margin-top:5px}.record,.source-entry,.tree-entry,.place-entry,.interview-entry{break-inside:avoid;border-bottom:1px solid #dec89f;padding:8px 0}.family-tree-book{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tree-entry{border:1px solid #d9c29b;border-radius:14px;padding:10px;background:#fffaf1}.draft .page:before{content:'DRAFT';position:absolute;top:45%;left:18%;font:900 78px Arial;color:rgba(120,30,20,.11);transform:rotate(-25deg);z-index:0}.sixNine .page{width:6in;min-height:9in;padding:.45in}.eightTen .page{width:8in;min-height:10in}.largeGenealogy .page{width:8.25in;min-height:11in}.bw .page{filter:grayscale(1)}.sepia .page{filter:sepia(.25)}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;max-height:none}.two,.three,.dashboard-grid{grid-template-columns:1fr}.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:12px}.page{width:100%;min-height:900px}}@media print{body{background:#fff}.no-print,.editor,.sidebar,.topbar{display:none!important}.app-shell{display:block;padding:0}.book-output{display:block}.book-output .page{box-shadow:none;margin:0;border:0}.page{page-break-after:always}@page{size:letter;margin:0}}
