@font-face{font-family:CountryFlags;src:url(/assets/country-flags-subset-Xj7bMoOP.woff2)format("woff2");font-display:block;unicode-range:U+1F1E6-1F1FF}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--surface:#1a1a1a;--surface-variant:#2d2d2d;--primary:#667eea;--secondary:#764ba2;--accent:#4ecdc4;--warning:#ffb347;--gold:gold;--text-primary:#fff;--text-secondary:#ffffffb3;--text-tertiary:#fff6;--glass-border:#ffffff29;--gradient-primary:linear-gradient(135deg, var(--primary), var(--secondary));--glass-from:#667eea1a;--glass-to:#764ba21a;--glass-surface:linear-gradient(135deg, var(--glass-from), var(--glass-to));--row-fill:linear-gradient(135deg, #667eea1a, #764ba21a);--card-solid:#14131c;--tag-fill:#ffffff26;--repeat-fill:#4ecdc433;--repeat-stroke:#4ecdc466;--copy-text:#c792ea;--copy-fill:#c792ea1a;--del-text:#ff4757;--del-fill:#ff47571a;--header-scrim:#0e0e0e;--bar-track:#3e4044;--navbar-height:56px;--radius-card:16px;--radius-bordered:12px;--radius-button:18px;--radius-chip:10px;--radius-sheet:20px;--font-stack:CountryFlags, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", "SF Mono", Menlo, Consolas, monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-body:1rem;--text-title:1.125rem;--text-action:1.1875rem;--text-display:1.75rem;--gap-xs:6px;--gap-sm:10px;--gap-md:16px;--gap-lg:24px;--focus-ring:0 0 0 3px #667eea8c;--column-max:30rem;--rail-width:0px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--bar-top:var(--safe-top);--chart-max:24rem;--stat-label:.625rem;--stat-sub:.5625rem;--stat-value-sm:.75rem;--stat-value-md:1rem;--stat-value-lg:1.125rem;--stat-value-xl:1.25rem;--stat-value-hero:1.75rem}button{font-family:inherit}html,body{background:var(--bg);min-height:100%;margin:0;padding:0}body{font-family:var(--font-stack);font-size:var(--text-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}#root{justify-content:center;align-items:center;gap:var(--gap-md);min-height:100dvh;padding:calc(var(--gap-lg) + var(--safe-top)) max(var(--gap-md), var(--safe-right)) calc(var(--gap-lg) + var(--safe-bottom)) max(var(--gap-md), var(--safe-left));flex-direction:column;display:flex}.section{align-items:center;gap:var(--gap-md);flex-direction:column;width:100%;display:flex}.section[hidden],.panel-headrow[hidden],.panel-conflict[hidden],.record-actions-card[hidden],.panel form[hidden]{display:none}.card{width:100%;max-width:var(--column-max);gap:var(--gap-md);padding:var(--gap-lg);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;display:flex}.card-login{max-width:30rem}.or-rule{color:var(--text-secondary);font-size:var(--text-xs);align-items:center;gap:.75rem;display:flex}.or-rule:before,.or-rule:after{content:"";border-top:1px solid var(--glass-border);flex:1}.passkey-hint{text-align:center;color:var(--text-secondary);font-size:var(--text-xs);margin:0}.terms-agree{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:13px;display:flex}.signup-warning{padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);color:var(--text-secondary);border-left:3px solid var(--warning);border-radius:var(--radius-chip);background:#ffb3471a;margin:0}.signup-warning strong{color:var(--warning)}.card h1{font-size:var(--text-display);letter-spacing:-.015em;color:var(--text-primary);margin:0;font-weight:700}.card form{gap:var(--gap-md);flex-direction:column;display:flex}:is(.card,.panel) h2{font-size:var(--text-title);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-weight:700}:is(.card,.panel) h3{font-size:var(--text-body);color:var(--text-primary);margin:0;font-weight:600}:is(.card,.panel,.record-section) p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}:is(.card,.panel,.record-section) [role=alert]{padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);color:var(--warning);border:1px solid var(--warning);border-radius:var(--radius-chip);background:#ffb3471a}.record-section{width:100%;max-width:var(--column-max);gap:var(--gap-sm);flex-direction:column;display:flex}.records-empty{padding:var(--gap-lg) 0;text-align:center}.list-head{top:var(--bar-top);z-index:2;gap:var(--gap-xs);margin-top:calc(var(--gap-lg) * -1);padding-top:var(--gap-lg);padding-bottom:var(--gap-xs);background:var(--header-scrim);flex-direction:column;display:flex;position:sticky}.list-title-row{justify-content:space-between;align-items:center;gap:var(--gap-sm);display:flex}.list-title h1{font-size:var(--text-display);margin:0;line-height:1.1}.record-section p.list-count{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.record-section p.conflict-notice{color:var(--text-primary);font-size:.9rem}.list-sort{height:36px;font:inherit;color:var(--text-primary);cursor:pointer;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:8px;align-items:center;gap:4px;padding:0 14px;font-size:13px;display:inline-flex}.list-tabs{gap:8px;height:32px;display:flex}.list-tab{font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #ffffff1e;border-radius:20px;flex:1 1 0;padding:0 12px;font-size:13px}.list-tab-on{background:var(--gradient-primary);border-color:#0000}.list-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.list-search-row{gap:8px;margin:0;display:flex}.list-search{height:56px;color:var(--text-secondary);border:1px solid var(--glass-border);background:#ffffff0f;border-radius:12px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.list-search:focus-within{box-shadow:var(--focus-ring)}.list-search input{min-width:0;font:inherit;font-size:var(--text-sm);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.list-filter{height:56px;color:var(--text-primary);cursor:pointer;border:1px solid var(--glass-border);background:#ffffff0f;border-radius:12px;flex:0 0 56px;justify-content:center;align-items:center;display:inline-flex}.list-chips{flex-wrap:wrap;gap:4px 6px;margin:0;padding:0;list-style:none;display:flex}.list-chip{font-size:var(--text-xs);color:var(--text-primary);background:var(--tag-fill);border:1px solid var(--glass-border);border-radius:8px;align-items:center;gap:2px;padding:4px 4px 4px 10px;display:inline-flex}.list-chip-x{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.record-section .month-header{top:calc(var(--bar-top) + var(--list-head-h,0px))}.record-section .month-group{z-index:1;position:relative}.list-sheet .list-sheet-title{margin:0 0 var(--gap-sm);font-size:var(--text-title);color:var(--text-secondary);font-weight:400}.sort-options{margin:0;padding:0;list-style:none}.sort-option{width:100%;font:inherit;font-size:var(--text-title);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.sort-tick{color:var(--accent)}.filter-head{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.filter-head h2{margin:0;font-size:20px;font-weight:900}.filter-clear{font:inherit;font-size:var(--text-sm);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:8px}.filter-section{break-inside:avoid;padding-bottom:6px}.panel h3.filter-label{letter-spacing:.08em;color:var(--text-secondary);margin:6px 0 6px 6px;font-size:11px;font-weight:700}.filter-card{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);flex-direction:column;gap:6px;padding:8px 16px;display:flex}.filter-card-row{flex-direction:row;align-items:center;gap:12px}.filter-card-row>.suggest{flex:1;min-width:0}.filter-card-accent{border-left:4px solid var(--accent)}.panel p.filter-icon-label{color:var(--text-secondary);align-items:center;gap:12px;margin:0;font-size:13px;display:flex}.filter-icon{flex:none;font-size:18px}.filter-dates{flex-direction:column;align-items:stretch;gap:8px;display:flex}.filter-date{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.filter-date>.field{flex:1;min-width:0}.filter-date-clear{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 6px}.filter-arrow{color:var(--text-secondary);align-self:center;transform:rotate(90deg)}.filter-stars{display:flex}.filter-star{width:34px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1}.filter-star-on{color:var(--gold)}.panel p.filter-chip-label{color:var(--text-secondary);margin:0 0 6px;font-size:11px}.filter-chips{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.filter-chip{font:inherit;color:var(--text-primary);cursor:pointer;border:1px solid var(--glass-border);background:0 0;border-radius:8px;padding:4px 6px;font-size:13px}.filter-chip-on{background:var(--repeat-fill);border-color:var(--accent)}.panel label.filter-switch{color:var(--text-primary);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);align-items:center;gap:12px;padding:14px 16px;font-size:15px;display:flex}.filter-switch+.filter-switch{margin-top:8px}.filter-switch-label{flex:1}.filter-apply-bar{bottom:calc(var(--gap-md) * -1);margin:0 calc(var(--gap-md) * -1) calc(var(--gap-md) * -1);padding:10px var(--gap-md) var(--gap-md);background:var(--bg);position:sticky}.filter-apply{width:100%;height:52px}.record-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.swipe-row{touch-action:pan-y pinch-zoom;position:relative}.swipe-row:before{content:"";border-radius:var(--radius-bordered);opacity:0;background:#b71c1c2e;position:absolute;inset:0}.swipe-row.swipe-armed:before{opacity:1}.swipe-row>*{transform:translateX(var(--swipe-x,0px));transition:transform .18s ease-out;position:relative}.swipe-row.swipe-dragging>*{transition:none}.undo-chip-dock{left:0;right:0;bottom:calc(var(--navbar-height) + 8px + var(--safe-bottom));z-index:3;pointer-events:none;justify-content:center;display:flex;position:fixed}.undo-chip{pointer-events:auto;font:inherit;color:var(--text-primary);cursor:pointer;border:1px solid var(--glass-border);background:#1a1a1af2;border-radius:10px;align-items:center;padding:8px 6px 8px 14px;font-size:12px;line-height:15px;display:inline-flex}.undo-chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.undo-chip-dot{color:var(--text-secondary);padding:0 6px}.undo-chip-action{color:var(--accent);padding:2px 8px;font-weight:700}.month-group{flex-direction:column;gap:8px;display:flex}.month-header{top:var(--bar-top);z-index:2;padding:10px var(--gap-md);background:var(--header-scrim);align-items:center;gap:8px;display:flex;position:sticky}.month-name{font-size:var(--text-body);color:var(--text-primary);font-weight:700}.month-year{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.month-bar{background:var(--bar-track);border-radius:2px;flex:auto;min-width:24px;height:4px;margin:0 4px;overflow:hidden}.month-bar>span{background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:2px;height:100%;display:block}.month-count{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;flex:none}.month-spend{font-size:var(--text-xs);color:var(--accent);flex:none;font-weight:700}.month-spend-free{color:var(--text-secondary)}:is(.card,.panel) input:not([type=checkbox]),:is(.card,.panel) :is(select,textarea){width:100%;padding:.75rem var(--gap-md);font-family:inherit;font-size:var(--text-body);color:var(--text-primary);background:var(--row-fill);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);outline:none}:is(.card,.panel) textarea{resize:vertical;line-height:1.5}:is(.card,.panel) :is(select,textarea):focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring)}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}option{color:var(--text-primary);background:var(--card-solid)}:is(.card,.panel) :is(input,textarea)::placeholder{color:var(--text-secondary)}:is(.card,.panel) input:not([type=checkbox]):focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring)}:is(.card,.panel) input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--primary);margin:0}input[type=checkbox][role=switch]{appearance:none;cursor:pointer;background-color:var(--surface-variant);background-image:radial-gradient(circle, var(--text-tertiary) 0 calc(50% - .5px), transparent calc(50% + .5px));border:2px solid var(--text-tertiary);background-position:4px;background-repeat:no-repeat;background-size:14px 14px;border-radius:14px;flex:none;width:52px;height:28px;transition:background-color .15s,border-color .15s,background-position .15s,background-size .15s}input[type=checkbox][role=switch]:checked{background-color:var(--primary);border-color:var(--primary);background-image:radial-gradient(circle,#fff 0 calc(50% - .5px),#0000 calc(50% + .5px));background-position:right 3px center;background-size:20px 20px}input[type=checkbox][role=switch]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){input[type=checkbox][role=switch]{transition:none}}:is(.card,.panel) label{align-items:center;gap:var(--gap-sm);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.btn-primary,.btn-secondary,.btn-link{cursor:pointer;font-family:inherit}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.btn-primary{padding:.8125rem var(--gap-lg);font-size:var(--text-action);color:var(--text-primary);background:var(--gradient-primary);border-radius:var(--radius-button);border:none;font-weight:700}.btn-primary:disabled{cursor:not-allowed;color:var(--text-secondary);background:var(--surface-variant);border:1px solid var(--glass-border)}.btn-secondary{padding:.6875rem var(--gap-md);font-size:var(--text-body);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);background:0 0;font-weight:600}.btn-secondary:disabled{cursor:not-allowed;color:var(--text-secondary);opacity:.75}.btn-link{padding:var(--gap-xs) var(--gap-sm);font-size:var(--text-sm);color:var(--primary);border-radius:var(--radius-chip);text-underline-offset:3px;background:0 0;border:none;align-self:center;font-weight:600;text-decoration:underline}.link-home{color:var(--text-secondary);font-weight:500;text-decoration:none}.link-home:hover{text-decoration:underline}.install-pill{align-self:center;align-items:center;gap:var(--gap-sm);min-height:40px;padding:0 var(--gap-md) 0 var(--gap-sm);border:1px solid var(--glass-border);color:var(--text-primary);font-size:var(--text-sm);border-radius:999px;font-weight:600;text-decoration:none;display:inline-flex}.install-pill img{border-radius:6px;flex:none;width:24px;height:24px;display:block}.install-pill span{line-height:24px;display:block}.install-pill:hover{border-color:var(--primary)}button.install-pill{cursor:pointer;background:0 0;font-family:inherit}.install-sheet{padding-bottom:calc(var(--gap-md) + var(--safe-bottom))}.install-sheet-title{margin:0 0 var(--gap-md);font-size:var(--text-title)}.install-sheet-steps{counter-reset:step;gap:var(--gap-md);margin:0;padding:0;list-style:none;display:grid}.install-sheet-steps li{counter-increment:step;gap:var(--gap-md);grid-template-columns:160px 1fr;align-items:center;display:grid}.install-sheet-steps img{border-radius:8.333%/12.5%;width:160px;height:auto}.install-sheet-steps span:before{content:counter(step);background:color-mix(in srgb, var(--primary) 18%, transparent);width:24px;height:24px;color:var(--text-primary);font-weight:700;font-size:var(--text-sm);border-radius:50%;place-items:center;margin-right:8px;display:inline-grid}.install-sheet-done{width:100%;margin-top:var(--gap-lg)}.install-pill:focus-visible{box-shadow:var(--focus-ring);outline:none}.recovery-code{padding:var(--gap-md);font-family:var(--font-mono);letter-spacing:.22em;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--accent);background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-bordered);-webkit-user-select:all;user-select:all;margin:0;font-size:1.375rem;font-weight:600;line-height:1.8}.totp-qr svg{background:#fff;width:12rem;height:12rem}.passkey-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.passkey-row-date{color:var(--text-secondary);font-size:var(--text-xs)}.backup-codes{gap:var(--gap-xs) var(--gap-md);padding:var(--gap-md);font-family:var(--font-mono);font-size:var(--text-body);background:var(--bg);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;list-style:none;display:grid}.pw{gap:var(--gap-sm);padding:var(--gap-md);background:var(--bg);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);flex-direction:column;display:flex}.pw-rule{align-items:baseline;gap:var(--gap-sm);font-size:var(--text-sm);color:var(--text-secondary);margin:0;display:flex}.pw-rule-met{color:var(--accent)}.pw-mark{font-weight:700}.pw-meter{justify-content:space-between;align-items:baseline;gap:var(--gap-sm);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.pw-strength{font-weight:700}.pw-bar{background:var(--surface-variant);border-radius:var(--radius-chip);height:6px;overflow:hidden}.pw-bar-fill{border-radius:var(--radius-chip);height:100%;transition:width .18s,background-color .18s}.pw-too-short .pw-strength,.pw-fair .pw-strength{color:var(--warning)}.pw-good .pw-strength{color:var(--primary)}.pw-strong .pw-strength{color:var(--accent)}.pw-too-short .pw-bar-fill,.pw-fair .pw-bar-fill{background:var(--warning)}.pw-good .pw-bar-fill{background:var(--primary)}.pw-strong .pw-bar-fill{background:var(--accent)}.pw-hints{gap:var(--gap-xs);font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;margin:0;padding-left:1.25rem;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.panel{width:min(100%,40rem);max-height:85vh;padding:var(--gap-md);color:var(--text-primary);background:var(--bg);border:1px solid var(--glass-border);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;margin:auto auto 0;overflow-y:auto}.panel::backdrop{background:#0009}:is(.panel,.field-host) .field select{appearance:none;background:0 0;padding-right:34px}:is(.panel,.field-host) .field:has(select):after{content:"";border-right:2px solid var(--text-tertiary);border-bottom:2px solid var(--text-tertiary);pointer-events:none;width:7px;height:7px;position:absolute;right:16px;transform:translateY(-2px)rotate(45deg)}.panel textarea{padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);border:1px solid var(--glass-border);border-radius:var(--radius-card);background:0 0}.panel textarea:focus-visible{border-color:var(--accent);box-shadow:none}.panel-headrow{align-items:stretch;gap:var(--gap-xs);margin-bottom:var(--gap-sm);display:flex}.panel-hero{gap:var(--gap-xs);background:linear-gradient(135deg, var(--primary), var(--secondary));border-radius:var(--radius-card);flex:auto;align-items:center;min-width:0;padding:8px 14px;display:flex;position:relative;overflow:hidden}.panel-hero-actions{gap:var(--gap-sm);flex:none;align-items:stretch;display:flex}.panel-hero-actions .btn-primary{padding:0 var(--gap-md);font-size:var(--text-sm)}.panel-close{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:0 0 40px;justify-content:center;align-self:center;align-items:center;margin-left:-11px;padding:0;font-family:inherit;font-size:1.125rem;line-height:1;display:flex}.panel-close:hover:not(:disabled){color:var(--text-primary);background:#ffffff14}.panel-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.panel-hero:after{content:"";background:#ffffff12;border-radius:50%;width:100px;height:100px;position:absolute;top:-30px;right:-20px}.panel-hero>span{font-size:1.375rem;line-height:1}.panel .panel-hero h2{font-size:var(--text-title);letter-spacing:-.025em;color:var(--text-primary);margin:0;font-weight:900}.panel form{gap:var(--gap-sm);flex-direction:column;display:flex}.form-section{gap:var(--gap-sm);padding:var(--gap-md);background:var(--row-fill);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;display:flex}.form-section-body{gap:var(--gap-sm);flex-direction:column;display:flex}.form-row{gap:var(--gap-sm);flex-wrap:wrap;align-items:flex-end;display:flex}.form-row>*{flex:8rem;min-width:0}.form-row>.field-wide{flex:2 12rem}.form-body{gap:var(--gap-sm);flex-direction:column;display:flex}.required-mark{color:var(--accent);margin-left:1px;font-size:.8em;line-height:1;position:relative;top:0}:is(.panel,.field-host) .field label:has(.required-mark){gap:0}.form-body>.record-required-legend{column-span:all;font-size:var(--text-xs);color:var(--text-secondary);margin:0;display:block}.record-venue-error{margin:0}.panel .btn-gps{height:52px;padding:0 var(--gap-md);font-size:var(--text-sm)}.record-actions-card{gap:var(--gap-sm);margin:var(--gap-sm) 0 16px;background:var(--row-fill);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;padding:16px;display:flex}.record-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.record-actions>button{min-width:0;height:52px;font-family:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:18px;padding:0 4px}.btn-copy{color:var(--copy-text);background:var(--copy-fill);border:1px solid var(--glass-border)}.btn-del-glass{color:var(--del-text);background:var(--del-fill);border:1px solid var(--glass-border)}.btn-copy:focus-visible,.btn-del-glass:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.btn-copy:disabled,.btn-del-glass:disabled{cursor:not-allowed;color:var(--text-secondary)}.panel p.record-actions-note{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin:0}.field-host{gap:var(--gap-sm);grid-template-columns:1fr;align-items:start;display:grid}.field-host-span{grid-column:1/-1}.suggest{min-width:0;position:relative}.form-row>.suggest-wide{flex:2 12rem}.suggest-list{inset-inline:0;z-index:3;background:var(--surface-variant);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);max-height:10rem;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + 4px);overflow-y:auto}.suggest-above .suggest-list{top:auto;bottom:calc(100% + 4px)}.suggest-option{font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;padding:10px 14px}.suggest-option-active,.suggest-option:hover{background:#ffffff0f}.field{align-items:center;min-width:0;display:flex;position:relative}:is(.panel,.field-host) .field :is(input,select){width:100%;height:56px;padding:0 var(--gap-md);font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:0 0;border:none;border-radius:0;outline:none}:is(.panel,.field-host) .field :is(input,select):focus-visible{box-shadow:none}:is(.panel,.field-host) .field fieldset{pointer-events:none;border:1px solid var(--glass-border);border-radius:var(--radius-card);min-width:0;margin:0;padding:0 8px;position:absolute;inset:-5px 0 0;overflow:hidden}:is(.panel,.field-host) .field legend{float:unset;width:auto;max-width:.01px;height:11px;font-size:var(--text-xs);visibility:hidden;white-space:nowrap;padding:0;display:block;overflow:hidden}:is(.panel,.field-host) .field legend span{padding:0 5px;display:inline-block}:is(.panel,.field-host) .field legend span.legend-required{padding-right:8px}:is(.panel,.field-host) .field label{top:50%;left:var(--gap-md);font-size:var(--text-sm);color:var(--text-tertiary);pointer-events:none;line-height:1;position:absolute;transform:translateY(-50%)}:is(.panel,.field-host) .field:focus-within label,:is(.panel,.field-host) .field input:not(:placeholder-shown)~label,:is(.panel,.field-host) .field.field-raised label{top:0;left:calc(var(--gap-md) - 3px);font-size:var(--text-xs)}:is(.panel,.field-host) .field:focus-within legend,:is(.panel,.field-host) .field input:not(:placeholder-shown)~fieldset legend,:is(.panel,.field-host) .field.field-raised legend{max-width:100%}:is(.panel,.field-host) .field:focus-within label{color:var(--accent)}:is(.panel,.field-host) .field:focus-within fieldset{border-color:var(--accent)}:is(.panel,.field-host) .field input[readonly]{cursor:default}.form-checks{gap:var(--gap-md);flex-wrap:wrap;display:flex}.field-fieldset{border:0;min-inline-size:0;margin:0;padding:0}.field-fieldset>legend{font-size:var(--text-sm);color:var(--text-secondary);padding:0}.panel .coords{font-size:var(--text-xs);color:var(--accent);text-align:center}.converter-total{font-size:var(--text-xs);color:var(--accent)}.converter-toggle{font-size:var(--text-xs);color:var(--primary);cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:none;padding:4px;font-weight:600}.converter-toggle:hover:not(:disabled){background:var(--tag-fill)}.converter-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.converter-apply{white-space:nowrap;padding-inline:var(--gap-sm)}.form-row>.converter-apply{flex-basis:11rem}.converter-apply-tip:not(:disabled){background:var(--secondary)}.converter:has(.converter-apply){margin-bottom:8px}.converter-error{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;margin:0}.stars{justify-content:center;gap:var(--gap-xs);display:flex}.star{min-width:44px;min-height:44px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:1.75rem;line-height:1}.star-on{color:var(--gold)}.star:disabled{cursor:not-allowed}.star:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--radius-chip)}.navbar{z-index:3;height:calc(var(--navbar-height) + var(--safe-bottom));padding:0 max(var(--gap-sm), var(--safe-right)) var(--safe-bottom) max(var(--gap-sm), var(--safe-left));background:var(--surface);border-top:1px solid var(--glass-border);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{min-width:0;font-family:inherit;font-size:var(--text-xs);color:#fff6;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex}.nav-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-item-on{color:var(--primary)}.nav-slot{flex:0 0 60px}.nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-add{left:50%;bottom:var(--safe-bottom);z-index:4;width:56px;height:56px;color:var(--text-primary);cursor:pointer;background:var(--gradient-primary);border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-family:inherit;font-size:1.5rem;line-height:1;display:flex;position:fixed;transform:translate(-50%)}.nav-add-label{display:none}.nav-add:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.nav-lock{color:#fff6;cursor:pointer;background:0 0;border:none;flex:0 0 44px;justify-content:center;align-items:center;min-height:44px;padding:0;display:flex}.nav-lock:hover,.nav-lock:focus-visible{color:var(--primary)}.nav-lock:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-brand,.nav-item-trips,.nav-lock .nav-label{display:none}.navbar:before{content:none}.navbar>.nav-lock{display:none}.head-title-row{justify-content:space-between;align-items:center;gap:var(--gap-sm);display:flex}.head-title-row>h1{margin:0}.heading-lock{color:#fff6;cursor:pointer;background:0 0;border:none;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.heading-lock:hover,.heading-lock:focus-visible{color:var(--primary)}.heading-lock:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.list-sort,.stats-repeats,.profile .profile-top>.heading-lock,.yir .yir-head>.yir-year{margin-left:auto}.yir .yir-head>.heading-lock{margin-left:var(--gap-sm)}.breakdown .breakdown-head-row>.heading-lock{color:#ffffffd9}.breakdown .breakdown-head-row>.heading-lock:hover,.breakdown .breakdown-head-row>.heading-lock:focus-visible{color:#fff;outline-color:#fff}.settings-head{width:100%;max-width:var(--column-max);top:var(--bar-top);z-index:2;margin-top:calc(var(--gap-lg) * -1);padding-top:var(--gap-lg);padding-bottom:var(--gap-xs);background:var(--header-scrim);position:sticky}.settings-head h1{font-size:var(--text-display)}.layer-page{width:100%;max-width:var(--column-max);gap:var(--gap-md);flex-direction:column;display:flex}.layer-head{top:var(--bar-top);z-index:2;margin-top:calc(var(--gap-lg) * -1);padding-top:var(--gap-lg);padding-bottom:var(--gap-xs);background:var(--header-scrim);position:sticky}.phrases-head.layer-head{gap:var(--gap-xs)}.layer-head h2{font-size:var(--text-display);overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.15}#root:has(.navbar){padding-bottom:calc(var(--navbar-height) + var(--gap-lg) * 2 + var(--safe-bottom));justify-content:flex-start}.segmented{gap:var(--gap-xs);background:var(--bg);border:1px solid var(--glass-border);border-radius:var(--radius-chip);padding:4px;display:flex}.segment{padding:.5rem var(--gap-sm);font-family:inherit;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:none;flex:1;font-weight:600}.segment-on{color:var(--text-primary);background:var(--gradient-primary);font-weight:700}.segment:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.encounter-row{width:100%;font:inherit;color:var(--text-primary);text-align:left;background:var(--row-fill);border:1px solid var(--glass-border);border-left:4px solid var(--text-tertiary);border-radius:var(--radius-bordered);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.encounter-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.row-avatar{width:52px;height:52px;font-size:var(--text-title);color:var(--text-primary);border-radius:18px;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.row-body{flex-direction:column;flex:auto;min-width:0;display:flex}.row-line{align-items:center;gap:var(--gap-xs);min-width:0;display:flex}.row-line-place{margin-top:4px}.row-line-money{margin-top:2px}.row-tags{margin-top:6px}.row-name,.row-place{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-name{font-size:var(--text-body);flex:auto;font-weight:700}.row-date{font-size:var(--text-xs);color:var(--text-secondary);margin-left:auto}.row-place{font-size:var(--text-sm);color:var(--text-secondary)}.row-access{font-size:var(--text-sm);color:var(--text-secondary);flex:none}.row-stars{font-size:var(--text-sm);color:var(--gold);letter-spacing:.05em;white-space:nowrap;flex:none;margin-left:auto}.row-from{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--text-secondary);flex:auto;overflow:hidden}.row-cost{font-size:var(--text-sm);color:var(--accent);flex:none;font-weight:700}.row-tags{flex-wrap:wrap;gap:4px}.row-tag{padding:2px var(--gap-xs);font-size:var(--text-xs);color:var(--text-secondary);background:var(--tag-fill);border-radius:4px}.row-badges,.row-title{display:contents}.row-repeat{width:22px;height:22px;color:var(--accent);background:var(--repeat-fill);border:1px solid var(--repeat-stroke);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.row-wishlist{font-size:var(--text-sm);flex:none}.row-visits{color:var(--accent);flex:none;font-size:11px;font-weight:700}.row-excerpt{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;text-align:left;margin-top:2px;font-size:12px;font-style:italic;display:block;overflow:hidden}.row-excerpt-hit{color:var(--accent);background:0 0}.wishlist-row{background:var(--row-fill);border:1px solid var(--glass-border);border-left:4px solid var(--secondary);border-radius:var(--radius-bordered);flex-direction:column;align-items:flex-start;gap:10px;padding:12px;display:flex}.wishlist-open{width:100%;font:inherit;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:10px;padding:0;display:flex}.wishlist-open:focus-visible{box-shadow:var(--focus-ring);outline:none}.wishlist-avatar{width:44px;height:44px;color:var(--text-primary);border-radius:var(--radius-bordered);flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.wishlist-text{flex-direction:column;flex:auto;min-width:0;display:flex}.wishlist-title{align-items:center;gap:var(--gap-xs);min-width:0;display:flex}.wishlist-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.wishlist-bookmark{font-size:var(--text-sm);flex:none}.wishlist-place,.wishlist-from,.wishlist-notes{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wishlist-place{color:var(--text-secondary);margin-top:3px;font-size:12px}.wishlist-from{color:var(--text-secondary);margin-top:2px;font-size:12px}.wishlist-notes{color:var(--text-secondary);margin-top:2px;font-size:12px;font-style:italic}.wishlist-mark{height:32px;font:inherit;color:var(--accent);cursor:pointer;border:1px solid var(--accent);background:0 0;border-radius:16px;flex:none;padding:0 14px;font-size:12px}.wishlist-mark:focus-visible{box-shadow:var(--focus-ring);outline:none}.row-conflict{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--primary);border:1px solid var(--primary);border-radius:4px;flex:none;padding:1px 6px;font-weight:700}.btn-danger{padding:.6875rem var(--gap-md);font-family:inherit;font-size:var(--text-body);color:#ff4757;cursor:pointer;border-radius:var(--radius-bordered);background:0 0;border:1px solid #ff4757;font-weight:600}.panel>.btn-danger{margin-top:var(--gap-lg)}.confirm{padding:var(--gap-lg) var(--gap-md);margin-top:var(--gap-lg);background:var(--row-fill);border-radius:var(--radius-card)}.confirm h3{margin:0 0 var(--gap-sm)}.confirm p{margin:0 0 var(--gap-lg)}.btn-danger:disabled{cursor:not-allowed;color:var(--text-secondary);border-color:var(--glass-border)}.confirm-field{gap:var(--gap-xs);margin-bottom:var(--gap-lg);flex-direction:column;display:flex}.confirm-actions{gap:var(--gap-sm);flex-wrap:wrap;display:flex}.confirm-overlay{z-index:5;padding:var(--gap-md);background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.confirm-overlay>.confirm{border:1px solid var(--glass-border);background:var(--row-fill), var(--bg);width:min(100%,24rem);margin-top:0}.confirm-overlay.confirm-overlay-notice{pointer-events:none;background:0 0}.confirm-overlay.confirm-overlay-notice>.confirm{pointer-events:none;box-shadow:0 10px 30px #0000008c}.confirm-overlay.confirm-overlay-notice>.confirm>p{margin-bottom:0}.tour{z-index:6;position:fixed;inset:0}.tour-blocker{position:absolute;inset:0}.tour-hole{left:var(--hole-x);top:var(--hole-y);width:var(--hole-w);height:var(--hole-h);border-radius:var(--radius-card);outline:2px solid var(--accent);pointer-events:none;position:fixed;box-shadow:0 0 0 200vmax #0000009e}.tour-box{background:var(--glass-surface), var(--surface);left:var(--gap-md);right:var(--gap-md);width:auto;bottom:calc(var(--navbar-height) + var(--gap-md) + env(safe-area-inset-bottom));max-width:28rem;max-height:calc(100dvh - var(--navbar-height) - 2 * var(--gap-md) - env(safe-area-inset-bottom));--tour-docked:1;margin:0 auto;position:fixed;overflow:hidden}.tour-step{opacity:.7;font-size:.75rem}.tour-step,.tour-title,.tour-actions{flex-shrink:0}.tour-title{margin:.25rem 0;font-size:1.05rem}.tour-body{min-height:0;margin:0 0 .75rem;line-height:1.45;overflow-y:auto}.tour-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.tour-actions [data-testid=tour-skip]{margin-right:auto}.import-field{gap:var(--gap-xs);flex-direction:column;display:flex}.import-field>label{font-size:var(--text-sm);color:var(--text-secondary)}:is(.card,.panel) input[type=file]{padding:var(--gap-xs);line-height:1.6}:is(.card,.panel) input[type=file]::file-selector-button{padding:.375rem var(--gap-md);margin-right:var(--gap-sm);font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;background:var(--gradient-primary);border-radius:var(--radius-chip);border:none;font-weight:600}:is(.card,.panel) input[type=file]:disabled::file-selector-button{cursor:default;opacity:.5}:is(.card,.panel) h2.settings-group{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-weight:700}.settings-row{gap:var(--gap-sm);width:100%;padding:var(--gap-sm) var(--gap-md);text-align:left;cursor:pointer;background:var(--row-fill);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);align-items:center;font-family:inherit;display:flex}.settings-row:hover{background:#667eea26}.settings-row:focus-visible{box-shadow:var(--focus-ring);background:#667eea26;outline:none}.settings-row-emoji{border-radius:var(--radius-chip);background:#667eea26;flex:0 0 36px;justify-content:center;align-items:center;height:36px;font-size:1.125rem;display:flex}.settings-row-text{flex-direction:column;flex:auto;min-width:0;display:flex}.settings-row-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:700}:is(.card,.panel) h2.settings-row-title{font-size:var(--text-sm);letter-spacing:normal;color:var(--text-primary);margin:0;font-weight:700}.settings-row-subtitle{font-size:var(--text-xs);color:var(--text-secondary)}.settings-row:after{color:var(--text-secondary);content:"›";flex:none;margin-left:auto;font-size:1.25rem;line-height:1}.settings-row-static{gap:var(--gap-sm);align-items:center;display:flex}.timeout-row{gap:var(--gap-sm);align-items:flex-start;display:flex}.timeout-row .field-host{flex:auto;min-width:0}.timeout-row .btn-primary{height:56px}.reveal-row{gap:var(--gap-sm);align-items:stretch;display:flex}.reveal-row input{flex:1;min-width:0}.preset-list{gap:var(--gap-sm);flex-direction:column;display:flex}.preset-rows{gap:var(--gap-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.preset-row{gap:var(--gap-xs);padding-right:var(--gap-sm);background:var(--row-fill);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);align-items:center;display:flex}.preset-row>.settings-row{background:0 0;border:none;flex:auto;min-width:0}.preset-row:hover{background:#667eea26}.preset-row:has(:focus-visible){background:#667eea26}.preset-cost{padding:5px var(--gap-sm);font-size:var(--text-xs);color:var(--accent);background:var(--repeat-fill);border-radius:var(--radius-chip);flex:none;font-weight:700}.preset-native{font-size:var(--text-xs);color:var(--accent)}.preset-delete{width:32px;height:32px;font-size:var(--text-body);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:none;flex:none;padding:0;line-height:1}.preset-delete:before{content:"🗑"}.preset-delete:hover:not(:disabled){background:var(--tag-fill)}.preset-delete:focus-visible{box-shadow:var(--focus-ring);outline:none}.preset-editor{max-height:100%;overflow-y:auto}.preset-editor .field-host{margin-bottom:var(--gap-sm)}.phrases-head{gap:var(--gap-sm);justify-content:space-between;align-items:center;display:flex}.phrases-head h2{margin:0 auto 0 0}.phrase-list{gap:var(--gap-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.phrase-row{gap:var(--gap-xs);padding:var(--gap-sm) var(--gap-md);background:var(--row-fill);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);flex-direction:column;display:flex}.phrase-main{gap:var(--gap-sm);align-items:center;display:flex}.phrase-text{min-width:0;font-size:var(--text-sm);flex:1}.phrase-template-badge{font-size:var(--text-xs);color:var(--text-secondary);flex:none}.phrase-dot{border-radius:50%;flex:none;width:12px;height:12px}.phrase-delete{width:32px;height:32px;font-size:var(--text-body);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:none;flex:none;padding:0;line-height:1}.phrase-delete:before{content:"🗑"}.phrase-delete:hover:not(:disabled){background:var(--tag-fill)}.phrase-delete:focus-visible{box-shadow:var(--focus-ring);outline:none}:is(.card,.panel) input.phrase-position{width:3.5rem;padding:var(--gap-xs);font-size:var(--text-xs);text-align:center;flex:none}.phrase-dots{flex-wrap:wrap;gap:5px;display:flex}.phrase-swatch{cursor:pointer;border:none;border-radius:50%;width:22px;height:22px;padding:0}.phrase-swatch[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--text-primary)}.phrase-swatch:focus-visible{box-shadow:var(--focus-ring);outline:none}.phrase-swatch[aria-pressed=true]:focus-visible{box-shadow:inset 0 0 0 3px var(--text-primary), var(--focus-ring)}.phrases-region{gap:var(--gap-sm);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);flex-direction:column;padding:12px;display:flex}.phrases-region-head{gap:var(--gap-sm);justify-content:space-between;align-items:center;display:flex}.phrases-region-title{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.08em}.phrases-edit{font-size:var(--text-xs);color:var(--primary);cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:none;padding:4px;font-weight:600}.phrases-edit:hover:not(:disabled){background:var(--tag-fill)}.phrases-edit:focus-visible{box-shadow:var(--focus-ring);outline:none}.phrases-hint{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;margin:0}.phrase-chips{flex-wrap:wrap;gap:4px;display:flex}.phrase-chip{padding:4px var(--gap-sm);font-size:var(--text-xs);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-chip);align-items:center;gap:2px;display:inline-flex}.phrase-detach{width:1.25rem;height:1.25rem;font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:none;padding:0;line-height:1}.phrase-detach:before{content:"×"}.phrase-detach:hover:not(:disabled){background:var(--tag-fill)}.phrase-detach:focus-visible{box-shadow:var(--focus-ring);outline:none}.picker{gap:var(--gap-sm);flex-direction:column;display:flex}.picker-head{gap:var(--gap-sm);align-items:center;display:flex}.picker-head h3{font-size:var(--text-title);margin:0}.picker-back{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.125rem;line-height:1;display:flex}.picker-back:hover{color:var(--text-primary);background:#ffffff14}.picker-back:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.picker-list{gap:var(--gap-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.picker-option{gap:var(--gap-sm);width:100%;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);color:var(--text-primary);text-align:left;cursor:pointer;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:#ffffff0a;align-items:center;display:flex}.picker-option:hover:not(:disabled){background:#667eea26}.picker-option:focus-visible{box-shadow:var(--focus-ring);background:#667eea26;outline:none}.picker-option[aria-pressed=true]{border-color:var(--accent)}.picker-option[aria-pressed=true]:after{color:var(--accent);content:"✓";margin-left:auto}.picker-option:disabled{cursor:not-allowed;opacity:.55}.picker-text{min-width:0}.phrase-fill{gap:var(--gap-sm);padding:var(--gap-md);margin-top:var(--gap-xs);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);flex-direction:column;display:flex}.phrase-fill-preview{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.phrase-fill-row{gap:var(--gap-xs);flex-direction:column;display:flex}.pinpoint-layer{z-index:30;gap:var(--gap-sm);padding:var(--gap-md);padding-bottom:max(var(--gap-md), env(safe-area-inset-bottom));background:var(--bg);color:var(--text-primary);flex-direction:column;display:flex;position:fixed;inset:0}.pinpoint-head{text-align:center}.pinpoint-head h2{margin:0 0 4px;font-size:18px;font-weight:700}.pinpoint-hint,.pinpoint-status{color:var(--text-secondary);margin:0;font-size:14px}.pinpoint-body{flex:1;min-height:0;display:flex;position:relative}.pinpoint-body>.maps-notice{align-self:center;max-width:32rem;margin:auto}.pinpoint-map{border-radius:var(--radius-bordered);flex:1;position:relative;overflow:hidden}.pinpoint-map>.pinpoint-map-host{position:absolute;inset:0}.pinpoint-locate{z-index:2;background:var(--glass-surface);border:1px solid var(--glass-border);cursor:pointer;border-radius:50%;width:40px;height:40px;font-size:20px;position:absolute;top:10px;right:10px}.pinpoint-failed{color:var(--text-secondary);margin:auto}.pinpoint-coords{text-align:center;border:1px solid var(--glass-border);border-radius:6px;margin:0;padding:12px;font-size:12px;font-weight:700}.pinpoint-actions{gap:16px;display:flex}.pinpoint-actions>button{flex:1;min-height:52px}.pinpoint-pin{cursor:grab}.gradient-text{background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gradient-text{color:var(--primary);background:0 0}}.stats{width:100%;max-width:var(--column-max);gap:var(--gap-sm);flex-direction:column;display:flex}.stats-header{top:var(--bar-top);z-index:2;gap:var(--gap-xs);margin-top:calc(var(--gap-lg) * -1);padding-top:var(--gap-lg);padding-bottom:var(--gap-xs);background:var(--header-scrim);flex-direction:column;display:flex;position:sticky}.stats-top{display:contents}.stats-title-row{justify-content:space-between;align-items:center;display:flex}.stats-title-row h1{font-size:var(--text-display);margin:0}.stats-repeats{color:var(--text-secondary);align-items:center;gap:4px;font-size:10px;display:flex}.stats-repeats input{accent-color:var(--primary)}.stats-dates{justify-content:center;align-items:center;gap:var(--gap-xs);display:flex}.stats-date-box{border-radius:var(--radius-chip);background:#ffffff0d;border:1px solid #ffffff1a;flex-direction:column;width:140px;padding:6px 14px;display:flex}.stats-date-box>span{letter-spacing:.08em;color:var(--text-tertiary);font-size:9px}.stats-date-box input{font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;padding:0;font-weight:700}.stats-date-box{width:max-content;min-width:140px}.stats-date-box input{width:calc(10ch + 24px)}.stats-date-arrow{color:var(--text-secondary);padding:0 8px}.stats-adjusted{color:var(--text-tertiary);text-align:center;margin:4px 0 0;font-size:11px}.stats-pills{gap:4px;height:36px;display:flex}.stats-pill{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:100px;flex:1;font-family:inherit;font-size:12px}.stats-pill-on{background:var(--gradient-primary);color:var(--text-primary);border-color:#0000}.stats-pill:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.stats-body{gap:var(--gap-sm);flex-direction:column;display:flex}.stats-section-label{color:var(--text-secondary);margin:0 0 4px 4px;font-size:11px;font-weight:700}.charts,.charts-pair{gap:var(--gap-sm);flex-direction:column;display:flex}.chart-section{padding:var(--gap-md);gap:8px}.chart-section-head{align-items:center;gap:8px;display:flex}.chart-section-emoji{font-size:18px;line-height:1}:is(.card,.panel) h2.chart-section-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:auto;margin:0;font-size:16px;font-weight:900;overflow:hidden}.chart-section-badge{color:var(--text-secondary);flex:none;font-size:11px}.chart-section-badge-accent{color:var(--primary);font-weight:700}.month-tiles{scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent;margin-bottom:8px;padding:8px;display:flex;overflow:auto hidden}.month-card{box-sizing:border-box;color:#fff;text-align:center;cursor:pointer;border:0;border-radius:12px;flex-direction:column;flex:0 0 120px;width:120px;height:280px;margin:4px;padding:10px;font-family:inherit;transition:transform .15s;display:flex}.month-card:active{transform:scale(.92)}.month-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.month-card[data-tone=peak]{background:linear-gradient(156.8deg,#2e7d32,#4caf50);box-shadow:0 5px 10px #00000073}.month-card[data-tone=high]{background:linear-gradient(156.8deg,#4caf50,#4ecdc4);box-shadow:0 4px 8px #00000073}.month-card[data-tone=medium]{background:linear-gradient(156.8deg,#4ecdc4,#764ba2);box-shadow:0 3px 6px #00000073}.month-card[data-tone=low]{background:linear-gradient(156.8deg,#764ba2,#667eea);box-shadow:0 2px 4px #00000073}.month-card[data-tone=empty]{background:linear-gradient(156.8deg,#1a1a1a,#2d2d2d);box-shadow:0 1px 2px #00000073}.month-card-body{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.month-card[data-tone=peak] .month-card-body{animation:2s linear infinite alternate month-card-pulse}@keyframes month-card-pulse{0%{opacity:1}to{opacity:.7}}.month-card-line{color:#fff;white-space:nowrap;text-overflow:ellipsis;width:100%;margin-bottom:4px;font-size:11px;font-weight:400;line-height:22px;display:block;overflow:hidden}.month-card-head{margin-bottom:8px;font-size:12px;font-weight:700}.month-card-count{margin-bottom:6px;font-size:14px;font-weight:700}.month-card-spend{font-size:14px;font-weight:700}.month-card-avg{font-size:12px}.month-card-mix{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:9px;line-height:12px;display:-webkit-box}.month-card-rating{margin-bottom:8px}.month-card-trend{font-weight:700}.month-card-bar{background:#aaa;border-radius:3px;flex:none;width:100%;height:6px;display:block;overflow:hidden}.month-card-bar-fill{background:#fff;height:100%;display:block}.month-cards-summary{text-align:center;background:var(--surface);margin:0 8px;padding:12px}:is(.card,.panel) p.month-cards-summary-line{color:#757575;margin:0 0 6px;font-size:12px}:is(.card,.panel) p.month-cards-summary-total{color:var(--primary);margin:0;font-size:12px;font-weight:700}.stat-grid{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:8px;display:grid}.stat-grid-2{--cols:2;--cols-tablet:4;--cols-desktop:4}.stat-grid-3{--cols:3;--cols-tablet:3;--cols-desktop:6;gap:4px}.stat-grid-4{--cols:4;--cols-tablet:4;--cols-desktop:8;gap:3px}.cols-t-2{--cols-tablet:2}.cols-t-3{--cols-tablet:3}.cols-t-4{--cols-tablet:4}.cols-d-2{--cols-desktop:2}.cols-d-3{--cols-desktop:3}.cols-d-4{--cols-desktop:4}.cols-d-5{--cols-desktop:5}.cols-d-6{--cols-desktop:6}.cols-d-8{--cols-desktop:8}.day-heatmap{--heat-cell:13px;flex-direction:column;gap:8px;display:flex}.day-heatmap-body{align-items:flex-start;gap:4px;display:flex}.day-heatmap-rows{flex-direction:column;flex:0 0 22px;display:flex}.day-heatmap-row-label{color:var(--text-tertiary);flex:none;align-items:center;font-size:9px;line-height:1;display:flex}.day-heatmap-scroll{flex:0 auto;min-width:0;padding-bottom:4px;overflow:auto hidden}.day-heatmap-plot{box-sizing:content-box;flex:none;padding-right:20px}.day-heatmap-plot-box{width:100%;height:100%;position:relative}.day-heatmap-plot svg{display:block}.day-heatmap-plot svg path[stroke=\#FFFFFF]{pointer-events:none}.day-heatmap-month{width:var(--heat-cell);color:var(--text-tertiary);white-space:nowrap;font-size:9px;display:block}.day-heatmap-cell{width:var(--heat-cell);height:var(--heat-cell);background:var(--heat-0);border:0;border-radius:2px;padding:0;display:block}.day-heatmap,.hour-heatmap{--heat-0:#424242;--heat-1:#667eea;--heat-2:#5a6fd8;--heat-3:#4ecdc4;--heat-4:#4caf50;--heat-5:#66bb6a;--heat-6:#ff9800;--heat-7:#ff7043;--heat-8:#f44336;--heat-9:#b71c1c}.day-heatmap-cell[data-level="1"],.hour-heatmap-cell[data-level="1"]{background:var(--heat-1)}.day-heatmap-cell[data-level="2"],.hour-heatmap-cell[data-level="2"]{background:var(--heat-2)}.day-heatmap-cell[data-level="3"],.hour-heatmap-cell[data-level="3"]{background:var(--heat-3)}.day-heatmap-cell[data-level="4"],.hour-heatmap-cell[data-level="4"]{background:var(--heat-4)}.day-heatmap-cell[data-level="5"],.hour-heatmap-cell[data-level="5"]{background:var(--heat-5)}.day-heatmap-cell[data-level="6"],.hour-heatmap-cell[data-level="6"]{background:var(--heat-6)}.day-heatmap-cell[data-level="7"],.hour-heatmap-cell[data-level="7"]{background:var(--heat-7)}.day-heatmap-cell[data-level="8"],.hour-heatmap-cell[data-level="8"]{background:var(--heat-8)}.day-heatmap-cell[data-level="9"],.hour-heatmap-cell[data-level="9"]{background:var(--heat-9)}.day-heatmap-legend{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);justify-content:center;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.day-heatmap-legend-item{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.day-heatmap-swatch{width:calc(var(--heat-cell) * .75);height:calc(var(--heat-cell) * .75)}.day-heatmap-legend-label{color:var(--text-secondary);font-size:9px}.chart-strip{border:1px solid var(--glass-border);background:var(--glass-surface);cursor:pointer;text-align:left;width:100%;font:inherit;border-radius:12px;align-items:center;gap:8px;padding:12px;display:flex}.chart-strip:hover{background:#667eea26}.chart-strip:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:#667eea26}:is(.day-heatmap,.hour-heatmap-section,.breakdown-calendar) .card{background:0 0;border:0;padding:0}.chart-strip-icon{font-size:16px}.chart-strip-label{color:var(--text-primary);flex:auto;font-size:14px;font-weight:700}.chart-strip-count{color:var(--primary);font-size:14px;font-weight:700}.hour-heatmap-section{flex-direction:column;gap:8px;display:flex}.hour-heatmap{--hour-cell:22px;flex-direction:column;gap:8px;width:100%;max-width:24rem;margin-inline:auto;display:flex}.hour-heatmap-controls{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.hour-heatmap-scroll{padding-bottom:4px;overflow:auto hidden}.hour-heatmap-grid{flex-direction:column;gap:2px;width:100%;display:flex}.hour-heatmap-days,.hour-heatmap-row{grid-template-columns:32px repeat(7,minmax(0,1fr));align-items:center;gap:2px;display:grid}.hour-heatmap-hour{color:var(--text-tertiary);text-align:right;padding-right:4px;font-size:9px}.hour-heatmap-day{color:var(--text-tertiary);text-align:center;font-size:10px}.hour-heatmap-cell{width:auto;height:var(--hour-cell);background:var(--heat-0);font-size:9px;line-height:var(--hour-cell);color:#fff;text-align:center;border:0;border-radius:2px;padding:0;display:block}button.hour-heatmap-cell{cursor:pointer}button.hour-heatmap-cell:hover{outline:1px solid var(--text-primary);outline-offset:1px}button.hour-heatmap-cell:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.hour-heatmap-legend{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);justify-content:center;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.hour-heatmap-legend-item{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.hour-heatmap-swatch{width:calc(var(--hour-cell) * .75);height:calc(var(--hour-cell) * .75)}.hour-heatmap-legend-label{color:var(--text-secondary);font-size:9px}:is(.card,.panel) label.hour-heatmap-zone{font-size:var(--text-xs)}:is(.card,.panel) select.hour-heatmap-zone-select{width:auto;font-size:var(--text-xs);padding:4px 8px}:is(.card,.panel) p.hour-heatmap-peak{color:var(--primary);margin:0 0 0 auto;font-size:12px;font-weight:700}:is(.card,.panel) p.hour-heatmap-band{text-align:center;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-chip);margin:0 0 0 34px;padding:6px 8px;font-size:10px}.annual-trend{flex-direction:column;gap:12px;width:100%;max-width:24rem;margin-inline:auto;display:flex}.annual-trend-plot{aspect-ratio:320/200;width:100%;position:relative}.echart-host{position:absolute;inset:0}.chart.annual-trend-plot svg{width:auto;max-width:none;height:auto;margin:0;display:block}.bar-plot{aspect-ratio:320/220;width:100%;position:relative}.chart.bar-plot svg{width:auto;max-width:none;height:auto;margin:0;display:block}.venue-card{gap:var(--gap-sm)}.venue-card-head{align-items:flex-start}.venue-card-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.venue-card-titles h2.chart-section-title{white-space:normal;overflow:visible}.venue-card-sub{color:var(--text-secondary);margin:0;font-size:11px}.venue-card .stat-grid{max-width:66rem}.venue-bands{flex-wrap:wrap;gap:4px;display:flex}.venue-band{text-align:center;min-height:40px;color:var(--text-primary);background:var(--glass-surface);border:1px solid var(--glass-border);cursor:pointer;border-radius:8px;flex:auto;padding:4px 6px;font-family:inherit;font-size:10px;line-height:1.2}.venue-band-on{background:var(--gradient-primary);border-color:#0000}.venue-band:focus-visible,.venue-sort:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.venue-sorts{gap:4px;display:flex}.venue-sort{min-height:36px;color:var(--text-primary);background:var(--glass-surface);border:1px solid var(--glass-border);cursor:pointer;border-radius:8px;flex:1;font-family:inherit;font-size:11px;font-weight:700}.venue-sort-on{background:var(--gradient-primary);border-color:#0000}.venue-plot{aspect-ratio:5/2;min-height:20rem}.venue-pager{justify-content:center;align-items:center;gap:12px;display:flex}.venue-pager button{font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--glass-surface);border:1px solid var(--glass-border);cursor:pointer;border-radius:100px;padding:6px 14px}.venue-pager button:disabled{opacity:.4;cursor:default}.venue-detail{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--surface);max-width:20rem;color:var(--text-primary);padding:0}.venue-detail::backdrop{background:#0009}.venue-detail-body{flex-direction:column;gap:12px;padding:20px;display:flex}.venue-detail-head{align-items:center;gap:12px;display:flex}.venue-detail-head h3{margin:0;font-size:16px}.venue-detail-code{color:var(--primary);font-size:20px;font-weight:700}.venue-detail-stats{gap:12px;display:flex}.venue-detail-stats>div{flex-direction:column;flex:1;display:flex}.venue-detail-money{background:var(--row-fill);border-radius:var(--radius-chip);flex-direction:column;gap:4px;padding:12px;display:flex}.venue-detail-money p{margin:0;font-size:12px}.venue-detail-rate{color:var(--primary);font-weight:700}.venue-detail-body>button{font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--glass-surface);border:1px solid var(--glass-border);cursor:pointer;border-radius:100px;align-self:center;padding:6px 18px}.performer-grid{gap:var(--gap-xs);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.performer-card{--tier:var(--secondary);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);text-align:center;flex-direction:column;align-items:center;min-width:0;padding:12px;line-height:1.2;display:flex}.performer-card[data-tone=gold]{--tier:var(--gold)}.performer-card[data-tone=silver]{--tier:silver}.performer-card[data-tone=bronze]{--tier:#cd7f32}.performer-rank{background:var(--tier);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.performer-name{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-self:stretch;margin:8px 0 6px;font-weight:700;overflow:hidden}.performer-stars{font-size:var(--text-sm);white-space:nowrap}.performer-star-full{color:var(--primary)}.performer-star-half{color:var(--accent);opacity:.6}.performer-star-empty{color:var(--text-tertiary)}.performer-rating{color:var(--primary);margin:6px 0 8px;font-size:1rem;font-weight:700}.performer-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.performer-stats{align-self:stretch;align-items:center;display:flex}.performer-stat{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.performer-stat-value{font-size:var(--text-sm);font-weight:700}.performer-visits{color:var(--accent)}.performer-spent{color:var(--secondary)}.performer-stat-label{color:var(--text-tertiary);font-size:10px}.performer-stat-divider{background:var(--glass-border);flex:none;width:1px;height:24px;margin:0 8px}.performer-tier{background:var(--tier);color:#fff;white-space:nowrap;border-radius:12px;margin-top:8px;padding:2px 8px;font-size:10px;font-weight:700}.performer-empty{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.stat-tile{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;justify-content:center;min-height:80px;padding:8px;line-height:1.15;display:flex}.stat-tile-extras{display:contents}.stat-label-row{align-items:center;gap:4px;padding-bottom:2px;display:flex}.stat-label{font-size:var(--stat-label);color:var(--text-secondary);font-weight:700}.stat-value{font-size:var(--stat-value-lg);color:var(--primary);font-weight:700}.stat-tile-sm .stat-value{font-size:var(--stat-value-sm)}.stat-tile-md .stat-value{font-size:var(--stat-value-md)}.stat-tile-lg .stat-value{font-size:var(--stat-value-lg)}.stat-tile-xl .stat-value{font-size:var(--stat-value-xl)}.stat-value-accent{color:var(--accent)}.stat-value-purple{color:var(--secondary)}.stat-sub{font-size:var(--stat-sub);color:var(--text-secondary);padding-top:2px}.stat-info{position:relative}.stat-info-dot{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:10px}.stat-info-dot[aria-expanded=true]{color:var(--accent)}.stat-info-tip{z-index:2;width:18rem;padding:var(--gap-sm);white-space:pre-line;font-size:var(--text-xs);color:var(--text-primary);background:var(--surface-variant);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);position:absolute;top:1.4em;left:0}.stat-info-tip strong{margin-bottom:4px;display:block}.streak-pill{border-radius:100px;margin-left:auto;padding:2px 6px;font-size:8px;font-weight:700}.streak-active{border:1px solid var(--accent);color:var(--accent);background:#4ecdc433}.streak-ended{border:1px solid var(--glass-border);color:var(--text-secondary)}.flag-column{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:10px}.flag-heading{color:var(--text-tertiary);padding-bottom:6px;font-size:10px;font-weight:700;display:block}.flag-bar{background:#ffffff12;border-radius:3px;height:6px;display:flex;overflow:hidden}.flag-bar>span{height:100%;display:block}.flag-legend{margin:6px 0 0;padding:0;list-style:none}.flag-legend li{align-items:center;padding-top:4px;display:flex}.flag-dot{border-radius:50%;width:5px;height:5px;margin-right:5px}.flag-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10px;overflow:hidden}.flag-count{color:var(--text-tertiary);padding:0 3px;font-size:9px}.flag-percent{color:var(--text-secondary);font-size:10px;font-weight:700}.breakdown-header{align-items:center;padding:0 4px 4px;display:flex}.breakdown-header .stats-section-label{flex:1;margin:0}.sort{position:relative}.sort-pill{cursor:pointer;color:#fff;background:var(--gradient-primary);border:none;border-radius:100px;padding:4px 10px;font-family:inherit;font-size:9px;font-weight:700}.sort-menu{z-index:2;background:var(--surface-variant);border:1px solid var(--glass-border);border-radius:var(--radius-bordered);min-width:11rem;margin:0;padding:4px 0;list-style:none;position:absolute;top:1.8em;right:0}.sort-menu button{text-align:left;width:100%;font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:8px 16px;display:block}.sort-menu button:hover,.sort-menu button:focus-visible{background:#ffffff14}.breakdown-card{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;gap:8px;padding:8px 12px 8px 4px;display:flex}.breakdown-empty{color:var(--text-tertiary);margin:0;padding:8px 0;font-size:12px}.breakdown-row{align-items:center;display:flex}.breakdown-pill-slot{flex:none;justify-content:center;width:50px;display:flex}.breakdown-pill{background:var(--gradient-primary);color:#fff;border-radius:100px;padding:3px 8px;font-size:12px;font-weight:700}.breakdown-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 6px 0 10px;font-size:13px;overflow:hidden}.breakdown-count{color:var(--text-secondary);padding-right:8px;font-size:12px}.breakdown-bar{background:#ffffff12;border-radius:3px;flex:none;width:55px;height:6px;display:block;overflow:hidden}.breakdown-bar>span{background:var(--gradient-primary);height:100%;display:block}.breakdown-more{font:inherit;font-size:var(--text-xs);color:var(--primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin:4px 0 0 6px;padding:0;display:none}.dashboard{width:100%;max-width:var(--column-max);gap:var(--gap-sm);flex-direction:column;display:flex}.dashboard>:is(.card,.reminder-bar):has(+.dash-header){margin-bottom:calc(var(--gap-lg) - var(--gap-sm))}.dash-header{top:var(--bar-top);z-index:2;gap:var(--gap-xs);margin-top:calc(var(--gap-lg) * -1);padding-top:var(--gap-lg);padding-bottom:var(--gap-xs);background:var(--header-scrim);flex-direction:column;display:flex;position:sticky}.dash-header h1{font-size:var(--text-display);margin:0}.dashboard .stat-tile-xl .stat-value{font-size:var(--stat-value-hero)}.dash-card{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.dash-sparkline{flex-direction:column;display:flex;position:relative}.dash-bars{height:72px}.bar-row{align-items:flex-end;gap:4px;display:flex}.bar-row>*{flex:1 1 0;min-width:0}.dash-bar{background:#667eea38;border-radius:2px 2px 0 0;position:relative}.dash-bar-peak{background:var(--primary)}.dash-bar:after{content:attr(data-count);font-size:var(--text-xs);color:var(--text-primary);padding-bottom:2px;font-weight:700;display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.dash-month-labels{gap:4px;padding-top:2px;display:flex}.dash-month-labels span{text-align:center;min-width:0;color:var(--text-tertiary);flex:1 1 0;font-size:8px}.dash-sparkline-empty{font-size:var(--text-xs);color:var(--text-tertiary);justify-content:center;align-items:center;display:flex;position:absolute;inset:0 0 14px}.dash-info-row,.dash-boxes{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dash-body,.dash-side{gap:var(--gap-sm);flex-direction:column;display:flex}.page-head{gap:var(--gap-xs);flex-direction:column;display:flex}.page-head-card{gap:var(--gap-md)}.dash-info-pill{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;min-width:0;padding:12px;display:flex}.dash-info-label{letter-spacing:.08em;color:var(--text-tertiary);padding-bottom:3px;font-size:9px;font-weight:700}.dash-info-primary{color:var(--primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.dash-info-detail{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding-top:2px;font-size:10px;overflow:hidden}.dash-box{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;min-width:0;padding:12px;display:flex}.dash-box-tappable{text-align:left;white-space:normal;width:100%;line-height:inherit;cursor:pointer;align-items:stretch}.dash-box-tappable:hover{background:#667eea26}.dash-box-tappable:focus-visible{box-shadow:var(--focus-ring);background:#667eea26;outline:none}.dash-box-live{border-color:#4ecdc461}.dash-box-head{align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.dash-box-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.dash-box-chevron{color:var(--accent);flex:none;margin-left:auto;font-size:18px;line-height:1}.dash-box-line{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.dash-box-line:first-of-type{padding-top:6px}.dash-box-line+.dash-box-line{padding-top:1px}.live-badge{border:1px solid var(--accent);letter-spacing:.07em;color:var(--accent);white-space:nowrap;border-radius:100px;padding:2px 6px;font-size:9px;font-weight:700}.trips{gap:var(--gap-sm)}.trips-count{color:var(--text-secondary);font-size:12px}.trips-years{overflow-x:auto}.trips-years .segment{flex:0 0 85px}.trips-empty{color:var(--text-secondary);margin:0;font-size:13px}.trip-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.trips-cards-section{display:contents}.trips .trips-cards-label{display:none}.trip-card{text-align:left;white-space:normal;width:100%;font-family:inherit;line-height:inherit;cursor:pointer;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);color:var(--text-primary);align-items:center;gap:10px;padding:12px;display:flex}.trip-card:hover{background:#667eea26}.trip-card:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:#667eea26}.trip-marker{background:var(--gradient-primary);color:#fff;border-radius:100px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.trip-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.trip-card-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.trip-card-dates{color:var(--text-secondary);font-size:11px}.trip-track{background:#ffffff1a;border-radius:2px;height:3px;display:block;overflow:hidden}.trip-track>span{background:var(--gradient-primary);height:100%;display:block}.trip-card-right{color:var(--text-secondary);flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:11px;display:flex}.trip-card-spend{color:var(--accent)}.trip-chevron{color:var(--accent);flex:none;font-size:18px}.trips-board,.trips-trend-section{flex-direction:column;gap:6px;display:flex}.leader-row{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);width:100%;color:var(--text-primary);grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;display:grid;position:relative}.leader-row:hover{background:#667eea26}.leader-open{z-index:0;border-radius:var(--radius-card);cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.leader-open:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.leader-row:has(.leader-open:focus-visible){background:#667eea26}.leader-tip{z-index:1}.leader-label{color:var(--text-tertiary);align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.leader-winner{text-align:right;font-size:13px;font-weight:700}.leader-sub{color:var(--text-secondary);grid-column:1/-1;font-size:11px}.trend{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;gap:4px;padding:8px;display:flex}.chart svg{width:100%;max-width:var(--chart-max,none);height:auto;margin-inline:auto;display:block}.trend-axis{fill:var(--text-tertiary);font-size:8px}.trend-axis-r{text-anchor:end}.trend-hit{fill:#0000;cursor:pointer}.trend-col-on .trend-hit{fill:#ffffff0f}.trend-bar{fill:var(--primary);opacity:.85;pointer-events:none}.trend-line{fill:none;stroke:var(--accent);stroke-width:2px;pointer-events:none}.trend-dot{fill:var(--accent);pointer-events:none}.trend-pager{color:var(--text-secondary);justify-content:center;gap:12px;font-size:11px;display:flex}.trend-pager button{color:var(--text-primary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:16px}.trend-pager button:disabled{opacity:.3;cursor:default}.trend-readout{min-height:28px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.trips-compare{align-self:stretch}.trip-header-line{color:var(--text-secondary);margin:0;font-size:12px}.trips .stat-grid>[data-testid=trip-count]{grid-column:1/-1}.trip-caption{color:var(--text-secondary);margin:4px 0 0;font-size:11px}.trip-section-head{justify-content:space-between;align-items:center;display:flex}.trip-section-head .btn-link{align-self:auto;padding:0 4px;font-size:11px}.breakdown-row.trip-venue{gap:8px;padding:4px 0}.pace{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-direction:column;gap:4px;padding:8px;display:flex;overflow-x:auto}.pace-bars{align-items:flex-end;gap:2px;height:34px;display:flex}.pace-bar{background:#ffffff17;border-radius:2px;flex:1 0 4px;min-width:4px}.pace-bar-on{background:var(--gradient-primary)}.pace-caption-row{color:var(--text-tertiary);justify-content:space-between;gap:8px;font-size:10px;display:flex}.trip-visit{align-items:center;gap:8px;padding:6px 4px;font-size:12px;display:flex}.trip-visit-date{width:48px;color:var(--text-tertiary);flex:none}.trip-visit .trip-card-dates{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:40%;overflow:hidden}.trip-chips{flex-wrap:wrap;gap:6px;display:flex}.trip-chip{border:1px solid var(--glass-border);color:var(--text-secondary);border-radius:14px;padding:4px 10px;font-size:11px}.compare-table{flex-direction:column;gap:4px;display:flex}.compare-row{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:10px;grid-template-columns:1fr auto 58px auto;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:grid}.compare-label{color:var(--text-secondary)}.compare-a,.compare-b{font-weight:700}.compare-delta{text-align:center;color:var(--text-tertiary);font-size:10px;font-weight:700}.compare-delta.delta-up{color:#4caf50}.compare-delta.delta-down{color:#e53e3e}.trip-picker{width:min(100%, var(--column-max))}.trip-picker h2{margin:0 0 var(--gap-sm);font-size:var(--text-body)}.trip-picker .picker-sides{gap:var(--gap-sm);margin-bottom:var(--gap-md);grid-template-columns:1fr 1fr;display:grid}.trip-picker .picker-list{flex-direction:column;gap:4px;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.trip-picker .picker-row{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);border:1px solid var(--glass-border);background:0 0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;font-family:inherit;font-size:12px;display:flex}.trip-picker .picker-row-on{border-color:var(--primary);background:#667eea26}.trip-picker .picker-row-fixed{cursor:default;border-color:var(--primary);background:#667eea26}.trip-picker .picker-row[aria-disabled=true]{opacity:.45;cursor:default}.trip-picker .picker-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.trip-picker .picker-actions{justify-content:flex-end;gap:var(--gap-sm);display:flex}.yir{padding-bottom:var(--gap-lg);border-radius:0 0 var(--radius-card) var(--radius-card);border-top:0;gap:0}.yir-gap-cover{top:var(--bar-top);z-index:2;height:var(--gap-lg);margin:calc((var(--gap-lg) * -2) - 1px) calc((var(--gap-lg) + 1px) * -1) 1px;background:var(--bg);border-radius:0;position:sticky}.yir-pinned{top:calc(var(--bar-top) + var(--gap-lg));z-index:2;margin:0 calc((var(--gap-lg) + 1px) * -1) 0;padding:var(--gap-lg) var(--gap-lg) var(--gap-xs);background:var(--bg);flex-direction:column;display:flex;position:sticky}.yir-pinned:before,.yir-pinned:after{content:"";height:var(--radius-card);pointer-events:none;position:absolute;top:100%;left:0;right:0}.yir-pinned:before{background:var(--bg)}.yir-pinned:after{border-top:1px solid var(--glass-border);border-radius:var(--radius-card) var(--radius-card) 0 0;background:#13131e}.yir-head{justify-content:space-between;align-items:center;display:flex}.yir .yir-year{border:1px solid var(--glass-border);background:var(--gradient-primary);width:auto;color:var(--text-primary);cursor:pointer;border-radius:100px;flex:none;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:700}.yir .yir-year:focus-visible{box-shadow:var(--focus-ring);outline:none}.yir-hero{padding:var(--gap-md) 0 8px;flex-direction:column;align-items:center;display:flex}.yir-hero-year{letter-spacing:-1px;font-size:52px;font-weight:900;line-height:1}.yir-hero-sub{color:var(--text-secondary);margin-top:4px;font-size:14px}.yir-body{flex-direction:column;gap:0;display:flex}.yir-section{gap:var(--gap-sm);padding-top:var(--gap-lg);flex-direction:column;display:flex}.yir .yir-section-label{letter-spacing:1.3px;color:var(--text-secondary);align-items:center;gap:10px;margin:0 0 4px;font-size:13px;font-weight:700;display:flex}.yir-rule{background:#ffffff29;flex:1;height:1px}.yir .yir-sublabel{color:var(--text-secondary);margin:0 0 4px;font-size:11px}.yir-delta{background:#ffffff0f;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.yir-delta-up{color:#4caf50}.yir-delta-down{color:#e53e3e}.yir-delta-flat{color:#fff6}.yir-milestone{border:1.5px solid var(--primary);background:#ffffff12;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.yir-milestone-best{border-color:#4ecdc4}.yir-milestone-emoji{font-size:22px}.yir-milestone-text{flex:1;font-size:13px;font-weight:700}.yir-milestone-date{color:var(--text-secondary);font-size:10px}.yir-months{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);grid-template-columns:repeat(6,1fr);gap:6px;padding:8px;display:grid}.yir-month{background:#ffffff0a;border-radius:8px;flex-direction:column;align-items:center;padding:6px 0;font-size:11px;display:flex}.yir-month[data-level="1"]{background:#667eea1f}.yir-month[data-level="2"]{background:#667eea38}.yir-month[data-level="3"]{background:#667eea59}.yir-month[data-level="4"]{background:var(--gradient-primary)}.yir-month-name{color:var(--text-secondary)}.yir-month-count{font-weight:700}.yir-ribbon{gap:1px;height:12px;margin-top:6px;display:grid}.yir-week{background:#ffffff14;border-radius:2px;display:block}.yir-week[data-level="1"]{background:#667eea33}.yir-week[data-level="2"]{background:#667eea66}.yir-week[data-level="3"]{background:#667eea99}.yir-week[data-level="4"]{background:#667eeacc}.yir-week[data-streak=true]{outline:1px solid var(--accent);outline-offset:-1px}.yir-axis{color:var(--text-secondary);justify-content:space-between;padding-top:3px;font-size:9px;display:flex}.yir-chart{width:100%;display:block}.yir-chart-area{fill:#667eea29}.yir-chart-line{stroke:var(--primary);stroke-width:2.5px;stroke-linejoin:round}.yir-chart-grid{stroke:currentColor;stroke-width:.75px;opacity:.08}.yir-chart-month,.yir-chart-axis{fill:var(--text-tertiary);font-size:6.5px}.yir .yir-tip{color:var(--text-secondary);margin:0;font-size:11px}.yir .yir-empty{padding:var(--gap-lg) 0;font-size:var(--text-sm);text-align:center;color:var(--text-secondary);margin:0}.yir-row{align-items:center;gap:10px;padding:8px 0;display:flex}.yir-rank{background:#ffffff1a;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex}.yir-rank-1{color:#000;background:gold}.yir-rank-2{color:#000;background:silver}.yir-rank-3{color:#000;background:#cd7f32}.yir-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.yir-row-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.yir-row-sub{color:var(--text-secondary);font-size:11px}.yir-row-value{flex-direction:column;flex:none;align-items:flex-end;font-size:12px;display:flex}.yir-row-secondary{color:var(--text-secondary)}.yir-chips{flex-wrap:wrap;gap:6px;display:flex}.yir-chip{border:1px solid var(--glass-border);border-radius:14px;padding:4px 10px;font-size:12px}.export-block,.import-block{gap:var(--gap-sm);margin-top:var(--gap-sm);flex-direction:column;display:flex}.import-unseal{gap:var(--gap-sm);flex-direction:column;display:flex}.export-block .export-choice-sub{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.export-block .export-field{gap:var(--gap-xs);flex-direction:column;display:flex}.export-block .export-warning{padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);color:var(--warning);border-left:3px solid var(--warning);border-radius:var(--radius-chip);background:#ffb3471a;margin:0}.passive-line,.conflict-notice,.panel-conflict{color:var(--text-primary);background:var(--card-solid);border-radius:12px;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.passive-line p{flex:1;margin:0}.status-strip{width:100%;max-width:var(--column-max);margin:0 auto}.notice-banner{width:100%;max-width:var(--column-max);align-items:center;gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);border-radius:var(--radius-card);background:color-mix(in srgb, var(--primary) 10%, var(--surface));color:var(--text-primary);font-size:var(--text-sm);margin-bottom:calc(var(--gap-lg) - var(--gap-md));display:flex}.notice-banner:has(+.card-login){max-width:30rem}.notice-icon{width:1.25rem;height:1.25rem;color:var(--primary);flex:none}.notice-text{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.notice-text a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);text-underline-offset:3px;font-weight:600}.notice-text a:focus-visible{box-shadow:var(--focus-ring);border-radius:2px;outline:none}.notice-close{border-radius:var(--radius-chip);min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin:-.5rem -.5rem -.5rem 0;padding:0;display:grid}.notice-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.notice-close svg{width:1.1rem;height:1.1rem}.reminder-bar{box-sizing:border-box;width:100%;max-width:var(--column-max);align-items:center;gap:var(--gap-sm) var(--gap-md);padding:var(--gap-sm) var(--gap-md);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);border-left:3px solid var(--primary);border-radius:var(--radius-card);background:color-mix(in srgb, var(--primary) 6%, var(--surface));color:var(--text-primary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.reminder-text{flex:12rem;min-width:0}.reminder-text p{margin:0}.reminder-text p+p{margin-top:var(--gap-xs)}.reminder-text a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);text-underline-offset:3px;white-space:nowrap;font-weight:600}.reminder-text a:focus-visible{box-shadow:var(--focus-ring);border-radius:2px;outline:none}.reminder-actions{align-items:center;gap:var(--gap-sm);flex:none;margin-left:auto;display:flex}.reminder-actions>:is(button,a){min-height:40px;padding:0 var(--gap-md);font-size:var(--text-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.reminder-actions>.reminder-quiet{border-radius:var(--radius-chip);color:var(--text-secondary);cursor:pointer;padding:0 var(--gap-sm);background:0 0;border:0;font-weight:600}.reminder-actions>.reminder-quiet:hover{color:var(--text-primary)}.reminder-actions>.reminder-quiet:focus-visible{box-shadow:var(--focus-ring);outline:none}.reminder-bar.new-version{margin:0 auto calc(var(--gap-lg) - var(--gap-md))}.install-card-actions{justify-content:space-between;align-items:center;gap:var(--gap-md);margin-top:var(--gap-md);display:flex}.install-card-actions>:is(a.btn-secondary,button){justify-content:center;align-items:center;min-height:40px;text-decoration:none;display:inline-flex}.conflict-notice{width:100%;max-width:var(--column-max);margin:0}.panel-conflict{margin:0 0 var(--gap-sm)}.breakdown{width:100%;max-width:var(--column-max);gap:var(--gap-md);flex-direction:column;display:flex}.breakdown .breakdown-pinned{top:var(--bar-top);z-index:2;margin-top:calc(var(--gap-lg) * -1);padding-top:var(--gap-lg);padding-bottom:var(--gap-xs);background:var(--header-scrim);position:sticky}.breakdown .breakdown-head{background:linear-gradient(to top right, var(--primary), var(--secondary));border-radius:12px;flex-direction:column;gap:4px;padding:16px 20px;display:flex}.breakdown .breakdown-head-row{align-items:center;gap:16px;display:flex}.breakdown .breakdown-title{color:#fff;flex:1;margin:0;font-size:20px;font-weight:700;line-height:1.2}.breakdown .breakdown-close{background:var(--secondary);color:#fff;cursor:pointer;border:0;border-radius:12px;flex:none;width:32px;height:32px;font-size:16px}.breakdown .breakdown-close:focus-visible{outline-offset:2px;outline:2px solid #fff}.breakdown .breakdown-sub-row{align-items:center;gap:6px;display:flex}.breakdown .breakdown-subtitle{color:#ffffffe0;margin:0;font-size:14px}.breakdown .breakdown-body{gap:var(--gap-md);flex-direction:column;display:flex}.breakdown .breakdown-section{background:var(--surface-variant);border:0;border-radius:12px;flex-direction:column;gap:0;padding:16px;display:flex}.breakdown .breakdown-section-title{color:var(--primary);margin:0 0 12px;font-size:16px;font-weight:700}.breakdown .breakdown-calendar{flex-direction:column;gap:8px;display:flex}.breakdown .breakdown-calendar-month{color:#fff;margin:0;font-size:14px}.breakdown .breakdown-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.breakdown .breakdown-calendar-dow{text-align:center;color:var(--text-secondary);font-size:10px}.breakdown .breakdown-day{cursor:pointer;height:32px;font:inherit;color:#fff;background:#424242;border:0;border-radius:3px;padding:0;font-size:10px}.breakdown .breakdown-day[aria-pressed=true]{outline-offset:-2px;outline:2px solid #fff}.breakdown .breakdown-day:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="0"]{background:#424242}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="1"]{background:#667eea}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="2"]{background:#5a6fd8}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="3"]{background:#4ecdc4}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="4"]{background:#4caf50}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="5"]{background:#66bb6a}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="6"]{background:#ff9800}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="7"]{background:#ff7043}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="8"]{background:#f44336}.breakdown :is(.breakdown-day,.breakdown-legend-swatch)[data-level="9"]{background:#b71c1c}.breakdown .breakdown-legend{flex-wrap:wrap;justify-content:center;gap:2px 8px;display:flex}.breakdown .breakdown-legend-item{align-items:center;gap:4px;display:inline-flex}.breakdown .breakdown-legend-swatch{border-radius:1px;width:9px;height:9px}.breakdown .breakdown-legend-label{color:var(--text-secondary);font-size:16px}.breakdown .breakdown-weeks{flex-direction:column;gap:9px;display:flex}.breakdown .breakdown-rollup{color:var(--text-secondary);margin:0;font-size:11px;font-weight:600}.breakdown .breakdown-week-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.breakdown .breakdown-week{background:var(--surface);border-radius:12px;padding:11px 10px 13px;font-size:10px;display:flow-root}.breakdown .breakdown-week-trend{float:right;white-space:nowrap;color:var(--text-secondary);margin-left:4px;font-size:11px;font-weight:700}.breakdown .breakdown-week-trend[data-trend=up]{color:#ff8a6b}.breakdown .breakdown-week-trend[data-trend=down]{color:var(--accent)}.breakdown .breakdown-week-range{white-space:nowrap;color:var(--text-secondary);font-size:10px;font-weight:700;display:inline-block}.breakdown .breakdown-week-hero{clear:right;align-items:flex-end;margin-top:4px;display:flex}.breakdown .breakdown-week-avg{color:#fff;font-size:20px;font-weight:700;line-height:1}.breakdown .breakdown-week-unit{color:var(--text-secondary);margin:0 0 2px 1px;font-size:10px;font-weight:600}.breakdown .breakdown-week-spent{color:var(--text-secondary);margin-top:5px;font-size:10px;display:block}.breakdown .breakdown-week-lane{background:#ffffff12;border-radius:999px;height:6px;margin-top:9px;display:block;overflow:hidden}.breakdown .breakdown-week-fill{background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:999px;height:100%;display:block}.breakdown .breakdown-week-caption{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:4px;font-size:10px;font-weight:700;display:flex}.breakdown .breakdown-week-busiest{color:var(--accent);font-size:9px;font-weight:600}.breakdown .breakdown-row-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.breakdown .breakdown-row-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.breakdown .breakdown-mini{text-align:center;background:var(--surface);border-radius:8px;flex-direction:column;align-items:center;padding:12px;display:flex}.breakdown .breakdown-mini-emoji{margin-bottom:6px;font-size:20px}.breakdown .breakdown-mini-value{color:#fff;overflow-wrap:anywhere;margin-bottom:2px;font-size:14px;font-weight:700}.breakdown .breakdown-mini-value[data-tone=teal]{color:var(--accent)}.breakdown .breakdown-mini-value[data-tone=blue]{color:var(--primary)}.breakdown .breakdown-mini-value[data-tone=success]{color:#4caf50}.breakdown .breakdown-mini-value[data-tone=warning]{color:#ff9800}.breakdown .breakdown-mini-value[data-tone=purple]{color:var(--secondary)}.breakdown .breakdown-mini-label{color:var(--text-secondary);margin-bottom:2px;font-size:9px}.breakdown .breakdown-mini-detail{color:var(--text-secondary);font-size:8px}.breakdown .breakdown-stack{flex-direction:column;gap:12px;display:flex}.breakdown .breakdown-mini-big{font-size:16px}.breakdown .breakdown-mini-huge{font-size:18px}.breakdown .breakdown-mini-caption{font-size:11px}.breakdown .breakdown-mini-caption-sm{font-size:10px}.breakdown .breakdown-mini-count{margin-bottom:4px;font-size:9px}.breakdown .breakdown-mini-roomy{padding:24px}.breakdown .breakdown-mini-emoji-lg{margin-bottom:8px;font-size:24px}.breakdown .breakdown-projection{gap:8px}.breakdown .breakdown-row-2:not(.breakdown-projection) .breakdown-mini-huge,.breakdown .breakdown-mini>.breakdown-mini-caption:first-child,.breakdown .breakdown-projection .breakdown-mini-huge{margin-bottom:4px}.breakdown .breakdown-locations{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.breakdown .breakdown-locations[data-single=true]>.breakdown-location{grid-column:1/-1;justify-self:center;width:50%}.breakdown .breakdown-location{text-align:center;background:#667eea1a;border:2px solid #667eea;border-radius:5px;flex-direction:column;align-items:center;gap:3px;padding:8px;display:flex}.breakdown .breakdown-location[data-tone=medium]{background:#ff98001a;border-color:#ff9800}.breakdown .breakdown-location[data-tone=high]{background:#4caf501a;border-color:#4caf50}.breakdown .breakdown-location-name{color:#fff;overflow-wrap:anywhere;font-size:12px}.breakdown .breakdown-location-spend{color:var(--accent);font-size:14px}.breakdown .breakdown-location-stats{color:var(--text-secondary);font-size:10px}.breakdown .breakdown-favorite{text-align:center;background:var(--surface);border-radius:8px;flex-direction:column;align-items:center;padding:16px;display:flex}.breakdown .breakdown-favorite-emoji{margin-bottom:8px;font-size:24px}.breakdown .breakdown-favorite-name{color:#4caf50;overflow-wrap:anywhere;margin-bottom:4px;font-size:18px;font-weight:700}.breakdown .breakdown-favorite-label{color:var(--text-secondary);margin-bottom:2px;font-size:12px}.breakdown .breakdown-favorite-sub{color:var(--text-secondary);font-size:9px}.breakdown .breakdown-panel{background:var(--surface);border-radius:8px;flex-direction:column;padding:12px;display:flex}.breakdown .breakdown-panel-title{color:#fff;margin-bottom:6px;font-size:12px;font-weight:700}.breakdown .breakdown-panel-title-roomy{margin-bottom:8px}.breakdown .breakdown-quality-row{color:#fff;justify-content:space-between;gap:8px;font-size:11px;display:flex}.breakdown .breakdown-quality-row+.breakdown-quality-row{margin-top:4px}.breakdown .breakdown-quality-pct{color:var(--accent);font-weight:700}.breakdown .breakdown-top-row{align-items:center;gap:5px;padding:3px 0;display:flex}.breakdown .breakdown-rank{color:#fff;background:#667eea;border-radius:50%;flex:none;justify-content:center;align-items:center;width:13px;height:13px;font-size:10px;display:inline-flex}.breakdown .breakdown-top-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.breakdown .breakdown-top-stats{color:var(--text-secondary);flex:none;font-size:10px}.breakdown .breakdown-loyalty{color:var(--accent);overflow-wrap:anywhere;font-size:11px;line-height:15.4px}.breakdown .breakdown-first-count{color:#4caf50;margin-bottom:6px;font-size:16px;font-weight:700}.breakdown .breakdown-first-names{color:var(--text-secondary);overflow-wrap:anywhere;font-size:10px;line-height:14px}.phrases{--phrases-accent:var(--primary);--phrases-top-size:5;gap:var(--gap-sm);flex-direction:column;display:flex}.phrases h2.phrases-title{color:var(--text-primary);margin:8px 0 0;font-size:22px;font-weight:900}.phrases-pair{gap:var(--gap-sm);flex-direction:column;display:flex}.phrases-block{flex-direction:column;gap:8px;min-width:0;display:flex}.phrases-section-head{align-items:center;gap:8px;padding-top:10px;display:flex}.phrases h3.phrases-label{letter-spacing:.08em;color:var(--text-secondary);margin:0;font-size:11px;font-weight:700}.phrases-badge{color:var(--text-primary);background:#764ba233;border:1px solid #764ba266;border-radius:100px;padding:2px 7px;font-size:10px}.phrases-box{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);min-width:0}.phrases p.phrases-empty{text-align:center;color:var(--text-secondary);margin:0;padding:24px 12px;font-size:12px}.phrases-top-list{margin:0;padding:4px 14px;list-style:none}.phrases-top-row{padding:7px 0}.phrases-top-line{align-items:center;min-width:0;display:flex}.phrases-rank{text-align:center;width:20px;color:var(--phrases-accent);flex:none;font-size:12px;font-weight:700}.phrases-bar{background-color:#0000;flex:none;width:3px;height:28px;margin:0 8px}.phrases-text{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;overflow:hidden}.phrases-count{color:var(--phrases-accent);flex:none;margin-left:8px;font-size:12px;font-weight:700}.phrases-count-sm{font-size:11px}.phrases-track{background:#ffffff0f;border-radius:2px;height:3px;margin:4px 0 0 28px;overflow:hidden}.phrases-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;height:100%}.phrases-venue-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.phrases-venue-head{align-items:center;gap:8px;padding:11px;display:flex}.phrases-venue-names{flex-direction:column;flex:auto;min-width:0;display:flex}.phrases-venue-name,.phrases-venue-location,.phrases-venue-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.phrases-venue-name{color:var(--text-primary);font-size:13px;font-weight:700}.phrases-venue-location{color:var(--text-secondary);padding-top:1px;font-size:11px}.phrases-venue-count{color:var(--text-secondary);flex:none;font-size:11px}.phrases-venue-rows{margin:0;padding:10px;list-style:none}.phrases-venue-row{align-items:center;gap:8px;padding-bottom:6px;display:flex}.phrases-dot{border-radius:50%;flex:none;width:7px;height:7px}.phrases-venue-text{min-width:0;color:var(--text-secondary);flex:auto;font-size:12px}.phrases-pager{justify-content:center;align-items:center;display:flex}.phrases-pager button{height:32px;color:var(--phrases-accent);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:100px;padding:0 14px;font-family:inherit;font-size:12px}.phrases-pager button:disabled{opacity:.3;cursor:default}.phrases-pager span{color:var(--text-secondary);margin:0 16px;font-size:12px}.phrases p.phrases-trend-hint{color:var(--text-secondary);margin:0;font-size:11px}.phrases-chips{flex-wrap:wrap;gap:6px;margin:0 0 4px;padding:0;list-style:none;display:flex}.phrases-chip{color:#ccc;background:#667eea1a;border-radius:100px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.phrases-chip-remove,.phrases-add{color:#667eea;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700}.phrases-chip-remove{background:0 0;border:0;justify-content:center;align-items:center;min-width:24px;min-height:24px;margin:-4px -8px;padding:4px 8px;display:inline-flex}.phrases-add{background:#667eea1a;border:1px solid #667eea66;border-radius:100px;padding:6px 10px}.phrases-add:disabled{opacity:.4;cursor:default}.phrases-chip,.phrases-add{box-sizing:border-box;height:30px}.phrases-add{align-items:center;display:inline-flex}.phrases-trend-box{padding:14px 14px 22px}.phrases-trend-plot{width:100%;height:160px;position:relative}.phrases-movers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.phrases-mover{border-radius:12px;min-width:0;padding:10px}.phrases-mover-rising{--mover:#48c78e;background:#48c78e14;border:1px solid #48c78e33}.phrases-mover-falling{--mover:#f06464;background:#f0646414;border:1px solid #f0646433}.phrases h4.phrases-mover-title{letter-spacing:.05em;color:var(--mover);margin:0 0 8px;font-size:10px;font-weight:700}.phrases-mover-rows{margin:0;padding:0;list-style:none}.phrases-mover-row{align-items:center;min-width:0;padding-bottom:6px;display:flex}.phrases-mover-arrow{color:var(--mover);flex:none;padding-right:6px;font-size:11px}.phrases-mover-text{color:#ccc;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11px;overflow:hidden}.phrases-mover-change{color:var(--mover);flex:none;padding-left:4px;font-size:10px;font-weight:700}.phrases-add-dialog{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--surface);width:min(22rem,100vw - 32px);color:var(--text-primary);padding:0}.phrases-add-dialog::backdrop{background:#0009}.phrases-add-body{flex-direction:column;gap:12px;padding:20px;display:flex}.phrases-add-body h3{margin:0;font-size:16px;font-weight:700}.phrases-add-list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.phrases-add-list button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:12px 4px;font-family:inherit;font-size:14px;display:block;overflow:hidden}.phrases-add-cancel{color:var(--phrases-accent);cursor:pointer;background:0 0;border:0;align-self:flex-end;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:700}.maps{min-height:240px;margin-bottom:calc(var(--gap-lg) * -2);flex-direction:column;display:flex}.maps-host{border-radius:var(--radius-card);background:#1a1a1a;flex:auto;min-height:0;position:relative;overflow:hidden}.maps-notice{align-self:stretch}.maps-controls{align-items:center;gap:8px;height:44px;padding:4px 8px 4px 12px;display:flex}.maps-controls-label{color:var(--text-secondary);flex:auto;font-size:13px}.maps-pill{height:36px;font:inherit;background:var(--surface-variant);color:var(--text-secondary);cursor:pointer;border:0;border-radius:18px;padding:0 12px;font-size:12px}.maps-pill-on{background:var(--primary);color:var(--text-primary)}.maps-segment{background:var(--glass-from);border:1px solid var(--glass-border);border-radius:10px;padding:3px;display:flex}.maps-seg{height:30px;font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:15px;padding:0 12px;font-size:12px}.maps-seg-on{background:var(--primary);color:var(--text-primary)}.maps-host>.maps-canvas{position:absolute;inset:0}.maps-marker{cursor:pointer;font:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.maps-marker-cluster,.maps-marker-venues{background:var(--primary);border:4px solid var(--text-primary);width:64px;height:64px;color:var(--text-primary);box-sizing:border-box;border-radius:50%;font-weight:700}.maps-marker-band{border-style:solid;border-color:var(--text-primary);box-sizing:border-box;border-radius:50%;position:relative;box-shadow:0 2px 4px #0006}.maps-marker-band:after{content:"";background:var(--text-primary);border-radius:50%;width:26%;height:26%}.maps-legend{border:1px solid var(--surface-variant);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:#1a1a1ae6;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:12px;right:12px}.maps-legend-title{padding-bottom:4px;font-size:12px;font-weight:700}.maps-legend-row{align-items:center;gap:8px;font-size:10px;display:flex}.maps-legend-dot{border-radius:50%;width:12px;height:12px}.maps-back{background:var(--primary);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;border:0;border-radius:18px;align-items:center;padding:0 18px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;bottom:44px;right:12px}.maps-popup{background:var(--surface);width:220px;color:var(--text-primary);cursor:default;border:1px solid #2e2e2e;border-radius:16px;flex-direction:column;padding:13px 13px 12px;display:flex}.maps-popup-head{align-items:center;gap:6px;display:flex}.maps-popup-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:16px;font-weight:700;overflow:hidden}.maps-popup-close{background:var(--surface-variant);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;border:0;border-radius:11px;font-size:10px}.maps-popup-place{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;padding:3px 0 11px;font-size:12px;overflow:hidden}.maps-popup-chips{flex-wrap:wrap;gap:5px;padding-bottom:5px;display:flex}.maps-chip{background:var(--surface-variant);color:var(--text-secondary);border:1px solid #2e2e2e;border-radius:20px;padding:4px 9px;font-size:12px}.maps-chip-accent{color:#9aaff5;background:#667eea1f;border-color:#667eea47;font-weight:600}.maps-popup-actions{gap:8px;padding-top:7px;display:flex}.maps-popup-action{background:var(--gradient-primary);height:34px;color:var(--text-primary);font:inherit;cursor:pointer;border:0;border-radius:8px;flex:1;font-size:12px;font-weight:600}.maps-sheet-head{background:#2d2d2d;border:1px solid #333;border-radius:12px;margin:0 0 8px;padding:12px}.maps-sheet-titlerow{align-items:center;gap:8px;padding-bottom:6px;display:flex}.maps-sheet .maps-sheet-title{min-width:0;color:var(--text-primary);flex:auto;margin:0;font-size:20px;font-weight:700}.maps-sheet-count{color:#667eea;background:#1a1a1a;border-radius:8px;padding:8px;font-size:14px}.maps-sheet-titlerow .panel-close{margin-left:0}.maps-sheet p.maps-sheet-stat{color:var(--text-secondary);margin:0 0 4px;font-size:14px}.maps-sheet-stat b{color:#667eea}.maps-sheet-tools{gap:8px;padding-bottom:8px;display:flex}.maps-sheet-search{flex:auto;height:46px}.maps-sheet-sortbtn{font:inherit;color:#667eea;cursor:pointer;background:0 0;border:0;font-size:12px}.maps-sheet-sorts{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.maps-sheet-sorts button{font:inherit;border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:100px;padding:6px 10px;font-size:12px}.maps-sheet-sorts button[aria-pressed=true]{background:var(--primary)}.maps-sheet-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.maps-sheet-row{width:100%;font:inherit;color:var(--text-primary);text-align:left;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex}.maps-sheet-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.maps-sheet-rowmain{flex:auto;min-width:0;display:block}.maps-sheet-rowtop{align-items:baseline;gap:8px;padding-bottom:4px;display:flex}.maps-sheet-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:16px;font-weight:700;overflow:hidden}.maps-sheet-date,.maps-sheet-from{color:var(--text-secondary);font-size:12px}.maps-sheet-rowbottom{align-items:center;gap:12px;font-size:14px;display:flex}.maps-sheet-rating{color:#667eea}.maps-sheet-cost{font-weight:700}.maps-sheet p.maps-sheet-empty{text-align:center;color:var(--text-secondary);margin:16px 0}.profile{width:100%;max-width:var(--column-max);gap:var(--gap-md);flex-direction:column;display:flex}.profile .profile-top{top:var(--bar-top);z-index:2;margin-top:calc(var(--gap-lg) * -1);padding-top:var(--gap-lg);background:var(--header-scrim);align-items:center;gap:12px;padding-bottom:8px;display:flex;position:sticky}.profile .profile-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.profile .profile-hero{text-align:center;flex-direction:column;align-items:center;padding-top:20px;display:flex}.profile .profile-avatar{background:var(--gradient-primary);border-radius:50%;place-items:center;width:64px;height:64px;font-size:28px;display:grid}.profile .profile-name{letter-spacing:-.02em;overflow-wrap:anywhere;margin:10px 0 0;font-size:32px;font-weight:900}.profile .profile-sub{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.profile .profile-meta{color:var(--text-secondary);margin:4px 0 0;font-size:11px}.profile .profile-tier{border-radius:var(--radius-card);border:1px solid var(--glass-border);background:var(--glass-surface);color:var(--text-secondary);align-items:center;gap:6px;margin:8px 0 0;padding:4px 10px;font-size:11px;display:inline-flex}.profile .profile-tier-dot{width:8px;height:8px}.profile .profile-cards{gap:var(--gap-md);flex-direction:column;display:flex}.profile .profile-card{flex-direction:column;gap:10px;min-width:0;display:flex}.profile .profile-card-head{justify-content:space-between;align-items:baseline;gap:var(--gap-sm);display:flex}.profile .profile-label{letter-spacing:.08em;color:var(--text-secondary);margin:0;font-size:11px;font-weight:700}.profile .profile-link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.profile .profile-box{border-radius:var(--radius-card);border:1px solid var(--glass-border);background:var(--glass-surface);flex-direction:column;flex:auto;gap:6px;padding:12px;display:flex}.profile .profile-hint{color:var(--text-secondary);margin:0 0 6px;font-size:11px}.profile .profile-plot{width:100%;position:relative}.profile .profile-plot-cumulative{height:180px}.profile .profile-plot-rating{height:160px}.profile .profile-row{align-items:center;gap:var(--gap-sm);display:flex}.profile .profile-row-label{color:var(--text-secondary);flex:auto;font-size:12px}.profile .profile-row-value{color:var(--text-primary);text-align:right;font-size:13px;font-weight:700}.profile .profile-empty{color:var(--text-secondary);text-align:center;margin:0;font-size:12px}.profile .profile-visits{margin:0;padding:0;list-style:none}.profile .profile-visit{align-items:center;gap:10px;padding:4px 0;display:flex}.profile .profile-visit-dot{background:var(--primary);flex:none;width:8px;height:8px}.profile .profile-visit-date{width:54px;color:var(--text-primary);flex-direction:column;flex:none;font-size:11px;display:flex}.profile .profile-visit-date span{color:var(--text-secondary);font-size:9px}.profile .profile-visit-body{flex-direction:column;flex:auto;min-width:0;display:flex}.profile .profile-visit-title{color:var(--text-primary);font-size:13px;font-weight:700}.profile .profile-visit-line{gap:8px;min-width:0;margin-top:2px;font-size:10px;display:flex}.profile .profile-visit-rating{color:var(--gold)}.profile .profile-visit-cost{color:var(--accent);font-weight:700}.profile .profile-visit-detail{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile .profile-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.profile .profile-chip{border:1px solid var(--glass-border);color:var(--text-primary);border-radius:8px;padding:4px 8px;font-size:13px}.performer-card-open{width:100%;height:100%;font-size:inherit;font-weight:inherit;font-style:inherit;color:inherit;cursor:pointer;margin:0;position:relative}.performer-card-open:hover{background:#667eea26}.performer-card-open:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:#667eea26}.performer-chevron{color:var(--accent);font-size:18px;font-weight:700;line-height:1;position:absolute;top:18px;right:22px}.yir .yir-row-open{min-width:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:10px;width:100%;margin:0;padding:0;display:flex}.yir .yir-row-open:hover{background:#667eea26}.yir .yir-row-open:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:#667eea26}.yir .yir-row-chevron{color:var(--accent);flex:none;margin:0 4px 0 -4px;font-size:18px;line-height:1}.breakdown-row-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;margin:0;padding:0;position:relative}.breakdown-row-open:hover{background:#667eea26}.breakdown-row-open:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:#667eea26}.breakdown-chevron{color:var(--accent);font-size:18px;line-height:1;position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.profile .profile-map-frame{border-radius:var(--radius-card);height:160px;position:relative;overflow:hidden}.profile .profile-map,.profile .profile-map-host{position:absolute;inset:0}.profile .profile-map{cursor:pointer}.profile .profile-map-open{z-index:2;color:var(--accent);cursor:pointer;background:#0006;border:0;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;top:8px;right:8px}.profile .profile-map-open:hover,.profile .profile-map-open:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:#667eea26}.profile .profile-map-coords{z-index:2;color:var(--text-primary);pointer-events:none;background:#0006;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;bottom:8px;right:8px}.profile .profile-map-failed{color:var(--text-secondary);place-items:center;margin:0;font-size:12px;display:grid;position:absolute;inset:0}.profile .profile-map-notice{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:12px;display:flex}.profile .profile-map-notice p{margin:0}.profile .profile-map-notice-row{justify-content:space-between;align-items:center;gap:var(--gap-sm);display:flex}.profile .profile-map-notice .profile-map-open{position:static}.profile .profile-map-coords-inline{color:var(--text-secondary);font-size:10px;font-weight:700}.profile .profile-tier-head{align-items:center;gap:var(--gap-sm);display:flex}.profile .profile-tier-name{color:var(--text-primary);flex:auto;font-size:14px;font-weight:700}.profile .profile-tier-pill{background:var(--gradient-primary);color:var(--text-primary);border-radius:100px;padding:3px 10px;font-size:11px;font-weight:700}.profile .profile-tier-meta{color:var(--text-secondary);margin:6px 0 0;font-size:11px}.profile .profile-tier-track{background:#ffffff1a;height:6px;margin-top:14px;position:relative}.profile .profile-tier-marker{background:var(--gradient-primary);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translateY(-50%)}.profile .profile-tier-scale{color:var(--text-secondary);justify-content:space-between;margin-top:6px;font-size:10px;display:flex}.profile .profile-tier-avg{color:var(--accent);font-weight:700}.profile .profile-habits{gap:12px;display:flex}.profile .profile-habits>.flag-column{flex:1 1 0;min-width:0}.profile .profile-habits-last{color:var(--text-secondary);margin:10px 0 0;font-size:12px}.profile .profile-run{flex-direction:column;align-items:flex-end;min-width:0;display:flex}.profile .profile-run-range{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.profile .profile-performers{margin:0;padding:0;list-style:none}.profile .profile-performer{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 4px;display:flex}.profile .profile-performer:hover{background:#667eea26}.profile .profile-performer:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:#667eea26}.profile .profile-performer-avatar{background:var(--gradient-primary);width:32px;height:32px;color:var(--text-primary);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.profile .profile-performer-main{flex-direction:column;flex:auto;min-width:0;display:flex}.profile .profile-performer-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.profile .profile-performer-bar{background:#ffffff1a;height:3px;margin-top:4px;display:block}.profile .profile-performer-bar>span{background:var(--gradient-primary);min-width:1px;height:100%;display:block}.profile .profile-performer-figures{color:var(--text-secondary);flex-direction:column;flex:none;align-items:flex-end;font-size:12px;display:flex}.profile .profile-performer-spend{color:var(--accent);font-size:11px;font-weight:700}.profile .profile-performer-chevron{color:var(--accent);flex:none;padding:0 4px 0 6px;font-size:18px}.profile .profile-ranks{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.profile .profile-rank{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:6px;width:100%;padding:6px 4px;display:grid}.profile .profile-rank:hover,.profile .profile-rank:focus-visible{background:#667eea26}.profile .profile-rank:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.profile .profile-rank-main{flex-direction:column;min-width:0;display:flex}.profile .profile-rank-title{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.profile .profile-rank-sub{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile .profile-rank-figures{font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;align-items:flex-end;display:flex}.profile .profile-rank-spend{color:var(--accent);font-weight:700}.profile .profile-rank-chevron{color:var(--accent);font-size:var(--text-title)}.profile .profile-rank-bar{background:#ffffff1a;border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.profile .profile-rank-bar>span{background:var(--gradient-primary);height:100%;display:block}.profile[data-testid=entity-profile-layer] .profile-visit:nth-child(n+6){display:none}@media (width>=40rem){:root{--column-max:60rem;--bar-top:calc(var(--navbar-height) + var(--safe-top));--stat-label:.6875rem;--stat-sub:.75rem;--stat-value-sm:1rem;--stat-value-md:1.25rem;--stat-value-lg:1.5rem;--stat-value-xl:1.625rem;--stat-value-hero:2rem;--chart-max:24rem}.stat-grid{grid-template-columns:repeat(var(--cols-tablet,var(--cols,2)), minmax(0, 1fr))}.hour-heatmap{--hour-cell:24px}.annual-trend{max-width:none}.annual-trend-plot{aspect-ratio:11/4}.annual-trend>.stat-grid{width:100%;max-width:24rem;margin-inline:auto}.day-heatmap-body{justify-content:safe center}[data-testid=trip-compare-layer]>.card>.stat-grid{max-width:44rem}.stat-label{letter-spacing:.06em;text-transform:uppercase}.stat-tile{justify-content:flex-start;gap:4px;padding:12px 14px}.stat-grid>.stat-tile{grid-template-rows:subgrid;grid-row:span 3;justify-content:normal;display:grid}.stat-grid>.stat-tile>.stat-tile-extras{flex-direction:column;gap:4px;display:flex}.stat-label-row{align-self:start}.bar-row{justify-content:space-between;gap:0}.bar-row>*{flex:none;width:min(2.5rem,6%)}.dash-bar:after{display:block}.dash-bars{border-bottom:1px solid #ffffff14;height:9rem;padding-top:1.25rem}.dash-month-labels{justify-content:space-between;gap:0}.dash-month-labels span{width:min(2.5rem,6%);font-size:var(--text-xs);flex:none}.page-head{justify-content:space-between;align-items:center;gap:var(--gap-sm) var(--gap-md);flex-flow:wrap}.page-head h1{margin-right:auto}.stats-pills{gap:6px;height:32px}.stats-pill{font-size:var(--text-xs);flex:none;padding:0 16px}.dash-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash-side .dash-info-row,.dash-side .dash-boxes{display:contents}.dash-card,.dash-info-pill,.dash-box{padding:14px 18px}.dash-info-label{font-size:var(--stat-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.dash-info-primary{font-size:var(--stat-value-md)}.dash-info-detail{font-size:var(--stat-sub)}.panel{width:min(100% - 2 * var(--gap-md), var(--column-max));border-radius:var(--radius-sheet);margin:auto}.navbar{height:calc(var(--navbar-height) + var(--safe-top));padding-top:var(--safe-top);padding-bottom:0;padding-inline:max(var(--gap-md), calc((100% - var(--column-max)) / 2));border-top:none;border-bottom:1px solid var(--glass-border);top:0;bottom:auto}.nav-item{flex:0 0 5.5rem}.nav-slot{display:none}.nav-add{align-self:center;gap:var(--gap-xs);width:auto;height:auto;padding:.5rem var(--gap-md);font-size:var(--text-body);border-radius:var(--radius-button);flex-direction:row;margin-left:auto;font-weight:600;position:static;transform:none}.nav-add-label{display:inline}.navbar>.nav-lock{display:flex}.heading-lock{display:none}.nav-lock{margin-left:var(--gap-xs)}#root:has(.navbar){padding-top:calc(var(--navbar-height) + var(--gap-lg) + var(--safe-top));padding-bottom:calc(var(--gap-lg) + var(--safe-bottom))}.undo-chip-dock{bottom:calc(var(--gap-lg) + var(--safe-bottom))}.trips-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.trips-board>.stats-section-label{grid-column:1/-1}.leader-row{grid-template-columns:1fr;gap:4px;padding:12px 14px}.leader-label{font-size:var(--stat-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.leader-winner{font-size:var(--text-title);text-align:left;color:var(--primary)}.trip-card{grid-template-columns:40px minmax(0,1fr) 8rem 20px;align-items:center;gap:14px;display:grid}.trip-track{max-width:12rem}.trip-cadence,.trip-records,.trip-performers{flex-direction:column;gap:6px;display:flex}.stats-header{grid-template-columns:minmax(0, var(--stats-tabs-max)) minmax(0, 1fr);align-items:center;column-gap:var(--gap-md);--stats-tabs-max:32rem;grid-template-areas:"top pills""adjusted adjusted""tabs tabs";display:grid}.stats-top{justify-content:space-between;align-items:center;column-gap:var(--gap-sm);row-gap:var(--gap-sm);flex-wrap:wrap;grid-area:top;display:flex}.stats-title-row{gap:var(--gap-md)}.stats-dates{margin-left:auto}.stats{container:stats/inline-size}.stats-pills{grid-area:pills;justify-content:safe flex-end}.stats-adjusted{grid-area:adjusted}.stats-tabs{max-width:var(--stats-tabs-max);grid-area:tabs}@container stats (width<66rem){.stats-header{grid-template-columns:minmax(0, var(--stats-tabs-max));grid-template-areas:"top""pills""adjusted""tabs";justify-content:center}.stats-header .stats-pills{justify-content:space-between}}.stats-body{gap:var(--gap-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stats-body>section{flex-direction:column;display:flex}.stats-body>section>.stat-grid{flex:1}.stats-body>:not([data-testid^=breakdown-]){grid-column:1/-1}.breakdown-card{padding:8px 12px}.breakdown-card .breakdown-row{grid-template-columns:44px minmax(0,2fr) auto minmax(4rem,1fr);align-items:center;gap:8px;display:grid}.breakdown-card .breakdown-pill-slot,.breakdown-card .breakdown-bar{width:auto}.encounter-row{grid-template-rows:auto auto auto;grid-template-columns:58px minmax(8rem,1fr) 6.5rem 6rem 5rem;align-items:center;gap:2px 0;min-height:64px;padding:8px 14px;display:grid}.row-body,.row-line:not(.row-tags){display:contents}.row-avatar{width:44px;height:44px;font-size:var(--text-body);border-radius:12px;grid-area:1/1/-1;align-self:center;margin-right:14px}.row-title{grid-area:1/2;justify-self:start;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.row-name{font-size:var(--text-body)}.row-place{grid-area:2/2}.row-access{white-space:nowrap;text-overflow:ellipsis;grid-area:2/3;place-self:center end;max-width:100%;overflow:hidden}.row-from{white-space:nowrap;text-overflow:ellipsis;grid-area:2/4/auto/-1;place-self:center end;max-width:calc(100% - 8px);overflow:hidden}.row-tags{flex-wrap:nowrap;grid-area:3/2/auto/-1;min-width:0;margin:0;overflow:hidden}.row-date{text-align:right;grid-area:1/3;align-self:center;margin:0}.row-stars{text-align:right;grid-area:1/4;align-self:center;margin:0}.row-cost{text-align:right;font-size:var(--text-body);grid-area:1/5;align-self:center}.row-line-place,.row-line-money,.row-tags{margin-top:0}.encounter-row .row-excerpt{grid-area:4/2/auto/-1;max-width:100%}.month-header{height:44px}.form-body{columns:2;column-gap:var(--gap-sm);display:block}.form-body>*{vertical-align:top;break-inside:avoid;width:100%;margin-bottom:var(--gap-sm);display:inline-flex}.form-body>.record-required-legend{margin-bottom:var(--gap-sm)}.field-host{grid-template-columns:1fr 1fr}.section-cards{gap:var(--gap-md);max-width:var(--column-max);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.section-cards>.card{max-width:none}.section-cards>.card-span{grid-column:1/-1}.section-cards>.card-level{align-self:stretch}.section-cards>.card>button:not(.settings-row),.section-cards>.card .btn-primary,.section-cards>.card .btn-secondary{width:auto;padding-inline:var(--gap-lg);align-self:flex-start}.section-cards>.card .confirm-overlay button{width:auto;padding-inline:var(--gap-md);flex:1 1 0;align-self:auto}.page-head .segmented{align-self:flex-start}.page-head .segment{padding:.5rem var(--gap-lg);flex:none}.panel.sort-sheet{width:min(100% - 2 * var(--gap-md), 22rem)}.panel.maps-sheet{width:min(100% - 2 * var(--gap-md), 34rem)}.maps{margin-bottom:calc(var(--gap-lg) * -1)}.filter-body{columns:2;column-gap:var(--gap-lg)}.filter-dates{flex-direction:row;align-items:center}.filter-arrow{transform:none}.list-head{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:0;display:grid}.list-title-row{display:contents}.list-title{grid-area:1/1;min-width:0}.list-tabs{margin-left:var(--gap-sm);grid-area:1/2}.list-sort{margin-left:var(--gap-sm);grid-area:1/3}.list-search-row,.list-chips{grid-column:1/-1}.list-tab{flex:none;padding:0 18px}.wishlist-row{flex-direction:row;align-items:center;gap:14px;min-height:64px;padding:8px 14px}.wishlist-open{flex:auto;grid-template-rows:auto auto;grid-template-columns:58px minmax(8rem,1fr) minmax(0,2fr);align-items:center;gap:2px 0;min-width:0;display:grid}.wishlist-avatar{grid-area:1/1/-1}.wishlist-text{display:contents}.wishlist-title{grid-area:1/2;max-width:100%}.wishlist-place{margin:0 0 0 var(--gap-sm);grid-area:1/3}.wishlist-from{white-space:nowrap;text-overflow:ellipsis;grid-area:2/2;max-width:100%;margin:0;overflow:hidden}.wishlist-notes{margin:0 0 0 var(--gap-sm);grid-area:2/3}.tour-box{left:var(--box-x,16px);top:var(--box-y,16px);width:var(--box-w,26rem);max-width:calc(100vw - 32px);max-height:var(--box-max-h,calc(100dvh - 32px));--tour-docked:0;margin:0;bottom:auto;right:auto}}@media (width>=64rem){:root{--column-max:75rem;--rail-width:3.5rem;--bar-top:0px;--stat-value-sm:1.125rem;--stat-value-md:1.375rem;--stat-value-lg:1.75rem;--stat-value-xl:1.875rem;--stat-value-hero:2.25rem}.stat-grid{grid-template-columns:repeat(var(--cols-desktop,var(--cols-tablet,var(--cols,2))), minmax(0, 1fr))}.stat-tile{gap:6px;padding:16px 18px}.profile .profile-cards{column-gap:var(--gap-lg);row-gap:var(--gap-md);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.profile[data-testid=entity-profile-layer] .profile-visit:nth-child(n+6){display:flex}.profile[data-testid=entity-profile-layer] [data-testid=profile-card-cumulative]{grid-column:1/-1}.profile[data-testid=entity-profile-layer] [data-testid=profile-card-activity],.profile[data-testid=entity-profile-layer] [data-testid=entity-card-performers],.profile[data-testid=entity-profile-layer] [data-testid=profile-card-history]{grid-column:1}.profile[data-testid=entity-profile-layer] [data-testid=profile-card-pattern],.profile[data-testid=entity-profile-layer] [data-testid=entity-card-venues],.profile[data-testid=entity-profile-layer] [data-testid=profile-card-phrases]{grid-column:2}.profile[data-testid=entity-profile-layer] [data-testid=profile-card-history],.profile[data-testid=entity-profile-layer] [data-testid=profile-card-phrases]{align-self:start}.profile[data-testid=venue-profile-layer] [data-testid=profile-card-cumulative]{grid-column:1/-1}.profile[data-testid=venue-profile-layer] [data-testid=venue-card-location],.profile[data-testid=venue-profile-layer] [data-testid=profile-card-activity],.profile[data-testid=venue-profile-layer] [data-testid=venue-card-sofa],.profile[data-testid=venue-profile-layer] [data-testid=venue-card-performers]{grid-column:1}.profile[data-testid=venue-profile-layer] [data-testid=venue-card-cost],.profile[data-testid=venue-profile-layer] [data-testid=profile-card-pattern],.profile[data-testid=venue-profile-layer] [data-testid=profile-card-history],.profile[data-testid=venue-profile-layer] [data-testid=profile-card-phrases]{grid-column:2}.profile[data-testid=venue-profile-layer] [data-testid=venue-card-performers],.profile[data-testid=venue-profile-layer] [data-testid=profile-card-phrases]{align-self:start}.hour-heatmap{--hour-cell:26px}.charts-pair{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.charts-pair .chart-section,.charts-pair .venue-card{flex-direction:column;display:flex}.charts-pair .bar-plot{aspect-ratio:auto;flex:1 1 0}.charts-pair .bar-plot:not(.venue-plot){min-height:15rem}.phrases{--phrases-top-size:10}.phrases-pair{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.phrases-pair .phrases-block>.phrases-box,.phrases-pair .phrases-venue-list,.phrases-pair .phrases-venue-card:last-child{flex:auto}.performer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-bars{height:18rem}.dash-body{grid-template-columns:2fr 1fr;gap:12px;display:grid}.dash-side{grid-template-columns:1fr;grid-auto-rows:1fr}.dash-sparkline{flex:1}.dash-card,.dash-info-pill,.dash-box{flex-direction:column;display:flex}.navbar{width:var(--rail-width);align-items:stretch;gap:var(--gap-xs);height:auto;padding:calc(var(--gap-md) + var(--safe-top)) var(--gap-xs) calc(var(--gap-md) + var(--safe-bottom)) max(var(--gap-xs), var(--safe-left));border-top:none;border-bottom:none;border-right:1px solid var(--glass-border);flex-direction:column;inset:0 auto 0 0}.nav-brand{font-size:var(--text-title);justify-content:center;align-items:center;gap:10px;padding:4px 0 18px;font-weight:700;display:flex}.nav-brand-mark{flex:0 0 28px;width:28px;height:28px;display:block}.nav-item,.nav-item-trips{border-radius:var(--radius-bordered);color:#ffffff8c;border:1px solid #0000;flex-direction:row;flex:none;justify-content:center;gap:12px;height:44px;padding:0;font-size:15px;font-weight:600;display:flex}.nav-item-on{color:var(--text-primary);border-color:var(--glass-border);background:linear-gradient(135deg,#667eea38,#764ba238)}.nav-item:not(.nav-item-on):hover{background:#667eea1f}.nav-slot{display:none}.nav-add{width:auto;height:44px;margin:var(--gap-md) 0 0;align-self:stretch;gap:var(--gap-xs);border-radius:var(--radius-bordered);flex-direction:row;justify-content:center;padding:0;font-size:1.5rem;font-weight:700;position:static;transform:none}.nav-add-label{display:inline}.nav-lock{height:44px;font-size:var(--text-sm);flex-direction:row;flex:none;justify-content:center;gap:12px;margin:auto 0 0}.nav-lock .nav-label{display:inline}.navbar .nav-label,.nav-add-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#root:has(.navbar){padding:calc(var(--gap-lg) + var(--safe-top)) var(--gap-lg) calc(var(--gap-lg) + var(--safe-bottom)) calc(var(--rail-width) + var(--gap-lg))}.undo-chip-dock{left:var(--rail-width)}[data-testid=trips-layer]>.trips{column-gap:var(--gap-md);row-gap:var(--gap-md);grid-template-columns:7fr 5fr;grid-template-areas:"years years""cards board""cards trend""compare trend";align-items:start;display:grid}.trips-years{scrollbar-width:thin;grid-area:years;justify-self:end;max-width:100%}.trips-cards-section{flex-direction:column;grid-area:cards;gap:10px;display:flex}.trips .trips-cards-label{display:block}.trips-board{grid-area:board}.trips-trend-section{--chart-max:none;grid-area:trend}.trips-compare{grid-area:compare}[data-testid=trip-summary]>.trips{gap:var(--gap-md);grid-template-columns:1fr 1fr;grid-template-areas:"line line""tiles tiles""cadence cadence""venues records""venues performers""visits visits""phrases phrases""compare compare";align-items:start;display:grid}.trip-header-line{grid-area:line}[data-testid=trip-summary]>.trips>.stat-grid{grid-area:tiles}.trips .stat-grid>[data-testid=trip-count]{grid-column:auto}.trip-cadence{grid-area:cadence}[data-testid=trip-top-venues]{grid-area:venues}.trip-records{grid-area:records}.trip-performers{grid-area:performers}[data-testid=trip-visits]{grid-area:visits}[data-testid=trip-phrases]{grid-area:phrases}[data-testid=trip-compare-button]{grid-area:compare}.yir-body{column-gap:var(--gap-lg);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.yir-body>:first-child{grid-column:1/-1}.yir-body [data-testid=yir-records]{gap:var(--gap-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.yir-body [data-testid=yir-records]>.yir-section-label{grid-column:1/-1}.yir-body [data-testid=yir-records] .stat-grid{display:contents}.breakdown .breakdown-body{column-gap:var(--gap-lg);row-gap:var(--gap-md);grid-template-rows:repeat(4,auto) 1fr;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.breakdown .breakdown-body>:nth-child(-n+6){align-self:stretch}.breakdown .breakdown-body>[data-testid=breakdown-card-8]{grid-area:4/2/span 2}[data-testid=yir-spending]{--chart-max:none}.stats-body{grid-template-columns:repeat(12,minmax(0,1fr))}.stats-count{order:1}.stats-spending{order:2}.stats-cadence{order:3}.stats-peak{order:4}.stats-age{order:5}.stats-flags{order:6}.stats-body>.stats-spending,.stats-body>.stats-cadence{grid-column:span 6}.stats-body>.stats-peak,.stats-body>.stats-age,.stats-body>.stats-flags{grid-column:span 4}.stats-body>[data-testid^=breakdown-]{order:7;grid-column:span 3}.stats-peak .stat-grid{--cols-desktop:3}.stats-age .stat-grid{--cols-desktop:4}.stats-flags .stat-grid{--cols-desktop:3}.breakdown-more{display:inline}.breakdown-card:not(.breakdown-card-open) .breakdown-row:nth-child(n+11){display:none}.encounter-row{grid-template-rows:auto auto;grid-template-columns:58px minmax(8rem,1fr) 8rem 11rem 6.5rem 6rem 5rem}.row-access{grid-area:1/3;justify-self:end;max-width:100%}.row-from{grid-area:2/3;justify-self:end;max-width:100%}.row-tags{grid-area:1/4/3;margin:0 16px}.row-date{grid-area:1/5/3}.row-stars{grid-area:1/6/3}.row-cost{grid-area:1/7/3}.encounter-row .row-excerpt{grid-area:3/2/auto/5}.wishlist-open{grid-template-columns:58px minmax(8rem,1fr) 11rem minmax(0,2fr)}.wishlist-place{grid-area:2/2;margin:0}.wishlist-from{margin:0 0 0 var(--gap-md);grid-area:1/3/3}.wishlist-notes{margin:0 0 0 var(--gap-md);grid-area:1/4/3}:is(.hour-heatmap-section,.breakdown-calendar) .encounter-row{grid-template-rows:auto auto auto;grid-template-columns:58px minmax(8rem,1fr) 6.5rem 6rem 5rem}:is(.hour-heatmap-section,.breakdown-calendar) .row-access{grid-row:2}:is(.hour-heatmap-section,.breakdown-calendar) .row-from{grid-column:4/-1;max-width:calc(100% - 8px)}:is(.hour-heatmap-section,.breakdown-calendar) .row-tags{grid-area:3/2/auto/-1;margin:0}:is(.hour-heatmap-section,.breakdown-calendar) .row-date{grid-area:1/3}:is(.hour-heatmap-section,.breakdown-calendar) .row-stars{grid-area:1/4}:is(.hour-heatmap-section,.breakdown-calendar) .row-cost{grid-area:1/5}.breakdown-calendar .encounter-row{grid-template-columns:58px minmax(6rem,1fr) 4.5rem 4.75rem 4.5rem}.panel{max-height:calc(100vh - 2 * var(--gap-lg))}.form-section-body{gap:var(--gap-sm)}}@media (width>=80rem){:root{--rail-width:13.75rem}.navbar{padding:var(--gap-md) 14px}.nav-item,.nav-item-trips,.nav-lock{justify-content:flex-start;padding:0 14px}.nav-add{padding:0 var(--gap-md);font-size:var(--text-body);border-radius:22px}.navbar .nav-label,.nav-add-label{clip:auto;white-space:nowrap;width:auto;height:auto;position:static;overflow:visible}.encounter-row{grid-template-columns:58px minmax(8rem,1fr) 10rem 16rem 6.5rem 6rem 5rem}}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}}*{box-sizing:border-box}a{color:#9aaaf5}.site-main:not(:has(#root)) a:not(.btn){color:var(--accent);text-underline-offset:3px}:is(:is(.site-header,.site-footer) a:focus-visible,.site-main:not(:has(#root)) :is(a,button,summary,select,textarea,input):focus-visible){outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:720px}.site-header{border-bottom:1px solid #ffffff14}.site-header .wrap{align-items:center;gap:24px;height:64px;display:flex}.brand{color:var(--text-primary);align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--gradient-primary);border-radius:8px;place-items:center;width:28px;height:28px;font-size:15px;display:grid}.nav{align-items:center;gap:20px;margin-left:auto;display:flex}.nav a{color:var(--text-secondary);font-size:14px;text-decoration:none}.nav a:hover{color:var(--text-primary)}@media (width<=720px){.nav .hide-sm{display:none}}.btn{cursor:pointer;border:0;border-radius:18px;padding:12px 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-outline{border:1px solid var(--glass-border);color:var(--text-primary);background:0 0}.btn-outline:hover{border-color:#ffffff52}.btn-sm{border-radius:14px;padding:8px 16px;font-size:14px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600}.muted{color:var(--text-secondary)}.card{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:16px;padding:22px}.tile{background:#ffffff0f;border-radius:10px;place-items:center;width:40px;height:40px;margin-bottom:12px;font-size:20px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=820px){.grid3,.grid2{grid-template-columns:1fr}}.card h3{margin:0 0 6px;font-size:16px}.card p{color:var(--text-secondary);margin:0;font-size:14px}section{padding:64px 0}h1{letter-spacing:-.02em;margin:12px 0 16px;font-size:clamp(32px,5vw,52px);line-height:1.1}h2{letter-spacing:-.01em;margin:0 0 20px;font-size:26px}.site-footer{border-top:1px solid #ffffff14;margin-top:40px;padding:40px 0 56px;font-size:13px}.footer-cols{grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;display:grid}@media (width<=720px){.footer-cols{grid-template-columns:repeat(3,1fr);gap:20px 12px}.footer-cols>:first-child{grid-column:1/-1}.footer-cols .brand{margin:0;display:flex}.footer-blurb{max-width:360px}}.footer-cols h4{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin:0 0 10px;font-size:12px}.footer-cols a{color:var(--text-secondary);margin:6px 0;text-decoration:none;display:block}.footer-cols a:hover{color:var(--text-primary)}.form-card{max-width:560px;margin:0 auto}.form-card-narrow{max-width:440px}.form-title{margin:0 0 12px}.label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;display:block}.field select,.field textarea{border:1px solid var(--glass-border);background:var(--surface);width:100%;color:var(--text-primary);font:inherit;border-radius:12px;padding:13px 14px}.btn-block{width:100%}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-card .field{flex-direction:column;align-items:stretch;gap:0;margin:0 0 12px;display:flex}.field input{border:1px solid var(--glass-border);background:var(--surface);width:100%;color:var(--text-primary);font:inherit;border-radius:12px;padding:13px 14px}.hint{color:var(--text-secondary);margin:-4px 0 12px;font-size:12px}.checks{color:var(--text-secondary);margin:0 0 16px;padding:0;font-size:13px;list-style:none}.checks li:before{content:"○ ";color:var(--text-secondary)}.checks li.ok:before{content:"✓ ";color:var(--accent)}.doc{grid-template-columns:220px 1fr;gap:48px;padding-block:48px;display:grid}@media (width<=820px){.doc{grid-template-columns:1fr}.toc{display:none}}.toc{align-self:start;font-size:13px;position:sticky;top:24px}.toc a{color:var(--text-secondary);border-left:2px solid #ffffff14;padding:5px 0 5px 12px;text-decoration:none;display:block}.toc a.on{color:var(--text-primary);border-left-color:var(--primary)}.doc h2{margin:40px 0 10px;font-size:20px}.doc p,.doc li{color:var(--text-secondary)}.doc strong{color:var(--text-primary)}.callout{border-left:3px solid var(--accent);background:#4ecdc40f;border-radius:0 12px 12px 0;margin:16px 0;padding:14px 18px}table.see{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}table.see th,table.see td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff14;padding:10px 12px}table.see th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.yes{color:var(--warning)}.no{color:var(--accent)}details{border:1px solid var(--glass-border);background:var(--glass-surface);border-radius:12px;margin:0 0 10px}summary{cursor:pointer;justify-content:space-between;gap:12px;padding:16px 18px;font-weight:600;list-style:none;display:flex}summary:after{content:"+";color:var(--text-secondary);font-weight:400}details[open] summary:after{content:"−"}details>div{color:var(--text-secondary);padding:0 18px 16px}.brand-logo{width:30px;height:30px;display:block}.footer-blurb{max-width:280px}.footer-legal{margin-top:32px}.site-main{min-height:60vh}.page-pad{padding-top:72px;padding-bottom:40px}.site-main #root{justify-content:flex-start;min-height:0}.hero-b{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding-block:72px 40px;display:grid}@media (width<=900px){.hero-b{grid-template-columns:1fr}}.frame{border:1px solid var(--glass-border);background:#111;border-radius:20px;padding:14px;box-shadow:0 30px 80px #667eea29}.bar{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:12px;font-size:11px;display:flex}.bar i{background:#333;border-radius:50%;width:9px;height:9px;display:block}.bar span{margin-left:8px}.row{border:1px solid var(--glass-border);background:var(--glass-surface);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:11px 12px;display:flex}.av{background:var(--gradient-primary);border-radius:50%;flex:none;width:32px;height:32px}.ln{background:#ffffff24;border-radius:5px;height:8px}.stars{color:var(--gold);letter-spacing:1px;margin-left:auto;font-size:12px}.av{color:#fff;place-items:center;font-size:14px;font-weight:700;display:grid}.nm{font-size:14px;font-weight:600}.sub{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tags i{color:var(--text-secondary);font-size:11px;font-style:normal}.arrow{text-align:center;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:12px 0 8px;font-size:12px}.vault-feed{background:#070909;border:1px solid #4ecdc440;border-radius:12px;height:170px;font:11.5px/1.55 ui-monospace,Consolas,monospace;position:relative;overflow:hidden}.vault-feed:before,.vault-feed:after{content:"";z-index:1;pointer-events:none;height:36px;position:absolute;left:0;right:0}.vault-feed:before{background:linear-gradient(#070909,#0000);top:0}.vault-feed:after{background:linear-gradient(#0000,#070909);bottom:0}.feed-track{padding:8px 12px;animation:22s linear infinite feed}@keyframes feed{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.feed-track{animation:none}}.cl{white-space:nowrap;color:#ffffff57;grid-template-columns:70px 40px 90px 1fr;gap:8px;display:grid}.cl .id{color:#9aaaf5b3}.cl .sz{color:#4ecdc4b3}.cl .ct{text-overflow:ellipsis;overflow:hidden}@media (width<=520px){.cl{grid-template-columns:70px 40px 1fr}.cl .ts{display:none}}.feed-legend{color:var(--text-secondary);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:11px;display:flex}.feed-legend b{font-weight:600}.k1{color:#9aaaf5}.k2{color:var(--accent)}.steps{grid-template-columns:repeat(3,1fr);display:grid}@media (width<=820px){.steps{grid-template-columns:1fr;gap:12px}}.step{border:1px solid var(--glass-border);background:var(--glass-surface);padding:22px}.step:first-child{border-radius:16px 0 0 16px}.step:last-child{border-radius:0 16px 16px 0}@media (width<=820px){.step{border-radius:16px!important}}.step b{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:12px;display:block}.step p{color:var(--text-secondary);margin:0;font-size:14px}.about-lock{grid-template-columns:1fr;gap:28px;display:grid}.about-lock h2{margin-bottom:14px}.about-copy p:last-child{margin-bottom:0}@media (width>=64rem){.about-lock{grid-template-columns:1.4fr 1fr;align-items:start;gap:48px}.steps.steps-stack{grid-template-columns:1fr}.steps-stack .step:first-child{border-radius:16px 16px 0 0}.steps-stack .step:last-child{border-radius:0 0 16px 16px}.steps-stack .step+.step{border-top:0}}.show{border-top:1px solid #ffffff0f;grid-template-columns:1fr 1.15fr;align-items:center;gap:56px;padding:56px 0;display:grid}.show.flip>.copy{order:2}@media (width<=900px){.show{grid-template-columns:1fr;gap:24px}.show.flip>.copy{order:0}}.show h2{margin-bottom:10px}.show p{color:var(--text-secondary)}.show ul{color:var(--text-secondary);padding-left:18px;font-size:14px}.shot{border:1px solid var(--glass-border);background:var(--surface);border-radius:16px;width:100%;height:auto;padding:8px;display:block}.page-body.steps-top{padding-bottom:12px}.page-body.shots-wide{padding-top:0}.shots-wide h2{margin-top:0}.shot-open{cursor:zoom-in;width:100%;font:inherit;color:inherit;text-align:inherit;background:0 0;border:0;border-radius:16px;margin:0;padding:0;display:block}.shot-figure{margin:0 0 1.5rem}.shot-figure figcaption{color:var(--text-secondary);margin-top:.5rem;font-size:.9rem}.lightbox{background:0 0;border:0;max-width:95vw;max-height:92vh;padding:0;overflow:visible}.lightbox::backdrop{background:#000000c7}.lightbox img{object-fit:contain;border:1px solid var(--glass-border);background:var(--surface);border-radius:16px;width:auto;max-width:95vw;height:auto;max-height:92vh;padding:8px;display:block}.lightbox-close{border:1px solid var(--glass-border);background:var(--surface);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;top:12px;right:12px}.content-page .card{width:auto;max-width:none;display:block}.page-body{padding:56px 20px}.page-title{font-size:36px}.lede{font-size:17px}.center{text-align:center}.cta{margin-top:28px}.section-tight{padding-top:24px}.card-list{margin-top:24px}.card-list>.card{margin:0 0 16px}.card-dashed{text-align:center;border-style:dashed;padding:40px}.card-gap{margin-top:28px}.about-copy p{margin:0 0 16px}.faq-gap{margin-top:56px}.faq-h2{margin-top:10px;font-size:30px}.doc ul{padding-left:20px}.doc li{margin:0 0 8px}.doc h3{margin:24px 0 8px;font-size:16px}.table-scroll{overflow-x:auto}.row-main{flex:1;min-width:0}.row-end{text-align:right}.av-2{opacity:.8}.av-3{opacity:.65}.bar-tight{margin-bottom:8px}.frame .stars{display:inline}.maint-body{flex-direction:column;min-height:100vh;display:flex}.maint-header .brand{pointer-events:none}.maint-main{flex:1;place-items:center;padding:48px 16px;display:grid;position:relative;overflow:hidden}.maint-glow{aspect-ratio:1;filter:blur(40px);background:radial-gradient(circle,#667eea59,#764ba238 45%,#4ecdc414 70%,#0000 75%);border-radius:50%;width:min(640px,120vw);position:absolute}.maint-card{text-align:center;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:24px;width:100%;max-width:440px;padding:40px 32px;position:relative}.maint-logo{width:72px;height:72px;margin-bottom:16px}.maint-card h1{margin:0 0 12px}.maint-footer{text-align:center;padding:24px 16px}@media (prefers-reduced-motion:no-preference){.maint-glow{animation:6s ease-in-out infinite alternate maint-breathe}}@keyframes maint-breathe{0%{opacity:.7;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}}.install-page .page-body{padding-top:0;padding-bottom:32px}.install-page .page-body>:last-child{margin-bottom:0}.install-page .page-body:first-child{padding-top:56px}.install-page .page-body:last-child{padding-bottom:56px}.install-hero{align-items:center;gap:24px;display:grid}.install-hero .lead{color:var(--text-secondary);max-width:34rem;font-size:17px}.install-hero-art{justify-self:center;width:100%;max-width:360px;height:auto}.install-benefits{gap:16px;display:grid}.install-benefits .card img{width:96px;height:auto;margin-bottom:8px}.install-same{margin-top:16px}.install-start{border-left:3px solid var(--accent);color:var(--text-secondary);background:#4ecdc414;border-radius:10px;margin:0;padding:12px 16px}.install-start strong{color:var(--text-primary)}.install-devices{gap:16px;margin-top:16px;display:grid}.install-device h3{font-size:18px}.install-steps{counter-reset:step;gap:20px;margin:16px 0 0;padding:0;list-style:none;display:grid}.install-steps li{counter-increment:step;gap:10px;display:grid}.install-steps li img{border-radius:8.333%/12.5%;width:100%;max-width:240px;height:auto}.install-steps li span:before{content:counter(step);width:24px;height:24px;color:var(--accent);background:#4ecdc426;border-radius:50%;place-items:center;margin-right:8px;font-size:13px;font-weight:700;display:inline-grid}.install-notes{color:var(--text-secondary);padding-left:20px}.install-notes li+li{margin-top:6px}@media (width>=720px){.install-hero{grid-template-columns:1.2fr 1fr}.install-benefits{grid-template-columns:repeat(3,1fr)}.install-devices{grid-template-columns:repeat(2,1fr)}.install-steps{gap:14px}.install-steps li{grid-template-columns:160px 1fr;align-items:center;gap:14px}.install-steps li img{width:160px}}
