.specs-panel,.certificate-options,.wallet-panel,.consent-panel{margin-top:22px;padding-top:22px;border-top:1px solid var(--border,#e9d9df)}
.specs-panel h3,.certificate-options h3,.wallet-panel h3,.consent-panel h3{margin:0;font-size:18px;color:var(--ink,#30232e)}
.spec-facts{margin:16px 0 0;display:grid;gap:0}
.spec-facts>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #f0e4e9;align-items:start}
.spec-facts dt{font-size:13px;color:#685260;line-height:1.65}
.spec-facts dd{margin:0;min-width:0;font-size:14px;color:#362731;line-height:1.65;overflow-wrap:anywhere}
.spec-tag{display:inline-block;padding:3px 9px;margin:0 5px 5px 0;border-radius:7px;background:#fff0f5;color:#71394f;font-size:13px}
.certificate-options>p,.consent-panel>p,.wallet-panel>p{font-size:14px;line-height:1.8;color:#685260;margin:10px 0 18px}
.consent-panel{padding:18px;border:1px solid #ecc9d6;border-radius:12px;background:#fff8fb}
.consent-panel .ghost{white-space:normal;height:auto;min-height:44px}
.wallet-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.wallet-totals>div{padding:13px;background:#fff8fa;border:1px solid #efdee5;border-radius:10px}
.wallet-totals dt{font-size:12px;line-height:1.5;color:#715765}
.wallet-totals dd{margin:6px 0 0;font-weight:700;font-size:17px;color:#382530;overflow-wrap:anywhere}
.wallet-entries{max-height:380px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid #efdee5}
.wallet-entries article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 0;border-bottom:1px solid #f0e4e9;align-items:center}
.wallet-entries article strong{display:block;margin-top:4px;font-size:13px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.wallet-entries small{display:block;color:#715765;font-size:11px;line-height:1.6}
.wallet-amount{text-align:right;white-space:nowrap}
.wallet-amount b{font-size:14px}.wallet-amount.incoming b{color:#326859}.wallet-amount.outgoing b{color:#a44062}
.year-skips{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:10px 0 14px}
.year-skips>span{margin-right:auto;font-size:12px;color:#715765;line-height:1.6}
.year-skips .ghost{font-size:12px;min-height:38px;padding:8px 12px;white-space:nowrap}
#app .reel-page{width:min(760px,100%);margin:0 auto;padding:30px 24px 36px}
#app .reel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#795361;font-size:12px;letter-spacing:.04em}
#app .reel-heading .text-btn{font-size:12px;min-height:44px;color:#79465d}
#app .reel-progress{display:flex;gap:6px;margin:15px 0 18px}
#app .reel-progress i{display:block;height:4px;flex:1;background:#ead9e0;border-radius:5px}#app .reel-progress i.filled{background:#b6537d}
#app .reel-frame{min-height:490px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 28px 36px;background:linear-gradient(160deg,#fff 20%,#fff4f8 100%);border:1px solid #ead4df;border-radius:22px;box-shadow:0 16px 50px #a4567920;animation:memory-arrive .7s ease both}
#app .reel-age{font-family:Georgia,serif;font-size:50px;font-weight:700;color:#9d4169;margin:0 0 10px;line-height:1.1}
#app .reel-age span{font-family:inherit;font-size:15px;margin-left:7px;color:#7e5869;font-weight:400}
#app .reel-portrait{width:170px;height:170px;flex:none;margin:9px 0 17px;background:#ffeef5;border-radius:22px;border:1px solid #eecbda;overflow:hidden;box-shadow:0 7px 0 #f4dde7}
#app .reel-portrait svg{display:block;width:100%;height:100%;image-rendering:pixelated}
#app .reel-frame h1{font-size:clamp(21px,4.8vw,30px);line-height:1.45;letter-spacing:-.04em;margin:8px 0 14px;color:#47283b;word-break:keep-all;overflow-wrap:anywhere}
#app .reel-text{max-width:510px;font-size:15px;line-height:1.9;color:#674956;margin:0;word-break:keep-all;overflow-wrap:anywhere}
#app .reel-controls{display:flex;justify-content:center;gap:9px;margin:23px 0 0}
#app .reel-controls button{flex:1;max-width:220px;min-height:46px;white-space:normal;line-height:1.5}
#app .reel-caption{text-align:center;font-size:12px;color:#7d5d6d;margin:19px 0 0}
@keyframes memory-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.specs-panel .section-head,.wallet-panel .section-head{align-items:flex-start;gap:10px}.specs-panel .section-head .text-btn{font-size:12px}.spec-facts>div{grid-template-columns:77px minmax(0,1fr);gap:10px}.wallet-totals{gap:8px}.wallet-totals>div{padding:11px 9px}.wallet-totals dd{font-size:16px}.wallet-entries article{gap:9px}.wallet-amount b{font-size:12px}.year-skips{flex-wrap:wrap;justify-content:stretch}.year-skips>span{flex-basis:100%}.year-skips .ghost{flex:1}#app .reel-page{padding:15px 15px 28px}#app .reel-heading{font-size:11px;letter-spacing:0}#app .reel-heading .text-btn{font-size:11px}#app .reel-frame{min-height:460px;padding:22px 17px 28px;border-radius:17px}#app .reel-portrait{width:148px;height:148px}#app .reel-text{font-size:14px;line-height:1.85}#app .reel-controls{gap:7px;margin-top:18px}#app .reel-controls button{font-size:12px;padding:9px 6px}.consent-panel{padding:15px}}
@media(prefers-reduced-motion:reduce){#app .reel-frame{animation:none}}
