body{background:var(--spin-bg);color:var(--spin-ink)}header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}@media(any-pointer:coarse){app-root{-webkit-user-select:none;user-select:none}app-root [contenteditable]{-webkit-user-select:text;user-select:text}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,button,button div,button span,input,textarea{touch-action:manipulation}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}a[disabled],button[disabled],html input[disabled]{cursor:default}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--spin-body-font)}@supports (-webkit-touch-callout: none){html{font:-apple-system-body;font-family:var(--spin-body-font)}}a{background-color:transparent;color:#0054e9}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-greek-ext-wght-normal.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-cyrillic-ext-wght-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(/assets/fonts/bricolage-grotesque-latin-standard-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(/assets/fonts/bricolage-grotesque-latin-ext-standard-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:500;font-display:block;src:url(/assets/fonts/material-symbols-rounded-500.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:root{--spin-bg: #101014;--spin-bg-rgb: 16 16 20;--spin-fg-rgb: 255 255 255;--spin-surface: rgba(255, 255, 255, .075);--spin-surface-strong: rgba(255, 255, 255, .13);--spin-ink: #f7f2e9;--spin-muted: #aaa49a;--spin-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23aaa49a' d='M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E");--spin-border: rgba(255, 255, 255, .12);--spin-accent: #ffbd59;--spin-accent-rgb: 255 189 89;--spin-green: #66d7bd;--spin-green-rgb: 102 215 189;--spin-accent-ink: var(--spin-accent);--spin-green-ink: var(--spin-green);--spin-on-accent: #141317;--spin-raised: #17161a;--spin-raised-rgb: 23 22 26;--spin-red-ink: #ff7a7a;--spin-streak-ink: #ff8a5b;--spin-sparkle: #ffffff;--spin-tier-rare-ink: #cfeaff;--spin-tier-epic-ink: #ffe3a1;--spin-tier-legendary-ink: #fff3d6;--spin-gold-ink: #ffd97a;--spin-star: #ffc94d;--spin-star-empty: rgba(255, 255, 255, .38);--spin-red: #ff7a7a;--spin-notify: #ff4d5e;--spin-radius: 24px;--app-content-pad-top: calc(18px + env(safe-area-inset-top, 0px) + min(env(safe-area-inset-top, 0px), 14px)) ;--app-content-pad-x: calc(16px + env(safe-area-inset-right, 0px)) ;--app-content-pad-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) ;--spin-body-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spin-display-font: "Bricolage Grotesque", Inter, ui-sans-serif, system-ui, sans-serif;color-scheme:dark}:root[data-theme=rose-violet]{--spin-accent: #ff8fb8;--spin-accent-rgb: 255 143 184;--spin-green: #b49aff;--spin-green-rgb: 180 154 255}:root[data-theme=ocean-mint]{--spin-accent: #5ec8ff;--spin-accent-rgb: 94 200 255;--spin-green: #6ee7b7;--spin-green-rgb: 110 231 183}:root[data-theme=sunset-coral]{--spin-accent: #ff9d5c;--spin-accent-rgb: 255 157 92;--spin-green: #ff6f91;--spin-green-rgb: 255 111 145}:root[data-theme=grape-lime]{--spin-accent: #b28dff;--spin-accent-rgb: 178 141 255;--spin-green: #a7dc72;--spin-green-rgb: 167 220 114}:root[data-theme=crimson-gold]{--spin-accent: #ff6161;--spin-accent-rgb: 255 97 97;--spin-green: #f4c95d;--spin-green-rgb: 244 201 93}:root[data-theme=lagoon-lemon]{--spin-accent: #3fd6c8;--spin-accent-rgb: 63 214 200;--spin-green: #f2e26b;--spin-green-rgb: 242 226 107}:root[data-theme=blush-sage]{--spin-accent: #ffa6c9;--spin-accent-rgb: 255 166 201;--spin-green: #9fd6a8;--spin-green-rgb: 159 214 168}:root[data-theme=indigo-tangerine]{--spin-accent: #8f9dff;--spin-accent-rgb: 143 157 255;--spin-green: #ffab5e;--spin-green-rgb: 255 171 94}:root[data-theme=crimson-slate]{--spin-accent: #ff5c8a;--spin-accent-rgb: 255 92 138;--spin-green: #7fa8c9;--spin-green-rgb: 127 168 201}:root[data-theme=silver-graphite]{--spin-accent: #d9d6cf;--spin-accent-rgb: 217 214 207;--spin-green: #8e929b;--spin-green-rgb: 142 146 155}:root[data-theme=forest-brass]{--spin-accent: #6fcf8e;--spin-accent-rgb: 111 207 142;--spin-green: #d9b36c;--spin-green-rgb: 217 179 108}:root[data-theme=cherry-cream]{--spin-accent: #ff6b7d;--spin-accent-rgb: 255 107 125;--spin-green: #f3d9b1;--spin-green-rgb: 243 217 177}:root[data-theme=cobalt-ember]{--spin-accent: #5b8cff;--spin-accent-rgb: 91 140 255;--spin-green: #ff8a4c;--spin-green-rgb: 255 138 76}:root[data-theme=mint-plum]{--spin-accent: #5fe0b0;--spin-accent-rgb: 95 224 176;--spin-green: #c58bdc;--spin-green-rgb: 197 139 220}:root[data-theme=sand-olive]{--spin-accent: #e3c58f;--spin-accent-rgb: 227 197 143;--spin-green: #a9b65e;--spin-green-rgb: 169 182 94}:root[data-theme=magenta-cyan]{--spin-accent: #ff5fd2;--spin-accent-rgb: 255 95 210;--spin-green: #43dcff;--spin-green-rgb: 67 220 255}:root[data-theme=copper-sea]{--spin-accent: #e5915f;--spin-accent-rgb: 229 145 95;--spin-green: #4fb8ad;--spin-green-rgb: 79 184 173}:root[data-mode=light]{--spin-bg: #f4f4f6;--spin-bg-rgb: 244 244 246;--spin-fg-rgb: 20 20 28;--spin-surface: #ffffff;--spin-surface-strong: rgba(20, 20, 28, .06);--spin-ink: #141418;--spin-muted: #66656e;--spin-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2366656e' d='M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E");--spin-border: rgba(20, 20, 28, .1);--spin-raised: #ffffff;--spin-raised-rgb: 255 255 255;--spin-red-ink: #c8323c;--spin-streak-ink: #b8501f;--spin-sparkle: var(--spin-accent-ink);--spin-tier-rare-ink: #1f6aa5;--spin-tier-epic-ink: #8a5f00;--spin-tier-legendary-ink: #6b3fb8;--spin-gold-ink: #8a5f00;--spin-star: #b47a00;--spin-star-empty: rgba(20, 20, 28, .6);--spin-accent-ink: #85632f;--spin-green-ink: #39796a;color-scheme:light}:root[data-mode=light][data-theme=amber-teal]{--spin-accent-ink: #85632f;--spin-green-ink: #39796a}:root[data-mode=light][data-theme=rose-violet]{--spin-accent-ink: #9a566f;--spin-green-ink: #7464a6}:root[data-mode=light][data-theme=ocean-mint]{--spin-accent-ink: #34718f;--spin-green-ink: #39795f}:root[data-mode=light][data-theme=sunset-coral]{--spin-accent-ink: #9a5e38;--spin-green-ink: #b24d65}:root[data-mode=light][data-theme=grape-lime]{--spin-accent-ink: #7c62b2;--spin-green-ink: #56733c}:root[data-mode=light][data-theme=crimson-gold]{--spin-accent-ink: #b24444;--spin-green-ink: #7e6930}:root[data-mode=light][data-theme=lagoon-lemon]{--spin-accent-ink: #237871;--spin-green-ink: #746d34}:root[data-mode=light][data-theme=blush-sage]{--spin-accent-ink: #8f5d71;--spin-green-ink: #537057}:root[data-mode=light][data-theme=indigo-tangerine]{--spin-accent-ink: #5d65a6;--spin-green-ink: #8f6034}:root[data-mode=light][data-theme=crimson-slate]{--spin-accent-ink: #b24060;--spin-green-ink: #526d82}:root[data-mode=light][data-theme=silver-graphite]{--spin-accent-ink: #71706b;--spin-green-ink: #6a6d74}:root[data-mode=light][data-theme=forest-brass]{--spin-accent-ink: #3e7350;--spin-green-ink: #836b40}:root[data-mode=light][data-theme=cherry-cream]{--spin-accent-ink: #b24a56;--spin-green-ink: #756956}:root[data-mode=light][data-theme=cobalt-ember]{--spin-accent-ink: #4469bf;--spin-green-ink: #a65931}:root[data-mode=light][data-theme=mint-plum]{--spin-accent-ink: #357c63;--spin-green-ink: #89619a}:root[data-mode=light][data-theme=sand-olive]{--spin-accent-ink: #7e6e50;--spin-green-ink: #656d38}:root[data-mode=light][data-theme=magenta-cyan]{--spin-accent-ink: #b24291;--spin-green-ink: #237385}:root[data-mode=light][data-theme=copper-sea]{--spin-accent-ink: #945e3d;--spin-green-ink: #337771}.spin-dark-scope,.app-shell .toast.celebration{--spin-bg: #101014;--spin-bg-rgb: 16 16 20;--spin-fg-rgb: 255 255 255;--spin-surface: rgba(255, 255, 255, .075);--spin-surface-strong: rgba(255, 255, 255, .13);--spin-ink: #f7f2e9;--spin-muted: #aaa49a;--spin-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23aaa49a' d='M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E");--spin-border: rgba(255, 255, 255, .12);--spin-raised: #17161a;--spin-raised-rgb: 23 22 26;--spin-red-ink: #ff7a7a;--spin-streak-ink: #ff8a5b;--spin-sparkle: #ffffff;--spin-tier-rare-ink: #cfeaff;--spin-tier-epic-ink: #ffe3a1;--spin-tier-legendary-ink: #fff3d6;--spin-gold-ink: #ffd97a;--spin-star: #ffc94d;--spin-star-empty: rgba(255, 255, 255, .38);--spin-accent-ink: var(--spin-accent);--spin-green-ink: var(--spin-green);color-scheme:dark;color:var(--spin-ink)}*{box-sizing:border-box}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}html,body{min-height:100%;margin:0;background:var(--spin-bg);color:var(--spin-ink);font-family:var(--spin-body-font)}html{height:auto}body{position:static;transform:none;height:auto;max-height:none;overflow-y:auto;touch-action:pan-x pan-y;overscroll-behavior-y:auto}body:has(.add-album-scrim,.confirm-scrim,.review-scrim,dialog:modal){overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}:where(.touch-target,.touch-target-y){position:relative}.touch-target:after,.touch-target-y:after{position:absolute;top:50%;left:50%;width:max(100%,48px);height:max(100%,48px);content:"";transform:translate(-50%,-50%)}.touch-target-y:after{width:100%}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.page{width:min(100%,1120px);margin:0 auto}.page-header{display:grid;gap:8px;margin-bottom:18px}.eyebrow{margin:0;color:var(--spin-accent-ink);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,min(7vw,9vh),4rem);line-height:.95;letter-spacing:0}h2{margin-bottom:12px;font-size:1.15rem;letter-spacing:0}h3{margin-bottom:6px;font-size:1rem;letter-spacing:0}p{color:var(--spin-muted);line-height:1.45}.surface{border:1px solid var(--spin-border);border-radius:var(--spin-radius);background:var(--spin-surface)}.plain-section{border-top:1px solid var(--spin-border)}.grid{display:grid;gap:14px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{min-height:92px;padding:16px;border:1px solid var(--spin-border);border-radius:20px;background:var(--spin-surface)}.stat strong{display:block;font-size:1.85rem;line-height:1}.stat span{display:block;margin-top:8px;color:var(--spin-muted);font-size:.8rem;font-weight:700}.field{display:grid;gap:8px;min-width:0}.field label{color:var(--spin-muted);font-size:.78rem;font-weight:800}.field-error{margin:0;color:var(--spin-red-ink)!important;font-size:.82rem;font-weight:700}.field input[aria-invalid=true]{border-color:var(--spin-red-ink)}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid var(--spin-border);border-radius:16px;background:rgb(var(--spin-fg-rgb) / .06);color:var(--spin-ink);padding:0 14px;outline:none}.field select{-webkit-appearance:none;appearance:none;background-image:var(--spin-select-chevron);background-position:right 8px center;background-repeat:no-repeat;background-size:20px;padding-right:32px;text-overflow:ellipsis}.field input[type=date],.field input[type=time]{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;line-height:46px;text-align:left}.field input[type=date]::-webkit-date-and-time-value,.field input[type=time]::-webkit-date-and-time-value{text-align:left}.field textarea{min-height:96px;padding-top:12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgb(var(--spin-accent-rgb) / .7);box-shadow:0 0 0 3px rgb(var(--spin-accent-rgb) / .14)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;border:0;border-radius:18px;background:var(--spin-accent);color:var(--spin-on-accent);padding:0 18px;font-weight:850;text-decoration:none}.button.secondary{border:1px solid var(--spin-border);background:var(--spin-surface-strong);color:var(--spin-ink)}.button:disabled{cursor:not-allowed;opacity:.55}.discogs-credit{margin:0;color:var(--spin-muted);font-size:.76rem;font-weight:650;text-align:center}.discogs-credit a{color:inherit;text-underline-offset:2px}.empty{padding:24px;border:1px dashed var(--spin-border);border-radius:var(--spin-radius);color:var(--spin-muted);text-align:center}.album-art{position:relative;overflow:hidden;aspect-ratio:1;border-radius:20px;background:linear-gradient(135deg,rgb(var(--spin-accent-rgb) / .28),rgb(var(--spin-green-rgb) / .14)),#202027}.album-art img{width:100%;height:100%;object-fit:cover}.album-art.placeholder{display:grid;place-items:center;container-type:inline-size;background:linear-gradient(150deg,#26252c,#16151a);color:#17120c;font-size:2.4rem;font-weight:900}.album-art.placeholder:before{position:absolute;inset:10%;border-radius:50%;background:conic-gradient(from 35deg,transparent 0 9%,rgba(255,255,255,.08) 13%,transparent 17% 59%,rgba(255,255,255,.05) 63%,transparent 67%),radial-gradient(circle closest-side,rgb(var(--spin-accent-rgb)) 0 34%,#0d0d10 34.5% 37%,transparent 37.5%),repeating-radial-gradient(circle closest-side,#121215 0 1.6%,#1c1c21 1.6% 3.2%);box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 22px #00000073;content:""}.album-art.placeholder>span{position:relative;font-family:var(--spin-display-font);font-size:max(.7rem,13cqi);line-height:1}@container (max-width: 64px){.album-art.placeholder>span{display:none}}.icon-button{display:grid;flex:none;width:48px;height:48px;place-items:center;border:1px solid var(--spin-border);border-radius:16px;background:var(--spin-surface);color:var(--spin-ink);text-decoration:none}.empty-state{display:grid;justify-items:center;gap:10px;border:1px dashed var(--spin-border);border-radius:var(--spin-radius);padding:36px 20px;text-align:center}.empty-state-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgb(var(--spin-accent-rgb) / .12);color:var(--spin-accent-ink);font-size:30px}.empty-state strong{color:var(--spin-ink);font-size:1.1rem}.empty-state p{max-width:36ch;margin:0}.empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.empty-state.compact{display:flex;justify-items:start;align-items:center;gap:14px;border:0;padding:0;text-align:left}.empty-state.compact .empty-state-icon{flex:none;width:48px;height:48px;font-size:26px}.empty-state.compact strong{font-size:1rem}.empty-state.compact p{margin-top:2px;font-size:.9rem}@media(min-width:700px){.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.app-shell .toast.celebration{inset:50% auto auto 50%;width:min(360px,calc(100vw - 32px));min-height:142px;grid-template-columns:44px minmax(0,1fr);gap:14px;border-color:rgb(var(--spin-accent-rgb) / .68);border-radius:24px;background:radial-gradient(circle at 14% 18%,rgb(var(--spin-accent-rgb) / .3),transparent 7rem),radial-gradient(circle at 88% 12%,rgb(var(--spin-green-rgb) / .24),transparent 6.5rem),#18161af5;box-shadow:0 26px 80px #00000085,0 0 46px rgb(var(--spin-accent-rgb) / .18);padding:22px;animation:toast-celebration-in .32s cubic-bezier(.2,.9,.2,1.18);transform:translate(-50%,-50%)}.app-shell .toast.celebration:after{position:absolute;content:"";pointer-events:none}.app-shell .toast.celebration .toast-sparkles{position:absolute;z-index:0;inset:10px;pointer-events:none}.app-shell .toast.celebration .toast-sparkle{position:absolute;aspect-ratio:1;border-radius:50%;box-shadow:0 0 7px currentColor;opacity:.7;transform:translate(-50%,-50%) scale(.72);animation-name:toast-sparkle-individual;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.app-shell .toast.celebration:after{inset:-10px;border:1px solid rgb(var(--spin-accent-rgb) / .18);border-radius:30px}.app-shell .toast.celebration .material-symbols-rounded{position:relative;z-index:1;color:var(--spin-accent);font-size:2.35rem}.app-shell .toast.celebration .toast-message{position:relative;z-index:1;color:var(--spin-ink)}.app-shell .toast.celebration.has-action{grid-template-columns:44px minmax(0,1fr)}.app-shell .toast.celebration .toast-action{grid-column:1 / -1;min-height:46px;border:0;border-radius:14px;background:var(--spin-accent);color:var(--spin-on-accent);font-size:1rem}.app-shell .toast.celebration.leaving{animation:toast-celebration-out .26s ease-in forwards}@keyframes toast-celebration-out{to{opacity:0;transform:translate(-50%,-46%) scale(.94)}}@keyframes toast-celebration-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes toast-sparkle-individual{0%,to{opacity:.34;transform:translate(-50%,-50%) scale(.68)}50%{opacity:1;transform:translate(calc(-50% + var(--move-x)),calc(-50% + var(--move-y))) scale(1.45)}}@media(prefers-reduced-motion:reduce){.toast,.app-shell .toast.celebration,.app-shell .toast.celebration .toast-sparkle{animation:none}}.unfinished-tag.is-skipped{background:rgb(var(--spin-fg-rgb) / .08);color:var(--spin-muted)}.unfinished-tag{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;background:rgb(var(--spin-accent-rgb) / .12);padding:2px 9px;color:var(--spin-accent-ink);font-size:.72rem;font-weight:750}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--spin-border);border-radius:16px;background:var(--spin-surface);padding:12px 14px;cursor:pointer}.toggle-row-copy{display:grid;gap:2px}.toggle-row-copy small{color:var(--spin-muted);font-size:.78rem}.toggle-switch{position:relative;flex:none;width:46px;height:28px;margin:0;border-radius:999px;background:var(--spin-surface-strong);cursor:pointer;appearance:none;transition:background .18s ease}.toggle-switch:after{position:absolute;top:3px;left:3px;width:22px;height:22px;content:"";border-radius:50%;background:var(--spin-ink);box-shadow:0 2px 6px #00000059;transition:transform .2s cubic-bezier(.2,.9,.3,1.3)}.toggle-switch:checked{background:var(--spin-accent)}.toggle-switch:checked:after{transform:translate(18px)}.toggle-switch:focus-visible{outline:2px solid var(--spin-accent);outline-offset:2px}.optional-tag{margin-left:4px;color:var(--spin-muted);font-size:.72rem;font-weight:600}.app-shell .toast.celebration .toast-close .material-symbols-rounded{color:var(--spin-muted);font-size:1.1rem}.app-shell .toast.celebration.has-close .toast-message,.app-shell .toast.celebration.has-close .toast-tier{padding-right:28px}.app-shell .toast.celebration.has-close{min-height:118px}.app-shell .toast.celebration .toast-message.before-hint{align-self:end;font-size:1.12rem;font-weight:850}.app-shell .toast.celebration .toast-tier+.toast-message{align-self:center}.app-shell .toast.celebration .toast-hint{align-self:start;margin-top:-8px}@property --toast-holo-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.app-shell .toast.celebration[data-tier]:before{position:absolute;z-index:0;inset:0;content:"";border-radius:inherit;background:linear-gradient(105deg,transparent 35%,var(--tier-shine) 50%,transparent 65%) 0 0 / 250% 100% no-repeat;pointer-events:none;animation:tier-shine 2.4s ease-in-out .3s infinite}.app-shell .toast.celebration[data-tier=rare]{--tier-shine: rgb(207 234 255 / .28);--tier-glow: rgb(159 212 255 / .45);border-color:#9fd4ff;animation-name:toast-celebration-in,tier-glow-pulse;animation-duration:.32s,2.4s;animation-timing-function:cubic-bezier(.2,.9,.2,1.18),ease-in-out;animation-iteration-count:1,infinite;animation-delay:0ms,.32s}.app-shell .toast.celebration[data-tier=epic]{--tier-shine: rgb(255 227 161 / .38);--tier-glow: rgb(255 190 80 / .6);border-color:#ffd36e;animation-name:tier-pop-in,tier-glow-pulse;animation-duration:.52s,2s;animation-timing-function:cubic-bezier(.2,.9,.3,1.45),ease-in-out;animation-iteration-count:1,infinite;animation-delay:0ms,.52s}.app-shell .toast.celebration[data-tier=epic]>.material-symbols-rounded{color:#ffd36e;filter:drop-shadow(0 0 10px rgb(255 211 110 / .8))}.app-shell .toast.celebration[data-tier=legendary]{--tier-shine: rgb(255 255 255 / .4);border:2px solid transparent;background:radial-gradient(circle at 14% 18%,rgb(255 143 184 / .28),transparent 7rem),radial-gradient(circle at 88% 12%,rgb(127 231 255 / .24),transparent 6.5rem),linear-gradient(#18161af7,#18161af7) padding-box,conic-gradient(from var(--toast-holo-angle),#ff8fb8,#ffd36e,#7fe7ff,#b49aff,#ff8fb8) border-box;animation-name:tier-legendary-in,tier-holo-spin,tier-rainbow-glow;animation-duration:.7s,4s,3s;animation-timing-function:cubic-bezier(.2,.9,.3,1.6),linear,linear;animation-iteration-count:1,infinite,infinite;animation-delay:0ms,0ms,0ms}.app-shell .toast.celebration[data-tier=legendary]:before{background-image:linear-gradient(105deg,transparent 30%,rgb(255 143 184 / .3) 42%,rgb(255 255 255 / .45) 50%,rgb(127 231 255 / .3) 58%,transparent 70%);animation-duration:1.8s}.app-shell .toast.celebration[data-tier=legendary]>.material-symbols-rounded{background:linear-gradient(135deg,#ff8fb8,#ffd36e,#7fe7ff);background-clip:text;-webkit-background-clip:text;color:transparent}.toast-timer{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;--toast-timer-color: var(--spin-green)}.toast-timer rect{fill:none;stroke:var(--toast-timer-color);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:0;filter:drop-shadow(0 0 4px var(--toast-timer-color));animation:toast-timer-drain var(--toast-timer-ms, 5s) linear forwards}.toast.timer-paused .toast-timer rect{animation-play-state:paused}.toast[data-kind=celebration] .toast-timer,.toast[data-kind=achievement] .toast-timer{--toast-timer-color: var(--spin-accent)}.toast[data-tier=rare] .toast-timer{--toast-timer-color: #9fd4ff}.toast[data-tier=epic] .toast-timer{--toast-timer-color: #ffd36e}.toast.leaving .toast-timer{opacity:0}@keyframes toast-timer-drain{to{stroke-dashoffset:-100}}[data-reduced-motion=true] .toast-timer rect{animation-duration:var(--toast-timer-ms, 5s)!important}.app-shell .toast.celebration.leaving[data-tier]{animation:toast-celebration-out .26s ease-in forwards}@keyframes tier-shine{0%{background-position:150% 0}to{background-position:-100% 0}}@keyframes tier-glow-pulse{0%,to{box-shadow:0 26px 80px #00000085,0 0 30px var(--tier-glow)}50%{box-shadow:0 26px 80px #00000085,0 0 70px var(--tier-glow)}}@keyframes tier-pop-in{0%{opacity:0;transform:translate(-50%,-44%) scale(.8)}60%{opacity:1;transform:translate(-50%,-51%) scale(1.04)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes tier-legendary-in{0%{opacity:0;transform:translate(-50%,-40%) scale(.6) rotate(-4deg)}55%{opacity:1;transform:translate(-50%,-52%) scale(1.08) rotate(1deg)}to{transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes tier-holo-spin{to{--toast-holo-angle: 360deg}}@keyframes tier-rainbow-glow{0%,to{box-shadow:0 26px 80px #00000085,0 0 60px #ff8fb88c}33%{box-shadow:0 26px 80px #00000085,0 0 60px #ffd36e8c}66%{box-shadow:0 26px 80px #00000085,0 0 60px #7fe7ff8c}}@media(prefers-reduced-motion:reduce){.app-shell .toast.celebration[data-tier],.app-shell .toast.celebration[data-tier]:before{animation:none}}.new-count-badge{display:inline-grid;min-width:18px;height:18px;place-items:center;border-radius:999px;background:var(--spin-notify);box-shadow:0 0 0 2px var(--spin-bg);color:#fff;padding:0 5px;font-size:.66rem;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1;animation:new-count-pop .42s cubic-bezier(.2,.9,.2,1.4)}.new-count-badge.dot{width:9px;min-width:9px;height:9px;padding:0}@keyframes new-count-pop{0%{transform:scale(.2)}}@media(prefers-reduced-motion:reduce){.new-count-badge{animation:none}}.pro-chip{display:inline-block;margin-left:6px;border-radius:999px;background:linear-gradient(135deg,var(--spin-accent),var(--spin-green));padding:2px 8px;color:var(--spin-on-accent);font-size:.62rem;font-weight:900;letter-spacing:.08em;line-height:1.4;text-transform:uppercase;vertical-align:middle}.app-content>router-outlet+*>.page{animation:spin-page-in .2s cubic-bezier(.2,.8,.2,1) backwards}@keyframes spin-page-in{0%{opacity:0;transform:translateY(8px)}}
