@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#18312e;--paper:#f7f5ed;--accent:#bd5c36;--line:#d9dfd5;--muted:#637570}*{box-sizing:border-box}body.fb{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'DM Sans',sans-serif}.fb h1,.fb h2,.fb h3{font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-.035em}.fb h1{font-size:clamp(32px,5vw,68px);margin:20px 0}.fb h2{font-size:28px}.fb a{color:inherit}.fb button,.fb input,.fb select,.fb textarea{font:inherit}.fb button,.fb .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 17px;text-decoration:none;cursor:pointer}.fb button:hover,.fb .button:hover{border-color:var(--accent)}.fb .primary{background:var(--ink);color:white;border-color:var(--ink)}.fb .danger{color:#a32a2a}.fb button:disabled{opacity:.5;cursor:wait}.fb input:not([type=checkbox]):not([type=color]),.fb textarea,.fb select{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.fb label{display:block;margin:12px 0 5px;font-weight:600}.fb small,.fb .muted{color:var(--muted)}.fb .shell{max-width:1240px;margin:auto;padding:24px}.fb .topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0 24px}.fb .brand{font:800 22px Manrope;text-decoration:none}.fb .brand span{color:var(--accent)}.fb .eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--accent)}.fb .hero{padding:65px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.fb .hero p{font-size:18px;max-width:520px}.fb .book-art{perspective:1200px;padding:35px}.fb .fake-book{padding:40px;background:#25443c;color:#fbf4dd;aspect-ratio:.75;max-width:330px;box-shadow:20px 22px 0 #e9dfc4,23px 25px 0 #c1b9a5,0 40px 65px #18312e25;transform:rotateY(-20deg) rotate(-6deg);border-radius:5px 14px 14px 5px;display:flex;flex-direction:column;justify-content:space-between;border-left:12px solid #18312e}.fb .fake-book strong{font:800 43px/1.1 Manrope}.fb .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fb .card{padding:25px;border:1px solid var(--line);background:#fff;border-radius:13px}.fb .card p{color:var(--muted)}.fb .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fb .section{padding:35px 0}.fb .notice{padding:12px 18px;border-radius:8px;background:#e6eee7;margin:16px 0}.fb .error{background:#fbe4dc;color:#8f2f20}.fb .badge{font-size:11px;background:#edf0e8;border-radius:30px;padding:5px 9px;display:inline-block}.fb .editor{display:grid;grid-template-columns:320px 1fr;gap:24px;padding-top:25px}.fb .tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.fb .tabs button.active{background:var(--ink);color:white}.fb .panel[hidden]{display:none}.fb .preview{position:relative;max-width:650px;margin:auto;background:white;box-shadow:0 15px 60px #18312e18;line-height:0}.fb .preview>img{width:100%;display:block}.fb .hotspot{position:absolute;border:2px dashed #cf7337;min-width:20px;min-height:20px;background:#e8ae6730;cursor:move;color:#4f2712;line-height:1.2;font-size:12px;overflow:hidden}.fb .pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.fb .page-card{border:2px solid transparent;border-radius:7px;padding:7px;background:#edf0e8;cursor:grab}.fb .page-card img{width:100%;height:120px;object-fit:contain}.fb .page-card.hidden-page{opacity:.4}.fb .page-card.selected{border-color:var(--accent)}.fb .page-card button{padding:2px 6px;font-size:11px}.fb .stats{display:flex;gap:15px;flex-wrap:wrap}.fb .stats .card{min-width:145px}.fb table{border-collapse:collapse;width:100%}.fb td,.fb th{padding:9px;text-align:left;border-bottom:1px solid var(--line)}.fb .upload-zone{border:2px dashed #93a89a;padding:30px;text-align:center;background:#eff3eb;border-radius:12px}.fb progress{width:100%;accent-color:var(--accent)}.fb .subtle{font-size:12px}.fb footer{padding:35px 0;border-top:1px solid var(--line);margin-top:40px}.fb .reader-body{background:#142229;color:#fff}.reader{--reader-bg:#142229;--reader-accent:#e8ae67;background:var(--reader-bg);color:#fff;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.reader .readerbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px;background:#ffffff0b;border-bottom:1px solid #ffffff20;z-index:5}.reader .readerbar h1{font-size:16px;letter-spacing:0;max-width:30vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.reader button,.reader .button{background:#ffffff0a;color:white;border-color:#ffffff30;padding:8px 12px}.reader input,.reader select{color:#18312e}.reader .stage{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;padding:18px}.reader #book{margin:auto}.reader .book-page{background:white;color:#203b34;overflow:hidden}.reader .page-image{width:100%;height:100%;object-fit:contain;display:block}.reader .overlay{position:absolute;z-index:5;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.1;text-decoration:none;cursor:pointer;background:#173b32d9;color:white;border:1px solid #ffffff66;padding:3px;overflow:hidden;border-radius:3px}.reader .overlay.imported{background:transparent;color:transparent;border:0}.reader .reader-bottom{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;flex-wrap:wrap;z-index:5}.reader .reader-bottom input{width:64px!important;padding:5px!important}.reader .drawer{position:absolute;left:0;top:60px;bottom:65px;width:min(350px,90vw);background:#f7f5ed;color:var(--ink);padding:20px;z-index:40;overflow:auto;box-shadow:15px 0 60px #0005}.reader .drawer button{color:var(--ink);border-color:var(--line);background:white;margin:5px}.reader .thumb-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reader .thumb-list img{width:100%;height:130px;object-fit:contain}.reader dialog{color:var(--ink);border:0;border-radius:12px;padding:24px;max-width:min(800px,95vw);max-height:90dvh;overflow:auto}.reader dialog::backdrop{background:#000b}.reader dialog button{background:#eef1e9;color:var(--ink);border-color:var(--line)}.reader dialog img.zoom-image{max-width:none;cursor:zoom-in}.reader .scroll-book{height:100%;overflow:auto;width:100%;max-width:950px}.reader .scroll-book .book-page{position:relative;margin-bottom:16px;aspect-ratio:var(--page-ratio)}.reader .flat-book{width:min(90vw,650px);height:100%;position:relative}.reader .flat-book .book-page{height:100%;position:relative}.reader.coverflow .flat-book{transform:perspective(1400px) rotateY(-12deg);box-shadow:20px 20px 0 #ffffff15}.reader .reader-message{max-width:460px;margin:auto;padding:30px}.reader .reader-message input{margin:12px 0}.reader .reader-message label{font-weight:400}.reader #reader-status{position:absolute;top:75px;right:20px;background:#203b34;padding:8px;border-radius:7px;z-index:20}.fb .two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fb .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:800px){.fb .hero{grid-template-columns:1fr;gap:15px;padding-top:25px}.fb .book-art{display:none}.fb .grid{grid-template-columns:1fr}.fb .editor{grid-template-columns:1fr}.fb .editor>aside{order:2}.fb .shell{padding:15px}.reader .readerbar{flex-wrap:wrap}.reader .readerbar h1{max-width:60vw}.reader .readerbar .toolbar{gap:4px}.reader .readerbar button{font-size:12px;padding:6px 8px}.reader .stage{padding:6px}.fb .two-col{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{body.fb{background:white}.reader{height:auto;overflow:visible;background:white}.reader .readerbar,.reader .reader-bottom,.reader .drawer{display:none!important}.reader .stage{display:block;overflow:visible}.print-page{width:100%;height:95vh;object-fit:contain;page-break-after:always}}
