:root{
  color-scheme: dark;
  --bg:#1a0a0e; --bg2:#26111a; --glow:#4a1825; --sheet:#24111a; --deep:#12070a; --bar:#1e0c13; --card:rgba(255,228,232,.05); --ink:#f3e7d7; --ink2:#d9c8b6; --muted:#a8968a; --faint:#6f5f57;
  --rose:#dc8f9a; --rose2:#b9616f; --gold:#cfae74; --line:rgba(243,231,215,.12);
  --f-script:'Caveat',cursive; --f-serif:'Cormorant Garamond',Georgia,serif; --f-sans:'Jost',system-ui,-apple-system,sans-serif;
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px);
  --sal:env(safe-area-inset-left,0px); --sar:env(safe-area-inset-right,0px);
  --pw:360px; --ph:640px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--f-sans);overscroll-behavior:none}
body{position:fixed;inset:0;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select{-webkit-user-select:text;user-select:text}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
#app{position:fixed;inset:0}
.screen{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:calc(var(--sat) + 24px) calc(var(--sar) + 20px) calc(var(--sab) + 28px) calc(var(--sal) + 20px);
  background:radial-gradient(120% 70% at 50% 0%,var(--glow) 0%,var(--bg) 62%)}
.boot{position:absolute;inset:0;display:grid;place-items:center}
.boot-heart{font-size:28px;color:var(--rose);animation:beat 1.4s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.18);opacity:1}}

/* ---------- Tipografia comum ---------- */
.brand{font-family:var(--f-serif);font-style:italic;font-weight:500;letter-spacing:.02em;text-align:center;color:var(--ink)}
.brand-sm{font-size:15px;color:var(--muted);letter-spacing:.24em;text-transform:uppercase;font-style:normal;font-family:var(--f-sans);font-weight:300}
.script{font-family:var(--f-script)}
.lead{font-family:var(--f-serif);font-size:24px;line-height:1.3;text-align:center;margin:0 0 10px}
.sub{color:var(--ink2);font-size:15.5px;line-height:1.55;text-align:center;margin:0 auto;max-width:34ch;font-weight:300}
.small{font-size:13px;color:var(--muted);line-height:1.5}
.center{text-align:center}
.col{max-width:420px;margin:0 auto}

/* ---------- Botões e campos ---------- */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border-radius:14px;
  background:linear-gradient(180deg,#e7a3ad,#c97482);color:#2a1013;font-weight:500;font-size:16px;letter-spacing:.02em;
  box-shadow:0 8px 24px rgba(201,116,130,.25),inset 0 1px 0 rgba(255,255,255,.35)}
.btn:active{transform:scale(.985)}
.btn[disabled]{opacity:.55}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn.quiet{background:rgba(243,231,215,.06);color:var(--ink);box-shadow:none}
.btn.danger{background:rgba(220,90,90,.14);color:#f2b2b2;box-shadow:none}
.btn.sm{min-height:40px;font-size:14px;border-radius:11px;width:auto;padding:0 14px}
.btns{display:grid;gap:10px;margin-top:18px}
.link{color:var(--rose);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.field{display:block;margin:12px 0}
.field span{display:block;font-size:12.5px;color:var(--muted);margin:0 0 6px 2px;letter-spacing:.04em}
.input,textarea.input,select.input{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.25);
  color:var(--ink);font:inherit;font-size:16px;padding:12px 14px;outline:none}
.input:focus{border-color:rgba(220,143,154,.6)}
textarea.input{min-height:110px;resize:vertical;line-height:1.45}
.err{color:#f0a3a3;font-size:14px;min-height:20px;margin-top:8px;text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:9px 13px;border-radius:999px;background:rgba(243,231,215,.06);box-shadow:inset 0 0 0 1px var(--line);font-size:14px}
.chip.on{background:rgba(220,143,154,.2);box-shadow:inset 0 0 0 1px rgba(220,143,154,.7)}
.row{display:flex;gap:10px;align-items:center}
.row>*{flex:1}
.toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.toggle input{width:22px;height:22px;accent-color:var(--rose)}

/* ---------- Tela da surpresa ---------- */
.mystery{display:flex;flex-direction:column;min-height:100%;justify-content:center}
.mystery .title{font-size:44px;margin:6px 0 2px}
.envelope{position:relative;width:132px;height:96px;margin:30px auto 34px}
.envelope .body{position:absolute;inset:0;border-radius:8px;background:linear-gradient(160deg,#e9dccb,#cdb8a2);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.envelope .flap{position:absolute;left:0;right:0;top:0;height:60px;background:linear-gradient(180deg,#dccab5,#c4ad96);
  clip-path:polygon(0 0,100% 0,50% 100%);border-radius:8px 8px 0 0;transform-origin:top;animation:flap 4s ease-in-out infinite}
.envelope .seal{position:absolute;left:50%;top:44px;width:30px;height:30px;margin-left:-15px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#d9707f,#8f2f3d);display:grid;place-items:center;color:#f6dfe2;font-size:14px;box-shadow:0 2px 6px rgba(0,0,0,.35)}
@keyframes flap{0%,70%,100%{transform:rotateX(0)}80%{transform:rotateX(18deg)}}
.glow{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;
  background:radial-gradient(circle,rgba(220,143,154,.18),transparent 65%);filter:blur(10px);z-index:-1}

/* Tutorial */
.steps{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.step{display:flex;gap:14px;align-items:center;padding:14px 14px;border-radius:16px;background:rgba(243,231,215,.045);box-shadow:inset 0 0 0 1px var(--line)}
.step .n{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;background:rgba(220,143,154,.18);color:var(--rose)}
.step .t{flex:1;font-size:15px;line-height:1.4}
.step .t b{font-weight:500;color:var(--ink)}
.step .ic{flex:0 0 38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.07)}
.step .ic svg{width:22px;height:22px;stroke:#7fb2ff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.step.warn{background:rgba(207,174,116,.1);box-shadow:inset 0 0 0 1px rgba(207,174,116,.45)}
.mini-app-icon{width:38px;height:38px;border-radius:9px;background:url(apple-touch-icon.png) center/cover}
.note{margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(220,143,154,.09);font-size:14.5px;line-height:1.5;color:var(--ink2)}
.owner-box{margin-top:26px;padding:16px;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(207,174,116,.35);background:rgba(207,174,116,.06)}
.owner-box h4{margin:0 0 6px;font-weight:500;font-size:14px;color:var(--gold);letter-spacing:.04em}
.copybox{font-size:13px;word-break:break-all;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.3);margin:8px 0;color:var(--ink2);-webkit-user-select:all;user-select:all}

/* ---------- Leitor ---------- */

.reader{position:absolute;inset:0;background:radial-gradient(90% 60% at 50% 45%,var(--glow) 0%,var(--deep) 100%);overflow:hidden;touch-action:none}
.stage{position:absolute;left:50%;top:50%;width:var(--pw);height:var(--ph);transform:translate(-50%,-50%);perspective:2200px;perspective-origin:0% 50%}
.stage-shadow{position:absolute;inset:6px -2px -10px 4px;border-radius:4px 10px 10px 4px;box-shadow:0 26px 60px rgba(0,0,0,.65),0 6px 14px rgba(0,0,0,.4)}
.stack-edge{position:absolute;top:4px;bottom:4px;right:-5px;width:6px;border-radius:0 3px 3px 0;
  background:repeating-linear-gradient(90deg,#2b2120 0 1px,#3b2e2b 1px 2px);opacity:.9}
.leaf{position:absolute;inset:0;border-radius:3px 8px 8px 3px;overflow:hidden;transform-origin:0 50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  transform-style:preserve-3d;will-change:transform;background:#1e1716;color:var(--ink);contain:layout paint}
.leaf::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:50;
  background:linear-gradient(90deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.18) 3.2%,rgba(255,255,255,.035) 5%,transparent 12%),
  radial-gradient(120% 90% at 60% 45%,transparent 55%,rgba(0,0,0,.35) 100%)}
.leaf .shade{position:absolute;inset:0;pointer-events:none;z-index:60;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.65));opacity:0}
.leaf.turning{transition:transform .62s cubic-bezier(.3,.7,.2,1)}
.leaf.turning .shade{transition:opacity .62s}
.paper{position:absolute;inset:0}
.bg-noite{background:#1e1716}
.bg-noite::after,.bg-preto::after,.bg-vinho::after,.bg-creme::after,.bg-kraft::after,.bg-rosa::after,.bg-oliva::after{content:"";position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .45  0 0 0 0 .4  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.bg-preto{background:#141313}
.bg-vinho{background:#3a1a1f}
.bg-oliva{background:#2b2c22}
.bg-creme{background:#efe4d2;color:#3a2a24}
.bg-kraft{background:#c9a77c;color:#3b2717}
.bg-rosa{background:#d9b2ae;color:#3d2023}
.pnum{position:absolute;bottom:2.6%;left:0;right:0;text-align:center;font-family:var(--f-serif);font-style:italic;font-size:calc(var(--pw)*.036);opacity:.55;z-index:40;pointer-events:none}
.leaf-inner{position:absolute;inset:0;padding:11% 10% 12% 13%;display:flex;flex-direction:column}

/* Elementos de página */
.el{position:absolute;transform-origin:50% 50%}
.el-text{white-space:pre-wrap;word-break:break-word;line-height:1.18}
.el-text.f-script{font-family:var(--f-script);line-height:1.08}
.el-text.f-serif{font-family:var(--f-serif);font-style:italic;font-weight:500}
.el-text.f-serif2{font-family:var(--f-serif);font-weight:600;letter-spacing:.02em}
.el-text.f-sans{font-family:var(--f-sans);font-weight:300;letter-spacing:.01em}
.el-text.box-nota{background:#efe4d2;color:#3a2a24!important;padding:.5em .7em;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.el-text.box-fita::before{content:"";position:absolute;left:50%;top:-.45em;width:38%;height:.9em;transform:translateX(-50%) rotate(-3deg);background:rgba(232,214,180,.6);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.el-img{background:transparent}
.el-img .ph{position:absolute;overflow:hidden;background:#3a302c}
.el-img img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.el-img.fr-polaroid{background:#f7f3ec;box-shadow:0 10px 24px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.3)}
.el-img.fr-simples{background:#f7f3ec;box-shadow:0 8px 20px rgba(0,0,0,.45)}
.el-img.fr-sem .ph{inset:0;box-shadow:0 8px 22px rgba(0,0,0,.45)}
.el-img.fr-fita .ph{inset:0;box-shadow:0 8px 22px rgba(0,0,0,.45)}
.el-img.fr-fita::before,.el-img.fr-fita::after{content:"";position:absolute;width:34%;height:9%;background:rgba(232,214,180,.62);z-index:2;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.el-img.fr-fita::before{left:-8%;top:2%;transform:rotate(-38deg)}
.el-img.fr-fita::after{right:-8%;bottom:4%;transform:rotate(-38deg)}
.el-img.fr-coracao .ph{inset:0;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 90'><path d='M50 88C20 66 0 48 0 26 0 11 12 0 26 0c10 0 19 6 24 15C55 6 64 0 74 0c14 0 26 11 26 26 0 22-20 40-50 62z'/></svg>") center/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 90'><path d='M50 88C20 66 0 48 0 26 0 11 12 0 26 0c10 0 19 6 24 15C55 6 64 0 74 0c14 0 26 11 26 26 0 22-20 40-50 62z'/></svg>") center/100% 100% no-repeat}
.el-img .cap{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--f-script);color:#3a2a24;line-height:1;padding:0 6%}
.el-img .empty{position:absolute;inset:0;display:grid;place-items:center;color:#cbb8a8;font-size:calc(var(--pw)*.04);font-family:var(--f-serif);font-style:italic;text-align:center;padding:8%;background:repeating-linear-gradient(45deg,#3b312d 0 10px,#352c28 10px 20px)}
.el-sticker{display:grid;place-items:center;line-height:1;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}

/* Contador */
.counter{align-items:center;text-align:center;justify-content:center;gap:0}
.counter .kick{font-family:var(--f-sans);font-weight:300;letter-spacing:.28em;text-transform:uppercase;font-size:calc(var(--pw)*.03);color:var(--muted)}
.counter h2{font-family:var(--f-script);font-weight:600;font-size:calc(var(--pw)*.12);margin:.2em 0 .1em;color:var(--ink);transform:rotate(-2deg)}
.counter .days{font-family:var(--f-serif);font-weight:500;font-size:calc(var(--pw)*.3);line-height:.9;color:var(--ink);margin-top:.15em;font-variant-numeric:lining-nums}
.counter .dl{font-family:var(--f-script);font-size:calc(var(--pw)*.075);color:var(--rose);margin-top:-.1em}
.counter .hms{display:flex;gap:6%;justify-content:center;margin:1.1em 0 .4em;width:100%}
.counter .hms div{display:flex;flex-direction:column;align-items:center;min-width:22%}
.counter .hms b{font-family:var(--f-serif);font-weight:500;font-size:calc(var(--pw)*.105);line-height:1;font-variant-numeric:tabular-nums lining-nums}
.counter .hms span{font-size:calc(var(--pw)*.028);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.5em}
.counter .since{font-family:var(--f-serif);font-style:italic;font-size:calc(var(--pw)*.045);color:var(--ink2);margin-top:.6em}
.counter .phrase{font-family:var(--f-serif);font-style:italic;font-size:calc(var(--pw)*.052);line-height:1.35;color:var(--ink2);margin-top:1.3em;max-width:92%}
.counter .tnote{font-size:calc(var(--pw)*.026);color:var(--faint);margin-top:1.2em;letter-spacing:.03em}
.divider{width:34%;height:1px;margin:1em auto 0;background:linear-gradient(90deg,transparent,rgba(207,174,116,.6),transparent);position:relative}
.divider::after{content:"♥";position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);font-size:calc(var(--pw)*.03);color:var(--gold);background:#1e1716;padding:0 .5em}
.polaroid-deco{position:absolute;width:24%;aspect-ratio:.86;background:#f2ece2;padding:2.5% 2.5% 7%;box-shadow:0 6px 16px rgba(0,0,0,.5)}

/* Sumário */
.toc h2{font-family:var(--f-script);font-weight:600;font-size:calc(var(--pw)*.11);margin:0 0 .1em;transform:rotate(-2deg);text-align:center}
.toc .tsub{text-align:center;font-size:calc(var(--pw)*.03);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4em}
.toc ol{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;touch-action:pan-y}
.toc li{margin:0}
.toc .ti{display:flex;align-items:baseline;gap:.4em;width:100%;text-align:left;padding:.62em 0;border-bottom:1px dashed rgba(243,231,215,.12);font-family:var(--f-serif);font-size:calc(var(--pw)*.05)}
.toc .ti .cn{font-family:var(--f-script);color:var(--rose);font-size:1.1em;min-width:1.4em}
.toc .ti .tt{flex:1;line-height:1.2}
.toc .ti .pp{font-family:var(--f-sans);font-weight:300;font-size:.62em;color:var(--muted);white-space:nowrap}
.toc .ti.off{opacity:.55}
.toc .empty-toc{text-align:center;font-family:var(--f-serif);font-style:italic;color:var(--muted);font-size:calc(var(--pw)*.048);margin-top:2em}

/* Dedicatória, continuação, página em branco */
.ded{justify-content:center;text-align:center}
.ded .dk{font-size:calc(var(--pw)*.03);letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.ded p{font-family:var(--f-serif);font-style:italic;font-size:calc(var(--pw)*.06);line-height:1.4;white-space:pre-wrap;margin:1em 0}
.cont{justify-content:center;align-items:center;text-align:center}
.cont p{font-family:var(--f-script);font-size:calc(var(--pw)*.105);line-height:1.15;margin:0;transform:rotate(-3deg)}
.blankp{justify-content:flex-end;align-items:center;text-align:center}
.blankp .lines{position:absolute;inset:16% 12% 30% 15%;background:repeating-linear-gradient(180deg,transparent 0 calc(var(--pw)*.09 - 1px),rgba(243,231,215,.07) calc(var(--pw)*.09 - 1px) calc(var(--pw)*.09))}
.blankp p{font-family:var(--f-serif);font-style:italic;font-size:calc(var(--pw)*.058);color:var(--ink2);margin:0 0 1.1em}
.blankp .btn{width:auto;padding:0 22px;margin-bottom:6%;font-size:calc(var(--pw)*.042)}

/* Cromo do leitor */
.chrome{position:absolute;left:0;right:0;z-index:100;display:flex;align-items:center;gap:10px;padding:0 calc(var(--sar) + 12px) 0 calc(var(--sal) + 12px);
  transition:opacity .25s,transform .25s;pointer-events:none;opacity:0}
.chrome.top{top:0;padding-top:calc(var(--sat) + 8px);padding-bottom:10px;transform:translateY(-8px);background:linear-gradient(180deg,rgba(10,6,6,.85),transparent)}
.chrome.bottom{bottom:0;padding-bottom:calc(var(--sab) + 10px);padding-top:12px;transform:translateY(8px);background:linear-gradient(0deg,rgba(10,6,6,.85),transparent);justify-content:space-between}
.reader.ui .chrome{opacity:1;transform:none;pointer-events:auto}
.ibtn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(243,231,215,.08);flex:0 0 auto}
.ibtn svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chrome .ttl{flex:1;text-align:center;font-family:var(--f-serif);font-style:italic;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill{padding:10px 16px;border-radius:999px;background:rgba(243,231,215,.1);font-size:14px;display:flex;align-items:center;gap:8px}
.pill svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7}
.pinfo{font-size:13px;color:var(--muted);letter-spacing:.03em}
.shelf-dot{position:absolute;z-index:90;top:calc(var(--sat) + 10px);left:calc(var(--sal) + 12px);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:rgba(17,11,11,.35);opacity:.45;transition:opacity .2s}
.shelf-dot svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.6}
.reader.ui .shelf-dot{opacity:0;pointer-events:none}

/* ---------- Capa ---------- */
.cover{position:relative;width:var(--cw,300px);aspect-ratio:9/16;border-radius:3px 10px 10px 3px;overflow:hidden;color:#f1e3cf;
  box-shadow:0 30px 60px rgba(0,0,0,.55),0 8px 16px rgba(0,0,0,.35);font-size:calc(var(--cw,300px)*.1)}
.cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7%;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.1) 60%,rgba(255,255,255,.08) 85%,rgba(0,0,0,.2));z-index:3}
.cover::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:soft-light;opacity:.7;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),radial-gradient(130% 90% at 65% 30%,rgba(255,255,255,.18),transparent 55%)}
.cv-couro{background:linear-gradient(160deg,#6c2a33,#3e161c)}
.cv-preto{background:linear-gradient(160deg,#2c2626,#141111)}
.cv-linho{background:linear-gradient(160deg,#e8dcc8,#cdbba1);color:#4a2f27}
.cv-rosa{background:linear-gradient(160deg,#d7a7a5,#a96c71);color:#3b1c20}
.cv-noite{background:linear-gradient(160deg,#25304a,#121827)}
.cv-kraft{background:linear-gradient(160deg,#c5a073,#93704a);color:#33200f}
.cover .frame{position:absolute;inset:6% 6% 6% 12%;border:1px solid rgba(214,180,120,.7);border-radius:2px;z-index:4;pointer-events:none}
.cover .frame::after{content:"";position:absolute;inset:3px;border:1px solid rgba(214,180,120,.35)}
.cv-linho .frame,.cv-rosa .frame,.cv-kraft .frame{border-color:rgba(90,55,40,.45)}
.cv-linho .frame::after,.cv-rosa .frame::after,.cv-kraft .frame::after{border-color:rgba(90,55,40,.22)}
.cover .ci{position:absolute;inset:10% 10% 10% 16%;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.cover .ck{font-family:var(--f-sans);font-weight:300;font-size:.26em;letter-spacing:.32em;text-transform:uppercase;opacity:.85}
.cover .ct{font-size:1em;line-height:1.05;margin:.35em 0 .25em}
.cover .ct.f-script{font-family:var(--f-script);font-weight:600;font-size:1.32em}
.cover .ct.f-serif{font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:1.1em}
.cover .cs{font-family:var(--f-serif);font-style:italic;font-size:.34em;opacity:.85}
.cover .orn{font-size:.3em;color:#d6b478;margin:.6em 0;letter-spacing:.6em}
.cv-linho .orn,.cv-rosa .orn,.cv-kraft .orn{color:#8a5a3e}
.cover .cph{width:62%;aspect-ratio:.85;background:#f5efe4;padding:5% 5% 15%;margin:.4em 0 .6em;transform:rotate(-3deg);box-shadow:0 8px 18px rgba(0,0,0,.45)}
.cover .cph img{width:100%;height:100%;object-fit:cover;display:block}
.cover .hint{position:absolute;bottom:7.5%;left:12%;right:6%;text-align:center;z-index:6;font-family:var(--f-serif);font-style:italic;font-size:.3em;opacity:.8;animation:hint 2.6s ease-in-out infinite}
@keyframes hint{0%,100%{opacity:.35}50%{opacity:.95}}
.draft-badge{position:absolute;top:6px;right:6px;z-index:8;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.55);color:#f1d9a6}

/* ---------- Revelação ---------- */
.reveal{position:absolute;inset:0;z-index:500;background:#0b0707;display:grid;place-items:center;transition:background-color 1.4s ease .5s}
.reveal.open{background-color:rgba(11,7,7,0)}
.reveal .logo{display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transform:scale(.96);transition:opacity 1.2s,transform 1.8s}
.reveal .logo.in{opacity:1;transform:scale(1)}
.reveal .logo.out{opacity:0;transform:scale(1.04);transition:opacity .9s,transform .9s}
.reveal .logo .lh{font-size:34px;color:var(--rose);animation:beat 1.6s ease-in-out infinite}
.reveal .logo .lt{font-family:var(--f-serif);font-style:italic;font-size:44px;letter-spacing:.01em}
.reveal .logo .ls{font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--muted)}
.reveal .cwrap{position:absolute;left:50%;top:50%;width:var(--pw);height:var(--ph);transform:translate(-50%,-50%);perspective:2400px;perspective-origin:0 50%;opacity:0;transition:opacity 1s}
.reveal .cwrap.in{opacity:1}
.reveal .cwrap .cover{--cw:var(--pw);width:100%;height:100%;aspect-ratio:auto;transform-origin:0 50%;transition:transform 1.9s cubic-bezier(.45,.05,.2,1),box-shadow 1.9s;cursor:pointer;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.reveal .cwrap.float .cover{animation:floaty 5s ease-in-out infinite}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -6px}}
.reveal .cwrap .cover.opening{transform:rotateY(-170deg);box-shadow:0 0 0 rgba(0,0,0,0)}
.reveal .cwrap .cover.fast{transition-duration:1s}
.reveal .cwrap .cover.closed{transform:rotateY(0)}
.hearts{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:510}
.hearts i{position:absolute;bottom:-30px;font-style:normal;color:var(--rose);opacity:0;animation:rise linear forwards}
@keyframes rise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.85}100%{transform:translateY(-110vh) scale(1.1) rotate(25deg);opacity:0}}

/* ---------- Estante ---------- */
.shelf{padding-top:calc(var(--sat) + 14px)}
.shelf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.shelf-head h1{margin:0;font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:28px}
.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:26px 18px}
.bk{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}
.bk .cover{--cw:100%;width:100%;font-size:calc(min(44vw,190px)*.1)}
.bk .bt{font-size:13.5px;color:var(--ink2);text-align:center;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk .more{position:absolute;right:-4px;bottom:24px;width:32px;height:32px;border-radius:50%;background:rgba(17,11,11,.75);display:grid;place-items:center;z-index:9}
.bk .more svg{width:16px;height:16px;fill:var(--ink)}
.shelf-sec{margin-top:34px}
.shelf-sec summary{color:var(--muted);font-size:14px;cursor:pointer;list-style:none;padding:8px 0}
.shelf-sec summary::-webkit-details-marker{display:none}
.trash-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.trash-item>div{flex:1}

/* ---------- Folhas (bottom sheets) ---------- */
.sheet-wrap{position:fixed;inset:0;z-index:800;padding-bottom:var(--kb,0px);background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s}
.sheet-wrap.in{opacity:1}
.sheet{width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--sheet);border-radius:22px 22px 0 0;
  padding:10px calc(var(--sar) + 18px) calc(var(--sab) + 22px) calc(var(--sal) + 18px);transform:translateY(30px);transition:transform .25s;box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.sheet-wrap.in .sheet{transform:none}
.sheet .grab{width:40px;height:4px;border-radius:2px;background:rgba(243,231,215,.2);margin:0 auto 14px}
.sheet h3{margin:4px 0 14px;font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:24px}
.menu-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 4px;border-bottom:1px solid var(--line);font-size:16px;text-align:left}
.menu-item:last-child{border-bottom:0}
.menu-item svg{width:20px;height:20px;stroke:var(--ink2);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.menu-item.danger{color:#f0a3a3}
.org-ch{margin:0 0 18px;padding:12px;border-radius:14px;background:rgba(243,231,215,.04);box-shadow:inset 0 0 0 1px var(--line)}
.org-row{display:flex;align-items:center;gap:6px;padding:8px 0}
.org-row .nm{flex:1;font-size:15px;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis}
.org-row .nm small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-row.ch .nm{font-family:var(--f-serif);font-size:19px;font-style:italic}
.sbtn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(243,231,215,.06);flex:0 0 auto}
.sbtn svg{width:16px;height:16px;stroke:var(--ink2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sbtn[disabled]{opacity:.25}
.tag{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:rgba(207,174,116,.18);color:var(--gold);margin-left:6px;vertical-align:2px}

/* ---------- Editor ---------- */
.editor{position:absolute;inset:0;background:var(--deep);display:flex;flex-direction:column;z-index:300}
.ed-top{display:flex;align-items:center;gap:8px;padding:calc(var(--sat) + 8px) calc(var(--sar) + 12px) 8px calc(var(--sal) + 12px)}
.ed-top .st{flex:1;text-align:center;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-area{flex:1;position:relative;min-height:0}
.ed-area .stage{perspective:none}
.ed-canvas{touch-action:none}
.ed-canvas .el.sel{outline:1.5px dashed rgba(127,178,255,.95);outline-offset:3px}
.handle{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:#7fb2ff;border:2px solid #fff;z-index:200;touch-action:none;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.handle.rot{background:#fff;border-color:#7fb2ff;display:grid;place-items:center}
.handle.rot svg{width:14px;height:14px;stroke:#2b5fad;fill:none;stroke-width:2.2}
.ed-tools{padding:10px calc(var(--sar) + 10px) calc(var(--sab) + 10px) calc(var(--sal) + 10px);background:var(--bar);border-top:1px solid var(--line)}
.tool-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.tool-row::-webkit-scrollbar{display:none}
.tool{flex:0 0 auto;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 6px;border-radius:12px;font-size:11.5px;color:var(--ink2)}
.tool svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tool:active,.tool.on{background:rgba(243,231,215,.08)}
.tool.danger{color:#f0a3a3}.tool.danger svg{stroke:#f0a3a3}
.prop{display:flex;align-items:center;gap:10px;padding:6px 4px 10px;overflow-x:auto;scrollbar-width:none}
.prop::-webkit-scrollbar{display:none}
.prop label{font-size:12px;color:var(--muted);flex:0 0 auto}
.prop input[type=range]{flex:1;min-width:140px;accent-color:var(--rose)}
.sw{flex:0 0 auto;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.sw.on{box-shadow:0 0 0 2px #110b0b,0 0 0 4px var(--rose)}
.stickers{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;font-size:30px;text-align:center}
.stickers button{padding:8px 0;border-radius:12px;background:rgba(243,231,215,.05)}
.bgs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bgs button{aspect-ratio:.7;border-radius:10px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);font-size:12px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px}
.bgs button.on{box-shadow:0 0 0 2px var(--rose)}
.saving{position:fixed;inset:0;z-index:900;display:grid;place-items:center;background:rgba(0,0,0,.55);font-size:15px;color:var(--ink2)}
.saving div{display:flex;flex-direction:column;align-items:center;gap:12px}

/* Pré-visualização Page Pack */
.pk-prev{display:flex;gap:12px;overflow-x:auto;padding:6px 0 14px;scrollbar-width:none}
.pk-prev .stage{position:relative;left:auto;top:auto;transform:none;flex:0 0 auto;border-radius:6px;overflow:hidden}
.pk-sum{font-size:14px;color:var(--ink2);line-height:1.6}

#toast{position:fixed;left:50%;bottom:calc(var(--sab) + 90px);transform:translate(-50%,20px);z-index:1000;max-width:86vw;padding:12px 18px;border-radius:14px;
  background:color-mix(in srgb,var(--sheet) 96%,transparent);color:var(--ink);font-size:14.5px;line-height:1.4;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;text-align:center}
#toast.in{opacity:1;transform:translate(-50%,0)}
.spin{width:26px;height:26px;border-radius:50%;border:2px solid rgba(243,231,215,.2);border-top-color:var(--rose);animation:sp 0.9s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s!important;transition-duration:.01s!important}}

/* Primeira leitura: nada de ferramentas até o fim */
.reader.first-read .nh-menu,.reader.first-read .nh-shelf,.reader.first-read .shelf-dot{visibility:hidden;pointer-events:none}
.turn-hint{margin-top:2.2em;font-family:var(--f-serif);font-style:italic;font-size:calc(var(--pw)*.04);color:var(--muted);letter-spacing:.04em;animation:hint 2.6s ease-in-out infinite}
.blankp{justify-content:center}
.reveal-msg{position:relative;z-index:2;text-align:center;margin-bottom:1.6em}
.reveal-msg .rk{font-size:calc(var(--pw)*.028);letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.reveal-msg p{font-family:var(--f-serif);font-style:italic;font-size:calc(var(--pw)*.062);line-height:1.35;color:var(--ink);margin:.8em 0 0}
.reveal-msg p.rs{font-family:var(--f-script);font-style:normal;font-size:calc(var(--pw)*.085);color:var(--rose);transform:rotate(-2deg);margin-top:.5em}
.blankp .btn{position:relative;z-index:2;margin-bottom:0}
.cover .cph.empty{display:grid;place-items:center;background:#f5efe4}
.cover .cph.empty span{font-family:var(--f-serif);font-style:italic;font-size:.26em;color:#9a8574;border:1px dashed #cdbca8;width:100%;height:100%;display:grid;place-items:center}

/* Editor de capítulo */
.editor.ched{z-index:290}
.ch-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px calc(var(--sar) + 18px) 20px calc(var(--sal) + 18px)}
.ch-body .input{font-family:var(--f-serif);font-size:20px;font-style:italic}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:18px 12px;justify-items:center}
.ch-cell{display:flex;flex-direction:column;align-items:center;gap:6px}
.ch-thumb{position:relative!important;left:auto!important;top:auto!important;transform:none!important;border-radius:4px;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.45)}
.ch-num{font-size:12px;color:var(--muted)}
.ch-acts{display:flex;gap:4px}
.ch-acts .sbtn{width:32px;height:32px}
.ch-add{border-radius:6px;border:1.5px dashed rgba(243,231,215,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink2);font-size:13px}
.ch-add svg{width:24px;height:24px;stroke:var(--ink2);fill:none;stroke-width:1.6}
.ch-foot{display:flex;gap:10px;padding:12px calc(var(--sar) + 16px) calc(var(--sab) + 14px) calc(var(--sal) + 16px);border-top:1px solid var(--line);background:var(--bar)}

/* ======================= v1.2 ======================= */
:root[data-theme="noite"]{--bg:#0a0f1e;--bg2:#121a30;--glow:#1d2b4f;--sheet:#131b31;--deep:#070b16;--bar:#0e1528;--rose:#9fb8ff;--rose2:#6c86d6;--gold:#d8c7a0;--ink:#eef1fb;--ink2:#c9d0e6;--muted:#8e98b8;--faint:#5a6488;--line:rgba(220,228,255,.12);--card:rgba(220,228,255,.05)}
:root[data-theme="noite"] .btn{background:linear-gradient(180deg,#b9c9ff,#7f98e6);color:#0d1430;box-shadow:0 8px 24px rgba(127,152,230,.25),inset 0 1px 0 rgba(255,255,255,.35)}
:root[data-theme="noite"] .btn.ghost{background:transparent;color:var(--ink)}
:root[data-theme="noite"] .btn.quiet{background:rgba(220,228,255,.07);color:var(--ink)}
:root[data-theme="noite"] .btn.danger{background:rgba(220,90,90,.14);color:#f2b2b2}
html,body{background:var(--bg)}
.no-anim *{animation-duration:.01s!important;transition-duration:.01s!important}
.big-text .small,.big-text .sub,.big-text .pf-item,.big-text .menu-item{font-size:110%!important}
.ibtn.sm{width:36px;height:36px}
.ibtn[disabled]{opacity:.3}
.link.soft{color:var(--muted);font-size:13px}

/* Barra de abas */
.tabs-shell{position:absolute;inset:0;display:flex;flex-direction:column}
.tab-content{position:relative;flex:1;min-height:0}
.tab-content>.screen{padding-bottom:calc(var(--sab) + 96px)}
.tabbar{position:absolute;left:0;right:0;bottom:0;z-index:150;display:flex;justify-content:space-around;align-items:flex-end;gap:4px;
  padding:8px calc(var(--sar) + 10px) calc(var(--sab) + 8px) calc(var(--sal) + 10px);
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bar) 88%,transparent) 26%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.kb-open .tabbar{display:none}
.tb{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 2px;color:var(--muted);font-size:11.5px;letter-spacing:.02em;position:relative}
.tb .tbi svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tb.on{color:var(--rose)}
.tb.on .tbi svg{fill:color-mix(in srgb,var(--rose) 25%,transparent)}
.tb.on::before{content:"";position:absolute;top:-9px;left:28%;right:28%;height:2px;border-radius:2px;background:var(--rose);box-shadow:0 0 12px var(--rose)}
.tb-add .tbi{width:44px;height:44px;margin-top:-14px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--rose) 18%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--rose) 40%,transparent)}

/* Títulos ornamentados */
.orn-title{text-align:center}
.orn-title h1{margin:4px 0;font-family:var(--f-script);font-weight:600;color:var(--rose);line-height:1}
.orn-title.big h1{font-size:54px;font-family:'Great Vibes',var(--f-script);font-weight:400;color:#e9a6b0}
.orn-title.mid h1{font-size:40px;font-family:'Great Vibes',var(--f-script);font-weight:400;color:#e9a6b0}
:root[data-theme="noite"] .orn-title h1{color:var(--rose)}
.orn-line{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--gold);font-size:11px}
.orn-line i{display:block;width:54px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.orn-line i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.script-title{font-family:'Great Vibes',var(--f-script);font-weight:400;font-size:42px;color:#e9a6b0;margin:0;text-align:center;line-height:1.1}
:root[data-theme="noite"] .script-title{color:var(--rose)}
.home-sub{font-family:var(--f-serif);font-size:21px;line-height:1.3;text-align:center;color:var(--ink);margin:14px 0 0}
.home-sub.sm{font-size:17px;color:var(--ink2);margin-top:6px}

/* Início: estante */
.home{display:flex;flex-direction:column}
.home-head{padding-top:2vh}
.shelf-stage{position:relative;margin:4vh auto 0;width:100%;max-width:420px;min-height:min(78vw,380px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:22px}
.bokeh{position:absolute;inset:-30px -20px 0;pointer-events:none;background:
  radial-gradient(10px 10px at 18% 22%,rgba(255,196,140,.55),transparent),radial-gradient(14px 14px at 82% 30%,rgba(255,196,140,.45),transparent),
  radial-gradient(8px 8px at 70% 12%,rgba(255,220,180,.5),transparent),radial-gradient(18px 18px at 30% 8%,rgba(255,180,150,.25),transparent),
  radial-gradient(60% 50% at 50% 60%,color-mix(in srgb,var(--glow) 70%,transparent),transparent);filter:blur(1px)}
.plank{position:absolute;left:4%;right:4%;bottom:0;height:22px;border-radius:3px;background:linear-gradient(180deg,#6b3b2a,#3d1f16 70%,#24120d);box-shadow:0 14px 26px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,220,190,.25)}
:root[data-theme="noite"] .plank{background:linear-gradient(180deg,#3a3f57,#1d2236 70%,#121628)}
.flowers{position:absolute;left:2%;bottom:14px;font-size:30px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.4));z-index:3;pointer-events:none}
.flowers span{font-size:24px;margin-left:-8px}
.shelf3d{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;width:100%}
.book3d{position:relative;width:var(--cw,200px);transform-style:preserve-3d}
.book3d .cover{position:relative;z-index:2;border-radius:3px 9px 9px 3px}
.book3d .b-pages{position:absolute;z-index:1;top:1.5%;bottom:1.5%;right:-9px;width:12px;border-radius:0 3px 3px 0;background:repeating-linear-gradient(90deg,#efe5d3 0 1px,#d9ccb6 1px 2px);box-shadow:inset -2px 0 3px rgba(0,0,0,.25)}
.book3d .b-shadow{position:absolute;left:4%;right:-6%;bottom:-8px;height:16px;border-radius:50%;background:rgba(0,0,0,.55);filter:blur(8px);z-index:0}
.shelf-book{position:relative;transition:transform .45s cubic-bezier(.3,.7,.2,1),filter .45s}
.shelf-book.solo{transform:rotate(-1.5deg)}
.shelf-book.solo:active{transform:scale(.98) rotate(-1.5deg)}
.shelf-book.duo{position:absolute;bottom:0}
.shelf-book.duo.front{z-index:3;transform:translateX(-14%) rotate(-2deg)}
.shelf-book.duo.back{z-index:1;transform:translateX(30%) translateY(-6px) rotate(5deg) scale(.9);filter:brightness(.72)}
.shelf-book.duo.back:active{filter:brightness(.9)}
.shelf3d.n2{height:min(110vw,400px);align-items:flex-end}
.shelf-caption{position:absolute;bottom:-46px;left:0;right:0;text-align:center;font-family:var(--f-serif);font-style:italic;font-size:17px;color:var(--ink2)}
.shelf-pile{position:relative;width:100%;height:min(108vw,400px)}
.shelf-pile .book3d{position:absolute;left:50%;bottom:0;transform-origin:50% 100%}
.shelf-pile .pile-0{transform:translateX(-50%) rotate(-2deg);z-index:4}
.shelf-pile .pile-1{transform:translateX(-14%) rotate(7deg);z-index:3;filter:brightness(.8)}
.shelf-pile .pile-2{transform:translateX(-88%) rotate(-9deg);z-index:2;filter:brightness(.7)}
.shelf-pile .pile-3{transform:translateX(-50%) translateY(-12px) rotate(3deg);z-index:1;filter:brightness(.6)}
.empty-shelf{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--ink2);font-family:var(--f-serif);font-style:italic;font-size:18px}
.es-book{width:120px;height:200px;border-radius:4px 9px 9px 4px;border:1.5px dashed color-mix(in srgb,var(--rose) 60%,transparent)}
.cover .cheart{font-size:1.5em;color:#e7c2a8;margin:.2em 0 .1em;text-shadow:0 2px 6px rgba(0,0,0,.35)}
.cv-verde{background:linear-gradient(160deg,#25402f,#10221a)}
.cv-linho .cheart,.cv-rosa .cheart,.cv-kraft .cheart{color:#a4545f}
.cover .ct.f-x{line-height:1.1;margin:.35em 0 .25em}

/* Adicionar */
.add-head{margin:2vh 0 18px}
.card-form{padding:16px;border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.cover-prev{display:flex;justify-content:center;margin:2px 0 18px}
.cover-models{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none}
.cover-models::-webkit-scrollbar{display:none}
.cm{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);padding:6px;border-radius:12px}
.cm.on{box-shadow:inset 0 0 0 2px var(--rose);color:var(--ink)}
.cm .cover{font-size:6px}
.photo-drop{width:100%;min-height:96px;border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--rose) 45%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink2);font-size:14px;overflow:hidden}
.photo-drop svg{width:28px;height:28px;stroke:var(--ink2);fill:none;stroke-width:1.5}
.photo-drop.tall{min-height:200px}
.photo-drop img{width:100%;max-height:300px;object-fit:cover}
.more-opts{margin-top:8px}
.more-opts summary{color:var(--rose);font-size:14px;padding:10px 0;cursor:pointer}
.colorpick{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink2)}
.colorpick input{width:42px;height:34px;border:0;padding:0;background:none;border-radius:8px}

/* Momentos */
.mo-head{position:relative;margin:1vh 0 16px}
.plus-btn{position:absolute;right:0;top:6px;width:40px;height:40px;background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--rose) 60%,transparent)}
.plus-btn svg{stroke:var(--rose)}
.mural{display:flex;gap:14px;align-items:flex-start;padding:4px 2px 20px}
.mcol{flex:1;display:flex;flex-direction:column;gap:18px;min-width:0}
.mo-card{position:relative;display:block;width:100%;text-align:left;color:#3a2a24;transition:transform .2s}
.mo-card:active{transform:scale(.97)!important}
.mo-card .tape,.letter-full .tape{position:absolute;top:-9px;left:50%;width:46%;height:18px;transform:translateX(-50%) rotate(-3deg);background:rgba(232,214,180,.72);box-shadow:0 1px 3px rgba(0,0,0,.25);z-index:2}
.mo-card.moment{background:#f7f2ea;padding:8px 8px 10px;box-shadow:0 10px 22px rgba(0,0,0,.45)}
.pol-img{width:100%;aspect-ratio:.9;background:#3b2f2c;overflow:hidden}
.pol-img img{width:100%;height:100%;object-fit:cover;display:block}
.pol-txt{padding:8px 4px 0;font-family:var(--f-script);line-height:1.15;position:relative}
.pol-txt b{display:block;font-weight:600;font-size:20px;color:#3a2a24}
.pol-txt span{display:block;font-size:16.5px;color:#5a4038;margin-top:3px}
.pol-txt em{position:absolute;right:2px;bottom:-4px;font-style:normal;color:#c46b7b;font-size:15px}
.mo-card.letter{padding:22px 14px 18px;box-shadow:0 10px 22px rgba(0,0,0,.4);min-height:120px}
.lt-body{white-space:pre-wrap;word-break:break-word;font-size:19px;line-height:1.3;color:#3a2a24}
.paper-creme{background:#f6eedf}
.paper-rosa{background:#f1d6d4}
.paper-kraft{background:#d6b48a}
.paper-pautado{background:#f8f3e8 repeating-linear-gradient(180deg,transparent 0 25px,rgba(120,150,190,.35) 25px 26px)}
.paper-vinho{background:#5a1c27}
.paper-vinho .lt-body{color:#f4e6d4}
.mo-card .deco,.letter-full .deco{position:absolute;right:8px;bottom:6px;font-size:22px}
.mo-card .flower{position:absolute;font-size:26px;z-index:3;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.mo-card .flower.f0{left:-10px;bottom:-10px}.mo-card .flower.f1{right:-8px;top:-12px}
.mo-empty{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;color:var(--ink2);text-align:center;padding-top:4vh}
.mo-empty p{max-width:30ch;font-family:var(--f-serif);font-size:18px;margin:6px 0 0}
.mo-empty .pol{width:170px;background:#f7f2ea;padding:8px 8px 12px;transform:rotate(-3deg);box-shadow:0 12px 26px rgba(0,0,0,.45)}
.mo-empty .pol-img{background:repeating-linear-gradient(45deg,#3b2f2c 0 10px,#352a27 10px 20px)}
.mo-empty .pol-cap{font-family:var(--f-script);color:#5a4038;font-size:18px;margin-top:6px}
.mi-sub{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.mo-editor{position:fixed;inset:0;z-index:700;background:var(--bg);display:flex;flex-direction:column;opacity:0;transform:translateY(20px);transition:opacity .22s,transform .22s}
.mo-editor.in{opacity:1;transform:none}
.mo-ed-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px calc(var(--sar) + 18px) calc(var(--sab) + 30px + var(--kb,0px)) calc(var(--sal) + 18px)}
.seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);margin:4px auto 16px;max-width:420px}
.seg button{flex:1;padding:10px;border-radius:999px;font-size:15px;color:var(--ink2)}
.seg button.on{background:linear-gradient(180deg,#e7a3ad,#c97482);color:#2a1013}
.counter-chars{text-align:right;font-size:12.5px;color:var(--muted);margin-top:-4px}
.mo-preview{display:flex;justify-content:center;padding:14px 0 10px}
.mo-preview .mo-card{max-width:220px}
.moment-full{background:#f7f2ea;padding:10px 10px 16px;box-shadow:0 12px 26px rgba(0,0,0,.45);transform:rotate(-1deg);max-width:420px;margin:6px auto 0}
.moment-full .pol-img{aspect-ratio:auto;max-height:60vh}
.moment-full .pol-img img{height:auto;max-height:60vh}
.letter-full{position:relative;padding:26px 18px 22px;box-shadow:0 12px 26px rgba(0,0,0,.4);max-width:440px;margin:10px auto 0}
.letter-full .lt-body{font-size:22px}

/* Perfil */
.profile{text-align:center}
.pf-head{position:relative;margin:1vh 0 14px}
.pf-head .ibtn{position:absolute;right:0;top:4px;background:transparent}
.pf-head .ibtn svg{stroke:var(--rose)}
.avatar{position:relative;width:112px;height:112px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:linear-gradient(160deg,#6c2a33,#3e161c);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 70%,transparent),0 12px 30px rgba(0,0,0,.5);font-family:var(--f-serif);font-size:44px;color:#f4e6d4}
.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.avatar .cam{position:absolute;right:2px;bottom:4px;width:32px;height:32px;border-radius:50%;background:var(--rose);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.avatar .cam svg{width:17px;height:17px;stroke:#2a1013;fill:none;stroke-width:1.8}
.pf-name{font-family:var(--f-serif);font-size:28px;margin-top:12px}
.pf-mail{color:var(--muted);font-size:14px}
.pf-couple{margin-top:8px;font-family:var(--f-script);font-size:21px;color:var(--rose)}
.pf-bio{color:var(--ink2);font-size:14.5px;max-width:34ch;margin:8px auto 0}
.stats{display:flex;justify-content:center;gap:4px;margin:18px auto 6px;max-width:440px;padding:12px 8px;border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.st-i{flex:1;display:flex;flex-direction:column;align-items:center}
.st-i b{font-family:var(--f-serif);font-size:24px;font-weight:500}
.st-i span{font-size:11.5px;color:var(--muted)}
.pf-list{display:flex;flex-direction:column;gap:10px;margin:16px auto 0;max-width:460px;text-align:left}
.pf-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 14px;border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:16px}
.pf-item.static{background:transparent;box-shadow:none;padding-bottom:0}
.pf-item>svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:1.8;flex:0 0 auto}
.pfi svg{width:24px;height:24px;stroke:var(--rose);fill:color-mix(in srgb,var(--rose) 15%,transparent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pft{flex:1;display:flex;flex-direction:column}
.pft small{color:var(--muted);font-size:12.5px;margin-top:2px}
.themes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 4px}
.theme-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 8px 10px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);font-size:13px;color:var(--ink2)}
.theme-card .tc-img{width:100%;height:70px;border-radius:10px;display:grid;place-items:center;font-size:26px}
.t-romance .tc-img{background:radial-gradient(80% 90% at 30% 20%,#7a2d3e,#2a0f16)}
.t-noite .tc-img{background:radial-gradient(80% 90% at 70% 20%,#2c4174,#0a0f1e)}
.theme-card.on{box-shadow:inset 0 0 0 2px var(--rose)}
.tc-check{position:absolute;right:10px;top:10px;width:24px;height:24px;border-radius:50%;background:var(--rose);color:#2a1013;font-style:normal;display:grid;place-items:center;font-size:14px}
.drive-box{margin:12px 0;padding:14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);background:var(--card)}
.drive-box b{display:block;margin-bottom:4px;font-weight:500}
.drive-box .btn{margin-top:10px}
.font-cat{margin:20px 0 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* Editor v2 */
.ed-top .st{font-size:12px}
.ed-area{overflow:hidden}
.editor.zoomed .ed-area{overflow:auto;-webkit-overflow-scrolling:touch}
.editor.zoomed .ed-area .stage{position:relative;left:auto;top:auto;transform:none;margin:16px auto}
.editor.zoomed .ed-canvas{touch-action:pan-x pan-y}
.editor.zoomed .ed-canvas .el,.editor.zoomed .handle{touch-action:none}
.zoom-btn{position:absolute;right:calc(var(--sar) + 12px);top:calc(var(--sat) + 62px);z-index:20;min-width:42px;height:32px;padding:0 10px;border-radius:999px;background:rgba(0,0,0,.45);color:var(--ink);font-size:13px}
.prev-exit{display:none}
.editor.previewing .ed-tools,.editor.previewing .ed-top,.editor.previewing .zoom-btn{display:none}
.editor.previewing .prev-exit{display:block;position:absolute;left:50%;bottom:calc(var(--sab) + 18px);transform:translateX(-50%);z-index:30;padding:12px 20px;border-radius:999px;background:rgba(0,0,0,.6);color:var(--ink);font-size:14px}
.editor.previewing .ed-area{padding-bottom:40px}
.guide{position:absolute;z-index:180;pointer-events:none;background:#ff6fa3}
.guide.v{top:0;bottom:0;width:1px}
.guide.hz{left:0;right:0;height:1px}
.handle.side{width:16px;height:30px;margin:-15px 0 0 -8px;border-radius:8px}
.lock-badge{position:absolute;z-index:200;margin:-12px 0 0 -12px;font-size:15px;background:rgba(0,0,0,.55);border-radius:50%;width:26px;height:26px;display:grid;place-items:center}
.ed-canvas .el.cropping{outline:2px solid #ffd27a;outline-offset:2px}
.panel{border-top:1px solid var(--line);margin-top:6px;padding-top:6px;max-height:34vh;overflow-y:auto}
.chips-row{flex-wrap:nowrap}
.chips-row .chip{flex:0 0 auto;font-size:13px;padding:8px 12px}
.sw-wrap{position:relative;flex:0 0 auto;width:30px;height:30px;border-radius:50%;overflow:hidden;background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red)}
.sw-custom{opacity:0;position:absolute;inset:0;width:100%;height:100%}
.font-item{display:block;width:100%;text-align:left;padding:12px 12px;border-radius:12px;margin-bottom:6px;background:var(--card)}
.font-item.on{box-shadow:inset 0 0 0 2px var(--rose)}
.font-pv{font-size:24px;line-height:1.2;color:var(--ink)}
.font-nm{font-size:12px;color:var(--muted);margin-top:4px}
.shape-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.shape-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--ink2)}
.shape-pv{position:relative;width:100%;aspect-ratio:1;border-radius:10px;background:#2a1d1c;overflow:hidden;--pw:70px;--ph:70px}
.el-shape .ln{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);border-radius:2px}
.sh-fita{clip-path:polygon(0 8%,4% 0,8% 10%,12% 0,100% 0,96% 12%,100% 22%,96% 34%,100% 46%,96% 58%,100% 70%,96% 82%,100% 92%,96% 100%,0 100%,4% 88%,0 76%,4% 64%,0 52%,4% 40%,0 28%,4% 16%)}
.sh-papel{clip-path:polygon(0 4%,6% 0,12% 3%,20% 0,28% 4%,36% 1%,44% 3%,52% 0,60% 4%,68% 1%,76% 3%,84% 0,92% 3%,100% 1%,100% 96%,92% 100%,84% 97%,76% 100%,68% 96%,60% 99%,52% 96%,44% 100%,36% 97%,28% 100%,20% 96%,12% 99%,6% 96%,0 99%);box-shadow:0 6px 14px rgba(0,0,0,.35)}
.sh-bilhete{background-image:repeating-linear-gradient(180deg,transparent 0 calc(var(--pw)*.05),rgba(120,150,190,.35) calc(var(--pw)*.05) calc(var(--pw)*.052))!important;box-shadow:0 8px 16px rgba(0,0,0,.35)}
.sh-bilhete::before{content:"";position:absolute;left:50%;top:-7%;width:34%;height:16%;transform:translateX(-50%) rotate(-3deg);background:rgba(232,214,180,.7)}
.sh-etiqueta{clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%);box-shadow:0 3px 8px rgba(0,0,0,.3)}
.el-img.fr-classica{background:linear-gradient(135deg,#b8915a,#f0d79c 30%,#9c7442 55%,#e8c88a 80%,#8a6236);box-shadow:0 10px 24px rgba(0,0,0,.5),inset 0 0 0 2px rgba(0,0,0,.25)}
.el-img.fr-classica .ph{box-shadow:inset 0 0 8px rgba(0,0,0,.6)}
.el-img.fr-circulo .ph{inset:0;border-radius:50%;box-shadow:0 8px 22px rgba(0,0,0,.45)}
.el-img .ph img{transition:none}
.bg-azul{background:#19223a}
.bg-pautado{background:#f8f3e8 repeating-linear-gradient(180deg,transparent 0 calc(var(--pw)*.07 - 1px),rgba(120,150,190,.3) calc(var(--pw)*.07 - 1px) calc(var(--pw)*.07));color:#3a2a24}
.bg-quadriculado{background-color:#f8f3e8;background-image:linear-gradient(rgba(120,150,190,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(120,150,190,.22) 1px,transparent 1px);background-size:calc(var(--pw)*.05) calc(var(--pw)*.05);color:#3a2a24}
.bg-azul::after{content:"";position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .45  0 0 0 0 .4  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.el-text.box-destaque{padding:.15em .4em;border-radius:.2em}
.ch-foot .btn{font-size:14px}

.home>*{flex-shrink:0}
.shelf-stage{min-height:0;margin-bottom:8px}
.shelf3d.n2,.shelf3d.n3{margin-bottom:40px}
.shelf-book.duo.front{transform:translateX(-24%) rotate(-2deg)}
.shelf-book.duo.back{transform:translateX(36%) translateY(-6px) rotate(5deg) scale(.9)}
.shelf-caption{bottom:-36px}

.paper{z-index:0;isolation:isolate}

/* ======== v1.3 · cenário desenhado ======== */
.tab-content>.screen{background:radial-gradient(120% 60% at 50% 0%,var(--glow) 0%,var(--bg) 60%)}
.tab-content>.screen::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><g fill='none' stroke='%23f1c6cf' stroke-width='1'><path d='M60 20c6 8 6 14 0 20-6-6-6-12 0-20zM60 40c8-6 14-6 20 0-6 6-12 6-20 0zM60 40c-8-6-14-6-20 0 6 6 12 6 20 0zM60 40c6 8 6 14 0 20-6-6-6-12 0-20z'/><path d='M0 100h20M100 100h20M10 90v20M110 90v20'/></g></svg>")}
.tab-content>.screen>*{position:relative;z-index:1}
/* Início */
.screen.home{display:flex;flex-direction:column;min-height:100%;overflow-x:hidden;background:#140709}
.scene{position:absolute!important;inset:0;z-index:0!important;overflow:hidden;pointer-events:none}
.scene-wall{position:absolute;inset:-10px -20px 18% -20px;display:flex;flex-direction:column;gap:10px;padding:10px 0;filter:blur(2.6px) brightness(.5) saturate(.9);
  background:linear-gradient(180deg,#2a1610,#1b0d0a)}
.sw-row{flex:1;display:flex;align-items:flex-end;gap:1px;padding:0 6px;border-bottom:12px solid #3a1f14;box-shadow:0 10px 14px rgba(0,0,0,.6)}
.sw-row i{flex:0 0 auto;border-radius:2px 2px 0 0;display:block}
.sw-row b{flex:0 0 auto;display:block}
.scene-lights{position:absolute;inset:0}
.scene-lights i{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,214,150,1),rgba(255,170,90,.55) 45%,transparent 70%);animation:twinkle 4.5s ease-in-out infinite}
@keyframes twinkle{0%,100%{transform:scale(1)}50%{transform:scale(1.25);opacity:.95}}
.scene-vignette{position:absolute;inset:0;background:
  radial-gradient(70% 45% at 50% 62%,rgba(255,170,120,.18),transparent 70%),
  linear-gradient(180deg,rgba(20,7,9,.82) 0%,rgba(20,7,9,.35) 26%,rgba(20,7,9,.15) 55%,rgba(20,7,9,.5) 80%,rgba(20,7,9,.95) 100%)}
:root[data-theme="noite"] .screen.home{background:#070b16}
:root[data-theme="noite"] .scene-wall{filter:blur(2.6px) brightness(.4) saturate(.6) hue-rotate(190deg)}
:root[data-theme="noite"] .scene-vignette{background:radial-gradient(70% 45% at 50% 62%,rgba(150,180,255,.15),transparent 70%),linear-gradient(180deg,rgba(7,11,22,.85),rgba(7,11,22,.3) 30%,rgba(7,11,22,.2) 55%,rgba(7,11,22,.6) 80%,rgba(7,11,22,.95))}
:root[data-theme="noite"] .scene-lights i{background:radial-gradient(circle,rgba(220,230,255,1),rgba(150,180,255,.5) 45%,transparent 70%)}
.home-head{padding-top:1vh}
.home-head .home-sub{text-shadow:0 2px 10px rgba(0,0,0,.8)}
.shelf-stage{flex:1;position:relative;min-height:360px;margin:2vh -20px 0;max-width:none;width:auto;display:flex;align-items:flex-end;justify-content:center;padding-bottom:0}
.shelf-stage .table{position:absolute;left:0;right:0;bottom:0;height:64px;
  background:linear-gradient(180deg,#8a5434 0,#6b3c24 6%,#4f2a18 40%,#2c160c 100%),repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 3px,transparent 3px 11px);
  background-blend-mode:multiply;box-shadow:inset 0 2px 0 rgba(255,210,170,.25),0 -6px 20px rgba(0,0,0,.4)}
.shelf-stage .table::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(178deg,rgba(255,220,180,.04) 0 2px,transparent 2px 9px)}
:root[data-theme="noite"] .shelf-stage .table{background:linear-gradient(180deg,#4a4f6a,#2a2f45 40%,#141828)}
.book-glow{position:absolute;left:50%;bottom:40px;width:340px;height:300px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,180,130,.28),transparent);pointer-events:none}
.shelf3d{position:relative;z-index:2;margin-bottom:38px;height:auto;width:100%;display:flex;justify-content:center;align-items:flex-end}
.shelf3d.n2,.shelf3d.n3{margin-bottom:38px;height:min(88vw,360px)}
.shelf-pile{height:min(90vw,370px)}
.flw{position:absolute;z-index:3;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}
.flw svg{width:100%;height:100%;display:block}
.fl-left{left:-14px;bottom:26px;width:190px;height:138px}
.fl-right{right:-6px;bottom:30px;width:96px;height:96px;transform:scaleX(-1)}
.flowers,.plank,.bokeh,.shelf-caption{display:none!important}
.es-book{display:grid;place-items:center;font-size:40px;color:var(--rose);margin-bottom:40px}
/* Capas com acabamento dourado */
.cover .corner{position:absolute;z-index:5;width:15%;aspect-ratio:1;background-size:100% 100%;pointer-events:none;opacity:.95}
.cover .corner.tl{left:13%;top:7%}
.cover .corner.tr{right:7%;top:7%;transform:scaleX(-1)}
.cover .corner.bl{left:13%;bottom:7%;transform:scaleY(-1)}
.cover .corner.br{right:7%;bottom:7%;transform:scale(-1,-1)}
.cover .frame{border-color:rgba(220,181,108,.75)!important}
.cover.gold .ct,.cover.gold .ck,.cover.gold .cs{background:linear-gradient(180deg,#fbe7b3 0%,#d9ab5e 48%,#f3d491 70%,#b88845 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}
.cover .cheart{width:34%;margin:.15em 0 .2em;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45))}
.cover .cheart svg{width:100%;display:block}
.cv-couro{background:radial-gradient(120% 80% at 40% 30%,#7e2f3b,#4a1820 70%,#33101a)}
.cv-couro::before,.cv-verde::before,.cv-noite::before,.cv-preto::before{background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.15) 55%,rgba(255,255,255,.1) 80%,rgba(0,0,0,.25))}
.book3d .b-pages{background:repeating-linear-gradient(180deg,#f3eadb 0 1px,#d8c9b0 1px 2px)}
.cm .cover .corner{display:none}
/* Momentos */
.mo-head{padding-top:4px}
.mo-hflower{left:-10px;top:-6px;width:66px;height:66px}
.mflower{width:56px;height:56px}
.mflower.f0{left:-16px;bottom:-14px}
.mflower.f1{right:-14px;top:-16px;transform:scaleX(-1)}
.mo-card .flower{display:none}
.mural{position:relative;z-index:1}
.mo-hflower{left:-18px;top:-22px;width:50px;height:50px}

/* ======== v1.4 · Início igual à referência ======== */
.screen.home2{padding:0!important;overflow:hidden;background:#1a0a0b;display:flex;align-items:flex-end;justify-content:center}
.screen.home2::before{display:none}
.hs-blur{position:absolute!important;inset:0;z-index:0!important;background:url(inicio-cena.jpg) center top/cover;filter:blur(22px) brightness(.55);transform:scale(1.15)}
.hs-box{position:relative;z-index:1;aspect-ratio:921/1685;background:url(inicio-cena.jpg) center/100% 100% no-repeat;margin-bottom:calc(var(--sab) + 70px);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);transition:filter .26s}
.hs-head{position:absolute;left:0;right:0;top:1.6%;text-align:center}
.hs-head h1{margin:.05em 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:11.2em;line-height:1.02;color:#f2a9b6;letter-spacing:-.01em;text-shadow:0 .03em .25em rgba(0,0,0,.55)}
.hs-orn{display:flex;align-items:center;justify-content:center;gap:1.4em;color:#e89aa9}
.hs-orn i{display:block;width:15em;height:1px;background:linear-gradient(90deg,transparent,#d88f9e 20%,#d88f9e)}
.hs-orn i:last-child{background:linear-gradient(90deg,#d88f9e,#d88f9e 80%,transparent)}
.hs-orn b svg{width:3.4em;height:3.2em;fill:none;stroke:#e89aa9;stroke-width:1.8;display:block}
.hs-head p{margin:.9em 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:6.1em;line-height:1.28;color:#f4ece4;text-shadow:0 .05em .3em rgba(0,0,0,.8)}
.hs-ctitle{position:absolute;left:30.6%;width:29.6%;top:59.2%;height:15.4%;display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:5.6em;line-height:1.08;word-break:break-word;
  background:linear-gradient(180deg,#f7dfa6 0%,#d6a75d 50%,#f0cf8a 72%,#b58444 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 .06em .06em rgba(0,0,0,.55));transition:opacity .26s}
.hs-ctitle.long{font-size:4.4em}
.hs-box.swap .hs-ctitle{opacity:0}
.hs-box.swap{filter:brightness(.85)}
.hs-draft{position:absolute;left:36%;top:35.5%;width:18%;text-align:center;font-size:2.6em;letter-spacing:.14em;text-transform:uppercase;color:#f3d593;background:rgba(0,0,0,.45);border-radius:999px;padding:.2em 0}
.hs-front{position:absolute;left:18%;top:31%;width:55%;height:52%;border-radius:1em}
.hs-front:active{background:rgba(255,220,200,.06)}
.hs-stack{position:absolute;left:73%;top:33%;width:25%;height:48%}
.hs-badge{position:absolute;left:78%;top:52%;width:12em;height:12em;margin:-6em 0 0 -1em;border-radius:50%;display:grid;place-items:center;pointer-events:none;
  background:rgba(25,10,12,.7);border:1px solid rgba(255,230,220,.55);color:#fff;font-family:var(--f-sans);font-size:.9em}
.hs-badge{font-size:4.6em;width:2.6em;height:2.6em;margin:-1.3em 0 0 -.2em}
:root[data-theme="noite"] .hs-box,:root[data-theme="noite"] .hs-blur{filter:hue-rotate(195deg) saturate(.7) brightness(.85)}
:root[data-theme="noite"] .hs-blur{filter:hue-rotate(195deg) saturate(.6) blur(22px) brightness(.45)}

/* ======== v1.5 · alças de redimensionar ======== */
.ed-area .stage{touch-action:none}
.editor.zoomed .ed-area .stage{touch-action:pan-x pan-y}
.sel-ov{position:absolute;z-index:250;pointer-events:none;outline:1.5px solid rgba(127,178,255,.95);outline-offset:1px;transform-origin:50% 50%}
.sel-ov.mode-crop{outline:2px dashed #ffd27a}
.sel-ov.mode-zoom{outline:2px solid #ffd27a}
.ed-canvas .el.sel{outline:none}
.hd{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;pointer-events:auto;touch-action:none;display:grid;place-items:center;z-index:2}
.hd i{display:block;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #7fb2ff;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.hd-side i{width:10px;height:22px;border-radius:6px}
.hd-crop i{width:16px;height:16px;border-radius:3px;background:#ffd27a;border-color:#fff}
.hd-crop[data-sx="0"] i{width:24px;height:8px}
.hd-crop[data-sy="0"] i{width:8px;height:24px}
.hd-rot i{width:28px;height:28px;display:grid;place-items:center;border-color:#7fb2ff}
.hd-rot i svg{width:15px;height:15px;stroke:#2b5fad;fill:none;stroke-width:2.2}
.rot-stem{position:absolute;left:50%;top:-20px;width:1.5px;height:20px;background:rgba(127,178,255,.9);pointer-events:none}
.ov-hint{position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);white-space:nowrap;font-size:11px;color:#ffd27a;background:rgba(0,0,0,.55);padding:3px 8px;border-radius:999px}
.lock-badge2{position:absolute;right:-12px;top:-12px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.6);display:grid;place-items:center;font-size:14px}
.el-img .ph{overflow:hidden}

/* ======== v1.6 · estante com os livros de verdade ======== */
.screen.home3{padding:0!important;overflow:hidden;background:#1a0a0b;display:flex;align-items:flex-end;justify-content:center}
.screen.home3::before{display:none}
.hs-blur3{position:absolute!important;inset:0;z-index:0!important;background:url(inicio-fundo.jpg) center top/cover;filter:blur(22px) brightness(.55);transform:scale(1.15)}
.hs-box3{position:relative;z-index:1;aspect-ratio:921/1685;background:url(inicio-fundo.jpg) center/100% 100% no-repeat;margin-bottom:calc(var(--sab) + 70px);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.hs-flores{position:absolute;left:-1.3%;top:56.38%;width:39.09%;height:46.88%;background:url(inicio-flores.png) center/100% 100% no-repeat;z-index:8;pointer-events:none}
.hs-books{position:absolute;inset:0}
.hb{position:absolute;bottom:17%;perspective:1100px;transition:left .45s cubic-bezier(.3,.7,.2,1),width .45s cubic-bezier(.3,.7,.2,1),filter .45s,transform .45s}
.hb .book3d{width:100%;transform:rotateY(22deg);transform-origin:50% 100%;transform-style:preserve-3d}
.hb .cover{width:100%!important;box-shadow:0 1.5em 2.6em rgba(0,0,0,.55),0 .3em .6em rgba(0,0,0,.35)}
.hb:active .book3d{transform:rotateY(18deg) translateY(-.6em)}
.slot-solo{left:23%;width:52%;z-index:4}
.slot-front{left:15%;width:50%;z-index:4}
.slot-back{left:47%;width:42%;z-index:3;filter:brightness(.72)}
.slot-p0{left:12%;width:48%;z-index:5}
.slot-p1{left:39%;width:41%;z-index:4;filter:brightness(.8)}
.slot-p2{left:55%;width:36%;z-index:3;filter:brightness(.68)}
.slot-p3{left:65%;width:31%;z-index:2;filter:brightness(.58)}
.book3d .b-spine{position:absolute;left:0;top:0;bottom:0;width:calc(var(--cw,200px)*.15);transform-origin:0 50%;transform:rotateY(90deg);border-radius:3px 0 0 3px;display:flex;flex-direction:column;justify-content:space-evenly;padding:12% 0}
.book3d .b-spine i{display:block;height:2px;margin:0 12%;background:linear-gradient(90deg,#9d7438,#f0d08c,#9d7438);opacity:.85}
.hb .b-pages{display:none}
.hb .b-shadow{left:-6%;right:-4%;bottom:-.6em;height:2.2em;filter:blur(.7em);background:rgba(0,0,0,.7)}
.hs-badge3{position:absolute;left:66%;top:28%;z-index:9;padding:.45em 1em;border-radius:999px;font-family:var(--f-sans);font-size:3.4em;color:#fff;background:rgba(25,10,12,.72);border:1px solid rgba(255,230,220,.5)}
.hb .draft-badge{z-index:9;font-size:2.4em;top:4%;right:auto;left:50%;transform:translateX(-50%)}
.hb-empty{position:absolute;left:27%;width:46%;top:33%;height:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8em;border-radius:.6em 1.4em 1.4em .6em;border:2px dashed rgba(235,190,140,.6);background:rgba(30,10,12,.35);color:#f2e3d0;text-align:center}
.hbe-book span{font-size:14em;line-height:1;color:#e9a6b0;font-family:var(--f-serif)}
.hbe-t{font-family:'Great Vibes',var(--f-script);font-size:7.5em;color:#f2a9b6;line-height:1}
.hbe-s{font-family:var(--f-serif);font-style:italic;font-size:3.8em;padding:0 8%}
:root[data-theme="noite"] .hs-box3,:root[data-theme="noite"] .hs-flores{filter:hue-rotate(195deg) saturate(.7) brightness(.85)}
:root[data-theme="noite"] .hs-blur3{filter:hue-rotate(195deg) saturate(.6) blur(22px) brightness(.45)}
:root[data-theme="noite"] .hb{filter:none}
/* capa: foto inteira, oval */
.cover .cphoto-full{position:absolute;inset:0;z-index:1;overflow:hidden}
.cover .cphoto-full img{width:100%;height:100%;object-fit:cover;display:block}
.cover .cphoto-full i{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.05) 35%,rgba(0,0,0,.15) 60%,rgba(0,0,0,.65))}
.cover .cph{overflow:hidden}
.cover .cph img{transform-origin:50% 50%}
.cover .cph.cph-oval{border-radius:50%;padding:3%;background:linear-gradient(135deg,#f0d08c,#a87a3a 50%,#f3d593);aspect-ratio:.8;width:58%;transform:none}
.cover .cph.cph-oval img{border-radius:50%}
.cover.has-full-photo .ci{justify-content:flex-end;padding-bottom:6%}
.photo-opts .prop{padding:2px 0}
/* capa como primeira folha */
.leaf.cover-leaf{background:transparent;border-radius:3px 10px 10px 3px}
.leaf.cover-leaf::before{display:none}
.leaf.cover-leaf .cover{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;--cw:var(--pw);border-radius:3px 10px 10px 3px}
.empty-toc{line-height:1.5}
.empty-toc .et-h{color:var(--rose);font-size:1.4em;margin-bottom:.3em;font-style:normal}
.empty-toc .et-s{font-size:.72em;color:var(--faint)}
