/* MergeWise app2 - THE stylesheet (R44).
   Merged 6 August 2026 from 21 sheets, in their original cascade order, because the app was
   making 21 stylesheet requests before it could paint. Section markers below are the old file
   names: keep the order, add new rules at the END of the file (or inside the right section if
   you are correcting one of its rules).
   The four ../redesign/*.css sheets are COPIES: those files still exist for the retired kits
   in ui_kits/redesign, but app2 no longer links them. */

/* ======================================================================
   ../redesign/redesign.css
   ====================================================================== */
/* MergeWise redesign directions. Three palettes, one component set, scoped rd- */
body{margin:0;background:#e6e8ed;font-family:"Instrument Sans",system-ui,sans-serif}
.rd-sec{position:absolute;width:436px}
[data-dir="a"]{--bg:#f3efe4;--card:#fffdf6;--tile:#eae4d4;--line:#e0d9c5;--line2:#c9c0a8;--t1:#1c1e16;--t2:#5b5d4e;--t3:#7d7f6f;--acc:#1a5c46;--on:#f2f7f1;--wash:#e2ece5;--pop:#d94f1e;--in:#237a44;--out:#bf4028;--ch:#0f2438;--ci:#8a2f1e;--ca:#26292e;--cu:#0e5f66;--fd:"Schibsted Grotesk";--shA:rgba(28,30,22,.16);--tabon:var(--acc)}
[data-dir="b"]{--bg:#eef1f7;--card:#ffffff;--tile:#e6eaf3;--line:#dde2ee;--line2:#c3cadd;--t1:#0e1322;--t2:#4b5368;--t3:#6e768b;--acc:#2544f5;--on:#ffffff;--wash:#e6eaff;--pop:#00a862;--in:#0b8f56;--out:#d5403a;--ch:#12203a;--ci:#b03a2a;--ca:#191d29;--cu:#0c7a8a;--fd:"Sora";--shA:rgba(14,19,34,.16);--tabon:var(--acc)}
[data-dir="c"]{--bg:#f9f5ec;--card:#fffdf7;--tile:#f0ebdd;--line:#e7e0cf;--line2:#d0c8b2;--t1:#191510;--t2:#5c564a;--t3:#7e786a;--acc:#191510;--on:#f8f4ea;--wash:#efe9da;--pop:#f4500a;--in:#1e7a3f;--out:#c33e22;--ch:#0f2438;--ci:#93331d;--ca:#1c1a16;--cu:#0f6b63;--fd:"Gabarito";--shA:rgba(25,21,16,.18);--tabon:var(--pop)}
.rd-tag{position:absolute;left:0;top:0;width:34px;height:34px;border-radius:10px;background:#14171e;color:#fff;display:grid;place-items:center;font:700 13px/1 var(--fl)}
.rd-caption{margin:0 0 14px 46px}
.rd-caption h2{margin:0;font:650 18px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:#14171e}
.rd-caption p{margin:3px 0 0;font:450 12px/1.5 "Instrument Sans",sans-serif;color:#6b7180;max-width:360px}
.rd-frame{width:412px;border-radius:46px;padding:11px;box-sizing:border-box;background:linear-gradient(168deg,#2b2f39,#12151c 60%,#090b10);box-shadow:0 34px 80px -36px rgba(10,13,20,.55),inset 0 0 0 1px rgba(255,255,255,.06)}
.rd-screen{position:relative;width:390px;height:844px;border-radius:36px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;color:var(--t1);font-family:"Instrument Sans",sans-serif}
.rd-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:100px;height:25px;border-radius:13px;background:#0a0c11;z-index:60}
.rd-status{flex:none;display:flex;justify-content:space-between;align-items:center;padding:13px 26px 4px;font:600 12px/1 "Instrument Sans",sans-serif;color:var(--t1)}
.rd-status i{display:inline-flex;gap:5px;align-items:center;font-style:normal;color:var(--t2)}
.rd-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding-bottom:120px}
.rd-scroll::-webkit-scrollbar{display:none}
.rd-head{display:flex;align-items:center;gap:11px;padding:10px 20px 4px}
.rd-head .grow{flex:1}
.rd-hi{margin:0;font:500 12.5px/1.2 "Instrument Sans",sans-serif;color:var(--t3)}
.rd-name{margin:1px 0 0;font:650 24px/1.05 var(--fd),sans-serif;letter-spacing:-.028em}
.rd-ib{position:relative;width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--t2);cursor:pointer;box-shadow:0 1px 2px var(--shA)}
.rd-ib u{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:4px;background:var(--pop);border:1.5px solid var(--card)}
.rd-av{width:40px;height:40px;flex:none;border-radius:13px;display:grid;place-items:center;background:var(--acc);color:var(--on);font:700 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer;box-shadow:0 6px 14px -6px var(--shA)}
/* ---- the wallet stack ---- */
.rd-stack{position:relative;height:262px;margin:10px 18px 0;perspective:1500px;touch-action:pan-y}
.rd-slot{position:absolute;left:0;right:0;top:34px;height:212px;transform-origin:top center;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .35s}
.rd-slot.live{transition:opacity .35s}
.rd-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.34,.8,.24,1)}
.rd-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:21px;overflow:hidden;box-sizing:border-box;padding:17px;color:#f6f6f1;background:radial-gradient(130% 90% at 12% 0%,color-mix(in srgb,var(--cc) 84%,#fff) 0%,var(--cc) 52%,color-mix(in srgb,var(--cc) 78%,#000) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.07)}
.rd-face.back{transform:rotateY(180deg);padding:0}
.rd-slot.top{cursor:grab;box-shadow:0 30px 48px -22px color-mix(in srgb,var(--cc) 34%,var(--shA)),0 6px 14px -8px var(--shA);border-radius:21px}
.rd-slot.top:active{cursor:grabbing}
.rd-cbank{display:flex;justify-content:space-between;align-items:flex-start;font:600 11px/1.3 var(--fl);letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.rd-cbank small{display:block;margin-top:3px;font:500 9px/1 var(--fl);letter-spacing:.14em;color:rgba(255,255,255,.5)}
.rd-chip{width:37px;height:27px;border-radius:6px;margin-top:16px;background:linear-gradient(150deg,#e8d9a8,#c8ab5f 55%,#a8853c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.22);position:relative}
.rd-chip::after{content:"";position:absolute;inset:5px 7px;border:1px solid rgba(60,42,8,.45);border-radius:3px}
.rd-cbal{margin-top:14px}
.rd-cbal span{display:block;font:500 8.5px/1 var(--fl);letter-spacing:.16em;color:rgba(255,255,255,.55)}
.rd-cbal b{display:block;margin-top:5px;font:650 30px/1 var(--fd),sans-serif;letter-spacing:-.028em;font-variant-numeric:tabular-nums}
.rd-cbal u{display:block;margin-top:4px;text-decoration:none;font:500 10px/1 var(--fl);color:rgba(255,255,255,.62)}
.rd-cfoot{position:absolute;left:17px;right:17px;bottom:15px;display:flex;justify-content:space-between;align-items:center;font:600 12px/1 var(--fl);letter-spacing:.12em;color:rgba(255,255,255,.85)}
.rd-cfoot em{font:800 13px/1 var(--fd),sans-serif;font-style:italic;letter-spacing:.02em}
.rd-stripe{height:36px;background:rgba(0,0,0,.45);margin-top:20px}
.rd-backpad{padding:12px 17px 0}
.rd-num{font:600 15px/1 var(--fl);letter-spacing:.08em}
.rd-brow{display:flex;gap:22px;margin-top:10px;font:500 9px/1.5 var(--fl);letter-spacing:.12em;color:rgba(255,255,255,.55)}
.rd-brow b{display:block;font:600 12px/1.4 var(--fl);letter-spacing:.06em;color:#f6f6f1}
.rd-bmeta{display:flex;gap:18px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.14);font:500 9px/1.5 var(--fl);letter-spacing:.1em;color:rgba(255,255,255,.55)}
.rd-bmeta b{display:block;font:650 13px/1.4 var(--fd),sans-serif;letter-spacing:-.01em;color:#f6f6f1;font-variant-numeric:tabular-nums}
.rd-freeze{position:absolute;right:14px;bottom:13px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font:600 11px/1 "Instrument Sans",sans-serif;cursor:pointer}
.rd-freeze[aria-pressed="true"]{background:#fff;color:#12151c;border-color:#fff}
.rd-under{display:flex;align-items:center;justify-content:space-between;margin:12px 20px 0}
.rd-dots{display:flex;gap:6px;align-items:center}
.rd-dots s{width:5px;height:5px;border-radius:3px;background:var(--line2);text-decoration:none;transition:all .3s}
.rd-dots s.on{width:16px;background:var(--tabon)}
.rd-hint{font:500 10px/1 var(--fl);letter-spacing:.06em;color:var(--t3)}
.rd-arrows{display:flex;gap:6px}
.rd-arrows button{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--t2);display:grid;place-items:center;cursor:pointer}
.rd-nw{display:flex;align-items:center;gap:10px;margin:14px 20px 0;padding:11px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA);font:500 11.5px/1.3 "Instrument Sans",sans-serif;color:var(--t2)}
.rd-nw b{font:650 13px/1 var(--fd),sans-serif;letter-spacing:-.01em;color:var(--t1);font-variant-numeric:tabular-nums}
.rd-nwbar{flex:1;height:6px;border-radius:4px;overflow:hidden;display:flex;background:var(--tile);min-width:40px}
.rd-nwbar i{background:var(--in)}.rd-nwbar em{background:var(--out)}
/* quick actions */
.rd-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 20px 0}
.rd-qa{appearance:none;border:1px solid var(--line);background:var(--card);border-radius:15px;padding:11px 4px 9px;display:grid;justify-items:center;gap:6px;font:600 10.5px/1 "Instrument Sans",sans-serif;color:var(--t2);cursor:pointer;box-shadow:0 1px 2px var(--shA);transition:transform .14s}
.rd-qa:active{transform:scale(.96)}
.rd-qa s{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--wash);color:var(--acc);text-decoration:none}
[data-dir="c"] .rd-qa s{color:var(--pop);background:color-mix(in srgb,var(--pop) 11%,var(--card))}
/* section head + panel */
.rd-sh{display:flex;align-items:baseline;justify-content:space-between;margin:24px 20px 10px}
.rd-sh h3{margin:0;font:650 15.5px/1.2 var(--fd),sans-serif;letter-spacing:-.015em}
.rd-sh span{font:600 11.5px/1 "Instrument Sans",sans-serif;color:var(--tabon);cursor:pointer}
.rd-panel{margin:0 20px;padding:15px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA)}
.rd-kept{display:flex;align-items:flex-end;justify-content:space-between}
.rd-kept span{display:block;font:500 9px/1 var(--fl);letter-spacing:.15em;color:var(--t3);text-transform:uppercase}
.rd-kept b{display:block;margin-top:6px;font:650 27px/1 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--in);font-variant-numeric:tabular-nums}
.rd-kept small{font:500 10.5px/1.6 var(--fl);color:var(--t3);text-align:right}
.rd-bars{display:grid;grid-auto-flow:column;align-items:end;gap:6px;height:56px;margin-top:14px}
.rd-bars s{display:block;border-radius:3px 3px 1px 1px;background:color-mix(in srgb,var(--tabon) 26%,var(--tile));text-decoration:none}
.rd-bars s.on{background:var(--tabon)}
/* pots strip */
.rd-pots{display:flex;gap:10px;overflow-x:auto;padding:0 20px 4px;scrollbar-width:none}
.rd-pots::-webkit-scrollbar{display:none}
.rd-pot{flex:none;width:158px;box-sizing:border-box;padding:12px;border-radius:15px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left;font:inherit;color:inherit}
.rd-pot em{display:block;font:500 8.5px/1 var(--fl);letter-spacing:.13em;font-style:normal;color:var(--pid,var(--t3));text-transform:uppercase}
.rd-pot b{display:block;margin-top:6px;font:650 12.5px/1.25 "Instrument Sans",sans-serif}
.rd-pot strong{display:block;margin-top:7px;font:650 16px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rd-pot .mt{height:5px;border-radius:3px;background:var(--tile);overflow:hidden;margin-top:9px}
.rd-pot .mt i{display:block;height:100%;background:var(--pid,var(--acc))}
/* rows */
.rd-list{margin:0 20px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA);overflow:hidden}
.rd-row{width:100%;box-sizing:border-box;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:12px 14px;min-height:58px;border:0;border-top:1px solid var(--line);background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}
.rd-row:first-child{border-top:0}
.a2-swipe{position:relative;overflow:hidden}
.a2-swipe .rd-row{border-top:0}
.a2-swipe+.a2-swipe{border-top:1px solid var(--line)}
.a2-swcontent{position:relative;background:var(--card);touch-action:pan-y;-webkit-user-select:none;user-select:none}
.a2-swact{position:absolute;top:0;bottom:0;width:78px;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:650 10px/1 var(--fl);letter-spacing:.06em;cursor:pointer;transition:opacity .12s linear}
.a2-swact.edit{left:0;background:var(--acc);color:var(--on)}
.a2-swact.del{right:0;background:var(--out);color:#fff}
.a2-swconfirm{position:absolute;inset:0;z-index:2;display:flex;align-items:center;gap:8px;padding:0 14px;background:color-mix(in srgb,var(--out) 10%,var(--card));animation:swin .16s ease}
@keyframes swin{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.a2-swconfirm span{flex:1;min-width:0;font:600 12px/1.3 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-swcancel{flex:none;border:1px solid var(--line2);background:var(--card);color:var(--t2);border-radius:9px;padding:7px 12px;font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-swyes{flex:none;display:inline-flex;align-items:center;gap:5px;border:none;background:var(--out);color:#fff;border-radius:9px;padding:7px 12px;font:650 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.rd-row s{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--gc,var(--t3)) 13%,var(--card));color:var(--gc,var(--t2));text-decoration:none}
.rd-row b{display:block;font:600 13px/1.3 "Instrument Sans",sans-serif}
.rd-row small{display:block;margin-top:2px;font:450 11px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.rd-row .end{text-align:right;font:650 13.5px/1.2 var(--fd),sans-serif;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.rd-row .end.in{color:var(--in)}
.rd-row .end u{display:block;margin-top:2px;text-decoration:none;font:450 10px/1 var(--fl);color:var(--t3)}
/* tab bar */
.rd-bar{position:absolute;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr 1fr 72px 1fr 1fr;align-items:end;height:74px;padding:0 8px 14px;box-sizing:border-box;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.rd-tab{appearance:none;border:0;background:none;display:grid;justify-items:center;gap:4px;padding:9px 0 0;min-height:50px;cursor:pointer;color:var(--t3);font:600 10px/1 "Instrument Sans",sans-serif}
.rd-tab[aria-selected="true"]{color:var(--tabon)}
.rd-fab{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:45;width:58px;height:58px;border-radius:20px;border:0;cursor:pointer;background:var(--acc);color:var(--on);display:grid;place-items:center;box-shadow:0 14px 28px -10px color-mix(in srgb,var(--acc) 55%,transparent);transition:transform .16s}
.rd-fab:active{transform:translateX(-50%) scale(.93)}
[data-dir="c"] .rd-fab{background:var(--pop);color:#fff;box-shadow:0 14px 28px -10px color-mix(in srgb,var(--pop) 55%,transparent)}
@media (prefers-reduced-motion:reduce){.rd-slot,.rd-flip,.rd-dots s{transition:none!important}}

/* ======================================================================
   ../redesign/redesign2.css
   ====================================================================== */
/* Round 2: canopy header, safe-to-spend, inbox triage, pill bar */
[data-dir="2a"]{--bg:#f4efe3;--card:#fffdf6;--tile:#ebe5d4;--line:#e0d9c5;--line2:#c9c0a8;--t1:#1b1d15;--t2:#585a4b;--t3:#7b7d6d;--acc:#1a5c46;--on:#f2f7f1;--wash:#e2ece5;--pop:#e2551f;--in:#2c8a52;--out:#bf4028;--ch:#0f2438;--ci:#8a2f1e;--ca:#26292e;--cu:#0e5f66;--fd:"Schibsted Grotesk";--shA:rgba(28,30,22,.16);--tabon:#1a5c46;--cano:#122b21;--canoT:#eef3ec;--canoT2:#9db1a4}
[data-dir="2b"]{--bg:#eff1f7;--card:#ffffff;--tile:#e6eaf3;--line:#dde2ee;--line2:#c3cadd;--t1:#0e1322;--t2:#4b5368;--t3:#6e768b;--acc:#2b4bff;--on:#ffffff;--wash:#e6eaff;--pop:#ff5a1f;--in:#0b8f56;--out:#d5403a;--ch:#12203a;--ci:#b03a2a;--ca:#191d29;--cu:#0c7a8a;--fd:"Sora";--shA:rgba(14,19,34,.16);--tabon:#2b4bff;--cano:#0c111f;--canoT:#eef1f8;--canoT2:#8e97ad}
.rd-cano{position:relative;padding:12px 20px 96px;background:var(--cano);color:var(--canoT);border-radius:0 0 30px 30px;overflow:hidden}
.rd-cano::before{content:"";position:absolute;left:-30%;right:-10%;top:-60%;height:130%;background:radial-gradient(58% 60% at 82% 22%,color-mix(in srgb,var(--pop) 34%,transparent),transparent 70%);opacity:.55;pointer-events:none}
.rd-cano::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 50% at 12% 100%,rgba(255,255,255,.05),transparent 60%);pointer-events:none}
.rd-cano>*{position:relative}
.rd-crow{display:flex;gap:10px;align-items:center}
.rd-crow .grow{flex:1;min-width:0}
.rd-av2{width:37px;height:37px;flex:none;border-radius:12px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);color:var(--canoT);font:700 12px/1 "Instrument Sans",sans-serif;display:grid;place-items:center;cursor:pointer}
.rd-date{margin:0;font:500 8.5px/1 var(--fl);letter-spacing:.18em;color:var(--canoT2)}
.rd-name2{margin:3px 0 0;font:600 14.5px/1.2 var(--fd),sans-serif;letter-spacing:-.01em}
.rd-ib2{position:relative;width:37px;height:37px;flex:none;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:var(--canoT);display:grid;place-items:center;cursor:pointer}
.rd-ib2 u{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:4px;background:var(--pop);border:1.5px solid var(--cano)}
.rd-total{margin-top:22px}
.rd-total span{font:500 9px/1 var(--fl);letter-spacing:.2em;color:var(--canoT2)}
.rd-total b{display:block;margin-top:8px;font:650 41px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.rd-total small{display:block;margin-top:8px;font:450 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--canoT2)}
.rd2-stack{margin-top:-92px}
.rd2-stack .rd-hint{color:var(--t3)}
.rd-safe{margin:18px 20px 0;padding:16px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:0 16px 34px -24px var(--shA),0 1px 2px var(--shA)}
.rd-safe .row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rd-safe .k{display:block;font:500 9px/1 var(--fl);letter-spacing:.16em;color:var(--t3)}
.rd-safe .fig{display:block;margin-top:7px;font:650 30px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rd-safe .till{display:block;margin-top:5px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.rd-day{flex:none;padding:9px 12px;border-radius:12px;background:var(--wash);color:var(--tabon);text-align:right;font:650 13px/1.2 var(--fd),sans-serif;letter-spacing:-.01em}
.rd-day small{display:block;margin-top:3px;font:500 8.5px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.rd-pace{position:relative;height:8px;border-radius:5px;background:var(--tile);margin-top:16px}
.rd-pace i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--in)}
.rd-pace u{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:2px;background:var(--t1)}
.rd-pace-l{display:flex;justify-content:space-between;margin-top:8px;font:500 9px/1 var(--fl);letter-spacing:.06em;color:var(--t3)}
.rd-sh2{display:flex;align-items:center;gap:10px;margin:26px 20px 10px}
.rd-sh2 em{font:500 9.5px/1 var(--fl);letter-spacing:.18em;font-style:normal;text-transform:uppercase;color:var(--t2)}
.rd-sh2 s{flex:1;height:1px;background:var(--line);text-decoration:none}
.rd-sh2 b{font:600 10px/1 var(--fl);letter-spacing:.06em;color:var(--tabon);cursor:pointer}
.rd-eyebtns{display:flex;gap:7px}
.rd-eyebtns button{width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--tile);color:var(--t2);display:grid;place-items:center;cursor:pointer;transition:transform .12s}
.rd-eyebtns button:active{transform:scale(.92)}
.rd-eyebtns button.ok{background:var(--acc);border-color:transparent;color:var(--on)}
.rd-eyedone{display:flex;align-items:center;gap:9px;padding:14px;font:600 12px/1.3 "Instrument Sans",sans-serif;color:var(--in)}
.rd-pill{position:absolute;left:16px;right:16px;bottom:14px;z-index:40;height:66px;border-radius:22px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 24px 44px -20px var(--shA);display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:center}
.rd-pill .rd-tab{min-height:48px;padding-top:7px}
.rd-pfab{width:50px;height:50px;margin:auto;border-radius:17px;border:0;background:var(--acc);color:var(--on);display:grid;place-items:center;cursor:pointer;transform:translateY(-16px);box-shadow:0 12px 24px -8px color-mix(in srgb,var(--acc) 58%,transparent),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .16s}
.rd-pfab:active{transform:translateY(-16px) scale(.92)}
[data-dir="2b"] .rd-pfab{background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 86%,#fff),var(--acc) 60%)}
[data-dir="2a"] .rd-pfab{background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 84%,#fff),var(--acc) 62%)}
.rd-live{display:inline-flex;align-items:center;gap:5px;font:600 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--in)}
.rd-live s{width:5px;height:5px;border-radius:3px;background:var(--in);text-decoration:none;display:block}

/* ======================================================================
   ../redesign/redesign3.css
   ====================================================================== */
/* Round 3: luxury enamel. Solid cards, hidden balances, dark dock */
[data-dir="3a"]{--bg:#f6f3ec;--card:#fffefa;--tile:#ede9dd;--line:#e3ded0;--line2:#cdc6b2;--t1:#191b16;--t2:#565948;--t3:#797c6c;--acc:#0e5c44;--on:#f3f8f3;--wash:#e5efe8;--pop:#c9a227;--in:#237a4a;--out:#b8432c;--ch:#0f2438;--ci:#7e2a1c;--ca:#23262b;--cu:#0d5a62;--fd:"Schibsted Grotesk";--shA:rgba(25,27,22,.16);--tabon:#0e5c44;--cano:#0b3b2e;--canoT:#f0f5ef;--canoT2:#9cb3a5;--gold:#e3c05c}
[data-dir="3b"]{--bg:#f8f4ed;--card:#fffdf8;--tile:#efe9de;--line:#e6dfd1;--line2:#cfc7b4;--t1:#1b141f;--t2:#5b5261;--t3:#7d7482;--acc:#4a1f5c;--on:#f6f1f8;--wash:#ede5f0;--pop:#c96f4a;--in:#237a4a;--out:#b8432c;--ch:#0f2438;--ci:#8a2f1e;--ca:#1f1b23;--cu:#0d5a62;--fd:"Sora";--shA:rgba(27,20,31,.16);--tabon:#4a1f5c;--cano:#1d1024;--canoT:#f3eef5;--canoT2:#a898b1;--gold:#d9a05f}
[data-dir^="3"] .rd-cano::before{background:radial-gradient(58% 62% at 82% 18%,color-mix(in srgb,var(--gold) 36%,transparent),transparent 70%)}
[data-dir^="3"] .rd-cano{padding-bottom:74px}
[data-dir^="3"] .rd-face{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 32%,transparent),inset 0 1px 0 rgba(255,255,255,.26)}
[data-dir^="3"] .rd-face::after{content:"";position:absolute;inset:0;border-radius:21px;background:linear-gradient(118deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 64%,rgba(255,255,255,.05) 100%);pointer-events:none}
[data-dir^="3"] .rd-face.back::after{display:none}
.rd3-stack{margin-top:-58px}
.rd-nwrow{display:flex;align-items:center;gap:9px;margin-top:22px}
.rd-nwrow span{font:500 9px/1 var(--fl);letter-spacing:.2em;color:var(--canoT2)}
.rd-eyebtn{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);color:var(--canoT);display:grid;place-items:center;cursor:pointer}
.rd-amt{margin:8px 0 0;font:650 40px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rd-amt.hid{font-size:34px;letter-spacing:.1em;color:color-mix(in srgb,var(--canoT) 78%,transparent)}
.rd-subline{margin:8px 0 0;font:450 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--canoT2)}
.rd-month{display:flex;align-items:center;gap:16px;margin:18px 20px 0;padding:13px 15px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:0 14px 30px -24px var(--shA),0 1px 2px var(--shA)}
.rd-month em{font:500 9px/1 var(--fl);letter-spacing:.16em;color:var(--t3);font-style:normal}
.rd-month div span{display:block;font:500 8.5px/1 var(--fl);letter-spacing:.12em;color:var(--t3)}
.rd-month div b{display:block;margin-top:4px;font:650 14px/1 var(--fd),sans-serif;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.rd-mbars{display:flex;align-items:flex-end;gap:3px;height:28px;margin-left:auto}
.rd-mbars s{width:5px;border-radius:2px;background:color-mix(in srgb,var(--tabon) 28%,var(--tile));text-decoration:none}
.rd-mbars s.on{background:var(--pop)}
.rd-dock{position:absolute;left:18px;right:18px;bottom:16px;z-index:40;height:64px;border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--cano) 88%,#ffffff 12%),var(--cano) 55%);box-shadow:0 26px 46px -18px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;padding:0 12px;box-sizing:border-box}
.rd-dtab{appearance:none;border:0;background:none;min-width:44px;min-height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:color-mix(in srgb,var(--canoT) 55%,transparent);cursor:pointer;font:600 11px/1 "Instrument Sans",sans-serif;padding:0 11px}
.rd-dtab[aria-selected="true"]{background:rgba(255,255,255,.09);color:var(--gold)}
.rd-dfab{width:46px;height:46px;flex:none;border-radius:16px;border:0;background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 88%,#fff),var(--gold) 45%,color-mix(in srgb,var(--gold) 62%,#6b4c0e));color:#241a04;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 22px -8px color-mix(in srgb,var(--gold) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .15s}
.rd-dfab:active{transform:scale(.92)}

/* ======================================================================
   ../redesign/redesign4.css
   ====================================================================== */
/* Round 4: the locked direction. Noir Plum palette, Schibsted type, sheets and search */
[data-dir="4a"]{--bg:#f8f4ed;--card:#fffdf8;--tile:#efe9de;--line:#e6dfd1;--line2:#cfc7b4;--t1:#1b141f;--t2:#5b5261;--t3:#7d7482;--acc:#4a1f5c;--on:#f6f1f8;--wash:#ede5f0;--pop:#c96f4a;--in:#237a4a;--out:#b8432c;--ch:#0f2438;--ci:#8a2f1e;--ca:#1f1b23;--cu:#0d5a62;--fd:"Schibsted Grotesk";--shA:rgba(27,20,31,.16);--tabon:#4a1f5c;--cano:#1d1024;--canoT:#f3eef5;--canoT2:#a898b1;--gold:#d9a05f}
[data-dir="4a"] .rd-amt.hid{font-size:40px;letter-spacing:.04em}
[data-dir="4a"] .rd-subline{min-height:16px}
.rd-txn{position:absolute;left:14px;bottom:13px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font:600 11px/1 "Instrument Sans",sans-serif;cursor:pointer}
@keyframes rdFade{from{opacity:0}to{opacity:1}}
@keyframes rdUp{from{transform:translateY(102%)}to{transform:translateY(0)}}
.rd-scrim{position:absolute;inset:0;z-index:70;border:0;padding:0;background:rgba(12,7,15,.55);backdrop-filter:blur(2px);cursor:pointer;animation:rdFade .2s ease both}
.rd-sheet{position:absolute;left:0;right:0;bottom:0;z-index:80;max-height:86%;display:flex;flex-direction:column;border-radius:26px 26px 0 0;background:var(--card);box-shadow:0 -24px 60px rgba(0,0,0,.35);animation:rdUp .32s cubic-bezier(.16,1,.3,1) both}
.rd-grab{flex:none;display:grid;place-items:center;padding:10px 0 2px}
.rd-grab s{width:40px;height:4px;border-radius:3px;background:var(--line2);text-decoration:none;display:block}
.rd-shead{flex:none;display:flex;align-items:center;gap:12px;padding:8px 18px 12px;border-bottom:1px solid var(--line)}
.rd-shead h4{margin:0;flex:1;font:650 16px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.rd-shead small{font:500 10px/1 var(--fl);color:var(--t3)}
.rd-x{width:34px;height:34px;flex:none;border-radius:11px;border:1px solid var(--line);background:var(--tile);display:grid;place-items:center;color:var(--t2);cursor:pointer}
.rd-sbody{overflow-y:auto;padding:4px 0 26px;scrollbar-width:none}
.rd-sbody::-webkit-scrollbar{display:none}
.rd-lrow{width:100%;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;border:0;border-top:1px solid var(--line);background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}
.rd-lrow:first-child{border-top:0}
.rd-lrow b{display:block;font:600 13px/1.3 "Instrument Sans",sans-serif;color:var(--t1)}
.rd-lrow small{display:block;margin-top:2px;font:450 11px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.rd-lrow .end{font:650 13.5px/1 var(--fd),sans-serif;letter-spacing:-.015em;font-variant-numeric:tabular-nums;color:var(--t1)}
.rd-lrow .end.in{color:var(--in)}
.rd-pcard{display:flex;gap:14px;align-items:center;padding:16px 18px 6px}
.rd-pav{width:54px;height:54px;flex:none;border-radius:18px;background:var(--cano);color:var(--gold);display:grid;place-items:center;font:700 16px/1 "Instrument Sans",sans-serif}
.rd-pcard b{display:block;font:650 16px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.rd-pcard small{display:block;margin-top:3px;font:500 11px/1 var(--fl);color:var(--t3)}
.rd-search{position:absolute;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column;animation:rdFade .18s ease both}
.rd-stop{flex:none;display:flex;align-items:center;gap:10px;padding:52px 16px 0}
.rd-sinput{flex:1;display:flex;gap:10px;align-items:center;padding:0 14px;height:46px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA);color:var(--t3)}
.rd-sinput input{flex:1;min-width:0;border:0;outline:0;background:none;font:450 14px/1 "Instrument Sans",sans-serif;color:var(--t1)}
.rd-chiprow{display:flex;gap:8px;padding:14px 16px 4px;flex-wrap:wrap}
.rd-chip4{padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:600 11.5px/1 "Instrument Sans",sans-serif;color:var(--t2);cursor:pointer}
.rd-semty{margin:30px 40px;text-align:center;color:var(--t3);font:450 12px/1.6 "Instrument Sans",sans-serif}

/* ======================================================================
   app2.css
   ====================================================================== */
/* MergeWise app2 — production skin on top of the redesign tokens (rd- classes).
   4a = money app (fresh green, light first). 4t = travel (burnt tangerine #e17825 on warm ivory, espresso ink, luxury warm). */
[data-dir="4a"]{--bg:#f3ffe1;--card:#fdfff6;--tile:#e9f7cd;--line:#dfeec6;--line2:#bcd695;--t1:#1c2a0e;--t2:#52633a;--t3:#778a5c;--acc:#a9e34b;--on:#233c07;--wash:#e4f6c4;--pop:#e05a5a;--in:#4f772d;--out:#d94f43;--ch:#0f2438;--ci:#7e2a1c;--ca:#23262b;--cu:#0d5a62;--fd:"Schibsted Grotesk";--shA:rgba(28,42,14,.16);--shB:rgba(28,42,14,.30);--tabon:#4f772d;--cano:#a9e34b;--canoT:#233c07;--canoT2:#5c7834;--gold:#86cf30}
[data-dir="4t"]{--bg:#faf4eb;--card:#fffdf8;--tile:#f1e9db;--line:#e7dcc8;--line2:#cfbda1;--t1:#241a10;--t2:#5f5344;--t3:#8a7c6a;--acc:#e17825;--on:#fff8f0;--wash:#f9e5d0;--pop:#8a5a2b;--in:#2e7d4f;--out:#bf3f2b;--ch:#0f2438;--ci:#8a2f1e;--ca:#1f1b23;--cu:#0d5a62;--fd:"Schibsted Grotesk";--shA:rgba(36,26,16,.16);--shB:rgba(36,26,16,.30);--tabon:#a6540f;--cano:#e17825;--canoT:#fff8f0;--canoT2:#ffd9b0;--gold:#d96d15}
[data-dir="4k"]{--bg:#f2f1ee;--card:#fcfbf8;--tile:#e8e6e0;--line:#dedbd2;--line2:#c2beb2;--t1:#17181b;--t2:#54565c;--t3:#797b81;--acc:#2e3440;--on:#f2f3f5;--wash:#e6e7ea;--pop:#c9a227;--in:#237a4a;--out:#b8432c;--ch:#0f2438;--ci:#7e2a1c;--ca:#23262b;--cu:#0d5a62;--fd:"Schibsted Grotesk";--shA:rgba(23,24,27,.16);--shB:rgba(23,24,27,.30);--tabon:#2e3440;--cano:#141519;--canoT:#f0f1f3;--canoT2:#9a9da6;--gold:#e3c05c}
.a2-stage{display:flex;gap:26px;justify-content:center;align-items:flex-start;padding:26px;min-height:100vh;box-sizing:border-box;background:#e6e8ed}
.a2-rail{width:212px;flex:none;position:sticky;top:26px;background:#fff;border:1px solid #e3e6ec;border-radius:18px;padding:14px;box-shadow:0 20px 50px -30px rgba(15,19,25,.45);font-family:"Instrument Sans",sans-serif}
.a2-rail h3{margin:0 0 3px;font:650 14px/1.2 "Schibsted Grotesk",sans-serif;letter-spacing:-.02em;color:#0f1319}
.a2-rail p{margin:0 0 11px;font:450 11px/1.5 "Instrument Sans",sans-serif;color:#828b9a}
.a2-rail em{display:block;font:500 9.5px/1 var(--fl);letter-spacing:.12em;text-transform:uppercase;color:#a3aab6;margin:10px 0 6px;font-style:normal}
.a2-rail button{display:block;width:100%;text-align:left;appearance:none;border:0;background:none;padding:6px 8px;border-radius:8px;font:500 12px/1.3 "Instrument Sans",sans-serif;color:#525a68;cursor:pointer}
.a2-rail button:hover{background:#f3f4f7;color:#0f1319}
.a2-rail button[aria-current="true"]{background:#e9f7cd;color:#4f772d;font-weight:650}
@media (max-width:820px){.a2-rail{display:none}.a2-stage{padding:12px}}
.a2-ltop{display:flex;align-items:center;gap:10px;padding:14px 20px 6px}
.a2-ltop h2{margin:0;flex:1;min-width:0;font:650 24px/1.05 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--t1)}
.a2-ltop .rd-ib2{background:var(--card);border-color:var(--line);color:var(--t2)}
.a2-day{display:flex;justify-content:space-between;align-items:baseline;margin:20px 20px 8px;font:500 9.5px/1 var(--fl);letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.a2-cat{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:9px 0}
.a2-cat span{font:600 12px/1.2 "Instrument Sans",sans-serif;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-cat b{font:650 13px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-meter{height:7px;border-radius:4px;background:var(--tile);overflow:hidden}
.a2-meter i{display:block;height:100%;border-radius:4px;background:var(--mc,var(--acc))}
.a2-face{width:28px;height:28px;flex:none;border-radius:10px;display:grid;place-items:center;font:700 9.5px/1 "Instrument Sans",sans-serif;color:#fff;border:1.5px solid var(--card);box-sizing:border-box}
.a2-faces{display:flex}.a2-faces .a2-face+.a2-face{margin-left:-7px}
.a2-debt{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:7px 18px;transition:opacity .45s,transform .45s}
.a2-debt small{font:600 11.5px/1.2 "Instrument Sans",sans-serif;color:var(--t2)}
.a2-debt .end{font:650 13px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-flow{position:relative;height:2px;border-radius:2px;background:var(--line2);min-width:26px}
.a2-flow::after{content:"";position:absolute;right:-1px;top:-3.5px;border:4.5px solid transparent;border-left-color:var(--line2)}
.a2-gone{opacity:.18;transform:translateX(-6px)}
.a2-gone .end,.a2-gone small{text-decoration:line-through}
.a2-gold{min-height:48px;border-radius:14px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 88%,#fff),var(--gold) 45%,color-mix(in srgb,var(--gold) 62%,#6b4c0e));color:#241a04;font:700 13.5px/1 "Instrument Sans",sans-serif;cursor:pointer;box-shadow:0 12px 24px -10px color-mix(in srgb,var(--gold) 60%,transparent),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .15s}
.a2-gold:active{transform:scale(.97)}
.a2-gold.wide{width:100%}
.a2-upi{min-height:36px;padding:0 13px;border-radius:10px;border:0;background:var(--acc);color:var(--on);font:650 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-upi[disabled]{opacity:.4}
.a2-note{margin:12px 20px 0;padding:11px 13px;border-radius:12px;background:var(--tile);font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t2);display:flex;gap:9px;align-items:flex-start}
.a2-note b{color:var(--t1);font-weight:650}
/* profile */
.a2-bigav{position:relative;width:78px;height:78px;border-radius:26px;display:grid;place-items:center;font:700 23px/1 "Instrument Sans",sans-serif;color:#fff;background:var(--avc,#7f4594);box-shadow:0 14px 30px -12px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.25)}
.a2-camera{position:absolute;right:-7px;bottom:-7px;width:30px;height:30px;border-radius:11px;border:2px solid var(--cano);background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 88%,#fff),var(--gold));color:#241a04;display:grid;place-items:center;cursor:pointer}
.a2-prow{display:flex;gap:16px;align-items:center;margin-top:6px}
.a2-prow h2{margin:0;font:650 21px/1.1 var(--fd),sans-serif;letter-spacing:-.025em}
.a2-prow small{display:block;margin-top:5px;font:500 10.5px/1.5 var(--fl);color:var(--canoT2)}
.a2-field{margin:0 20px 12px}
.a2-field label{display:block;margin:0 0 6px;font:500 9px/1 var(--fl);letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.a2-input{width:100%;box-sizing:border-box;min-height:46px;padding:0 13px;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--t1);font:450 14px/1 "Instrument Sans",sans-serif}
.a2-input::placeholder{color:var(--t3)}
.a2-tog{width:46px;height:27px;flex:none;border-radius:15px;border:1px solid var(--line2);background:var(--tile);position:relative;cursor:pointer;transition:background .18s,border-color .18s}
.a2-tog::after{content:"";position:absolute;top:2px;left:2px;width:21px;height:21px;border-radius:11px;background:var(--card);box-shadow:0 1px 3px var(--shA);transition:transform .2s cubic-bezier(.16,1,.3,1)}
.a2-tog[aria-checked="true"]{background:var(--acc);border-color:transparent}
.a2-tog[aria-checked="true"]::after{transform:translateX(19px);background:#fff}
.a2-swatches{display:flex;gap:12px;padding:14px 18px;flex-wrap:wrap}
.a2-sw{width:46px;height:46px;border-radius:16px;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;font:700 12px/1 "Instrument Sans",sans-serif;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.a2-sw[aria-pressed="true"]{outline:3px solid var(--gold);outline-offset:2px}
/* keypad */
.a2-amtbox{text-align:center;padding:16px 0 4px}
.a2-amtbox b{font:650 42px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-amtbox small{display:block;margin-top:6px;font:500 10px/1 var(--fl);color:var(--t3);letter-spacing:.1em}
.a2-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 18px 0}
.a2-key{min-height:52px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--t1);font:600 20px/1 var(--fd),sans-serif;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 2px var(--shA);font-variant-numeric:tabular-nums}
.a2-key:active{background:var(--tile)}
.a2-chips{display:flex;gap:8px;overflow-x:auto;padding:12px 18px 2px;scrollbar-width:none}
.a2-chips::-webkit-scrollbar{display:none}
.a2-chip{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-chip[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--acc)}
.a2-toast{position:absolute;left:18px;right:18px;bottom:94px;z-index:95;display:flex;gap:10px;align-items:center;padding:13px 15px;border-radius:14px;background:var(--cano);color:var(--canoT);font:600 12.5px/1.35 "Instrument Sans",sans-serif;box-shadow:0 20px 44px rgba(0,0,0,.4);animation:rdUp .3s cubic-bezier(.16,1,.3,1) both}
/* travel */
.a2-trip{display:block;width:calc(100% - 40px);margin:0 20px;padding:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:0 16px 34px -24px var(--shA),0 1px 2px var(--shA);cursor:pointer;text-align:left;font:inherit;color:inherit}
.a2-art{position:relative;height:148px;background:radial-gradient(75% 66% at 50% 116%,color-mix(in srgb,var(--h2,#ffb054) 66%,#000) 0%,transparent 62%),linear-gradient(178deg,color-mix(in srgb,var(--h1,#c2571a) 60%,#06181a) 0%,color-mix(in srgb,var(--h1,#c2571a) 28%,#081a1c) 46%,color-mix(in srgb,var(--h2,#ffb054) 40%,#0b1416) 100%)}
.a2-art i{position:absolute;left:50%;top:36%;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--h2,#ffb054) 92%,#fff) 0%,color-mix(in srgb,var(--h2,#ffb054) 60%,transparent) 64%,transparent 74%)}
.a2-art u{position:absolute;left:0;right:0;top:36%;height:1px;background:rgba(255,255,255,.24);text-decoration:none}
.a2-art em{position:absolute;left:14px;bottom:12px;font:600 11px/1 var(--fl);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.85);font-style:normal}
.a2-art .tag{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(6,14,16,.5);backdrop-filter:blur(6px);color:#fff;font:650 9.5px/1 var(--fl);letter-spacing:.1em}
.a2-art .tag s{width:5px;height:5px;border-radius:3px;background:#4ade80;display:block;text-decoration:none}
.a2-tpad{padding:13px 15px 15px}
.a2-vault{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 20px}
.a2-vtile{appearance:none;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:13px;cursor:pointer;box-shadow:0 1px 2px var(--shA);font:inherit;color:inherit}
.a2-vtile s{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--wash);color:var(--acc);text-decoration:none}
.a2-vtile b{display:block;margin-top:9px;font:650 13px/1.2 "Instrument Sans",sans-serif}
.a2-vtile small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-off{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:var(--wash);color:var(--acc);font:600 9px/1 var(--fl);letter-spacing:.08em}

/* ======================================================================
   app2x.css
   ====================================================================== */
/* app2x.css - welcome, sign in, the dock pop, the comparison panel, the hand-off track, corrections.
   Rebuilt after this file was accidentally overwritten; the rules below match what the markup expects. */
/* --- welcome --- */
.a2-wel{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;height:100%;box-sizing:border-box;padding:0 24px 46px;background:linear-gradient(178deg,var(--wash) 0%,var(--bg) 46%)}
.a2-wel .a2-logo{margin-bottom:26px}
.a2-wel h1{margin:0;max-width:13ch;font:650 34px/1.14 var(--fd),sans-serif;letter-spacing:-.035em;color:var(--t1);text-wrap:pretty}
.a2-wel p{margin:14px 0 26px;max-width:34ch;font:450 13.5px/1.65 "Instrument Sans",sans-serif;color:var(--t2);text-wrap:pretty}
.a2-wel .a2-gold.wide{width:100%}
.a2-wel .a2-ghost{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;border-radius:15px}
/* --- sign in --- */
.a2-ltop{display:flex;align-items:center;gap:12px;padding:0 20px 4px}
.a2-ltop h2{margin:0;font:650 24px/1.1 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--t1)}
.a2-otp{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:2px 20px 0}
.a2-otp input{width:100%;min-height:60px;box-sizing:border-box;border-radius:16px;border:1px solid var(--line2);background:var(--card);text-align:center;font:650 24px/1 var(--fd),sans-serif;color:var(--t1);outline:none}
.a2-otp input:focus{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 26%,transparent)}
/* --- the dock tab that pops when it becomes active --- */
.a2-pop{animation:a2pop .34s cubic-bezier(.2,1.5,.4,1) both}
@keyframes a2pop{0%{transform:scale(.82)}60%{transform:scale(1.14)}100%{transform:scale(1)}}
/* --- against last month --- */
.a2-vs .r{display:flex;align-items:center;gap:12px;padding:6px 0}
.a2-vs em{width:34px;flex:none;font:600 8.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a2-vs .a2-meter{flex:1;min-width:0;height:8px}
.a2-vs b{flex:none;min-width:76px;text-align:right;font:650 14px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--t1)}
/* --- the hand-off progress track --- */
.a2-track{position:relative;width:132px;height:3px;border-radius:3px;overflow:hidden;background:rgba(255,255,255,.22)}
.a2-track s{position:absolute;left:0;top:0;bottom:0;width:34%;border-radius:3px;background:rgba(255,255,255,.9);animation:a2trk 1.5s cubic-bezier(.5,0,.5,1) infinite}
@keyframes a2trk{0%{left:-36%}100%{left:104%}}
/* --- a corrected amount keeps the original readable --- */
.a2-corr-old{font-variant-numeric:tabular-nums;opacity:.85}

/* ======================================================================
   app2y.css
   ====================================================================== */
/* app2 additions: corrections, calendar, accounts, trip planner */
.a2-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);font:450 12.5px/1.4 "Instrument Sans",sans-serif;color:var(--t2)}
.a2-kv:first-child{border-top:0}
.a2-kv b{font:600 12.5px/1.3 "Instrument Sans",sans-serif;color:var(--t1);text-align:right}
.a2-kv .money{font:650 15px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums}
.a2-line{min-height:46px;width:100%;border-radius:13px;border:1px solid var(--line2);background:var(--card);color:var(--t1);font:650 12.5px/1 "Instrument Sans",sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.rd-screen{--seal:#0e7490}
.rd-screen[data-theme="dark"]{--seal:#5ee0f5}
.a2-corr{position:relative;margin:6px 12px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--seal) 32%,var(--line));background:var(--card);box-shadow:0 12px 26px -16px color-mix(in srgb,var(--seal) 45%,transparent)}
.a2-corr .top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.a2-corr .top b{font:600 13px/1.3 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-corr .top .end{font:650 13.5px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-corr .old{text-decoration:line-through;color:var(--t3);font:500 11px/1 var(--fd),sans-serif;margin-right:7px}
.a2-corr small{display:block;margin-top:2px;font:450 11px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-seal{display:inline-flex;align-items:center;gap:5px;margin-top:8px;color:var(--seal);font:600 8.5px/1 var(--fl);letter-spacing:.12em}
.a2-reason{margin:7px 0 0;font:italic 450 12.5px/1.55 "Newsreader",Georgia,serif;color:var(--t2)}
.a2-cal{margin:0 20px;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden;box-shadow:0 1px 2px var(--shA)}
.a2-calh{display:grid;grid-template-columns:repeat(7,1fr)}
.a2-calh span{padding:9px 0;text-align:center;font:600 9px/1 "Instrument Sans",sans-serif;letter-spacing:.08em;color:var(--t3);border-bottom:1px solid var(--line)}
.a2-calg{display:grid;grid-template-columns:repeat(7,1fr)}
.a2-calg button{appearance:none;border:0;background:none;cursor:pointer;min-height:46px;padding:6px 2px 7px;display:grid;justify-items:center;align-content:start;gap:4px;color:var(--t1);border-top:1px solid var(--line);border-left:1px solid var(--line);font:inherit}
.a2-calg button:nth-child(7n+1){border-left:0}
.a2-calg button:nth-child(-n+7){border-top:0}
.a2-calg em{font:600 12px/1 "Instrument Sans",sans-serif;font-style:normal;font-variant-numeric:tabular-nums}
.a2-calg .mut{color:var(--t3);opacity:.4}
.a2-calg s{display:block;width:18px;height:3px;border-radius:2px;text-decoration:none;background:transparent}
.a2-calg .sel{background:var(--wash);box-shadow:inset 0 0 0 1.5px var(--acc)}
.a2-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:14px 20px 0;padding:3px;border-radius:13px;background:var(--tile);border:1px solid var(--line)}
.a2-seg button{appearance:none;border:0;cursor:pointer;min-height:36px;border-radius:10px;background:none;color:var(--t2);font:600 12px/1 "Instrument Sans",sans-serif;transition:background .16s,color .16s}
.a2-seg button[aria-selected="true"]{background:var(--card);color:var(--t1);box-shadow:0 1px 2px var(--shA)}
.a2-nwband{margin:10px 20px 0;padding:15px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:0 14px 30px -24px var(--shA),0 1px 2px var(--shA)}
.a2-nwband .split{display:flex;height:8px;border-radius:5px;overflow:hidden;margin-top:12px;background:var(--tile)}
.a2-nwband .split i{background:var(--in)}
.a2-nwband .split em{background:var(--out)}

/* ======================================================================
   app2z.css
   ====================================================================== */
/* app2 receipt scan + smart ask */
.a2-scan{position:absolute;inset:0;z-index:180;display:flex;flex-direction:column;background:#0e1307;color:#f4fae9;animation:rdFade .2s ease both}
.a2-scantop{display:flex;align-items:center;gap:12px;padding:56px 18px 6px;flex:none}
.a2-scantop h4{margin:0;flex:1;font:650 17px/1.1 "Schibsted Grotesk",sans-serif;letter-spacing:-.02em}
.a2-scantop small{font:500 8.5px/1 var(--fl);letter-spacing:.14em;color:rgba(244,250,233,.55)}
.a2-scantop .rd-x{background:rgba(255,255,255,.1);border-color:transparent;color:#f4fae9}
.a2-view{position:relative;flex:1;margin:10px 18px 0;border-radius:22px;overflow:hidden;background:radial-gradient(130% 95% at 50% 8%,#1a2410 0%,#0a0f05 72%);display:grid;place-items:center;min-height:0}
.a2-cnr{position:absolute;width:26px;height:26px;border:2.5px solid rgba(181,234,85,.9)}
.a2-cnr.tl{left:16px;top:16px;border-right:0;border-bottom:0;border-top-left-radius:12px}
.a2-cnr.tr{right:16px;top:16px;border-left:0;border-bottom:0;border-top-right-radius:12px}
.a2-cnr.bl{left:16px;bottom:16px;border-right:0;border-top:0;border-bottom-left-radius:12px}
.a2-cnr.br{right:16px;bottom:16px;border-left:0;border-top:0;border-bottom-right-radius:12px}
.scanning .a2-cnr{animation:a2pulse .9s ease-in-out infinite alternate}
@keyframes a2pulse{from{opacity:.45}to{opacity:1}}
@keyframes a2spin{to{transform:rotate(360deg)}}
.a2-paper{width:212px;background:#fdfaf1;color:#33362b;border-radius:3px;padding:13px 13px 15px;font:500 9px/1.7 var(--fl);box-shadow:0 34px 60px -18px rgba(0,0,0,.85);transform:rotate(-2.5deg)}
.a2-paper.small{transform:none;width:100%;box-sizing:border-box;box-shadow:0 10px 26px -16px rgba(0,0,0,.6)}
.a2-paper b{display:block;font-weight:600;letter-spacing:.08em;text-align:center}
.a2-paper em{display:block;font-style:normal;text-align:center;font-size:7.5px;color:#8a8d7d;letter-spacing:.04em}
.a2-paper s{display:block;border-top:1px dashed #c9c8b6;margin:7px 0;text-decoration:none}
.a2-paper span{display:flex;justify-content:space-between;gap:8px}
.a2-paper span i{font-style:normal}
.a2-paper span u{text-decoration:none;font-variant-numeric:tabular-nums}
.a2-paper .tot{font-weight:600;font-size:10px}
.a2-beam{position:absolute;left:8%;right:8%;height:56px;background:linear-gradient(180deg,transparent,rgba(181,234,85,.3) 70%,transparent);border-bottom:1.5px solid rgba(181,234,85,.95);animation:a2beam 1.65s cubic-bezier(.45,.1,.5,.9) both;filter:drop-shadow(0 0 8px rgba(181,234,85,.5))}
@keyframes a2beam{from{top:4%}to{top:86%}}
.a2-scanfoot{flex:none;display:grid;place-items:center;padding:16px 0 26px;gap:9px}
.a2-shutter{width:66px;height:66px;border-radius:50%;border:3px solid rgba(255,255,255,.9);background:none;display:grid;place-items:center;cursor:pointer;padding:0}
.a2-shutter s{width:48px;height:48px;border-radius:50%;background:linear-gradient(160deg,#d9f7a9,#a9e34b 50%,#5a7d1c);display:block;text-decoration:none;transition:transform .12s}
.a2-shutter:active s{transform:scale(.88)}
.a2-scanfoot em{font:500 9px/1 var(--fl);letter-spacing:.16em;color:rgba(240,250,243,.55);font-style:normal}
.a2-read{flex:1;overflow-y:auto;padding:8px 18px 0;min-height:0;scrollbar-width:none}
.a2-read::-webkit-scrollbar{display:none}
.a2-xcard{border-radius:18px;background:#161f0c;border:1px solid #2b3a17;padding:6px 14px;margin-top:12px}
.a2-xrow{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:9px 0;border-top:1px solid #232f12;opacity:0;animation:a2xin .4s cubic-bezier(.16,1,.3,1) forwards}
.a2-xrow:first-child{border-top:0}
@keyframes a2xin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.a2-xrow em{font:500 8.5px/1.5 var(--fl);letter-spacing:.12em;color:#a3b382;font-style:normal;padding-top:2px}
.a2-xrow b{font:650 13.5px/1.25 "Schibsted Grotesk",sans-serif;letter-spacing:-.01em}
.a2-xrow small{display:block;margin-top:2px;font:450 10.5px/1.45 "Instrument Sans",sans-serif;color:#93a374}
.a2-honest{display:flex;gap:8px;align-items:center;margin:12px 2px 0;font:500 8.5px/1.6 var(--fl);letter-spacing:.1em;color:#a3b382}
.a2-scan .a2-chips{padding:12px 0 2px}
.a2-scan .a2-chip{background:#161f0c;border-color:#2b3a17;color:#d3dfb8}
.a2-scan .a2-chip[aria-pressed="true"]{border-color:#b5ea55;color:#b5ea55;background:#222d10}
/* scan entry row in the log sheet */
.a2-scanrow{display:flex;align-items:center;gap:11px;width:calc(100% - 36px);margin:10px 18px 0;padding:11px 13px;border-radius:14px;border:1px dashed var(--line2);background:var(--wash);cursor:pointer;text-align:left;font:inherit;color:inherit;box-sizing:border-box}
.a2-scanrow s{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--acc);color:var(--on);text-decoration:none}
.a2-scanrow span{flex:1;min-width:0}
.a2-scanrow b{display:block;font:650 12.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-scanrow small{display:block;margin-top:2px;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
/* smart ask in Money */
.a2-ask{display:flex;align-items:center;gap:9px;margin:14px 20px 0;padding:0 6px 0 13px;min-height:46px;border-radius:14px;border:1px solid var(--line2);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a2-ask input{flex:1;border:0;background:none;outline:none;color:var(--t1);font:500 13px/1.3 "Instrument Sans",sans-serif;min-width:0}
.a2-ask input::placeholder{color:var(--t3)}
.a2-askx{border:0;background:var(--tile);color:var(--t2);width:32px;height:32px;flex:none;border-radius:10px;display:grid;place-items:center;cursor:pointer}
.a2-readout{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:11px 22px 0;font:600 9.5px/1.5 var(--fl);letter-spacing:.1em;color:var(--acc)}
.a2-readout b{color:var(--t1);font-weight:600;font-variant-numeric:tabular-nums;flex:none}
/* receipt lines on an entry */
.a2-lines{margin-top:9px;border:1px dashed var(--line2);border-radius:12px;padding:10px 12px;background:var(--tile)}
.a2-lines span{display:flex;justify-content:space-between;gap:10px;font:500 11px/2.1 var(--fl);color:var(--t2)}
.a2-lines i{font-style:normal}
.a2-lines u{text-decoration:none;font-variant-numeric:tabular-nums;color:var(--t1)}
/* R7: compact log board, keys app, globe hand off, letters and rules */
.a2-amtrow{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;padding:14px 18px 0}
.a2-amtbox2{text-align:center}
.a2-amtbox2 b{font:650 40px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-amtbox2 small{display:block;margin-top:5px;font:500 9.5px/1 var(--fl);color:var(--t3);letter-spacing:.1em}
.a2-camkey{display:grid;place-items:center;gap:2px;width:54px;height:54px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--t1);cursor:pointer;padding:0}
.a2-camkey em{font:600 7.5px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t2)}
.a2-keys.tight{padding:10px 18px 0;gap:7px}
.a2-keys.tight .a2-key{min-height:42px;font-size:18px}
.a2-cats{display:grid;grid-auto-flow:column;grid-template-rows:1fr 1fr;grid-auto-columns:max-content;gap:7px;overflow-x:auto;padding:12px 18px 0;scrollbar-width:none}
.a2-cats::-webkit-scrollbar{display:none}
.a2-cattile{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px 0 6px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 12px/1 "Instrument Sans",sans-serif;cursor:pointer;white-space:nowrap}
.a2-cattile s{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;text-decoration:none}
.a2-cattile[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--acc)}
.a2-chips.slim .a2-chip{min-height:34px}
.a2-input.slim{min-height:40px}
.a2-memtag{display:flex;gap:7px;align-items:center;margin:6px 22px 0;font:600 10px/1.4 var(--fl);letter-spacing:.06em;color:var(--acc)}
.a2-dupe{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;margin-bottom:10px;border-radius:14px;border:1px solid rgba(181,234,85,.5);background:rgba(181,234,85,.1);color:#f3f9e8}
.a2-dupe b{display:block;font:650 12.5px/1.3 "Instrument Sans",sans-serif}
.a2-dupe small{display:block;margin-top:3px;font:450 11px/1.5 "Instrument Sans",sans-serif;color:#bfcda1}
.a2-ghost2{width:100%;min-height:44px;margin-top:9px;border-radius:13px;border:1px solid rgba(255,255,255,.22);background:none;color:#ecf4da;font:600 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-letter p{margin:0 0 11px;font:italic 500 14px/1.7 "Newsreader",serif;color:var(--t1)}
.a2-letter p:last-child{margin:0}
.a2-trippill{display:inline-flex;align-items:center;gap:8px;margin:4px 0 12px;min-height:34px;padding:0 13px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold);cursor:pointer;font:650 9.5px/1 var(--fl);letter-spacing:.1em}
.a2-trippill span{color:var(--canoT2)}
.a2-globebox{position:relative;width:260px;height:190px}
.a2-jet2{position:absolute;left:0;top:0;offset-rotate:auto;animation:a2fly 1.7s cubic-bezier(.42,.05,.32,1) .12s both}
.a2-jet2.out{offset-path:path("M34 130 C 60 44,200 44,226 122")}
.a2-jet2.back{offset-path:path("M226 122 C 200 44,60 44,34 130")}
.a2-pin2{position:absolute;opacity:0;animation:a2pin .45s cubic-bezier(.2,1.5,.4,1) 1.7s both}
.a2-pin2.out{right:24px;top:96px}
.a2-pin2.back{left:24px;top:104px}
/* keys app */
.a2-klock{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 30px;box-sizing:border-box;text-align:center;color:#f0f1f3;background:radial-gradient(90% 60% at 50% 110%,rgba(227,192,92,.16) 0%,transparent 60%),radial-gradient(130% 90% at 46% 30%,#23262e 0%,#141519 52%,#0a0b0e 100%);animation:rdFade .22s ease both}
.a2-kdial{width:92px;height:92px;border-radius:50%;border:2.5px solid rgba(227,192,92,.75);display:grid;place-items:center;position:relative;box-shadow:0 24px 60px -20px rgba(0,0,0,.8),inset 0 0 0 8px rgba(255,255,255,.04)}
.a2-kdial s{position:absolute;inset:12px;border-radius:50%;border:1.5px dashed rgba(240,241,243,.25);text-decoration:none;animation:a2gspin 14s linear infinite}
.a2-klock.open .a2-kdial{border-color:#3dc482}
.a2-klock.open .a2-kdial s{animation-duration:1.1s}
@keyframes a2gspin{to{transform:rotate(360deg)}}
.a2-klock h2{margin:22px 0 0;font:650 26px/1.1 "Schibsted Grotesk",sans-serif;letter-spacing:-.03em}
.a2-klock p{margin:10px 0 26px;font:450 12.5px/1.6 "Instrument Sans",sans-serif;color:rgba(240,241,243,.6);max-width:260px}
.a2-secret{display:inline-block;margin-top:3px;font:600 12px/1 var(--fl);letter-spacing:.08em;color:var(--t1);background:var(--tile);padding:6px 9px;border-radius:8px}
.a2-logo{margin:64px 0 auto;line-height:0}
/* voice logging */
.a2-vbox{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:0 30px;text-align:center}
.a2-vmic{position:relative;width:88px;height:88px;border-radius:50%;border:2.5px solid rgba(181,234,85,.85);display:grid;place-items:center}
.a2-vmic s{position:absolute;inset:-12px;border-radius:50%;border:1.5px solid rgba(181,234,85,.35);animation:a2ring 1.6s ease-out infinite}
@keyframes a2ring{from{transform:scale(.86);opacity:1}to{transform:scale(1.18);opacity:0}}
.a2-vbars{display:flex;gap:5px;align-items:flex-end;height:26px}
.a2-vbars s{width:4px;border-radius:2px;background:#b5ea55;height:8px;animation:a2vb .7s ease-in-out infinite alternate}
@keyframes a2vb{from{height:6px;opacity:.5}to{height:24px;opacity:1}}
.a2-vwords{margin:0;font:650 21px/1.4 "Schibsted Grotesk",sans-serif;letter-spacing:-.02em;display:flex;flex-wrap:wrap;gap:0 7px;justify-content:center;max-width:280px}
.a2-vwords span{opacity:0;animation:a2xin .4s cubic-bezier(.16,1,.3,1) forwards}
.a2-vbox em{font:500 8.5px/1.6 var(--fl);letter-spacing:.14em;color:#a3b382;font-style:normal}
.a2-vquote{margin:8px 2px 0;font:italic 500 17px/1.5 "Newsreader",serif;color:#f4fae9}
/* home header v2 */
.a2-greet{margin:0;font:650 19px/1.2 var(--fd),sans-serif;letter-spacing:-.025em;color:var(--canoT);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-ticker{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;margin-top:16px;min-height:36px;padding:0 13px;border-radius:12px;border:0;background:rgba(255,255,255,.15);color:var(--canoT);cursor:pointer;text-align:left;backdrop-filter:blur(4px)}
.a2-ticker s{width:7px;height:7px;flex:none;border-radius:4px;background:var(--gold);animation:a2pulse 1.4s ease-in-out infinite alternate}
.a2-ticker span{flex:1;min-width:0;font:500 11px/1.3 "Instrument Sans",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-ticker b{flex:none;font:650 8.5px/1 var(--fl);letter-spacing:.12em;color:var(--canoT2)}
/* R10: professional dock, veil crossfade, card craft */
[data-dir="4a"] .rd-dock{background:linear-gradient(180deg,#26380f,#18240a 60%)}
[data-dir="4a"] .rd-dtab{color:#8ba06b}
[data-dir="4a"] .rd-dtab[aria-selected="true"]{background:rgba(169,227,75,.14);color:#b5ea55}
[data-dir="4a"] .rd-dfab{background:linear-gradient(160deg,#c9ef7e,#a9e34b 45%,#679622);color:#1d2c04}
[data-dir="4t"] .rd-dock{background:linear-gradient(180deg,#3a2410,#241505 60%)}
[data-dir="4t"] .rd-dtab{color:#a8917a}
[data-dir="4t"] .rd-dtab[aria-selected="true"]{background:rgba(225,120,37,.18);color:#f0863a}
[data-dir="4t"] .rd-dfab{background:linear-gradient(160deg,#f5a563,#e17825 45%,#9c4c0d);color:#fff8f0}
.a2-ticker s{background:var(--canoT)}
.a2-veilx{position:absolute;inset:0;pointer-events:none;animation:a2vfade 1.15s ease .12s both}
.a2-veilx.g{background:radial-gradient(120% 82% at 50% 36%,#6f9a3a 0%,#4f772d 55%,#243a10 100%)}
.a2-veilx.o{background:radial-gradient(120% 82% at 46% 36%,#f0863a 0%,#e17825 55%,#5f2e06 100%)}
@keyframes a2vfade{from{opacity:1}to{opacity:0}}
.a2-carbox{position:relative}
.a2-scap{position:relative}
.rd-chip{width:42px;height:30px;border-radius:7px;background:linear-gradient(135deg,#f2e3b2 0%,#d9bc72 45%,#b3934a 100%);box-shadow:inset 0 0 0 1px rgba(70,50,10,.35),0 1px 1px rgba(0,0,0,.25);position:relative;margin-top:14px}
.rd-chip::after{content:"";position:absolute;inset:4px 6px;border:1px solid rgba(70,50,10,.5);border-radius:4px;background:linear-gradient(90deg,transparent 0 31%,rgba(70,50,10,.5) 31% 33%,transparent 33% 65%,rgba(70,50,10,.5) 65% 67%,transparent 67% 100%),linear-gradient(0deg,transparent 0 46%,rgba(70,50,10,.5) 46% 54%,transparent 54% 100%)}
.rd-cfoot em{font:800 15px/1 "Instrument Sans",sans-serif;font-style:italic;letter-spacing:.05em;transform:skewX(-8deg);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.rd-cbal b{text-shadow:0 1px 2px rgba(0,0,0,.2)}

/* ======================================================================
   app2w.css
   ====================================================================== */
/* header v3: eye beside the amount, pull-down notification shade, private pot page */
.a2-amtrow{display:flex;align-items:center;gap:12px;margin-top:8px;min-height:46px}
.a2-amtrow .rd-amt{margin:0;flex:1;min-width:0;white-space:nowrap;line-height:1}
[data-dir="4a"] .a2-amtrow .rd-amt.hid{font-size:33px}
[data-dir="4t"] .rd-subline{min-height:16px}
.a2-pullbar{display:grid;place-items:center;background:var(--cano);color:var(--canoT2);overflow:hidden;font:600 9px/1 var(--fl);letter-spacing:.22em}
.a2-tick2{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;border:0;border-top:1px solid rgba(255,255,255,.16);background:none;margin-top:16px;min-height:38px;padding:10px 2px 0;color:var(--canoT);cursor:pointer;text-align:left}
.a2-tick2 s{width:7px;height:7px;flex:none;border-radius:4px;background:currentColor;animation:a2pulse 1.4s ease-in-out infinite alternate}
.a2-tick2 span{flex:1;min-width:0;font:500 11px/1.3 "Instrument Sans",sans-serif;opacity:.94;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-tick2 b{flex:none;font:600 9px/1 var(--fl);letter-spacing:.1em;color:var(--canoT2)}
.a2-tick2 svg{opacity:.6;flex:none}
.a2-shadeveil{position:absolute;inset:0;z-index:90;background:rgba(8,12,4,0);transition:background .4s;overflow:hidden}
.a2-shadeveil.on{background:rgba(8,12,4,.45)}
.a2-shade{position:absolute;left:0;right:0;top:0;max-height:86%;display:flex;flex-direction:column;background:var(--cano);color:var(--canoT);border-radius:0 0 32px 32px;transform:translateY(-103%);transition:transform .5s cubic-bezier(.32,.72,.25,1);box-shadow:0 30px 70px rgba(0,0,0,.4);padding:12px 18px 6px;box-sizing:border-box}
.a2-shade.on{transform:none}
.a2-shtop{display:flex;align-items:baseline;gap:10px;padding:28px 4px 0;flex:none}
.a2-shtop b{font:650 26px/1 var(--fd),sans-serif;letter-spacing:-.02em}
.a2-shtop span{font:500 9.5px/1 var(--fl);letter-spacing:.14em;color:var(--canoT2);text-transform:uppercase}
.a2-shhead{display:flex;align-items:center;gap:10px;margin:16px 4px 6px;flex:none}
.a2-shhead em{font-style:normal;font:600 9px/1 var(--fl);letter-spacing:.2em;color:var(--canoT2)}
.a2-shhead s{flex:1;height:1px;background:rgba(255,255,255,.14);text-decoration:none}
.a2-shlist{overflow:auto;min-height:0}
.a2-shrow{display:flex;align-items:center;gap:12px;padding:11px 4px;opacity:0;transform:translateY(-10px);transition:opacity .4s,transform .45s cubic-bezier(.16,1,.3,1)}
.a2-shrow+.a2-shrow{border-top:1px solid rgba(255,255,255,.09)}
.a2-shade.on .a2-shrow{opacity:1;transform:none}
.a2-shrow s{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.1)}
.a2-shrow span{flex:1;min-width:0}
.a2-shrow b{display:block;font:600 12.5px/1.3 "Instrument Sans",sans-serif}
.a2-shrow small{display:block;margin-top:2px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--canoT2)}
.a2-shgrab{display:grid;place-items:center;height:32px;margin:2px 0;border:0;background:none;cursor:pointer;color:var(--canoT2);flex:none}
.a2-shgrab s{width:44px;height:4px;border-radius:3px;background:rgba(255,255,255,.3)}
.a2-quietb{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;width:100%;box-sizing:border-box;border-radius:15px;border:1px solid var(--line2);background:var(--card);color:var(--t2);font:600 13px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:transform .12s}
.a2-quietb:active{transform:scale(.97)}
/* card back v2 */
.rd-face.back{display:flex;flex-direction:column;padding:0}
.a2-mag{flex:none;height:30px;margin-top:9px;background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.46))}
.a2-bpad{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:0 18px 14px}
.a2-bnum{font:600 15px/1 var(--fl);letter-spacing:.1em;color:#fbfaf6}
.a2-brow2{display:grid;grid-template-columns:auto auto 1fr;gap:22px;margin-top:12px;font:500 8px/1.35 var(--fl);letter-spacing:.16em;color:rgba(255,255,255,.5)}
.a2-brow2 b{display:block;margin-top:2px;font:600 11px/1.15 var(--fl);letter-spacing:.05em;color:#fbfaf6}
.a2-bmeta2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.16);font:500 8px/1.35 var(--fl);letter-spacing:.16em;color:rgba(255,255,255,.5)}
.a2-bmeta2 b{display:block;margin-top:3px;font:650 14px/1.1 var(--fd),sans-serif;letter-spacing:-.015em;color:#fbfaf6;font-variant-numeric:tabular-nums}
.a2-btxn{flex:none;margin:0 18px 14px;display:flex;align-items:center;gap:9px;min-height:36px;padding:0 13px;border-radius:12px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.11);color:#fbfaf6;font:600 12px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background .16s}
.a2-btxn .grow{flex:1;min-width:0;text-align:left}
.a2-btxn:hover{background:rgba(255,255,255,.18)}
/* month module v2 */
.rd-month{display:block!important;padding:14px 16px 13px!important}
.a2-mhead{display:flex;align-items:center;gap:10px;font:600 8.5px/1 var(--fl);letter-spacing:.2em;color:var(--t3)}
.a2-mhead s{flex:1;height:1px;background:var(--line);text-decoration:none}
.a2-mgrid{display:grid;grid-template-columns:1fr 1px 1fr;gap:14px;align-items:center;margin-top:12px}
.a2-mgrid>i{height:34px;background:var(--line)}
.a2-mcell{text-align:center}
.a2-mcell span{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.16em;color:var(--t3)}
.a2-mcell b{display:block;margin-top:6px;font:650 21px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.rd-month .rd-mbars{margin:13px 0 0!important;height:24px;justify-content:space-between;gap:0}
.rd-month .rd-mbars s{width:4.5px}
/* canopy label legibility */
.rd-nwrow span{font:600 10px/1.2 var(--fl)!important;letter-spacing:.16em!important;color:var(--canoT)!important;opacity:.78}
.rd-subline{font:500 12px/1.45 "Instrument Sans",sans-serif!important;color:var(--canoT)!important;opacity:.8}
/* travel header break + pace */
.a2-hrule{height:1px;margin:14px 0 0;background:rgba(255,255,255,.18)}
[data-dir="4t"] .rd-pace{background:rgba(0,0,0,.22)!important}
[data-dir="4t"] .rd-cano .rd-pace i{background:#fff6ec!important}
[data-dir="4t"] .rd-cano .rd-pace u{background:rgba(255,255,255,.55)!important}
/* rate you hold */
.a2-rate{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.a2-rate label{flex:1;min-width:0;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-rate input{width:82px;flex:none;text-align:right;border:1px solid var(--line2);background:var(--tile);border-radius:11px;min-height:40px;padding:0 11px;color:var(--t1);font:650 15px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;outline:none}
.a2-tmode{display:inline-flex;align-items:center;gap:7px;height:37px;padding:0 13px;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);color:var(--canoT);font:600 9px/1 var(--fl);letter-spacing:.18em}
.a2-cvrow{display:flex;align-items:center;gap:12px;padding:10px 2px}
.a2-cvrow label{width:44px;flex:none;font:600 9.5px/1 var(--fl);letter-spacing:.14em;color:var(--t3)}
.a2-cvin{flex:1;min-width:0;border:0;background:none;color:var(--t1);font:650 30px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;outline:none;padding:0}
.a2-cvrow b{flex:1;min-width:0;font:650 30px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--tabon);overflow:hidden;text-overflow:ellipsis}
.a2-cvswap{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--tile);color:var(--t2);cursor:pointer;margin:2px 0 2px 56px}
.a2-cvchips{display:flex;gap:8px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.a2-sub2{margin:3px 0 0;font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:var(--canoT2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-tcano{padding-bottom:56px}
.a2-tcano+.a2-quick{margin-top:-34px;padding-top:0;position:relative;z-index:2}
.a2-quick{display:flex;gap:9px;overflow:auto;padding:16px 20px 4px;scrollbar-width:none}
.a2-quick::-webkit-scrollbar{display:none}
.a2-quick button{flex:none;width:72px;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 10.5px/1.2 "Instrument Sans",sans-serif;cursor:pointer;transition:transform .12s;box-shadow:0 1px 2px var(--shA)}
.a2-quick button:active{transform:scale(.95)}
.a2-quick s{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--wash);color:var(--tabon);text-decoration:none}
.a2-nextup{margin:14px 20px 0;padding:16px 16px 14px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:0 6px 18px var(--shA)}
.a2-nrow{display:flex;align-items:center;gap:10px}
.a2-nrow em,.a2-bkhead em{font-style:normal;font:600 9px/1 var(--fl);letter-spacing:.18em;color:var(--tabon)}
.a2-nrow s{flex:1;height:1px;background:var(--line);text-decoration:none}
.a2-nextup>b{display:block;margin-top:10px;font:650 20px/1.15 var(--fd),sans-serif;letter-spacing:-.025em;color:var(--t1)}
.a2-nextup>span{display:block;margin-top:5px;font:450 11.5px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-nbtns{display:flex;gap:8px;margin-top:13px}
.a2-nbtns button{flex:1;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;border:1px solid var(--line2);background:var(--tile);color:var(--t2);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:transform .12s}
.a2-nbtns button:active{transform:scale(.96)}
.a2-nbtns button:first-child{background:var(--acc);border-color:transparent;color:var(--on)}
.a2-bk{margin:10px 20px 0;padding:15px 16px 13px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.a2-bkhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.a2-bkon{display:inline-flex;align-items:center;gap:6px;font:600 9px/1 var(--fl);letter-spacing:.16em;color:var(--tabon)}
.a2-bkon s{width:6px;height:6px;border-radius:4px;background:var(--acc);text-decoration:none;animation:a2pulse 1.4s ease-in-out infinite alternate}
.a2-bk>b{display:block;margin-top:9px;font:650 16px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a2-bk>span{display:block;margin-top:4px;font:450 11px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-bkfoot{display:flex;gap:8px;margin-top:12px}
.a2-bkfoot button{flex:1;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;border:1px solid var(--line);background:var(--tile);color:var(--t2);font:600 11px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-idea{margin:10px 20px 0;padding:15px 16px 13px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.a2-idea>b{display:block;font:650 15.5px/1.25 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a2-idea>span{display:block;margin-top:4px;font:450 11.5px/1.45 "Instrument Sans",sans-serif;color:var(--t2)}
.a2-idea>em{display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font:italic 450 11px/1.4 "Newsreader",serif;color:var(--tabon)}
.a2-days{display:flex;gap:7px;overflow:auto;padding:8px 20px 2px;scrollbar-width:none}
.a2-days::-webkit-scrollbar{display:none}
.a2-dayc{flex:none;width:66px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 6px 9px;border-radius:15px;border:1px solid var(--line);background:var(--card);cursor:pointer;transition:transform .12s}
.a2-dayc:active{transform:scale(.95)}
.a2-dayc em{font-style:normal;font:600 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a2-dayc b{font:650 12px/1 var(--fd),sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a2-dayc i{width:22px;border-radius:2px;background:var(--acc);min-height:0}
.a2-dayc[aria-selected="true"]{background:var(--cano);border-color:transparent}
.a2-dayc[aria-selected="true"] em{color:var(--canoT2)}
.a2-dayc[aria-selected="true"] b{color:var(--canoT)}
.a2-dayc[aria-selected="true"] i{background:var(--canoT)}

/* ======================================================================
   app2r2.css
   ====================================================================== */
/* app2 R13/R14 — canopy plinth header system (light-first), cash card, pot crests.
   Light 4a background neutralised so the lime reads as accent; hero bands share the home canopy. */
[data-dir="4a"]{--bg:#eff3e8;--card:#ffffff;--tile:#e7eedb;--line:#e2e8d7;--line2:#c3cfad;--phUp:#3c660b;--phDn:#c14a2e;--phLine:rgba(35,60,7,.16);--phChip:rgba(255,255,255,.32);--phChipB:rgba(255,255,255,.42)}
[data-dir="4t"]{--phUp:#ffffff;--phDn:#3d1a03;--phLine:rgba(255,248,240,.22);--phChip:rgba(255,255,255,.14);--phChipB:rgba(255,255,255,.22)}
[data-dir="4k"]{--phUp:#3dc482;--phDn:#e3c05c;--phLine:rgba(240,241,243,.14);--phChip:rgba(255,255,255,.08);--phChipB:rgba(255,255,255,.14)}
.rd-screen[data-dir="4a"][data-theme="dark"]{--phUp:#b5ea55;--phDn:#ff8a70;--phLine:rgba(241,247,230,.15);--phChip:rgba(255,255,255,.08);--phChipB:rgba(255,255,255,.14)}
.rd-screen[data-dir="4t"][data-theme="dark"]{--phUp:#ffffff;--phDn:#ffd2b8;--phLine:rgba(255,241,226,.18)}
/* the canopy plinth */
.a2-ph{position:relative;flex:none;display:flex;flex-direction:column;box-sizing:border-box;padding:12px 20px 24px;background:var(--cano);color:var(--canoT);overflow:hidden}
.a2-ph:has(.a2-phstat){min-height:196px}
.a2-ph::before{content:"";position:absolute;left:-30%;right:-10%;top:-60%;height:130%;background:radial-gradient(58% 60% at 82% 22%,color-mix(in srgb,var(--pop) 34%,transparent),transparent 70%);opacity:.5;pointer-events:none}
.a2-ph>*{position:relative;z-index:1}
.a2-phrow{display:flex;align-items:center;gap:9px}
.a2-phav,.a2-phib{width:38px;height:38px;flex:none;border-radius:13px;background:var(--phChip);border:1px solid var(--phChipB);color:var(--canoT);display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .16s}
.a2-phav{font:700 12px/1 "Instrument Sans",sans-serif;letter-spacing:.02em}
.a2-phav:active,.a2-phib:active{transform:scale(.94)}
.a2-phib{position:relative}
.a2-phib u{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:4px;background:var(--pop);border:1.5px solid var(--cano);text-decoration:none}
.a2-pheye{flex:1;min-width:0;font:600 9px/1.4 var(--fl);letter-spacing:.2em;color:var(--canoT2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-phacts{display:flex;gap:8px;flex:none}
.a2-phtitle{margin:15px 0 0;font:650 31px/1 var(--fd),sans-serif;letter-spacing:-.038em;color:var(--canoT)}
.a2-phcap{margin:8px 0 0;font:450 12px/1.55 "Instrument Sans",sans-serif;color:var(--canoT2);max-width:30ch}
.a2-phstat{display:flex;align-items:stretch;gap:13px;margin-top:auto;padding:13px 15px;border-radius:16px;background:var(--phChip);border:1px solid var(--phChipB);box-sizing:border-box}
.a2-phstat .c{flex:1;min-width:0}
.a2-phstat>i{width:1px;background:var(--phLine);flex:none}
.a2-phstat em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--canoT2);white-space:nowrap}
.a2-phstat b{display:block;margin-top:8px;font:650 19px/1 var(--fd),sans-serif;letter-spacing:-.032em;font-variant-numeric:tabular-nums;color:var(--canoT);white-space:nowrap}
.a2-phstat b.up,.a2-phstat b.dn{color:var(--canoT)}
.a2-phstat b.up::after,.a2-phstat b.dn::after{content:"";display:inline-block;width:6px;height:6px;border-radius:3px;margin-left:7px;vertical-align:1px}
.a2-phstat b.up::after{background:var(--phUp)}
.a2-phstat b.dn::after{background:var(--phDn)}
.a2-phstat small{display:block;margin-top:6px;font:450 10px/1 var(--fl);color:var(--canoT2)}
/* the page sheet that lifts over the plinth */
.a2-body{position:relative;margin-top:-18px;padding-top:20px;border-radius:26px 26px 0 0;background:var(--bg);box-shadow:0 -12px 26px -16px color-mix(in srgb,var(--on) 42%,transparent)}
.a2-body::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:34px;height:3px;border-radius:2px;background:var(--line2);opacity:.5}
/* the cash card on home */
.a2-cashc{position:relative;display:flex;align-items:center;gap:14px;width:calc(100% - 40px);box-sizing:border-box;margin:18px 20px 0;padding:16px 15px 16px 17px;border-radius:18px;background:linear-gradient(150deg,#84693a,#5c4724 72%);color:#f9f3e5;cursor:pointer;overflow:hidden;box-shadow:0 16px 28px -20px rgba(58,44,16,.9),0 1px 2px var(--shA)}
.a2-cashc::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 110% at 90% -10%,rgba(255,233,183,.22),transparent 62%);pointer-events:none}
.a2-cashc>*{position:relative;z-index:1}
.a2-cashc .l{flex:1;min-width:0}
.a2-cashc .l em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.18em;font-style:normal;color:#d9c793}
.a2-cashc .l b{display:block;margin-top:8px;font:650 24px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:#fdfaf2;white-space:nowrap}
.a2-cashc .l span{display:block;margin-top:5px;font:450 10.5px/1 "Instrument Sans",sans-serif;color:#d9c793}
.a2-cashc .r{flex:none;display:grid;gap:9px;padding-right:12px;border-right:1px solid rgba(255,244,214,.22);text-align:right}
.a2-cashc .r em{display:block;font:600 8px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:#d9c793}
.a2-cashc .r b{display:block;margin-top:3px;font:650 12.5px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:#fdfaf2}
.a2-cashc .r b.in{color:#cfe89a}
.a2-cashc .r .a2-sg.in{color:#d8f2a2}
.a2-cashc .r .a2-sg.out{color:#fdfaf2}
.a2-cashc>.ic{flex:none;color:#d9c793}
/* pot cards, with identity you can see */
.a2-potc{position:relative;display:block;width:calc(100% - 40px);box-sizing:border-box;margin:0 20px 11px;padding:15px 16px 16px;border-radius:19px;background:var(--card);border:1px solid var(--line);box-shadow:0 14px 26px -22px var(--shA),0 1px 2px var(--shA);text-align:left;cursor:pointer;overflow:hidden;transition:transform .16s,box-shadow .16s}
.a2-potc:hover{transform:translateY(-1px);box-shadow:0 20px 30px -22px var(--shA),0 1px 2px var(--shA)}
.a2-potc::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pid),color-mix(in srgb,var(--pid) 35%,transparent))}
.a2-potc .t{display:flex;align-items:center;gap:11px}
.a2-potc .crest{width:40px;height:40px;flex:none;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--pid) 13%,var(--card));color:var(--pid);border:1px solid color-mix(in srgb,var(--pid) 20%,transparent)}
.a2-potc .nm{flex:1;min-width:0}
.a2-potc .nm b{display:block;font:650 15.5px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.a2-potc .nm small{display:block;margin-top:3px;font:450 11px/1.35 "Instrument Sans",sans-serif;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-ptag{flex:none;display:inline-flex;align-items:center;gap:5px;font:600 8.5px/1 var(--fl);letter-spacing:.12em;padding:7px 9px;border-radius:8px;background:color-mix(in srgb,var(--pid) 13%,transparent);color:color-mix(in srgb,var(--pid) 78%,#000)}
[data-theme="dark"] .a2-ptag{background:color-mix(in srgb,var(--pid) 26%,transparent);color:color-mix(in srgb,var(--pid) 55%,#fff)}
[data-theme="dark"] .a2-potc .crest{background:color-mix(in srgb,var(--pid) 26%,var(--card));color:color-mix(in srgb,var(--pid) 55%,#fff);border-color:color-mix(in srgb,var(--pid) 38%,transparent)}
.a2-ptag s{width:5px;height:5px;border-radius:3px;background:currentColor;text-decoration:none;animation:a2pulse 1.9s ease-in-out infinite}
@keyframes a2pulse{0%,100%{opacity:1}50%{opacity:.25}}
.a2-potc .amt{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:15px}
.a2-potc .amt strong{font:650 25px/1 var(--fd),sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-potc .amt em{font:500 9.5px/1 var(--fl);letter-spacing:.11em;font-style:normal;color:var(--t3);text-align:right}
.a2-potc .mrow{display:flex;align-items:center;gap:12px;margin-top:12px}
.a2-potc .mrow .mt2{flex:1;margin-top:0}
.a2-potc .mrow .a2-faces{flex:none}
.a2-potc .mt2{height:7px;border-radius:5px;background:var(--tile);overflow:hidden;margin-top:12px}
.a2-potc .mt2 i{display:block;height:100%;border-radius:5px;background:var(--pid)}
/* status bar blends into the page once the canopy scrolls away */
.rd-status{transition:background .3s ease,color .3s ease,box-shadow .3s ease}
/* section rule, tightened for the new pages */
.a2-body .rd-sh2{margin-top:24px}
/* the mini pot cards on home get the same identity edge */
.rd-pots .rd-pot{position:relative;overflow:hidden;padding-top:14px;border-radius:17px}
.rd-pots .rd-pot::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pid),color-mix(in srgb,var(--pid) 35%,transparent))}
.rd-pots .rd-pot em,.rd-pots .rd-pot .rd-live{color:color-mix(in srgb,var(--pid) 78%,#000)}
[data-theme="dark"] .rd-pots .rd-pot em,[data-theme="dark"] .rd-pots .rd-pot .rd-live{color:color-mix(in srgb,var(--pid) 55%,#fff)}
.rd-pots .rd-pot b{color:var(--t1)}
.rd-pots .rd-pot .mt{height:6px;border-radius:4px}

/* ======================================================================
   app2s.css
   ====================================================================== */
/* R17: the log drawer. 80% tall sheet, three part header, big keys, scrolling category rail, account rail with marks */
.rd-sheet.tall{height:80%;max-height:80%}
.a2-lh{flex:none;position:relative;z-index:6;display:flex;align-items:center;gap:8px;padding:2px 14px 11px;border-bottom:1px solid var(--line)}
.a2-lh h4{margin:0;flex:1;text-align:center;font:650 15.5px/1 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1);white-space:nowrap}
.a2-selw{position:relative;flex:none}
.a2-sel{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 9px;border-radius:11px;border:1px solid var(--line2);background:var(--tile);color:var(--t2);font:600 9.5px/1 var(--fl);letter-spacing:.1em;cursor:pointer;max-width:118px;overflow:hidden;white-space:nowrap}
.a2-sel:disabled{opacity:.7;cursor:default}
.a2-sel i{width:8px;height:8px;border-radius:3px;flex:none;display:block}
.a2-sel.on{border-color:var(--acc);background:var(--wash);color:var(--on);color:var(--t1)}
.a2-lmenu{position:absolute;top:40px;left:0;z-index:20;min-width:196px;padding:6px;border-radius:15px;border:1px solid var(--line2);background:var(--card);box-shadow:0 22px 44px -14px rgba(0,0,0,.32);animation:rdFade .14s ease both}
.a2-lmenu.right{left:auto;right:0}
.a2-lmenu>s{display:block;height:1px;margin:5px 8px;background:var(--line);text-decoration:none}
.a2-lmenu button{display:flex;width:100%;box-sizing:border-box;align-items:center;gap:10px;min-height:42px;padding:0 9px;border:0;border-radius:11px;background:none;color:var(--t1);text-align:left;cursor:pointer}
.a2-lmenu button>span{flex:1;min-width:0}
.a2-lmenu button b{display:block;font:650 13px/1.2 "Instrument Sans",sans-serif}
.a2-lmenu button em{display:block;margin-top:3px;font:500 8.5px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
.a2-lmenu button i{width:9px;height:9px;border-radius:3px;flex:none;display:block}
.a2-lmenu button:hover{background:var(--tile)}
.a2-lmenu button[aria-pressed="true"]{background:var(--wash)}
.a2-amt3{display:grid;grid-template-columns:1fr 58px;gap:14px;align-items:center;padding:13px 18px 0}
.a2-amtv{min-width:0}
.a2-amtv b{display:block;font:650 44px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-amtv small{display:block;margin-top:7px;font:500 9.5px/1 var(--fl);letter-spacing:.11em;color:var(--t3)}
.a2-side{display:grid;gap:8px}
.a2-sq{width:58px;height:50px;border-radius:15px;border:1px solid var(--line2);background:var(--tile);display:grid;place-items:center;gap:2px;color:var(--t2);cursor:pointer;transition:transform .12s,border-color .16s,background .16s}
.a2-sq:active{transform:scale(.96)}
.a2-sq em{font:600 7.5px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t3)}
.a2-sq.gold{border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:color-mix(in srgb,var(--gold) 15%,transparent);color:var(--t1)}
.a2-sq.in{border-color:var(--acc);background:var(--wash);color:var(--t1)}
.a2-sq.in em{color:var(--t2)}
.a2-sq.cam{width:52px;height:52px;border-radius:16px;border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:color-mix(in srgb,var(--gold) 15%,transparent);color:var(--t1)}
.a2-keys.big{padding:12px 18px 13px;gap:8px}
.a2-keys.big .a2-key{min-height:52px;border-radius:15px;font-size:22px}
.a2-catwrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--tile) 55%,var(--card))}
.a2-caplab,.a2-secl{display:flex;justify-content:space-between;padding:11px 20px 0;font:600 8.5px/1 var(--fl);letter-spacing:.18em;color:var(--t3)}
.a2-caplab span:last-child{color:var(--t2)}
.a2-secl{padding:13px 20px 0}
.a2-cats2{display:grid;grid-auto-flow:column;grid-template-rows:1fr 1fr;grid-auto-columns:max-content;gap:8px;overflow-x:auto;padding:9px 18px 12px;scrollbar-width:none;overscroll-behavior-x:contain}
.a2-cats2::-webkit-scrollbar{display:none}
.a2-cats2 .a2-cattile{min-height:44px;border-radius:13px}
.a2-cattile.add s{background:var(--tile);color:var(--t2)}
.a2-cattile.add[aria-pressed="true"] s{background:var(--wash);color:var(--acc)}
.a2-otherrow{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 18px 4px}
.a2-mini{height:40px;padding:0 15px;border-radius:12px;border:0;background:var(--on);color:var(--card);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
[data-theme="dark"] .a2-mini{background:var(--acc);color:var(--on)}
.a2-otherhint{margin:8px 20px 12px;font:450 10.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-accs{display:flex;gap:8px;overflow-x:auto;padding:10px 18px 2px;scrollbar-width:none}
.a2-accs::-webkit-scrollbar{display:none}
.a2-acc{flex:none;display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 13px 0 6px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--t2);cursor:pointer;box-shadow:0 1px 2px var(--shA);transition:border-color .16s,background .16s}
.a2-acc s{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;text-decoration:none;flex:none;background:color-mix(in srgb,var(--ac) 14%,transparent);color:var(--ac)}
.a2-acc b{display:block;font:650 12.5px/1 "Instrument Sans",sans-serif;color:var(--t1);white-space:nowrap}
.a2-acc u{display:block;margin-top:4px;font:500 8px/1 var(--fl);letter-spacing:.1em;color:var(--t3);text-decoration:none;white-space:nowrap}
.a2-acc[aria-pressed="true"]{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 7%,var(--card))}
[data-theme="dark"] .a2-acc s{background:color-mix(in srgb,var(--ac) 34%,transparent);color:color-mix(in srgb,var(--ac) 40%,#fff)}
[data-theme="dark"] .a2-acc[aria-pressed="true"]{border-color:color-mix(in srgb,var(--ac) 55%,#fff);background:color-mix(in srgb,var(--ac) 16%,var(--card))}
.a2-noterow{display:grid;grid-template-columns:1fr 52px;gap:10px;align-items:center;padding:12px 18px 0}
.a2-noterow .a2-input{min-height:52px;border-radius:15px}

/* ======================================================================
   app2t.css
   ====================================================================== */
/* R18: hero figures with arrow chips, calendar-first Money, cards with the chip on the right and bank details on the back,
   the 90% log drawer (what it is for on top, keypad at the bottom, bank selector under the amount), and the voice popup. */

/* ---- hero stat band: arrows in chips, no floating dots ---- */
.a2-phstat{gap:0;padding:0}
.a2-phstat .c{padding:14px 15px;display:flex;flex-direction:column}
.a2-phstat b{display:flex;align-items:center;gap:8px;margin-top:9px}
.a2-phstat b u{text-decoration:none}
.a2-phstat b.up::after,.a2-phstat b.dn::after{display:none}
.a2-phstat .ar{display:grid;place-items:center;width:19px;height:19px;border-radius:7px;flex:none;background:var(--phChip);border:1px solid var(--phChipB)}
.a2-phstat .c.up .ar{color:var(--phUp)}
.a2-phstat .c.dn .ar{color:var(--phDn)}
.a2-phstat small{margin-top:auto;padding-top:7px;letter-spacing:.04em}
.a2-phstat.n3 .c{padding:13px 10px}
.a2-phstat.n3 em{letter-spacing:.1em}
.a2-phstat.n3 b{gap:6px;margin-top:8px;font-size:16px}
.a2-phstat.n3 .ar{width:16px;height:16px;border-radius:6px}
.a2-phstat.n3 small{font-size:9px}

/* ---- Money: calendar and ledger tabs ---- */
.a2-seg2{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:16px 20px 0;padding:4px;border-radius:15px;background:var(--tile);border:1px solid var(--line)}
.a2-seg2 button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;border-radius:11px;background:none;color:var(--t2);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.a2-seg2 button[aria-selected="true"]{background:var(--card);color:var(--t1);box-shadow:0 2px 6px -3px var(--shA),0 1px 2px var(--shA)}

/* ---- Insights: how the month adds up ---- */
.a2-io .r{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line)}
.a2-io .r:first-child{border-top:0;padding-top:0}
.a2-io em{font:450 12.5px/1.35 "Instrument Sans",sans-serif;font-style:normal;color:var(--t2)}
.a2-io b{font:650 15.5px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1);white-space:nowrap}
.a2-io b.dn{color:var(--pop)}
.a2-io b.mut{color:var(--t3)}
.a2-io .tot{margin-top:3px;padding-top:12px;border-top:1.5px solid var(--line2)}
.a2-io .tot em{font-weight:650;color:var(--t1)}
.a2-io .tot b{font-size:20px}

/* ---- card front: chip on the right, balance on the baseline ---- */
.rd-face:not(.back){display:flex;flex-direction:column}
.rd-cbank{align-items:center}
.rd-cnet{font:800 15px/1 "Instrument Sans",sans-serif;font-style:italic;letter-spacing:.05em;transform:skewX(-8deg);text-shadow:0 1px 2px rgba(0,0,0,.35);color:rgba(255,255,255,.94)}
.rd-chipw{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:9px;z-index:2}
.rd-chipw .rd-chip{margin-top:0;display:block}
.rd-cbal{margin-top:auto;padding-right:80px}
.rd-cbal b{font-size:29px}
.rd-cfoot{position:static;left:auto;right:auto;bottom:auto;display:flex;align-items:center;justify-content:space-between;margin-top:11px}
.rd-cfeed{display:inline-flex;align-items:center;gap:5px;font:600 7.5px/1 var(--fl);letter-spacing:.13em;color:rgba(255,255,255,.6);text-decoration:none}

/* ---- card back: card credentials plus the bank lines that can be shared ---- */
.a2-bpad{justify-content:flex-start;padding:10px 18px 0}
.a2-bcred{display:flex;gap:16px;margin-top:7px;font:500 8px/1.3 var(--fl);letter-spacing:.14em;color:rgba(255,255,255,.5)}
.a2-bcred b{font:600 10px/1.3 var(--fl);letter-spacing:.05em;color:#fbfaf6}
.a2-bnote{margin:0;font:450 12.5px/1.5 "Instrument Sans",sans-serif;color:rgba(255,255,255,.88)}
.a2-bbank{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.16);font:500 7.5px/1.3 var(--fl);letter-spacing:.14em;color:rgba(255,255,255,.5)}
.a2-bbank span:last-child{grid-column:1/-1}
.a2-bbank b{display:block;margin-top:2px;font:600 10.5px/1.15 var(--fl);letter-spacing:.04em;color:#fbfaf6}
.a2-bacts{flex:none;display:flex;gap:8px;margin:0 18px 12px}
.a2-bacts .a2-btxn{margin:0;flex:1;min-width:0;font-size:11px}

/* ---- the log drawer, 90% tall, keypad pinned to the bottom ---- */
.rd-sheet.tall{height:90%;max-height:90%}
.a2-logwrap{display:flex;flex-direction:column;min-height:100%}
.a2-amtblk{padding:14px 18px 0}
.a2-bigamt{display:block;font:650 44px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-fromrow{display:flex;align-items:center;gap:9px;margin-top:12px}
.a2-selw.grow{flex:1;min-width:0}
.a2-from{display:flex;width:100%;box-sizing:border-box;align-items:center;gap:9px;height:48px;padding:0 12px;border-radius:14px;border:1px solid var(--line2);background:var(--card);cursor:pointer;box-shadow:0 1px 2px var(--shA)}
.a2-fromlab{flex:none;font:600 9px/1 var(--fl);letter-spacing:.18em;text-transform:uppercase;color:var(--t3)}
.a2-from s{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--ac) 14%,transparent);color:var(--ac)}
.a2-from b{flex:none;font:650 13.5px/1 "Instrument Sans",sans-serif;color:var(--t1);white-space:nowrap}
.a2-from u{flex:1;min-width:0;text-decoration:none;font:500 8px/1 var(--fl);letter-spacing:.1em;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-theme="dark"] .a2-from s{background:color-mix(in srgb,var(--ac) 34%,transparent);color:color-mix(in srgb,var(--ac) 42%,#fff)}
.a2-dirseg{display:grid;grid-template-columns:1fr 1fr;gap:3px;flex:none;padding:3px;border-radius:14px;background:var(--tile);border:1px solid var(--line)}
.a2-dirseg button{min-width:44px;min-height:42px;border:0;border-radius:11px;background:none;color:var(--t2);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-dirseg button[aria-selected="true"]{background:var(--card);color:var(--t1);box-shadow:0 1px 2px var(--shA)}
.a2-keys.big{margin-top:auto}
.a2-foot2{display:flex;gap:10px;align-items:center}
.a2-foot2 .grow{flex:1;min-width:0}
.a2-sq.mic{width:52px;height:48px;flex:none;border-radius:14px;border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--t1)}

/* ---- popovers: crests, checks, and the date calendar ---- */
.a2-lmenu{top:calc(100% + 6px)}
.a2-lmenu.book{min-width:240px}
.a2-lmenu.wide{min-width:242px}
.a2-lmlab{margin:5px 9px 3px;font:600 8px/1 var(--fl);letter-spacing:.18em;text-transform:uppercase;color:var(--t3)}
.a2-lmenu button s{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--pc) 15%,transparent);color:var(--pc)}
.a2-lmenu button u{width:20px;height:20px;flex:none;border-radius:7px;display:grid;place-items:center;text-decoration:none;background:var(--acc);color:var(--on)}
[data-theme="dark"] .a2-lmenu button s{background:color-mix(in srgb,var(--pc) 32%,transparent);color:color-mix(in srgb,var(--pc) 45%,#fff)}
.a2-lmenu.cal{min-width:248px;padding:10px}
.a2-cmh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.a2-cmh b{font:650 12.5px/1 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-cmh button{width:28px;height:28px;min-height:28px;padding:0;border-radius:9px;border:1px solid var(--line);background:var(--tile);color:var(--t2);display:grid;place-items:center;cursor:pointer}
.a2-cmw{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;text-align:center;font:600 8px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a2-cmg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.a2-cmg button{display:grid;place-items:center;width:auto;min-height:30px;padding:0;border-radius:9px;background:none;color:var(--t1);font:600 11.5px/1 "Instrument Sans",sans-serif;font-variant-numeric:tabular-nums;cursor:pointer}
.a2-cmg button:hover{background:var(--tile)}
.a2-cmg button.now{box-shadow:inset 0 0 0 1.5px var(--line2)}
.a2-cmg button.on{background:var(--acc);color:var(--on);box-shadow:none}
.a2-cmnow{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:36px;margin-top:9px;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;color:var(--t2);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-cmnow:hover{background:none;color:var(--t1)}

/* ---- share the bank lines ---- */
.a2-shbox{margin:12px 18px 0;border-radius:16px;border:1px solid var(--line);background:var(--card);overflow:hidden}
.a2-shbox .r{display:grid;grid-template-columns:1fr 34px;grid-template-areas:"k c" "v c";align-items:center;column-gap:10px;padding:12px 14px;border-top:1px solid var(--line)}
.a2-shbox .r:first-child{border-top:0}
.a2-shbox em{grid-area:k;font:600 8px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a2-shbox b{grid-area:v;margin-top:6px;font:650 13.5px/1.25 "Instrument Sans",sans-serif;color:var(--t1);word-break:break-word}
.a2-copy{grid-area:c;align-self:center;width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:var(--tile);color:var(--t2);display:grid;place-items:center;cursor:pointer}
.a2-shnote{margin:12px 22px 2px;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}

/* ---- the voice popup ---- */
.a2-vpop{position:absolute;left:16px;right:16px;bottom:24px;z-index:90;box-sizing:border-box;padding:20px 18px 16px;border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:0 34px 70px -22px rgba(0,0,0,.5);animation:vpIn .32s cubic-bezier(.2,.9,.25,1) both;text-align:center}
@keyframes vpIn{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:none}}
.a2-vx{position:absolute;right:14px;top:14px;width:28px;height:28px;border-radius:9px;border:1px solid var(--line);background:var(--tile);color:var(--t2);display:grid;place-items:center;cursor:pointer}
.a2-orb{position:relative;width:78px;height:78px;margin:4px auto 0;display:grid;place-items:center}
.a2-orb span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--on);background:conic-gradient(from 0deg,var(--acc),var(--gold),var(--acc));box-shadow:0 10px 24px -10px color-mix(in srgb,var(--acc) 70%,transparent);animation:orbSpin 3.6s linear infinite}
.a2-orb i{position:absolute;inset:6px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--acc) 60%,transparent);animation:orbPulse 2s ease-out infinite}
.a2-orb i:last-of-type{animation-delay:1s}
@keyframes orbSpin{to{transform:rotate(360deg)}}
@keyframes orbPulse{0%{transform:scale(.78);opacity:.85}100%{transform:scale(1.35);opacity:0}}
.a2-vlab{margin:13px 0 0;font:600 9px/1 var(--fl);letter-spacing:.2em;text-transform:uppercase;color:var(--t3)}
.a2-vw{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 8px 0;min-height:46px}
.a2-vw span{opacity:0;font:650 17px/1.25 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1);animation:rdFade .34s ease both}
.a2-vhon{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;font:600 8px/1.4 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t3)}
.a2-vq{margin:8px 8px 0;font:400 italic 16px/1.45 "Newsreader",serif;color:var(--t1)}
.a2-vfields{margin:14px 0 0;border-radius:16px;border:1px solid var(--line);background:var(--tile);overflow:hidden;text-align:left}
.a2-vrow{display:flex;align-items:center;gap:11px;padding:10px 13px;border-top:1px solid var(--line);animation:rdFade .3s ease both}
.a2-vrow:first-child{border-top:0}
.a2-vrow em{width:52px;flex:none;font:600 8px/1.3 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t3)}
.a2-vrow b{display:block;font:650 14px/1.15 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-vrow small{display:block;margin-top:3px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-vacts{display:flex;gap:9px;margin-top:14px}
.a2-vacts .grow{flex:1;min-width:0}
.a2-vquiet{flex:none;min-height:48px;padding:0 15px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--t2);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer}

/* ---- pull the sheet down to close ---- */
.rd-grab.pull{padding:11px 0 7px;cursor:grab;touch-action:none}
.rd-grab.pull:active{cursor:grabbing}
.rd-grab.pull s{width:46px;height:5px;border-radius:3px;background:var(--line2);transition:width .18s,background .18s}
.rd-grab.pull:hover s,.rd-grab.pull:active s{width:58px;background:var(--t3)}
.a2-lh{padding:0 14px 11px}
.a2-lh h4{padding-bottom:1px}

/* ---- profile on the plinth ---- */
.a2-phprof{padding-bottom:26px}
.a2-pident{display:flex;align-items:center;gap:15px;margin-top:18px}
.a2-pident .t{min-width:0}
.a2-pident h2{margin:0;font:650 24px/1.05 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--canoT)}
.a2-pident em{display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 10px/1.35 var(--fl);letter-spacing:.06em;font-style:normal;color:var(--canoT2)}

/* R20: amount and bank selector first, what-it-is-for and the description in one band above the keys */
.a2-amtblk{padding:14px 18px 14px}
.a2-catwrap .a2-noterow{padding:0 18px 11px}
.a2-catwrap .a2-cats2{padding-top:9px;padding-bottom:10px}
.a2-catwrap .a2-memtag{margin:0 20px 11px}
.a2-from{gap:10px;padding:0 12px 0 10px}
.a2-catwrap .a2-caplab{padding-top:9px}

/* ---- R21: no shift on reveal, centred drawer amount, card middle row, draggable shade ---- */
[data-dir] .a2-amtrow .rd-amt,[data-dir] .a2-amtrow .rd-amt.hid{font-size:38px;letter-spacing:-.03em}
.a2-amtrow{min-height:48px;align-items:center}
[data-dir] .rd-cano .rd-subline,[data-dir] .rd-subline{min-height:18px;line-height:18px}
.a2-cashc .l b,.a2-cashc .r b{font-variant-numeric:tabular-nums}
.a2-bigamt{text-align:center}
.a2-bigamt i{display:inline-block;margin-right:9px;font-style:normal;font-size:.72em;font-weight:600;color:var(--t2);vertical-align:.04em}
.rd-cmid{flex:1;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:16px}
.rd-cmid .rd-cbal{margin-top:0;padding-right:0;min-width:0}
.rd-cmid .rd-cbal u,.rd-cmid .rd-cbal b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-chipw{position:static;transform:none;display:flex;align-items:center;gap:11px;justify-items:initial}
.a2-shgrab.pull{cursor:grab;touch-action:none}
.a2-shgrab.pull s{transition:width .18s,background .18s}
.a2-shgrab.pull:hover s,.a2-shgrab.pull:active s{width:58px}
.a2-shade{touch-action:none}

/* ---- R22 phase 1: states ---- */
.a2-offbar{flex:none;display:flex;align-items:center;gap:9px;padding:8px 18px;background:var(--cano);color:var(--canoT);font:600 9.5px/1.4 var(--fl);letter-spacing:.1em;box-shadow:inset 0 -1px 0 var(--phLine)}
.a2-offbar span{flex:1;min-width:0}
.a2-offbar b{flex:none;padding:3px 8px;border-radius:999px;background:var(--phChip);border:1px solid var(--phChipB);font:600 9px/1.4 var(--fl)}
.a2-wait,.a2-flag,.a2-part{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:3px 8px;border-radius:999px;font:600 8px/1.4 var(--fl);letter-spacing:.12em}
.a2-wait{background:color-mix(in srgb,var(--t3) 14%,transparent);color:var(--t2)}
.a2-flag{background:color-mix(in srgb,var(--pop) 14%,transparent);color:var(--pop)}
.a2-part{background:color-mix(in srgb,var(--in) 14%,transparent);color:var(--in)}
.a2-stale{flex:none;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--tile);color:var(--t2);font:600 9px/1 var(--fl);letter-spacing:.1em;cursor:pointer}
.a2-empty{display:grid;justify-items:center;text-align:center;gap:4px;margin:18px 26px;padding:26px 18px;border-radius:20px;border:1px dashed var(--line2);background:var(--card)}
.a2-empty>s{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2);margin-bottom:6px}
.a2-empty b{font:650 15px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a2-empty p{margin:4px 0 0;font:450 12px/1.55 "Instrument Sans",sans-serif;color:var(--t3);max-width:30ch}
.a2-quietb2{margin-top:12px;min-height:40px;padding:0 15px;border-radius:12px;border:1px solid var(--line2);background:var(--tile);color:var(--t1);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-pend{display:block;margin-top:5px;font:600 8px/1.4 var(--fl);letter-spacing:.12em;color:var(--t3)}

/* ---- R23 phase 2: the merge, everywhere ---- */
.a2-mintro{margin:4px 18px 10px;font:450 12px/1.55 "Instrument Sans",sans-serif;color:var(--t2)}
.a2-mfoot{margin:0;text-align:center;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-mfoot u{cursor:pointer}
.a2-mact{display:grid;justify-items:end;gap:4px}
.a2-remind{min-height:22px;padding:0 8px;border-radius:8px;border:1px solid var(--line2);background:none;color:var(--t3);font:600 8.5px/1 var(--fl);letter-spacing:.1em;cursor:pointer}
.a2-remind:hover{color:var(--t1);border-color:var(--t3)}
.a2-receipt{margin:14px 18px 4px;padding:14px 15px;border-radius:16px;border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);background:color-mix(in srgb,var(--acc) 9%,var(--card))}
.a2-receipt em{display:flex;align-items:center;gap:7px;font:600 8.5px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--in)}
.a2-receipt b{display:block;margin-top:9px;font:650 18px/1.15 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--t1)}
.a2-receipt p{margin:7px 0 0;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t2)}

/* ---- R24 phase 3: search, unread, category drill down ---- */
.a2-slab{margin:14px 18px 0;font:600 8px/1 var(--fl);letter-spacing:.18em;color:var(--t3)}
.rd-chip4{display:inline-flex;align-items:center;gap:6px}
.a2-udot{width:7px;height:7px;flex:none;border-radius:4px;background:var(--acc);text-decoration:none}
.a2-udot.on{background:var(--canoT)}
.a2-unread b{font-weight:700}
.a2-tick2 s.on{background:var(--canoT)}
.a2-catrow{display:grid;grid-template-columns:auto 84px 1fr auto auto;align-items:center;gap:10px;width:100%;padding:9px 0;border:0;border-top:1px solid var(--line);background:none;cursor:pointer;text-align:left}
.a2-catrow:first-child{border-top:0}
.a2-catrow>s{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;text-decoration:none}
.a2-catrow>span:nth-of-type(1){font:600 12.5px/1 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-catrow b{font:650 13px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-catsum{display:flex;align-items:stretch;gap:14px;margin:12px 18px 0;padding:13px 15px;border-radius:16px;border:1px solid color-mix(in srgb,var(--cc2) 40%,transparent);background:color-mix(in srgb,var(--cc2) 8%,var(--card))}
.a2-catsum>div{flex:1;min-width:0}
.a2-catsum>i{width:1px;background:var(--line);flex:none}
.a2-catsum em{display:block;font:600 8px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a2-catsum b{display:block;margin-top:8px;font:650 19px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}

/* ---- R25 phase 4: focus, motion, legible captions ---- */
.rd-screen :focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:10px}
.rd-screen .a2-ph :focus-visible,.rd-screen .rd-cano :focus-visible{outline-color:var(--canoT)}
.rd-screen input:focus-visible,.rd-screen .a2-input:focus{outline:2px solid var(--acc);outline-offset:1px}
.a2-lmlab{font-size:9px}
.a2-caplab,.a2-secl{font-size:9px}
.a2-slab{font-size:9px}
.a2-wait,.a2-flag,.a2-part,.a2-pend,.a2-remind{font-size:9px}
.a2-receipt em{font-size:9px}
.a2-phstat em{font-size:9px}
.a2-phstat.n3 em{font-size:8.5px}
.a2-empty p{font-size:12.5px}
@media (prefers-reduced-motion: reduce){
  .rd-screen *,.rd-screen *::before,.rd-screen *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.06s!important}
  .a2-orb span{animation:none!important}
  .a2-orb i{display:none}
}

/* ---- R26 phase 5: the vault ---- */
.a2-kwarn{margin:14px 20px 0;padding:13px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--pop) 45%,transparent);background:color-mix(in srgb,var(--pop) 9%,var(--card))}
.a2-kwarn em{display:flex;align-items:center;gap:7px;font:600 9px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--pop)}
.a2-kwarn .r{display:flex;align-items:center;gap:12px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}
.a2-kwarn .r span{flex:1;min-width:0}
.a2-kwarn b{display:block;font:650 13px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-kwarn small{display:block;margin-top:4px;font:450 11px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-kwarn p{margin:11px 0 0;font:450 10.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-kfix{flex:none;min-height:32px;padding:0 12px;border-radius:10px;border:1px solid var(--line2);background:var(--tile);color:var(--t1);font:650 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-kfix:hover{border-color:var(--acc)}
.a2-kacts{display:flex;gap:6px;flex:none}

/* ======================================================================
   app2u.css
   ====================================================================== */
/* ---- R27 phases 6 to 10: promised money, people, connecting a bank, a closed trip, the app lock ---- */

/* phase 6: already promised */
.a2-upc{display:block;width:calc(100% - 40px);margin:14px 20px 0;padding:14px 15px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:left;cursor:pointer}
.a2-upc .t{display:flex;align-items:flex-start;gap:10px}
.a2-upc .l{flex:1;min-width:0}
.a2-upc em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a2-upc .l b{display:block;margin-top:8px;font:650 26px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-upc .ic{flex:none;width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:var(--tile);color:var(--t3)}
.a2-upc .bar{height:7px;margin-top:12px;border-radius:999px;background:var(--tile);border:1px solid var(--line);overflow:hidden}
.a2-upc .bar i{display:block;height:100%;background:var(--pop);border-radius:999px}
.a2-upc .f{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.a2-upc p{margin:11px 0 0;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t2)}
.a2-when{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;border-radius:999px;background:var(--tile);border:1px solid var(--line);font:600 8.5px/1.3 var(--fl);letter-spacing:.12em;color:var(--t3)}
.a2-when u{text-decoration:none;color:var(--t2)}
.a2-when b{font:600 8.5px/1.3 var(--fl);color:var(--t1)}
.a2-when.auto{background:color-mix(in srgb,var(--acc) 13%,transparent);border-color:color-mix(in srgb,var(--acc) 34%,transparent);color:var(--in)}
.a2-when.hand{background:color-mix(in srgb,var(--pop) 12%,transparent);border-color:color-mix(in srgb,var(--pop) 32%,transparent);color:var(--pop)}
.a2-when.in{background:color-mix(in srgb,var(--in) 13%,transparent);border-color:color-mix(in srgb,var(--in) 32%,transparent);color:var(--in)}
.a2-when.shared{color:var(--t2)}
.a2-upc .f .a2-when{margin-top:0}

/* phase 7: people */
.a2-prow{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:12px 14px;border:0;border-top:1px solid var(--line);background:none;text-align:left;cursor:pointer}
.a2-prow:first-child{border-top:0}
.a2-prow .n{flex:1;min-width:0}
.a2-prow .n b{display:block;font:650 14.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-prow .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-prow .v{flex:none;text-align:right}
.a2-prow .v b{font:650 15.5px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-prow .v em{display:block;margin-top:4px;font:600 7.5px/1 var(--fl);letter-spacing:.13em;font-style:normal;color:var(--t3)}
.a2-prow .v.get b{color:var(--in)}
.a2-prow .v.owe b{color:var(--out)}
.a2-pnet{display:flex;align-items:center;gap:14px;margin:6px 18px 0;padding:14px 15px;border-radius:18px;border:1px solid var(--line);background:var(--tile)}
.a2-pnet .t{min-width:0}
.a2-pnet .t em{display:block;font:600 8px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a2-pnet .t b{display:block;margin-top:7px;font:650 28px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-pnet .t span{display:block;margin-top:7px;font:450 12px/1.5 "Instrument Sans",sans-serif;color:var(--t2)}

/* phase 8: connecting a bank */
.a2-bsearch{display:flex;align-items:center;gap:9px;margin:6px 18px 10px;padding:0 12px;height:46px;border-radius:14px;border:1px solid var(--line2);background:var(--tile);color:var(--t3)}
.a2-bsearch input{flex:1;min-width:0;border:0;background:none;outline:none;font:450 14px/1 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-bstep{display:flex;gap:12px;padding:13px 15px;border-top:1px solid var(--line)}
.a2-bstep:first-child{border-top:0}
.a2-bstep s{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--in)}
.a2-bstep.no s{background:color-mix(in srgb,var(--pop) 13%,transparent);color:var(--pop)}
.a2-bstep b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-bstep small{display:block;margin-top:4px;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t2)}
.a2-bring{width:76px;height:76px;margin:18px auto 14px;border-radius:50%;border:2px solid var(--line2);border-top-color:var(--acc);animation:a2spin 1s linear infinite}
@keyframes a2spin{to{transform:rotate(360deg)}}
.a2-bprog{margin-top:12px}
.a2-bprog .r{display:flex;align-items:center;gap:11px;padding:9px 0;opacity:.38;transition:opacity .35s ease}
.a2-bprog .r.on{opacity:1}
.a2-bprog .r s{width:22px;height:22px;flex:none;border-radius:8px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t3)}
.a2-bprog .r.on s{background:var(--acc);color:var(--on)}
.a2-bprog .r b{display:block;font:650 13px/1.25 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-bprog .r small{display:block;margin-top:3px;font:450 11px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-bacct{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:13px 14px;border:0;border-top:1px solid var(--line);background:none;text-align:left;cursor:pointer}
.a2-bacct:first-child{border-top:0}
.a2-bacct .n{flex:1;min-width:0}
.a2-bacct .n b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-bacct .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-bcheck{width:23px;height:23px;flex:none;border-radius:8px;border:1.5px solid var(--line2);display:grid;place-items:center;color:transparent;transition:.16s ease}
.a2-bcheck.on{background:var(--acc);border-color:var(--acc);color:var(--on)}

/* phase 9: a trip read back */
.a2-pers{display:flex;align-items:center;gap:11px;padding:12px 14px;border-top:1px solid var(--line)}
.a2-pers:first-child{border-top:0}
.a2-pers .n{flex:1;min-width:0}
.a2-pers .n b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-pers .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-pers .v{flex:none;text-align:right;font:650 14.5px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-pers .v em{display:block;margin-top:4px;font:600 7.5px/1 var(--fl);letter-spacing:.13em;font-style:normal;color:var(--t3)}
.a2-days{display:flex;align-items:flex-end;gap:7px;height:70px}
.a2-days s{flex:1;min-height:3px;border-radius:5px 5px 2px 2px;background:color-mix(in srgb,var(--acc) 62%,transparent)}
.a2-days s:first-child{background:var(--acc)}
.a2-dayl{display:flex;gap:7px;margin-top:8px}
.a2-dayl span{flex:1;text-align:center;font:600 7.5px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}

/* phase 10: the app lock */
.a2-lock{position:absolute;inset:0;z-index:220;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 0;background:var(--cano);color:var(--canoT);animation:rdFade .32s ease both}
.a2-lmark{display:flex;margin-bottom:24px}
.a2-lmark s{width:42px;height:42px;border-radius:50%;background:var(--canoT);opacity:.92}
.a2-lmark s+s{margin-left:-15px;background:var(--gold);mix-blend-mode:multiply}
.a2-ltitle{font:650 21px/1.15 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--canoT)}
.a2-ldots{display:flex;gap:12px;margin-top:22px}
.a2-ldots s{width:11px;height:11px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--canoT) 42%,transparent);transition:.16s ease}
.a2-ldots s.on{background:var(--canoT);border-color:var(--canoT)}
.a2-lpad{display:grid;grid-template-columns:repeat(3,66px);gap:11px;margin-top:26px}
.a2-lpad button{min-height:56px;border-radius:18px;border:1px solid color-mix(in srgb,var(--canoT) 20%,transparent);background:color-mix(in srgb,var(--canoT) 8%,transparent);color:var(--canoT);font:650 19px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;display:grid;place-items:center;cursor:pointer}
.a2-lpad button:active{background:color-mix(in srgb,var(--canoT) 17%,transparent)}
.a2-lpad button.q{border-color:transparent;background:none}
.a2-lface{display:flex;align-items:center;gap:8px;margin-top:22px;min-height:44px;padding:0 18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--canoT) 30%,transparent);background:none;color:var(--canoT);font:650 13px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-lnote{margin:18px 34px 0;text-align:center;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:color-mix(in srgb,var(--canoT) 70%,transparent)}

/* ======================================================================
   app2v.css
   ====================================================================== */
/* ---- R28: the currency page, every rate at once with a calculator under it ---- */
.a2-cvpage{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--cano)}
.a2-cvtop{flex:none}
.a2-cvbody{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;margin-top:-18px;border-radius:26px 26px 0 0;background:var(--bg);box-shadow:0 -12px 26px -16px color-mix(in srgb,var(--on) 42%,transparent);overflow:hidden}
.a2-cvbody::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:34px;height:3px;border-radius:2px;background:var(--line2);opacity:.5;z-index:2}
.a2-cvsrc{flex:none;display:flex;align-items:center;gap:7px;padding:12px 20px 0}
.a2-cvsrc>span{flex:none;font:600 8px/1 var(--fl);letter-spacing:.16em;color:var(--t3)}
.a2-cvsrc button{min-height:30px;padding:0 11px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 11px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-cvsrc button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:color-mix(in srgb,var(--acc) 13%,transparent);color:var(--in)}
.a2-cvlist{flex:1;min-height:0;overflow-y:auto;padding:12px 20px 6px;scrollbar-width:none}
.a2-cvlist::-webkit-scrollbar{display:none}
.a2-cvr{position:relative;display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;margin-bottom:6px;padding:10px 13px;border-radius:17px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:left;cursor:pointer}
.a2-cvr .cd{flex:none;display:grid;justify-items:center;gap:5px;width:42px;font:600 9px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a2-cvr .cd s{width:32px;height:32px;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2);font:650 15px/1 var(--fd),sans-serif}
.a2-cvr .nm{flex:1;min-width:0}
.a2-cvr .nm b{display:block;font:650 13px/1.2 "Instrument Sans",sans-serif;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a2-cvr .nm small{display:block;margin-top:4px;font:500 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a2-cvr .vl{flex:none;max-width:52%;display:flex;align-items:baseline;gap:5px;font:650 20px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1);white-space:nowrap;overflow:hidden}
.a2-cvr .vl u{text-decoration:none;font:500 11px/1 var(--fl);color:var(--t3)}
.a2-cvr.on{border-color:color-mix(in srgb,var(--acc) 60%,transparent);background:color-mix(in srgb,var(--acc) 9%,var(--card));box-shadow:0 6px 18px -12px var(--acc),0 1px 2px var(--shA)}
.a2-cvr.on .vl{color:var(--in)}
.a2-cvr.on .nm small{color:var(--in)}
.a2-cvheld{position:absolute;right:14px;bottom:-1px;transform:translateY(-50%);display:none}
.a2-cvr .nm small+em{display:none}
.a2-cvadd{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:2px;border-radius:15px;border:1px dashed var(--line2);background:none;color:var(--t2);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-cvnote{margin:12px 2px 4px;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-cvsym{width:32px;height:32px;flex:none;border-radius:11px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2);font:650 14px/1 var(--fd),sans-serif}
.a2-calc{flex:none;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:8px 12px 90px;background:color-mix(in srgb,var(--tile) 70%,var(--card));border-top:1px solid var(--line)}
.a2-ck{min-height:45px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--t1);font:650 18px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 2px var(--shA)}
.a2-ck:active{transform:translateY(1px)}
.a2-ck.op{background:color-mix(in srgb,var(--acc) 15%,var(--card));border-color:color-mix(in srgb,var(--acc) 42%,transparent);color:var(--in);font-size:21px}
.a2-ck.fn{background:var(--tile);color:var(--t2);font-size:15px;letter-spacing:.04em}
.a2-ck.eq{background:var(--acc);border-color:var(--acc);color:var(--on)}
.a2-ck.go{background:var(--gold);border-color:var(--gold);color:var(--on)}
[data-theme="dark"] .a2-ck.eq,[data-theme="dark"] .a2-ck.go{color:#1a110a}
.a2-cvscroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:12px;scrollbar-width:none}
.a2-cvscroll::-webkit-scrollbar{display:none}
/* the log drawer collapse key, in the old 00 slot */
.a2-key.dn{background:var(--tile);color:var(--t3)}
.a2-key.dn:active{background:var(--line)}

/* ---- R29: header that never shifts, taller hero bands, day figures on the calendar ---- */
.a2-lh{justify-content:space-between;align-items:center;padding:7px 14px 9px}
.a2-lh h4{position:absolute;left:50%;top:0;bottom:0;height:auto;display:grid;place-items:center;transform:translateX(-50%);flex:none;padding:0;pointer-events:none}
/* the camera and the mic changed places: mic sits with the description, camera in the footer */
.a2-noterow .a2-sq.cam{border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:color-mix(in srgb,var(--gold) 15%,transparent)}
/* rails that run off the edge say so */
.a2-cats2,.a2-chips,.a2-acc-rail{scroll-snap-type:x proximity}
.a2-cats2 .a2-cattile,.a2-chips>*{scroll-snap-align:start}
.a2-catwrap{position:relative}
.a2-cats2{background:linear-gradient(90deg,transparent calc(100% - 30px),color-mix(in srgb,var(--tile) 55%,var(--card)));background-attachment:local,scroll}
/* hero bands: more air, nothing crowding the stat chip */
.a2-ph:has(.a2-phstat){min-height:220px;padding-bottom:20px}
.a2-phtitle{margin-top:17px;font-size:32px}
.a2-phstat{margin-top:auto;padding:0}
.a2-phstat .c{padding:15px 16px 14px}
.a2-phstat em{letter-spacing:.14em}
.a2-phstat b{margin-top:10px}
.a2-phstat small{padding-top:9px}
.a2-phstat.n3 .c{padding:14px 11px 13px}
/* the calendar carries each day's own figure */
.a2-calg button{min-height:58px;gap:3px;padding:7px 2px 8px}
.a2-calg u{display:block;text-decoration:none;font:600 7.5px/1 var(--fl);letter-spacing:.01em;color:var(--t3);min-height:8px}
.a2-calg u.in{color:var(--in)}
.a2-calg u.out{color:var(--out)}
.a2-calg .mut+u{opacity:.4}

/* ---- R30: the card, front and back ---- */
.rd-cbank{display:flex;align-items:center;gap:10px}
.rd-cmark{width:34px;height:34px;flex:none;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.24);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.rd-cname{flex:1;min-width:0}
.rd-cname b{display:block;font:700 12.5px/1.1 "Instrument Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-cname small{display:block;margin-top:5px;font:500 7.5px/1 var(--fl);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.rd-cbank .rd-cfeed{flex:none;align-self:flex-start;margin-top:2px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.78)}
.rd-cfoot .rd-cnet{margin-left:auto}
/* back: number, signature strip, bank lines, all hidden until the eye is pressed */
.a2-brow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.a2-brow span{font:600 7.5px/1 var(--fl);letter-spacing:.18em;color:rgba(255,255,255,.5)}
.a2-beye{width:30px;height:30px;flex:none;border-radius:10px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.13);color:#fbfaf6;display:grid;place-items:center;cursor:pointer}
.a2-beye[aria-pressed="true"]{background:rgba(255,255,255,.26)}
.a2-bnum{margin-top:7px}
.a2-bsign{display:flex;align-items:center;gap:9px;margin-top:10px}
.a2-bsign i{flex:1;height:26px;border-radius:5px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.86) 0 7px,rgba(255,255,255,.66) 7px 14px);opacity:.9}
.a2-bsign .cvv{flex:none;display:flex;align-items:center;gap:7px;height:26px;padding:0 9px;border-radius:6px;background:rgba(255,255,255,.16);font:600 11px/1 var(--fl);letter-spacing:.14em;color:#fbfaf6}
.a2-bsign .cvv em{font:600 7px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:rgba(255,255,255,.55)}
.a2-bcred{justify-content:flex-start;gap:20px;margin-top:9px}
.a2-bbank b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a2-bhint{margin:9px 0 0;font:500 8px/1.4 var(--fl);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.a2-bpad .a2-bnum{margin-top:6px}
.a2-bsign{margin-top:9px}
.a2-bsign i{height:24px}
.a2-bsign .cvv{height:24px}
.a2-phstat.n3 .c{padding:14px 9px 13px}
.a2-phstat.n3 b{gap:5px;font-size:15px}
.a2-phstat.n3 b u{text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-phstat.n3 .ar{width:15px;height:15px;border-radius:5px}
.a2-phstat .c{min-width:0}
.a2-phstat b u{text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a2-phstat.n3 .c{padding:14px 8px 13px}
.a2-phstat.n3 em{letter-spacing:.06em;font-size:7.5px}
.a2-phstat.n3 b{gap:4px;font-size:14px;letter-spacing:-.02em}
.a2-phstat.n3 .ar{width:14px;height:14px;border-radius:5px}

/* ---- R31: mode buttons, travel home, drawer currency, premium hand off, rate cards ---- */
/* the mode button reads as a doorway into the other app */
.rd-ib2[aria-label="Travel mode"],.rd-ib2[aria-label="Back to personal money"],.a2-phib[aria-label="Back to personal money"],.a2-phav[aria-label="Back to personal money"],.a2-phib[aria-label="Travel mode"]{background:var(--canoT);border-color:var(--canoT);color:var(--cano);box-shadow:0 3px 12px -5px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.18)}
.rd-ib2[aria-label="Travel mode"]::after,.rd-ib2[aria-label="Back to personal money"]::after,.a2-phib[aria-label="Back to personal money"]::after,.a2-phav[aria-label="Back to personal money"]::after{content:"";position:absolute;inset:-4px;border-radius:16px;border:1px solid color-mix(in srgb,var(--canoT) 34%,transparent);pointer-events:none}
.rd-ib2[aria-label="Travel mode"],.rd-ib2[aria-label="Back to personal money"],.a2-phib[aria-label="Back to personal money"],.a2-phav[aria-label="Back to personal money"]{position:relative;overflow:visible}
/* travel home: the four quick actions sit on one centred grid */
.a2-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;overflow:visible;padding:16px 20px 4px}
.a2-quick button{width:auto;min-height:78px;gap:8px}
.a2-quick s{width:36px;height:36px;border-radius:12px}
/* drawer: the currency box, in the amount row */
.a2-amtline{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px}
.a2-amtline .a2-bigamt{margin:0}
.a2-curw{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.a2-cursel{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 11px;border-radius:13px;border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);background:color-mix(in srgb,var(--acc) 12%,var(--card));color:var(--t1);font:700 12.5px/1 var(--fl);letter-spacing:.06em;cursor:pointer}
.a2-cursel[aria-expanded="true"]{background:color-mix(in srgb,var(--acc) 20%,var(--card))}
.a2-curline{margin:6px 0 0;text-align:center;font:500 10px/1.4 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a2-lmenu.right.wide button s{font:650 13px/1 var(--fd),sans-serif}
/* hand off, to the trip: a globe that turns, an arc that draws, a jet that lands */
.a2-globebox{width:270px;height:204px}
.a2-merid{animation:a2roll 14s linear infinite;transform-origin:135px 190px}
@keyframes a2roll{to{transform:rotateZ(360deg)}}
.a2-land{opacity:0;animation:a2landin .9s ease .15s both}
@keyframes a2landin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.a2-arc{stroke-dasharray:300;stroke-dashoffset:300;animation:a2draw 1.5s cubic-bezier(.32,.72,.24,1) .1s both}
.a2-arcbase{opacity:0;animation:a2landin .6s ease .1s both}
.a2-orig{animation:a2orig 1.1s ease-out .1s both}
@keyframes a2orig{0%{r:0;opacity:0}55%{r:7;opacity:1}100%{r:4.5;opacity:1}}
.a2-jet2{filter:drop-shadow(0 3px 8px rgba(0,0,0,.35))}
.a2-jet2.out{offset-path:path("M34 142 C 62 48,208 48,236 134")}
.a2-jet2.back{offset-path:path("M236 134 C 208 48,62 48,34 142")}
.a2-pin2.out{right:20px;top:104px}
.a2-ping{position:absolute;left:50%;top:60%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid rgba(255,194,125,.8);animation:a2ping 1.6s ease-out .1s infinite}
@keyframes a2ping{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.5);opacity:0}}
/* hand off, coming home: a lit road, lamps passing, the porch light on */
.a2-carbox{width:300px;height:176px}
.a2-hills{position:absolute;left:-10px;right:-10px;bottom:28px;height:64px;border-radius:60% 40% 0 0/100% 100% 0 0;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,0));opacity:0;animation:a2landin 1s ease .05s both}
.a2-house{left:22px;bottom:30px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.a2-win{position:absolute;left:14px;bottom:6px;width:10px;height:9px;border-radius:2px;background:#ffe9a8;box-shadow:0 0 12px 4px rgba(255,225,150,.55);animation:a2lamp 1.6s ease-in-out infinite alternate}
.a2-glow{left:6px;bottom:20px;width:86px;height:56px;background:radial-gradient(circle,rgba(255,228,150,.42),transparent 70%)}
.a2-lamps{position:absolute;left:0;right:0;bottom:34px;display:flex;justify-content:space-between;padding:0 40px}
.a2-lamps s{display:block;width:2px;height:26px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.06));border-radius:2px;position:relative;opacity:0;animation:a2lampin .5s ease both}
.a2-lamps s::after{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:rgba(255,236,190,.9);box-shadow:0 0 14px 5px rgba(255,226,150,.35)}
.a2-lamps s:nth-child(1){animation-delay:.15s}.a2-lamps s:nth-child(2){animation-delay:.3s}.a2-lamps s:nth-child(3){animation-delay:.45s}.a2-lamps s:nth-child(4){animation-delay:.6s}
@keyframes a2lampin{from{opacity:0;transform:translateY(8px)}to{opacity:.85;transform:none}}
.a2-car{left:96px;bottom:26px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.4));animation:a2park 1.9s cubic-bezier(.16,.72,.14,1) both,a2bob .5s ease-in-out infinite alternate}
@keyframes a2park{from{transform:translateX(220px)}to{transform:translateX(0)}}
@keyframes a2bob{from{translate:0 0}to{translate:0 -1.5px}}
.a2-beam{position:absolute;left:-46px;top:12px;width:46px;height:16px;clip-path:polygon(100% 0,100% 100%,0 82%,0 18%);background:linear-gradient(270deg,rgba(255,238,190,.55),transparent);opacity:.8}
.a2-road{bottom:18px;height:4px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));border-radius:3px;overflow:hidden}
.a2-road em{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.78) 0 18px,transparent 18px 40px);animation:a2roadrun .55s linear infinite}
@keyframes a2roadrun{to{background-position:-40px 0}}
/* your rates: one card per currency you hold */
.a2-rcard{margin:10px 20px 0;padding:13px 14px 12px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a2-rcard .t{display:flex;align-items:center;gap:11px}
.a2-rcard .t s{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2);font:650 16px/1 var(--fd),sans-serif}
.a2-rcard .n{flex:1;min-width:0}
.a2-rcard .n b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-rcard .n small{display:block;margin-top:3px;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-rdel{width:26px;height:26px;flex:none;border-radius:9px;border:1px solid var(--line);background:var(--tile);color:var(--t3);display:grid;place-items:center;cursor:pointer}
.a2-rcard .g,.a2-rsum{display:flex;align-items:stretch;margin-top:12px;border-radius:14px;background:var(--tile);border:1px solid var(--line)}
.a2-rcard .g>div,.a2-rsum>div{flex:1;min-width:0;padding:10px 11px}
.a2-rcard .g>i,.a2-rsum>i{width:1px;background:var(--line);flex:none}
.a2-rcard .g em,.a2-rsum em{display:block;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a2-rcard .g b,.a2-rsum b{display:block;margin-top:7px;font:650 15px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-rsum{margin:14px 18px 0}
.a2-rcard .f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-rcard .f b,.good{font:600 10px/1.4 var(--fl);letter-spacing:.04em}
.a2-rcard .f b.good,.a2-rsum b.good{color:var(--in)}
.a2-rcard .f b.bad,.a2-rsum b.bad{color:var(--out)}
.a2-redit{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;margin-top:10px;border-radius:12px;border:1px solid var(--line2);background:none;color:var(--t2);font:650 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-chip s{text-decoration:none;font:650 13px/1 var(--fd),sans-serif}
.a2-amtblk{position:relative;z-index:14}
.a2-curw{z-index:16}
.a2-curw .a2-lmenu{z-index:18}

/* ---- R32: nothing shows under the floating dock ---- */
.a2-scr .rd-scroll,.a2-cvscroll,.a2-cvlist{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 98px),rgba(0,0,0,0) calc(100% - 84px));mask-image:linear-gradient(180deg,#000 calc(100% - 98px),rgba(0,0,0,0) calc(100% - 84px))}
.a2-scr .rd-scroll.nomask{-webkit-mask-image:none;mask-image:none}
/* ---- R32: the calculator is a drawer you pull ---- */
.a2-calcd{position:absolute;left:0;right:0;bottom:0;z-index:8;padding-bottom:96px;border-radius:26px 26px 0 0;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -14px 34px -18px var(--shB),0 -1px 0 var(--line);transform:translateY(calc(100% - 150px + var(--cd,0px)));transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.a2-calcd.up{transform:translateY(var(--cd,0px))}
.a2-calcd.drag{transition:none}
.a2-calcgrab{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:14px 20px 8px;box-sizing:border-box;border:0;background:none;cursor:grab;touch-action:none;text-align:left}
.a2-calcgrab s{position:absolute;left:50%;top:7px;width:46px;height:5px;margin-left:-23px;border-radius:3px;background:var(--line2);text-decoration:none;transition:width .18s,background .18s}
.a2-calcgrab:active s{width:58px;background:var(--t3)}
.a2-calcgrab .l{flex:1;min-width:0;display:flex;align-items:baseline;gap:9px}
.a2-calcgrab em{font:600 8.5px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a2-calcgrab b{font:650 16px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-calcgrab .r{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--tile);border:1px solid var(--line);color:var(--t2)}
.a2-calc{padding:4px 12px 0}
.a2-ck.dn{background:var(--tile);color:var(--t3)}
.a2-ck.log{grid-row:span 1;background:var(--tealCTA,#12a3a0);color:#fff;font:650 13.5px/1 "Instrument Sans",sans-serif;letter-spacing:.01em;box-shadow:0 6px 16px -8px rgba(18,163,160,.9)}
.a2-ck.log:active{filter:brightness(.94)}
[data-theme="dark"] .a2-ck.log{background:#2fc4bf;color:#0b1f1e}
.a2-cvlist{padding-bottom:150px}
.a2-calcd{bottom:92px;padding-bottom:10px;transform:translateY(calc(100% - 58px + var(--cd,0px)))}
.a2-calcd::after{content:"";position:absolute;left:0;right:0;top:100%;height:96px;background:var(--card);box-shadow:0 1px 0 var(--card)}
.a2-calcd.up{transform:translateY(var(--cd,0px))}
.a2-calcd{transform:translateY(var(--cd,0px))}
.a2-calcd::after{display:none}
.a2-calcd .a2-calc{max-height:360px;opacity:1;overflow:hidden;transition:max-height .3s cubic-bezier(.2,.8,.2,1),opacity .18s,padding .3s}
.a2-calcd:not(.up) .a2-calc{max-height:0;opacity:0;padding-top:0;padding-bottom:0}
.a2-calcd:not(.up){padding-bottom:2px}

/* ======================================================================
   app2w2.css
   ====================================================================== */
/* R33 phases 11 to 15: the plan and papers, one account, keys in full, telling you things, a brand new MergeWise */
/* --- crew faces --- */
.a3-faces{display:inline-flex;align-items:center}
.a3-faces s{display:grid;place-items:center;width:20px;height:20px;margin-left:-6px;border-radius:50%;text-decoration:none;font:700 8.5px/1 "Instrument Sans",sans-serif;color:#fff;border:1.5px solid var(--card);box-sizing:border-box}
.a3-faces s:first-child{margin-left:0}
/* --- the plan: a timeline of days --- */
.a3-tl{margin:0 20px;display:flex;flex-direction:column;gap:8px}
.a3-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:13px 14px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left;color:var(--t1)}
.a3-item:active{transform:scale(.995)}
.a3-item .tm{flex:none;width:44px;padding-top:2px;font:600 11px/1 var(--fl);letter-spacing:.02em;color:var(--t2)}
.a3-item .bd{flex:1;min-width:0}
.a3-item .bd b{display:block;font:650 14px/1.25 "Instrument Sans",sans-serif}
.a3-item .bd small{display:block;margin-top:3px;font:450 11.5px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a3-item .mt{display:flex;align-items:center;gap:9px;margin-top:9px;flex-wrap:wrap}
.a3-item .mt u{text-decoration:none;font:600 11px/1 var(--fl);color:var(--t2);font-variant-numeric:tabular-nums}
.a3-item>svg{flex:none;margin-top:3px;color:var(--t3)}
.a3-st{font:600 8px/1 var(--fl);letter-spacing:.14em;font-style:normal;padding:5px 8px;border-radius:7px}
.a3-st.BOOKED{background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--tabon)}
.a3-st.TOBOOK{background:color-mix(in srgb,var(--pop) 18%,transparent);color:var(--pop)}
.a3-st.IDEA{background:var(--tile);color:var(--t3)}
.a3-addrow{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;border-radius:14px;border:1px dashed var(--line2);background:none;color:var(--t3);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a3-addrow:hover{color:var(--t2);border-color:var(--t3)}
/* --- papers --- */
.a3-paper{margin:10px 20px 0;padding:14px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a3-paper .t{display:flex;align-items:center;gap:11px}
.a3-paper .t s{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:var(--wash);color:var(--tabon)}
.a3-paper .n{flex:1;min-width:0}
.a3-paper .n b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a3-paper .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a3-paper .ref{flex:none;font:600 8px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
.a3-paper .f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line);font:450 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--t2)}
.a3-paper .f b{display:inline-flex;align-items:center;gap:5px;font:600 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a3-pacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.a3-pacts button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:12px;border:1px solid var(--line2);background:var(--tile);color:var(--t2);font:650 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a3-put{margin-left:10px;min-height:32px;padding:0 11px;border-radius:10px;border:1px solid var(--line2);background:var(--tile);color:var(--t2);font:650 11px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a3-osum{display:flex;align-items:stretch;margin:8px 20px 0;border-radius:16px;background:var(--tile);border:1px solid var(--line)}
.a3-osum>div{flex:1;min-width:0;padding:12px 13px}
.a3-osum>i{width:1px;background:var(--line);flex:none}
.a3-osum em{display:block;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a3-osum b{display:block;margin-top:8px;font:650 15px/1 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a3-onote{margin:11px 22px 0;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}
/* --- one account --- */
.a3-acct-spark{position:relative;display:flex;align-items:flex-end;gap:5px;height:96px;margin:10px 20px 0;padding:14px 14px 30px;box-sizing:border-box;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.a3-acct-spark s{flex:1;border-radius:4px 4px 2px 2px;background:var(--acc);text-decoration:none;min-height:4px}
.a3-acct-spark .lb{position:absolute;left:14px;right:14px;bottom:10px;display:flex;justify-content:space-between;font:600 8px/1 var(--fl);letter-spacing:.12em;color:var(--t3)}
.a3-rule{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.a3-rule:last-child{border-bottom:0;padding-bottom:2px}
.a3-rule span{flex:1;min-width:0}
.a3-rule b{display:block;font:650 13.5px/1.3 "Instrument Sans",sans-serif;color:var(--t1)}
.a3-rule small{display:block;margin-top:4px;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-sw{flex:none;width:46px;height:28px;padding:0;border-radius:999px;border:1px solid var(--line2);background:var(--tile);cursor:pointer;position:relative;transition:background .18s,border-color .18s}
.a2-sw s{position:absolute;left:3px;top:2px;width:22px;height:22px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px var(--shB);text-decoration:none;transition:left .2s cubic-bezier(.3,1.4,.5,1)}
.a2-sw.on{background:var(--acc);border-color:var(--acc)}
.a2-sw.on s{left:21px}
.a3-cut{margin:14px 20px 18px;padding:15px 16px;border-radius:20px;border:1px solid color-mix(in srgb,var(--out) 30%,transparent);background:color-mix(in srgb,var(--out) 7%,var(--card))}
.a3-cut b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a3-cut p{margin:7px 0 12px;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t2)}
.a3-cut button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border-radius:13px;border:1px solid color-mix(in srgb,var(--out) 45%,transparent);background:none;color:var(--out);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
/* --- keys in full --- */
.a3-kbox{margin:6px 20px 0;padding:13px 14px;border-radius:18px;border:1px solid var(--line);background:var(--tile)}
.a3-kbox .t{display:flex;align-items:center;justify-content:space-between;gap:10px}
.a3-kbox em{font:600 8px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a3-kacts2{display:flex;gap:7px}
.a3-kacts2 button{width:28px;height:28px;border-radius:9px;border:1px solid var(--line2);background:var(--card);color:var(--t2);display:grid;place-items:center;cursor:pointer}
.a3-ksecret{display:block;margin-top:10px;font:600 16px/1.2 var(--fl);letter-spacing:.04em;color:var(--t1);word-break:break-all}
.a3-kstr{margin:12px 20px 0}
.a3-kstr .mtr{height:6px;border-radius:4px;background:var(--line);overflow:hidden}
.a3-kstr .mtr s{display:block;height:100%;border-radius:4px;text-decoration:none;transition:width .3s}
.a3-kstr .mtr s.strong{background:var(--in)}
.a3-kstr .mtr s.fair{background:var(--pop)}
.a3-kstr .mtr s.weak{background:var(--out)}
.a3-kstr .rw{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.a3-kstr em{font:600 9px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t2)}
.a3-kstr .rw span{font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a3-kstr p{margin:9px 0 0;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}
.a3-kfoot{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}
.a3-kfoot button{min-height:48px;border-radius:15px}
.a3-kdel{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 40px);margin:16px 20px 0;min-height:44px;border-radius:14px;border:1px solid color-mix(in srgb,var(--out) 38%,transparent);background:none;color:var(--out);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a3-gen{display:flex;align-items:center;gap:12px;margin:6px 20px 0;padding:15px 14px;border-radius:18px;border:1px solid var(--line);background:var(--tile)}
.a3-gen b{flex:1;min-width:0;font:600 15px/1.35 var(--fl);color:var(--t1);word-break:break-all}
.a3-gen button{width:38px;height:38px;flex:none;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--t2);display:grid;place-items:center;cursor:pointer}
.a3-slider{width:100%;height:30px;accent-color:var(--acc);background:none}
/* --- a brand new MergeWise --- */
.a3-empty-wallet{width:calc(100% - 40px);box-sizing:border-box;align-self:stretch;flex:none;margin:12px 20px 0;padding:22px 18px;border-radius:22px;border:1px dashed var(--line2);background:var(--card);text-align:center}
.a3-empty-wallet span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto;border-radius:17px;background:var(--wash);color:var(--tabon)}
.a3-empty-wallet b{display:block;margin-top:12px;font:650 15px/1.2 var(--fd),sans-serif;color:var(--t1)}
.a3-empty-wallet small{display:block;margin:7px auto 0;max-width:30ch;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}
.a3-step{box-sizing:border-box;flex:none;display:flex;align-items:center;gap:13px;width:calc(100% - 40px);margin:9px 20px 0;padding:14px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left}
.a3-step s{width:42px;height:42px;flex:none;border-radius:14px;display:grid;place-items:center;text-decoration:none;background:var(--wash);color:var(--tabon)}
.a3-step .n{flex:1;min-width:0}
.a3-step .n b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a3-step .n small{display:block;margin-top:4px;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a3-step em{flex:none;font:600 8px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a3-step.done{border-color:color-mix(in srgb,var(--acc) 45%,transparent);background:color-mix(in srgb,var(--acc) 7%,var(--card))}
.a3-step.done s{background:var(--acc);color:var(--canoT)}
.a3-step.done em{color:var(--tabon)}

/* ======================================================================
   app2y2.css
   ====================================================================== */
/* R34 phases 1-8: the year, repeats, goals, household, the command bar, motion, and the wide screen */
/* --- the year --- */
.a4-yr{position:relative;display:flex;align-items:flex-end;gap:4px;margin:10px 20px 0;padding:16px 12px 44px;border-radius:22px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a4-yc{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;padding:0;border:0;background:none;cursor:pointer}
.a4-yc .bars{display:flex;align-items:flex-end;gap:2px;height:88px;width:100%;justify-content:center}
.a4-yc s{width:7px;border-radius:3px 3px 1px 1px;text-decoration:none;transition:opacity .18s,transform .18s}
.a4-yc s.prev{background:var(--line2);opacity:.85}
.a4-yc s.now{background:color-mix(in srgb,var(--acc) 70%,transparent)}
.a4-yc em{font:600 8px/1 var(--fl);letter-spacing:.06em;font-style:normal;color:var(--t3)}
.a4-yc.on s.now{background:var(--acc)}
.a4-yc.on em{color:var(--t1)}
.a4-yc:hover s{transform:translateY(-2px)}
.a4-yleg{position:absolute;left:16px;bottom:14px;display:flex;gap:16px}
.a4-yleg span{display:inline-flex;align-items:center;gap:6px;font:500 9px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a4-yleg i{width:8px;height:8px;border-radius:2px}
.a4-yleg i.now{background:var(--acc)}
.a4-yleg i.prev{background:var(--line2)}
.a4-cmp{margin:10px 20px 0;padding:15px 16px;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.a4-cmp .r{display:flex;align-items:center;gap:11px;padding:6px 0}
.a4-cmp em{width:66px;flex:none;font:600 8px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a4-cmp b{flex:none;min-width:74px;text-align:right;font:650 14px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a4-cmp p{margin:9px 0 0;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t2)}
.a4-chg{margin:9px 20px 0;padding:14px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a4-chg .t{display:flex;align-items:center;gap:11px}
.a4-chg .t s{width:34px;height:34px;flex:none;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
.a4-chg .t b{flex:1;min-width:0;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a4-chg .t em{flex:none;padding:5px 9px;border-radius:8px;font:600 9.5px/1 var(--fl);letter-spacing:.06em;font-style:normal}
.a4-chg .t em.up{background:color-mix(in srgb,var(--out) 14%,transparent);color:var(--out)}
.a4-chg .t em.dn{background:color-mix(in srgb,var(--in) 16%,transparent);color:var(--in)}
.a4-chg .t em.flat{background:var(--tile);color:var(--t3)}
.a4-chg .g{display:flex;margin-top:11px;border-radius:14px;background:var(--tile);border:1px solid var(--line)}
.a4-chg .g>div{flex:1;padding:10px 12px}
.a4-chg .g>i{width:1px;background:var(--line)}
.a4-chg .g em{display:block;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a4-chg .g b{display:block;margin-top:6px;font:650 14px/1 var(--fd),sans-serif;color:var(--t1)}
.a4-chg p{margin:10px 0 0;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
/* --- things that repeat --- */
.a4-rec{margin:9px 20px 0;padding:14px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a4-rec .t{display:flex;align-items:center;gap:11px}
.a4-rec .t s{width:38px;height:38px;flex:none;border-radius:13px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
.a4-rec .nm{flex:1;min-width:0}
.a4-rec .nm b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a4-rec .nm small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-rec strong{flex:none;font:650 15px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a4-rec .why{display:flex;align-items:flex-start;gap:7px;margin:11px 0 0;padding:9px 11px;border-radius:12px;background:var(--tile);font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-rec .why svg{flex:none;margin-top:1px}
.a4-recacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.a4-recacts button{min-height:40px;border-radius:13px;font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a4-recacts .no{border:1px solid var(--line2);background:none;color:var(--t2)}
.a4-recacts .yes{border:1px solid var(--acc);background:var(--acc);color:var(--canoT)}
/* --- a pot with a goal --- */
.a4-goal{display:flex;align-items:center;gap:16px;margin:12px 20px 0;padding:16px;border-radius:22px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a4-goal .ring{position:relative;flex:none;width:120px;height:120px}
.a4-goal .ring circle{transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1)}
.a4-goal .mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.a4-goal .mid b{font:650 26px/1 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--t1)}
.a4-goal .mid em{font:600 7.5px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a4-goal .side{flex:1;min-width:0;display:flex;flex-direction:column;gap:11px}
.a4-goal .side em{display:block;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a4-goal .side b{display:block;margin-top:5px;font:650 15px/1.1 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a4-pace{display:flex;align-items:flex-start;gap:11px;margin:10px 20px 0;padding:13px 14px;border-radius:18px;font:450 11.5px/1.6 "Instrument Sans",sans-serif}
.a4-pace svg{flex:none;margin-top:1px}
.a4-pace.behind{background:color-mix(in srgb,var(--pop) 9%,var(--card));border:1px solid color-mix(in srgb,var(--pop) 30%,transparent);color:var(--t2)}
.a4-pace.behind svg{color:var(--pop)}
.a4-pace.ok{background:color-mix(in srgb,var(--acc) 8%,var(--card));border:1px solid color-mix(in srgb,var(--acc) 30%,transparent);color:var(--t2)}
.a4-pace.ok svg{color:var(--tabon)}
.a4-grow{position:relative;display:flex;align-items:flex-end;gap:5px;height:92px;margin:10px 20px 0;padding:14px 14px 30px;box-sizing:border-box;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.a4-grow s{flex:1;border-radius:4px 4px 2px 2px;text-decoration:none;min-height:4px}
.a4-grow .lb{position:absolute;left:14px;right:14px;bottom:10px;display:flex;justify-content:space-between;font:600 8px/1 var(--fl);letter-spacing:.12em;color:var(--t3)}
.a4-acts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 20px 0}
.a4-acts button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:15px}
/* --- household --- */
.a4-mem{display:flex;align-items:center;gap:13px;width:calc(100% - 40px);box-sizing:border-box;margin:9px 20px 0;padding:13px 14px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left}
.a4-mem .n{flex:1;min-width:0}
.a4-mem .n b{display:block;font:650 14.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a4-mem .n small{display:block;margin-top:4px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-mem .v{flex:none;text-align:right}
.a4-mem .v strong{display:block;font:650 15px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a4-mem .v em{display:block;margin-top:4px;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a4-mem>svg{flex:none;color:var(--t3)}
.a4-bal{margin:12px 20px 0;padding:15px 16px;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.a4-bal .bar{display:flex;height:12px;border-radius:7px;overflow:hidden;background:var(--tile)}
.a4-bal .bar i.you{background:var(--acc)}
.a4-bal .bar i.them{background:var(--pop)}
.a4-bal .lg{display:flex;justify-content:space-between;gap:12px;margin-top:11px}
.a4-bal .lg span{display:inline-flex;align-items:center;gap:7px;font:500 11px/1 "Instrument Sans",sans-serif;color:var(--t2)}
.a4-bal .lg i{width:9px;height:9px;border-radius:3px}
.a4-bal .lg i.you{background:var(--acc)}
.a4-bal .lg i.them{background:var(--pop)}
.a4-bal p{margin:11px 0 0;padding-top:11px;border-top:1px solid var(--line);font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t2)}
.a4-own{margin-right:9px;padding:4px 7px;border-radius:6px;background:var(--tile);font:600 7.5px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
/* --- the command bar --- */
.a4-cmdwrap{position:absolute;inset:0;z-index:150;display:flex;flex-direction:column;align-items:center;padding:64px 16px 0;background:color-mix(in srgb,var(--cano) 42%,transparent);backdrop-filter:blur(10px);animation:a4fade .16s ease both}
@keyframes a4fade{from{opacity:0}to{opacity:1}}
.a4-cmd{width:100%;max-width:520px;display:flex;flex-direction:column;max-height:calc(100% - 108px);border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:0 30px 70px -24px var(--shB);overflow:hidden;animation:a4pop .24s cubic-bezier(.16,1,.3,1) both}
@keyframes a4pop{from{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:none}}
.a4-cmdin{display:flex;align-items:center;gap:11px;padding:15px 16px;border-bottom:1px solid var(--line)}
.a4-cmdin>svg{flex:none;color:var(--t3)}
.a4-cmdin input{flex:1;min-width:0;border:0;background:none;outline:none;font:450 16px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a4-cmdin input::placeholder{color:var(--t3)}
.a4-cmdin button{width:28px;height:28px;flex:none;border-radius:9px;border:1px solid var(--line2);background:var(--tile);color:var(--t3);display:grid;place-items:center;cursor:pointer}
.a4-cmdlist{flex:1;min-height:0;overflow-y:auto;padding:8px 8px 10px}
.a4-cmdlab{margin:10px 10px 5px;font:600 8px/1 var(--fl);letter-spacing:.16em;color:var(--t3)}
.a4-cmdrow{display:flex;align-items:center;gap:12px;width:100%;padding:10px 10px;border-radius:14px;border:0;background:none;cursor:pointer;text-align:left}
.a4-cmdrow s{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2)}
.a4-cmdrow .n{flex:1;min-width:0}
.a4-cmdrow .n b{display:block;font:600 13.5px/1.25 "Instrument Sans",sans-serif;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a4-cmdrow .n small{display:block;margin-top:3px;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a4-cmdrow em{flex:none;opacity:0;color:var(--t3)}
.a4-cmdrow.on{background:var(--wash)}
.a4-cmdrow.on s{background:var(--acc);color:var(--canoT)}
.a4-cmdrow.on em{opacity:1}
.a4-cmdempty{padding:30px 20px;text-align:center;color:var(--t3)}
.a4-cmdempty b{display:block;margin-top:10px;font:650 14px/1.2 var(--fd),sans-serif;color:var(--t2)}
.a4-cmdempty small{display:block;margin-top:6px;font:450 11.5px/1.5 "Instrument Sans",sans-serif}
.a4-cmdfoot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line);background:var(--tile)}
.a4-cmdfoot span{display:inline-flex;align-items:center;gap:6px;font:500 9.5px/1 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-cmdfoot u{display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:5px;border:1px solid var(--line2);background:var(--card);text-decoration:none;font:600 9px/1 var(--fl);color:var(--t2)}
/* --- phase 8: one motion language --- */
:root{--mo-quick:.16s cubic-bezier(.2,.8,.2,1);--mo-base:.26s cubic-bezier(.2,.8,.2,1);--mo-enter:.4s cubic-bezier(.16,1,.3,1)}
.rd-row,.rd-lrow,.a2-potc,.a3-item,.a3-step,.a4-mem,.a3-paper,.a2-rcard,.a4-rec,.a4-chg{transition:transform var(--mo-quick),box-shadow var(--mo-quick),border-color var(--mo-quick)}
.rd-row:active,.rd-lrow:active,.a2-potc:active,.a3-item:active,.a3-step:active,.a4-mem:active{transform:scale(.985)}
.a2-gold:active,.a2-ghost:active,.a4-recacts button:active,.a4-acts button:active{transform:scale(.97)}
.rd-screen-in{animation:a4in var(--mo-enter) both}
@keyframes a4in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.a4-cmd,.a4-cmdwrap,.rd-screen-in{animation:none}.a4-goal .ring circle{transition:none}}
/* --- phase 8: the wide screen --- */
@media (min-width:900px){
  .a2-body>.rd-sh2:first-child{margin-top:6px}
  .a4-cmd{max-width:600px}
}

/* --- R35: the currency page gets out of the way while you type --- */
.a2-cvpage.typing .a2-cvtop{max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height var(--mo-base),opacity .14s}
.a2-cvtop{max-height:280px;opacity:1;transition:max-height var(--mo-base),opacity .2s}
.a2-cvpage.typing .a2-seg2,.a2-cvpage.typing .a2-cvsrc{display:none}
.a2-cvmini{display:flex;align-items:center;gap:11px;flex:none;padding:14px 16px 12px;background:var(--cano);color:var(--canoT);animation:a5mini .22s cubic-bezier(.2,.8,.2,1) both}
@keyframes a5mini{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.a2-cvmini .bk,.a2-cvmini .sw{width:32px;height:32px;flex:none;border-radius:11px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--canoT) 26%,transparent);background:color-mix(in srgb,var(--canoT) 12%,transparent);color:var(--canoT);cursor:pointer}
.a2-cvmini .ttl{font:650 16px/1 var(--fd),sans-serif;letter-spacing:-.02em}
.a2-cvmini .src{margin-left:auto;font:600 8px/1 var(--fl);letter-spacing:.14em;opacity:.72}
.a2-cvpage.typing .a2-cvlist{padding-top:6px}
.a2-cvpage.typing .a2-cvadd,.a2-cvpage.typing .a2-cvnote{display:none}
/* the keypad, tightened so more rows stay in view */
.a2-calcd{border-radius:24px 24px 0 0}
.a2-calcgrab{min-height:50px;padding:13px 18px 6px}
.a2-calcgrab b{font-size:17px}
.a2-calc{padding:4px 10px 0;gap:6px}
.a2-ck{min-height:46px;border-radius:13px;font-size:19px}
.a2-ck.log{font-size:13px;letter-spacing:.01em}
.a2-ck.dn{border:1px solid var(--line)}

/* --- R36: the tab pair rides on the canopy, where the stat chip used to be --- */
.a2-cvseg{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:auto;padding:5px;border-radius:18px;background:var(--phChip);border:1px solid color-mix(in srgb,var(--canoT) 16%,transparent)}
.a2-cvseg button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:14px;border:0;background:none;color:color-mix(in srgb,var(--canoT) 76%,transparent);font:650 13.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background var(--mo-quick),color var(--mo-quick)}
.a2-cvseg button[aria-selected="true"]{background:var(--canoT);color:var(--cano);box-shadow:0 2px 8px -3px rgba(0,0,0,.32)}
.a2-cvsrc .hold{margin-left:auto;flex:none;font:600 8.5px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
.a2-cvsrc button{white-space:nowrap}
.a2-cvsrc{gap:7px}

/* ======================================================================
   app2z2.css
   ====================================================================== */
/* R36: a trip before it starts, money that is not yours, the export pack, and the full vault */
/* --- the honest preamble panel --- */
.a5-pre{display:flex;align-items:flex-start;gap:11px;margin:12px 20px 0;padding:13px 14px;border-radius:18px;background:color-mix(in srgb,var(--acc) 8%,var(--card));border:1px solid color-mix(in srgb,var(--acc) 28%,transparent);font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t2)}
.a5-pre svg{flex:none;margin-top:1px;color:var(--tabon)}
/* --- a planned trip: the lines --- */
.a5-line{display:flex;align-items:center;gap:12px;margin:9px 20px 0;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a5-line s{width:34px;height:34px;flex:none;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2)}
.a5-line .n{flex:1;min-width:0}
.a5-line .n b{display:block;font:650 13.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a5-line .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a5-line .v{flex:none;text-align:right}
.a5-line .v strong{display:block;font:650 15px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a5-line .v em{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:6px;font:600 7px/1 var(--fl);letter-spacing:.1em;font-style:normal}
.a5-line .v em.firm{background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--tabon)}
.a5-line .v em.guess{background:var(--tile);color:var(--t3)}
.a5-tot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:11px 20px 0;padding:14px 16px;border-radius:18px;background:var(--cano);color:var(--canoT)}
.a5-tot span{font:600 9px/1 var(--fl);letter-spacing:.16em;opacity:.72}
.a5-tot b{font:650 19px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.a5-save{margin:10px 20px 0;padding:15px 16px;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.a5-save .bar{height:10px;border-radius:6px;background:var(--tile);overflow:hidden}
.a5-save .bar i{display:block;height:100%;border-radius:6px;background:var(--acc);transition:width var(--mo-base)}
.a5-save .lg{display:flex;justify-content:space-between;gap:12px;margin-top:9px;font:600 10.5px/1 var(--fl);letter-spacing:.04em;color:var(--t2)}
.a5-save p{margin:11px 0 0;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}
.a5-sacts{display:grid;grid-template-columns:1.35fr 1fr;gap:9px;margin-top:12px}
.a5-sacts button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:14px;font-size:12.5px}
/* --- money that is not yours --- */
.a5-owe{display:flex;align-items:center;gap:12px;width:calc(100% - 40px);box-sizing:border-box;margin:9px 20px 0;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left}
.a5-owe s{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
.a5-owe .n{flex:1;min-width:0}
.a5-owe .n b{display:block;font:650 13.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a5-owe .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a5-owe .v{flex:none;text-align:right}
.a5-owe .v strong{display:block;font:650 15px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a5-st{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:6px;font:600 7px/1 var(--fl);letter-spacing:.1em;font-style:normal}
.a5-st.paid{background:color-mix(in srgb,var(--in) 15%,transparent);color:var(--in)}
.a5-st.claimed{background:var(--tile);color:var(--t3)}
.a5-st.todo{background:color-mix(in srgb,var(--pop) 16%,transparent);color:var(--pop)}
.a5-nudge{margin:12px 20px 0;padding:15px 16px;border-radius:20px;border:1px solid color-mix(in srgb,var(--pop) 32%,transparent);background:color-mix(in srgb,var(--pop) 8%,var(--card))}
.a5-nudge b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a5-nudge p{margin:7px 0 12px;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t2)}
.a5-nudge button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border-radius:13px;border:1px solid color-mix(in srgb,var(--pop) 45%,transparent);background:none;color:var(--pop);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
/* --- export --- */
.a5-exp{display:flex;align-items:center;gap:13px;width:calc(100% - 40px);box-sizing:border-box;margin:9px 20px 0;padding:14px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left}
.a5-exp s{width:42px;height:42px;flex:none;border-radius:14px;display:grid;place-items:center;text-decoration:none;background:var(--wash);color:var(--tabon)}
.a5-exp .n{flex:1;min-width:0}
.a5-exp .n b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a5-exp .n small{display:block;margin-top:4px;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a5-exp em{display:none}
.a5-exp>svg{flex:none;color:var(--t3)}
/* --- the vault, in full --- */
.a5-docs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 20px 0}
.a5-doc{padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left}
.a5-doc s{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;text-decoration:none;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
.a5-doc b{display:block;margin-top:11px;font:650 13.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a5-doc small{display:block;margin-top:4px;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a5-docbig{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:150px;margin:6px 20px 0;border-radius:20px;border:1px dashed color-mix(in srgb,var(--cc2) 40%,transparent);background:color-mix(in srgb,var(--cc2) 7%,var(--tile));color:var(--cc2)}
.a5-docbig span{font:500 11px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a5-live,.a5-soon,.a5-exp2{padding:4px 8px;border-radius:7px;font:600 7.5px/1 var(--fl);letter-spacing:.1em;font-style:normal}
.a5-live{background:color-mix(in srgb,var(--in) 15%,transparent);color:var(--in)}
.a5-soon{background:color-mix(in srgb,var(--pop) 16%,transparent);color:var(--pop)}
.a5-exp2{background:var(--tile);color:var(--t3)}
.a5-heir{display:flex;align-items:center;gap:13px;width:calc(100% - 40px);box-sizing:border-box;margin:10px 20px 0;padding:14px;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left}
.a5-heir .n{flex:1;min-width:0}
.a5-heir .n b{display:block;font:650 14px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a5-heir .n small{display:block;margin-top:4px;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a5-heir>svg{flex:none;color:var(--t3)}
.a5-line,.a5-owe,.a5-exp,.a5-doc,.a5-heir{transition:transform var(--mo-quick),box-shadow var(--mo-quick)}
.a5-owe:active,.a5-exp:active,.a5-doc:active,.a5-heir:active{transform:scale(.985)}

/* ===== R37: the currency page, tightened ===== */
/* no drawer handle on this page - the sheet is not draggable */
.a2-cvbody::before{display:none}
/* which rate counts: one clean pair, full width, no shouty label */
.a2-cvsrc{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:14px 20px 2px}
.a2-cvsrc button{min-height:40px;padding:0 12px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 12px/1 "Instrument Sans",sans-serif;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background var(--mo-quick),color var(--mo-quick),border-color var(--mo-quick)}
.a2-cvsrc button[aria-pressed="true"]{border-color:transparent;background:var(--cano);color:var(--canoT)}
/* the rows: one rhythm, the figure doing the talking */
.a2-cvlist{padding:12px 20px 150px}
.a2-cvr{gap:13px;margin-bottom:7px;padding:13px 15px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a2-cvr .cd{display:block;width:auto;gap:0}
.a2-cvr .cd s{width:38px;height:38px;border-radius:13px;font:650 17px/1 var(--fd),sans-serif}
.a2-cvr .nm{flex:1;min-width:0}
.a2-cvr .nm b{display:block;font:650 14px/1.15 "Instrument Sans",sans-serif;letter-spacing:-.01em;color:var(--t1)}
.a2-cvr .nm small{display:block;margin-top:4px;font:500 10px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a2-cvr .vl{flex:none;font:650 21px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-cvr.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,var(--card));box-shadow:0 4px 14px -8px color-mix(in srgb,var(--acc) 70%,transparent)}
.a2-cvr.on .nm small{color:var(--acc);font-weight:600}
.a2-cvr.on .vl{color:var(--t1)}
.a2-cvadd{min-height:46px;margin-top:4px;border-radius:16px;font-size:12.5px}
.a2-cvnote{margin:12px 2px 0;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3);text-wrap:pretty}
/* the keypad: fewer colours, one accent, a terminal action in the page ink */
.a2-calcd{border-top:1px solid var(--line);box-shadow:0 -18px 40px -22px var(--shB)}
.a2-calcgrab{min-height:48px;padding:12px 20px 4px}
.a2-calcgrab s{top:6px;width:38px;height:4px}
.a2-calcgrab em{letter-spacing:.14em}
.a2-calc{padding:6px 12px 0;gap:7px}
.a2-ck{min-height:48px;border-radius:15px;border:1px solid var(--line);background:var(--card);font:600 20px/1 var(--fd),sans-serif;color:var(--t1);box-shadow:none}
.a2-ck:active{background:var(--tile)}
.a2-ck.op,.a2-ck.fn{background:var(--tile);color:var(--t2);font-size:18px}
.a2-ck.eq{background:var(--acc);border-color:var(--acc);color:var(--canoT)}
.a2-ck.dn{background:var(--tile);color:var(--t3);border-color:var(--line)}
.a2-ck.log{background:var(--cano);border-color:var(--cano);color:var(--canoT);font:650 13px/1 "Instrument Sans",sans-serif;letter-spacing:.01em;box-shadow:0 6px 16px -9px var(--shB)}
[data-theme="dark"] .a2-ck.log{background:var(--canoT);color:var(--cano);border-color:var(--canoT)}
/* the slim bar while typing */
.a2-cvmini{padding:13px 18px 11px}
.a2-cvmini .src{font-size:7.5px;letter-spacing:.16em}
.a2-ck.log{background:var(--t1);border-color:var(--t1);color:var(--card);box-shadow:0 6px 16px -9px var(--shB)}
[data-theme="dark"] .a2-ck.log{background:var(--t1);color:var(--bg);border-color:var(--t1)}

/* ================= R38: the hand off, rebuilt =================
   .a2-switch had no rule at all after app2x.css was lost. This owns the whole
   overlay: veil crossfade, a 300x240 art stage, the caption and the track. */
.a2-switch{position:absolute;inset:0;z-index:210;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;overflow:hidden;text-align:center;color:#fff;-webkit-font-smoothing:antialiased}
.a2-switch.to-t{background:radial-gradient(128% 84% at 50% 30%,#f0863a 0%,#e17825 52%,#5f2e06 100%)}
.a2-switch.to-m{background:radial-gradient(128% 84% at 50% 30%,#7cae44 0%,#4f772d 52%,#1d3110 100%)}
/* the veil is the colour you came FROM, fading away over the destination */
.a2-veilx{position:absolute;inset:0;pointer-events:none;animation:a2vfade 1.05s cubic-bezier(.4,0,.3,1) .1s both}
.a2-veilx.g{background:radial-gradient(128% 84% at 50% 30%,#7cae44 0%,#4f772d 52%,#1d3110 100%)}
.a2-veilx.o{background:radial-gradient(128% 84% at 50% 30%,#f0863a 0%,#e17825 52%,#5f2e06 100%)}
@keyframes a2vfade{from{opacity:1}to{opacity:0}}
/* a slow bloom behind the art so the scene has a light source */
.a2-swglow{position:absolute;left:50%;top:34%;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);animation:a2bloom 2.05s cubic-bezier(.2,.8,.2,1) both}
@keyframes a2bloom{0%{opacity:0;transform:scale(.72)}42%{opacity:1;transform:scale(1)}100%{opacity:.7;transform:scale(1.06)}}
/* the stage */
.a2-swstage{position:relative;width:300px;height:240px;flex:none;animation:a2stagein .62s cubic-bezier(.16,1,.3,1) both}
@keyframes a2stagein{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.a2-swstage svg{display:block;overflow:visible}
/* stars breathe */
.a2-stars circle{opacity:0;animation:a2twinkle 2.4s ease-in-out infinite}
@keyframes a2twinkle{0%,100%{opacity:.15}50%{opacity:.85}}
/* the globe turns, land settles in */
.a2-merid{animation:a2roll 22s linear infinite;transform-origin:150px 268px}
@keyframes a2roll{to{transform:rotate(360deg)}}
.a2-land{opacity:0;transform-origin:150px 268px;animation:a2landin 1s cubic-bezier(.16,1,.3,1) .18s both,a2roll 22s linear infinite}
@keyframes a2landin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* the arc draws itself, then the jet flies it */
.a2-arcbase{opacity:0;animation:a2fadein .5s ease .16s both}
@keyframes a2fadein{to{opacity:1}}
.a2-arc{stroke-dasharray:3 9;stroke-dashoffset:0;opacity:0;clip-path:inset(0 100% 0 0);animation:a2wipe 1.35s cubic-bezier(.36,.66,.3,1) .26s both}
@keyframes a2wipe{0%{opacity:1;clip-path:inset(0 100% 0 0)}100%{opacity:1;clip-path:inset(0 -4% 0 0)}}
.a2-orig{opacity:0;transform-origin:30px 196px;animation:a2popin .5s cubic-bezier(.2,1.6,.4,1) .2s both}
@keyframes a2popin{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.35)}100%{opacity:1;transform:scale(1)}}
.a2-pin3{opacity:0;transform-origin:270px 196px;animation:a2popin .52s cubic-bezier(.2,1.6,.4,1) 1.52s both}
.a2-pin3 .ring{transform-origin:270px 196px;animation:a2ping 1.5s ease-out 1.7s infinite}
@keyframes a2ping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.a2-jet3{position:absolute;left:0;top:0;display:grid;place-items:center;width:24px;height:24px;margin:-12px 0 0 -12px;color:#fff;offset-path:path("M30 196 C 70 58,230 58,270 196");offset-rotate:auto;offset-distance:0%;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));animation:a2fly3 1.5s cubic-bezier(.42,.02,.3,1) .22s both}
@keyframes a2fly3{0%{offset-distance:0%;opacity:0}8%{opacity:1}100%{offset-distance:100%;opacity:1}}
/* coming home: hill, house, lamps, the road running under the car */
.a2-hill{opacity:0;animation:a2fadein .8s ease .1s both}
.a2-hglow{opacity:0;animation:a2glow3 1.1s ease .5s both}
@keyframes a2glow3{from{opacity:0}to{opacity:.85}}
.a2-home2{opacity:0;animation:a2landin .7s cubic-bezier(.16,1,.3,1) .3s both}
.a2-win2{animation:a2flicker 2.1s ease-in-out infinite alternate}
@keyframes a2flicker{from{opacity:.78}to{opacity:1}}
.a2-lamp3 g{opacity:0;animation:a2lampin3 .5s cubic-bezier(.2,1.3,.4,1) both}
@keyframes a2lampin3{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.a2-road3{opacity:0;animation:a2fadein .5s ease .12s both}
.a2-road3 .dash{animation:a2run3 .5s linear infinite}
@keyframes a2run3{to{transform:translateX(-40px)}}
.a2-car3{animation:a2park3 1.85s cubic-bezier(.14,.7,.12,1) .18s both}
@keyframes a2park3{from{transform:translateX(258px)}to{transform:translateX(78px)}}
.a2-car3 .beam{animation:a2beam3 .9s ease-in-out infinite alternate}
@keyframes a2beam3{from{opacity:.32}to{opacity:.62}}
/* the caption */
.a2-scap{position:relative;flex:none;margin-top:26px;padding:0 34px;max-width:340px;box-sizing:border-box}
.a2-scap em{display:block;font:600 9px/1 var(--fl);letter-spacing:.28em;font-style:normal;color:rgba(255,255,255,.62);animation:a2capin .5s cubic-bezier(.16,1,.3,1) .3s both}
.a2-scap b{display:block;margin-top:13px;font:650 27px/1.12 var(--fd),"Schibsted Grotesk",sans-serif;letter-spacing:-.035em;color:#fff;animation:a2capin .58s cubic-bezier(.16,1,.3,1) .38s both}
.a2-scap span{display:block;margin:11px auto 0;max-width:30ch;font:450 12.5px/1.6 "Instrument Sans",sans-serif;color:rgba(255,255,255,.74);text-wrap:pretty;animation:a2capin .6s cubic-bezier(.16,1,.3,1) .48s both}
@keyframes a2capin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.a2-track{position:relative;width:132px;height:3px;margin:24px auto 0;border-radius:3px;overflow:hidden;background:rgba(255,255,255,.2);animation:a2capin .5s ease .6s both}
.a2-track s{position:absolute;left:0;top:0;bottom:0;width:36%;border-radius:3px;background:rgba(255,255,255,.92);text-decoration:none;animation:a2trk 1.4s cubic-bezier(.5,0,.5,1) infinite}
@keyframes a2trk{0%{left:-38%}100%{left:106%}}
@media (prefers-reduced-motion:reduce){
  .a2-switch *{animation-duration:.01ms!important;animation-iteration-count:1!important}
  .a2-jet3{offset-distance:100%}
}
/* ---- the slim currency bar: real air under the notch ---- */
.a2-cvmini{padding:16px 18px 13px;box-shadow:0 1px 0 color-mix(in srgb,var(--canoT) 14%,transparent)}
.a2-cvmini .bk{width:34px;height:34px;border-radius:12px}
.a2-cvmini .ttl{font-size:17px}
.a2-cvmini .src{display:none}
.a2-cvmini .sw{width:auto;min-height:34px;padding:0 12px;gap:8px;border-radius:12px;font:600 8.5px/1 var(--fl);letter-spacing:.14em}
.a2-cvmini .sw{margin-left:auto}

/* ---- R38b: the wipe replaces the crossfade, and the stage owns its own box ----
   Base layer = where you came from. Veil = where you are going, revealed by an
   expanding circle from the button you pressed, so the two hues never mix to mud. */
.a2-switch.to-t{background:radial-gradient(126% 82% at 50% 32%,#8ec253 0%,#4f772d 54%,#1d3110 100%)}
.a2-switch.to-m{background:radial-gradient(126% 82% at 50% 32%,#f5983f 0%,#d96d15 54%,#5f2e06 100%)}
.a2-veilx{clip-path:circle(0% at 50% 34%);animation:a2reveal3 .96s cubic-bezier(.45,0,.15,1) .1s forwards;opacity:1}
.a2-veilx.g{background:radial-gradient(126% 82% at 50% 32%,#f5983f 0%,#d96d15 54%,#5f2e06 100%)}
.a2-veilx.o{background:radial-gradient(126% 82% at 50% 32%,#8ec253 0%,#4f772d 54%,#1d3110 100%)}
@keyframes a2reveal3{from{clip-path:circle(0% at 50% 34%)}to{clip-path:circle(145% at 50% 34%)}}
.a2-swglow{z-index:1;animation-delay:.24s}
.a2-swstage{position:relative;z-index:2;width:300px;height:auto;animation-delay:.26s}
.a2-swstage svg{overflow:hidden}
.a2-scap{z-index:2;margin-top:22px}
.a2-scap em{animation-delay:.5s}
.a2-scap b{animation-delay:.58s}
.a2-scap span{animation-delay:.66s}
.a2-track{animation-delay:.78s}
/* everything in the scene starts after the wipe has passed it */
.a2-land{animation-delay:.44s,0s}
.a2-arcbase{animation-delay:.42s}
.a2-arc{animation-delay:.5s}
.a2-orig{animation-delay:.46s}
.a2-jet3{offset-path:path("M88 114 C 118 30,182 30,212 114");animation-delay:.48s}
.a2-pin3{animation-delay:1.74s;transform-origin:212px 114px}
.a2-pin3 .ring{transform-origin:212px 114px;animation-delay:1.9s}
.a2-hill{animation-delay:.36s}
.a2-hglow{animation-delay:.7s}
.a2-home2{animation-delay:.5s}
.a2-road3{animation-delay:.34s}
.a2-car3{animation-delay:.4s}
.a2-lamp3 g:nth-child(1){animation-delay:.42s}
.a2-lamp3 g:nth-child(2){animation-delay:.54s}
.a2-lamp3 g:nth-child(3){animation-delay:.66s}
.a2-lamp3 g:nth-child(4){animation-delay:.78s}
.a2-homesvg{-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,#000 78%,transparent 100%)}
.a2-cvmini{padding:22px 18px 14px;gap:12px}
.a2-cvmini .ttl{font:650 18px/1 var(--fd),sans-serif;letter-spacing:-.025em}
.a2-cvmini .sw{margin-left:auto;flex:none;white-space:nowrap;min-height:32px;padding:0 11px;gap:7px;border-radius:11px;font:600 9px/1 var(--fl);letter-spacing:.14em}
.a2-cvmini{padding:26px 18px 15px;align-items:center}
.a2-cvmini .sw{display:inline-flex;align-items:center;justify-content:center}
/* R39: no double-title ghost while the plinth collapses into the mini bar */
.a2-cvpage.typing .a2-cvtop{transition:max-height .26s cubic-bezier(.2,.8,.2,1),opacity .08s}
.a2-cvmini{animation-delay:.14s;animation-fill-mode:both}

/* ---- R39: currency pro pass ---- */
/* the plinth: air between the title and the tab pair, a quieter track */
.a2-cvtop .a2-ph{min-height:0;padding-bottom:16px}
.a2-cvtop .a2-phtitle{margin-bottom:0}
.a2-cvseg{margin-top:12px;gap:4px;padding:4px;border-radius:16px;border:1px solid color-mix(in srgb,var(--canoT) 10%,transparent);background:color-mix(in srgb,#241505 20%,transparent)}
.a2-cvseg button{min-height:42px;border-radius:12px;font:650 13px/1 "Instrument Sans",sans-serif;letter-spacing:.01em;color:color-mix(in srgb,var(--canoT) 74%,transparent);transition:color .15s}
.a2-cvseg button[aria-selected="true"]{background:var(--canoT);color:var(--cano);box-shadow:0 3px 12px -5px rgba(0,0,0,.4)}
/* the slim typing bar: real clearance, a stronger title */
.a2-cvmini{padding:30px 18px 16px;gap:12px}
.a2-cvmini .ttl{font-size:19px;letter-spacing:-.025em}
.a2-cvmini .sw{min-height:36px;padding:0 13px;border-radius:12px}
/* the keypad footer: the collapse key is gone (the grab bar owns that), 0 spans two, room under the last row */
.a2-calc{padding:6px 12px 14px}
.a2-ck.z{grid-column:span 2}
/* hold a row to reorder */
.a2-cvr{transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,border-color .15s;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.a2-cvr.lift{transition:box-shadow .15s;z-index:6;border-color:color-mix(in srgb,var(--acc) 65%,transparent);box-shadow:0 18px 36px -14px rgba(36,21,5,.5);cursor:grabbing}
.a2-cvlist.roon{overflow-y:hidden;touch-action:none}

/* R39b: the typing state owns its edges - no sheet lip behind the mini bar, no dead band under the keypad */
.a2-cvpage.typing .a2-cvbody{margin-top:0;border-radius:0;box-shadow:none}
.a2-calcd{bottom:0;padding-bottom:94px}
.a2-calcd:not(.up){padding-bottom:92px}

/* ---- R39: the travel hero band, luxury pass - the glass chip becomes an open ledger line ---- */
[data-dir="4t"] .a2-phstat{background:none;border:0;box-shadow:none;border-radius:0;padding:0;background-image:linear-gradient(90deg,var(--phLine),transparent 82%);background-size:100% 1px;background-repeat:no-repeat}
[data-dir="4t"] .a2-phstat .c{padding:18px 16px 2px 0}
[data-dir="4t"] .a2-phstat .c+i+.c,[data-dir="4t"] .a2-phstat i+.c{padding-left:18px;padding-right:0}
[data-dir="4t"] .a2-phstat>i{width:1px;align-self:stretch;margin:16px 0 4px;background:linear-gradient(180deg,var(--phLine),transparent)}
[data-dir="4t"] .a2-phstat em{font:600 8.5px/1 var(--fl);letter-spacing:.2em;color:color-mix(in srgb,var(--canoT) 62%,transparent)}
[data-dir="4t"] .a2-phstat b{margin-top:10px;gap:7px}
[data-dir="4t"] .a2-phstat b u{font-size:24px;letter-spacing:-.035em}
[data-dir="4t"] .a2-phstat.n3 b u{font-size:18px}
[data-dir="4t"] .a2-phstat.n3 .c{padding-top:16px}
[data-dir="4t"] .a2-phstat .ar{width:auto;height:auto;background:none;border:0;border-radius:0}
[data-dir="4t"] .a2-phstat small{font-size:9px;letter-spacing:.05em;color:color-mix(in srgb,var(--canoT) 55%,transparent)}
[data-dir="4t"] .a2-ph{padding-bottom:26px}
[data-dir="4t"] .a2-phstat.n3 .c{padding:16px 8px 2px 0}
[data-dir="4t"] .a2-phstat.n3 i+.c{padding-left:14px;padding-right:0}
[data-dir="4t"] .a2-phstat.n3 b u{font-size:17px;letter-spacing:-.025em}

/* ===== R43: what your money cost you - buys, blended averages, swaps ===== */
/* the ghost button finally has a base rule (it was only ever sized by its parent grid) */
.a2-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border-radius:14px;border:1px solid var(--line2);background:none;color:var(--t2);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-ghost.wide{width:100%}
.a2-ghost:active{background:var(--tile)}
/* the band: everything foreign, at cost and at today */
.a2-fxtop{margin:14px 20px 0;padding:15px 16px;border-radius:20px;background:var(--cano);color:var(--canoT);box-shadow:0 10px 26px -18px var(--shB)}
.a2-fxtop>em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.2em;font-style:normal;opacity:.62}
.a2-fxtop .g{display:flex;align-items:stretch;margin-top:14px}
.a2-fxtop .g>div{flex:1;min-width:0}
.a2-fxtop .g>i{width:1px;flex:none;margin:1px 13px;background:color-mix(in srgb,var(--canoT) 20%,transparent)}
.a2-fxtop .g em{display:block;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;opacity:.58}
.a2-fxtop .g b{display:block;margin-top:9px;font:650 17px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
/* what one unit costs you, against the board today */
.a2-fxavg{display:flex;align-items:stretch;margin-top:12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--cc2) 26%,transparent);background:color-mix(in srgb,var(--cc2) 6%,var(--card))}
.a2-fxavg>div{min-width:0;padding:12px 13px}
.a2-fxavg .l{flex:1.15}
.a2-fxavg .r{flex:1;border-left:1px solid color-mix(in srgb,var(--cc2) 20%,transparent)}
.a2-fxavg em{display:block;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a2-fxavg b{display:block;margin-top:9px;font:650 23px/1 var(--fd),sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-fxavg .r b{font-size:18px;color:var(--t2)}
.a2-fxavg small{display:block;margin-top:7px;font:450 10px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-fxavg small.good{font:600 9.5px/1.4 var(--fl);letter-spacing:.03em;color:var(--in)}
.a2-fxavg small.bad{font:600 9.5px/1.4 var(--fl);letter-spacing:.03em;color:var(--out)}
.a2-fxbadge{flex:none;padding:4px 7px;border-radius:7px;font:600 7px/1 var(--fl);letter-spacing:.1em;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
/* every buy, kept apart */
.a2-lots{margin-top:12px;border-top:1px solid var(--line)}
.a2-lot{display:flex;align-items:center;gap:11px;width:100%;box-sizing:border-box;padding:11px 0 10px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;transition:opacity var(--mo-quick)}
.a2-lots .a2-lot:last-child{border-bottom:0;padding-bottom:1px}
.a2-lot .rt{flex:none;min-width:54px;padding:7px 8px;border-radius:10px;background:var(--tile);font:600 11px/1 var(--fl);letter-spacing:.02em;color:var(--t1);text-align:center}
.a2-lot .n{flex:1;min-width:0}
.a2-lot .n b{display:block;font:650 12.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-lot .n small{display:block;margin-top:3px;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-lot .v{flex:none;text-align:right}
.a2-lot .v strong{display:block;font:650 13px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a2-lot .v em{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:6px;font:600 7px/1 var(--fl);letter-spacing:.1em;font-style:normal;background:var(--tile);color:var(--t3)}
.a2-lot .v em.cross{background:color-mix(in srgb,var(--cc2) 15%,transparent);color:var(--cc2)}
.a2-lot.gone{opacity:.5}
.a2-lot.gone .rt{background:none;border:1px dashed var(--line2)}
.a2-lot:active{opacity:.6}
.a2-ract{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.a2-ract button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:13px;border:1px solid var(--line2);background:none;color:var(--t2);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a2-ract button.k{border-color:transparent;background:var(--tile);color:var(--t1)}
.a2-ract button:active{transform:scale(.98)}
/* the swap sheet */
.a2-flabel{margin:14px 20px 8px;font:500 9px/1 var(--fl);letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.a2-swpick{padding:0 20px}
.a2-swpick .a2-lot{padding:11px 12px;margin-bottom:7px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.a2-swpick .a2-lot[aria-pressed="true"]{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,var(--card))}
.a2-ferr{display:block;margin-top:6px;font:500 10.5px/1.4 var(--fl);color:var(--out)}
.a2-swline{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 20px 0;padding:14px;border-radius:16px;background:var(--cano);color:var(--canoT)}
.a2-swline b{font:650 19px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.a2-swline svg{opacity:.7}
.a2-swavg{display:flex;align-items:center;gap:10px;margin:10px 20px 0;padding:12px 14px;border-radius:14px;border:1px dashed var(--line2)}
.a2-swavg span{flex:1;min-width:0;font:450 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--t2)}
.a2-swavg b{font:600 12px/1 var(--fl);color:var(--t3)}
.a2-swavg b.to{color:var(--t1)}
.a2-swavg svg{flex:none;color:var(--t3)}
.a2-lotacts{display:grid;grid-template-columns:1fr auto;gap:9px;width:100%}
.a2-lotacts .a2-gold,.a2-lotacts .a2-ghost{min-height:48px;border-radius:15px}

/* ===== R45: the states that are not happy paths ===== */
/* camera refused, on the dark scan surface */
.a2-deny{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0 26px 40px;text-align:center}
.a2-deny s{display:grid;place-items:center;width:64px;height:64px;border-radius:22px;text-decoration:none;background:rgba(181,234,85,.12);border:1px solid rgba(181,234,85,.3);color:#b5ea55}
.a2-deny b{margin-top:20px;font:650 21px/1.25 var(--fd),"Schibsted Grotesk",sans-serif;letter-spacing:-.03em;color:#f2f7e6;text-wrap:pretty}
.a2-deny p{margin:12px 0 0;max-width:34ch;font:450 13px/1.65 "Instrument Sans",sans-serif;color:#bfcda1;text-wrap:pretty}
.a2-deny .a2-dacts{display:flex;flex-direction:column;gap:9px;width:100%;max-width:300px;margin-top:22px}
.a2-deny .a2-dacts .a2-gold{width:100%}
.a2-deny em{margin-top:20px;max-width:32ch;font:500 10px/1.7 var(--fl);letter-spacing:.06em;font-style:normal;color:#8ea172;text-transform:uppercase}
/* microphone refused, in the voice pop */
.a2-orb.off{background:none}
.a2-orb.off span{background:rgba(181,234,85,.1);border:1px solid rgba(181,234,85,.28);color:#b5ea55}
.a2-orb.off i{display:none}

/* ======================================================================
   app2dark.css
   ====================================================================== */
/* MergeWise — dark mode, designed (R40).
   The dark token blocks were lost when app2x.css was overwritten in R35, so data-theme="dark"
   changed the attribute and nothing else. These are drawn, not inverted:
   4a = olive night with lime doing the talking, 4t = espresso night with lifted orange,
   4k = neutral graphite with the keys gold. Specificity (.rd-screen + two attrs) beats every
   later light block, so this sheet can stay last. */

/* ---------- 4a, the money app at night ---------- */
.rd-screen[data-dir="4a"][data-theme="dark"]{--bg:#0f150a;--card:#1a2410;--tile:#222e17;--line:#2a381c;--line2:#48602f;--t1:#eef6e0;--t2:#bdcfa5;--t3:#93a77e;--acc:#b5ea55;--on:#16200a;--wash:#1e2a12;--pop:#ff8a70;--in:#b5ea55;--out:#ff8a70;--shA:rgba(0,0,0,.45);--shB:rgba(0,0,0,.62);--tabon:#b5ea55;--cano:#2c4114;--canoT:#eaf8d0;--canoT2:#a9c684;--gold:#b5ea55}
/* ---------- 4t, travel at night ---------- */
.rd-screen[data-dir="4t"][data-theme="dark"]{--bg:#1a110a;--card:#241811;--tile:#2d1f15;--line:#38271a;--line2:#5b402a;--t1:#fdf3e8;--t2:#d6c1aa;--t3:#a8917a;--acc:#f0863a;--on:#241206;--wash:#2c1c11;--pop:#d09a5e;--in:#5cc98f;--out:#ff7a5c;--shA:rgba(0,0,0,.45);--shB:rgba(0,0,0,.64);--tabon:#f0863a;--cano:#9c4c0d;--canoT:#fff3e6;--canoT2:#f3c39a;--gold:#f99d41}
/* ---------- 4k, the vault at night ---------- */
.rd-screen[data-dir="4k"][data-theme="dark"]{--bg:#0f1012;--card:#191b1f;--tile:#212429;--line:#282c33;--line2:#3d424b;--t1:#f0f1f3;--t2:#b2b6be;--t3:#888c95;--acc:#e6e9ee;--on:#17181b;--wash:#1e2126;--pop:#e3c05c;--in:#3dc482;--out:#e0705a;--shA:rgba(0,0,0,.5);--shB:rgba(0,0,0,.68);--tabon:#e3c05c;--cano:#141519;--canoT:#f0f1f3;--canoT2:#9a9da6;--gold:#e3c05c}

/* the dock has to lift off a dark page, not sink into it */
.rd-screen[data-dir="4a"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#2d4015,#1e2b0d 62%);box-shadow:0 -1px 0 rgba(233,247,205,.10),0 24px 48px -26px #000}
.rd-screen[data-dir="4t"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#40270e,#2a1808 62%);box-shadow:0 -1px 0 rgba(255,243,230,.10),0 24px 48px -26px #000}
.rd-screen[data-theme="dark"] .rd-dtab[aria-selected="true"]{color:var(--tabon)}
/* body sheet edge: on light it reads by shadow, at night it needs a hairline */
.rd-screen[data-theme="dark"] .a2-body{box-shadow:0 -1px 0 var(--line)}
/* frosted chips on the canopy: white at 8% disappears over deep olive, warm it up */
.rd-screen[data-dir="4a"][data-theme="dark"]{--phChip:rgba(233,247,205,.07);--phChipB:rgba(233,247,205,.16)}
.rd-screen[data-dir="4t"][data-theme="dark"]{--phChip:rgba(255,243,230,.09);--phChipB:rgba(255,243,230,.18)}
/* enamel cards keep their own colour, but the wallet needs a darker drop at night */
.rd-screen[data-theme="dark"] .rd-card{box-shadow:0 26px 46px -28px #000,0 2px 0 rgba(255,255,255,.05) inset}
/* the canopy is the one lit surface at night: a shade of green, not a shade of black */
.rd-screen[data-dir="4a"][data-theme="dark"] .a2-ph,.rd-screen[data-dir="4a"][data-theme="dark"] .rd-cano{background-image:linear-gradient(180deg,#334b17,#26380f 78%)}
.rd-screen[data-dir="4t"][data-theme="dark"] .a2-ph,.rd-screen[data-dir="4t"][data-theme="dark"] .rd-cano{background-image:linear-gradient(180deg,#a85410,#8c410a 78%)}
/* the reveal wipe and hand-off veils read the same tokens; nothing to add there */

/* ======================================================================
   app2p1.css
   ====================================================================== */
/* MergeWise R40 — phase polish: the settle round trip, notification deep links,
   the Ask filter living above both readings of Money. */

/* a payment the other person has confirmed */
.a2-conf{display:flex;align-items:center;gap:5px;margin-top:5px;font:600 9px/1.4 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--in)}
.a2-upi:disabled{opacity:1}
/* notification rows are links now, not statements */
.a2-shrow{width:100%;box-sizing:border-box;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer;border-radius:12px}
.a2-shrow:hover{background:rgba(255,255,255,.06)}
.a2-shrow:active{transform:scale(.99)}
.a2-shrow>svg{flex:none}
/* the ask readout sits above the calendar too */
.a2-cal+.a2-day{margin-top:10px}
/* first run: the name and the six digits */
.a2-pdots{display:flex;gap:10px;align-items:center;min-height:46px;padding:0 4px}
.a2-pdots s{width:13px;height:13px;border-radius:50%;background:none;border:1.5px solid var(--line2);text-decoration:none;transition:background var(--mo-quick),border-color var(--mo-quick),transform var(--mo-quick)}
.a2-pdots s.on{background:var(--acc);border-color:var(--acc);transform:scale(1.08)}
.a2-ppad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 18px 2px}
.a2-ppad button{min-height:52px;border-radius:15px;border:1px solid var(--line);background:var(--card);color:var(--t1);font:600 20px/1 var(--fl);cursor:pointer;display:grid;place-items:center}
.a2-ppad button:active{background:var(--tile);transform:scale(.97)}
.a2-ppad button.q{font-size:0;color:var(--t2);background:var(--tile)}
.a2-gold:disabled{opacity:.42;cursor:default}
/* the lock, when the six digits are not the ones you set */
.a2-ldots.bad{animation:a2shake .34s cubic-bezier(.36,.07,.19,.97)}
@keyframes a2shake{10%,90%{transform:translateX(-2px)}30%,70%{transform:translateX(4px)}50%{transform:translateX(-4px)}}
@media (prefers-reduced-motion:reduce){.a2-ldots.bad{animation:none}}

/* ======================================================================
   app2q.css
   ====================================================================== */
/* MergeWise R41 — canopy chips that read, a calendar worth the name,
   tighter hero plinths, and the currency keypad staying out of the way. */

/* ---- 1. the canopy chips (avatar, search, eye) were white-on-lime and vanished ----
   They now sit in the canopy's own ink, with a hairline and a soft lift. The mode
   button (a solid canoT doorway) is deliberately excluded so the two never look alike. */
[data-dir] .rd-cano .rd-av2,
[data-dir] .rd-cano .rd-ib2:not([aria-label="Travel mode"]):not([aria-label="Back to personal money"]){
  background:color-mix(in srgb,var(--canoT) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--canoT) 28%,transparent);
  color:var(--canoT);
  box-shadow:0 1px 0 color-mix(in srgb,var(--canoT) 12%,transparent) inset,0 3px 8px -6px color-mix(in srgb,var(--canoT) 55%,transparent);
  transition:background var(--mo-quick),border-color var(--mo-quick),transform var(--mo-quick);
}
[data-dir] .rd-cano .rd-av2:active,
[data-dir] .rd-cano .rd-ib2:not([aria-label="Travel mode"]):not([aria-label="Back to personal money"]):active{background:color-mix(in srgb,var(--canoT) 18%,transparent);transform:scale(.96)}
[data-dir] .rd-cano .rd-av2{font-weight:700;letter-spacing:.04em}
[data-theme="dark"] .rd-cano .rd-av2,
[data-theme="dark"] .rd-cano .rd-ib2:not([aria-label="Travel mode"]):not([aria-label="Back to personal money"]){background:color-mix(in srgb,var(--canoT) 12%,transparent);border-color:color-mix(in srgb,var(--canoT) 30%,transparent)}
/* the same treatment on plinth headers, where white at 32% is just as thin */
[data-dir="4a"] .a2-ph .a2-phav,[data-dir="4a"] .a2-ph .a2-phib{background:color-mix(in srgb,var(--canoT) 10%,transparent);border-color:color-mix(in srgb,var(--canoT) 26%,transparent)}

/* ---- 2. the currency keypad is out of sight until you tap a currency ---- */
.a2-calcd{transform:translateY(100%)}
.a2-calcd.up{transform:translateY(var(--cd,0px))}
.a2-cvpage:not(.typing) .a2-calcd{pointer-events:none;opacity:0}
.a2-calcd{transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .2s}
.a2-cvpage:not(.typing) .a2-cvlist{padding-bottom:104px}

/* ---- 3. the calendar, rebuilt: soft tiles instead of a spreadsheet ---- */
.a2-cal{margin:0 20px;padding:4px 8px 10px;border-radius:22px;border:1px solid var(--line);background:var(--card);box-shadow:0 14px 30px -26px var(--shB),0 1px 2px var(--shA)}
.a2-calh{padding:0 1px}
.a2-calh span{padding:10px 0 9px;border-bottom:0;font:600 8.5px/1 var(--fl);letter-spacing:.2em;color:var(--t3)}
.a2-calg{gap:3px}
.a2-calg button{position:relative;isolation:isolate;min-height:54px;padding:9px 2px 8px;gap:3px;border:0!important;border-radius:15px;background:none;transition:transform var(--mo-quick),box-shadow var(--mo-quick)}
.a2-calg button:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--line2)}
.a2-calg button:not(:disabled):active{transform:scale(.94)}
.a2-calg em{position:relative;z-index:1;font:600 13.5px/1 "Instrument Sans",sans-serif;letter-spacing:-.01em}
.a2-calg u{position:relative;z-index:1;font:600 7.5px/1 var(--fl);letter-spacing:.01em}
.a2-calg s:not(:last-child){position:relative;z-index:1}
/* the heat is the tile itself, not a bar under the number */
.a2-calg s:last-child{position:absolute;inset:2px;z-index:0;width:auto;height:auto;border-radius:14px;opacity:.72}
.a2-calg .sel{background:none;box-shadow:inset 0 0 0 2px var(--acc)}
.a2-calg .sel em{font-weight:700}
.a2-calg button:disabled s:last-child{display:none}
[data-theme="dark"] .a2-calg s:last-child{opacity:.5}
/* the strip under the calendar carrying the picked day */
.a2-day{margin:18px 22px 8px;font-size:9px;letter-spacing:.16em}
.a2-day span:last-child{font-variant-numeric:tabular-nums;color:var(--t1);letter-spacing:.04em}

/* ---- 4. hero plinths: the air between the title and the figures was doing nothing ---- */
.a2-ph:has(.a2-phstat){min-height:0}
.a2-phstat{margin-top:16px}
.a2-ph{padding-bottom:20px}
[data-dir="4t"] .a2-ph{padding-bottom:24px}
[data-dir="4t"] .a2-phstat{margin-top:10px}
[data-dir="4t"] .a2-phstat .c{padding-bottom:6px}

/* ---- 5. adding to the plan: a sheet with a shape ---- */
.a4-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:6px 18px 2px}
.a4-kind{display:grid;justify-items:center;gap:7px;min-height:70px;padding:11px 4px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:border-color var(--mo-quick),background var(--mo-quick),transform var(--mo-quick)}
.a4-kind s{width:30px;height:30px;display:grid;place-items:center;border-radius:11px;background:var(--tile);color:var(--t2);text-decoration:none}
.a4-kind[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--t1)}
.a4-kind[aria-pressed="true"] s{background:var(--acc);color:var(--on)}
.a4-kind:active{transform:scale(.96)}
.a4-fld{display:block;padding:12px 18px 0}
.a4-fld em{display:block;margin-bottom:7px;font:600 9px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3);text-transform:uppercase}
.a4-fld.big .a2-input{min-height:52px;font-size:16px}
.a4-two{padding:12px 18px 0}
.a4-two>div>em{display:block;margin-bottom:7px;font:600 9px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.a4-seg{display:flex;gap:4px;padding:4px;border-radius:15px;background:var(--tile);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.a4-seg::-webkit-scrollbar{display:none}
.a4-seg button{flex:1;min-width:52px;min-height:42px;display:grid;place-items:center;gap:2px;border:0;border-radius:11px;background:none;color:var(--t2);font:600 12px/1 "Instrument Sans",sans-serif;cursor:pointer;white-space:nowrap;transition:background var(--mo-quick),color var(--mo-quick)}
.a4-seg button u{text-decoration:none;font:500 8px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a4-seg button[aria-pressed="true"]{background:var(--card);color:var(--t1);box-shadow:0 1px 3px var(--shA)}
.a4-seg button[aria-pressed="true"] u{color:var(--t2)}
.a4-crew{display:flex;flex-wrap:wrap;gap:7px}
.a4-cw{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 13px 0 6px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a4-cw s{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;font:700 10px/1 "Instrument Sans",sans-serif}
.a4-cw.all{padding:0 15px}
.a4-cw[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--t1)}
.a4-money{position:relative;display:block}
.a4-money i{position:absolute;left:15px;top:50%;transform:translateY(-50%);font:600 15px/1 var(--fl);font-style:normal;color:var(--t3)}
.a4-money .a2-input{padding-left:34px;min-height:50px;font:600 16px/1 var(--fl)}

/* ---- 6. a paper you upload, read here ---- */
.a4-drop{display:grid;justify-items:center;text-align:center;gap:4px;width:calc(100% - 36px);box-sizing:border-box;margin:8px 18px 2px;padding:22px 18px;border-radius:20px;border:1.5px dashed var(--line2);background:var(--tile);cursor:pointer;transition:border-color var(--mo-quick),background var(--mo-quick)}
.a4-drop:hover{border-color:var(--acc)}
.a4-drop s{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--card);color:var(--acc);text-decoration:none;box-shadow:0 2px 6px var(--shA)}
.a4-drop b{margin-top:9px;font:650 14.5px/1.2 var(--fd),sans-serif;color:var(--t1)}
.a4-drop small{max-width:34ch;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-drop.small{margin:12px 20px 4px;width:calc(100% - 40px);padding:18px 16px}
.a4-file{display:flex;align-items:center;gap:12px;width:calc(100% - 36px);box-sizing:border-box;margin:8px 18px 0;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--t3);cursor:pointer;text-align:left}
.a4-file s{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--tile);color:var(--t2);text-decoration:none}
.a4-file .n{flex:1;min-width:0}
.a4-file b{display:block;font:600 13px/1.3 "Instrument Sans",sans-serif;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a4-file small{display:block;margin-top:3px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-reading{display:flex;align-items:center;gap:12px;margin:6px 18px 4px;padding:14px;border-radius:18px;background:var(--tile);border:1px solid var(--line)}
.a4-reading .sh{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;background:var(--card);color:var(--acc);position:relative;overflow:hidden}
.a4-reading .sh::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,color-mix(in srgb,var(--acc) 40%,transparent) 50%,transparent 70%);animation:a4sweep 1.35s linear infinite}
@keyframes a4sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.a4-reading .n b{display:block;font:600 13px/1.3 "Instrument Sans",sans-serif;color:var(--t1);word-break:break-all}
.a4-reading .n small{display:block;margin-top:3px;font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-rlist{padding:6px 18px 0}
.a4-rrow{display:flex;align-items:flex-start;gap:11px;padding:10px 0;opacity:.32;transition:opacity .32s}
.a4-rrow+.a4-rrow{border-top:1px solid var(--line)}
.a4-rrow.on{opacity:1}
.a4-rrow s{width:20px;height:20px;flex:none;margin-top:1px;display:grid;place-items:center;border-radius:7px;background:var(--tile);color:var(--t3);text-decoration:none}
.a4-rrow.on s{background:var(--acc);color:var(--on)}
.a4-rrow b{display:block;font:600 12.5px/1.35 "Instrument Sans",sans-serif;color:var(--t1)}
.a4-rrow small{display:block;margin-top:2px;font:450 11px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-parsed{margin:6px 18px 0;padding:2px 0 14px;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.a4-parsed .hd{display:flex;align-items:center;gap:11px;padding:14px 14px 12px;border-bottom:1px solid var(--line)}
.a4-parsed .hd s{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:13px;background:var(--wash);color:var(--acc);text-decoration:none}
.a4-parsed .hd span{flex:1;min-width:0}
.a4-parsed .hd b{display:block;font:650 14px/1.25 var(--fd),sans-serif;color:var(--t1)}
.a4-parsed .hd small{display:block;margin-top:3px;font:500 9px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a4-chip{flex:none;padding:5px 8px;border-radius:7px;background:var(--wash);color:var(--acc);font:600 8px/1 var(--fl);letter-spacing:.12em;font-style:normal}
.a4-parsed .a4-fld{padding:11px 14px 0}
.a4-parsed .a2-input{min-height:44px}

/* ======================================================================
   app2r42.css
   ====================================================================== */
/* MergeWise R42 - statement import, the checks harness, a fresh trip's plan,
   and the foreign-entry subline on trip Today. */

/* ---- statement import ---- */
.a4-ssum{display:flex;align-items:stretch;margin:14px 20px 4px;padding:12px 4px;border-radius:14px;background:var(--tile);border:1px solid var(--line)}
.a4-ssum>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}
.a4-ssum em{font:600 8.5px/1 var(--fl);letter-spacing:.13em;font-style:normal;color:var(--t3)}
.a4-ssum b{font:650 21px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a4-ssum i{width:1px;background:var(--line)}
.a4-sline{display:flex;align-items:flex-start;gap:11px;margin:0 20px;padding:12px 0;border-bottom:1px solid var(--line)}
.a4-sline .tk{flex:none;width:26px;height:26px;margin-top:2px;padding:0;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:var(--t3);position:relative}
.a4-sline .tk::before{content:"";position:absolute;inset:-9px}
.a4-sline .n{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.a4-sline .n b{font:600 14px/1.25 "Instrument Sans",sans-serif;color:var(--t1)}
.a4-sline .n small{font:450 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a4-sline .v{flex:none;margin-top:1px;font:600 14.5px/1.2 var(--fl);font-variant-numeric:tabular-nums;color:var(--t1)}
.a4-sline.dup{opacity:.62}
.a4-sline.dup .v{color:var(--t3)}
.a4-schip{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--cc,var(--t2));font:600 10.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:border-color var(--mo-quick,.15s)}
.a4-schip:hover{border-color:var(--line2)}
.a4-schip em{font:600 7.5px/1 var(--fl);letter-spacing:.11em;font-style:normal;color:var(--t3)}
.a4-snone{display:flex;flex-direction:column;align-items:center;gap:7px;margin:16px 20px;padding:24px 20px;border-radius:16px;background:var(--tile);border:1px solid var(--line);text-align:center}
.a4-snone s{color:var(--in);display:grid}
.a4-snone b{font:650 16px/1.2 var(--fd),sans-serif;color:var(--t1)}
.a4-snone small{font:450 12px/1.55 "Instrument Sans",sans-serif;color:var(--t2);max-width:30ch}

/* ---- the checks harness ---- */
.a4-qbanner{display:flex;gap:12px;margin:14px 20px 2px;padding:15px 16px;border-radius:16px;background:var(--wash);border:1px solid var(--line)}
.a4-qbanner.bad{background:color-mix(in srgb,var(--pop) 12%,var(--card));border-color:color-mix(in srgb,var(--pop) 38%,var(--line))}
.a4-qbanner s{flex:none;display:grid;color:var(--in)}
.a4-qbanner.bad s{color:var(--pop)}
.a4-qbanner span{display:flex;flex-direction:column;gap:4px}
.a4-qbanner b{font:650 15px/1.2 var(--fd),sans-serif;color:var(--t1)}
.a4-qbanner small{font:450 12px/1.5 "Instrument Sans",sans-serif;color:var(--t2)}
.a4-qrow{display:flex;gap:11px;padding:12px 15px;border-bottom:1px solid var(--line)}
.a4-qrow:last-child{border-bottom:0}
.a4-qrow s{flex:none;width:19px;height:19px;margin-top:1px;border-radius:6px;display:grid;place-items:center;background:var(--tile);color:var(--t3)}
.a4-qrow.pass s{background:color-mix(in srgb,var(--in) 18%,transparent);color:var(--in)}
.a4-qrow.fail s{background:color-mix(in srgb,var(--pop) 20%,transparent);color:var(--pop)}
.a4-qrow.warn s{background:color-mix(in srgb,var(--gold) 26%,transparent);color:var(--t2)}
.a4-qrow span{display:flex;flex-direction:column;gap:3px;min-width:0}
.a4-qrow b{font:600 13px/1.3 "Instrument Sans",sans-serif;color:var(--t1)}
.a4-qrow small{font:450 11px/1.5 var(--fl);color:var(--t3);word-break:break-word}
.a4-qrow.fail b{color:var(--pop)}

/* ---- a trip whose plan is still empty ---- */
.a4-tstrip{display:flex;align-items:center;gap:12px;margin:14px 20px 0;padding:11px 13px;border-radius:15px;background:var(--phChip,rgba(255,255,255,.3));border:1px solid var(--phChipB,rgba(255,255,255,.18))}
.a4-tstrip .cov{flex:none;width:42px;height:42px;border-radius:11px;background:linear-gradient(160deg,var(--h1),var(--h2))}
.a4-tstrip .n{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.a4-tstrip .n b{font:650 14px/1.2 var(--fd),sans-serif;color:var(--canoT)}
.a4-tstrip .n small{font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--canoT2)}
.a4-empty{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 20px;padding:28px 22px;border-radius:18px;border:1px dashed var(--line2);background:var(--card);text-align:center}
.a4-empty s{display:grid;color:var(--t3)}
.a4-empty b{font:650 16px/1.25 var(--fd),sans-serif;color:var(--t1)}
.a4-empty small{font:450 12.5px/1.55 "Instrument Sans",sans-serif;color:var(--t2);max-width:32ch}
.a4-empty button{margin-top:6px}

.a4-cw:disabled{opacity:1;cursor:default}

/* ---- trip Today: a foreign entry says both figures on one rhythm ---- */
.a2-fxs{display:block;margin-top:3px;font:500 10px/1 var(--fl);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--t3);text-decoration:none}

/* ================= R46: budgets, find, invitations, widgets, reading mode, one nudge ================= */
.a6-pace{margin:12px 20px 0;padding:16px 16px 14px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 2px 6px var(--shA)}
.a6-pace em{display:block;font:600 9px/1 var(--fl);letter-spacing:.12em;color:var(--t3)}
.a6-pace>b{display:block;margin:7px 0 10px;font:750 34px/1 "Schibsted Grotesk",sans-serif;letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums}
.a6-pace p{margin:11px 0 0;font:450 12px/1.6 "Instrument Sans",sans-serif;color:var(--t2);text-wrap:pretty}
.a6-pbar{position:relative;height:8px;border-radius:5px;background:color-mix(in srgb,var(--t1) 9%,transparent);overflow:visible}
.a6-pbar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--acc)}
.a6-pbar u{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:2px;background:var(--t1);opacity:.62}
.a6-pace .lg{display:flex;justify-content:space-between;margin-top:7px;font:500 10px/1 var(--fl);letter-spacing:.06em;color:var(--t3)}
.a6-bud{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"i n v" "m m m" "w w w";gap:5px 12px;align-items:center;width:calc(100% - 40px);margin:8px 20px 0;padding:12px 14px 13px;background:var(--card);border:1px solid var(--line);border-radius:16px;text-align:left;cursor:pointer;box-shadow:0 1px 2px var(--shA);transition:transform var(--mo-quick,.12s) ease}
.a6-bud:active{transform:scale(.988)}
.a6-bud>s{grid-area:i;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
.a6-bud .n{grid-area:n;min-width:0;display:block}
.a6-bud .n b{display:block;font:600 14px/1.25 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-bud .n small{display:block;margin-top:2px;font:500 10.5px/1.3 var(--fl);color:var(--t3);font-variant-numeric:tabular-nums}
.a6-bud .v{grid-area:v;text-align:right}
.a6-bud .v em{font:600 8.5px/1 var(--fl);letter-spacing:.1em;padding:4px 7px;border-radius:6px;white-space:nowrap}
.a6-bud .v em.ok{background:color-mix(in srgb,var(--t1) 7%,transparent);color:var(--t3)}
.a6-bud .v em.over{background:color-mix(in srgb,var(--phDn,#c14a2e) 15%,transparent);color:var(--phDn,#c14a2e)}
.a6-bud .m{grid-area:m}
.a6-bud .wy{grid-area:w;margin:1px 0 0;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3);text-wrap:pretty}
.a6-hist{display:flex;gap:10px;margin-top:12px}
.a6-hist>div{flex:1;padding:9px 10px;border-radius:12px;background:var(--tile,color-mix(in srgb,var(--t1) 5%,transparent))}
.a6-hist em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a6-hist b{display:block;margin-top:5px;font:600 14px/1 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a6-set{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 20px 0;padding:12px 14px;background:var(--tile,color-mix(in srgb,var(--t1) 5%,transparent));border-radius:16px}
.a6-set b{font:750 30px/1 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a6-set button{width:44px;height:44px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--t1);display:grid;place-items:center;cursor:pointer}
.a6-bpanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) 16px;gap:12px;align-items:center;width:calc(100% - 40px);margin:8px 20px 0;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;text-align:left;cursor:pointer;box-shadow:0 1px 3px var(--shA);color:var(--t3)}
.a6-bpanel .l em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.11em;color:var(--t3)}
.a6-bpanel .l b{display:block;margin:6px 0 3px;font:750 24px/1 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a6-bpanel .l>span{font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a6-bpanel .m small{display:block;margin-top:7px;font:500 10px/1.3 var(--fl);color:var(--t3)}
/* find */
.a6-fin{display:flex;align-items:center;gap:9px;margin:14px 0 0;padding:0 13px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--canoT) 12%,transparent);border:1px solid color-mix(in srgb,var(--canoT) 26%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--canoT) 16%,transparent);color:var(--canoT)}
.a6-fin input{flex:1;min-width:0;background:none;border:0;outline:none;font:500 14.5px/1 "Schibsted Grotesk",sans-serif;color:var(--canoT)}
.a6-fin input::placeholder{color:color-mix(in srgb,var(--canoT) 58%,transparent)}
.a6-fin button{width:26px;height:26px;border-radius:8px;border:0;background:color-mix(in srgb,var(--canoT) 16%,transparent);color:var(--canoT);display:grid;place-items:center;cursor:pointer}
.a6-fread{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:12px 22px 0}
.a6-fread b{font:650 15px/1.2 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-fread span{font:450 12px/1.3 "Instrument Sans",sans-serif;color:var(--t2)}
.a6-fread em{font:500 10px/1 var(--fl);color:var(--t3);margin-left:auto}
.a6-fres{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;width:calc(100% - 40px);margin:7px 20px 0;padding:11px 13px;background:var(--card);border:1px solid var(--line);border-radius:15px;text-align:left;cursor:pointer;transition:transform var(--mo-quick,.12s) ease}
.a6-fres:active{transform:scale(.988)}
.a6-fres>s{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
.a6-fres .n{min-width:0}
.a6-fres .n b{display:block;font:600 13.5px/1.3 "Schibsted Grotesk",sans-serif;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a6-fres .n small{display:block;margin-top:2px;font:450 11px/1.35 "Instrument Sans",sans-serif;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a6-fres .v{text-align:right;display:grid;gap:4px;justify-items:end}
.a6-fres .v strong{font:600 13.5px/1 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a6-fres .v em{font:600 8px/1 var(--fl);letter-spacing:.1em;color:var(--t3);padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--t1) 7%,transparent);white-space:nowrap}
/* invitations */
.a6-invcard{display:flex;gap:14px;align-items:center;margin:10px 20px 0;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 2px 6px var(--shA)}
.a6-qrwrap{position:relative;flex:none;width:152px;height:152px;padding:10px;border-radius:16px;background:#fff}
.a6-qr{display:grid;grid-template-columns:repeat(21,1fr);grid-template-rows:repeat(21,1fr);width:132px;height:132px}
.a6-qr i{background:transparent}
.a6-qr i.on{background:#141d0b}
.a6-qrwrap .f{position:absolute;width:40px;height:40px;border:5px solid #141d0b;border-radius:3px}
.a6-qrwrap .f:after{content:"";position:absolute;inset:6px;background:#141d0b;border-radius:1px}
.a6-qrwrap .f.tl{top:10px;left:10px}.a6-qrwrap .f.tr{top:10px;right:10px}.a6-qrwrap .f.bl{bottom:10px;left:10px}
.a6-invmeta{min-width:0;flex:1}
.a6-invmeta em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.11em;color:var(--t3)}
.a6-invmeta b{display:block;margin-top:5px;font:600 17px/1.1 var(--fl);letter-spacing:.02em;color:var(--t1)}
.a6-invmeta>span{display:block;margin-top:5px;font:450 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--t2);word-break:break-all}
.a6-ways{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 20px 0}
.a6-ways button{display:grid;gap:6px;justify-items:center;padding:12px 4px;border-radius:15px;border:1px solid var(--line);background:var(--card);color:var(--t1);cursor:pointer;transition:transform var(--mo-quick,.12s) ease}
.a6-ways button:active{transform:scale(.97)}
.a6-ways button span{font:500 9.5px/1.1 "Instrument Sans",sans-serif;color:var(--t2);text-align:center}
.a6-can{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}
.a6-can:last-child{border-bottom:0;padding-bottom:2px}
.a6-can span{font:500 12.5px/1.45 "Instrument Sans",sans-serif;color:var(--t1);text-wrap:pretty}
.a6-can span.no{color:var(--t3);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--t3) 45%,transparent)}
.a6-inv{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}
.a6-inv:last-child{border-bottom:0}
.a6-inv .n b{display:block;font:600 13.5px/1.25 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-inv .n small{display:block;margin-top:2px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--t3)}
.a6-inv .ac{display:flex;gap:6px}
.a6-inv .ac button{width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:var(--card);color:var(--t2);display:grid;place-items:center;cursor:pointer}
.a6-ini{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--t1) 12%,transparent);color:var(--t2);font:600 10px/1 var(--fl);letter-spacing:.04em}
.a6-wait{font:600 8px/1 var(--fl);letter-spacing:.1em;padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--t1) 8%,transparent);color:var(--t3);white-space:nowrap}
.a6-wait.opened{background:color-mix(in srgb,var(--acc) 16%,transparent);color:color-mix(in srgb,var(--acc) 78%,var(--t1))}
.a6-jtop{padding:16px 22px 22px;background:var(--cano);color:var(--canoT)}
.a6-jtop em{display:block;margin:12px 0 0;font:600 9px/1 var(--fl);letter-spacing:.13em;opacity:.72}
.a6-jtop h2{margin:8px 0 0;font:750 30px/1.05 "Schibsted Grotesk",sans-serif;letter-spacing:-.02em}
.a6-jtop p{margin:8px 0 0;font:450 12.5px/1.55 "Instrument Sans",sans-serif;opacity:.82;max-width:34ch;text-wrap:pretty}
.a6-jfaces{display:flex;margin-top:14px}
.a6-jfaces>span{margin-right:-9px;box-shadow:0 0 0 2px var(--cano)}
/* widgets and the share sheet */
.a6-hs{margin:12px 20px 0;padding:14px;border-radius:24px;background:linear-gradient(165deg,color-mix(in srgb,var(--cano) 82%,#000),color-mix(in srgb,var(--cano) 42%,#000));box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 18px var(--shB,rgba(0,0,0,.3))}
.a6-hstat{display:flex;align-items:baseline;justify-content:space-between;color:rgba(255,255,255,.86);margin-bottom:12px}
.a6-hstat b{font:600 12px/1 var(--fl)}
.a6-hstat span{font:500 10px/1 var(--fl);opacity:.7}
.a6-wid{position:relative;padding:13px 14px;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 4px 12px rgba(0,0,0,.24)}
.a6-wid.sm{width:154px}
.a6-wid.wd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.a6-wid .hd{display:flex;align-items:center;gap:6px}
.a6-wid .hd s{width:13px;height:13px;border-radius:50%;background:#a9e34b;box-shadow:6px 0 0 -1px rgba(226,118,42,.9)}
.a6-wid .hd em{font:600 8px/1 var(--fl);letter-spacing:.12em;color:#5c6b4c}
.a6-wid>b{display:block;margin:9px 0 3px;font:750 25px/1 "Schibsted Grotesk",sans-serif;color:#1a2410;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.a6-wid .cap{display:block;font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:#6b7860}
.a6-wbar{height:5px;margin-top:10px;border-radius:3px;background:rgba(26,36,16,.1)}
.a6-wbar i{display:block;height:100%;border-radius:3px;background:#86cf30}
.a6-wid .side{border-left:1px solid rgba(26,36,16,.1);padding-left:14px;display:flex;flex-direction:column;justify-content:space-between}
.a6-wid .side em{font:600 8px/1 var(--fl);letter-spacing:.11em;color:#8a967f}
.a6-wid .side b{display:block;margin:6px 0 3px;font:650 17px/1 "Schibsted Grotesk",sans-serif;color:#1a2410;font-variant-numeric:tabular-nums}
.a6-wid .side span{font:450 10px/1.3 "Instrument Sans",sans-serif;color:#6b7860}
.a6-wid .acts{display:flex;gap:8px;margin-top:12px}
.a6-wid .acts button{width:38px;height:38px;border-radius:12px;border:0;background:#1a2410;color:#e9f7cd;display:grid;place-items:center;cursor:pointer}
.a6-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 10px;margin-top:18px}
.a6-icons>div{display:grid;gap:5px;justify-items:center}
.a6-icons s{width:100%;aspect-ratio:1;border-radius:14px;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.a6-icons span{font:500 8.5px/1 "Instrument Sans",sans-serif;color:rgba(255,255,255,.72)}
.a6-lock{padding:14px 4px 6px;text-align:center;color:#fff}
.a6-lock>b{display:block;font:300 54px/1 "Schibsted Grotesk",sans-serif;letter-spacing:-.03em}
.a6-lstrip{display:flex;align-items:center;gap:9px;margin:18px 0 0;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);text-align:left}
.a6-lstrip span{flex:1;font:600 14px/1 "Schibsted Grotesk",sans-serif;font-variant-numeric:tabular-nums}
.a6-lstrip em{font:600 8.5px/1 var(--fl);letter-spacing:.1em;opacity:.78}
.a6-lock p{margin:16px 6px 4px;font:450 10.5px/1.5 "Instrument Sans",sans-serif;color:rgba(255,255,255,.7)}
.a6-shwrap{margin:10px 20px 0;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:20px}
.a6-sms{padding:12px 13px;border-radius:15px;background:var(--tile,color-mix(in srgb,var(--t1) 5%,transparent))}
.a6-sms em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a6-sms p{margin:7px 0 0;font:450 12px/1.5 "Instrument Sans",sans-serif;color:var(--t1);text-wrap:pretty}
.a6-sms button{display:flex;align-items:center;gap:7px;margin-top:10px;padding:8px 12px;border-radius:11px;border:1px solid var(--line);background:var(--card);color:var(--t1);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a6-sheet2{margin-top:12px;padding:10px 12px 12px;border-radius:16px;background:var(--tile,color-mix(in srgb,var(--t1) 5%,transparent));border:1px solid var(--line);animation:rdUp .34s cubic-bezier(.16,1,.3,1) both}
.a6-sheet2 .gb{display:block;width:38px;height:4px;border-radius:3px;margin:0 auto 9px;background:color-mix(in srgb,var(--t1) 18%,transparent)}
.a6-sheet2 .lb{margin:0 0 9px;font:600 8.5px/1 var(--fl);letter-spacing:.11em;color:var(--t3)}
.a6-sheet2 .dests{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.a6-sheet2 .dests button{display:grid;gap:6px;justify-items:center;padding:10px 3px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:500 9.5px/1.1 "Instrument Sans",sans-serif;cursor:pointer}
.a6-sheet2 .dests button.mine{border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:color-mix(in srgb,var(--acc) 12%,var(--card));color:var(--t1)}
.a6-sheet2 .dests s{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--t1) 8%,transparent)}
.a6-sheet2 .dests button.mine s{background:color-mix(in srgb,var(--acc) 22%,transparent);color:color-mix(in srgb,var(--acc) 80%,var(--t1))}
.a6-pref{margin-top:12px;padding:13px;border-radius:16px;border:1px solid color-mix(in srgb,var(--acc) 40%,var(--line));background:color-mix(in srgb,var(--acc) 7%,var(--card));animation:rdUp .34s .06s cubic-bezier(.16,1,.3,1) both}
.a6-pref>em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.1em;color:color-mix(in srgb,var(--acc) 72%,var(--t1))}
.a6-pref .rw{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line)}
.a6-pref .rw span{flex:none;width:82px;font:500 10px/1 var(--fl);letter-spacing:.06em;color:var(--t3)}
.a6-pref .rw b{flex:1;font:600 13px/1.2 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a6-pref .rw i{font:600 8px/1 var(--fl);letter-spacing:.09em;font-style:normal;padding:4px 6px;border-radius:5px;background:color-mix(in srgb,var(--t1) 8%,transparent);color:var(--t3)}
.a6-pref p{margin:10px 0 0;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t2);text-wrap:pretty}
.a6-shnote{margin:11px 2px 0;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
/* somebody else holding the phone */
.a6-read{display:flex;align-items:center;gap:8px;padding:7px 16px;background:color-mix(in srgb,var(--cano) 86%,#000);color:var(--canoT)}
.a6-read span{flex:1;font:600 8.5px/1.3 var(--fl);letter-spacing:.1em}
.a6-read button{padding:5px 10px;border-radius:9px;border:1px solid color-mix(in srgb,var(--canoT) 34%,transparent);background:color-mix(in srgb,var(--canoT) 14%,transparent);color:var(--canoT);font:600 10px/1 "Instrument Sans",sans-serif;cursor:pointer}
/* one nudge, once */
.a6-nudge{margin:12px 20px 0;padding:13px 14px 14px;border-radius:18px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--cc2);box-shadow:0 2px 6px var(--shA)}
.a6-nudge .hd{display:flex;align-items:center;gap:8px}
.a6-nudge .hd s{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:color-mix(in srgb,var(--cc2) 14%,transparent);color:var(--cc2)}
.a6-nudge .hd em{flex:1;font:600 8.5px/1 var(--fl);letter-spacing:.12em;color:var(--t3)}
.a6-nudge .hd .dis{width:26px;height:26px;border-radius:8px;border:0;background:color-mix(in srgb,var(--t1) 7%,transparent);color:var(--t3);display:grid;place-items:center;cursor:pointer}
.a6-nudge>b{display:block;margin:10px 0 5px;font:650 14.5px/1.35 "Schibsted Grotesk",sans-serif;color:var(--t1);text-wrap:pretty}
.a6-nudge p{margin:0;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t2);text-wrap:pretty}
.a6-nudge .ac{display:flex;gap:9px;margin-top:12px}
.a6-nudge .ac .a2-gold{flex:1}
/* large text: heroes and titles must wrap, never clip */
.a2-phstat,.a2-phstat .c,.a2-phstat .c b{min-width:0}
.a2-phstat .c b u{overflow-wrap:anywhere;hyphens:none}
.a2-phstat .c em,.a2-phstat .c small{overflow-wrap:anywhere}
.a2-phtitle,.rd-amt{overflow-wrap:anywhere}

/* ================= R47: a brand new month, and a file that cannot be read ================= */
.a6-fwallet{margin:12px 20px 0;padding:22px 18px;border-radius:20px;border:1.5px dashed color-mix(in srgb,var(--t1) 20%,transparent);background:color-mix(in srgb,var(--t1) 3%,transparent);text-align:center}
.a6-fwallet .ic{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:14px;background:color-mix(in srgb,var(--t1) 7%,transparent);color:var(--t3)}
.a6-fwallet b{display:block;font:650 15px/1.2 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-fwallet small{display:block;margin:6px auto 0;max-width:34ch;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a6-fstart{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:12px;align-items:center;width:calc(100% - 40px);margin:8px 20px 0;padding:13px 14px;background:var(--card);border:1px solid var(--line);border-radius:16px;text-align:left;cursor:pointer;color:var(--t3);box-shadow:0 1px 2px var(--shA);transition:transform var(--mo-quick,.12s) ease}
.a6-fstart:active{transform:scale(.988)}
.a6-fstart>s{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--t1) 7%,transparent);color:var(--t2)}
.a6-fstart.on>s{background:color-mix(in srgb,var(--acc) 20%,transparent);color:color-mix(in srgb,var(--acc) 80%,var(--t1))}
.a6-fstart .n b{display:block;font:600 14px/1.25 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-fstart .n small{display:block;margin-top:3px;font:450 11px/1.45 "Instrument Sans",sans-serif;color:var(--t3);text-wrap:pretty}
.a6-failtop{margin:4px 20px 0;padding:18px 16px;border-radius:18px;background:color-mix(in srgb,var(--phDn,#c14a2e) 9%,var(--card));border:1px solid color-mix(in srgb,var(--phDn,#c14a2e) 26%,transparent);text-align:center}
.a6-failtop s{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 10px;border-radius:14px;background:color-mix(in srgb,var(--phDn,#c14a2e) 16%,transparent);color:var(--phDn,#c14a2e)}
.a6-failtop b{display:block;font:700 18px/1.2 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-failtop small{display:block;margin-top:6px;font:500 10.5px/1.3 var(--fl);color:var(--t3);word-break:break-all}
.a6-failwhat{display:grid;gap:10px;margin:12px 20px 0}
.a6-failwhat>div{padding:12px 13px;border-radius:14px;background:var(--tile,color-mix(in srgb,var(--t1) 5%,transparent))}
.a6-failwhat em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.11em;color:var(--t3)}
.a6-failwhat p{margin:7px 0 0;font:450 12px/1.55 "Instrument Sans",sans-serif;color:var(--t1);text-wrap:pretty}
.a6-failway{display:grid;grid-template-columns:26px minmax(0,1fr);gap:11px;align-items:start;margin:7px 22px 0}
.a6-failway>s{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:color-mix(in srgb,var(--acc) 15%,transparent);color:color-mix(in srgb,var(--acc) 80%,var(--t1))}
.a6-failway b{display:block;font:600 13px/1.3 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-failway small{display:block;margin-top:2px;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3);text-wrap:pretty}

/* ================= R48: Insights as four toggle pages, and the trip vault rebuilt ================= */
.a6-iseg{display:flex;gap:4px;margin:14px -4px 0;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--canoT) 12%,transparent);border:1px solid color-mix(in srgb,var(--canoT) 20%,transparent);overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.a6-iseg::-webkit-scrollbar{display:none}
.a6-iseg button{flex:1 0 auto;scroll-snap-align:center;min-height:34px;padding:0 12px;border:0;border-radius:11px;background:none;color:color-mix(in srgb,var(--canoT) 74%,transparent);font:600 11.5px/1 "Instrument Sans",sans-serif;white-space:nowrap;cursor:pointer;transition:background var(--mo-quick,.14s) ease,color var(--mo-quick,.14s) ease}
.a6-iseg button[aria-selected="true"]{background:var(--canoT);color:var(--cano);box-shadow:0 1px 3px color-mix(in srgb,#000 22%,transparent)}
.a6-ifade{animation:a6In .34s cubic-bezier(.16,1,.3,1) both}
@keyframes a6In{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.a6-kind{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"i n v" "m m m";gap:8px 12px;align-items:center;width:calc(100% - 40px);margin:8px 20px 0;padding:12px 14px 13px;background:var(--card);border:1px solid var(--line);border-radius:16px;text-align:left;cursor:pointer;box-shadow:0 1px 2px var(--shA);transition:transform var(--mo-quick,.12s) ease}
.a6-kind:active{transform:scale(.988)}
.a6-kind>s{grid-area:i;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:color-mix(in srgb,var(--cc2) 15%,transparent);color:var(--cc2)}
.a6-kind .n{grid-area:n;min-width:0}
.a6-kind .n b{display:block;font:600 14px/1.25 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-kind .n small{display:block;margin-top:2px;font:450 11px/1.35 "Instrument Sans",sans-serif;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a6-kind .v{grid-area:v;display:grid;justify-items:end;gap:3px}
.a6-kind .v strong{font:650 15px/1 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a6-kind .v em{font:600 9px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a6-kind .m{grid-area:m;height:6px;border-radius:4px;background:color-mix(in srgb,var(--t1) 8%,transparent);overflow:hidden}
.a6-kind .m i{display:block;height:100%;border-radius:4px;background:var(--cc2)}
.a6-vault{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 20px}
.a6-vt{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:"i n" "m m";gap:9px 11px;align-items:start;padding:13px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-align:left;position:relative;box-shadow:0 2px 6px var(--shA),inset 0 1px 0 color-mix(in srgb,#fff 40%,transparent);transition:transform var(--mo-quick,.12s) ease}
.a6-vt:not([disabled]){cursor:pointer}
.a6-vt:not([disabled]):active{transform:scale(.984)}
.a6-vt>s{grid-area:i;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:color-mix(in srgb,var(--acc) 16%,transparent);color:color-mix(in srgb,var(--acc) 82%,var(--t1));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent)}
.a6-vt .n{grid-area:n;min-width:0}
.a6-vt .n em{display:block;font:600 8px/1 var(--fl);letter-spacing:.12em;color:var(--t3)}
.a6-vt .n b{display:block;margin:5px 0 3px;font:700 17px/1.05 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}
.a6-vt .n small{display:block;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3);text-wrap:pretty}
.a6-vt .mt{grid-area:m;height:5px;border-radius:3px;background:color-mix(in srgb,var(--t1) 9%,transparent);overflow:hidden}
.a6-vt .mt i{display:block;height:100%;border-radius:3px;background:color-mix(in srgb,var(--acc) 80%,var(--t1))}
.a6-vt .cr{position:absolute;top:12px;right:11px;color:var(--t3)}
.a6-vt.go{background:linear-gradient(150deg,color-mix(in srgb,var(--acc) 20%,var(--card)),color-mix(in srgb,var(--acc) 8%,var(--card)));border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.a6-vt.go>s{background:color-mix(in srgb,var(--acc) 82%,var(--t1));color:var(--card)}
.a6-vt.go .cr{color:color-mix(in srgb,var(--acc) 80%,var(--t1))}
.a6-payer{display:grid;grid-template-columns:30px minmax(0,1fr) 74px auto;gap:11px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.a6-payer:last-of-type{border-bottom:0}
.a6-payer .n b{display:block;font:600 13.5px/1.2 "Schibsted Grotesk",sans-serif;color:var(--t1)}
.a6-payer .n small{display:block;margin-top:2px;font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.a6-payer .mt{height:6px;border-radius:4px;background:color-mix(in srgb,var(--t1) 8%,transparent);overflow:hidden}
.a6-payer .mt i{display:block;height:100%;border-radius:4px;background:var(--mc)}
.a6-payer .v{font:650 14px/1 "Schibsted Grotesk",sans-serif;color:var(--t1);font-variant-numeric:tabular-nums;text-align:right}

/* R48b: tab strip fits four labels; vault figures never clip */
.a6-iseg button{padding:0 10px;font-size:11px}
.a6-vt .n{min-width:0;overflow:hidden}
.a6-vt .n b{font-size:15px;line-height:1.1}
.a6-vt.go .n b{font-size:16px}

/* R48c: three actions on a currency card, one row */
.a2-ract{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.a2-ract button{min-width:0;justify-content:center;padding-left:8px;padding-right:8px;font-size:10.5px}

/* ======================================================================
   R51: one type family for the chrome (the monospace label face is retired),
   the money hero rebuilt as a flow board, accounts inside Money, the travel
   app's own Money / Pots / Insights, trip documents, and tidying an entry.
   ====================================================================== */
:root{--fl:"Schibsted Grotesk",system-ui,sans-serif}
/* the label tier, redrawn in the display family: caps want a little more body and less tracking than mono did */
.a2-pheye{font:650 10px/1.3 var(--fl);letter-spacing:.075em}
.a2-phstat em{font:650 9.5px/1 var(--fl);letter-spacing:.07em}
.a2-phstat small{font:500 10.5px/1.35 var(--fl);letter-spacing:.004em}
.a2-day{font:650 10px/1 var(--fl);letter-spacing:.08em}
.rd-sh2 b{font:650 9.5px/1 var(--fl);letter-spacing:.08em}
.rd-nwrow span{font:650 9.5px/1 var(--fl);letter-spacing:.09em}
.a2-seal{font:650 9px/1 var(--fl);letter-spacing:.09em}
.a2-ptag{font:650 9px/1 var(--fl);letter-spacing:.08em}
.a3-st{font:650 8.5px/1 var(--fl);letter-spacing:.1em}
.a2-lmlab{font:650 8.5px/1 var(--fl);letter-spacing:.13em}
.a2-fromlab{font:650 9.5px/1 var(--fl);letter-spacing:.11em}
.a2-sel{font:650 10px/1 var(--fl);letter-spacing:.055em}
.rd-kept span{font:650 9.5px/1 var(--fl);letter-spacing:.1em}
.rd-cbank{font:650 11px/1.3 var(--fl);letter-spacing:.07em}
.rd-cbal span{font:650 9px/1 var(--fl);letter-spacing:.12em}
.a2-honest,.a2-vhon{font:650 8.5px/1.5 var(--fl);letter-spacing:.1em}
.a2-when{font:650 8.5px/1 var(--fl);letter-spacing:.08em}
.rd-pace-l{font:650 9px/1 var(--fl);letter-spacing:.06em}
.a2-fxs{font:650 10px/1 var(--fl);letter-spacing:.02em}
.a2-hint,.rd-hint{font:650 10px/1 var(--fl);letter-spacing:.04em}

/* the log drawer header: the two pickers own their own lanes, the title never sits under a menu */
.a2-lh{align-items:center;gap:10px;z-index:30}
.a2-lh h4{position:absolute;left:0;right:0;top:2px;bottom:11px;height:auto;transform:none;z-index:1}
.a2-lh .a2-selw{position:relative;z-index:3}
.a2-lh .a2-selw:last-of-type{margin-left:auto}
.a2-lmenu{z-index:40}
.a2-lmenu.cal{left:-6px;min-width:262px}
.a2-lmenu.right.book,.a2-lmenu.right.wide{right:-6px}

/* ---- the hero flow board: what the month kept, and the two figures that make it ---- */
.a7-flow{margin-top:auto;padding:14px 15px 15px;border-radius:19px;background:var(--phChip);border:1px solid color-mix(in srgb,var(--canoT) 14%,transparent)}
.a7-flow .t{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.a7-flow .t em{font:650 9.5px/1 var(--fl);letter-spacing:.09em;font-style:normal;color:color-mix(in srgb,var(--canoT) 74%,transparent)}
.a7-flow .t u{text-decoration:none;font:650 9.5px/1 var(--fl);letter-spacing:.06em;color:color-mix(in srgb,var(--canoT) 56%,transparent)}
.a7-flow>b{display:block;margin-top:10px;font:650 31px/1 var(--fd),sans-serif;letter-spacing:-.038em;font-variant-numeric:tabular-nums;color:var(--canoT)}
.a7-flow .bar{display:flex;gap:3px;height:8px;margin-top:13px}
.a7-flow .bar i{display:block;height:100%;border-radius:4px;min-width:5px}
.a7-flow .bar i.a{background:var(--canoT)}
.a7-flow .bar i.b{background:color-mix(in srgb,var(--canoT) 32%,transparent)}
.a7-flow .lg{display:flex;align-items:center;gap:18px;margin-top:12px;flex-wrap:wrap}
.a7-flow .lg span{display:flex;align-items:center;gap:7px;white-space:nowrap;font:650 9.5px/1 var(--fl);letter-spacing:.07em;color:color-mix(in srgb,var(--canoT) 68%,transparent)}
.a7-flow .lg s{width:7px;height:7px;flex:none;border-radius:4px;text-decoration:none;background:var(--canoT)}
.a7-flow .lg span.b s{background:color-mix(in srgb,var(--canoT) 38%,transparent)}
.a7-flow .lg strong{font:650 13.5px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--canoT)}

/* ---- three readings of the same money ---- */
.a2-seg2.n3{grid-template-columns:repeat(3,1fr)}
.a2-seg2.n3 button{gap:6px;padding:0 4px;font-size:11.5px}

/* ---- accounts, as a balance sheet ---- */
.a7-anet{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:16px 20px 0;padding:15px 16px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA)}
.a7-anet .l em{display:block;font:650 9.5px/1 var(--fl);letter-spacing:.09em;font-style:normal;color:var(--t3)}
.a7-anet .l b{display:block;margin-top:9px;font:650 29px/1 var(--fd),sans-serif;letter-spacing:-.038em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-anet .r{flex:none;text-align:right}
.a7-anet .r span{display:block;font:500 10.5px/1.7 var(--fl);color:var(--t3);white-space:nowrap}
.a7-anet .r span b{font:650 12.5px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-abar{display:flex;gap:3px;height:7px;margin:11px 20px 0}
.a7-abar i{display:block;height:100%;border-radius:4px;min-width:5px}
.a7-abar i.a{background:var(--acc)}
.a7-abar i.b{background:color-mix(in srgb,var(--out) 60%,transparent)}
.a7-agrp{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:20px 22px 9px}
.a7-agrp em{font:650 9.5px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
.a7-agrp b{font:650 12.5px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--t2)}
.a7-acct{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:13px;align-items:center;width:calc(100% - 40px);box-sizing:border-box;margin:0 20px 9px;padding:13px 15px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left;overflow:hidden;transition:transform var(--mo-quick),box-shadow var(--mo-quick)}
.a7-acct:active{transform:scale(.985)}
.a7-acct::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:0 3px 3px 0;background:var(--ac2)}
.a7-acct>s{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--ac2) 12%,var(--card));color:var(--ac2);border:1px solid color-mix(in srgb,var(--ac2) 20%,transparent)}
[data-theme="dark"] .a7-acct>s{background:color-mix(in srgb,var(--ac2) 28%,var(--card));color:color-mix(in srgb,var(--ac2) 58%,#fff);border-color:color-mix(in srgb,var(--ac2) 38%,transparent)}
.a7-acct .n{min-width:0}
.a7-acct .n b{display:block;font:650 14px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.a7-acct .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-acct .mt{height:5px;margin-top:9px;border-radius:3px;background:var(--tile);overflow:hidden}
.a7-acct .mt i{display:block;height:100%;border-radius:3px;background:var(--ac2)}
.a7-acct .v{flex:none;text-align:right}
.a7-acct .v b{display:block;font:650 16.5px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-acct .v em{display:block;margin-top:6px;font:650 9px/1 var(--fl);letter-spacing:.07em;font-style:normal;color:var(--t3)}
.a7-acct .v em.dn{color:var(--out)}
.a7-arow3{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 20px 0}
.a7-arow3 .a2-quietb{width:100%;font-size:11.5px;gap:7px;min-height:44px}

/* ---- reading a trip in another currency ---- */
.a7-lens{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:15px;background:var(--phChip);border:1px solid color-mix(in srgb,var(--canoT) 16%,transparent);color:var(--canoT)}
.a7-lens>svg{flex:none;opacity:.8}
.a7-lens em{flex:1;min-width:0;font:650 9.5px/1.45 var(--fl);letter-spacing:.06em;font-style:normal;color:color-mix(in srgb,var(--canoT) 80%,transparent)}
.a7-lens button{flex:none;min-height:32px;padding:0 11px;border-radius:10px;border:1px solid color-mix(in srgb,var(--canoT) 28%,transparent);background:none;color:var(--canoT);font:650 9.5px/1 var(--fl);letter-spacing:.07em;cursor:pointer}
.a7-conv{display:block;margin-top:3px;font:650 10px/1 var(--fl);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--t3);text-decoration:none}

/* ---- the trip, day by day, against an even pace ---- */
.a7-pace{position:relative;display:flex;align-items:stretch;gap:6px;height:138px;margin:0 20px;padding:18px 14px 12px;box-sizing:border-box;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA)}
.a7-pace .col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:0;border:0;background:none;cursor:pointer}
.a7-pace .col i{display:block;width:100%;border-radius:5px 5px 2px 2px;background:color-mix(in srgb,var(--acc) 42%,transparent)}
.a7-pace .col i.z{background:var(--line);border-radius:2px}
.a7-pace .col.on i{background:var(--acc)}
.a7-pace .col em{font:650 9px/1 var(--fl);letter-spacing:.02em;font-style:normal;color:var(--t3);text-align:center}
.a7-pace .col.on em{color:var(--t1)}
.a7-pace .line{position:absolute;left:14px;right:14px;height:0;border-top:1px dashed color-mix(in srgb,var(--t1) 28%,transparent);pointer-events:none}
.a7-pace .line b{position:absolute;right:0;top:-15px;font:650 8.5px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}

/* ---- a big honest next step ---- */
.a7-cta{display:flex;align-items:center;gap:13px;width:calc(100% - 40px);box-sizing:border-box;margin:12px 20px 0;padding:16px;border-radius:20px;border:1px solid color-mix(in srgb,var(--acc) 42%,transparent);background:color-mix(in srgb,var(--acc) 8%,var(--card));cursor:pointer;text-align:left;transition:transform var(--mo-quick)}
.a7-cta:active{transform:scale(.985)}
.a7-cta>s{width:44px;height:44px;flex:none;border-radius:15px;display:grid;place-items:center;text-decoration:none;background:var(--acc);color:var(--canoT)}
.a7-cta .n{flex:1;min-width:0}
.a7-cta .n b{display:block;font:650 15px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.a7-cta .n small{display:block;margin-top:4px;font:450 11.5px/1.45 "Instrument Sans",sans-serif;color:var(--t2)}

/* ---- documents a trip needs ---- */
.a7-doc{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;width:calc(100% - 40px);box-sizing:border-box;margin:0 20px 9px;padding:13px 14px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left;transition:transform var(--mo-quick)}
.a7-doc:active{transform:scale(.985)}
.a7-doc>s{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2)}
.a7-doc .n{min-width:0}
.a7-doc .n b{display:block;font:650 13.5px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a7-doc .n small{display:block;margin-top:3px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-st{flex:none;font:650 8.5px/1 var(--fl);letter-spacing:.1em;padding:7px 9px;border-radius:8px;background:var(--tile);color:var(--t3);white-space:nowrap}
.a7-st.hand{background:color-mix(in srgb,var(--acc) 18%,transparent);color:var(--tabon)}
.a7-st.appl{background:color-mix(in srgb,var(--pop) 16%,transparent);color:var(--pop)}
.a7-st.need{background:color-mix(in srgb,var(--out) 15%,transparent);color:var(--out)}
.a7-sts{display:flex;gap:8px;margin:0 20px 4px;flex-wrap:wrap}
.a7-sts button{flex:1;min-width:0;min-height:44px;padding:0 10px;border-radius:13px;border:1px solid var(--line2);background:var(--card);color:var(--t2);font:650 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a7-sts button[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--tabon)}

/* ---- foreign money you are carrying ---- */
.a7-potc .amt strong{font-size:26px}
.a7-fxsub{display:block;margin-top:7px;font:500 11px/1.45 var(--fl);color:var(--t3)}

/* ---- logged by voice, and still yours to tidy ---- */
.a7-vdone{margin:8px 0 0;padding:14px;border-radius:17px;background:var(--tile);border:1px solid var(--line);text-align:left}
.a7-vdone em{display:flex;align-items:center;gap:7px;font:650 8.5px/1 var(--fl);letter-spacing:.11em;font-style:normal;color:var(--seal)}
.a7-vdone>b{display:block;margin-top:9px;font:650 19px/1.1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-vdone>span{display:block;margin-top:5px;font:450 11.5px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-fbtns{display:grid;gap:8px}
.a7-fbtns .a2-line{margin:0}

/* R50: money coming IN reads in the mode's own colour, symbol and figure together */
.a2-bigamt.in{color:var(--in)}
.a2-bigamt.in i{color:var(--in);opacity:.9}
[data-dir="4t"] .a2-bigamt.in,[data-dir="4t"] .a2-bigamt.in i{color:var(--acc)}
.a2-dirseg button[aria-selected="true"]{font-weight:650}

/* ======================================================================
   R55: the header rule, the hero band, the funds page, and a redrawn night
   ====================================================================== */

/* ---- 1. the break under the header is a rule now, not a rumour ---- */
.a2-hrule{height:0;margin:16px 0 0;background:none;border-top:1px solid color-mix(in srgb,var(--canoT) 34%,transparent);box-shadow:0 1px 0 rgba(0,0,0,.16)}
.a2-phhair{height:0;margin:13px 0 0;border-top:1px solid color-mix(in srgb,var(--canoT) 30%,transparent);box-shadow:0 1px 0 rgba(0,0,0,.15)}

/* ---- 2. the hero band: on the title's own left edge, with air above and below ---- */
.a2-ph,[data-dir="4t"] .a2-ph{padding:12px 20px 30px}
.a2-ph:has(.a2-phstat),.a2-ph:has(.a7-flow){min-height:0}
.a2-phtitle{margin-top:16px;font-size:32px}
.a2-phcap{margin-top:9px}
/* the hero is an open band, flush with the title, no rule of its own */
.a7-flow,.a2-phstat,[data-dir="4t"] .a7-flow,[data-dir="4t"] .a2-phstat{margin-top:18px;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.a7-flow>b{margin-top:10px;font-size:30px}
.a7-flow .bar{margin-top:13px;height:7px}
.a7-flow .lg{margin-top:12px;gap:16px}
.a2-phstat{gap:0;align-items:flex-start}
.a2-phstat .c,[data-dir="4t"] .a2-phstat .c,[data-dir="4t"] .a2-phstat.n3 .c,[data-dir="4t"] .a2-phstat.n3 i+.c{padding:0 15px}
.a2-phstat .c:first-of-type,[data-dir="4t"] .a2-phstat.n3 .c:first-of-type{padding-left:0}
.a2-phstat .c:last-child,[data-dir="4t"] .a2-phstat.n3 .c:last-child{padding-right:0}
.a2-phstat>i{background:color-mix(in srgb,var(--canoT) 20%,transparent);align-self:stretch}
.a2-phstat b{margin-top:9px}
.a2-phstat small{margin-top:7px}
.a2-phstat.n3 .c,[data-dir="4t"] .a2-phstat.n3 .c{padding-left:11px;padding-right:11px}
.a2-phstat.n3 .c:first-of-type{padding-left:0}
.a2-phstat.n3 .c:last-child{padding-right:0}
/* the page sheet: the dead grab handle is gone on every page, and the lip is gentler */
.a2-body{margin-top:-14px;padding-top:14px}
.a2-body::before{content:none;display:none}
.a2-body>.rd-sh2:first-child{margin-top:6px}
.a2-body>.a2-seg2:first-child,.a2-body>.a2-fseg:first-child{margin-top:12px}
/* the currency plinth keeps its own tighter rhythm */
.a2-cvtop .a2-ph{padding-bottom:16px}

/* ---- 3. filter tabs: even columns, crisp headings, one rule under them ---- */
.a2-fseg{display:grid;gap:0;margin:14px 20px 2px;border-bottom:1px solid var(--line)}
.a2-fseg.n3{grid-template-columns:repeat(3,1fr)}
.a2-fseg.n4{grid-template-columns:repeat(4,1fr)}
.a2-fseg button{position:relative;appearance:none;border:0;background:none;cursor:pointer;min-height:40px;padding:0 2px 11px;color:var(--t3);font:650 10.5px/1.2 var(--fl);letter-spacing:.09em;text-transform:uppercase;transition:color var(--mo-quick)}
.a2-fseg button[aria-pressed="true"]{color:var(--t1)}
.a2-fseg button[aria-pressed="true"]::after{content:"";position:absolute;left:5px;right:5px;bottom:-1px;height:2px;border-radius:2px;background:var(--acc)}
.a2-fseg button:active{transform:scale(.96)}

/* ---- 4. a calendar that fits the screen it opens on ---- */
.a2-cal.fit{padding:2px 6px 7px;border-radius:19px}
.a2-cal.fit .a2-calh span{padding:8px 0 6px}
.a2-cal.fit .a2-calg{gap:2px}
.a2-cal.fit .a2-calg button{border-radius:13px}
.a2-cal.fit .a2-calg s:last-child{inset:1px;border-radius:12px}
/* R59: one calendar size in both apps, with the day's own figure big enough to read */
.a2-cal .a2-calg button,.a2-cal.fit .a2-calg button{min-height:68px;padding:9px 2px 10px;gap:5px}
.a2-cal .a2-calg em,.a2-cal.fit .a2-calg em{font-size:14.5px;font-weight:650}
.a2-cal .a2-calg u,.a2-cal.fit .a2-calg u{font:650 10.5px/1 var(--fl);letter-spacing:0;min-height:11px;font-variant-numeric:tabular-nums}

/* ---- 5. Funds: what you are carrying, one card a currency ---- */
.a7-froll{margin:14px 20px 0;padding:16px 17px 15px;border-radius:20px;background:var(--tile);border:1px solid var(--line)}
.a7-froll>em{display:block;font:650 9px/1 var(--fl);letter-spacing:.15em;font-style:normal;color:var(--t3)}
.a7-froll>b{display:block;margin-top:10px;font:650 32px/1 var(--fd),sans-serif;letter-spacing:-.042em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-froll .cs{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.a7-froll .cs span{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:11px;background:var(--card);border:1px solid var(--line)}
.a7-froll .cs i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--cc2)}
.a7-froll .cs b{font:650 12px/1 var(--fd),sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a7-froll .cs u{text-decoration:none;font:450 10.5px/1 "Instrument Sans",sans-serif;color:var(--t3);font-variant-numeric:tabular-nums}
.a7-froll .cs span.neg{border-color:color-mix(in srgb,var(--out) 45%,transparent);background:color-mix(in srgb,var(--out) 8%,var(--card))}
.a7-froll .cs span.neg i{background:var(--out)}
.a7-froll .cs span.neg b,.a7-froll .cs span.neg u{color:var(--out)}
.a7-froll p{margin:12px 0 0;padding-top:11px;border-top:1px solid var(--line);font:450 11px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
/* the calendar's shoulder days, two either side of the trip */
.a2-calg button.edge em{color:var(--t3);opacity:.75}
.a2-calg button.edge{background:color-mix(in srgb,var(--t3) 5%,transparent)}
/* filter tabs, shorter */
.a2-fseg{margin:12px 20px 2px}
.a2-fseg button{min-height:32px;padding:0 2px 8px;font-size:10px}
/* the amount sits centred in its own band: the same air above the figure as below it */
.a2-amtline{min-height:60px;align-items:center}
.a2-bigamt{line-height:1.04}
.a2-keys.big{padding:28px 18px 0}
.a7-fhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:16px 20px 0}
.a7-fhead em{font:650 9.5px/1 var(--fl);letter-spacing:.11em;font-style:normal;color:var(--t3)}
.a7-fhead b{display:block;margin-top:8px;font:650 27px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-fhead .r{display:flex;flex-direction:column;gap:9px;text-align:right;font:inherit}
.a7-fhead .r>span{display:block}
.a7-fhead .r em{display:block;font:650 8.5px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
.a7-fhead .r s{display:block;margin-top:5px;text-decoration:none;font:650 13px/1 var(--fd),sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.a7-fcard{position:relative;display:block;width:calc(100% - 40px);box-sizing:border-box;margin:10px 20px 0;padding:15px 16px 14px;border-radius:18px;border:1px solid var(--line);background:var(--card);text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 12px 26px -24px var(--shB),0 1px 2px var(--shA);transition:transform var(--mo-quick),box-shadow var(--mo-base)}
.a7-fcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fc)}
.a7-fcard:active{transform:scale(.985)}
.a7-fcard .h{display:flex;align-items:center;gap:12px}
.a7-fcard .h>s{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;text-decoration:none;background:color-mix(in srgb,var(--fc) 14%,transparent);color:var(--fc);font:650 16px/1 var(--fd),sans-serif}
.a7-fcard .h .n{flex:1;min-width:0}
.a7-fcard .h .n b{display:block;font:650 15px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a7-fcard .h .n small{display:block;margin-top:4px;font:500 10.5px/1.35 var(--fl);letter-spacing:.03em;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a7-fcard .h em{flex:none;font:650 19px/1 var(--fd),sans-serif;letter-spacing:-.032em;font-style:normal;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-fcard .m{height:6px;margin-top:13px;border-radius:4px;background:var(--tile);overflow:hidden}
.a7-fcard .m i{display:block;height:100%;border-radius:4px;background:var(--fc);transition:width var(--mo-base)}
.a7-fcard .f{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.a7-fcard .f span{min-width:0}
.a7-fcard .f em{display:block;font:650 8.5px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
.a7-fcard .f b{display:block;margin-top:6px;font:650 14px/1 var(--fd),sans-serif;letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-fcard .f span.dn b{color:var(--out)}
.a7-fcard .f span+span{padding-left:9px;border-left:1px solid var(--line)}
.a7-fnote{margin:9px 22px 0;font:450 11px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-fadd{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 20px 0}
.a7-fadd .a2-quietb{width:100%;margin:0}

/* ---- 6. insights: whose money is being read. On the canopy, so the heading and the
   toggle are the whole header and no figure competes with them. ---- */
.a7-whoc{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:18px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--canoT) 12%,transparent);border:1px solid color-mix(in srgb,var(--canoT) 20%,transparent)}
.a7-whoc button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:0;border-radius:11px;background:none;color:color-mix(in srgb,var(--canoT) 74%,transparent);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background var(--mo-quick),color var(--mo-quick)}
.a7-whoc button[aria-selected="true"]{background:var(--canoT);color:var(--cano);box-shadow:0 1px 3px color-mix(in srgb,#000 22%,transparent)}
.a2-ph:has(.a7-whoc){min-height:0;padding-bottom:18px}
.a2-ph:has(.a7-whoc) .a2-phtitle{margin-top:18px}
.a7-who{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:14px 20px 0;padding:4px;border-radius:15px;background:var(--tile);border:1px solid var(--line)}
.a7-who button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;border-radius:11px;background:none;color:var(--t2);font:650 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background var(--mo-quick),color var(--mo-quick)}
.a7-who button[aria-selected="true"]{background:var(--card);color:var(--t1);box-shadow:0 2px 6px -3px var(--shA),0 1px 2px var(--shA)}
.a7-pers{display:block;width:calc(100% - 40px);box-sizing:border-box;margin:9px 20px 0;padding:13px 15px 12px;border-radius:16px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:left;cursor:pointer;transition:transform var(--mo-quick)}
.a7-pers:active{transform:scale(.985)}
.a7-pers .tp{display:flex;align-items:center;gap:12px}
.a7-pers .tp>svg{flex:none;color:var(--t3)}
.a7-pers .bt{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:12px}
.a7-pers .bt u{flex:none;text-decoration:none;font:650 10px/1 var(--fl);letter-spacing:.06em;color:var(--t3);font-variant-numeric:tabular-nums}
.a7-pers .bt u.up{color:var(--in)}
.a7-pers .bt u.dn{color:var(--out)}
.a7-pers .n{flex:1;min-width:0}
.a7-pers .n b{display:block;font:650 14.5px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a7-pers .n small{display:block;margin-top:4px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-pers .mt{flex:1;min-width:0;height:6px;border-radius:4px;background:var(--tile);overflow:hidden}
.a7-pers .mt i{display:block;height:100%;border-radius:4px;background:var(--mc,var(--acc))}
.a7-pers .v{flex:none;text-align:right;font:650 16px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-pers .v u{display:block;margin-top:5px;text-decoration:none;font:650 8.5px/1 var(--fl);letter-spacing:.09em;color:var(--t3)}

/* ---- 7. an account, with more than four lines on it ---- */
.a7-more{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 40px);margin:10px 20px 0;min-height:44px;border-radius:14px;border:1px dashed var(--line2);background:none;color:var(--t2);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background var(--mo-quick)}
.a7-more:hover{background:var(--tile)}

/* ======================================================================
   R55 night: drawn dark, not a tinted black
   Base is a near-neutral graphite carrying a trace of the brand hue; the canopy is the one
   lit surface; one vivid accent does all the talking. Luxury reads as restraint plus a jewel.
   ====================================================================== */
.rd-screen[data-dir="4a"][data-theme="dark"]{--bg:#0a0d08;--card:#141a0f;--tile:#1c2415;--line:#26301c;--line2:#3f5030;--t1:#f1f6e7;--t2:#b9c6a6;--t3:#88957a;--acc:#c4f24d;--on:#0f140b;--wash:#1b2412;--pop:#ffa15e;--in:#8ce85f;--out:#ff7a66;--shA:rgba(0,0,0,.5);--shB:rgba(0,0,0,.7);--tabon:#c4f24d;--cano:#182111;--canoT:#eef8d8;--canoT2:#a3b78a;--gold:#c4f24d;--phChip:rgba(196,242,77,.08);--phChipB:rgba(196,242,77,.2);--seal:#c4f24d}
.rd-screen[data-dir="4t"][data-theme="dark"]{--bg:#0c0907;--card:#17110d;--tile:#201812;--line:#2c2119;--line2:#4c3828;--t1:#fbf1e5;--t2:#d5c0a9;--t3:#9e8977;--acc:#ff9642;--on:#120c08;--wash:#241a12;--pop:#ffc48a;--in:#4fd39a;--out:#ff6f57;--shA:rgba(0,0,0,.52);--shB:rgba(0,0,0,.72);--tabon:#ff9642;--cano:#22150c;--canoT:#fff3e6;--canoT2:#dcb190;--gold:#ff9642;--phChip:rgba(255,150,66,.09);--phChipB:rgba(255,150,66,.22);--seal:#ff9642}
.rd-screen[data-dir="4k"][data-theme="dark"]{--bg:#08090b;--card:#131519;--tile:#1a1d22;--line:#232730;--line2:#3a3f4a;--t1:#f2f3f6;--t2:#b4b9c2;--t3:#868c97;--acc:#d8dce4;--on:#101215;--wash:#191c22;--pop:#f0cf76;--in:#4fd39a;--out:#ff7a66;--shA:rgba(0,0,0,.55);--shB:rgba(0,0,0,.74);--tabon:#f0cf76;--cano:#101216;--canoT:#f2f3f6;--canoT2:#9aa0ab;--gold:#f0cf76}
/* the canopy is the lit surface: a rich gradient with an accent rim, never a flat slab */
.rd-screen[data-dir="4a"][data-theme="dark"] .a2-ph,.rd-screen[data-dir="4a"][data-theme="dark"] .rd-cano{background-image:linear-gradient(168deg,#233015 0%,#1a2311 54%,#121909 100%);box-shadow:inset 0 -1px 0 rgba(196,242,77,.16)}
.rd-screen[data-dir="4t"][data-theme="dark"] .a2-ph,.rd-screen[data-dir="4t"][data-theme="dark"] .rd-cano{background-image:linear-gradient(168deg,#3a2110 0%,#2a180d 54%,#1a0f08 100%);box-shadow:inset 0 -1px 0 rgba(255,150,66,.18)}
.rd-screen[data-dir="4a"][data-theme="dark"] .a2-ph::before,.rd-screen[data-dir="4a"][data-theme="dark"] .rd-cano::before{background:radial-gradient(58% 60% at 82% 18%,rgba(196,242,77,.16),transparent 72%);opacity:1}
.rd-screen[data-dir="4t"][data-theme="dark"] .a2-ph::before,.rd-screen[data-dir="4t"][data-theme="dark"] .rd-cano::before{background:radial-gradient(58% 60% at 82% 18%,rgba(255,150,66,.2),transparent 72%);opacity:1}
/* surfaces lift by hairline and shadow, not by getting greyer */
.rd-screen[data-theme="dark"] .rd-panel,.rd-screen[data-theme="dark"] .rd-list,.rd-screen[data-theme="dark"] .a2-cal,.rd-screen[data-theme="dark"] .a7-fcard,.rd-screen[data-theme="dark"] .a2-potc{box-shadow:0 18px 34px -30px #000,0 0 0 1px rgba(255,255,255,.03) inset}
.rd-screen[data-theme="dark"] .a2-body{box-shadow:0 -1px 0 color-mix(in srgb,var(--acc) 22%,transparent)}
.rd-screen[data-dir="4a"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#1b2412,#11170b 66%);box-shadow:0 -1px 0 rgba(196,242,77,.14),0 24px 48px -26px #000}
.rd-screen[data-dir="4t"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#241810,#150d07 66%);box-shadow:0 -1px 0 rgba(255,150,66,.16),0 24px 48px -26px #000}
.rd-screen[data-theme="dark"] .rd-dfab{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 28%,transparent),0 12px 28px -12px color-mix(in srgb,var(--acc) 50%,transparent)}
.rd-screen[data-theme="dark"] .a2-fseg{border-bottom-color:var(--line)}
.rd-screen[data-theme="dark"] .a2-chip[aria-pressed="true"]{background:color-mix(in srgb,var(--acc) 13%,transparent);border-color:color-mix(in srgb,var(--acc) 46%,transparent);color:var(--acc)}
.rd-screen[data-theme="dark"] .a2-gold{color:#0e1206}
.rd-screen[data-dir="4t"][data-theme="dark"] .a2-gold{color:#1a0d05}

/* ---- R55b: the hero, quieter and richer; the reading toggle rides the canopy ---- */
.a7-flow .eb{display:block;font:650 9.5px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:color-mix(in srgb,var(--canoT) 64%,transparent)}
.a7-flow>b{margin-top:11px;font-size:34px;letter-spacing:-.042em}
.a7-flow .io{display:flex;align-items:center;gap:13px;margin-top:13px}
.a7-flow .io span{display:inline-flex;align-items:center;gap:7px;font:650 9.5px/1 var(--fl);letter-spacing:.08em;color:color-mix(in srgb,var(--canoT) 62%,transparent);white-space:nowrap}
.a7-flow .io s{width:7px;height:7px;flex:none;border-radius:4px;text-decoration:none;background:var(--canoT)}
.a7-flow .io s.b{background:color-mix(in srgb,var(--canoT) 34%,transparent)}
.a7-flow .io strong{font:650 13.5px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--canoT)}
.a7-flow .io>i{width:1px;height:15px;flex:none;background:color-mix(in srgb,var(--canoT) 18%,transparent)}
.a7-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:18px;padding:4px;border-radius:17px;background:color-mix(in srgb,#000 11%,transparent);border:1px solid color-mix(in srgb,var(--canoT) 10%,transparent)}
.a7-seg button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;border-radius:13px;background:none;color:color-mix(in srgb,var(--canoT) 78%,transparent);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background var(--mo-quick),color var(--mo-quick)}
.a7-seg button:active{transform:scale(.97)}
.a7-seg button[aria-selected="true"]{background:var(--canoT);color:var(--cano);box-shadow:0 5px 14px -7px rgba(0,0,0,.45)}
.a2-ph:has(.a7-seg){padding-bottom:16px}
.a2-ph:has(.a7-nextup) .a2-phtitle{margin-top:18px}
.a2-ph:has(.a7-nextup) .a7-seg{margin-top:20px}
.rd-screen[data-theme="dark"] .a7-seg{background:color-mix(in srgb,#000 30%,transparent)}

/* ======================================================================
   R57: the drawer holds still, the Money hero is in and out, the trip
   plan becomes an itinerary with a segregated document vault
   ====================================================================== */
/* --- the direction label keeps one box for both words, so the account never moves --- */
.a2-fromlab{display:grid;flex:none;place-items:start}
.a2-fromlab i{grid-area:1/1;font-style:normal;white-space:nowrap;opacity:0;transition:opacity var(--mo-quick)}
.a2-fromlab i.on{opacity:1}
/* --- the plus sign sits in a reserved slot on each side, so the figure stays centred --- */
.a2-bigamt u.sgn{display:inline-block;width:.34em;text-decoration:none;font-style:normal;font-size:.72em;font-weight:600;vertical-align:.04em}
.a2-bigamt.in u.sgn{color:var(--in)}
[data-dir="4t"] .a2-bigamt.in u.sgn{color:var(--acc)}
/* --- what it was for: one rail, one row, and an edge that says there is more --- */
.a2-catrail{position:relative}
.a2-catrail::after{content:"";position:absolute;right:0;top:0;bottom:0;width:38px;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--tile) 55%,var(--card)))}
.a2-catscr{display:flex;gap:8px;padding:10px 18px 12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}
.a2-catscr::-webkit-scrollbar{display:none}
.a2-cattile2{flex:none;scroll-snap-align:center;display:grid;justify-items:center;gap:8px;width:64px;padding:9px 4px 9px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--t2);cursor:pointer;transition:border-color var(--mo-quick),background var(--mo-quick),transform var(--mo-quick)}
.a2-cattile2:active{transform:scale(.96)}
.a2-cattile2 s{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--cg,var(--t3)) 14%,transparent);color:var(--cg,var(--t2));transition:background var(--mo-quick),color var(--mo-quick)}
.a2-cattile2 em{max-width:100%;font:600 10px/1 "Instrument Sans",sans-serif;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a2-cattile2[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--t1);box-shadow:0 1px 2px var(--shA)}
.a2-cattile2[aria-pressed="true"] s{background:var(--cg,var(--acc));color:var(--card)}
.a2-cattile2.add s{background:var(--tile);color:var(--t2)}
.a2-cattile2.add[aria-pressed="true"] s{background:var(--acc);color:var(--card)}
[data-theme="dark"] .a2-cattile2 s{background:color-mix(in srgb,var(--cg,var(--t3)) 30%,transparent);color:color-mix(in srgb,var(--cg,var(--t2)) 46%,#fff)}
[data-theme="dark"] .a2-cattile2[aria-pressed="true"] s{color:#0d0f0a}
/* --- Money's hero: two figures, icon beside the label, and real air above --- */
.a7-io2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.a7-io2 .c{display:flex;align-items:center;gap:11px;min-width:0;padding:14px 14px;border-radius:18px;background:var(--phChip);border:1px solid var(--phChipB)}
.a7-io2 .ic{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:11px;background:color-mix(in srgb,var(--canoT) 15%,transparent);color:var(--canoT)}
.a7-io2 .n{min-width:0}
.a7-io2 em{display:block;font:650 8.5px/1 var(--fl);letter-spacing:.15em;font-style:normal;color:var(--canoT2);white-space:nowrap}
.a7-io2 b{display:block;margin-top:8px;font:650 21px/1 var(--fd),sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--canoT);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a7-io2 .c.out .ic{background:color-mix(in srgb,var(--canoT) 10%,transparent)}
.a2-ph:has(.a7-io2){min-height:0;padding-bottom:18px}
.a2-ph:has(.a7-io2) .a2-phtitle{margin-top:18px}
.a2-ph:has(.a7-io2) .a7-seg{margin-top:18px}
/* header floor: nothing sits closer than 18px under a page title */
.a2-phtitle{margin-bottom:0}
.a2-ph .a6-iseg{margin-top:19px}
/* --- the itinerary hero: what is next, then the three readings --- */
.a7-nextup{display:flex;align-items:center;gap:13px;width:100%;box-sizing:border-box;margin:26px 0 0;padding:15px 2px 0;border:0;border-top:1px solid color-mix(in srgb,var(--canoT) 20%,transparent);background:none;color:var(--canoT);cursor:pointer;text-align:left;transition:opacity var(--mo-quick)}
.a7-nextup:active{opacity:.62}
.a7-nextup>s{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--canoT) 16%,transparent)}
.a7-nextup .n{flex:1;min-width:0}
.a7-nextup em{display:block;font:650 8.5px/1 var(--fl);letter-spacing:.15em;font-style:normal;color:color-mix(in srgb,var(--canoT) 66%,transparent)}
.a7-nextup b{display:block;margin-top:7px;font:650 15px/1.15 var(--fd),sans-serif;letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* --- the document vault: a group head that carries its own count --- */
.a7-vgrp{display:flex;align-items:center;gap:10px;margin:18px 22px 9px}
.a7-vgrp s{width:22px;height:22px;flex:none;border-radius:7px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2)}
.a7-vgrp em{flex:1;min-width:0;font:650 9px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t2)}
.a7-vgrp b{flex:none;font:650 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a7-vsum{display:flex;align-items:stretch;margin:4px 20px 0;border-radius:16px;background:var(--tile);border:1px solid var(--line)}
.a7-vsum>div{flex:1;min-width:0;padding:12px 13px}
.a7-vsum>i{width:1px;flex:none;background:var(--line)}
.a7-vsum em{display:block;font:600 7.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a7-vsum b{display:block;margin-top:8px;font:650 16px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-doc .n u{display:inline-block;margin-top:5px;text-decoration:none;font:650 8px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.a7-vacts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 20px 0}
/* --- shared money, pot by pot: each pot says whether it splits at all --- */
.a7-pot{display:block;width:calc(100% - 40px);box-sizing:border-box;margin:9px 20px 0;padding:14px 15px 13px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:left;cursor:pointer;transition:transform var(--mo-quick)}
.a7-pot:active{transform:scale(.985)}
.a7-pot .tp{display:flex;align-items:center;gap:12px}
.a7-pot .tp>s{width:34px;height:34px;flex:none;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--pc) 13%,transparent);color:var(--pc)}
.a7-pot .n{flex:1;min-width:0}
.a7-pot .n b{display:block;font:650 14.5px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.a7-pot .n small{display:block;margin-top:4px;font:450 11px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-pot .v{flex:none;font:650 16px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-pot .tp>svg{flex:none;color:var(--t3)}
.a7-pot .seg{display:flex;gap:2px;height:7px;margin-top:13px;border-radius:5px;overflow:hidden;background:var(--tile)}
.a7-pot .seg i{display:block;min-width:3px}
.a7-pot .ft{display:flex;align-items:center;gap:10px;margin-top:11px}
.a7-pot .pay{flex:1;min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px}
.a7-pot .pay b{display:flex;align-items:center;gap:5px;font:600 10px/1 "Instrument Sans",sans-serif;color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap}
.a7-pot .pay b i{width:6px;height:6px;border-radius:50%;flex:none}
.a7-pbadge{flex:none;padding:5px 8px;border-radius:7px;background:var(--tile);font:650 8px/1 var(--fl);letter-spacing:.11em;font-style:normal;color:var(--t3)}
.a7-pbadge.ev{background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--tabon)}
[data-theme="dark"] .a7-pbadge.ev{color:var(--acc)}
.a7-ppr{display:flex;align-items:center;gap:11px;margin:0 20px;padding:11px 0;border-bottom:1px solid var(--line)}
.a7-resf{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--tile);color:var(--t3)}
.a7-ppr .n{flex:1;min-width:0}
.a7-ppr .n b{display:block;font:650 13.5px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a7-ppr .n small{display:block;margin-top:4px;font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-ppr .v{flex:none;text-align:right}
.a7-ppr .v b{font:650 14.5px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a7-ppr .v u{display:block;margin-top:5px;text-decoration:none;font:650 8.5px/1 var(--fl);letter-spacing:.08em;color:var(--t3)}
.a7-ppr .v u.up{color:var(--phUp)}
.a7-ppr .v u.dn{color:var(--phDn)}
.a7-tick{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;border:1.5px solid var(--line2);background:var(--card);color:transparent}
.a7-tick.on{border-color:var(--acc);background:var(--acc);color:var(--cano)}
/* --- planning a trip: two real dates, and the currencies you will spend in --- */
.a7-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 20px}
.a7-two label{display:block;min-width:0}
.a7-two em{display:block;margin-bottom:7px;font:650 9px/1 var(--fl);letter-spacing:.13em;font-style:normal;color:var(--t3)}
.a7-two .a2-input{width:100%;box-sizing:border-box;font:600 13.5px/1 "Instrument Sans",sans-serif;color:var(--t1)}
.a7-two input[type="date"]{min-height:46px;appearance:none}
.a7-two input[type="date"]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}
.a7-hint{margin:9px 22px 0;font:450 11px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-curs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 20px}
.a7-curs button{display:grid;justify-items:start;gap:5px;padding:11px 11px 10px;border-radius:14px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:border-color var(--mo-quick),background var(--mo-quick),transform var(--mo-quick)}
.a7-curs button:active{transform:scale(.96)}
.a7-curs button b{font:650 13px/1 var(--fd),sans-serif;letter-spacing:-.01em;color:var(--t1)}
.a7-curs button em{max-width:100%;font:450 9.5px/1.2 "Instrument Sans",sans-serif;font-style:normal;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a7-curs button[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);box-shadow:0 1px 2px var(--shA)}
.a7-curs button[aria-pressed="true"] b{color:var(--tabon)}
[data-theme="dark"] .a7-curs button[aria-pressed="true"] b{color:var(--acc)}
/* --- larger figures, from Settings: the same layout, read from further away --- */
[data-big="1"] .rd-amt{font-size:44px}
[data-big="1"] .a2-phtitle{font-size:35px}
[data-big="1"] .a2-phstat .c b,[data-big="1"] .a7-io2 b{font-size:24px}
[data-big="1"] .rd-row>span>b,[data-big="1"] .rd-lrow b{font-size:15px}
[data-big="1"] .rd-row .end,[data-big="1"] .rd-lrow .end{font-size:15.5px}
[data-big="1"] .a2-cat b,[data-big="1"] .a7-pers .v,[data-big="1"] .a7-pot .v{font-size:18px}
[data-big="1"] .rd-row>span>small,[data-big="1"] .rd-lrow small{font-size:12px}
[data-big="1"] .a2-tmeta span,[data-big="1"] .rd-sh2 em{font-size:10.5px}
/* --- travel today: what is left, and what that leaves a day --- */
.a2-tpace{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.a2-tpace .c{min-width:0;padding:12px 13px;border-radius:16px;background:var(--phChip);border:1px solid var(--phChipB)}
.a2-tpace em{display:block;font:650 8.5px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--canoT2);white-space:nowrap}
.a2-tpace b{display:block;margin-top:9px;font:650 19px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--canoT);white-space:nowrap}
.a2-tpace small{display:block;margin-top:6px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--canoT2)}
/* --- four quick links, as real cards --- */
.a2-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 20px 0}
.a2-quick button{display:grid;justify-items:center;gap:9px;padding:13px 4px 11px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);color:var(--t1);font:650 10.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:transform var(--mo-quick),border-color var(--mo-quick)}
.a2-quick button:active{transform:scale(.95)}
.a2-quick button>s{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;text-decoration:none;background:var(--wash);color:var(--tabon)}
.a2-quick button:hover{border-color:var(--acc)}
[data-theme="dark"] .a2-quick button>s{color:var(--acc)}
/* --- an empty page that offers a way out rather than an apology --- */
.a2-none{margin:14px 20px 0;padding:22px 20px 20px;border-radius:22px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:center}
.a2-none .ghosts{display:flex;justify-content:center;gap:8px;margin-bottom:18px}
.a2-none .ghosts i{width:52px;height:64px;border-radius:14px;border:1.5px dashed var(--line2);background:var(--tile)}
.a2-none .ghosts i:nth-child(2){transform:translateY(-6px);border-style:solid;border-color:var(--acc);background:var(--wash)}
.a2-none .ghosts.rows{flex-direction:column;align-items:stretch;gap:7px;padding:0 22px}
.a2-none .ghosts.rows i{width:auto;height:16px;border-radius:8px;transform:none}
.a2-none .ghosts.rows i:nth-child(2){width:70%;align-self:center}
.a2-none .ghosts.rows i:nth-child(3){width:45%;align-self:center}
.a2-none h3{margin:0;font:650 20px/1.2 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--t1)}
.a2-none p{margin:9px auto 0;max-width:31ch;font:450 12.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-none .acts{display:grid;gap:9px;margin-top:18px}
.a2-none .acts .a2-gold{width:100%}
/* --- convert: two accounts, three linked figures, no scroll --- */
.a7-xch{position:relative;display:grid;gap:9px;margin:4px 18px 0;padding:13px;border-radius:18px;background:var(--tile);border:1px solid var(--line)}
.a7-xside em{display:block;font:650 8.5px/1 var(--fl);letter-spacing:.15em;font-style:normal;color:var(--t3)}
.a7-xside .r{display:flex;align-items:center;gap:9px;margin-top:8px}
.a7-xside .cc{display:flex;align-items:center;gap:7px;flex:none;min-height:42px;padding:0 11px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--t1);font:650 13px/1 var(--fd),sans-serif;cursor:pointer}
.a7-xside .cc s{text-decoration:none;font-size:14px;color:var(--t2)}
.a7-xside .ac{flex:1;min-width:0;min-height:42px;padding:6px 12px;border-radius:13px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left}
.a7-xside .ac b{display:block;font:650 12.5px/1.2 "Instrument Sans",sans-serif;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a7-xside .ac small{display:block;margin-top:3px;font:450 10px/1.2 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-xswap{position:absolute;right:20px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--t2);cursor:pointer;box-shadow:0 1px 3px var(--shA);z-index:2}
.a7-xfields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 18px 0}
.a7-xfields .f.wide{grid-column:1/-1}
.a7-xfields em{display:block;margin-bottom:7px;font:650 8.5px/1 var(--fl);letter-spacing:.13em;font-style:normal;color:var(--t3)}
.a7-xfields span{display:flex;align-items:center;gap:2px;padding-left:12px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
.a7-xfields span:focus-within{border-color:var(--acc)}
.a7-xfields i{flex:none;font-style:normal;font:650 15px/1 var(--fd),sans-serif;color:var(--t3)}
.a7-xfields .a2-input{flex:1;min-width:0;border:0;background:none;padding:0 12px 0 4px;min-height:48px;font:650 18px/1 var(--fd),sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.a7-xfields .f.wide .a2-input{font-size:22px}
.a7-xout{margin:12px 18px 0;padding:13px 14px;border-radius:16px;background:var(--tile);border:1px solid var(--line)}
.a7-xout .ln{display:flex;align-items:center;gap:10px;padding:5px 0}
.a7-xout .ln s{width:20px;height:20px;flex:none;border-radius:7px;display:grid;place-items:center;text-decoration:none}
.a7-xout .ln s.dn{background:color-mix(in srgb,var(--out) 15%,transparent);color:var(--out)}
.a7-xout .ln s.up{background:color-mix(in srgb,var(--in) 16%,transparent);color:var(--in)}
.a7-xout .ln b{flex:1;min-width:0;font:650 13px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums}
.a7-xout .ln u{flex:none;text-decoration:none;font:450 10.5px/1 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-xout p{margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line);font:450 11px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}

/* ======================================================================
   R62: uploading papers, reading them, and what is nearby
   ====================================================================== */
.d6-drop{display:grid;justify-items:center;gap:9px;width:calc(100% - 36px);box-sizing:border-box;margin:6px 18px 0;padding:26px 20px 24px;border-radius:20px;border:1.5px dashed color-mix(in srgb,var(--acc) 45%,transparent);background:var(--wash);cursor:pointer;text-align:center;transition:border-color var(--mo-quick),transform var(--mo-quick)}
.d6-drop:active{transform:scale(.99)}
.d6-drop:hover{border-color:var(--acc)}
.d6-drop s{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;text-decoration:none;background:var(--card);border:1px solid var(--line);color:var(--tabon)}
.d6-drop b{font:650 16px/1.2 var(--fd),sans-serif;letter-spacing:-.025em;color:var(--t1)}
.d6-drop small{max-width:34ch;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
[data-theme="dark"] .d6-drop s{color:var(--acc)}
.d6-two{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 18px 0}
.d6-two>div{padding:13px 13px 12px;border-radius:16px;background:var(--tile);border:1px solid var(--line)}
.d6-two s{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;text-decoration:none;background:var(--card);border:1px solid var(--line);color:var(--t2)}
.d6-two b{display:block;margin-top:10px;font:650 12.5px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.d6-two em{display:block;margin-top:6px;font:450 10.5px/1.5 "Instrument Sans",sans-serif;font-style:normal;color:var(--t3)}
.d6-reading{display:grid;justify-items:center;padding:16px 18px 6px}
.d6-reading .orb{position:relative;display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:var(--wash);color:var(--tabon)}
.d6-reading .orb i{position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--acc) 50%,transparent);animation:d6pulse 2s ease-out infinite}
.d6-reading .orb i:nth-child(2){animation-delay:1s}
@keyframes d6pulse{0%{transform:scale(.86);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.d6-reading .lab{margin:14px 0 0;font:650 13px/1 var(--fd),sans-serif;letter-spacing:-.01em;color:var(--t1)}
.d6-reading .lines{width:100%;margin-top:14px;display:grid;gap:8px}
.d6-reading .ln{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:13px;background:var(--tile);border:1px solid var(--line);animation:rdUp .34s cubic-bezier(.16,1,.3,1) both}
.d6-reading .ln s{width:20px;height:20px;flex:none;border-radius:7px;display:grid;place-items:center;text-decoration:none}
.d6-reading .ln s.ok{background:color-mix(in srgb,var(--in) 18%,transparent);color:var(--in)}
.d6-reading .ln s.no{background:var(--card);border:1px solid var(--line2);color:var(--t3)}
.d6-reading .ln b{display:block;font:650 12.5px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d6-reading .ln small{display:block;margin-top:3px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--t3)}
.d6-reading .ln span{flex:1;min-width:0}
.d6-reading .hon{display:flex;align-items:center;gap:6px;margin-top:16px;font:650 8.5px/1 var(--fl);letter-spacing:.15em;font-style:normal;color:var(--t3)}
.d6-card{margin:12px 18px 0;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.d6-card .h{display:flex;align-items:center;gap:11px}
.d6-card .h>s{width:34px;height:34px;flex:none;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2)}
.d6-card .n{flex:1;min-width:0}
.d6-card .n b{display:block;font:650 14px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d6-card .n small{display:block;margin-top:4px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d6-card .h em{flex:none;padding:5px 8px;border-radius:7px;background:var(--tile);font:650 8px/1 var(--fl);letter-spacing:.11em;font-style:normal;color:var(--t3)}
.d6-card .h em.ok{background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--tabon)}
[data-theme="dark"] .d6-card .h em.ok{color:var(--acc)}
.d6-card .why{margin:11px 0 0;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t2)}
.d6-card .grps{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.d6-card .grps button{display:flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border-radius:10px;border:1px solid var(--line);background:var(--tile);color:var(--t3);font:600 10.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:border-color var(--mo-quick),color var(--mo-quick)}
.d6-card .grps button[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--t1)}
.d6-plan{display:flex;align-items:center;gap:11px;width:100%;box-sizing:border-box;margin-top:11px;padding:11px 12px;border-radius:14px;border:1px dashed var(--line2);background:var(--tile);cursor:pointer;text-align:left}
.d6-plan[aria-pressed="true"]{border-style:solid;border-color:var(--acc);background:var(--wash)}
.d6-plan b{display:block;font:650 12px/1.2 "Instrument Sans",sans-serif;color:var(--t1)}
.d6-plan small{display:block;margin-top:3px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--t3)}
.d6-plan i{flex:none}
.d6-plan.out{border-style:solid;border-color:color-mix(in srgb,var(--out) 40%,transparent);background:color-mix(in srgb,var(--out) 6%,var(--tile));cursor:default}
.d6-plan.out b{color:var(--out)}
/* a pot's kind, picked as three cards rather than a switch */
.p7-kinds{display:grid;gap:8px;margin:0 20px}
.p7-kinds button{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:3px 12px;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:border-color var(--mo-quick),background var(--mo-quick),transform var(--mo-quick)}
.p7-kinds button:active{transform:scale(.99)}
.p7-kinds s{grid-row:1/3;align-self:start;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2)}
.p7-kinds b{font:650 14px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.p7-kinds em{font:450 11px/1.5 "Instrument Sans",sans-serif;font-style:normal;color:var(--t3)}
.p7-kinds button[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);box-shadow:0 1px 2px var(--shA)}
.p7-kinds button[aria-pressed="true"] s{background:var(--acc);color:var(--cano)}
.p7-kinds button[aria-pressed="true"] em{color:var(--t2)}
/* what a couple pot put on a card, and what left by hand */
.p7-cards{margin:4px 20px 0;padding:14px 15px 13px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA)}
.p7-cards .sum{display:flex;align-items:stretch;padding-bottom:12px;border-bottom:1px solid var(--line)}
.p7-cards .sum>div{flex:1;min-width:0}
.p7-cards .sum>div:last-child{padding-left:14px}
.p7-cards .sum>i{width:1px;flex:none;background:var(--line)}
.p7-cards .sum em{display:block;font:650 8px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t3)}
.p7-cards .sum b{display:block;margin-top:8px;font:650 20px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--t1)}
.p7-cards .sum small{display:block;margin-top:5px;font:450 10px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.p7-cards .row{display:grid;grid-template-columns:26px minmax(0,1fr) 66px auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.p7-cards .row s{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t2)}
.p7-cards .row>span:nth-child(2){font:600 12px/1.2 "Instrument Sans",sans-serif;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p7-cards .row .mt{height:6px;border-radius:4px;background:var(--tile);overflow:hidden}
.p7-cards .row .mt i{display:block;height:100%;border-radius:4px;background:var(--tabon)}
.p7-cards .row b{font:650 12.5px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.p7-cards p{margin:12px 0 0;font:450 11px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
.p7-kindnote{display:flex;align-items:center;gap:11px;margin:12px 20px 0;padding:12px 13px;border-radius:16px;background:var(--wash);border:1px solid color-mix(in srgb,var(--acc) 34%,transparent)}
.p7-kindnote s{width:28px;height:28px;flex:none;border-radius:10px;display:grid;place-items:center;text-decoration:none;background:var(--card);color:var(--tabon)}
.p7-kindnote span{flex:1;min-width:0;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t2)}
[data-theme="dark"] .p7-kindnote s{color:var(--acc)}
.p7-split{display:flex;gap:2px;height:9px;margin:10px 20px 0;border-radius:6px;overflow:hidden;background:var(--tile)}
.p7-split i{display:block;min-width:3px;transition:width var(--mo-base)}
.p7-env{display:block;width:calc(100% - 40px);box-sizing:border-box;margin:9px 20px 0;padding:13px 15px 12px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:left;cursor:pointer;transition:transform var(--mo-quick),border-color var(--mo-quick)}
.p7-env:active{transform:scale(.985)}
.p7-env:hover{border-color:color-mix(in srgb,var(--ec) 55%,transparent)}
.p7-env .tp{display:flex;align-items:center;gap:11px}
.p7-env .tp>s{width:32px;height:32px;flex:none;border-radius:11px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--ec) 14%,transparent);color:var(--ec)}
.p7-env .n{flex:1;min-width:0}
.p7-env .n b{display:block;font:650 14px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.p7-env .n small{display:block;margin-top:4px;font:450 10.5px/1.35 "Instrument Sans",sans-serif;color:var(--t3)}
.p7-env .v{flex:none;text-align:right;font:650 16px/1 var(--fd),sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--t1)}
.p7-env .v u{display:block;margin-top:5px;text-decoration:none;font:650 8px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.p7-env .mt{display:block;height:6px;margin-top:11px;border-radius:4px;background:var(--tile);overflow:hidden}
.p7-env .mt i{display:block;height:100%;border-radius:4px;background:var(--ec);transition:width var(--mo-base)}
/* ---- R64: motion. Tabs slide, pages settle, a shared file flies away. ---- */
.a7-seg button,.a7-whoc button,.a6-iseg button,.a2-fseg button,.a2-cvseg button{position:relative;transition:background var(--mo-base),color var(--mo-base),transform var(--mo-quick)}
.a7-seg button:active,.a7-whoc button:active,.a6-iseg button:active,.a2-cvseg button:active{transform:scale(.965)}
.a2-body>*{animation:p7fade .32s cubic-bezier(.16,1,.3,1) both}
@keyframes p7fade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.rd-screen-in{animation:p7in .34s cubic-bezier(.16,1,.3,1) both}
@keyframes p7in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.r8-fly{position:fixed;inset:0;z-index:240;display:grid;place-items:center;background:rgba(10,14,6,.42);backdrop-filter:blur(3px);animation:p7fade .2s ease both}
.r8-fly .pg{width:66px;height:86px;border-radius:7px;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 18px 40px -18px rgba(0,0,0,.5);display:grid;gap:6px;align-content:start;padding:12px 10px 0;animation:p7fly 1.05s cubic-bezier(.5,0,.4,1) both}
.r8-fly .pg i{height:3px;border-radius:2px;background:#dcdcd6}
.r8-fly .pg i:nth-child(1){width:80%}.r8-fly .pg i:nth-child(2){width:58%}.r8-fly .pg i:nth-child(3){width:70%}.r8-fly .pg i:nth-child(4){width:40%}
.r8-fly .band{position:absolute;left:0;right:0;top:0;height:10px;border-radius:6px 6px 0 0;background:var(--acc)}
@keyframes p7fly{0%{transform:translateY(40px) scale(.9) rotate(-3deg);opacity:0}22%{transform:none;opacity:1}62%{transform:translate(0,-8px) scale(1.02) rotate(2deg);opacity:1}100%{transform:translate(38vw,-58vh) scale(.34) rotate(16deg);opacity:0}}
.r8-fly .lab{position:absolute;bottom:22%;left:0;right:0;text-align:center;font:650 11px/1.5 "Instrument Sans",sans-serif;color:#fff;animation:p7fade .3s .16s both}
.r8-fly .trail{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--acc);animation:p7trail 1.05s cubic-bezier(.5,0,.4,1) both}
/* the greeting gets the room the search button used to take */
.a2-greet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* search lives in the notification shade now */
.a2-shfind{display:flex;align-items:center;gap:11px;width:100%;box-sizing:border-box;margin:10px 0 4px;padding:12px 13px;border-radius:15px;border:1px solid color-mix(in srgb,var(--canoT) 22%,transparent);background:color-mix(in srgb,var(--canoT) 10%,transparent);color:var(--canoT);cursor:pointer;text-align:left;transition:background var(--mo-quick)}
.a2-shfind:active{background:color-mix(in srgb,var(--canoT) 18%,transparent)}
.a2-shfind>s{width:30px;height:30px;flex:none;border-radius:11px;display:grid;place-items:center;text-decoration:none;background:color-mix(in srgb,var(--canoT) 16%,transparent)}
.a2-shfind span{flex:1;min-width:0}
.a2-shfind b{display:block;font:650 13px/1.2 var(--fd),sans-serif;letter-spacing:-.02em}
.a2-shfind small{display:block;margin-top:3px;font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:var(--canoT2)}
.a2-shfind>svg{flex:none;opacity:.6}
/* a card's delta line stays on one line whatever the figure */
.rd-card .sub,.rd-card small,.a2-cardsub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n6-here{display:flex;align-items:center;gap:11px;margin:12px 20px 0;padding:12px 13px;border-radius:16px;background:var(--tile);border:1px solid var(--line)}
.n6-here s{width:30px;height:30px;flex:none;border-radius:11px;display:grid;place-items:center;text-decoration:none;background:var(--card);border:1px solid var(--line);color:var(--tabon)}
.n6-here b{display:block;font:650 13px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.n6-here small{display:block;margin-top:4px;font:450 10.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
[data-theme="dark"] .n6-here s{color:var(--acc)}
.n6-ask{display:flex;align-items:center;gap:12px;width:calc(100% - 40px);box-sizing:border-box;margin:10px 20px 0;padding:14px;border-radius:18px;border:1px solid var(--acc);background:var(--wash);cursor:pointer;text-align:left;transition:transform var(--mo-quick)}
.n6-ask:active{transform:scale(.985)}
.n6-ask>s{width:38px;height:38px;flex:none;border-radius:14px;display:grid;place-items:center;text-decoration:none;background:var(--card);border:1px solid var(--line);color:var(--tabon)}
.n6-ask .n{flex:1;min-width:0}
.n6-ask b{display:block;font:650 14.5px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.n6-ask small{display:block;margin-top:5px;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t2)}
.n6-ask>svg{flex:none;color:var(--t3)}
[data-theme="dark"] .n6-ask>s{color:var(--acc)}
.n6-taste{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 20px 0;padding:11px 13px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.n6-taste>em{width:100%;font:650 8.5px/1 var(--fl);letter-spacing:.15em;font-style:normal;color:var(--t3)}
.n6-taste .cs{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:6px}
.n6-taste .cs b{padding:5px 9px;border-radius:8px;background:var(--wash);font:600 10.5px/1 "Instrument Sans",sans-serif;color:var(--tabon)}
.n6-taste .cs b.none{background:var(--tile);color:var(--t3)}
.n6-taste>button{flex:none;display:flex;align-items:center;gap:5px;min-height:30px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--tile);color:var(--t2);font:600 10.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
[data-theme="dark"] .n6-taste .cs b{color:var(--acc)}
.n6-card{display:block;width:calc(100% - 40px);box-sizing:border-box;margin:9px 20px 0;padding:14px 15px 13px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:left;cursor:pointer;transition:transform var(--mo-quick),border-color var(--mo-quick)}
.n6-card:active{transform:scale(.985)}
.n6-card.hit{border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
.n6-card .h{display:flex;align-items:center;gap:9px}
.n6-card .h b{flex:1;min-width:0;font:650 15px/1.2 var(--fd),sans-serif;letter-spacing:-.025em;color:var(--t1)}
.n6-card .h em{flex:none;padding:4px 8px;border-radius:7px;background:var(--wash);font:650 8px/1 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--tabon)}
[data-theme="dark"] .n6-card .h em{color:var(--acc)}
.n6-card>small{display:block;margin-top:7px;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.n6-card .f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}
.n6-card .f span{display:flex;align-items:center;gap:5px;min-width:0;font:600 10.5px/1 "Instrument Sans",sans-serif;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.n6-card .f span svg{flex:none;color:var(--t3)}
.n6-card .f u{flex:none;text-decoration:none;font:650 11.5px/1 var(--fd),sans-serif;color:var(--t1);font-variant-numeric:tabular-nums}
.n6-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 18px 0}
.n6-tags button{min-height:38px;padding:0 13px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 12px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:border-color var(--mo-quick),background var(--mo-quick)}
.n6-tags button[aria-pressed="true"]{border-color:var(--acc);background:var(--wash);color:var(--t1)}
/* --- today: the facts under the figure, no bar --- */
.a2-tmeta{display:flex;align-items:center;gap:11px;margin-top:15px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--canoT) 16%,transparent)}
.a2-tmeta span{font:650 9px/1 var(--fl);letter-spacing:.12em;color:color-mix(in srgb,var(--canoT) 70%,transparent);white-space:nowrap;font-variant-numeric:tabular-nums}
.a2-tmeta i{width:1px;height:11px;flex:none;background:color-mix(in srgb,var(--canoT) 22%,transparent)}
/* --- sharing a trip: one PDF, three ways out --- */
.r8-prev{display:flex;align-items:center;gap:14px;width:calc(100% - 36px);box-sizing:border-box;margin:4px 18px 0;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;text-align:left;transition:transform var(--mo-quick)}
.r8-prev:active{transform:scale(.985)}
.r8-prev .pg{position:relative;flex:none;width:46px;height:60px;padding:0 7px;border-radius:4px;background:#fff;border:1px solid var(--line2);box-shadow:0 3px 8px -4px var(--shA);display:grid;gap:4px;align-content:start}
.r8-prev .pg .band{position:absolute;left:0;right:0;top:0;height:9px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--h1),var(--h1))}
.r8-prev .pg em{margin-top:15px;font:650 5.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r8-prev .pg i{height:2px;border-radius:2px;background:#dcdcd6}
.r8-prev .n{flex:1;min-width:0}
.r8-prev .n em{display:block;font:650 8px/1 var(--fl);letter-spacing:.15em;font-style:normal;color:var(--t3)}
.r8-prev .n b{display:block;margin-top:7px;font:650 14.5px/1.2 var(--fd),sans-serif;letter-spacing:-.022em;color:var(--t1)}
.r8-prev .n small{display:block;margin-top:5px;font:450 11px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.r8-prev>svg{flex:none;color:var(--t3)}
.r8-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 18px 14px}
.r8-ways button{display:grid;justify-items:center;gap:10px;padding:15px 6px 13px;border-radius:18px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px var(--shA);color:var(--t1);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:transform var(--mo-quick),border-color var(--mo-quick)}
.r8-ways button:active{transform:scale(.96)}
.r8-ways button>s{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;text-decoration:none;background:var(--tile);color:var(--t1)}
.r8-ways button.wa>s{background:#25d366;color:#fff}
.r8-ways button.dl>s{background:var(--gold);color:var(--cano)}
[data-theme="dark"] .r8-ways button.dl>s{color:#1a110a}
.r8-ways button:hover{border-color:var(--acc)}
/* --- the report, built like a document --- */
.r8-bar{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--line)}
.r8-bar button{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--t1);cursor:pointer}
.r8-bar em{flex:1;min-width:0;text-align:center;font:650 9px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:var(--t3)}
.r8-paper{margin:16px;padding-bottom:22px;border-radius:5px;background:var(--card);border:1px solid var(--line);box-shadow:0 26px 50px -34px var(--shA),0 1px 3px var(--shA);overflow:hidden}
.r8-cover{padding:22px 22px 20px;background:linear-gradient(150deg,var(--h1),var(--h2));color:#fff}
.r8-cover .mw{display:flex;align-items:center;gap:7px;font:650 9px/1 var(--fl);letter-spacing:.2em;color:rgba(255,255,255,.85)}
.r8-cover .mw i{width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:7px 0 0 -2px rgba(255,255,255,.45)}
.r8-cover em{display:block;margin-top:20px;font:650 8.5px/1 var(--fl);letter-spacing:.22em;font-style:normal;color:rgba(255,255,255,.78)}
.r8-cover h2{margin:11px 0 0;font:650 34px/1 var(--fd),sans-serif;letter-spacing:-.045em}
.r8-cover p{margin:8px 0 0;font:450 12.5px/1.4 "Instrument Sans",sans-serif;color:rgba(255,255,255,.85)}
.r8-cover .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.r8-cover .tags b{padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.18);font:650 8px/1 var(--fl);letter-spacing:.12em}
.r8-figs{display:grid;grid-template-columns:1fr 1fr;padding:0 22px}
.r8-figs>div{padding:16px 0;border-bottom:1px solid var(--line)}
.r8-figs>div:nth-child(odd){padding-right:12px;border-right:1px solid var(--line)}
.r8-figs>div:nth-child(even){padding-left:14px}
.r8-figs>div:nth-child(3),.r8-figs>div:nth-child(4){border-bottom:0}
.r8-figs em{display:block;font:650 8px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t3)}
.r8-figs b{display:block;margin-top:9px;font:650 21px/1 var(--fd),sans-serif;letter-spacing:-.038em;font-variant-numeric:tabular-nums;color:var(--t1)}
.r8-sec{display:flex;align-items:baseline;gap:10px;margin:24px 22px 0;padding-bottom:9px;border-bottom:1.5px solid var(--t1)}
.r8-sec u{flex:none;text-decoration:none;font:650 9px/1 var(--fl);letter-spacing:.1em;color:var(--t3)}
.r8-sec em{flex:1;min-width:0;font:650 15px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-style:normal;color:var(--t1)}
.r8-sec b{flex:none;font:650 8.5px/1 var(--fl);letter-spacing:.1em;color:var(--t3);font-variant-numeric:tabular-nums}
.r8-rows{padding:0 22px}
.r8-cat{display:grid;grid-template-columns:72px 1fr auto 32px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.r8-cat>span:first-child{font:600 12px/1.2 "Instrument Sans",sans-serif;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r8-cat .mt{height:6px;border-radius:4px;background:var(--tile);overflow:hidden}
.r8-cat .mt i{display:block;height:100%;border-radius:4px;background:var(--mc,var(--acc))}
.r8-cat b{font:650 13px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.r8-cat u{text-decoration:none;text-align:right;font:650 9px/1 var(--fl);color:var(--t3);font-variant-numeric:tabular-nums}
.r8-bars{display:flex;align-items:flex-end;gap:6px;margin:16px 22px 0}
.r8-bars .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.r8-bars .col u{text-decoration:none;font:650 7.5px/1 var(--fl);color:var(--t3);height:8px}
.r8-bars .col i{width:100%;max-width:26px;border-radius:3px 3px 0 0;background:var(--tabon)}
.r8-bars .col em{font:650 8.5px/1 var(--fl);font-style:normal;color:var(--t3)}
.r8-per{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}
.r8-per .n{flex:1;min-width:0}
.r8-per .n b{display:block;font:650 13px/1.2 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.r8-per .n small{display:block;margin-top:4px;font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.r8-per .v{flex:none;text-align:right}
.r8-per .v b{font:650 14px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.r8-per .v u{display:block;margin-top:5px;text-decoration:none;font:650 8px/1 var(--fl);letter-spacing:.09em;color:var(--t3)}
.r8-note{margin:16px 22px 0;padding:13px;border-radius:10px;background:var(--tile);font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t2)}
.r8-note b{font-weight:650;color:var(--t1)}
.r8-day{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;padding-bottom:7px;border-bottom:1px solid var(--line2);font:650 8.5px/1 var(--fl);letter-spacing:.13em;color:var(--t2);font-variant-numeric:tabular-nums}
.r8-ent{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.r8-ent .n{flex:1;min-width:0}
.r8-ent .n b{display:block;font:600 12px/1.3 "Instrument Sans",sans-serif;color:var(--t1)}
.r8-ent .n small{display:block;margin-top:3px;font:450 10px/1.3 "Instrument Sans",sans-serif;color:var(--t3)}
.r8-ent>b{flex:none;font:650 12.5px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums;color:var(--t1)}
.r8-sign{display:flex;align-items:flex-end;gap:16px;margin:20px 22px 0;padding-top:15px;border-top:1.5px solid var(--t1)}
.r8-sign p{flex:1;min-width:0;margin:0;font:450 10.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}
.r8-sign span{flex:none;text-align:right}
.r8-sign span b{display:block;font:650 11px/1 var(--fd),sans-serif;color:var(--t1)}
.r8-sign span em{display:block;margin-top:6px;font:650 7.5px/1.4 var(--fl);letter-spacing:.1em;font-style:normal;color:var(--t3)}
.r8-acts{margin:0 16px 96px}
.r8-acts .a2-gold{width:100%}

/* ======================================================================
   R66 — the entry read as a receipt, the log drawer's account picker in two
   groups, and Convert rebuilt as an exchange ticket that fits on one screen.
   ====================================================================== */
.a2-enh{display:flex;align-items:center;gap:14px;padding:2px 20px 12px}
.a2-encr{width:46px;height:46px;border-radius:15px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--gc) 16%,var(--tile));color:var(--gc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gc) 26%,transparent)}
.a2-enamtw{display:flex;flex-direction:column;gap:3px;min-width:0}
.a2-enold{font:500 12px/1 var(--fl);color:var(--t3);text-decoration:line-through}
.a2-enamt{font:700 32px/1 var(--fl);letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums}
.a2-enamt.in{color:var(--in)}
.a2-enchips{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 14px}
.a2-enchip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:9px;background:var(--tile);border:1px solid var(--line);font:650 9.5px/1 var(--fl);letter-spacing:.09em;color:var(--t2)}
.a2-enchip.on{background:color-mix(in srgb,var(--gc) 13%,var(--card));border-color:color-mix(in srgb,var(--gc) 30%,transparent);color:var(--t1)}
.a2-engrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 18px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 14px 30px -26px var(--shA)}
.a2-engrid>div{background:var(--card);padding:11px 13px 12px;min-height:50px}
.a2-engrid>div:last-child:nth-child(odd){grid-column:1/-1}
.a2-engrid em{display:block;font-style:normal;font:650 9px/1 var(--fl);letter-spacing:.13em;color:var(--t3);margin-bottom:6px}
.a2-engrid b{display:block;font:600 13.5px/1.3 var(--fl);color:var(--t1);word-break:break-word}
.a2-enpap{padding:16px 18px 4px}
.a2-enacts{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:9px}
.a2-enacts .a2-line{width:100%}
.a2-enfoot{margin:9px 4px 0;font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3);text-align:center}
.a2-lmlab.brk{margin-top:7px;padding-top:9px;border-top:1px solid var(--line)}
.a7-cvtk{position:relative;margin:2px 18px 0;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 16px 34px -28px var(--shA);overflow:hidden}
.a7-cvrow{display:grid;grid-template-columns:34px auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 62px 11px 13px}
.a7-cvrow+.a7-cvrow{border-top:1px solid var(--line)}
.a7-cvrow .lab{font:650 8.5px/1 var(--fl);letter-spacing:.14em;color:var(--t3)}
.a7-cvrow .cur{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:0 9px;border-radius:11px;border:1px solid var(--line2);background:var(--tile);color:var(--t1);font:650 12px/1 var(--fl);letter-spacing:.03em;cursor:pointer}
.a7-cvrow .cur s{text-decoration:none;font:700 13px/1 var(--fl);color:var(--t2)}
.a7-cvrow .act{min-width:0;display:block;text-align:left;border:0;background:none;padding:0;cursor:pointer}
.a7-cvrow .act b{display:block;font:650 13.5px/1.2 var(--fl);color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a7-cvrow .act em{display:block;font-style:normal;font:500 11px/1.3 "Instrument Sans",sans-serif;color:var(--t3);margin-top:3px}
.a7-cvswap{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:13px;display:grid;place-items:center;border:1px solid var(--line2);background:var(--card);color:var(--t1);cursor:pointer;box-shadow:0 0 0 5px var(--card),0 10px 20px -14px var(--shA);z-index:2}
.a7-cvswap:active{transform:translateY(-50%) scale(.94)}
.a7-cvdesk{margin:12px 18px 0;padding:13px 16px 13px;border-radius:18px;background:var(--tile);border:1px solid var(--line)}
.a7-cvbig{display:flex;flex-direction:column;gap:5px}
.a7-cvbig em,.a7-cvgot em{font-style:normal;font:650 8.5px/1 var(--fl);letter-spacing:.14em;color:var(--t3)}
.a7-cvbig label{display:flex;align-items:baseline;gap:7px}
.a7-cvbig i{font-style:normal;font:600 20px/1 var(--fl);color:var(--t3)}
.a7-cvbig input{flex:1;min-width:0;padding:0;border:0;background:none;outline:none;color:var(--t1);font:700 34px/1.05 var(--fl);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.a7-cvgot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:11px;border-top:1px dashed var(--line2)}
.a7-cvgot b{font:700 21px/1 var(--fl);color:var(--t1);font-variant-numeric:tabular-nums}
.a7-cvrate{display:flex;align-items:center;gap:8px;margin-top:11px}
.a7-cvrate label{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:0 12px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.a7-cvrate em{font-style:normal;font:650 8.5px/1 var(--fl);letter-spacing:.12em;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a7-cvrate input{width:78px;flex:none;border:0;background:none;outline:none;text-align:right;color:var(--t1);font:650 15px/1 var(--fl);font-variant-numeric:tabular-nums}
.a7-cvrate>button{flex:none;min-height:42px;padding:0 12px;border-radius:12px;border:1px dashed var(--line2);background:none;color:var(--t2);font:600 11px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a7-cvquick{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.a7-cvquick button{min-height:32px;padding:0 11px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--t2);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a7-cvquick button:active{transform:scale(.96)}
.a7-cvout{margin:12px 18px 2px;padding:11px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.a7-cvout .ln{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:center;padding:5px 0}
.a7-cvout .ln s{text-decoration:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center}
.a7-cvout .ln s.dn{background:color-mix(in srgb,var(--out) 14%,transparent);color:var(--out)}
.a7-cvout .ln s.up{background:color-mix(in srgb,var(--in) 14%,transparent);color:var(--in)}
.a7-cvout .ln b{font:600 13px/1.2 var(--fl);color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a7-cvout .ln u{text-decoration:none;font:650 13px/1 var(--fl);color:var(--t1);font-variant-numeric:tabular-nums}
.a7-cvout p{margin:7px 0 0;padding-top:8px;border-top:1px solid var(--line);font:450 11px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-cvhint{margin:12px 22px 2px;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a7-cvnote{margin:9px 4px 0;font:450 10.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3);text-align:center}

/* R66: a scroller is masked so nothing shows under the dock, and a mask makes a stacking
   context - which used to bury any sheet opened from inside one. Drop the mask while a sheet
   is up, so the sheet and its buttons sit above the dock where they belong. */
.a2-scr .rd-scroll:has(.rd-sheet),.a2-cvscroll:has(.rd-sheet),.a2-cvlist:has(.rd-sheet){-webkit-mask-image:none;mask-image:none}

/* ======================================================================
   R67 — night, turned up. The canopy and every hero plinth stop being a
   darker shade of the page and become the brand at full voltage: neon lime
   in the money app, neon tangerine on a trip, with ink text on top. The rest
   of the palette gains chroma so surfaces read alive rather than grey.
   ====================================================================== */
.rd-screen[data-dir="4a"][data-theme="dark"]{--bg:#080c05;--card:#161f0c;--tile:#1f2c11;--line:#2d3f18;--line2:#4a6828;--t1:#f4ffe2;--t2:#c3d6a6;--t3:#93a878;--acc:#ccff33;--on:#0c1204;--wash:#20300f;--pop:#ffb15c;--in:#9dff5a;--out:#ff8871;--tabon:#ccff33;--gold:#ccff33;--cano:#c9ff3d;--canoT:#101a04;--canoT2:#3d5810;--phUp:#1e3305;--phDn:#7d1e08;--phLine:rgba(16,26,4,.20);--phChip:rgba(16,26,4,.09);--phChipB:rgba(16,26,4,.18)}
.rd-screen[data-dir="4t"][data-theme="dark"]{--bg:#0b0704;--card:#1d130b;--tile:#291a0f;--line:#3a2716;--line2:#5f4023;--t1:#fff4e6;--t2:#dcc3a5;--t3:#a68d74;--acc:#ff9130;--on:#150a02;--wash:#2e1c0e;--pop:#ffd28f;--in:#4fe3a5;--out:#ff7355;--tabon:#ff9130;--gold:#ff9130;--cano:#ff7f16;--canoT:#1d0c01;--canoT2:#6b2c02;--phUp:#1d0c01;--phDn:#6b1502;--phLine:rgba(29,12,1,.20);--phChip:rgba(29,12,1,.10);--phChipB:rgba(29,12,1,.20)}
/* the canopy is lit from inside now: a neon face with a bright rim, not a slab of dark */
.rd-screen[data-dir="4a"][data-theme="dark"] .a2-ph,.rd-screen[data-dir="4a"][data-theme="dark"] .rd-cano{background-image:linear-gradient(168deg,#e4ff77 0%,#ccff33 54%,#a9ec14 100%);box-shadow:inset 0 -1px 0 rgba(16,26,4,.24),0 26px 54px -34px rgba(204,255,51,.55)}
.rd-screen[data-dir="4t"][data-theme="dark"] .a2-ph,.rd-screen[data-dir="4t"][data-theme="dark"] .rd-cano{background-image:linear-gradient(168deg,#ffa54a 0%,#ff7f16 54%,#ef6300 100%);box-shadow:inset 0 -1px 0 rgba(29,12,1,.26),0 26px 54px -34px rgba(255,127,22,.55)}
.rd-screen[data-dir="4a"][data-theme="dark"] .a2-ph::before,.rd-screen[data-dir="4a"][data-theme="dark"] .rd-cano::before,.rd-screen[data-dir="4t"][data-theme="dark"] .a2-ph::before,.rd-screen[data-dir="4t"][data-theme="dark"] .rd-cano::before{background:radial-gradient(58% 60% at 82% 16%,rgba(255,255,255,.42),transparent 70%);opacity:1}
/* things that ride on the canopy are ink on neon, the same way they are in daylight */
.rd-screen[data-theme="dark"] .rd-av2,.rd-screen[data-theme="dark"] .rd-ib2{background:var(--phChip);border-color:var(--phChipB);color:var(--canoT)}
.rd-screen[data-theme="dark"] .a2-ph :focus-visible,.rd-screen[data-theme="dark"] .rd-cano :focus-visible{outline-color:var(--canoT)}
/* the page under it keeps its lift, but the hairline that separates the two is the brand */
.rd-screen[data-dir="4a"][data-theme="dark"] .a2-body,.rd-screen[data-dir="4t"][data-theme="dark"] .a2-body{box-shadow:0 -1px 0 color-mix(in srgb,var(--acc) 34%,transparent)}
.rd-screen[data-dir="4a"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#1f2c11,#131a08 66%);box-shadow:0 -1px 0 rgba(204,255,51,.20),0 24px 48px -26px #000}
.rd-screen[data-dir="4t"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#2b1c10,#170e06 66%);box-shadow:0 -1px 0 rgba(255,145,48,.22),0 24px 48px -26px #000}
/* the status bar sits on the canopy: its icons must take the canopy's ink, not a page grey */
.rd-status i{color:inherit;opacity:.8}

/* ======================================================================
   R68 — Money's hero band, the header/status seam, and a premium night.
   ====================================================================== */
/* one band, two figures, a hairline between: shorter than the two chips it replaces */
.a7-io3{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:14px;margin-top:16px;padding:10px 14px 11px;border-radius:16px;background:var(--phChip);border:1px solid var(--phChipB)}
.a7-io3>s{height:26px;background:var(--phLine);text-decoration:none}
.a7-io3 .c{min-width:0}
.a7-io3 em{display:flex;align-items:center;gap:6px;font-style:normal;font:650 8.5px/1 var(--fl);letter-spacing:.15em;color:var(--canoT2);white-space:nowrap}
.a7-io3 em i{width:6px;height:6px;border-radius:50%;flex:none}
.a7-io3 em i.up{background:var(--phUp)}
.a7-io3 em i.dn{background:var(--phDn)}
.a7-io3 b{display:block;margin-top:5px;font:650 20px/1 var(--fd),sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--canoT);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a2-ph:has(.a7-io3){min-height:0;padding-bottom:16px}
.a2-ph:has(.a7-io3) .a2-phtitle{margin-top:16px}
.a2-ph:has(.a7-io3) .a7-seg{margin-top:16px}
[data-big="1"] .a7-io3 b{font-size:23px}
/* the status strip and the canopy are one surface: it takes the canopy's own top tone, so the
   two greens (or oranges) meet without a seam */
.rd-screen[data-dir="4a"][data-theme="dark"]{--canoTop:#e4ff77}
.rd-screen[data-dir="4t"][data-theme="dark"]{--canoTop:#ffa54a}
/* night, made of ink rather than pure black: a deep tone with the brand's own hue in it */
.rd-screen[data-dir="4a"][data-theme="dark"]{--bg:#101610;--card:#1a2415;--tile:#22301b;--line:#2f4024;--line2:#4d6a35;--shA:rgba(0,0,0,.46);--shB:rgba(0,0,0,.66)}
.rd-screen[data-dir="4t"][data-theme="dark"]{--bg:#171110;--card:#231a14;--tile:#2e2219;--line:#3d2d21;--line2:#63472c;--shA:rgba(0,0,0,.48);--shB:rgba(0,0,0,.68)}
.rd-screen[data-dir="4a"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#243218,#18210f 66%)}
.rd-screen[data-dir="4t"][data-theme="dark"] .rd-dock{background:linear-gradient(180deg,#302115,#1c130c 66%)}
.a4-cmdlist .a2-chips{flex-wrap:wrap;gap:7px}

/* ======================================================================
   R69 — daylight legibility, night borders, and a glow that knows which app
   it is in. The accent stays the accent for fills; where it has to be READ,
   light mode uses an ink version of it.
   ====================================================================== */
[data-dir="4a"]{--accInk:#3c6a0e}
[data-dir="4t"]{--accInk:#a8530f}
[data-dir="4k"]{--accInk:#2e3440}
.rd-screen[data-theme="dark"]{--accInk:var(--acc)}
.rd-screen[data-theme="light"] .a2-chip[aria-pressed="true"],.rd-screen[data-theme="light"] .a2-cattile[aria-pressed="true"],.rd-screen[data-theme="light"] .a7-sts button[aria-pressed="true"]{border-color:var(--accInk);color:var(--accInk)}
.rd-screen[data-theme="light"] .rd-qa s,.rd-screen[data-theme="light"] .a2-vtile s,.rd-screen[data-theme="light"] .a2-off,.rd-screen[data-theme="light"] .a2-memtag,.rd-screen[data-theme="light"] .a4-chip,.rd-screen[data-theme="light"] .a4-drop s,.rd-screen[data-theme="light"] .a4-reading .sh,.rd-screen[data-theme="light"] .a4-parsed .hd s,.rd-screen[data-theme="light"] .a2-cvr.on .nm small,.rd-screen[data-theme="light"] .a2-cattile.add[aria-pressed="true"] s{color:var(--accInk)}
/* note icons and the Ask sparkle carry their colour inline, so they need the extra weight */
.rd-screen[data-theme="light"] .a2-note>span:first-child,.rd-screen[data-theme="light"] .a2-ask>span:first-child{color:var(--accInk)!important}
.rd-screen[data-theme="light"] .a2-readout span:first-child{color:var(--accInk)}
.rd-screen[data-theme="light"] .a2-chip[aria-pressed="true"] span,.rd-screen[data-theme="light"] .a2-chip[aria-pressed="true"] svg{color:inherit}
/* at night a border has to be seen to do its job - travel especially, where the ink is warm */
.rd-screen[data-dir="4t"][data-theme="dark"]{--line:#4b3524;--line2:#7a5433}
.rd-screen[data-dir="4a"][data-theme="dark"]{--line:#39492a;--line2:#5b7a3d}
.rd-screen[data-theme="dark"] .rd-list,.rd-screen[data-theme="dark"] .rd-panel,.rd-screen[data-theme="dark"] .a2-cal,.rd-screen[data-theme="dark"] .a2-note,.rd-screen[data-theme="dark"] .rd-row+.rd-row{border-color:var(--line)}
.rd-screen[data-theme="dark"] .rd-row{border-top-color:var(--line)}
/* the page carries a low glow of its own app behind the header: green at home, orange away */
.rd-screen[data-dir="4a"][data-theme="dark"]{background-image:radial-gradient(140% 34% at 50% 5%,rgba(204,255,51,.16),transparent 74%)}
.rd-screen[data-dir="4t"][data-theme="dark"]{background-image:radial-gradient(140% 34% at 50% 5%,rgba(255,145,48,.20),transparent 74%)}
.rd-screen[data-dir="4k"][data-theme="dark"]{background-image:radial-gradient(140% 34% at 50% 5%,rgba(216,220,228,.09),transparent 74%)}
.rd-screen[data-theme="dark"] .a2-body{background:var(--bg)}
/* a line of your own on a conversion: optional, quiet, never in the way of the figures */
.a7-cvwhy{display:flex;align-items:center;gap:9px;margin:10px 18px 0;padding:0 13px;min-height:44px;border-radius:14px;background:var(--card);border:1px dashed var(--line2);color:var(--t3)}
.a7-cvwhy input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--t1);font:500 12.5px/1.3 "Instrument Sans",sans-serif}
.a7-cvwhy:focus-within{border-style:solid;border-color:var(--accInk)}

/* ======================================================================
   R70 — the light changes on purpose. The page's new colour opens as a circle
   from whatever you pressed (clip-path, so it is cheap enough to run on the
   frame the theme changes), a lit rim runs ahead of it, and the sun or moon
   sits at the origin until the new theme is underneath.
   ====================================================================== */
.a2-reveal{position:absolute;inset:0;z-index:214;pointer-events:none;background:radial-gradient(circle at var(--rx) var(--ry),color-mix(in srgb,var(--rg) 20%,var(--rv)) 0%,var(--rv) 48%);clip-path:circle(0% at var(--rx) var(--ry))}
.a2-reveal.go{animation:a2rev .74s cubic-bezier(.32,0,.1,1) forwards}
@keyframes a2rev{0%{clip-path:circle(0% at var(--rx) var(--ry));opacity:1}42%{clip-path:circle(158% at var(--rx) var(--ry));opacity:1}62%{clip-path:circle(158% at var(--rx) var(--ry));opacity:1}100%{clip-path:circle(158% at var(--rx) var(--ry));opacity:0}}
.a2-revring{position:absolute;left:var(--rx);top:var(--ry);width:160px;height:160px;margin:-80px 0 0 -80px;border-radius:50%;border:2px solid var(--rg);z-index:215;pointer-events:none;transform:scale(0)}
.a2-reveal.go .a2-revring{animation:a2revr .52s cubic-bezier(.3,0,.15,1) forwards}
@keyframes a2revr{0%{transform:scale(.05);opacity:.95}70%{opacity:.5}100%{transform:scale(11);opacity:0}}
.a2-revmark{position:absolute;left:var(--rx);top:var(--ry);z-index:216;display:grid;place-items:center;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;color:var(--rk);background:color-mix(in srgb,var(--rg) 15%,transparent);opacity:0}
.a2-reveal.go .a2-revmark{animation:a2revmk .74s cubic-bezier(.3,0,.2,1) forwards}
@keyframes a2revmk{0%{transform:scale(.3);opacity:0}18%{transform:scale(1);opacity:1}55%{transform:scale(1);opacity:.95}100%{transform:scale(1.5);opacity:0}}
/* holding the profile mark fills a ring around it, so the gesture announces itself */
.rd-av2{position:relative}

@media (prefers-reduced-motion:reduce){.a2-reveal.go .a2-revmark,.a2-reveal.go .a2-revring,.rd-av2.hold::after{animation:none;opacity:0}.a2-reveal.go{animation:a2revf .4s linear forwards;clip-path:none}@keyframes a2revf{from{opacity:.92}to{opacity:0}}}

/* ======================================================================
   R71 — typing, the mode doorway at night, and the earth
   ====================================================================== */
/* WRITING SOMETHING SHOULD BE QUIET. A field being focused is not news worth a coloured
   ring around it: the caret is the feedback. Fields keep their own hairline and gain the
   faintest lift instead, everywhere in both apps. */
.rd-screen input:focus,.rd-screen input:focus-visible,.rd-screen textarea:focus,.rd-screen textarea:focus-visible,.rd-screen .a2-input:focus,.rd-screen .a2-input:focus-visible{outline:none!important;box-shadow:none}
.rd-screen .a2-input:focus{border-color:var(--line2)}
.rd-screen .a2-otp input:focus{border-color:var(--line2);box-shadow:none}
.rd-screen .a7-xfields span:focus-within,.rd-screen .a4-money:focus-within{border-color:var(--line2)}
.rd-screen .a7-cvwhy:focus-within{border-style:dashed;border-color:var(--line2)}
/* a keyboard user still needs to see where they are, but a hairline says it well enough */
.rd-screen :focus-visible{outline-width:1px;outline-color:color-mix(in srgb,var(--t2) 60%,transparent)}
.rd-screen .a2-ph :focus-visible,.rd-screen .rd-cano :focus-visible{outline-color:color-mix(in srgb,var(--canoT) 45%,transparent)}
/* THE DOORWAY INTO THE OTHER APP reads the same at night as it does in daylight: the canopy is
   a lit neon face in the dark theme too, so the button must be filled ink on it, not a glass film */
.rd-screen[data-theme="dark"] .rd-ib2[aria-label="Travel mode"],.rd-screen[data-theme="dark"] .rd-ib2[aria-label="Back to personal money"],.rd-screen[data-theme="dark"] .a2-phib[aria-label="Back to personal money"],.rd-screen[data-theme="dark"] .a2-phav[aria-label="Back to personal money"],.rd-screen[data-theme="dark"] .a2-phib[aria-label="Travel mode"]{background:var(--canoT);border-color:var(--canoT);color:var(--cano);box-shadow:0 4px 14px -6px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.2)}
.rd-screen[data-theme="dark"] .rd-ib2[aria-label="Travel mode"] svg,.rd-screen[data-theme="dark"] .rd-ib2[aria-label="Back to personal money"] svg,.rd-screen[data-theme="dark"] .a2-phib[aria-label="Back to personal money"] svg,.rd-screen[data-theme="dark"] .a2-phib[aria-label="Travel mode"] svg{color:var(--cano)}
/* THE EARTH. The hand off used a wireframe ball and an icon glyph for a jet; both read as
   placeholder art. This is a lit planet - ocean gradient, continents that actually turn past
   the edge, a terminator for depth, an atmosphere rim - and a drawn airliner on the arc. */
.a2-globe{opacity:0;animation:a2gin .9s cubic-bezier(.16,1,.3,1) .1s both}
@keyframes a2gin{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}
.a2-spin{animation:a2spin 34s linear infinite}
@keyframes a2spin{from{transform:translateX(0)}to{transform:translateX(-152px)}}
.a2-atmo{animation:a2breathe 5s ease-in-out infinite}
@keyframes a2breathe{0%,100%{opacity:.5}50%{opacity:.85}}
.a2-jet4{position:absolute;left:0;top:0;width:58px;height:42px;margin:-21px 0 0 -29px;offset-path:path("M58 150 C 80 34,220 34,242 150");offset-rotate:auto;offset-distance:0%;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45));animation:a2fly4 1.6s cubic-bezier(.4,.02,.28,1) .26s both}
@keyframes a2fly4{0%{offset-distance:0%;opacity:0}7%{opacity:1}100%{offset-distance:100%;opacity:1}}
.a2-jet4 svg{display:block;overflow:visible}
.a2-arc4{stroke-dasharray:4 10;opacity:0;clip-path:inset(0 100% 0 0);animation:a2wipe 1.4s cubic-bezier(.36,.66,.3,1) .3s both}
.a2-pin4{opacity:0;transform-origin:242px 150px;animation:a2popin .5s cubic-bezier(.2,1.6,.4,1) 1.66s both}
.a2-pin4 .ring{transform-origin:242px 150px;animation:a2ping 1.6s ease-out 1.8s infinite}
.a2-orig4{opacity:0;transform-origin:58px 150px;animation:a2popin .5s cubic-bezier(.2,1.6,.4,1) .24s both}
@media (prefers-reduced-motion:reduce){.a2-jet4{offset-distance:100%}.a2-spin,.a2-atmo{animation:none}}

/* ---- R71: the profile page, rebuilt ---- */
/* the identity rides on the canopy as one frosted chip: photo, name, and the two facts that matter */
.a2-pcard{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px;border-radius:20px;background:var(--phChip);border:1px solid var(--phChipB)}
.a2-pcard .t{display:flex;flex-direction:column;gap:3px;min-width:0}
.a2-pcard .t b{font:650 20px/1.1 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--canoT)}
.a2-pcard .t em{font:500 11.5px/1.35 "Instrument Sans",sans-serif;font-style:normal;color:color-mix(in srgb,var(--canoT) 68%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a2-pcard .t em.m{font:650 8.5px/1 var(--fl);letter-spacing:.14em;color:color-mix(in srgb,var(--canoT) 52%,transparent);margin-top:2px}
/* the four facts about you are rows in one card, not four boxes with borders */
.a2-flist{margin:0 20px;border-radius:18px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.a2-frow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:11px 15px 12px;min-height:58px;box-sizing:border-box}
.a2-frow+.a2-frow{border-top:1px solid var(--line)}
.a2-frow span{display:flex;flex-direction:column;gap:3px;min-width:0}
.a2-frow em{font:650 8.5px/1 var(--fl);letter-spacing:.14em;font-style:normal;color:var(--t3)}
.a2-frow input{width:100%;border:0;background:none;padding:0;font:600 15.5px/1.25 "Instrument Sans",sans-serif;color:var(--t1);letter-spacing:-.01em}
.a2-frow input::placeholder{color:var(--t3)}
.a2-frow i{flex:none;color:var(--t3);opacity:.6}

/* ---- R71: a pot page that is not a marathon ---- */
.p7-hbar{position:relative;height:4px;margin-top:14px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--canoT) 16%,transparent)}
.p7-hbar i{display:block;height:100%;border-radius:4px;background:color-mix(in srgb,var(--canoT) 72%,transparent)}
.p7-acts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 20px 0}
.p7-acts.one{grid-template-columns:1fr}
.p7-acts button{width:100%}
.p7-more{margin:10px 2px 0;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
/* an ink-green glyph needs a slightly richer bed than 13% or the tile reads grey */
.rd-screen[data-theme="light"] .rd-row s{background:color-mix(in srgb,var(--gc,var(--t3)) 17%,var(--card))}

/* ======================================================================
   R72 — the press, and icons that can be seen at night
   ====================================================================== */
/* HOLDING THE MARK CHARGES A RING. A real dial sweeping once around the avatar (drawn, so it
   tracks the 460ms exactly), the chip dipping under your thumb, and a spring when it fires. */
.rd-av2{transition:transform .16s cubic-bezier(.2,.7,.3,1),background-color .16s linear}
.rd-av2.hold{transform:scale(.9);background:color-mix(in srgb,var(--canoT) 18%,transparent)}
.rd-av2.pop{animation:a2avpop .4s cubic-bezier(.2,1.5,.35,1)}
@keyframes a2avpop{0%{transform:scale(.9)}40%{transform:scale(1.14)}70%{transform:scale(.98)}100%{transform:scale(1)}}
.a2-hring{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;pointer-events:none;transform:rotate(-90deg);overflow:visible}
.a2-hring circle{fill:none;stroke:color-mix(in srgb,var(--canoT) 14%,transparent);stroke-width:2}
.a2-hring circle.p{stroke:var(--canoT);stroke-linecap:round;stroke-dasharray:166.5;stroke-dashoffset:166.5;animation:a2charge .46s cubic-bezier(.35,.05,.3,1) forwards}
@keyframes a2charge{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.a2-hring circle.p{animation-duration:.01ms}.rd-av2.pop{animation:none}}
/* AT NIGHT AN ICON HAS TO GLOW A LITTLE. Every identity-coloured tile lifts its own hue toward
   the light and gains chroma, so a category reads at a glance instead of sinking into the card. */
.rd-screen[data-theme="dark"] .rd-row s,.rd-screen[data-theme="dark"] .a7-ppr s,.rd-screen[data-theme="dark"] .rd-lrow s,.rd-screen[data-theme="dark"] .a2-cat s,.rd-screen[data-theme="dark"] .p7-cards .row s,.rd-screen[data-theme="dark"] .a4-cmdrow s,.rd-screen[data-theme="dark"] .a2-nrow s{background:color-mix(in srgb,var(--gc,var(--acc)) 24%,var(--card));color:color-mix(in srgb,var(--gc,var(--acc)) 55%,#ffffff)}
/* a dull identity colour cannot be saturated into life, so at night the hue is kept and the
   lightness and chroma are FORCED: a slate grey becomes bright periwinkle, food becomes amber */
@supports (color:oklch(from red l c h)){.rd-screen[data-theme="dark"] .rd-row s,.rd-screen[data-theme="dark"] .a7-ppr s,.rd-screen[data-theme="dark"] .rd-lrow s,.rd-screen[data-theme="dark"] .a2-cat s,.rd-screen[data-theme="dark"] .p7-cards .row s,.rd-screen[data-theme="dark"] .a4-cmdrow s,.rd-screen[data-theme="dark"] .a2-nrow s{color:oklch(from var(--gc,var(--acc)) .84 clamp(.1,c,.19) h);background:oklch(from var(--gc,var(--acc)) .29 clamp(.06,c,.13) h)}}
/* the four quick links invert at night: a bright chip on the dark card, never dark on dark */
.rd-screen[data-theme="dark"] .a2-quick button>s,.rd-screen[data-theme="dark"] .a2-quick s{background:var(--acc);color:var(--on);box-shadow:0 3px 10px -4px color-mix(in srgb,var(--acc) 55%,transparent)}
.rd-screen[data-theme="dark"] .a2-quick button{border-color:var(--line2)}
.rd-screen[data-theme="dark"] .rd-qa s,.rd-screen[data-theme="dark"] .a2-vtile s{background:var(--acc);color:var(--on)}

/* ======================================================================
   R73 — income reads green, the trip budget is editable, the card back breathes
   ====================================================================== */
.a2-sg{font-variant-numeric:tabular-nums}
.a2-sg.in{color:var(--in)}
.rd-screen[data-theme="dark"] .a2-sg.in{color:oklch(from var(--in) .84 max(c,.16) h)}
/* the canopy carries its own ink, so a green figure there would fight it */
.rd-cano .a2-sg.in,.a2-ph .a2-sg.in,.rd-card .a2-sg.in{color:inherit}
/* THE CARD BACK. The pad is flex:1 and lays out top-down, so its content (104px) plus padding
   (24px) was taller than its 125px box and the bottom padding got eaten - VALID sat 2px off the
   buttons. The room comes from the top instead: no pad above the label row, a tighter magstripe. */
.a2-bpad{padding:0 18px 14px}
.a2-bpad .a2-bnum{margin-top:2px}
.a2-bcred{margin-top:11px}
.a2-mag{margin-top:6px}
/* the trip budget, said plainly and editable */
.a2-tbud{display:inline-flex;align-items:center;gap:9px;margin-top:10px;padding:8px 13px;border-radius:14px;border:1px solid var(--phChipB);background:var(--phChip);color:var(--canoT);cursor:pointer;-webkit-tap-highlight-color:transparent}
.a2-tbud em{font:650 8.5px/1 var(--fl);letter-spacing:.16em;font-style:normal;color:color-mix(in srgb,var(--canoT) 62%,transparent)}
.a2-tbud b{font:650 14px/1 var(--fd),sans-serif;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.a2-tbud svg{opacity:.6}
.a2-tbud:active{transform:scale(.97)}
.a2-tpace button.c{border:0;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.a2-tpace button.c:active{transform:scale(.98)}

/* ======================================================================
   R74 — the card comes back, dark figures go neon, the travel hero sits lower
   ====================================================================== */
/* the returning card is placed off-screen with no transition, then released */
.rd-slot.nofx{transition:none !important}
/* AT NIGHT THE SMALL FIGURES GLOW. A 10px coral on a dark bed reads as brown; a lifted tone with
   a faint bloom of its own colour behind it reads instantly, the way a lit sign does. */
.rd-screen[data-dir="4a"][data-theme="dark"]{--out:#ff9b83;--in:#b6ff5c;--phDn:#ff9b83}
.rd-screen[data-dir="4t"][data-theme="dark"]{--out:#ff9375;--in:#57f0af;--phDn:#ff9375}
.rd-screen[data-theme="dark"] .a2-calg u{font-size:8.5px;font-weight:700}
.rd-screen[data-theme="dark"] .a2-calg u.out{color:var(--out);text-shadow:0 0 9px color-mix(in srgb,var(--out) 42%,transparent)}
.rd-screen[data-theme="dark"] .a2-calg u.in{color:var(--in);text-shadow:0 0 9px color-mix(in srgb,var(--in) 40%,transparent)}
.rd-screen[data-theme="dark"] .a2-calg .mut+u{opacity:.6}
.rd-screen[data-theme="dark"] .a2-sg.in{color:var(--in);text-shadow:0 0 10px color-mix(in srgb,var(--in) 30%,transparent)}
.rd-screen[data-theme="dark"] .a2-day span:last-child .a2-sg.out,.rd-screen[data-theme="dark"] .a2-corr .a2-sg.out{color:var(--out)}
.rd-screen[data-theme="dark"] .a2-vs i,.rd-screen[data-theme="dark"] .a2-mbout i{box-shadow:0 0 10px color-mix(in srgb,var(--out) 45%,transparent)}
/* the travel hero: BUDGET sits on the label line, so the canopy loses a whole row of height */
.a2-trow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.a2-tbud{margin-top:0;padding:6px 10px;border-radius:12px;gap:7px}
.a2-tbud b{font-size:12.5px}
.a2-tbud em{font-size:8px}
.a2-tcano .a2-tpace{margin-top:12px}
.a2-tcano .rd-subline{display:none}

/* 7px is a legal-print size, not a UI size: the state chips read at 8.5 */
.a5-st,.a5-line .v em.guess,.a5-line .v em.firm{font-size:8.5px !important;letter-spacing:.1em}

/* ======================================================================
   R75 — the wallet sits on light, the shade searches itself, the calendar
   drops its signs, the filter becomes one control, the command bar goes mobile
   ====================================================================== */
/* A CARD NEEDS SOMETHING TO SIT ON. A soft pool of the app's own colour under the stack plus a
   tight contact shadow: the wallet reads as an object above the page, not a sticker on it. */
.rd-stack{position:relative;isolation:isolate}
.rd-stack::before{content:"";position:absolute;z-index:0;left:50%;bottom:-22px;width:72%;height:56px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 34%,transparent),transparent 78%);filter:blur(10px);opacity:.75}
.rd-stack::after{content:"";position:absolute;z-index:0;left:50%;bottom:-6px;width:54%;height:15px;transform:translateX(-50%);pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--t1) 30%,transparent),transparent 76%);filter:blur(7px);opacity:.5}
.rd-screen[data-theme="dark"] .rd-stack::before{opacity:.5}
.rd-screen[data-theme="dark"] .rd-stack::after{opacity:.7;background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent 76%)}
/* the shade's own field: frosted on the canopy, and it does not drag the shade while you type */
.a2-shfind2{display:flex;align-items:center;gap:10px;margin:14px 0 2px;padding:0 13px;min-height:46px;border-radius:15px;background:var(--phChip);border:1px solid var(--phChipB);touch-action:auto;color:var(--canoT)}
.a2-shfind2>svg{flex:none;opacity:.7}
.a2-shfind2 input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--canoT);font:500 14.5px/1 "Instrument Sans",sans-serif}
.a2-shfind2 input::placeholder{color:var(--canoT2)}
.a2-shfind2 button{width:26px;height:26px;flex:none;display:grid;place-items:center;border:0;border-radius:8px;background:color-mix(in srgb,var(--canoT) 16%,transparent);color:var(--canoT);cursor:pointer}
.a2-shnone{padding:26px 6px 20px;text-align:center;color:var(--canoT2)}
.a2-shnone b{display:block;margin-top:9px;font:650 14px/1.3 var(--fd),sans-serif;color:var(--canoT)}
.a2-shnone small{display:block;margin-top:5px;font:450 11.5px/1.5 "Instrument Sans",sans-serif}
.a2-shall{display:flex;align-items:center;gap:10px;width:100%;margin-top:6px;padding:13px 4px;border:0;border-top:1px solid rgba(255,255,255,.09);background:none;color:var(--canoT);font:600 12.5px/1.3 "Instrument Sans",sans-serif;text-align:left;cursor:pointer}
.a2-shall span{flex:1;min-width:0}
/* the calendar: colour says the direction, so the figure keeps only the money, with air around it */
.a2-cal .a2-calg button,.a2-cal.fit .a2-calg button{min-height:62px;padding:8px 2px 9px;gap:6px}
.a2-cal .a2-calg u,.a2-cal.fit .a2-calg u{font:650 10px/1 var(--fl);min-height:11px}
.a2-calg u.in,.a2-calg u.out{font-weight:700}
/* one control, the calendar's own width, instead of three loose pills */
.a2-seg3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:14px 20px 2px;padding:4px;border-radius:15px;background:var(--tile);border:1px solid var(--line)}
.a2-seg3 button{min-height:38px;border:0;border-radius:11px;background:none;color:var(--t3);font:600 12.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background var(--mo-quick),color var(--mo-quick),box-shadow var(--mo-quick)}
.a2-seg3 button.on{background:var(--card);color:var(--t1);font-weight:700;box-shadow:0 1px 4px var(--shA)}
.rd-screen[data-theme="dark"] .a2-seg3 button.on{background:color-mix(in srgb,var(--acc) 20%,var(--card));color:var(--t1)}
/* THE COMMAND BAR IS A PHONE SHEET, NOT A DESKTOP PALETTE. No keyboard legend, a grab bar, three
   suggestions on one line, and every icon in the app's own colour instead of a default blue. */
.a4-cmdgrab{display:block;width:38px;height:4px;margin:9px auto 0;border-radius:3px;background:var(--line2)}
.a4-cmdin{padding:13px 14px 15px;gap:10px}
.a4-cmdin input{font-size:16.5px}
.a4-cmdin button{width:32px;height:32px;border-radius:11px}
.a4-cmdtry{display:flex;gap:6px;overflow-x:auto;padding:10px 10px 4px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%)}
.a4-cmdtry::-webkit-scrollbar{display:none}
.a4-cmdtry button{flex:none;min-height:36px;padding:0 11px;font-size:11.5px;border-radius:999px;border:1px solid color-mix(in srgb,var(--acc) 34%,var(--line));background:color-mix(in srgb,var(--acc) 10%,var(--card));color:var(--accInk);font:600 12px/1 "Instrument Sans",sans-serif;cursor:pointer;white-space:nowrap}
.a4-cmdrow{padding:11px 10px}
.a4-cmdrow s{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--gc,var(--acc)) 14%,var(--card));color:var(--gc,var(--accInk))}
.a4-cmdrow em{opacity:.45}
.a4-cmdrow.on s{background:var(--acc);color:var(--on)}
.a4-cmdrow.on em{opacity:1;color:var(--accInk)}
.rd-screen[data-theme="dark"] .a4-cmdrow.on s{background:var(--acc);color:var(--on)}
.a4-cmdlist{padding-bottom:10px}
/* the profile mark holds on plinth pages too */
.a2-phav{position:relative;transition:transform .16s cubic-bezier(.2,.7,.3,1),background-color .16s linear}
.a2-phav.hold{transform:scale(.9);background:color-mix(in srgb,var(--canoT) 18%,transparent)}
.a2-phav.pop{animation:a2avpop .4s cubic-bezier(.2,1.5,.35,1)}

/* THE DAY'S HEAT MOVES TO A BAR. A wash filling the cell put an accent bed under an accent-coloured
   figure, so a green +₹81k sat on green and vanished. As a bar under the figure the heat still reads
   and both colours keep their own ground. */
.a2-cal .a2-calg s:last-child,.a2-cal.fit .a2-calg s:last-child{inset:auto 10px 6px;width:auto;height:3px;border-radius:2px;opacity:1}
.rd-screen[data-theme="dark"] .a2-cal .a2-calg s:last-child{opacity:.95}
.a2-cal .a2-calg button,.a2-cal.fit .a2-calg button{min-height:62px;padding:8px 2px 13px;gap:5px}
.a2-calg button.sel s:last-child{inset:auto 10px 6px}

/* ==== R77: the demo pill (Home header) ==== */
.a8-demopill{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 13px;flex:none;appearance:none;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--gold) 16%,var(--card));color:var(--t1);font:700 10.5px/1 var(--fl);letter-spacing:.1em;cursor:pointer;box-shadow:0 1px 2px var(--shA)}
.a8-demopill s{width:7px;height:7px;border-radius:4px;background:var(--gold);text-decoration:none;animation:a8pulse 2.2s ease-in-out infinite}
.a8-demopill:hover{border-color:var(--gold)}
@keyframes a8pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.a8-demopill s{animation:none}}
/* ==== R77: itinerary day picker scrolls so every trip day is reachable ==== */
.a4-seg.a8-days{display:flex;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.a4-seg.a8-days::-webkit-scrollbar{display:none}
.a4-seg.a8-days button{flex:0 0 auto;min-width:52px;scroll-snap-align:center}
/* ==== R77: on a real phone the app IS the phone - no painted bezel, no painted notch ==== */
@media (max-width:520px){
  .a2-stage{padding:0;min-height:100svh}
  .rd-frame{width:100%;border-radius:0;padding:0;background:none;box-shadow:none}
  .rd-screen{width:100%;height:100svh;height:100dvh;border-radius:0}
  .rd-notch{display:none}
  .rd-status{padding-top:calc(13px + env(safe-area-inset-top))}
  .rd-dock{margin-bottom:env(safe-area-inset-bottom)}
}

/* R78: the net worth subline became a real button so a keyboard can reach the accounts page.
   It still has to read as the quiet line under the figure, not as a control. */
button.rd-subline{display:block;width:100%;text-align:left;appearance:none;background:none;border:0;padding:0;cursor:pointer;font:450 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--canoT2)}
button.rd-subline:hover{color:var(--canoT)}
/* R78: the "SEE ALL" / "ALL 4" marks in a section header are real controls, so they take a
   focus ring and a pointer. They were plain <b> elements no keyboard could reach. */
.rd-sh2 b[role="button"]{cursor:pointer}
.rd-sh2 b[role="button"]:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
/* R78: the "start here" row that stands in for an empty section on Home, so the page keeps its
   structure without inventing a figure to fill it. */
.a2-potnew{display:flex;align-items:center;gap:13px;width:calc(100% - 40px);margin:0 20px;padding:15px 16px;border:1px dashed var(--line);border-radius:16px;background:var(--card);text-align:left;cursor:pointer;color:var(--t1);appearance:none}
.a2-potnew:hover{border-color:var(--acc);background:var(--wash)}
.a2-potnew>s{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--wash);color:var(--accInk);text-decoration:none}
.a2-potnew span{flex:1;min-width:0;display:block}
.a2-potnew b{display:block;font:650 14px/1.3 "Instrument Sans",sans-serif;color:var(--t1)}
.a2-potnew small{display:block;margin-top:2px;font:450 11.5px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-potnew>span+svg,.a2-potnew>span+span{flex:none;color:var(--t3)}

/* R80: a photo, shrunk on the phone, standing in for the initials.
   The colour swatch rule at the top of this sheet lost its square to the toggle switch that took
   the same class name later on, so the avatar strip gets its shape back here, where it is used. */
.img9-av{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.a2-swatches .a2-sw{width:46px;height:46px;padding:0;border-radius:16px;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.a2-swatches .a2-sw.img9-swp{overflow:hidden;background:var(--tile);outline:3px solid var(--gold);outline-offset:2px}
.a2-swatches .a2-sw.img9-swp img{width:100%;height:100%;object-fit:cover;display:block}
.img9-bad{color:var(--out)}
.img9-shot{padding:0;overflow:hidden;background:var(--tile)}
.img9-shot img{width:100%;height:100%;object-fit:cover;display:block}
/* R78: the back of the card. The eye sat on the same baseline as an 7.5px label, so it read as
   floating; it is now aligned to the label's cap height with room around it. */
.a2-brow{align-items:center;min-height:30px;margin-top:0}
.a2-brow span{line-height:1.3}
.a2-beye:focus-visible{outline:2px solid #fbfaf6;outline-offset:2px}
/* R78: the "what kind of account" chips are a fixed set of four, not an endless rail. They were
   in a horizontal scroller with no affordance, so on a narrow phone the fourth one sat cut in half
   at the edge and looked like a layout bug. Four wrap onto two rows and all of them are reachable. */
.a2-chipwrap{flex-wrap:wrap;overflow-x:visible;gap:8px;padding:12px 18px 4px}
.a2-chipwrap .a2-chip{flex:0 1 auto}

/* ============================================================================
   R79 — crisper screens: a fold for what has already been read, a fast cash
   strip, and the month drawn as a line. New names only; nothing above is
   touched. Appended at the END, as the one stylesheet rule requires.
   ========================================================================= */

/* --- the fold. A section a returning reader has read once, kept to one line
   until it is wanted. Native <details>, so it is keyboard reachable and the
   browser handles the state. The body is full bleed so panels and lists keep
   their own gutters. --- */
.a9-fold{margin:16px 0 0}
.a9-fold>summary{display:flex;align-items:center;gap:10px;margin:0 20px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:0 1px 2px var(--shA);cursor:pointer;list-style:none;font:600 13px/1.25 "Instrument Sans",sans-serif;color:var(--t1);-webkit-tap-highlight-color:transparent}
.a9-fold>summary::-webkit-details-marker{display:none}
.a9-fold>summary::marker{content:""}
.a9-fold>summary em{margin-left:auto;flex:none;font:600 9.5px/1 var(--fl);letter-spacing:.1em;font-style:normal;text-transform:uppercase;color:var(--t3)}
.a9-fold>summary::after{content:"";flex:none;width:7px;height:7px;margin-left:2px;border-right:1.7px solid var(--t3);border-bottom:1.7px solid var(--t3);transform:translateY(-2px) rotate(45deg);transition:transform var(--mo-quick,.18s) ease}
.a9-fold[open]>summary::after{transform:translateY(1px) rotate(-135deg)}
.a9-fold>summary:hover{background:var(--tile)}
.a9-fold>summary:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.a9-fold[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}
.a9-fold>.rd-panel,.a9-fold>.rd-list{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}
.a9-fold>.a2-note:first-of-type{margin-top:8px}
[data-big="1"] .a9-fold>summary{font-size:14.5px}
[data-big="1"] .a9-fold>summary em{font-size:10.5px}

/* --- the fast cash strip. Cash only exists if you write it down, so it gets a
   one line entry rather than the four tap drawer. --- */
.a9-qc{margin:4px 20px 0;padding:12px 13px 11px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 1px 2px var(--shA)}
.a9-qcseg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:12px;background:var(--tile)}
.a9-qcseg button{min-height:32px;border:0;border-radius:9px;background:none;color:var(--t2);font:600 11.5px/1 "Instrument Sans",sans-serif;cursor:pointer;transition:background var(--mo-quick,.18s) ease}
.a9-qcseg button[aria-pressed="true"]{background:var(--card);color:var(--t1);box-shadow:0 1px 2px var(--shA)}
.a9-qcrow{display:flex;align-items:flex-end;gap:8px;margin-top:10px}
.a9-qcf{display:flex;flex-direction:column;gap:4px;min-width:0;flex:0 0 96px}
.a9-qcf.wide{flex:1 1 auto}
.a9-qcf label{font:600 8.5px/1 var(--fl);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}
.a9-qcf input{width:100%;box-sizing:border-box;min-height:44px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--t1);font:600 15px/1 var(--fd),sans-serif;font-variant-numeric:tabular-nums}
.a9-qcf.wide input{font:450 14px/1 "Instrument Sans",sans-serif}
.a9-qcf input:focus{outline:2px solid var(--acc);outline-offset:-1px}
.a9-qcf input[aria-invalid="true"]{border-color:var(--out)}
.a9-qcgo{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:13px;background:var(--acc);color:var(--on);cursor:pointer}
.a9-qcgo:focus-visible{outline:2px solid var(--t1);outline-offset:2px}
.a9-qchint,.a9-qcerr{margin:9px 2px 0;font:450 11px/1.45 "Instrument Sans",sans-serif;color:var(--t3)}
.a9-qcerr{color:var(--out);font-weight:600}
[data-big="1"] .a9-qcf input{font-size:17px}
[data-big="1"] .a9-qcf.wide input{font-size:15.5px}

/* --- the month as a running line against an even pace. Every colour is a
   token, so it follows the theme without a second definition. --- */
.a9-ch{margin:8px 20px 0;padding:15px 15px 13px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:0 2px 6px var(--shA)}
.a9-chh{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.a9-chh span{display:block;min-width:0}
.a9-chh .r{text-align:right}
.a9-chh em{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.12em;font-style:normal;color:var(--t3)}
.a9-chh b{display:block;margin-top:7px;font:750 26px/1 var(--fd),sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--t1)}
.a9-chh .r b{font-size:17px;font-weight:650;color:var(--t2)}
.a9-chsvg{display:block;width:100%;height:auto;margin-top:9px;overflow:visible}
.a9-chx{display:flex;justify-content:space-between;margin-top:2px;font:500 9.5px/1 var(--fl);letter-spacing:.06em;color:var(--t3)}
.a9-chx .e{text-align:right}
.a9-chp{margin:11px 0 0;font:450 12px/1.6 "Instrument Sans",sans-serif;color:var(--t2);text-wrap:pretty}
.a9-chb{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin-top:11px;border-radius:13px;border:1px dashed var(--line2);background:none;color:var(--t2);font:650 12px/1 "Instrument Sans",sans-serif;cursor:pointer}
.a9-chb:hover{background:var(--tile)}
[data-big="1"] .a9-chh b{font-size:30px}
[data-big="1"] .a9-chh .r b{font-size:19px}
[data-big="1"] .a9-chp{font-size:13.5px}
@media (prefers-reduced-motion:reduce){.a9-fold>summary::after{transition:none}}



/* R78: the delta under a card balance is one line. At 10px with a 80px right pad reserved for
   the chip, "−₹31,908 this month" broke after the figure and the card read as four stacked
   rows instead of three. It gets the room and it does not wrap. */
.rd-cbal u{white-space:nowrap;margin-top:5px;font-size:10.5px;letter-spacing:.005em;line-height:1.15}
.rd-face .rd-cbal{padding-right:64px}
.rd-cmid .rd-cbal u{white-space:nowrap}
@media (max-width:360px){.rd-cbal u{font-size:9.5px}.rd-face .rd-cbal{padding-right:58px}}

/* ---- R78: the ghost card, in brushed steel --------------------------------
   A wallet with nothing in it still gets a card, in the same footprint so the
   page does not jump when the first real one arrives. Steel rather than green
   on purpose: it is already this app's vault colour (the Keys direction's --acc
   is #d8dce4), so a sealed, unissued card reads as the same family. Every layer
   below is a gradient, not an image: a base, a brushed grain, and one band of
   light across it. */
.rd-ghostwrap{margin:10px 18px 0}
.rd-ghost{position:relative;display:block;width:100%;height:212px;padding:18px 22px;border:0;border-radius:20px;cursor:pointer;text-align:left;overflow:hidden;isolation:isolate;color:#2b3240;
  background:linear-gradient(152deg,#f2f4f7 0%,#d5dae2 26%,#aeb6c4 52%,#c9cfd9 68%,#9aa3b3 88%,#c2c8d3 100%);
  box-shadow:0 18px 34px -18px rgba(28,34,44,.55),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(40,48,60,.28),inset 0 0 0 1px rgba(255,255,255,.34)}
.rd-ghost:active{transform:translateY(1px)}
.rd-ghost:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
/* the grain: hairlines at a shallow angle are what makes steel read as brushed */
.rd-ghost .brush{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(101deg,rgba(255,255,255,.5) 0 1px,rgba(120,130,148,.14) 1px 2px,rgba(255,255,255,0) 2px 4px)}
/* one slow band of light, the thing that stops a flat fill looking like paper */
.rd-ghost .sheen{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(112deg,rgba(255,255,255,0) 18%,rgba(255,255,255,.72) 37%,rgba(255,255,255,.06) 47%,rgba(255,255,255,0) 62%)}
/* the branding, embossed rather than printed: a light edge under a dark face */
.rd-ghost .lock{position:absolute;top:18px;right:20px;display:flex;align-items:center;gap:7px;color:#5c6577;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.85))}
.rd-ghost .lock b{font:650 12px/1 "Schibsted Grotesk",sans-serif;letter-spacing:-.02em;color:#4d5668}
.rd-ghost .top{display:block;font:600 8.5px/1 var(--fl);letter-spacing:.2em;color:#5f6879;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.rd-ghost .mid{display:block;margin-top:50px}
.rd-ghost .mid b{display:block;font:650 21px/1.15 "Schibsted Grotesk",sans-serif;letter-spacing:-.032em;color:#232a36;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.rd-ghost .mid small{display:block;margin-top:6px;max-width:27ch;font:450 11.5px/1.5 "Instrument Sans",sans-serif;color:#4f596b}
/* the four groups a card number sits in, milled empty and waiting */
.rd-ghost .foot{position:absolute;left:22px;right:22px;bottom:18px;display:flex;align-items:center;gap:9px}
.rd-ghost .foot i{width:26px;height:5px;border-radius:3px;background:rgba(70,80,98,.24);box-shadow:inset 0 1px 1px rgba(40,48,60,.3),0 1px 0 rgba(255,255,255,.7)}
.rd-ghost .foot em{margin-left:auto;font:650 8.5px/1 var(--fl);letter-spacing:.18em;font-style:normal;color:#3d6b1f;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.rd-ghostacts{display:flex;gap:8px;margin-top:11px}
.rd-ghostacts .a2-quietb{flex:1;justify-content:center;margin:0}
/* in the dark the steel cools and the ink lifts, rather than staying a light slab */
[data-theme="dark"] .rd-ghost{color:#e6eaf2;
  background:linear-gradient(152deg,#8c94a4 0%,#5f6879 26%,#414958 52%,#59616f 68%,#343b47 88%,#4b5361 100%);
  box-shadow:0 18px 34px -18px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.34),inset 0 0 0 1px rgba(255,255,255,.12)}
[data-theme="dark"] .rd-ghost .brush{opacity:.34}
[data-theme="dark"] .rd-ghost .sheen{background:linear-gradient(112deg,rgba(255,255,255,0) 18%,rgba(255,255,255,.3) 37%,rgba(255,255,255,.03) 47%,rgba(255,255,255,0) 62%)}
[data-theme="dark"] .rd-ghost .top{color:#c2c9d6;text-shadow:none}
[data-theme="dark"] .rd-ghost .mid b{color:#f2f5fa;text-shadow:none}
[data-theme="dark"] .rd-ghost .mid small{color:#c8cfdb}
[data-theme="dark"] .rd-ghost .lock{color:#d3d9e4;filter:none}
[data-theme="dark"] .rd-ghost .lock b{color:#e6eaf2}
[data-theme="dark"] .rd-ghost .foot i{background:rgba(255,255,255,.22);box-shadow:none}
[data-theme="dark"] .rd-ghost .foot em{color:#cdf07a;text-shadow:none}
@media (prefers-reduced-motion:reduce){.rd-ghost:active{transform:none}}
/* contrast pass on the steel: 8.5px uppercase needs to clear 4.5:1 against a mid-tone metal,
   and a light olive on brushed silver was nowhere near it */
.rd-ghost .top{color:#4a5265}
.rd-ghost .foot em{color:#2c4a12}
.rd-ghost .mid small{color:#454e5f}
.rd-ghost .lock b{color:#414a5c}

/* ---- R78: the unissued card in BLACK stainless -----------------------------
   Graphite rather than silver. A dark metal card is what a premium card
   actually is, and it sits better under a lime canopy than a bright slab.
   Same three layers: base, brushed grain, one specular band. */
.rd-ghost{color:#e7eaef;
  background:linear-gradient(152deg,#3a4048 0%,#23272e 24%,#15181d 50%,#2b3038 66%,#101317 86%,#272c34 100%);
  box-shadow:0 20px 38px -18px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.09)}
.rd-ghost .brush{opacity:.3;
  background:repeating-linear-gradient(101deg,rgba(255,255,255,.28) 0 1px,rgba(0,0,0,.22) 1px 2px,rgba(255,255,255,0) 2px 4px)}
.rd-ghost .sheen{background:linear-gradient(112deg,rgba(255,255,255,0) 16%,rgba(255,255,255,.16) 34%,rgba(255,255,255,.03) 44%,rgba(255,255,255,0) 60%)}
.rd-ghost .lock{color:#cdf07a;filter:none}
.rd-ghost .lock b{color:#e7eaef;letter-spacing:-.015em}
.rd-ghost .top{color:#8f98a6;text-shadow:none;letter-spacing:.22em}
.rd-ghost .mid{margin-top:46px}
.rd-ghost .mid b{color:#f4f6f9;text-shadow:none;font-size:22px}
.rd-ghost .mid small{color:#a6aeba}
.rd-ghost .foot i{background:rgba(255,255,255,.18);box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.08)}
.rd-ghost .foot em{color:#cdf07a;text-shadow:none}
/* a hairline of light on the top edge, the way a milled card catches a room */
.rd-ghost::after{content:"";position:absolute;left:14%;right:14%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);pointer-events:none}
[data-theme="dark"] .rd-ghost{background:linear-gradient(152deg,#333942 0%,#1e222a 24%,#0e1115 50%,#252a32 66%,#0b0d11 86%,#20242b 100%)}

/* ---- R79: the empty home ---------------------------------------------------
   The old fresh page opened with a dashed box that said there was no card, and
   closed with eleven lines of promises. The card is real now (the brushed steel
   one from Core2, the same one every other empty wallet in the app shows) and
   the promises are one line at the end. Two rules, because everything else on
   this page was already drawn for the pages it was borrowed from. */
.a9-vow{max-width:44ch;margin:19px auto 20px;padding:15px 20px 0;border-top:1px solid var(--line2);text-align:center;font:450 11.5px/1.65 "Instrument Sans",sans-serif;color:var(--t3)}
.a9-vow b{font-weight:600;color:var(--t2)}
/* the stand-in for the cash strip, on the day the shell has no write path to give it */
.a9-qcfall{margin:4px 20px 0}

/* ---- R79: the unissued card, one metal per theme ---------------------------
   It was graphite in BOTH themes, so the dark theme put a near-black card on a
   near-black page and the card lost its own edges. Light gets graphite, dark
   gets steel: the card is always the opposite of the room it is in.
   The texture is plainer than it was. The brushed hairlines were doing the work
   of a photograph and read as noise at 390px, so they drop to a whisper. What
   carries the metal now is a soft diagonal base, one wide specular band, and a
   hairline along the top edge. Fewer stops, more premium. */
.rd-ghost{color:#eef1f6;
  background:linear-gradient(135deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 44%),linear-gradient(159deg,#3d434e 0%,#2a2f38 36%,#191d23 72%,#242a32 100%);
  box-shadow:0 22px 40px -20px rgba(10,13,18,.62),inset 0 1px 0 rgba(255,255,255,.15),inset 0 0 0 1px rgba(255,255,255,.055)}
.rd-ghost .brush{opacity:.14;background:repeating-linear-gradient(104deg,rgba(255,255,255,.24) 0 1px,rgba(255,255,255,0) 1px 3px)}
.rd-ghost .sheen{background:linear-gradient(108deg,rgba(255,255,255,0) 26%,rgba(255,255,255,.13) 43%,rgba(255,255,255,0) 60%)}
.rd-ghost::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent)}
.rd-ghost .top{color:#a9b2c1;text-shadow:none}
.rd-ghost .mid b{color:#f4f7fb;text-shadow:none}
.rd-ghost .mid small{color:#b7bfcc}
.rd-ghost .lock{color:#c7cfdc;filter:none}
.rd-ghost .lock b{color:#dde4ed}
.rd-ghost .foot i{background:rgba(255,255,255,.17);box-shadow:none}
.rd-ghost .foot em{color:#cdf07a;text-shadow:none}
/* the dark room gets the steel card */
[data-theme="dark"] .rd-ghost{color:#1d222a;
  background:linear-gradient(135deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 46%),linear-gradient(159deg,#eaedf2 0%,#ccd2db 36%,#a9b1be 72%,#c6ccd6 100%);
  box-shadow:0 22px 40px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.45)}
[data-theme="dark"] .rd-ghost .brush{opacity:.2;background:repeating-linear-gradient(104deg,rgba(255,255,255,.55) 0 1px,rgba(122,132,150,.1) 1px 3px)}
[data-theme="dark"] .rd-ghost .sheen{background:linear-gradient(108deg,rgba(255,255,255,0) 26%,rgba(255,255,255,.62) 43%,rgba(255,255,255,0) 60%)}
[data-theme="dark"] .rd-ghost::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent)}
[data-theme="dark"] .rd-ghost .top{color:#4b5464;text-shadow:0 1px 0 rgba(255,255,255,.5)}
[data-theme="dark"] .rd-ghost .mid b{color:#171b22;text-shadow:0 1px 0 rgba(255,255,255,.4)}
[data-theme="dark"] .rd-ghost .mid small{color:#434c5b}
[data-theme="dark"] .rd-ghost .lock{color:#4f5867;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}
[data-theme="dark"] .rd-ghost .lock b{color:#373f4c}
[data-theme="dark"] .rd-ghost .foot i{background:rgba(56,64,78,.24);box-shadow:inset 0 1px 1px rgba(30,36,46,.28),0 1px 0 rgba(255,255,255,.6)}
[data-theme="dark"] .rd-ghost .foot em{color:#2c4a12;text-shadow:0 1px 0 rgba(255,255,255,.45)}

/* ---- R79: cash starts with an account, not with an open form ---------------
   An amount box on a phone with no cash account was a form pointing at nothing.
   The account comes first, in one tap, and the entry box follows it. */
.a9-setup{margin:4px 20px 0;padding:17px 17px 15px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 1px 2px var(--shA);text-align:center}
.a9-setup .ic{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border-radius:13px;background:var(--wash);color:var(--accInk)}
.a9-setup b{display:block;font:650 15px/1.25 "Schibsted Grotesk",sans-serif;letter-spacing:-.01em;color:var(--t1)}
.a9-setup small{display:block;margin:6px auto 13px;max-width:34ch;font:450 11.5px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
/* the quick strip, before it is opened */
.a9-qc.shut{padding:13px 13px 11px}
.a9-qc.shut .a9-qchint{margin-top:9px;text-align:center}

/* ---- R79: the institution mark on a card ----------------------------------
   The mark is a 48x48 device with its own rounded ground, so it replaces the
   tinted square rather than sitting inside one. */
.rd-cmark.art{background:none;border:0;box-shadow:none;padding:0;overflow:hidden}
.rd-cmark .rd-cmk,.rd-cmark .rd-cmk svg{display:block;width:100%;height:100%}

/* ---- R79: the place name on a trip cover -----------------------------------
   The covers are light drawings, and the name was set in white for the old
   gradient, so on Goa or Rishikesh it vanished. A scrim under the name costs
   nothing on a dark cover and rescues it on a pale one. */
.a2-art.cov::after{content:"";position:absolute;left:0;right:0;bottom:0;height:52%;pointer-events:none;background:linear-gradient(to top,rgba(16,20,14,.72),rgba(16,20,14,.18) 55%,transparent)}
.a2-art.cov em,.a2-art.cov .tag{z-index:1}
.a2-art.cov em{text-shadow:0 1px 3px rgba(0,0,0,.5)}

/* ---- R79: official brand marks on a card ----------------------------------
   Two kinds of mark live side by side now. Ours are square and bring their own
   paper-tinted ground, so they replace the chip. An official file is
   transparent, dark on light, and often six times wider than tall, so it needs
   a white plate and a box its own shape, or HDFC's wordmark ends up four pixels
   tall and its dark blue vanishes into a dark blue card. */
.rd-cmark.logo{width:calc(34px * clamp(1, var(--ar,1), 2.45));background:#fff;border:1px solid rgba(255,255,255,.6);box-shadow:0 1px 2px rgba(0,0,0,.18);padding:5px 7px;box-sizing:border-box;overflow:hidden}
.rd-cmark.logo .rd-cmk,.rd-cmark.logo .rd-cmk svg{display:block;width:100%;height:100%}
/* the network, printed the way it is on the plastic */
.rd-cnetart{display:block;margin-left:auto;height:22px;width:calc(22px * var(--ar,2));border-radius:5px;background:#fff;padding:3px 5px;box-sizing:border-box;box-shadow:0 1px 2px rgba(0,0,0,.22);font-style:normal}
.rd-cnetart svg{display:block;width:100%;height:100%}
.rd-cfoot .rd-cnetart{margin-left:auto}

/* ==== R81: installed, this is an app, not a picture of an app =============================
   The owner installed it on an iPhone and screenshotted TWO status bars: the operating
   system's, reading 4:20, and the one this app draws for itself, reading 16:19. Two clocks,
   four minutes apart, one of them fake.

   .rd-notch was already hidden below 520px. .rd-status never was, because in a BROWSER TAB it
   is correct: the app is being previewed as a phone and the mock bar is part of that picture.
   Installed, there is a real phone around it and the mock is a lie on the screen.

   So the gate is display-mode, not width. A tab keeps the mock. An installed app does not. */
@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){
  .rd-status{display:none}
  /* the mock bar was also what pushed the header clear of the top edge, so the real inset has
     to take over that job or the greeting slides under the notch */
  .a2-ph,.rd-cano{padding-top:calc(12px + env(safe-area-inset-top,0px))}
  /* every full-height overlay starts below the notch too, or its close button is unreachable */
  .a2-lock,.a2-scan,.a2-switch,.a4-cmdwrap{padding-top:env(safe-area-inset-top,0px)}
  /* a sheet is bottom-anchored, so it is the home indicator it has to clear, not the notch */
  .rd-sheet{padding-bottom:env(safe-area-inset-bottom,0px)}
  .rd-dock{margin-bottom:env(safe-area-inset-bottom,0px)}
}
/* iOS reports display-mode:standalone through this too, and older iOS builds only through this */
@media (display-mode:standalone){
  html,body{background:var(--bg,#eff3e8)}
}

/* R76: welcome + sign in, redesigned around the lens mark */
.a2-wel{position:relative;overflow:hidden}
.a2-wsky{position:absolute;inset:0;pointer-events:none}
.a2-wsky i{position:absolute;border-radius:50%;filter:blur(46px)}
.a2-wsky i.g{width:340px;height:340px;background:var(--acc);top:-130px;right:-130px;opacity:.38}
.a2-wsky i.o{width:260px;height:260px;background:#f99d41;top:120px;left:-150px;opacity:.22}
.a2-wel>*{position:relative}
.a2-wel .a2-wsky{position:absolute;inset:0}
.a2-wel p{margin:14px 0 16px}
.a2-wtwo{display:flex;gap:14px;margin:0 0 24px;font:650 10.5px/1 "Instrument Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--t2)}
.a2-wtwo span{display:inline-flex;align-items:center;gap:6px}
.a2-wtwo i{width:8px;height:8px;border-radius:50%}
.a2-wtwo .soon{opacity:.62}.a2-wtwo .soon i{background:transparent;border:1.5px dashed var(--t3);box-sizing:border-box}
.a2-wsite{display:block;width:100%;margin-top:16px;text-align:center;font:550 11px/1 "Instrument Sans",sans-serif;color:var(--t3);text-decoration:none}
.a2-lhead{padding:8px 22px 2px}
.a2-lhead h2{margin:16px 0 0;font:650 30px/1.08 var(--fd),sans-serif;letter-spacing:-.035em;color:var(--t1);max-width:12ch}
.a2-lhead p{margin:10px 0 4px;font:450 13px/1.6 "Instrument Sans",sans-serif;color:var(--t2);max-width:32ch}
.a2-lfine{margin:14px 22px 18px;font:450 11.5px/1.6 "Instrument Sans",sans-serif;color:var(--t3)}
.a2-lfoot{margin:14px 22px 0;text-align:center;font:550 11.5px/1.4 "Instrument Sans",sans-serif;color:var(--t3)}
/* R77: the real door - welcome composition, the email/phone segmented control, signup */
.a8-wel{display:flex;flex-direction:column;min-height:0;flex:1;padding:0 26px;box-sizing:border-box}
.a8-welbody{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}
.a8-wel h1{margin:22px 0 0;font:650 34px/1.08 var(--fd),sans-serif;letter-spacing:-.035em;color:var(--t1);max-width:11ch}
.a8-welacts{flex:none;padding-bottom:30px}
.a8-welacts .a2-ghost{width:100%;margin-top:10px;justify-content:center}
.a8-quiet{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:14px;appearance:none;border:0;background:none;padding:10px;font:600 12.5px/1 var(--fl);letter-spacing:.01em;color:var(--t2);cursor:pointer;border-radius:12px}
.a8-quiet:hover{color:var(--t1)}
.a8-fine{margin:10px 0 0;text-align:center;font:450 10.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a8-auth{padding-bottom:26px}
.a8-seg{display:flex;gap:4px;margin:16px 22px 6px;padding:4px;border-radius:14px;background:var(--tile);border:1px solid var(--line)}
.a8-seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;appearance:none;border:0;background:none;padding:10px 0;border-radius:10px;font:650 12.5px/1 var(--fl);letter-spacing:.01em;color:var(--t2);cursor:pointer;min-height:38px}
.a8-seg button[aria-selected="true"]{background:var(--card);color:var(--t1);box-shadow:0 1px 3px var(--shA),inset 0 0 0 1px var(--line)}
.a8-field label{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.a8-hint{font:450 10.5px/1.3 "Instrument Sans",sans-serif;color:var(--t3);font-style:normal;letter-spacing:0;text-transform:none}
.a8-err{margin:10px 22px 0;padding:10px 13px;border-radius:12px;font:500 12px/1.5 "Instrument Sans",sans-serif;color:#8a3226;background:color-mix(in srgb,#c4472f 9%,var(--card));border:1px solid color-mix(in srgb,#c4472f 26%,var(--line))}
[data-theme="dark"] .a8-err{color:#ffb3a4}
.a8-cta{margin:16px 20px 0}
.a8-cta .a8-link{width:100%;text-align:center;margin-top:10px}
.a8-link{appearance:none;border:0;background:none;padding:8px 22px 0;font:550 11.5px/1.5 "Instrument Sans",sans-serif;color:var(--t2);cursor:pointer;text-align:left;display:block}
.a8-link:hover{color:var(--t1)}
.a8-inline{appearance:none;border:0;background:none;padding:0;font:inherit;font-weight:650;color:var(--t1);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.a8-otp input{width:44px}
.a8-mailwait{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 30px 0}
.a8-mailwait h2{margin:18px 0 0;font:650 26px/1.15 var(--fd),sans-serif;letter-spacing:-.03em;color:var(--t1)}
.a8-mailwait p{margin:10px 0 4px;font:450 13px/1.6 "Instrument Sans",sans-serif;color:var(--t2);max-width:30ch}
.a8-mailwait .a2-ghost{margin-top:18px}
.a8-mailwait .a8-link{padding:14px 0 0}
.a8-mailring{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:var(--wash);color:var(--accInk,var(--t1));border:1px solid var(--line);box-shadow:0 10px 24px -14px var(--shA)}

/* ---- R78: the door, rebuilt ------------------------------------------------
   The welcome screen is the first thing anybody sees, and it was reading as a
   left-aligned draft with a hole in the middle. One centred column, one rhythm,
   and the actions sit under the copy rather than floating away from it. */
.a8-wel{padding:0 24px;text-align:center}
.a8-welbody{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:0;padding:8px 0 4px}
.a8-lockup{display:flex;flex-direction:column;align-items:center;gap:12px}
.a8-lockup b{font:650 17px/1 var(--fd),sans-serif;letter-spacing:-.02em;color:var(--t1)}
.a8-wel h1{margin:26px auto 0;max-width:15ch;font:650 clamp(29px,8.4vw,35px)/1.1 var(--fd),sans-serif;letter-spacing:-.035em;color:var(--t1)}
.a8-wel p{margin:14px auto 0;max-width:34ch;font:450 13.5px/1.62 "Instrument Sans",sans-serif;color:var(--t2)}
.a8-wel .a2-wtwo{justify-content:center;flex-wrap:wrap;gap:8px 16px;margin:22px 0 0}
/* the actions keep a fixed distance from the copy instead of being flung to the
   bottom of whatever height the phone happens to be */
.a8-welacts{flex:none;width:100%;max-width:360px;margin:0 auto;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}
.a8-welacts .a2-gold.wide{width:100%;justify-content:center}
.a8-welacts .a2-ghost{width:100%;margin-top:10px;justify-content:center}
.a8-fine{margin:16px auto 0;max-width:38ch;text-align:center;font:450 11px/1.55 "Instrument Sans",sans-serif;color:var(--t3)}
.a8-legal{margin:10px auto 0;max-width:34ch;text-align:center;font:450 10.5px/1.5 "Instrument Sans",sans-serif;color:var(--t3)}
.a8-legal a{color:var(--t2);text-decoration:underline;text-underline-offset:2px}
.a8-legal a:hover{color:var(--t1)}
/* the blurred wash was fighting the words; it sits further out and lighter now */
.a2-wsky i.g{width:300px;height:300px;top:-150px;right:-120px;opacity:.3}
.a2-wsky i.o{width:230px;height:230px;top:auto;bottom:-110px;left:-120px;opacity:.16}
/* a short phone gives the copy less air rather than losing the buttons */
@media (max-height:720px){
  .a8-wel h1{font-size:27px;margin-top:18px}
  .a8-wel p{margin-top:10px;font-size:12.5px}
  .a8-wel .a2-wtwo{margin-top:14px}
  .a8-lockup b{display:none}
}
/* the copy and the doors are ONE block, optically centred. Letting the body take
   flex:1 and centre inside itself left a band of nothing above the buttons on
   every phone taller than the copy needed. */
.a8-wel{justify-content:center}
.a8-welbody{flex:0 0 auto;padding-bottom:0}
.a8-welacts{margin-top:36px}
@media (max-height:720px){.a8-welacts{margin-top:24px}}

/* ---- R78: sign in, create an account, set a new password ---------------------
   The three auth screens now share one centred head, so the door feels like one
   place rather than three drafts. */
.a8-authhead{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 24px 2px}
.a8-authhead h2{margin:16px 0 0;max-width:16ch;font:650 clamp(25px,7vw,30px)/1.1 var(--fd),sans-serif;letter-spacing:-.035em;color:var(--t1)}
.a8-authhead p{margin:10px 0 0;max-width:34ch;font:450 13px/1.6 "Instrument Sans",sans-serif;color:var(--t2)}
.a8-auth{padding-bottom:max(30px,env(safe-area-inset-bottom,0px))}
/* forgot: a real control with a reason under it, not a sentence pretending to be a link */
.a8-forgot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;appearance:none;border:0;background:none;margin:2px 22px 0;padding:8px 0;cursor:pointer;text-align:left}
.a8-forgot{font:650 12.5px/1.3 var(--fl);color:var(--t1);text-decoration:underline;text-underline-offset:3px}
.a8-forgot em{font:450 11px/1.4 "Instrument Sans",sans-serif;font-style:normal;color:var(--t3);text-decoration:none}
.a8-forgot:hover em{color:var(--t2)}
/* the underline belongs to the label alone; text-decoration on the button drew
   straight through the reason underneath it */
.a8-forgot{text-decoration:none}
.a8-forgot b{font:650 12.5px/1.3 var(--fl);color:var(--t1);text-decoration:underline;text-underline-offset:3px}
/* R78: the promise and the legal line are two different kinds of sentence. A hairline between
   them stops the block reading as one four-line paragraph of small grey text. */
.a8-legal{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
