@font-face{font-family:DMSans;src:url(fonts/DMSans-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:DMSans;src:url(fonts/DMSans-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:DMSans;src:url(fonts/DMSans-SemiBold.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:DMSans;src:url(fonts/DMSans-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/Fraunces-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/Fraunces-Medium.woff2) format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/Fraunces-RegularItalic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/Fraunces-MediumItalic.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap}

:root{
  --ink:#1B2230;--ink2:#354052;--paper:#F5F3EE;--slate:#667085;--mist:#E6E8EC;--blue:#6F86A6;--lav:#A89BB8;
  --terra:#C7836B;--sage:#8FA399;--warm:#ECE9E2;--cool:#EEF1F4;--white:#fff;--grey:#A3A8B0;
  --lavInk:#5E5072;--terraInk:#8A4A35;--sageInk:#4A5E54;--blueInk:#3F5677;--err:#B4533A;
  --serif:Fraunces,Georgia,'Times New Roman',serif;--sans:DMSans,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --top:env(safe-area-inset-top,0px);--bot:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--paper)}
body{margin:0;font:400 14px/1.45 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
#app{max-width:600px;margin:0 auto;min-height:100vh;min-height:100dvh;position:relative}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0;font-weight:inherit}
.serif{font-family:var(--serif);letter-spacing:-.2px;line-height:1.18;font-weight:500}
.it{font-style:italic}
.muted{color:var(--slate)}
.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clamp2,.clamp3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.clamp2{-webkit-line-clamp:2}.clamp3{-webkit-line-clamp:3}
.ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.screen{animation:fade .2s ease-out}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Layout ---------- */
.pad{padding:8px 16px 32px}
.withnav{padding-bottom:calc(84px + var(--bot))}
.row{display:flex;align-items:center}
.col{display:flex;flex-direction:column}
.grow{flex:1;min-width:0}
.wrap{display:flex;flex-wrap:wrap;gap:8px}
.gap8{gap:8px}.gap12{gap:12px}
.sp4{height:4px}.sp8{height:8px}.sp12{height:12px}.sp16{height:16px}.sp20{height:20px}.sp24{height:24px}.sp32{height:32px}

.appbar{position:sticky;top:0;z-index:20;background:var(--paper);display:flex;align-items:center;gap:4px;padding:calc(var(--top) + 4px) 4px 4px;min-height:calc(56px + var(--top))}
.appbar h1{font:500 22px/1.2 var(--serif);flex:1;padding-left:4px}
.iconbtn{width:48px;height:48px;border-radius:24px;display:grid;place-items:center;flex:none;position:relative;color:var(--ink)}
.iconbtn:active{background:rgba(27,34,48,.08)}
.badge::after{content:'';position:absolute;top:11px;right:11px;width:8px;height:8px;border-radius:4px;background:var(--terra)}
.pagetitle{display:flex;align-items:center;padding:calc(var(--top) + 12px) 8px 8px 20px}
.pagetitle h1{font:500 30px/1.15 var(--serif);letter-spacing:-.2px}
.pagetitle .sub{font-size:13.5px;color:var(--slate)}

/* ---------- Bottom nav ---------- */
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--mist);padding-bottom:var(--bot)}
.tabs>div{max-width:600px;margin:0 auto;display:flex;height:68px}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--slate);font-size:12px;font-weight:500;min-width:0}
.tab .mk{display:flex;align-items:center;gap:3px;opacity:0;transition:opacity .2s;height:4px;margin-bottom:6px}
.tab .mk i{width:14px;height:2px;background:var(--blue)}
.tab .mk b{width:4px;height:4px;border-radius:2px;background:var(--lav)}
.tab span{margin-top:3px}
.tab.on{color:var(--blue);font-weight:700}
.tab.on .mk{opacity:1}

/* ---------- Buttons ---------- */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;border-radius:12px;font:600 15px var(--sans);width:100%;transition:transform .1s,background .15s}
.btn:active{transform:scale(.985)}
.btn .ico{width:20px;height:20px}
.btn.fill{background:var(--blue);color:#fff}
.btn.fill.dark{background:var(--ink)}
.btn.out{border:1.4px solid var(--mist);color:var(--ink);background:transparent}
.btn[disabled]{opacity:.45;pointer-events:none}
.tbtn{min-height:44px;padding:0 12px;border-radius:12px;color:var(--blueInk);font:600 14px var(--sans);flex:none}
.tbtn:active{background:rgba(111,134,166,.12)}
.tbtn[disabled]{color:var(--grey)}
.fab{position:fixed;right:max(16px,calc(50vw - 284px));bottom:calc(84px + var(--bot));z-index:25;width:56px;height:56px;border-radius:16px;background:var(--blue);color:#fff;display:grid;place-items:center;box-shadow:0 3px 8px rgba(27,34,48,.22)}

/* ---------- Cards ---------- */
.card{background:#fff;border:1px solid var(--mist);border-radius:12px;padding:16px;display:block;width:100%;text-align:left}
.card.warm{background:var(--warm);border-color:transparent}
.card.cool{background:var(--cool);border-color:transparent}
.card.np{padding:0}
button.card,a.card{transition:transform .13s}
button.card:active,.offset.tap:active{transform:scale(.98)}
.offset{position:relative;margin:0 6px 6px 0;transition:transform .13s}
.offset::before{content:'';position:absolute;inset:6px -6px -6px 6px;border-radius:12px;border:1.2px solid color-mix(in srgb,var(--g,var(--lav)) 55%,transparent);background:color-mix(in srgb,var(--g,var(--lav)) 10%,transparent)}
.offset>.card{position:relative}
.cattile{background:var(--warm);display:grid;place-items:center;flex:none}
.cattile img{width:72%;height:72%;object-fit:contain}
.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font:600 12.5px/1.3 var(--sans);background:var(--cool);color:var(--ink);max-width:100%}
.tag .ico{width:14px;height:14px}
.status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font:600 13px/1.3 var(--sans);border:1px solid;max-width:100%}
.status .ico{width:15px;height:15px}
.status.dense{padding:4px 8px;font-size:12px}
.status.dense .ico{width:13px;height:13px}
.reason{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid var(--mist);font-size:13.5px;font-weight:500}
.reason i{width:7px;height:7px;border:1.6px solid var(--terra);border-radius:2px;transform:rotate(45deg)}
.reason b{color:var(--slate)}
.kicker{font:600 12px/1.3 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--slate)}
.exnote{font:400 14px var(--serif);font-style:italic;color:var(--slate)}

.sechead{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.sechead .k{font:italic 500 15px var(--serif);color:var(--terra)}
.sechead h2{font:500 20px/1.2 var(--serif);letter-spacing:-.2px;max-width:72%}
.sechead .gl{flex:1;margin-left:4px}
.gl{height:12px;position:relative;min-width:24px}
.gl::before{content:'';position:absolute;left:0;right:18px;top:5.3px;height:1.4px;border-radius:1px;background:var(--mist)}
.gl::after{content:'';position:absolute;right:0;top:2px;width:8px;height:8px;border-radius:50%;border:1.6px solid var(--lav);box-sizing:border-box}

/* Almost card lines */
.aline{display:flex;gap:10px;font-size:14px;line-height:1.45}
.aline .m{flex:none;width:8px;height:8px;margin-top:6px;border:1.8px solid var(--lav);border-radius:4px}
.aline .m.d{border:0;background:var(--terra);border-radius:1.5px;transform:rotate(45deg)}
.aline b{font-size:13px;color:var(--slate);margin-right:4px}

/* ---------- Path nodes ---------- */
.pn{display:flex;gap:8px;animation:fade .24s ease-out both}
.pn .rail{width:32px;flex:none;position:relative}
.pn .rail .up{position:absolute;left:15.2px;top:0;height:4px;width:1.6px;background:var(--mist)}
.pn .rail .dn{position:absolute;left:15.2px;top:21px;bottom:6px;width:1.6px;background:var(--mist);border-radius:1px}
.pn .rail .dn.fade{background:linear-gradient(var(--lav),rgba(168,155,184,.05))}
.pn .mk{position:absolute;left:16px;top:12px;transform:translate(-50%,-50%)}
.mk-almost{width:15px;height:15px;border:2px solid var(--lav);border-radius:50%}
.mk-turning{width:11px;height:11px;background:var(--terra);transform:translate(-50%,-50%) rotate(45deg)!important}
.mk-then{width:10px;height:10px;border-radius:50%;background:var(--grey)}
.mk-now{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#fff 2.6px,var(--sage) 3px)}
.mk-reflection{width:11px;height:11px;border-radius:50%;background:var(--blue)}
.pn .body{flex:1;min-width:0;padding-bottom:24px}
.pn.last .body{padding-bottom:0}
.nowbox{padding:14px;border-radius:12px;background:rgba(143,163,153,.12);border:1px solid rgba(143,163,153,.4)}
.shift{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.shift s{font-size:13px;font-weight:500;color:var(--slate);text-decoration-color:var(--grey)}
.shift .ico{width:15px;height:15px;color:var(--slate)}
.unchanged{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--slate)}
.unchanged .ico{width:16px;height:16px}

/* ---------- Overview header ---------- */
.hero{background:linear-gradient(135deg,var(--ink),var(--ink2));color:#fff;padding:calc(var(--top) + 8px) 8px 24px 20px}
.hero h1{font:500 34px/1.18 var(--serif);flex:1}
.hero .iconbtn{color:#fff}
.hero p{font-size:14.5px;color:rgba(255,255,255,.78);padding-right:12px}
.strip{position:relative;height:20px}
.strip i{position:absolute;top:9.2px;height:1.6px;border-radius:1px;background:var(--mist)}
.strip.dark i{background:rgba(255,255,255,.35)}
.strip .l1{left:12px;right:calc(50% + 14px)}.strip .l2{left:calc(50% + 14px);right:18px}
.strip svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.strip b{position:absolute;box-sizing:border-box}
.strip .c1{left:0;top:4px;width:12px;height:12px;border:2px solid var(--lav);border-radius:50%}
.strip .dm{left:calc(50% - 5px);top:5px;width:10px;height:10px;background:var(--terra);transform:rotate(45deg)}
.strip .c2{right:0;top:3.5px;width:13px;height:13px;background:var(--sage);border-radius:50%}
.pre{white-space:pre-wrap;overflow-wrap:anywhere}
.striplbl{display:flex;justify-content:space-between;margin-top:6px;font:600 12.5px var(--sans);color:var(--slate)}
.hero .striplbl{color:rgba(255,255,255,.85)}

/* Segmented */
.seg{display:flex;width:100%;border:1px solid var(--mist);border-radius:12px;overflow:hidden;background:#fff}
.seg button{flex:1;min-height:48px;font:600 14px var(--sans);display:flex;align-items:center;justify-content:center;gap:6px;border-left:1px solid var(--mist);transition:background .15s,color .15s}
.seg button:first-child{border-left:0}
.seg button.on{background:var(--blue);color:#fff}
.seg button .ico{width:18px;height:18px}
.metric{flex:1;background:#fff;border-radius:10px;padding:10px 8px 10px 12px;margin-right:8px}
.metric:last-child{margin-right:0}
.metric b{display:block;font:500 24px/1.2 var(--serif)}
.metric span{display:block;font-size:12px;color:var(--slate);line-height:1.3;white-space:pre-line}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.beyond{aspect-ratio:1.25;display:flex;flex-direction:column;padding:12px}
.beyond .im{flex:1;min-height:0;display:flex;align-items:center}
.beyond .im img{max-height:100%;width:auto;object-fit:contain}
.quick{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;font-weight:600;font-size:13px;color:var(--ink)}
.quick .ico{color:var(--blue)}

/* Empty state */
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 24px}
.empty .ring{width:72px;height:72px;border-radius:50%;border:1.4px solid var(--mist);background:#fff;display:grid;place-items:center;color:var(--blue);margin-bottom:16px}
.empty .ring .ico{width:32px;height:32px}
.empty p{font:400 18px/1.35 var(--serif)}
.empty .btn{width:auto;margin-top:16px}

/* Chips */
.hscroll{display:flex;gap:8px;overflow-x:auto;padding:6px 16px;scrollbar-width:none;align-items:center;min-height:52px}
.hscroll::-webkit-scrollbar{display:none}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--mist);background:#fff;font:500 13.5px var(--sans);color:var(--ink);white-space:nowrap;transition:background .15s,border-color .15s}
.chip .ico{width:16px;height:16px}
.chip.on{background:rgba(111,134,166,.16);border:1.5px solid var(--blue)}
.chip.dk{font-weight:600}
.chip.dk.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sortbtn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:10px;background:var(--ink);color:#fff;font:600 13.5px var(--sans);white-space:nowrap;flex:none}
.sortbtn .ico{width:18px;height:18px}

/* ---------- Forms ---------- */
.stepbars{display:flex;gap:10px}
.stepbars i{flex:1;height:4px;border-radius:2px;background:var(--mist);transition:background .22s}
.fld{display:block;position:relative;margin-bottom:20px}
.fld .box{position:relative;background:#fff;border:1.2px solid var(--mist);border-radius:12px;transition:border-color .15s}
.fld .box:focus-within{border:1.6px solid var(--blue)}
.fld.bad .box{border-color:var(--err)}
.fld .lbl{position:absolute;left:16px;top:8px;font-size:12px;color:var(--slate);pointer-events:none}
.fld .box:focus-within .lbl{color:var(--blueInk);font-weight:600}
.fld input,.fld textarea,.fld select{display:block;width:100%;border:0;outline:0;background:transparent;font:400 16px/1.45 var(--sans);color:var(--ink);padding:26px 16px 10px;border-radius:12px;resize:none}
.fld textarea{field-sizing:content;max-height:280px}
.fld select{appearance:none;-webkit-appearance:none}
.fld .meta{display:flex;gap:12px;margin-top:4px;padding:0 16px;font-size:12.5px;color:var(--slate)}
.fld .meta .help{flex:1}
.fld .meta .cnt{flex:none;margin-left:auto}
.fld .errt,.blk .errt{color:var(--err);font-weight:600;font-size:13px;margin-top:6px}
.fld .meta .errt{margin-top:0}
.fld .cal{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--slate);pointer-events:none}
.fld input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0;cursor:pointer}
.blk{margin-bottom:24px}
.blk .bl{font-size:15px;font-weight:600}
.blk .bl small{font-size:12px;color:var(--slate);font-weight:400;margin-left:8px}
.blk .bh{font-size:13px;color:var(--slate);margin-top:2px}
.blk .bc{margin-top:10px}
.catpick{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:6px 12px 6px 6px;border-radius:12px;border:1px solid var(--mist);background:#fff;font:600 14px var(--sans);transition:background .16s,border-color .16s}
.catpick img{width:32px;height:32px;object-fit:contain}
.catpick.on{background:rgba(111,134,166,.14);border:1.6px solid var(--blue)}
.viewpick{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;border-radius:12px;border:1px solid var(--mist);background:#fff;margin-bottom:8px;text-align:left;font:600 15px var(--sans);transition:background .16s,border-color .16s}
.viewpick .ico{width:20px;height:20px}
.viewpick .rad{width:18px;height:18px;border-radius:50%;border:2px solid var(--grey);flex:none;position:relative}
.viewpick.on .rad{border-color:currentColor}
.viewpick.on .rad::after{content:'';position:absolute;inset:2.5px;border-radius:50%;background:currentColor}
.formfoot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--mist);padding:12px 16px calc(12px + var(--bot));display:flex;gap:12px;z-index:10}

/* ---------- Overlays ---------- */
.scrim{position:fixed;inset:0;z-index:100;background:rgba(27,34,48,.42);display:flex;align-items:flex-end;justify-content:center;animation:sfade .18s ease-out}
.scrim.center{align-items:center;padding:24px}
@keyframes sfade{from{opacity:0}}
.sheet{background:#fff;width:100%;max-width:600px;max-height:92vh;max-height:92dvh;border-radius:20px 20px 0 0;overflow-y:auto;padding:0 20px calc(24px + var(--bot));animation:sup .24s cubic-bezier(.2,.8,.2,1);overscroll-behavior:contain}
@keyframes sup{from{transform:translateY(40%)}}
.sheet .handle{width:32px;height:4px;border-radius:2px;background:var(--grey);opacity:.5;margin:12px auto 18px}
.dialog{background:#fff;border-radius:16px;padding:24px 24px 16px;max-width:400px;width:100%;animation:pop .18s ease-out}
@keyframes pop{from{transform:scale(.95);opacity:0}}
.dialog h3{font:500 22px/1.25 var(--serif)}
.dialog p{font-size:15px;margin:12px 0 20px}
.dialog .acts{display:flex;justify-content:flex-end;gap:8px;align-items:center}
.dialog .acts .btn{width:auto;min-height:44px}
.listitem{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:10px 16px;text-align:left}
.listitem:active{background:var(--cool)}
.listitem .t{font-weight:600;font-size:15px}
.listitem .s{font-size:13px;color:var(--slate)}
.listitem>.ico:first-child{color:var(--blue)}
.listitem .chev{color:var(--grey)}
.listitem.sel{background:rgba(111,134,166,.1)}
.div{height:1px;background:var(--mist);margin:0 16px}
.toast{position:fixed;left:16px;right:16px;bottom:calc(92px + var(--bot));z-index:200;max-width:568px;margin:0 auto;background:var(--ink);color:#fff;border-radius:12px;padding:14px 16px;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.2);animation:sfade .2s}
.toast.low{bottom:calc(16px + var(--bot))}

/* ---------- Article ---------- */
.cover{position:relative;height:calc(280px + var(--top));background:var(--ink)}
.cover img{width:100%;height:100%;object-fit:cover}
.cover::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(27,34,48,.4),rgba(27,34,48,0) 40%)}
.cover .iconbtn{position:absolute;left:4px;top:calc(var(--top) + 4px);color:#fff;z-index:1}
.takeaway{padding:18px;border-radius:12px;background:rgba(143,163,153,.14);border-left:4px solid var(--sage)}

/* ---------- Insights ---------- */
.stat{flex:1;background:var(--cool);border-radius:10px;padding:12px 8px;text-align:center;min-width:0}
.stat b{display:block;font:500 24px/1.2 var(--serif)}
.stat span{font-size:11.5px;color:var(--slate);font-weight:600}
.hbar{display:flex;align-items:center;padding:6px 0;font-size:13.5px}
.hbar .l{width:140px;flex:none}
.hbar .t{flex:1}
.hbar .t i{display:block;height:10px;border-radius:5px;background:rgba(199,131,107,.75);min-width:6px;animation:grow .3s ease-out}
@keyframes grow{from{transform:scaleX(0);transform-origin:left}}
.hbar b{width:28px;text-align:right;font-size:14px}
.legend{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13.5px}
.legend i{width:12px;height:12px;border-radius:6px;flex:none}
svg text{font-family:var(--sans)}

/* ---------- Play ---------- */
.wheelbox{position:relative;width:300px;height:320px;margin:0 auto}
.wheel{position:absolute;top:20px;left:0;width:300px;height:300px;cursor:pointer;transition:transform 3.4s cubic-bezier(.165,.84,.44,1)}
.pointer{position:absolute;top:4px;left:136px;filter:drop-shadow(0 2px 2px rgba(27,34,48,.4))}
.hub{position:absolute;top:140px;left:120px;width:60px;height:60px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);padding:8px;pointer-events:none}
.reelbox{padding:18px 14px;border-radius:20px;background:linear-gradient(135deg,var(--ink),var(--ink2))}
.reel{height:168px;border-radius:12px;border:2px solid var(--lav);background:var(--paper);overflow:hidden;position:relative;flex:1}
.reel::after{content:'';position:absolute;inset:0;background:linear-gradient(var(--paper),rgba(245,243,238,0) 28%,rgba(245,243,238,0) 72%,var(--paper));pointer-events:none}
.reel .strip2{will-change:transform}
.reel .strip2 img{height:72px;width:100%;object-fit:contain;padding:10px}
.reellbl{flex:1;text-align:center;font:600 12px var(--sans);letter-spacing:1.4px;color:rgba(255,255,255,.7)}
.pairs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pcard{aspect-ratio:1;perspective:600px}
.pcard .in{position:relative;width:100%;height:100%;transition:transform .32s;transform-style:preserve-3d}
.pcard.up .in{transform:rotateY(180deg)}
.pcard .bk,.pcard .fr{position:absolute;inset:0;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pcard .bk{background:linear-gradient(135deg,var(--blue),var(--lav));display:grid;place-items:center}
.pcard .bk i{width:18px;height:18px;border:2px solid rgba(255,255,255,.7);border-radius:3px;transform:rotate(45deg)}
.pcard .fr{transform:rotateY(180deg);background:#fff;border:1.6px solid var(--blue);padding:10px}
.pcard.ok .fr{background:rgba(143,163,153,.18);border-color:var(--sage)}
.pcard .fr img{width:100%;height:100%;object-fit:contain}

/* ---------- Onboarding ---------- */
.onb{height:100vh;height:100dvh;display:flex;flex-direction:column;padding-top:var(--top)}
.pager{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:0}
.pager::-webkit-scrollbar{display:none}
.page{flex:0 0 100%;scroll-snap-align:start;overflow-y:auto;padding:0 28px;display:flex;flex-direction:column;justify-content:center}
.page .ill{width:min(240px,32vh);height:min(240px,32vh);border-radius:50%;background:var(--warm);padding:28px;margin:0 auto 40px}
.page .ill img{width:100%;height:100%;object-fit:contain}
.dots{display:flex;justify-content:center;gap:8px}
.dots i{width:8px;height:8px;border-radius:4px;background:var(--mist);transition:width .22s,background .22s}
.dots i.on{width:22px;background:var(--blue)}
.card.row{display:flex}
