:root{--ion-color-primary:#0054e9;--ion-color-primary-rgb:0, 84, 233;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255, 255, 255;--ion-color-primary-shade:#004acd;--ion-color-primary-tint:#1a65eb;--ion-color-secondary:#0163aa;--ion-color-secondary-rgb:1, 99, 170;--ion-color-secondary-contrast:#fff;--ion-color-secondary-contrast-rgb:255, 255, 255;--ion-color-secondary-shade:#015796;--ion-color-secondary-tint:#1a73b3;--ion-color-tertiary:#6030ff;--ion-color-tertiary-rgb:96, 48, 255;--ion-color-tertiary-contrast:#fff;--ion-color-tertiary-contrast-rgb:255, 255, 255;--ion-color-tertiary-shade:#542ae0;--ion-color-tertiary-tint:#7045ff;--ion-color-success:#2dd55b;--ion-color-success-rgb:45, 213, 91;--ion-color-success-contrast:#000;--ion-color-success-contrast-rgb:0, 0, 0;--ion-color-success-shade:#28bb50;--ion-color-success-tint:#42d96b;--ion-color-warning:#ffc409;--ion-color-warning-rgb:255, 196, 9;--ion-color-warning-contrast:#000;--ion-color-warning-contrast-rgb:0, 0, 0;--ion-color-warning-shade:#e0ac08;--ion-color-warning-tint:#ffca22;--ion-color-danger:#c5000f;--ion-color-danger-rgb:197, 0, 15;--ion-color-danger-contrast:#fff;--ion-color-danger-contrast-rgb:255, 255, 255;--ion-color-danger-shade:#ad000d;--ion-color-danger-tint:#cb1a27;--ion-color-light:#f4f5f8;--ion-color-light-rgb:244, 245, 248;--ion-color-light-contrast:#000;--ion-color-light-contrast-rgb:0, 0, 0;--ion-color-light-shade:#d7d8da;--ion-color-light-tint:#f5f6f9;--ion-color-medium:#636469;--ion-color-medium-rgb:99, 100, 105;--ion-color-medium-contrast:#fff;--ion-color-medium-contrast-rgb:255, 255, 255;--ion-color-medium-shade:#57585c;--ion-color-medium-tint:#737478;--ion-color-dark:#222428;--ion-color-dark-rgb:34, 36, 40;--ion-color-dark-contrast:#fff;--ion-color-dark-contrast-rgb:255, 255, 255;--ion-color-dark-shade:#1e2023;--ion-color-dark-tint:#383a3e}html.ios{--ion-default-font:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font:"Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font:-apple-system-body;--ion-font-family:var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (width>=768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity:.18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity:0;--box-shadow:none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base:var(--ion-color-primary,#0054e9)!important;--ion-color-base-rgb:var(--ion-color-primary-rgb,0, 84, 233)!important;--ion-color-contrast:var(--ion-color-primary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-primary-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-primary-shade,#004acd)!important;--ion-color-tint:var(--ion-color-primary-tint,#1a65eb)!important}.ion-color-secondary{--ion-color-base:var(--ion-color-secondary,#0163aa)!important;--ion-color-base-rgb:var(--ion-color-secondary-rgb,1, 99, 170)!important;--ion-color-contrast:var(--ion-color-secondary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-secondary-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-secondary-shade,#015796)!important;--ion-color-tint:var(--ion-color-secondary-tint,#1a73b3)!important}.ion-color-tertiary{--ion-color-base:var(--ion-color-tertiary,#6030ff)!important;--ion-color-base-rgb:var(--ion-color-tertiary-rgb,96, 48, 255)!important;--ion-color-contrast:var(--ion-color-tertiary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-tertiary-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-tertiary-shade,#542ae0)!important;--ion-color-tint:var(--ion-color-tertiary-tint,#7045ff)!important}.ion-color-success{--ion-color-base:var(--ion-color-success,#2dd55b)!important;--ion-color-base-rgb:var(--ion-color-success-rgb,45, 213, 91)!important;--ion-color-contrast:var(--ion-color-success-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-success-contrast-rgb,0, 0, 0)!important;--ion-color-shade:var(--ion-color-success-shade,#28bb50)!important;--ion-color-tint:var(--ion-color-success-tint,#42d96b)!important}.ion-color-warning{--ion-color-base:var(--ion-color-warning,#ffc409)!important;--ion-color-base-rgb:var(--ion-color-warning-rgb,255, 196, 9)!important;--ion-color-contrast:var(--ion-color-warning-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-warning-contrast-rgb,0, 0, 0)!important;--ion-color-shade:var(--ion-color-warning-shade,#e0ac08)!important;--ion-color-tint:var(--ion-color-warning-tint,#ffca22)!important}.ion-color-danger{--ion-color-base:var(--ion-color-danger,#c5000f)!important;--ion-color-base-rgb:var(--ion-color-danger-rgb,197, 0, 15)!important;--ion-color-contrast:var(--ion-color-danger-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-danger-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-danger-shade,#ad000d)!important;--ion-color-tint:var(--ion-color-danger-tint,#cb1a27)!important}.ion-color-light{--ion-color-base:var(--ion-color-light,#f4f5f8)!important;--ion-color-base-rgb:var(--ion-color-light-rgb,244, 245, 248)!important;--ion-color-contrast:var(--ion-color-light-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-light-contrast-rgb,0, 0, 0)!important;--ion-color-shade:var(--ion-color-light-shade,#d7d8da)!important;--ion-color-tint:var(--ion-color-light-tint,#f5f6f9)!important}.ion-color-medium{--ion-color-base:var(--ion-color-medium,#636469)!important;--ion-color-base-rgb:var(--ion-color-medium-rgb,99, 100, 105)!important;--ion-color-contrast:var(--ion-color-medium-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-medium-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-medium-shade,#57585c)!important;--ion-color-tint:var(--ion-color-medium-tint,#737478)!important}.ion-color-dark{--ion-color-base:var(--ion-color-dark,#222428)!important;--ion-color-base-rgb:var(--ion-color-dark-rgb,34, 36, 40)!important;--ion-color-contrast:var(--ion-color-dark-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-dark-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-dark-shade,#1e2023)!important;--ion-color-tint:var(--ion-color-dark-tint,#383a3e)!important}.ion-page{contain:layout size style;z-index:0;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{contain:layout style;height:100%;position:relative}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding:20px}@supports (padding-top:20px){html{--ion-safe-area-top:var(--ion-statusbar-padding)}}@supports (padding-top:env(safe-area-inset-top)){html{--ion-safe-area-top:var(--safe-area-inset-top,env(safe-area-inset-top));--ion-safe-area-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom));--ion-safe-area-left:var(--safe-area-inset-left,env(safe-area-inset-left));--ion-safe-area-right:var(--safe-area-inset-right,env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translate(0,0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow:hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-right-radius:8px;border-bottom-left-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width:0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width:0px;--inner-border-width:0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width:fit-content;--height:fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}*{box-sizing:border-box;-webkit-tap-highlight-color:#0000;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;height:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0;position:fixed;overflow:hidden;transform:translateZ(0)}:root{--brand:#1f5c9e;--brand-hover:#1a4f89;--brand-tint:#eaf1f9;--success:#0e9f6e;--success-bg:#e6f6ef;--success-text:#0a7050;--warning:#c2750c;--warning-bg:#fff4dc;--warning-text:#8e5300;--danger:#dc2626;--danger-bg:#fee2e2;--text:#0e1a2b;--text-2:#4b5c72;--text-3:#6f7e94;--text-faint:#97a4b5;--bg:#f6f8fb;--surface:#fff;--border:#e6eaf0;--border-strong:#dce2eb;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--shadow-md:0 4px 12px #0f172a0f, 0 1px 3px #0f172a0d;--shadow-lg:0 16px 40px #0f172a1a, 0 4px 12px #0f172a0d;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--radius:14px;--tab-height:88px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:16px;--text-lg:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;touch-action:manipulation;height:100%}body{min-height:100%;font-family:var(--font);font-size:var(--text-base);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#dde3ec;font-weight:500;line-height:1.5}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:2px;outline:2px solid #1f5c9e73}#root{justify-content:center;align-items:flex-start;height:100dvh;display:flex}.ion-page{padding-top:var(--safe-top)}ion-app{background:var(--bg);width:100%;max-width:430px;height:100%;overflow:hidden;box-shadow:0 0 60px #00000026;contain:none!important;position:relative!important}.app-shell{width:100%;max-width:430px;min-height:100dvh;padding-top:var(--safe-top);background:var(--bg);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #00000026}.page-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0;padding-bottom:calc(var(--tab-height) + var(--safe-bottom) + 16px);scroll-padding-bottom:calc(var(--tab-height) + var(--safe-bottom) + 16px);flex:1;overflow-y:auto}.mobile-scroll-safe{touch-action:pan-y;overscroll-behavior-y:contain}.page-scroll-notab{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.tabbar{width:100%;max-width:430px;height:var(--tab-height);-webkit-backdrop-filter:blur(12px);padding-bottom:var(--safe-bottom);z-index:100;background:#ffffffeb;border-top:1px solid #e6eaf099;transition:opacity .16s,transform .16s;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #0f172a0f}html.keyboard-open .tabbar{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(calc(100% + var(--safe-bottom)))}html.keyboard-open .page-scroll{padding-bottom:calc(16px + var(--safe-bottom));scroll-padding-bottom:calc(16px + var(--safe-bottom))}input,textarea{scroll-margin-bottom:16px}.tab{color:var(--text-faint);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 0 0;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s;display:flex}.tab.active{color:var(--brand)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.focus-card{box-shadow:0 10px 24px #1f5c9e1a, var(--shadow-sm);background:linear-gradient(#f8fbff 0%,#fff 100%);border-color:#1f5c9e3d}.focus-progress-track{background:#eaf1f9;border-radius:999px;width:100%;height:6px;overflow:hidden}.focus-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#1f5c9e 0%,#3c86cf 100%);height:100%;transition:width .25s}.btn-primary{background:var(--brand);color:#fff;border-radius:var(--radius);width:100%;height:54px;font-size:var(--text-base);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s;display:flex;box-shadow:0 8px 20px #1f5c9e47,0 2px 6px #1f5c9e2e}.btn-primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 12px 28px #1f5c9e57,0 4px 10px #1f5c9e38}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--brand-tint);width:100%;height:50px;color:var(--brand);border-radius:var(--radius);font-size:var(--text-md);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:600;transition:opacity .12s;display:flex}.btn-secondary:active{opacity:.7}.input{border:1.5px solid var(--border-strong);width:100%;height:48px;color:var(--text);background:var(--surface);border-radius:10px;outline:none;padding:0 14px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1f5c9e26}.input::placeholder{color:var(--text-faint)}.label{font-size:var(--text-md);color:var(--text-2);margin-bottom:6px;font-weight:500;display:block}.section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title{font-size:var(--text-base);color:var(--text);font-weight:600}.section-meta{font-size:var(--text-xs);color:var(--text-3);font-weight:500}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-base{font-size:var(--text-base)}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.text-main{color:var(--text)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.text-faint{color:var(--text-faint)}.toast{bottom:calc(var(--tab-height) + 16px + var(--safe-bottom));opacity:0;color:#fff;width:calc(100% - 32px);max-width:360px;box-shadow:var(--shadow-lg);z-index:90;pointer-events:none;background:#1a2535;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(120px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast-notab{bottom:calc(16px + var(--safe-bottom))}.avatar{background:linear-gradient(135deg, var(--brand) 0%, #2e72b5 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #1f5c9e40}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.stats-grid-secondary .stat-card{box-shadow:none;background:#fcfdfe;padding:14px 12px 12px}.stats-grid-secondary .stat-value{font-size:21px}.stats-toggle{border:1px solid var(--border);width:100%;height:34px;color:var(--text-3);cursor:pointer;background:#fff;border-radius:9px;margin-top:-10px;margin-bottom:16px;font-family:inherit;font-size:12px;font-weight:600}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 16px 16px}.stat-label{color:var(--text-3);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:500;display:flex}.stat-icon{background:var(--brand-tint);width:22px;height:22px;color:var(--brand);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stat-value{color:var(--text);letter-spacing:-.02em;align-items:baseline;gap:3px;font-size:24px;font-weight:700;line-height:1.1;display:flex}.stat-unit{color:var(--text-3);font-size:13px;font-weight:500}.stat-currency{color:var(--text-3);margin-right:1px;font-size:14px;font-weight:600}.stat-delta{color:var(--success-text);align-items:center;gap:3px;margin-top:6px;font-size:12px;font-weight:500;display:inline-flex}.records-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.record-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:16px 14px;display:flex}.record-item:last-child{border-bottom:none}.task-list{flex-direction:column;gap:8px;display:flex}.task-item{background:var(--bg);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;font-family:inherit;display:flex}.task-dot{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:all .2s}.task-dot.done{border-color:var(--success);background:var(--success)}.activity-list{flex-direction:column;gap:6px;display:flex}.activity-group-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:4px 2px 2px;font-weight:700}.activity-filter-row{gap:6px;margin-bottom:8px;display:flex}.activity-filter-chip{border:1px solid var(--border);background:var(--bg);height:28px;color:var(--text-3);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.activity-filter-chip.active{background:var(--brand-tint);color:var(--brand);border-color:#1f5c9e59}.activity-filter-count{min-width:16px;height:16px;color:var(--text-2);background:#0f172a14;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;line-height:16px}.activity-filter-chip.active .activity-filter-count{color:var(--brand);background:#1f5c9e29}.activity-item{align-items:flex-start;gap:8px;padding:8px 2px;display:flex}.activity-item-action{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;font-family:inherit}.activity-item-action:hover{background:#0f172a08}.section-jump-highlight{animation:1s sectionFlash}.section-jump-target{scroll-margin-top:12px}@keyframes sectionFlash{0%{box-shadow:0 0 #1f5c9e38}30%{box-shadow:0 0 0 6px #1f5c9e24}to{box-shadow:0 0 #1f5c9e00}}.activity-dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.activity-dot.info{background:var(--brand)}.activity-dot.success{background:var(--success)}.activity-dot.warning{background:var(--warning)}.activity-dot.danger{background:var(--danger)}.empty-state{text-align:center;color:var(--text-3);padding:48px 24px}.empty-state-title{font-size:var(--text-base);color:var(--text-2);margin-bottom:6px;font-weight:600}.empty-state-sub{font-size:13px;line-height:1.6}.mono-chip{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border);color:var(--text-2);word-break:break-all;border-radius:6px;padding:2px 8px;font-size:11px}.step-dots{align-items:center;gap:6px;display:flex}.step-dot{background:var(--border-strong);border-radius:99px;width:8px;height:8px;transition:all .3s}.step-dot.active{background:var(--brand);width:24px}.step-dot.done{background:var(--success)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.35s cubic-bezier(.25,.46,.45,.94) both fadeInUp}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:1.5s ease-in-out infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scratchReveal{0%{filter:blur(10px);opacity:0;transform:scale(.92)}60%{filter:blur(2px);opacity:1;transform:scale(1.04)}to{filter:blur();opacity:1;transform:scale(1)}}.scratch-reveal{animation:.55s cubic-bezier(.22,1,.36,1) both scratchReveal;display:inline-block}
