:root{--c-pink:#ee4379;--c-pink-deep:#c9255b;--c-pink-tint:#fde7f0;--c-pink-ultra:#ee43790f;--c-white:#fff;--c-bej-0:#fbfaf7;--c-bej-1:#efebe4;--c-dark:#110d10;--c-ink:#110d10;--c-fog:#7a7570;--c-mist:#aba59e;--c-rule-card:#110d101f;--c-rule:#110d101a;--c-rule-soft:#110d100f;--c-rule-solid:#ddd6c9;--c-rule-soft-solid:#eae3d5;--c-success:#1f7a4d;--c-success-bg:#ecf7f1;--c-warn:#b8580a;--c-warn-bg:#fbf1e2;--c-error:#b91c1c;--c-error-bg:#fceaea;--c-ai:#a8336e;--c-ai-bg:#f4e4ee;--c-ai-grad:linear-gradient(135deg, #ee4379 0%, #7b2a6e 100%);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:24px;--r-pill:9999px;--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;--sp-28:28px;--sp-40:40px;--sp-56:56px;--sp-92:92px;--sh-sm:0 1px 3px #110d100f, 0 1px 2px #110d100a;--sh-pink:0 6px 16px #ee43794d;--grid-color:#110d1026;--grid-size:32px;--grid-radius:1px;--grid-edge:1.5px;--c-bg:var(--c-bej-0);--c-bg-deep:var(--c-bej-1);--c-bg-card:var(--c-bej-1);--c-surface:var(--c-white);--c-night:var(--c-dark);--c-paper:var(--c-bej-0)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--c-bg);color:var(--c-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}.has-grid{isolation:isolate;position:relative}.has-grid:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle, var(--grid-color) var(--grid-radius), transparent var(--grid-edge));background-size:var(--grid-size) var(--grid-size);position:absolute;inset:0}.has-grid>*{z-index:1;position:relative}body.bg-deep{background-color:var(--c-bej-1)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}em{font-style:italic}img,svg{max-width:100%;display:block}.sec-page,.sec-app,.sec-mkt,.sec-mkt-grid{background-color:#0000}.sec-tonal{background-color:var(--c-bej-1)}.sec-dark{background-color:var(--c-dark);color:#fff}.card-hairline{background:var(--c-white);border-radius:var(--r-md);border:1px solid #110d101f}.card-tonal{background:var(--c-bej-1);border-radius:var(--r-md);border:none}.t60{letter-spacing:-.04em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(36px,5.5vw,60px);font-weight:700;line-height:1.1}.t60.tight{line-height:1.05}.t48{letter-spacing:-.03em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(32px,4.5vw,48px);font-weight:700;line-height:1.08}.t40{letter-spacing:-.03em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(28px,3.8vw,40px);font-weight:700;line-height:1.15}.t32{letter-spacing:-.02em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.19}.t28{letter-spacing:-.02em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(22px,2.8vw,28px);font-weight:700;line-height:1.21}.t24{letter-spacing:-.01em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:24px;font-weight:400;line-height:30px}.t20{letter-spacing:0;color:var(--c-ink);margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:20px;font-weight:400;line-height:32px}.t18{letter-spacing:-.01em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:18px;font-weight:600;line-height:24px}.t16{letter-spacing:0;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:24px}.t14{letter-spacing:0;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px}.t12{letter-spacing:.1em;text-transform:uppercase;color:var(--c-fog);align-items:center;gap:8px;margin:0;font-family:Inter,sans-serif;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.t12 .dot{background:var(--c-pink);border-radius:50%;width:5px;height:5px}.t12.brand{color:var(--c-pink-deep)}.t24 strong,.t16 strong{color:var(--c-ink);font-weight:600}.t20 strong{color:#1a1614;font-weight:600}.tn40{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--c-ink);font-family:Inter,sans-serif;font-size:clamp(28px,3.5vw,40px);font-weight:700;line-height:1}.tn28{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--c-ink);font-family:Inter,sans-serif;font-size:clamp(22px,2.5vw,28px);font-weight:700;line-height:1}.t-suffix-lg{letter-spacing:0;color:var(--c-mist);font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:1}.t-suffix-md{letter-spacing:0;color:var(--c-mist);font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:1}.t-num-inline{letter-spacing:0;font-variant-numeric:tabular-nums;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:1}.t-badge{letter-spacing:.06em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10px;font-weight:600;line-height:1}.t-actor{letter-spacing:-.01em;color:var(--c-pink);font-family:Fraunces,serif;font-size:13px;font-style:italic;font-weight:500;line-height:1}.t60 em,.t48 em,.t40 em{color:var(--c-pink);letter-spacing:inherit;font-family:Fraunces,serif;font-style:italic;font-weight:600}@media (width<=768px){.t24{font-size:20px;line-height:26px}.t20{font-size:18px;line-height:30px}.t18{font-size:16px;line-height:22px}}.t-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--c-fog);align-items:center;gap:8px;margin:0;font-family:Inter,sans-serif;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.t-eyebrow .dot{background:var(--c-pink);border-radius:50%;width:5px;height:5px}.t-eyebrow.brand{color:var(--c-pink-deep)}.t-display{letter-spacing:-.04em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(36px,5.5vw,60px);font-weight:700;line-height:1.1}.t-display em{letter-spacing:inherit;color:var(--c-pink);font-family:Fraunces,serif;font-style:italic;font-weight:600}.t-h1{letter-spacing:-.03em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(32px,4.5vw,48px);font-weight:700;line-height:1.08}.t-h1 em{letter-spacing:inherit;color:var(--c-pink);font-family:Fraunces,serif;font-style:italic;font-weight:600}.t-h2{letter-spacing:-.02em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.19}.t-h2 em{color:var(--c-pink);font-family:Fraunces,serif;font-style:italic;font-weight:600}.t-h3{letter-spacing:-.01em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:18px;font-weight:600;line-height:24px}.t-h3 em{color:var(--c-pink);font-family:Fraunces,serif;font-style:italic;font-weight:600}.t-lead{letter-spacing:-.01em;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:24px;font-weight:400;line-height:30px}.t-lead strong{color:var(--c-ink);font-weight:600}.t-body{letter-spacing:0;color:var(--c-ink);margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:24px}.t-body strong{color:var(--c-ink);font-weight:600}.t-meta{color:var(--c-fog);font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px}.t-mono{color:var(--c-ink);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.t-edit{letter-spacing:0;color:var(--c-ink);font-family:"Source Serif 4",Georgia,serif;font-size:20px;font-weight:400;line-height:32px}@media (width<=768px){.t-edit{font-size:18px;line-height:30px}}.btn{border-radius:var(--r-lg);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:7px;height:40px;padding:0 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .14s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--c-pink);color:#fff}.btn.primary:hover:not(:disabled){background:var(--c-pink-deep);box-shadow:var(--sh-pink);transform:translateY(-1px)}.btn.secondary{background:var(--c-bg-card);color:var(--c-ink)}.btn.secondary:hover:not(:disabled){background:var(--c-bg-deep)}.btn.ghost{color:var(--c-fog);background:0 0}.btn.ghost:hover:not(:disabled){color:var(--c-ink);background:var(--c-bg-card)}.btn.dark{background:var(--c-night);color:#fff}.btn.dark:hover:not(:disabled){background:#1f1b17;transform:translateY(-1px)}.btn.outline{color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-rule);background:0 0}.btn.outline:hover:not(:disabled){background:var(--c-bg-card)}.btn.outline-pink{background:var(--c-white);color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-pink)}.btn.outline-pink:hover:not(:disabled){background:var(--c-pink);color:#fff;box-shadow:inset 0 0 0 1px var(--c-pink)}.btn.danger{background:var(--c-error);color:#fff}.btn.danger:hover:not(:disabled){background:#9d1818}.btn.lg{border-radius:var(--r-xl);height:44px;padding:0 32px;font-size:16px}.btn.sm{border-radius:var(--r-pill);height:30px;padding:0 18px;font-size:13px}.btn.xs{border-radius:var(--r-pill);height:26px;padding:0 14px;font-size:12px}.btn.icon-only{aspect-ratio:1;padding:0}.input{background:var(--c-white);border:1px solid var(--c-rule-card);border-radius:var(--r-lg);height:40px;color:var(--c-ink);width:100%;padding:0 16px;font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:20px;transition:border-color .14s,background .14s,box-shadow .14s}.input::placeholder{color:var(--c-mist)}.input:focus,.input.is-focused{border-color:var(--c-pink);background:var(--c-surface);outline:none;box-shadow:0 0 0 3px #ee43791f}.input.lg{height:44px;padding:0 20px;font-size:16px}.input.tonal{background:var(--c-bg-deep)}.input.error{border-color:var(--c-error);background:var(--c-error-bg)}.input.success{border-color:var(--c-success)}.input:disabled{background:var(--c-bg-card);color:var(--c-mist);cursor:not-allowed}.field{flex-direction:column;gap:4px;display:flex}.field-label{letter-spacing:.04em;color:var(--c-fog);padding-left:16px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:16px}.field-help{color:var(--c-fog);padding-left:16px;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:16px}.field-help.error{color:var(--c-error)}.field-help.success{color:var(--c-success)}.search-wrap{align-items:center;display:flex;position:relative}.search-wrap .search-ic{color:var(--c-fog);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-wrap .input{padding-left:40px}.search-wrap .kbd{color:var(--c-fog);background:var(--c-surface);border:1px solid var(--c-rule);pointer-events:none;border-radius:6px;padding:3px 7px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.badge{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;display:inline-flex}.badge.success{background:var(--c-success-bg);color:var(--c-success)}.badge.warn{background:var(--c-warn-bg);color:var(--c-warn)}.badge.error{background:var(--c-error-bg);color:var(--c-error)}.badge.ai{background:var(--c-ai-bg);color:var(--c-ai)}.badge.pink{background:var(--c-pink-tint);color:var(--c-pink-deep)}.badge.neutral{background:var(--c-bg-card);color:var(--c-fog)}.badge.dark{background:var(--c-night);color:#fff}.badge.filled.success{background:var(--c-success);color:#fff}.badge.filled.warn{background:var(--c-warn);color:#fff}.badge.filled.error{background:var(--c-error);color:#fff}.badge.filled.ai{background:var(--c-ai-grad);color:#fff}.badge.filled.pink{background:var(--c-pink);color:#fff}.badge.filled.neutral{background:var(--c-ink);color:#fff}.badge .dot{opacity:.85;background:currentColor;border-radius:50%;width:5px;height:5px}.ai-tag{letter-spacing:.06em;text-transform:uppercase;background:var(--c-pink-tint);color:var(--c-pink-deep);border-radius:var(--r-pill);align-items:center;gap:6px;padding:3px 8px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;display:inline-flex}.ai-feed{color:var(--c-fog);background:var(--c-bg-card);border-radius:var(--r-pill);align-items:center;gap:8px;padding:5px 11px;font-size:12px;display:inline-flex}.ai-feed strong{color:var(--c-pink);font-family:Fraunces,serif;font-style:italic;font-weight:500}.card{background:var(--c-surface);border:1px solid var(--c-rule-card);border-radius:var(--r-xl);padding:24px}.card.tonal{background:var(--c-bg-card);border:none}.card.dark{background:var(--c-night);color:#fff;border-color:#ffffff0d}.card.dark .t-h2,.card.dark .t-h3{color:#fff}.card.dark .t-body{color:#ffffffa6}.card.feat{border-color:color-mix(in oklab, var(--c-pink) 30%, var(--c-rule));box-shadow:0 24px 60px -20px #ee437933}.card.lg{padding:32px}.card.sm{padding:18px}.kpi{background:var(--c-surface);border:1px solid var(--c-rule-card);border-radius:var(--r-lg);padding:18px 20px;position:relative}.kpi .label{letter-spacing:.1em;text-transform:uppercase;color:var(--c-fog);align-items:center;gap:8px;margin-bottom:14px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;display:flex}.kpi .label .dot{background:var(--c-mist);border-radius:50%;width:5px;height:5px}.kpi.income .label .dot{background:var(--c-pink)}.kpi.expense .label .dot{background:var(--c-ink)}.kpi.profit .label .dot{background:var(--c-success)}.kpi.due .label .dot{background:var(--c-pink)}.kpi .value{letter-spacing:-.035em;color:var(--c-ink);font-variant-numeric:tabular-nums;font-family:Inter,sans-serif;font-size:32px;font-weight:600;line-height:1}.kpi .value .unit{color:var(--c-mist);letter-spacing:0;margin-left:4px;font-size:14px;font-weight:400}.kpi .delta{font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-top:10px;font-size:12px;display:inline-flex}.kpi .delta.up{color:var(--c-success)}.kpi .delta.down{color:var(--c-warn)}.kpi .delta.neutral{color:var(--c-fog)}.kpi.dark{background:var(--c-night);color:#fff;border-color:var(--c-night)}.kpi.dark .label{color:#ffffff8c}.kpi.dark .value{color:#fff}.kpi.dark .value .unit{color:#ffffff80}.kpi.dark .delta.neutral{color:#ffffffa6}.v3-topnav{z-index:95;background:var(--c-night);border-radius:var(--r-pill);gap:1px;padding:3px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f0e0c38}.v3-topnav a{letter-spacing:.02em;color:#ffffff8c;border-radius:var(--r-pill);justify-content:center;align-items:center;width:32px;height:28px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:color .14s,background .14s;display:inline-flex}.v3-topnav a:hover{color:#fff}.v3-topnav a.active{background:var(--c-pink);color:#fff}.v3-topnav .sep{color:#4d4842;letter-spacing:.1em;align-self:center;padding:0 4px;font-size:8.5px}.vox-fab{z-index:90;background:var(--c-night);color:#fff;cursor:pointer;border:none;border-radius:18px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 18px;font-family:Inter,sans-serif;transition:transform .14s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px -10px #0f0e0c59}.vox-fab:hover{transform:translateY(-2px)}.vox-fab span:first-child{font-size:14px;font-weight:500}.vox-fab em{color:var(--c-pink);font-family:Fraunces,serif;font-style:italic;font-weight:500}.vox-fab .meta{color:#ffffff8c;letter-spacing:.04em;font-size:11px}.avatar{background:var(--c-pink);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;display:inline-flex}.avatar.lg{width:44px;height:44px;font-size:13px}.avatar.sm{width:28px;height:28px;font-size:10px}.avatar.dark{background:var(--c-night)}.avatar.tinted{background:var(--c-pink-tint);color:var(--c-pink-deep)}.avatar.gradient{background:linear-gradient(135deg,#110d10,#4a4448)}.tbl{border-collapse:collapse;width:100%;font-family:Inter,sans-serif}.tbl thead th{text-transform:uppercase;letter-spacing:.1em;color:var(--c-fog);text-align:left;background:var(--c-bg-deep);border-bottom:1px solid var(--c-rule-soft);padding:10px 22px;font-size:11px;font-weight:500}.tbl thead th.right{text-align:right}.tbl tbody td{color:var(--c-ink);border-bottom:1px solid var(--c-rule-soft);font-variant-numeric:tabular-nums;letter-spacing:-.003em;padding:14px 22px;font-size:14px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:var(--c-bg-deep)}.tbl .right{text-align:right}.tbl .name,.tbl .amount{color:var(--c-ink);font-weight:500}.tbl .date{color:var(--c-fog);font-size:13px}.tabs{background:var(--c-bg-card);border-radius:var(--r-pill);padding:3px;display:inline-flex}.tabs button{cursor:pointer;border-radius:var(--r-pill);color:var(--c-fog);letter-spacing:-.005em;background:0 0;border:none;align-items:center;gap:6px;padding:7px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .14s;display:inline-flex}.tabs button:hover{color:var(--c-ink)}.tabs button.active{background:var(--c-surface);color:var(--c-ink);box-shadow:0 1px 2px #0000000f}.tabs button .count{color:var(--c-mist);font-variant-numeric:tabular-nums;font-size:10px}.tabs button.active .count{color:var(--c-fog)}.tabs.dark{background:var(--c-night);padding:3px}.tabs.dark button{color:#ffffff8c}.tabs.dark button:hover{color:#fff}.tabs.dark button.active{background:var(--c-pink);color:#fff;box-shadow:none}.switch{background:var(--c-bg-card);border-radius:var(--r-pill);cursor:pointer;border:none;width:36px;height:20px;padding:0;transition:background .14s;position:relative}.switch:after{content:"";width:16px;height:16px;box-shadow:var(--sh-sm);background:#fff;border-radius:50%;transition:transform .16s;position:absolute;top:2px;left:2px}.switch.on{background:var(--c-pink)}.switch.on:after{transform:translate(16px)}.alert{border-radius:var(--r-md);align-items:flex-start;gap:12px;padding:14px 16px;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;display:flex}.alert .ic{flex-shrink:0;margin-top:1px}.alert.info{background:var(--c-bg-card);color:var(--c-ink)}.alert.success{background:var(--c-success-bg);color:var(--c-success)}.alert.warn{background:var(--c-warn-bg);color:var(--c-warn)}.alert.error{background:var(--c-error-bg);color:var(--c-error)}.alert.brand{background:var(--c-pink-ultra);color:var(--c-pink-deep);border:1px solid color-mix(in oklab, var(--c-pink) 18%, var(--c-rule))}.alert strong{color:inherit;font-weight:600}.insight{background:var(--c-pink-ultra);border:1px solid color-mix(in oklab, var(--c-pink) 18%, var(--c-rule));border-radius:var(--r-xl);padding:28px}.insight .lb{letter-spacing:.1em;text-transform:uppercase;color:var(--c-pink-deep);margin-bottom:10px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.insight .h{letter-spacing:-.022em;color:var(--c-ink);margin:0 0 12px;font-family:Inter,sans-serif;font-size:22px;font-weight:600;line-height:1.25}.insight .h em{color:var(--c-pink);font-family:Fraunces,serif;font-style:italic;font-weight:500}.insight .p{color:var(--c-fog);margin:0 0 18px;font-family:Inter,sans-serif;font-size:14px;line-height:1.6}.insight .sig{border-top:1px solid color-mix(in oklab, var(--c-pink) 14%, transparent);align-items:center;gap:12px;padding-top:16px;display:flex}.insight .sig .nm{color:var(--c-ink);font-size:14px;font-weight:500}.insight .sig .rl{color:var(--c-fog);font-size:12px}.pulse-dot{background:var(--c-success);border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse-dot;display:inline-block;box-shadow:0 0 #1f7a4d80}@keyframes pulse-dot{0%{box-shadow:0 0 #1f7a4d73}70%{box-shadow:0 0 0 6px #1f7a4d00}to{box-shadow:0 0 #1f7a4d00}}.stack-xs>*+*{margin-top:4px}.stack-sm>*+*{margin-top:8px}.stack>*+*{margin-top:16px}.stack-lg>*+*{margin-top:24px}.stack-xl>*+*{margin-top:40px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.sm{gap:6px}.row.lg{gap:16px}.divider{background:var(--c-rule-soft);border:none;height:1px;margin:20px 0}.divider.strong{background:var(--c-rule)}@media (width<=1024px){.v3-topnav{bottom:12px}}:root{--team-a:var(--c-warn);--team-a-bg:var(--c-warn-bg);--team-b:var(--c-success);--team-b-bg:var(--c-success-bg)}.team-a{color:var(--team-a)}.team-b{color:var(--team-b)}.team-err{color:var(--c-error)}.team-a-soft{background:var(--team-a-bg)}.team-b-soft{background:var(--team-b-bg)}.team-a-fill{background:var(--team-a)}.team-b-fill{background:var(--team-b)}.shell{min-height:100dvh}.page-main{max-width:960px;margin:0 auto;padding:16px 16px 92px}.topnav{display:none}.brand{color:var(--c-ink);background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.brand-mark{border-radius:var(--r-xs);background:var(--c-dark);width:28px;height:28px;color:var(--c-pink);justify-content:center;align-items:center;font-family:Fraunces,serif;font-size:17px;font-style:italic;font-weight:600;display:inline-flex}.nav-pill{border-radius:var(--r-pill);height:36px;color:var(--c-fog);background:0 0;border:none;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:500;transition:all .14s;display:inline-flex}.nav-pill:hover{color:var(--c-ink);background:var(--c-bej-1)}.nav-pill.active{color:var(--c-ink);background:var(--c-bej-1);font-weight:700}.suit-red svg{color:var(--c-error)}.suit-black svg{color:var(--c-ink)}.bottomnav{z-index:80;background:var(--c-bej-1);border-top:1px solid var(--c-rule);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav-item{color:var(--c-fog);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 0 10px;font-size:11px;font-weight:500;display:flex}.bottomnav-item.active{color:var(--c-ink);font-weight:700}.bottomnav-item:not(.active) svg{color:var(--c-mist)}.fab{z-index:85;border-radius:var(--r-pill);background:var(--c-pink);color:#fff;width:56px;height:56px;box-shadow:var(--sh-pink);border:none;justify-content:center;align-items:center;transition:transform .14s;display:flex;position:fixed;bottom:72px;right:16px}.fab:active{transform:scale(.94)}.cloud-banner{background:var(--c-warn-bg);max-width:960px;color:var(--c-warn);border:1px solid var(--c-rule);border-radius:var(--r-sm);align-items:center;gap:8px;margin:12px auto 0;padding:8px 16px;font-size:12px;line-height:1.5;display:flex}.cloud-banner code{font-family:DM Mono,monospace;font-size:11px}.hero{background:var(--c-dark) url(/hero.jpg) center top / cover no-repeat;border:none;position:relative;overflow:hidden}.hero:before{content:"";background:#110d109e;position:absolute;inset:0}.hero-inner{justify-content:center;align-items:center;gap:8px;padding:28px 12px;display:flex;position:relative}.hero-team{text-align:center;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.hero-score{letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(44px,14vw,84px);font-weight:800;line-height:1}.hero-sub{color:#ffffffb8;font-size:12px}.hero-vs{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;min-width:64px;display:flex}.hero-vs-meta{color:#ffffff8c;font-size:12px}.card-head{border-bottom:1px solid var(--c-rule-soft);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.empty-note{color:var(--c-fog);padding:24px 16px}.match-row{text-align:left;border:none;border-bottom:1px solid var(--c-rule-soft);background:0 0;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;width:100%;padding:12px 16px;transition:background .14s;display:grid}.match-row:last-child{border-bottom:none}.match-row:hover{background:var(--c-pink-ultra)}.match-row-team{grid-area:1/1;align-items:center;gap:10px;min-width:0;display:flex}.match-row-score{grid-area:1/2;justify-self:end;font-size:18px;font-weight:700}.match-row-sets{flex-wrap:wrap;grid-area:2/1;gap:4px;display:flex}.match-row-date{grid-area:2/2;place-self:end}.set-pill{border-radius:var(--r-pill);white-space:nowrap;padding:2px 8px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.pill-a{background:var(--team-a-bg);color:var(--team-a)}.pill-b{background:var(--team-b-bg);color:var(--team-b)}.detail-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-actions{gap:8px;display:flex}.detail-hero{text-align:center;padding:24px 16px}.badge-final{border-radius:var(--r-pill);background:var(--c-white);border:1px solid var(--c-rule-card);align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.detail-score-row{justify-content:center;gap:40px;display:flex}.detail-score-side{flex-direction:column;align-items:center;gap:8px;display:flex}.detail-score{letter-spacing:-.03em;color:var(--c-ink);font-variant-numeric:tabular-nums;font-size:clamp(56px,18vw,88px);font-weight:800;line-height:1}.detail-score-side.dim .detail-score{color:var(--c-mist)}.game-row{border-bottom:1px solid var(--c-rule-soft);align-items:center;gap:12px;padding:12px 16px;display:flex}.game-row:last-child{border-bottom:none}.game-score{flex:1;font-size:20px}.game-score strong{font-weight:700}.quote-card{border-left:3px solid var(--c-pink);margin:0;padding:16px}.form-page{max-width:560px}.seg-row{gap:8px;display:flex}.seg{border-radius:var(--r-sm);border:1px solid var(--c-rule-card);background:var(--c-white);height:44px;color:var(--c-ink);flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;transition:all .14s;display:inline-flex}.seg.active{border-color:var(--c-ink);background:var(--c-bej-1)}.game-input-row{grid-template-columns:88px 1fr 12px 1fr;align-items:center;gap:8px;display:grid}.score-input{text-align:center;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.final-score-row{gap:12px;display:flex}.final-score-cell{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.final-score-cell .score-input{height:52px;font-size:24px}.calc-row{background:var(--c-bej-1);border-radius:var(--r-sm);align-items:center;gap:12px;margin-top:12px;padding:12px 16px;display:flex}.calc-row .t-mono{margin-left:auto}.quote-input{resize:none;height:auto;padding:12px 16px;line-height:1.5}.team-head{flex-direction:column;gap:16px;padding:16px;display:flex}.team-head-id{align-items:center;gap:12px;display:flex}.team-stats{flex-wrap:wrap;gap:16px;display:flex}.team-stat{text-align:center;min-width:48px}.player-grid{grid-template-columns:1fr;display:grid}.player-cell{border-top:1px solid var(--c-rule-soft);align-items:center;gap:12px;padding:16px;display:flex}.player-photo{background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0;position:relative}.player-photo.unlocked{outline:2px solid var(--c-success);outline-offset:2px}.player-photo-badge{background:var(--c-white);border:1px solid var(--c-rule-card);width:18px;height:18px;color:var(--c-fog);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px}.player-photo.unlocked .player-photo-badge{background:var(--c-success-bg);color:var(--c-success);border-color:var(--c-success)}.timeline{flex-direction:column;gap:24px;padding-left:24px;display:flex;position:relative}.timeline:before{content:"";background:var(--c-rule-soft-solid);border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;left:5px}.timeline-item{text-align:left;color:var(--c-ink);background:0 0;border:none;flex-direction:column;gap:4px;padding:0;display:flex;position:relative}.timeline-item:before{content:"";border:2px solid var(--c-bej-0);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-24px}.timeline-item.dot-a:before{background:var(--team-a)}.timeline-item.dot-b:before{background:var(--team-b)}.timeline-sets{flex-wrap:wrap;gap:4px;display:flex}.timeline-quote{color:var(--c-fog);font-style:italic;line-height:1.5}.av{object-fit:cover;border-radius:50%;flex-shrink:0;display:inline-block}.av-init{color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.av-pair{align-items:center;display:inline-flex}.av-pair>span{display:inline-flex;position:relative}.av-pair .av{border:2px solid var(--c-white)}.modal-back{z-index:100;background:#110d1073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card{background:var(--c-white);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:400px;padding:24px 24px 28px;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.pin-head{color:var(--c-fog);flex-direction:column;align-items:center;gap:4px;margin-bottom:16px;display:flex}.pin-dots{justify-content:center;gap:14px;display:flex}.pin-dot{background:var(--c-bej-1);border:1px solid var(--c-rule-card);border-radius:50%;width:12px;height:12px;transition:all .14s}.pin-dot.on{background:var(--c-pink);border-color:var(--c-pink)}.pin-dot.on-danger{background:var(--c-error);border-color:var(--c-error)}.pin-err{text-align:center;color:var(--c-error);visibility:hidden;height:20px;margin-top:4px;font-size:12px}.pin-err.show{visibility:visible}.pin-pad{grid-template-columns:repeat(3,1fr);gap:8px;max-width:260px;margin:4px auto 0;display:grid}.pin-key{border-radius:var(--r-sm);background:var(--c-bej-0);border:1px solid var(--c-rule);height:52px;color:var(--c-ink);justify-content:center;align-items:center;font-size:20px;transition:background .1s;display:flex}.pin-key:active{background:var(--c-bej-1)}@media (width>=880px){.topnav{z-index:50;background:var(--c-bej-0);border-bottom:1px solid var(--c-rule);justify-content:space-between;align-items:center;gap:16px;height:60px;padding:0 40px;display:flex;position:sticky;top:0}.topnav-items{gap:4px;display:flex}.bottomnav,.fab{display:none}.page-main{padding:40px 40px 56px}.hero-inner{gap:40px;padding:40px}.match-row{grid-template-columns:2fr auto 2fr auto}.match-row-team{grid-column:1}.match-row-score{grid-column:2;justify-self:center}.match-row-sets{grid-area:1/3}.match-row-date{grid-area:1/4;align-self:center}.modal-back{align-items:center}.modal-card{border-radius:var(--r-lg);width:400px}.team-head{flex-direction:row;justify-content:space-between;align-items:center}.player-grid{grid-template-columns:1fr 1fr}.player-cell:first-child{border-right:1px solid var(--c-rule-soft)}}
