:root{--cream:#F8E8DF;--ink:#6B5A62;--chip:#EFE0D8}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);-webkit-text-size-adjust:100%;overscroll-behavior:none}#scroller{height:100dvh;width:100%;overflow:hidden}#app{width:100%;height:100dvh;display:flex;flex-direction:column}#frame{position:relative;width:100%;height:100%;flex:1 1 auto;background:var(--cream);overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}#c{display:block;width:100%;height:100%;touch-action:none}#vVault.view{display:none}#vVault.view.on{display:block}.view{position:absolute;inset:var(--tileH) 0 var(--viewBot, var(--tabH)) 0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:none}.view.on{display:block}#vVault.view{overflow:hidden}:root{--tabH: 72px;--tileH: 74px}#tabs{position:absolute;left:0;right:0;bottom:0;height:var(--tabH);touch-action:pan-y;background:#fffcfaf0;backdrop-filter:blur(18px);border-top:1px solid rgba(140,110,100,.13);display:flex;align-items:flex-start;padding-top:9px;z-index:40}#tabs button{flex:1;background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink);opacity:.42;font-size:9.5px;letter-spacing:.1em}#tabs button.on{opacity:1}#tabs .dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;transition:background .18s}#tabs button.on .dot{background:#f3dfa8}#tabs svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#tile{position:absolute;left:0;right:0;top:0;height:var(--tileH);touch-action:pan-y;display:flex;align-items:center;gap:12px;padding:0 16px;background:#fffcfaeb;backdrop-filter:blur(16px);border-bottom:1px solid rgba(140,110,100,.12);z-index:30}#tile .dt{flex:1;min-width:0}#tile .d1{font-size:8.5px;letter-spacing:.2em;opacity:.45}#tile .d2{font-size:15px;font-weight:400;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tile .sc{text-align:right;font-variant-numeric:tabular-nums}#tile .s1{font-size:23px;font-weight:300;line-height:1}#tile .s1 em{font-style:normal;font-size:13px;opacity:.4}#tile .s2{font-size:8.5px;letter-spacing:.16em;opacity:.5;margin-top:4px}#tile .hex{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;font-size:13px;font-variant-numeric:tabular-nums;background:#d6b7a757;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}#scrub{position:absolute;left:0;right:0;bottom:var(--tabH);height:86px;background:#fffcfae6;backdrop-filter:blur(14px);border-top:1px solid rgba(140,110,100,.12);z-index:25;touch-action:none}#scrubCv{display:block;width:100%;height:64px}#scrubFoot{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:22px;font-size:9px;letter-spacing:.14em;opacity:.5}#scrubFoot button{background:none;border:0;color:var(--ink);opacity:.7;font-size:15px;padding:0 10px}#cardLayer{position:absolute;inset:0;z-index:70;pointer-events:none}#cardLayer.on{pointer-events:auto}#cardScrim{position:absolute;inset:0;background:#3a2c3000;backdrop-filter:blur(0px);transition:background .34s ease,backdrop-filter .34s ease}#cardLayer.on #cardScrim{background:#3a2c3057;backdrop-filter:blur(7px)}#cardFly{position:absolute;background-size:contain;background-repeat:no-repeat;background-position:center;z-index:2;pointer-events:none;filter:drop-shadow(0 10px 22px rgba(90,66,60,.34));transition:left .46s cubic-bezier(.22,1,.32,1),top .46s cubic-bezier(.22,1,.32,1),width .46s cubic-bezier(.22,1,.32,1),height .46s cubic-bezier(.22,1,.32,1)}#cardSheet{position:absolute;left:10px;right:10px;bottom:10px;z-index:1;background:linear-gradient(180deg,#fffcfa,#f7ede6);border-radius:26px;padding:78px 20px 18px;box-shadow:0 -2px 40px #5a423c33;transform:translateY(108%);opacity:0;transition:transform .42s cubic-bezier(.22,1,.32,1),opacity .3s ease}#cardLayer.on #cardSheet{transform:translateY(0);opacity:1}#cardGrip{width:38px;height:4px;border-radius:3px;background:#8c6e644d;margin:-62px auto 46px}.cardHead{text-align:center}.cardFam{font-size:8.5px;letter-spacing:.26em;opacity:.48}.cardName{font-size:24px;font-weight:300;margin-top:7px;line-height:1.15}.cardWorth{font-size:34px;font-weight:300;margin-top:10px;font-variant-numeric:tabular-nums}.cardWorth span{font-size:11px;letter-spacing:.16em;opacity:.45;margin-left:6px}.cardWhen{text-align:center;font-size:12px;line-height:1.55;opacity:.66;margin:14px 4px 4px}.cardWhen b{opacity:.95;font-weight:500}.cardRow{display:flex;margin:16px 0 4px;border-top:1px solid rgba(140,110,100,.13);border-bottom:1px solid rgba(140,110,100,.13)}.cardStat{flex:1;text-align:center;padding:13px 2px}.cardStat+.cardStat{border-left:1px solid rgba(140,110,100,.1)}.cardStat b{display:block;font-size:19px;font-weight:400;font-variant-numeric:tabular-nums}.cardStat span{display:block;font-size:8.5px;letter-spacing:.12em;opacity:.5;margin-top:5px}.cardBlock{margin-top:15px}.cardLabel{font-size:8.5px;letter-spacing:.22em;opacity:.46;margin-bottom:8px}.cardNote{font-size:11.5px;line-height:1.55;opacity:.68}.cardNote b{opacity:.95}.cardBar{position:relative;height:8px;border-radius:5px;background:#8c6e6421;overflow:hidden;margin-bottom:8px}.cardBar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:linear-gradient(90deg,#dfc7b2,#c9a88f)}.cardBar u{position:absolute;top:0;bottom:0;background:#8c6e63;opacity:.85}#cardClose{width:100%;margin-top:18px;border:0;border-radius:15px;padding:13px;background:#efe0d8;color:var(--ink);font-size:10.5px;letter-spacing:.18em;font-weight:600}.opt{flex:0 0 auto;border:0;border-radius:11px;padding:9px 13px;background:#efe0d8;color:var(--ink);font-size:11.5px;letter-spacing:.02em}.opt.on{background:#d9bfa9;color:#3e2f33;font-weight:600}.inp{border:1px solid rgba(140,110,100,.22);border-radius:11px;padding:10px 12px;background:#fff;color:var(--ink);font-size:14px;width:100%;font-family:inherit;-webkit-appearance:none}.inp:focus{outline:none;border-color:#c9a88f}.wrap{padding:16px 15px 22px;max-width:560px;margin:0 auto}.card{background:#fffcfad1;border-radius:20px;padding:16px 16px 17px;box-shadow:0 3px 16px #785a5012;margin-bottom:12px}.eyebrow{font-size:9px;letter-spacing:.22em;opacity:.5;margin-bottom:7px}.big{font-size:44px;font-weight:300;line-height:1;font-variant-numeric:tabular-nums}.sub{font-size:12.5px;opacity:.62;line-height:1.45}.gauge{height:7px;border-radius:4px;background:#8c6e6421;overflow:hidden;margin:11px 0 8px}.gauge i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#d9bfa9,#c9a88f);transition:width .5s}.rowline{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.todo{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid rgba(140,110,100,.1)}.todo:first-of-type{border-top:0}.todo .ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.todo .nm{flex:1;font-size:13px}.todo .pt{font-size:12px;font-variant-numeric:tabular-nums;opacity:.65}.balance{display:flex;gap:6px;align-items:flex-end;height:74px;margin-top:6px}.bal{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}.bal .bar{width:100%;border-radius:5px 5px 2px 2px;min-height:3px;transition:height .4s}.bal .lb{font-size:8px;letter-spacing:.08em;opacity:.5}.tl{display:flex;gap:11px;padding:7px 0;align-items:center}.tl .t{font-size:10.5px;opacity:.45;width:44px;font-variant-numeric:tabular-nums}.tl .n{flex:1;font-size:12.5px}.tl .v{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}#hud{position:absolute;left:0;right:0;top:0;padding:12px 16px 0;text-align:center;pointer-events:none}#hud h1{font-size:18px;font-weight:400;letter-spacing:.3em}#hud p{font-size:9px;letter-spacing:.24em;margin-top:4px;opacity:.55}.row{display:flex;gap:6px;align-items:center}.row+.row{margin-top:6px}button{flex:1;border:0;border-radius:12px;padding:10px 3px;background:var(--chip);color:var(--ink);font-size:10px;letter-spacing:.06em;font-weight:600;font-family:inherit}button:active{background:#e4d2c8}.scrim{position:fixed;inset:0;z-index:80;background:#3e2f3347;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .18s ease}.scrim.on{opacity:1}.sheet{width:100%;max-width:390px;max-height:82dvh;overflow-y:auto;background:var(--cream);border-radius:22px 22px 0 0;padding:10px 15px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 34px #785a5033;transform:translateY(14px);transition:transform .18s ease}.scrim.on .sheet{transform:none}.grip{width:38px;height:4px;border-radius:2px;background:#785f5a38;margin:0 auto 12px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sheet-x{flex:0 0 auto;width:30px;padding:0;background:none;font-size:20px;line-height:1;opacity:.45}.sheet-body{padding-bottom:4px}.vault-head{padding:14px 15px 8px}.vault-insight{min-height:16px}#vVault #c{height:calc(100% - 168px)}#vVault #scrub{bottom:0}.wgt{display:flex;gap:9px}.fld{flex:1;display:block}.fld span{display:block;font-size:9px;letter-spacing:.16em;opacity:.45;margin-bottom:5px}.rate{display:flex;gap:6px;margin-top:7px}.rate button{flex:1;padding:11px 0;font-size:13px;font-weight:400}.rate button.on{background:#f3dfa8;font-weight:600}.fab{position:absolute;right:16px;bottom:calc(var(--tabH) + 16px);z-index:40;width:56px;height:56px;flex:0 0 auto;border-radius:50%;padding:0;background:#d9bfa9;color:#3e2f33;font-size:26px;font-weight:300;box-shadow:0 6px 18px #785a5047;display:grid;place-items:center}.fab:active{background:#cbae97}.ent .wave{display:flex;align-items:center;justify-content:center;gap:3px;height:46px;margin:2px 0 10px}.ent .wave i{width:3px;height:6px;border-radius:2px;background:#967c6e73}.ent .wave.on i{animation:wv .9s ease-in-out infinite;background:#967c6ebf}@keyframes wv{0%,to{height:6px}50%{height:26px}}.cam{flex:1;border-radius:12px;padding:10px 3px;background:var(--chip);color:var(--ink);font-size:10px;letter-spacing:.06em;font-weight:600;text-align:center}
