/* angel.sav live skin. sprite positions and scales are generated into angel.gen.css by scripts/build_page.py */
/* angel-kit: every frame and sticker from one atlas. --s = css px per art pixel (1 is native). */
:root{--ak-ink:#1c0450}
.ak,.akf::after{background-image:url(../assets/kit/atlas.png);background-repeat:no-repeat;image-rendering:pixelated;
 background-size:calc(var(--aw)*var(--s,1)) calc(var(--ah)*var(--s,1));
 background-position:calc(var(--x)*var(--s,1)*-1px) calc(var(--y)*var(--s,1)*-1px)}
.ak{display:inline-block;flex:none;width:calc(var(--w)*var(--s,1)*1px);height:calc(var(--h)*var(--s,1)*1px)}
.akf{position:relative;display:inline-block;flex:none;margin:0;width:calc(var(--w)*var(--s,1)*1px);height:calc(var(--h)*var(--s,1)*1px)}
.akf::after{content:"";position:absolute;inset:0;pointer-events:none}
.akf-win{position:absolute;inset:0;-webkit-mask-image:url(../assets/kit/atlas.png);mask-image:url(../assets/kit/atlas.png);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-size:calc(var(--aw)*var(--s,1)) calc(var(--ah)*var(--s,1));mask-size:calc(var(--aw)*var(--s,1)) calc(var(--ah)*var(--s,1));
 -webkit-mask-position:calc(var(--mx)*var(--s,1)*-1px) calc(var(--my)*var(--s,1)*-1px);mask-position:calc(var(--mx)*var(--s,1)*-1px) calc(var(--my)*var(--s,1)*-1px)}
.akf-win>*{position:absolute;left:calc(var(--wx)*var(--s,1)*1px);top:calc(var(--wy)*var(--s,1)*1px);width:calc(var(--ww)*var(--s,1)*1px);height:calc(var(--wh)*var(--s,1)*1px);object-fit:cover}
@font-face{font-display:swap;font-family:"daydream";src:url(../assets/fonts/daydream.otf)}
@font-face{font-display:swap;font-family:"04b30";src:url(../assets/fonts/04b_30.ttf)}
@font-face{font-display:swap;font-family:"rainyhearts";src:url(../assets/fonts/rainyhearts.ttf)}
.pg{--ink:#1c0450;--plum:#3a1463;--plum2:#6b3a8f;--page:#fcd3ea;--paper:#fff8fc;--butter:#fcf4a0;--pinkp:#fbc0e2;--ice:#dee3f9;--pink:#ff5fa8;--hot:#f82e9f;--lilac:#c9a9fb;--yel:#fff06a;
 --ol:-2px -2px 0 #1c0450,2px -2px 0 #1c0450,-2px 2px 0 #1c0450,2px 2px 0 #1c0450,0 -2px 0 #1c0450,0 2px 0 #1c0450,-2px 0 0 #1c0450,2px 0 0 #1c0450;
 width:100%;max-width:440px;min-width:320px;box-sizing:border-box;margin:0 auto;overflow:hidden;position:relative;color:var(--ink);
 font-family:"rainyhearts","Pixelify Sans",monospace;font-size:20px;line-height:.98;display:flex;flex-direction:column;-webkit-font-smoothing:none;
 background-color:var(--page);background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:13px 13px}
.pg *{box-sizing:border-box}
:where(.pg) :where(p,h1,h2,h3,ul,ol,figure){margin:0;padding:0;font-weight:400}
:where(.pg) :where(ul,ol){list-style:none}
:where(.pg) :where(button){font:inherit;color:inherit;cursor:pointer;text-align:left;background:none;border:0;padding:0}
:where(.pg) :where(b,i,small){font-weight:400;font-style:normal}
.pg a{color:var(--plum)}.pg a:hover{color:var(--hot)}
.pg :focus-visible{outline:3px solid var(--hot);outline-offset:1px}
.dd{font-family:"daydream","04b30",monospace;line-height:1.3}
.nn{font-family:"04b30","daydream",monospace}
.rf{display:block;font-size:15px;color:var(--plum2);line-height:1}
.fine{font-size:16px;line-height:.98;color:var(--plum)}
.st{position:absolute;pointer-events:none;z-index:5}
.t1{transform:rotate(-1.6deg)}.t2{transform:rotate(1.4deg)}.t3{transform:rotate(-2.6deg)}.t4{transform:rotate(2.3deg)}
.vt{writing-mode:vertical-rl;transform:rotate(180deg)}
/* header */
.hd{position:relative;padding:8px 6px 0}
.ttl{font-size:33px;line-height:1;color:#ff8ecb;margin:6px 0 0 54px;transform:rotate(-3deg);transform-origin:left;white-space:nowrap;text-shadow:var(--ol),4px 5px 0 var(--plum2)}
.thesis{position:absolute;right:-8px;top:54px;width:138px;background:var(--yel);border:2px solid var(--ink);padding:11px 7px 7px;font-size:18px;line-height:.93;transform:rotate(5deg);z-index:4;box-shadow:3px 3px 0 rgba(58,20,99,.35)}
.sub{width:232px;margin-top:12px;background:var(--paper);border:2px solid var(--ink);padding:4px 7px 6px;font-size:21px;transform:rotate(-1.5deg)}
.save{display:flex;justify-content:space-between;margin:10px -10px 0;background:var(--ink);color:#ffd3ec;transform:rotate(1.2deg);padding:5px 150px 6px 16px;font-size:15px;position:relative;z-index:2}
.save li{display:flex;flex-direction:column;align-items:center;line-height:1}
.save b{font-size:23px;color:var(--yel)}
/* An intentionally obvious scrapbook label for the horizontally scrollable sections. */
.nav-cue{display:flex;gap:7px;align-items:center;width:max-content;max-width:calc(100% - 20px);
 margin:8px 10px -7px auto;padding:4px 7px 5px;position:relative;z-index:4;pointer-events:none;
 transform:rotate(3deg);font-family:"04b30","daydream",monospace;font-size:12px;line-height:1.2;
 background:var(--yel);border:2px solid var(--ink);box-shadow:2px 3px 0 rgba(58,20,99,.35);}
.nav-cue b{font-size:15px;color:var(--hot);white-space:nowrap}
.nav-cue[hidden]{display:none}
.nav{display:flex;gap:0;overflow-x:auto;padding:10px 2px 6px}
.nav a{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;min-width:58px;min-height:52px;font-size:16px;line-height:1;text-decoration:none;color:var(--ink);background:var(--paper);border:2px solid var(--ink);padding:4px 5px;margin-right:-2px}
.nav a:nth-child(odd){transform:rotate(-2deg)}.nav a:nth-child(even){transform:rotate(2deg) translateY(3px);background:var(--butter)}
.tick{background:var(--plum);color:#ffd3ec;border-block:2px solid var(--ink);overflow:hidden;white-space:nowrap;margin:2px -12px 0;font-size:23px;padding:4px 0 6px;transform:rotate(-1.2deg)}
.tick-in{display:inline-block;animation:tk 46s linear infinite}
.tick b{color:var(--yel)}
@keyframes tk{to{transform:translateX(-50%)}}
/* hero loop */
.hero{position:relative;padding:0 6px 8px}
.hero-n{display:inline-block;font-size:150px;line-height:.9;color:#ff8ecb;transform:rotate(-6deg);margin:6px 0 0 34px;letter-spacing:-4px;text-shadow:-3px -3px 0 #1c0450,3px -3px 0 #1c0450,-3px 3px 0 #1c0450,3px 3px 0 #1c0450,0 -3px 0 #1c0450,0 3px 0 #1c0450,-3px 0 0 #1c0450,3px 0 0 #1c0450,8px 9px 0 var(--plum)}
.hero-band{position:absolute;left:-14px;right:-14px;top:134px;transform:rotate(3deg);background:var(--plum);color:var(--yel);border-block:3px solid var(--ink);font-size:15px;line-height:1.25;padding:7px 22px 8px;z-index:4;text-align:center}
.hearts{display:flex;flex-wrap:wrap;gap:1px;background:var(--paper);border:2px solid var(--ink);padding:5px 4px;margin-top:46px;transform:rotate(-1.2deg);position:relative;z-index:3;box-shadow:3px 4px 0 rgba(58,20,99,.3)}
.key{font-size:20px;margin:7px 2px 6px}
.c3{display:grid;grid-template-columns:1fr 1fr 1fr}
.c3 li{background:var(--paper);border:2px solid var(--ink);padding:5px 5px 6px;font-size:18px;line-height:.93;margin-right:-2px}
.c3 b{display:block;font-size:24px;color:var(--hot);line-height:1.05}
.c3 .t2{background:var(--butter);margin-top:8px}.c3 .t3{background:var(--ice)}
.rc{position:relative;background:#fff;border:2px solid var(--ink);padding:6px 8px 8px;font-size:25px;margin:10px 22px 6px 4px;box-shadow:3px 4px 0 rgba(58,20,99,.3)}
/* panels */
.pn{position:relative;margin:8px 6px 0;padding:9px 8px;border:2px solid var(--ink);background:var(--paper);box-shadow:3px 4px 0 rgba(58,20,99,.3)}
.pn.butter{background:var(--butter)}.pn.pink{background:var(--pinkp)}.pn.ice{background:var(--ice)}
.h2{font-size:21px;line-height:1.28;margin-bottom:5px}
.h2.big{font-size:30px}
.h2.huge{font-size:36px;line-height:1.02;color:#ff8ecb;text-shadow:var(--ol),4px 5px 0 var(--plum2);transform:rotate(-3deg);transform-origin:left;position:relative;z-index:4}
.h3{font-size:16px;line-height:1.3;margin:8px 0 5px}
.h2 b,.h3 b{color:var(--hot)}
.tab{display:inline-block;font-size:18px;background:var(--plum);color:#ffc4e6;border:2px solid var(--ink);padding:5px 8px 7px;margin:-22px 0 6px -13px;transform:rotate(-2.5deg)}
.tab b{color:var(--yel)}
.tug{margin-top:2px;z-index:4}
.tg{margin-top:5px}.tg .lab{font-size:19px}
.ends{display:flex;justify-content:space-between;font-size:19px}.ends i{font-size:23px;color:var(--hot)}
.tg .bar{height:18px;border:2px solid var(--ink);background:#bfd0f9}
.tg .bar i{display:block;height:100%;background:var(--pink);border-right:2px solid var(--ink)}
/* same breath band */
.band{position:relative;margin:24px -12px 0;border-block:3px solid var(--ink);transform:skewY(-3deg);padding:14px 18px 30px;z-index:1;
 background-color:var(--plum);background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:13px 13px}
.band-in{transform:skewY(3deg);position:relative}
.band .h2{color:#ffb9e0}
.lead{font-size:20px}
.band .lead{color:#ffd3ec;font-size:22px;margin-bottom:10px}.band .lead b{color:var(--yel);font-size:24px}
.band .h3{color:var(--yel);margin-top:18px}
.pair{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px}
.pc{display:block;border:2px solid var(--ink);padding:6px 7px 30px;font-size:26px;line-height:.9;background:var(--ice)}
.pc.a{transform:rotate(-3deg);z-index:1}
.pc.b{transform:rotate(2.5deg) translateY(12px);background:#ffd6ec;margin-left:-8px;padding-left:16px}
.gap{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%) rotate(-10deg);background:var(--yel);border:2px solid var(--ink);border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:13px;z-index:3}
.shot .pc{font-size:22px}
.facts{display:flex;overflow-x:auto;padding:4px 0 10px;margin-right:-18px}
.facts li{flex:none;width:236px;display:grid;grid-template-columns:44px 1fr;gap:6px;align-items:start;background:var(--paper);border:2px solid var(--ink);padding:5px 6px 7px;margin-right:-2px;font-size:20px;line-height:.93}
.facts li:nth-child(odd){transform:rotate(-1.5deg)}.facts li:nth-child(even){transform:rotate(1.5deg) translateY(4px);background:var(--butter)}
.facts b{font-size:19px;color:var(--hot);text-align:center}
.facts i{display:block;color:var(--plum2);font-size:15px}
/* windows + calendar */
.win{padding:0}
.win .bar,.win2 .bar{display:flex;justify-content:space-between;align-items:center;background:var(--lilac);border-bottom:2px solid var(--ink);padding:4px 7px;font-size:11px}
.wb{font-family:"rainyhearts",monospace;font-size:16px;letter-spacing:2px}
.wbody{padding:8px}
#storm{transform:perspective(700px) rotateY(9deg) rotate(-1.2deg);transform-origin:left center;margin:26px 2px 0 6px;z-index:3}
.cal{display:grid;gap:2px}
.mo{display:grid;grid-template-columns:38px repeat(31,1fr);gap:1px;align-items:center}
.mo b{font-size:11px}
.mo i,.leg i{display:block;height:14px}
.v0{outline:1px dotted rgba(58,20,99,.28);outline-offset:-1px}.v1{background:#fbc0e2}.v2{background:#ff8ecb}.v3{background:#f82e9f}.v4{background:#3a1463}
.e{box-shadow:inset 0 -5px 0 var(--yel)}
.x{visibility:hidden}
.leg{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:16px;margin:7px 0 4px}
.leg li{display:flex;align-items:center;gap:4px}.leg i{width:11px}
.call{background:var(--butter);border:2px solid var(--ink);padding:6px 8px 8px;font-size:21px;line-height:.94;margin-top:5px}
.call b{font-size:26px;color:var(--hot);margin-right:6px}
.call.alt{background:var(--ice);margin:-3px -16px 0 20px}
/* love bars */
.lv{margin-top:22px}
.lvr{display:flex;align-items:center;gap:3px}
.lvr .vt{font-size:10px;color:var(--hot)}.lvr .vt.dn{color:var(--plum)}
.lcs{flex:1;min-width:0;display:grid;grid-template-columns:repeat(9,1fr);gap:2px}
.lc{display:grid;min-width:0;grid-template-rows:17px 52px 18px 52px 17px;justify-items:center}
.lc i{width:100%;display:block;border:2px solid var(--ink)}
.lc i.up{background:var(--pink);align-self:end}.lc i.dn{background:var(--plum);align-self:start}
.lc b{font-size:9px;align-self:center}.lc .n{font-size:17px;line-height:1}.lc .n.up{color:var(--hot)}
.last{background:#fff;border:2px solid var(--ink);padding:6px 8px 8px;font-size:27px;margin:8px 12px 7px 0}
.last b{display:block;font-size:20px;color:var(--hot);margin-top:3px}
/* booth */
.booth{position:relative;margin-top:18px;padding:0 6px}
.bh{display:flex;align-items:flex-end;margin-top:-4px}
.slot{display:block;line-height:0;position:relative}
.slot.hero{transform:rotate(-2.5deg);margin-left:-6px;z-index:2}
.bcap{flex:1;position:relative;margin:0 -2px 22px -18px;background:var(--paper);border:2px solid var(--ink);padding:8px 26px 10px 20px;font-size:21px;line-height:.94;transform:rotate(3deg);min-height:210px}
.bcap>b{font-size:30px;color:var(--hot)}
.bcap .vt{position:absolute;right:5px;bottom:8px;font-size:12px;color:var(--hot)}
.weave{height:24px;background:rgba(201,169,251,.92);margin:-16px -14px -12px;transform:rotate(-3deg);position:relative;z-index:3;border-block:2px solid var(--ink)}
.sheetbook{z-index:4;padding:8px 4px 8px;margin:0}
.sheetbook .h3{margin:0 0 4px 4px;font-size:19px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 0;justify-items:center;align-items:end}
.grid li{position:relative}
.g0{transform:rotate(-3deg)}.g1{transform:rotate(2deg) translateY(4px)}.g2{transform:rotate(-1deg)}.g3{transform:rotate(3.5deg)}.g4{transform:rotate(-2deg) translateY(-3px)}
.tagn{position:absolute;left:0;bottom:0;background:var(--yel);border:2px solid var(--ink);font-size:11px;line-height:1;padding:3px 4px;transform:rotate(-6deg);z-index:2}
.tagn.alt{background:var(--pink);color:#fff}
.ph{display:block}
.ph.plus{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#e9ecff 0 7px,#dee3f9 7px 14px);font-size:30px;color:var(--plum2)}
/* walls */
.wl{position:relative;display:grid;grid-template-columns:216px 1fr;margin:20px 6px 0}
.tape{background:#fff;border:2px solid var(--ink);padding:8px 8px 24px;font-size:22px;line-height:.94;position:relative;z-index:2;
 clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),95% 100%,90% calc(100% - 12px),85% 100%,80% calc(100% - 12px),75% 100%,70% calc(100% - 12px),65% 100%,60% calc(100% - 12px),55% 100%,50% calc(100% - 12px),45% 100%,40% calc(100% - 12px),35% 100%,30% calc(100% - 12px),25% 100%,20% calc(100% - 12px),15% 100%,10% calc(100% - 12px),5% 100%,0 calc(100% - 12px))}
.tape li{padding:5px 0 6px;border-bottom:2px dotted rgba(58,20,99,.3)}
.tape .hdr{font-size:20px;line-height:1.2;color:var(--hot);border:0}.tape .when{padding:0 0 4px}
.tape .more{font-size:17px;color:var(--plum2);border:0;text-align:center}
.wside{display:flex;flex-direction:column;margin-left:-12px;padding-top:30px}
.wbig{background:var(--butter);border:2px solid var(--ink);padding:6px 6px 8px 18px;font-size:19px;line-height:.92}
.wbig b{display:block;font-size:50px;color:var(--hot);line-height:.95}
.wbig.alt{background:var(--ice);margin:-5px -6px 0 14px;z-index:3;padding-left:8px}.wbig.alt b{font-size:36px}
.share{display:flex;flex-direction:column;height:156px;border:2px solid var(--ink);margin:10px 4px 0 30px;transform:rotate(-2deg)}
.share i{display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--pink);color:#fff;font-size:19px;line-height:1;text-shadow:1px 1px 0 var(--ink)}
.share i.e{flex:1;background:var(--ice);color:var(--ink);text-shadow:none;border-top:2px solid var(--ink)}
.share b{font-size:22px}
/* block + stop */
.two{display:grid;grid-template-columns:1.08fr .92fr;margin:14px 4px 0;align-items:start}
.two .pn{margin:0}.two .stp{margin:22px 0 0 -10px}
.tgl li{background:#fff;border:2px solid var(--ink);padding:4px 6px 6px;font-size:21px;line-height:.94;margin:0 18px -2px 0}
.tgl li.on{margin:0 0 -2px 18px;background:var(--butter)}
.tgl+.fine{margin-top:8px}
.st1{font-size:21px;line-height:.94;margin-bottom:6px}.st1 b{font-size:22px;color:var(--hot)}
/* spicy */
.spw{position:relative;margin:30px -12px 0;background:var(--hot);border-block:3px solid var(--ink);transform:skewY(3deg);padding:14px 26px 26px 18px;color:#fff;z-index:2}
.sp-in{transform:skewY(-3deg);position:relative}
.spw .huge{color:var(--yel)}
.spn{display:flex;align-items:center;gap:10px;font-size:23px;line-height:.92;margin-top:6px}
.spn b{font-size:76px;line-height:.9;color:#fff;text-shadow:var(--ol),5px 6px 0 var(--plum)}
.spn.e{margin:-2px 0 0 84px}.spn.e b{font-size:44px;color:var(--yel)}
.asks{display:flex;flex-wrap:wrap;gap:0 2px;margin:12px 0 8px}
.asks li{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:14px 14px 14px 3px;padding:5px 9px 7px;font-size:24px;line-height:.94;margin-bottom:-3px}
.asks b{color:var(--hot);font-size:17px}
.j27{background:var(--yel);color:var(--ink);border:2px solid var(--ink);padding:6px 8px 8px;font-size:21px;line-height:.95;margin:10px 18px 8px 0}
.j27 b{font-size:26px;color:var(--hot);margin-right:5px}
.spw .rc{color:var(--ink);margin:6px 8px 10px 4px}
.spw .fine{color:#fff}
/* calls */
.cl{margin-top:28px}
.clr{display:flex;gap:6px;align-items:flex-start}
.wins{flex:1;display:flex;flex-direction:column;min-width:0}
.win2{display:block;width:100%;background:#fff;border:2px solid var(--ink)}
.win2>span{display:block}.win2 .bar{display:flex}
.win2.t4{margin:-4px -10px 0 12px}
.win2 .cnt{display:flex;gap:4px;padding:6px 6px 3px}
.cnt b{min-width:36px;text-align:center;background:var(--pinkp);border:2px solid var(--ink);border-radius:8px;font-size:19px;padding:3px 4px}
.win2 .fine{padding:0 6px 6px}.q1{font-size:23px;padding:2px 6px 7px}
.hrs{margin:10px 0 6px;background:var(--paper);border:2px solid var(--ink);padding:6px 6px 5px;transform:rotate(-1deg)}
.hb{display:grid;grid-template-columns:repeat(24,1fr);gap:1px;align-items:end;height:50px}
.hb i{background:var(--pink);display:block}.hb i.n{background:var(--plum)}
.hx{display:grid;grid-template-columns:repeat(4,1fr);font-size:14px;color:var(--plum2);margin:2px 0 4px}
.ring{transform-origin:60% 90%;animation:ring 2.6s steps(1) infinite}
@keyframes ring{0%,8%,16%,24%{transform:rotate(-4deg)}4%,12%,20%{transform:rotate(4deg)}28%,100%{transform:none}}
/* words */
.wd{position:relative;margin:18px 4px 0}
.pile{display:flex;flex-wrap:wrap;align-items:flex-start;margin-top:6px}
.pile li{margin:0 -3px -5px 0}
.pile button{display:block;background:#fff;border:2px solid var(--ink);padding:6px 8px 8px;font-size:25px;line-height:.9;max-width:300px}
.pile .w1 button{background:#ffd6ec}.pile .w2 button{background:var(--ice)}
.pile small{display:inline;margin-left:6px}
.pile .mr button{background:var(--yel);font-size:14px;padding:8px 10px}
/* diner */
.dn{margin:16px 14px 0 8px;position:relative}
.rcpt{position:relative;background:#fffdf2;border:2px dashed var(--ink);padding:10px 12px 12px;font-size:21px;line-height:.96;box-shadow:3px 4px 0 rgba(58,20,99,.3)}
.dh{text-align:center;font-size:13px}.ctr{text-align:center}
.rcpt .h2{text-align:center;color:var(--hot);margin:6px 0 2px}
.rcpt ol{margin:8px 0}
.rcpt ol li{border-top:2px dotted rgba(58,20,99,.35);padding:7px 0 8px}
.nx{color:var(--hot);padding-left:20px;position:relative;margin-top:4px}
.nx::before{content:">";position:absolute;left:3px}
/* quest */
.qs{margin-top:28px}
.quest{max-height:230px;overflow-y:auto;border:2px solid var(--ink);background:#fff;padding:2px 6px}
.quest li{display:flex;gap:6px;align-items:flex-start;padding:6px 0 7px;border-bottom:2px dotted rgba(58,20,99,.3);font-size:21px;line-height:.95}
.quest time{font-size:10px;color:var(--hot);margin-right:6px}
.bs{font-size:14px;background:var(--lilac);border:1.5px solid var(--ink);padding:0 4px 1px}
.b-court{background:var(--yel)}.b-message,.b-call{background:var(--pinkp)}
/* usual */
.us{margin-top:24px}
.mw{position:absolute;right:6px;top:-13px;background:var(--yel);border:2px solid var(--ink);font-size:16px;padding:2px 6px 3px;transform:rotate(4deg)}
.usl{display:flex;overflow-x:auto;padding:2px 0 8px}
.usl li{flex:none;width:178px;background:#fff;border:2px solid var(--ink);padding:5px 7px 8px;font-size:19px;line-height:.93;margin:0 -2px 0 0}
.usl b{display:block;font-size:11px;line-height:1.35;color:var(--hot);margin:3px 0}
/* cabinet */
.cab{margin:16px 6px 0;position:relative}
.drw{display:grid;grid-template-columns:1fr 1fr 1.3fr}
.drw>span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:78px;background:var(--paper);border:2px solid var(--ink);padding:6px;font-size:18px;line-height:.95;text-decoration:none;color:var(--ink);margin-right:-2px}
.drw b{font-size:22px;color:var(--hot)}
.drw .d2{background:var(--ice)}.drw .d3{background:var(--butter)}
.logw{margin:10px 0 0}
.types{display:flex;flex-wrap:wrap;gap:3px;margin-top:7px}
.types li{border:2px solid var(--ink);padding:2px 6px 4px;font-size:18px;background:var(--pinkp)}
.types li.wt{border-style:dashed;background:transparent;color:var(--plum2)}
.types b{margin-left:6px;color:var(--hot);font-size:15px}
.ppl{margin:-4px 0 0 22px}
.stamp{position:absolute;right:6px;top:5px;border:3px double var(--hot);color:var(--hot);font-size:9px;padding:4px 6px;transform:rotate(9deg)}
.pl{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:3px;padding-bottom:6px}
.pl li{flex:none;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:1px 8px 4px;font-size:19px}
.pl b{color:var(--hot);font-size:12px}
/* garden + footer */
.gd{margin:16px 6px 0;display:grid;grid-template-columns:1.25fr 1fr;align-items:start}
.gd .pn{margin:0}.gd .g2{margin:16px 0 0 -8px}
.grow{display:flex;gap:8px;align-items:center}
.hp{display:flex;gap:2px;margin:3px 0 4px}
.rem{grid-column:1/-1;background:#fff;border:2px solid var(--ink);padding:6px 8px 8px;font-size:22px;display:flex;gap:8px;align-items:center;margin:10px 30px 0 4px;box-shadow:3px 4px 0 rgba(58,20,99,.3)}
.ft{flex:1 0 auto;margin-top:20px;background:var(--plum);border-top:3px solid var(--ink);padding:14px 10px 10px;color:#ffd3ec}
.dlg{position:relative;background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:0 0 0 2px #ff9fd2,5px 6px 0 rgba(0,0,0,.35);padding:10px 10px 12px 70px;font-size:22px;transform:rotate(-1deg)}
.dlg .dd{font-size:17px;margin-bottom:3px}
.btns{display:flex;gap:8px;margin-top:9px}
.btns a{display:inline-flex;align-items:center;text-decoration:none;min-height:44px;padding:0 12px;border:2px solid var(--ink);background:var(--pink);color:#fff;font-size:10px;box-shadow:2px 3px 0 var(--ink);text-shadow:1px 1px 0 var(--ink)}
.fine2{display:flex;justify-content:space-between;margin-top:12px;font-size:17px;color:#e9b6ff}
.fine2 b{color:var(--yel);font-size:13px}

/* ---------- live page: shell, expanders, receipts ---------- */
:root{--ink:#1c0450;--plum:#3a1463;--plum2:#6b3a8f;--paper:#fff8fc;--butter:#fcf4a0;--pinkp:#fbc0e2;--ice:#dee3f9;--pink:#ff5fa8;--hot:#f82e9f;--lilac:#c9a9fb;--yel:#fff06a}
html,body{margin:0;background:#3a1463}
.akf-win>img{object-fit:cover;object-position:50% 30%;display:block}
.rc,.last{display:block;width:auto;text-align:left}
button.rc{font-size:25px}button.last{font-size:27px}
.tape .rw,.tgl .rw,.rc .rw,.asks button{display:block;width:100%;padding:0;font-size:inherit;line-height:inherit}
.rc .rw+.rw{margin-top:5px}
#eggFlower{display:block;flex:none}
.sec{position:relative}
.xps{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px;margin:4px 10px 0;position:relative;z-index:6}
.xp>summary{display:inline-block;list-style:none;cursor:pointer;font-family:"04b30",monospace;font-size:11px;line-height:1;background:var(--yel);color:var(--ink);border:2px solid var(--ink);padding:9px 9px 10px;box-shadow:2px 3px 0 var(--ink);transform:rotate(-2deg);white-space:nowrap;position:relative}
.xp>summary::-webkit-details-marker{display:none}
.xp>summary::after{content:"";position:absolute;inset:-7px}
.xp>summary .c{display:none}
.xp[open]{flex-basis:100%;text-align:right}
.xp[open]>summary{background:var(--pink);color:#fff;transform:rotate(2deg);text-shadow:1px 1px 0 var(--ink)}
.xp[open]>summary .o{display:none}.xp[open]>summary .c{display:inline}
.sheet{text-align:left;margin:8px -4px 4px;background:var(--paper);border:3px solid var(--ink);box-shadow:0 0 0 2px #ff9fd2,5px 6px 0 rgba(28,4,80,.45)}
.sheet>.bar,.ov-win>.bar{display:flex;justify-content:space-between;align-items:center;background:var(--lilac);border-bottom:2px solid var(--ink);padding:6px 8px;font-size:10px;line-height:1.3}
.sb{max-height:min(560px,72vh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px 8px 14px}
.rows>li{border-bottom:2px dotted rgba(58,20,99,.3)}
.rw{display:block;width:100%;padding:7px 0 8px;font-size:21px;line-height:.95}
button.rw:active,.pc:active,.pile button:active{background:var(--butter)}
.bk{display:block;font-size:16px;line-height:1;color:var(--plum2);margin-top:3px}.bk.h{color:var(--hot)}
.rows.plain>li{padding:7px 0 8px;font-size:21px;line-height:.95}
.rows b.nn{color:var(--hot);font-size:16px;margin-right:4px}
.pp .tp{display:inline-block;font-size:15px;background:var(--yel);border:2px solid var(--ink);padding:0 5px 2px;margin-bottom:3px}
.pp .rw{padding:5px 6px 7px;background:var(--ice);border:2px solid var(--ink);margin:0 0 -2px}
.pp .rw.b{background:#ffd6ec;margin-left:14px;width:calc(100% - 14px)}
.mx{display:grid;grid-template-columns:1fr 1fr;margin:2px 0 8px}
.mx li{border:2px solid var(--ink);margin:0 -2px -2px 0;padding:5px 6px 7px;font-size:17px;line-height:.95;background:#fff}
.mx b{display:block;font-size:22px;color:var(--hot)}
.quest.full{max-height:none;border:0;padding:0}
.usl.full{display:block;padding:0}.usl.full li{width:auto;margin:0 0 -2px}
.ov{position:fixed;inset:0;z-index:200;background:rgba(28,4,80,.74);display:grid;place-items:center;padding:14px;font-family:"rainyhearts","Pixelify Sans",monospace;color:var(--ink);-webkit-font-smoothing:none}
.ov[hidden]{display:none}
.ov-win{width:min(410px,100%);max-height:88vh;display:flex;flex-direction:column;background:var(--paper);border:3px solid var(--ink);box-shadow:0 0 0 2px #ff9fd2,6px 8px 0 rgba(0,0,0,.4);transform:rotate(-.8deg)}
.ov-win .bar button{font:inherit;font-family:"04b30",monospace;font-size:13px;min-width:44px;min-height:34px;background:var(--pink);color:#fff;border:2px solid var(--ink);cursor:pointer}
.ov-body{overflow-y:auto;padding:8px 10px 12px;font-size:21px;line-height:.98}
.ov-body ol{list-style:none;margin:0;padding:0}
.ov-body .fine{margin:8px 0 0}
.rv li{max-width:88%;margin:0 0 6px;padding:5px 8px 7px;background:#fff;border:2px solid var(--ink);border-radius:12px 12px 12px 3px}
.rv li.ed{margin-left:auto;background:#eef1ff;border-radius:12px 12px 3px 12px}
.rv li.me{background:var(--yel);box-shadow:3px 3px 0 var(--ink)}
.rv i{color:var(--plum2);font-style:normal}
.vi{display:block;max-width:100%;height:auto;margin:0 auto;border:2px solid var(--ink)}

/* ---------- round 3: rails, pop-ups, stamps, motion ---------- */
.rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-right:48px}
.rail::-webkit-scrollbar{display:none}
.rail>li{flex:none;scroll-snap-align:start}
.prs{margin:0 -18px 6px 0;padding:6px 60px 10px 0}
.prs>li{width:76%;display:flex;flex-direction:column;margin-right:12px}
.prs .pc{font-size:24px;padding:6px 8px 12px}
.prs .pc.a{transform:rotate(-2deg)}
.prs .pc.b{transform:rotate(1.5deg);margin:-6px 0 0 20px;padding-left:10px}
.prs .gap{position:relative;left:auto;bottom:auto;transform:rotate(-8deg);align-self:flex-end;margin:-10px 12px -12px 0}
.prs.shot .pc{font-size:22px}
.pc.multi{padding:6px 7px 22px 14px}
.ln{display:block;width:100%;font-size:23px;line-height:.94;padding:3px 0 9px}
.ln .rf{margin-bottom:2px}
.h2 .ak,.h3 .ak,.fine .ak,.j27 .ak,.more .ak{vertical-align:-4px}
.ln:active{background:var(--butter)}
.ff{display:flex;gap:7px;align-items:flex-start;background:var(--yel);color:var(--ink);border:2px solid var(--ink);padding:6px 8px 8px;font-size:20px;line-height:.95;margin:18px 14px 2px 4px;box-shadow:3px 4px 0 rgba(0,0,0,.3)}
.ff b{display:block;font-size:11px;color:var(--hot);margin-bottom:2px}
.mor{margin:4px -26px 8px 0;padding-bottom:4px}
.mor>li{margin-right:6px}
.mor button{display:block;width:150px;min-height:80px;background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:14px 14px 14px 3px;padding:5px 8px 7px;font-size:21px;line-height:.93}
.mor b{display:block;font-size:11px;color:var(--hot);margin-bottom:3px}
.usl.rail>li{width:62%}
.nlog{margin:10px -2px 0 0;background:var(--paper);border:2px solid var(--ink);padding:2px 0 8px 8px;transform:rotate(1deg)}
.ncs{display:flex;gap:4px;margin:6px 8px 8px 0}
.ncs li{flex:1;border:2px solid var(--ink);background:var(--butter);padding:4px 6px 6px;font-size:16px;line-height:.95}
.ncs b{display:block;font-size:22px;color:var(--hot)}
.cds>li{width:150px;background:#fff;border:2px solid var(--ink);padding:5px 7px 7px;margin-right:6px;font-size:18px;line-height:1}
.cds b{display:block;font-size:11px;margin-bottom:3px}
.cds span{display:flex;gap:6px;align-items:baseline}
.cds i{color:var(--hot);font-size:15px;min-width:18px}
.pop{position:relative;z-index:7;width:214px;background:var(--paper);border:2px solid var(--ink);box-shadow:3px 4px 0 rgba(58,20,99,.4);margin:12px 12px -6px auto}
.pop.l{margin:12px auto -6px 12px}
.pop .bar{display:flex;justify-content:space-between;align-items:center;background:var(--lilac);border-bottom:2px solid var(--ink);padding:2px 2px 2px 7px;font-size:9px;line-height:1.3}
.pop .px{position:relative;font-family:"04b30",monospace;font-size:11px;width:28px;height:24px;background:var(--pink);color:#fff;border:2px solid var(--ink)}
.pop .px::after{content:"";position:absolute;inset:-10px}
.pop p{display:flex;gap:8px;align-items:center;padding:6px 8px 8px;font-size:19px;line-height:.95}
.stampw{display:flex;justify-content:flex-end;margin:2px 10px 0;position:relative;z-index:6;pointer-events:none}
.stampw.l{justify-content:flex-start}
.stamp2{display:inline-block;border:3px double var(--hot);color:var(--hot);background:rgba(255,248,252,.94);font-size:12px;line-height:1.25;padding:5px 9px 6px;text-align:center;transform:rotate(-8deg);box-shadow:2px 3px 0 var(--ink)}
.pair.flat{margin-bottom:6px}
@keyframes pop{0%{opacity:0;transform:scale(.5) rotate(-12deg)}70%{opacity:1;transform:scale(1.08) rotate(4deg)}100%{opacity:1}}
@keyframes popout{to{opacity:0;transform:scale(.4) rotate(14deg)}}
@keyframes slam{0%{opacity:0;transform:scale(2.8) rotate(12deg)}60%{opacity:1;transform:scale(.9) rotate(-11deg)}100%{opacity:1;transform:scale(1) rotate(-8deg)}}
@keyframes bob{50%{translate:0 -4px}}
@keyframes tw{50%{opacity:.3}}
@keyframes hb{0%{transform:scale(0)}70%{transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes rowin{to{opacity:1;transform:none}}
.pop.out{animation:popout .22s forwards}

 .js .pop[data-io]{opacity:0}.js .pop.in{animation:pop .5s cubic-bezier(.2,1.4,.4,1) forwards}.js .pop.in.out{animation:popout .22s forwards}
 .js .stamp2[data-io]{opacity:0}.js .stamp2.in{animation:slam .45s cubic-bezier(.3,1.5,.5,1) forwards}
 .js .hearts[data-io] .ak{transform:scale(0)}.js .hearts.in .ak{animation:hb .3s forwards;animation-delay:var(--d,0ms)}
 .js .tug[data-io] .bar i{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.9,.3,1)}.js .tug.in .bar i{transform:none}
 .js .lcs[data-io] .lc i{transform:scaleY(0);transition:transform .7s cubic-bezier(.2,.9,.3,1)}.lc i.up{transform-origin:bottom}.lc i.dn{transform-origin:top}.js .lcs.in .lc i{transform:none}
 .js .hb[data-io] i{transform:scaleY(0);transform-origin:bottom;transition:transform .6s}.js .hb.in i{transform:none}
 .js .cal[data-io] .mo{opacity:0;transform:translateX(-14px)}.js .cal.in .mo{animation:rowin .35s forwards}
 .cal.in .mo:nth-child(2){animation-delay:.05s}.cal.in .mo:nth-child(3){animation-delay:.1s}.cal.in .mo:nth-child(4){animation-delay:.15s}.cal.in .mo:nth-child(5){animation-delay:.2s}.cal.in .mo:nth-child(6){animation-delay:.25s}.cal.in .mo:nth-child(7){animation-delay:.3s}.cal.in .mo:nth-child(8){animation-delay:.35s}.cal.in .mo:nth-child(9){animation-delay:.4s}.cal.in .mo:nth-child(10){animation-delay:.45s}.cal.in .mo:nth-child(11){animation-delay:.5s}
 .st{animation:bob 3.4s ease-in-out infinite}.st:nth-of-type(2n){animation-delay:-1.2s}.st:nth-of-type(3n){animation-delay:-2.3s}
 .st[class*="ak-sparkle"]{animation:tw 1.4s steps(2) infinite,bob 3.4s ease-in-out infinite}
 .pop .ak{animation:bob 2.2s ease-in-out infinite}


/* Whiplash scrapbook — imperfect, deliberately varied pair angles and real
   content-sized time stickers. Keep the original pixel type exactly as-is. */
#same-him .pair,
#same-him .prs > li {
  --w-a-angle:-2.7deg; --w-b-angle:2.1deg;
  --w-a-x:0px; --w-a-y:0px; --w-b-x:0px; --w-b-y:9px;
  --w-sticker-angle:-7deg; --w-sticker-x:0px; --w-sticker-y:0px;
  --w-sticker-shape:45% 55% 49% 51% / 54% 43% 57% 46%;
}
#same-him .pair .pc.a,
#same-him .prs > li .pc.a {
  transform:translate(var(--w-a-x),var(--w-a-y)) rotate(var(--w-a-angle));
}
#same-him .pair .pc.b,
#same-him .prs > li .pc.b {
  transform:translate(var(--w-b-x),var(--w-b-y)) rotate(var(--w-b-angle));
}
/* Oval, slightly lopsided paper stickers rather than fixed circles. A long
   duration such as 1h26m or 39d4h must never run outside its outline. */
#same-him .gap {
  box-sizing:border-box;
  width:max-content;
  height:auto;
  min-width:50px;
  min-height:37px;
  padding:7px 13px 6px;
  border-radius:var(--w-sticker-shape);
  white-space:nowrap;
  box-shadow:2px 3px 0 rgba(28,4,80,.25);
  z-index:4;
}
#same-him .pair { margin-bottom:23px; }
#same-him .pair.flat { margin-bottom:18px; }
#same-him .pair .gap {
  left:var(--w-sticker-left,50%);
  bottom:-17px;
  transform:translateX(-50%) translate(var(--w-sticker-x),var(--w-sticker-y)) rotate(var(--w-sticker-angle));
}
/* In the swipe rail each duration sits between the two quotes, not on top
   of their words. Allow some room for the largest labels and rotations. */
#same-him .prs { padding-top:13px; padding-bottom:25px; }
#same-him .prs > li .pc.a { padding-bottom:18px; }
#same-him .prs > li .pc.b { padding-top:11px; }
#same-him .prs > li .gap {
  left:auto; bottom:auto;
  transform:translate(var(--w-sticker-x),var(--w-sticker-y)) rotate(var(--w-sticker-angle));
  margin:-8px var(--w-sticker-right,12px) -7px 0;
}

/* Each example gets its own stable hand-placed composition. No animation,
   randomness, or alternating two-angle template on every visit. */
#same-him .pair.flat {
  --w-a-angle:-4.1deg; --w-b-angle:1.3deg; --w-b-x:3px; --w-b-y:11px;
  --w-sticker-left:54%; --w-sticker-angle:7deg; --w-sticker-x:-3px;
  --w-sticker-shape:39% 61% 53% 47% / 59% 46% 54% 41%;
}
#same-him .pair:not(.flat) {
  --w-a-angle:1.7deg; --w-b-angle:-3.4deg; --w-a-x:-2px; --w-b-x:2px; --w-b-y:10px;
  --w-sticker-left:46%; --w-sticker-angle:-4deg; --w-sticker-y:1px;
  --w-sticker-shape:58% 42% 47% 53% / 45% 56% 44% 55%;
}
#same-him .prs > li:nth-child(7n+1) {
  --w-a-angle:-3.6deg; --w-b-angle:2.2deg; --w-a-x:-2px; --w-b-y:4px;
  --w-sticker-angle:9deg; --w-sticker-x:-6px;
  --w-sticker-shape:40% 60% 52% 48% / 57% 40% 60% 43%;
}
#same-him .prs > li:nth-child(7n+2) {
  --w-a-angle:1.5deg; --w-b-angle:-2.8deg; --w-b-x:3px; --w-b-y:-2px;
  --w-sticker-angle:-11deg; --w-sticker-x:4px; --w-sticker-y:-2px;
  --w-sticker-shape:56% 44% 43% 57% / 44% 57% 43% 56%;
}
#same-him .prs > li:nth-child(7n+3) {
  --w-a-angle:-1.2deg; --w-b-angle:3.8deg; --w-a-y:3px; --w-b-x:-2px;
  --w-sticker-angle:4deg; --w-sticker-x:-1px; --w-sticker-right:23px;
  --w-sticker-shape:46% 54% 59% 41% / 61% 43% 57% 39%;
}
#same-him .prs > li:nth-child(7n+4) {
  --w-a-angle:3.1deg; --w-b-angle:-1.4deg; --w-b-x:2px; --w-b-y:3px;
  --w-sticker-angle:-6deg; --w-sticker-y:2px; --w-sticker-right:18px;
  --w-sticker-shape:61% 39% 52% 48% / 46% 55% 45% 54%;
}
#same-him .prs > li:nth-child(7n+5) {
  --w-a-angle:-4deg; --w-b-angle:0.7deg; --w-a-x:1px; --w-b-y:1px;
  --w-sticker-angle:12deg; --w-sticker-x:5px;
  --w-sticker-shape:42% 58% 45% 55% / 54% 48% 52% 46%;
}
#same-him .prs > li:nth-child(7n+6) {
  --w-a-angle:2.4deg; --w-b-angle:-3.1deg; --w-a-y:1px; --w-b-x:-2px;
  --w-sticker-angle:-3deg; --w-sticker-x:-4px; --w-sticker-right:21px;
  --w-sticker-shape:57% 43% 51% 49% / 41% 59% 46% 54%;
}
#same-him .prs > li:nth-child(7n) {
  --w-a-angle:-0.6deg; --w-b-angle:4deg; --w-b-y:2px; --w-b-x:4px;
  --w-sticker-angle:6deg; --w-sticker-x:3px;
  --w-sticker-shape:47% 53% 39% 61% / 56% 42% 58% 44%;
}

/* Evidence stays inside each original pink/lavender quote card: actual
   nearby messages, never free-floating white editorial callouts. */
#same-him .pc .ctx-line,
#same-him .rw .ctx-line,
#same-him .ln .ctx-line {
  display:block;
  margin-top:9px;
  padding-top:5px;
  border-top:1px dashed rgba(28,4,80,.36);
  color:var(--plum2);
  font-size:.72em;
  line-height:1.08;
  overflow-wrap:anywhere;
  text-align:left;
}
#same-him .pc .ctx-meta,
#same-him .rw .ctx-meta,
#same-him .ln .ctx-meta {
  display:block;
  margin-bottom:3px;
  font-size:.78em;
  line-height:1;
  opacity:.9;
}
#same-him .rw .ctx-line,#same-him .ln .ctx-line {
  font-size:.82em;
  margin-top:7px;
  padding-top:5px;
}

/* Compact privacy control in the original scrapbook footer; pixel fonts unchanged. */
.privacy-panel{margin:14px 3px 6px;color:var(--ink);background:var(--paper);
 border:2px solid var(--ink);box-shadow:3px 4px 0 rgba(0,0,0,.28);transform:rotate(-.5deg);}
.privacy-panel summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;
 padding:8px 10px;background:var(--butter);font-size:13px;line-height:1.35;list-style:none;}
.privacy-panel summary::-webkit-details-marker{display:none}
.privacy-panel summary span{font-size:21px;color:var(--hot)}
.privacy-panel[open] summary span{transform:rotate(45deg)}
.privacy-content{padding:10px 11px 12px;font-size:19px;line-height:1.04}
.privacy-content p+p{margin-top:7px}
.privacy-content #privacyStatus{font-family:"04b30",monospace;color:var(--hot);font-size:13px}
.privacy-content button{display:inline-block;padding:9px 10px;margin:10px 0 0;background:var(--yel);
 border:2px solid var(--ink);font-family:"04b30",monospace;font-size:12px;line-height:1.2;
 box-shadow:2px 3px 0 var(--ink);min-height:44px;max-width:100%}
.privacy-content button[disabled]{opacity:.6}
.privacy-content button[hidden]{display:none}
.privacy-content .privacy-note{font-size:16px;color:var(--plum2);margin-top:7px}
.owner-form{display:grid;gap:9px}
.owner-form p{font-size:20px}
.owner-form label{font-family:"04b30",monospace;font-size:13px}
.owner-form input{width:100%;padding:12px 9px;min-height:44px;font-family:"rainyhearts",monospace;
 font-size:22px;border:2px solid var(--ink);background:#fff;color:var(--ink)}
.owner-form button{width:max-content;min-height:44px;padding:9px 16px;font-family:"04b30",monospace;
 font-size:13px;background:var(--yel);border:2px solid var(--ink)}
.owner-form .owner-error{color:#af0055;font-size:18px}

/* Saved outside quote — grief reflection, not an Angel receipt or statistical claim. */
.gd .angel-grief-quote{grid-column:1/-1;margin:12px 8px 0 5px;padding:12px 14px 14px;background:#f7eafe;border-color:var(--ink);transform:rotate(-.4deg)}
.angel-grief-quote .angel-grief-head{font-size:12px;line-height:1.3;margin:0 0 8px;color:var(--plum)}
.angel-grief-quote>p:not(.angel-grief-head){font-size:clamp(19px,5vw,24px);line-height:1.3;margin:0 0 9px}
.angel-grief-quote em{font-style:italic}
.angel-grief-quote cite{display:block;font-size:14px;font-style:normal;opacity:.72;text-align:right}
