@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");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}:root{--fog: #eef1f6;--fog-deep: #e2e7f0;--paper: #ffffff;--ink: #0e1530;--ink-soft: #3a4366;--slate: #6b7393;--line: #d8deea;--line-strong: #c3cbdc;--cobalt: #2b4bff;--cobalt-deep: #1a33d6;--cobalt-wash: #e6eaff;--tag: #ffd23f;--tag-deep: #f2b705;--tag-ink: #3d2e00;--coral: #ff5a5f;--coral-deep: #d93a40;--coral-wash: #ffe8e9;--mint: #12b886;--mint-wash: #dcf7ee;--bg: var(--fog);--surface: var(--paper);--surface-sunk: #f6f8fb;--text: var(--ink);--text-muted: var(--slate);--focus: 0 0 0 3px var(--paper), 0 0 0 5px var(--cobalt);--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body: "Instrument Sans Variable", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--step--1: .8125rem;--step-0: .9375rem;--step-1: 1.125rem;--step-2: 1.4rem;--step-3: 1.75rem;--step-4: clamp(2rem, 1.4rem + 2.4vw, 2.75rem);--step-5: clamp(2.6rem, 1.6rem + 4vw, 4.25rem);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 22px;--r-pill: 999px;--shadow-1: 0 1px 2px rgb(14 21 48 / 6%), 0 1px 1px rgb(14 21 48 / 4%);--shadow-2: 0 8px 24px -8px rgb(14 21 48 / 18%), 0 2px 6px rgb(14 21 48 / 6%);--shadow-3: 0 30px 60px -20px rgb(14 21 48 / 35%), 0 10px 20px -10px rgb(14 21 48 / 18%);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-1: .12s;--dur-2: .22s;--dur-3: .42s}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);line-height:1.55;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:650;line-height:1.05;letter-spacing:-.025em;text-wrap:balance}p{margin:0;text-wrap:pretty}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--cobalt);text-underline-offset:3px}:focus-visible{outline:none;box-shadow:var(--focus)}::selection{background:var(--tag);color:var(--tag-ink)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.skip-link{position:fixed;left:1rem;top:-3rem;z-index:200;padding:.6rem 1rem;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-weight:600;text-decoration:none;transition:top var(--dur-2) var(--ease-out)}.skip-link:focus{top:1rem}main:focus{outline:none}.logo{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink)}.logo--light{color:#fff}.logo__name{font-family:var(--font-display);font-size:1.3rem;font-weight:700;letter-spacing:-.03em}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--r-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.btn:disabled{cursor:not-allowed}.btn--sm{min-height:34px;padding:0 .75rem;font-size:var(--step--1)}.btn--md{min-height:42px;padding:0 1rem}.btn--lg{min-height:52px;padding:0 1.4rem;font-size:var(--step-1)}.btn--primary{background:var(--cobalt);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 6px 16px -6px #2b4bff99}.btn--primary:hover:not(:disabled){background:var(--cobalt-deep)}.btn--primary:disabled:not([aria-busy]){background:var(--line-strong);box-shadow:none}.btn--ghost{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-1)}.btn--ghost:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-sunk)}.btn--quiet{background:transparent;color:var(--ink-soft)}.btn--quiet:hover:not(:disabled){background:var(--fog-deep);color:var(--ink)}.btn--danger{background:var(--coral);color:#fff;box-shadow:0 6px 16px -6px #ff5a5f99}.btn--danger:hover:not(:disabled){background:var(--coral-deep)}.btn__content{display:inline-flex;align-items:center;gap:.5rem;transition:opacity var(--dur-1)}.btn__content.is-hidden{opacity:0}.btn__spinner,.btn__done{position:absolute;inset:0;margin:auto}.btn__spinner{width:20px;height:20px;border:2.5px solid rgb(255 255 255 / 35%);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.btn--ghost .btn__spinner,.btn--quiet .btn__spinner{border-color:var(--line);border-top-color:var(--cobalt)}.btn__done{display:grid;place-items:center}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:.4rem;min-width:0}.field__label{font-size:var(--step--1);font-weight:600;color:var(--ink-soft)}.field__control{position:relative;display:flex;align-items:center}.field__icon{position:absolute;left:.85rem;display:grid;color:var(--slate);pointer-events:none;transition:color var(--dur-2)}.field__input{width:100%;min-height:48px;padding:0 .95rem;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),background-color var(--dur-2)}.field__icon+.field__input{padding-left:2.6rem}.field__control:has(.field__reveal) .field__input{padding-right:3rem}.field__input::placeholder{color:#9aa1bb}.field__input:hover{border-color:var(--line-strong)}.field__input:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 4px #2b4bff24}.field__control:focus-within .field__icon{color:var(--cobalt)}.field--invalid .field__input{border-color:var(--coral);background:snow}.field--invalid .field__input:focus{box-shadow:0 0 0 4px #ff5a5f29}.field--invalid .field__icon{color:var(--coral)}.field__reveal{position:absolute;right:.35rem;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--slate);cursor:pointer}.field__reveal:hover{background:var(--fog);color:var(--ink)}.field__message{font-size:var(--step--1);color:var(--slate)}.field__message--error{color:var(--coral-deep);font-weight:500}.strength{display:inline-flex;align-items:center;gap:.6rem}.strength__bars{display:inline-grid;grid-template-columns:repeat(4,22px);gap:4px}.strength__bars span{height:5px;border-radius:3px;background:var(--line);transition:background-color var(--dur-3) var(--ease-out)}.strength[data-score="1"] .is-on{background:var(--coral)}.strength[data-score="2"] .is-on{background:var(--tag-deep)}.strength[data-score="3"] .is-on,.strength[data-score="4"] .is-on{background:var(--mint)}.checkbox{position:relative;display:inline-flex;align-items:center;gap:.65rem;font-size:var(--step--1);color:var(--ink-soft);cursor:pointer;user-select:none}.checkbox input{position:absolute;opacity:0;width:1px;height:1px}.checkbox__box{display:grid;place-items:center;width:20px;height:20px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--surface);transition:all var(--dur-2) var(--ease-out)}.checkbox__box:after{content:"";width:10px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform var(--dur-2) var(--ease-spring)}.checkbox input:checked+.checkbox__box{background:var(--cobalt);border-color:var(--cobalt)}.checkbox input:checked+.checkbox__box:after{transform:translateY(-1px) rotate(-45deg) scale(1)}.checkbox input:focus-visible+.checkbox__box{box-shadow:var(--focus)}.auth{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100dvh;background:var(--surface)}.auth__stage{position:relative;display:flex;flex-direction:column;overflow:hidden;margin:12px 0 12px 12px;border-radius:var(--r-lg);background:radial-gradient(120% 70% at 50% 0%,#4a66ff 0%,transparent 60%),linear-gradient(180deg,#2b4bff,#1f38e0);color:#fff;isolation:isolate}.auth__stage:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgb(255 255 255 / 16%) 1.2px,transparent 1.6px);background-size:22px 22px;mask-image:radial-gradient(90% 70% at 50% 45%,#000 30%,transparent 85%)}.auth__stage-top{position:relative;z-index:2;padding:var(--s-6) var(--s-6) 0}.auth__brand{display:inline-flex;border-radius:var(--r-xs);text-decoration:none}.auth__scene{position:relative;z-index:1;flex:1;min-height:0}.shelf-canvas{width:100%!important;height:100%!important;touch-action:pan-y}.auth__scene-fallback{position:absolute;inset:0}.auth__pitch{position:relative;z-index:2;max-width:36rem;padding:0 var(--s-6) var(--s-6)}.auth__pitch h1{font-size:clamp(2.2rem,1.2rem + 2.6vw,3.6rem);font-weight:700;letter-spacing:-.035em;line-height:.98}.auth__pitch p{margin-top:var(--s-4);max-width:30rem;font-size:var(--step-1);color:#ffffffd1}.auth__panel{display:grid;place-items:center;padding:var(--s-7) var(--s-6)}.auth__panel-inner{width:100%;max-width:440px}.auth__switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:var(--s-6);border-radius:var(--r-md);background:var(--fog)}.auth__switch-item{position:relative;display:grid;place-items:center;min-height:40px;border-radius:var(--r-sm);color:var(--slate);font-weight:600;text-decoration:none;transition:color var(--dur-2)}.auth__switch-item.is-active{color:var(--ink)}.auth__switch-item:hover:not(.is-active){color:var(--ink-soft)}.auth__switch-pill{position:absolute;inset:0;border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-2)}.auth__switch-label{position:relative}.auth__header h2{font-size:var(--step-4)}.auth__header p{margin-top:var(--s-2);color:var(--slate)}.auth__form{display:grid;gap:var(--s-4);margin-top:var(--s-6)}.auth__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}.auth__form-error{overflow:hidden;padding:.75rem .9rem;border-radius:var(--r-sm);background:var(--coral-wash);color:var(--coral-deep);font-size:var(--step--1);font-weight:500}.auth__submit{margin-top:var(--s-2);width:100%}.auth__alt{margin-top:var(--s-5);text-align:center;color:var(--slate)}.auth__alt a{font-weight:600}.auth__note{margin-top:var(--s-2);text-align:center;font-size:var(--step--1);color:#9aa1bb}.auth__curtain{position:fixed;inset:0;z-index:100;background:var(--cobalt)}@media(max-width:960px){.auth{grid-template-columns:1fr}.auth__stage{min-height:56vh;margin:10px 10px 0}.auth__stage-top{padding:var(--s-5) var(--s-5) 0}.auth__pitch{padding:0 var(--s-5) var(--s-5)}.auth__pitch h1{font-size:var(--step-4)}.auth__pitch p{display:none}.auth__panel{padding:var(--s-6) var(--s-5) var(--s-7)}}@media(max-width:520px){.auth__stage{min-height:50vh}.auth__row{grid-template-columns:1fr}}.shelf-wrapper{position:absolute;inset:0}.page-loader{display:grid;place-items:center;min-height:100dvh}.page-loader .logo{animation:loader-pulse 1.1s var(--ease-out) infinite alternate}@keyframes loader-pulse{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}.price-tag{display:inline-flex;align-items:flex-start;gap:1px;padding:.22rem .55rem .18rem;border-radius:6px;background:var(--tag);color:var(--tag-ink);box-shadow:inset 0 -2px #00000014,0 1px 2px #3d2e002e;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.price-tag__symbol{margin-top:.12em;margin-right:.18em;font-size:.66em;font-weight:700}.price-tag__whole{font-family:var(--font-display);font-size:1.15em;font-weight:750;letter-spacing:-.02em}.price-tag__cents{margin-top:.06em;font-size:.72em;font-weight:700}.price-tag--lg{padding:.45rem .85rem .35rem;border-radius:10px;font-size:1.6rem}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--slate);cursor:pointer;transition:background-color var(--dur-1),color var(--dur-1)}.icon-btn:hover:not(:disabled){background:var(--fog);color:var(--ink)}.icon-btn--danger:hover:not(:disabled){background:var(--coral-wash);color:var(--coral-deep)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.skeleton{display:inline-block;border-radius:6px;background:linear-gradient(90deg,var(--fog) 0%,var(--fog-deep) 40%,var(--fog) 80%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton--num{width:7rem;height:2rem}.skeleton--bar{width:100%;height:2.6rem}.skeleton--avatar{width:40px;height:40px;border-radius:var(--r-sm)}.skeleton--line{height:14px}.skeleton--tag{width:76px;height:26px;justify-self:end}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.notice{overflow:hidden;padding:.85rem 1rem;border-radius:var(--r-sm);font-size:var(--step--1)}.notice p+*{margin-top:var(--s-3)}.notice--info{margin-bottom:var(--s-4);background:var(--cobalt-wash);color:var(--cobalt-deep)}.notice--warn{display:grid;justify-items:start;background:#fff6d6;color:#6b5200}.notice--error{background:var(--coral-wash);color:var(--coral-deep)}.topbar{position:sticky;top:0;z-index:20;background:#eef1f6d1;backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent}.topbar__inner{display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:0 auto;padding:.85rem var(--s-5)}.account{position:relative}.account__trigger{display:inline-flex;align-items:center;gap:.55rem;padding:.3rem .6rem .3rem .3rem;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);cursor:pointer;font-weight:600;transition:border-color var(--dur-1)}.account__trigger:hover{border-color:var(--line-strong)}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--tag);font-size:.78rem;font-weight:700}.account__chevron{color:var(--slate);transition:transform var(--dur-2) var(--ease-out)}.account__chevron.is-open{transform:rotate(180deg)}.account__menu{position:absolute;right:0;top:calc(100% + 8px);width:260px;padding:6px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-3);transform-origin:top right}.account__card{display:grid;gap:2px;padding:.7rem .75rem .8rem;border-bottom:1px solid var(--line);margin-bottom:6px;font-size:var(--step--1);color:var(--slate)}.account__card strong{font-size:var(--step-0);color:var(--ink)}.account__item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem .75rem;border:0;border-radius:var(--r-sm);background:transparent;cursor:pointer;font-weight:500;text-align:left}.account__item:hover,.account__item:focus-visible{background:var(--fog)}.dash__main{display:grid;gap:var(--s-5);max-width:1120px;margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-8)}.dash__hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);padding-top:var(--s-4)}.dash__greeting{margin-bottom:var(--s-2);color:var(--slate);font-weight:500}.dash__hero h1{font-size:var(--step-5);font-weight:700;letter-spacing:-.04em}.arrival-curtain{position:fixed;inset:0;z-index:100;background:var(--cobalt);pointer-events:none}.stats{display:grid;grid-template-columns:1fr 1fr 1.6fr;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}.stats__item{display:grid;align-content:start;gap:var(--s-2);padding:var(--s-5) var(--s-5)}.stats__item+.stats__item{border-left:1px solid var(--line)}.stats__label{font-size:var(--step--1);font-weight:600;color:var(--slate)}.stats__value{font-family:var(--font-display);font-size:var(--step-4);font-weight:700;letter-spacing:-.03em;line-height:1.1}.stats__empty{color:var(--slate)}.stats__note{grid-column:1 / -1;padding:.6rem var(--s-5);border-top:1px solid var(--line);font-size:var(--step--1);color:var(--slate)}.histogram{display:flex;align-items:flex-end;gap:4px;height:2.6rem}.histogram span{flex:1;border-radius:3px 3px 1px 1px;background:var(--cobalt-wash);transform-origin:bottom}.histogram span.is-peak{background:var(--tag)}.histogram__range{display:flex;justify-content:space-between;font-size:var(--step--1);color:var(--slate)}.catalog{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}.catalog__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5)}.catalog__toolbar h2{font-size:var(--step-3)}.catalog__progress{position:absolute;left:0;right:0;top:0;height:3px;overflow:hidden;opacity:0;transition:opacity var(--dur-2)}.catalog__progress.is-active{opacity:1}.catalog__progress:after{content:"";position:absolute;inset:0;width:40%;background:var(--cobalt);border-radius:3px;animation:progress 1s var(--ease-out) infinite}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(260%)}}.catalog>.notice--info{margin:0 var(--s-5) var(--s-4)}.search{position:relative;display:flex;align-items:center;width:min(360px,100%)}.search__icon{position:absolute;left:.85rem;color:var(--slate);pointer-events:none}.search__input{width:100%;min-height:42px;padding:0 2.6rem;border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--surface-sunk);transition:border-color var(--dur-2),background-color var(--dur-2),box-shadow var(--dur-2)}.search__input::-webkit-search-cancel-button{display:none}.search__input:focus{outline:none;border-color:var(--cobalt);background:var(--surface);box-shadow:0 0 0 4px #2b4bff24}.search__kbd,.search__clear{position:absolute;right:.6rem}.search__kbd{display:grid;place-items:center;min-width:22px;height:22px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--slate);font-family:var(--font-body);font-size:.75rem}.search__clear{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:var(--fog-deep);color:var(--ink-soft);cursor:pointer}.plist__head,.prow{display:grid;grid-template-columns:44px minmax(0,1fr) 140px 88px;align-items:center;column-gap:var(--s-4);padding:0 var(--s-5)}.plist__head{padding-top:.55rem;padding-bottom:.55rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-sunk);font-size:var(--step--1);font-weight:600;color:var(--slate)}.plist__head span:first-child{grid-column:1 / 3}.plist__head span:nth-child(2){text-align:right}.plist{margin:0;padding:0;list-style:none;transition:opacity var(--dur-2)}.plist.is-refreshing{opacity:.6}.prow{position:relative;min-height:68px;border-bottom:1px solid var(--line);background:var(--surface)}.prow:last-child{border-bottom:0}.prow:hover{background:#fafbfd}.prow.is-fresh{animation:fresh 2.4s var(--ease-out)}@keyframes fresh{0%,30%{background:#fff6d6}to{background:var(--surface)}}.prow--skeleton{grid-template-columns:44px minmax(0,1fr) 140px}.prow__pack{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;color:#fff;font-family:var(--font-display);font-weight:700;box-shadow:inset 0 -3px #00000024}.prow__pack[style*="#ffd23f"]{color:var(--tag-ink)}.prow__main{display:grid;min-width:0}.prow__name{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.prow__meta{display:flex;gap:var(--s-3);font-size:var(--step--1);color:var(--slate)}.prow__edited{color:#9aa1bb}.prow__price{justify-self:end}.prow__actions{display:flex;justify-content:flex-end;gap:2px;opacity:.55;transition:opacity var(--dur-2)}.prow:hover .prow__actions,.prow:focus-within .prow__actions{opacity:1}@media(hover:none){.prow__actions{opacity:1}}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line)}.pager__summary{font-size:var(--step--1);color:var(--slate)}.pager__controls{display:flex;align-items:center;gap:4px}.pager__page{min-width:36px;height:36px;border:0;border-radius:var(--r-sm);background:transparent;cursor:pointer;font-weight:600;color:var(--ink-soft)}.pager__page:hover:not(.is-current){background:var(--fog)}.pager__page.is-current{background:var(--ink);color:#fff}.pager__gap{padding:0 4px;color:var(--slate)}.empty{display:grid;justify-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-5);border-top:1px solid var(--line);text-align:center}.empty h3{font-size:var(--step-2)}.empty p{max-width:34ch;margin-bottom:var(--s-3);color:var(--slate)}.empty__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--fog);color:var(--ink-soft)}.empty--error .empty__icon{background:var(--coral-wash);color:var(--coral-deep)}.empty__shelf{position:relative;display:flex;align-items:flex-end;gap:8px;height:64px;padding:0 14px;margin-bottom:var(--s-2);border-bottom:5px solid var(--ink);border-radius:0 0 3px 3px}.empty__shelf span{width:22px;border:2px dashed var(--line-strong);border-bottom:0;border-radius:5px 5px 0 0}.empty__shelf span:nth-child(1){height:38px}.empty__shelf span:nth-child(2){height:26px;border-radius:11px 11px 0 0}.empty__shelf span:nth-child(3){height:50px}.overlay{position:fixed;inset:0;z-index:50;display:flex}.overlay--drawer{justify-content:flex-end}.overlay--dialog{align-items:center;justify-content:center;padding:var(--s-4)}.overlay__backdrop{position:absolute;inset:0;background:#0e15306b;backdrop-filter:blur(3px)}.overlay__panel{position:relative;display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow-3)}.overlay__panel--drawer{width:min(460px,100%);height:100%}.overlay__panel--dialog{width:min(440px,100%);border-radius:var(--r-lg)}.overlay__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-4)}.overlay__header h2{font-size:var(--step-3)}.overlay__panel--dialog .overlay__header h2{font-size:var(--step-2);line-height:1.2;overflow-wrap:anywhere}.overlay__description{margin-top:var(--s-2);color:var(--slate)}.overlay__body{flex:1;overflow-y:auto;padding:0 var(--s-5) var(--s-5)}.overlay__panel--dialog .overlay__body:empty{display:none}.overlay__footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line)}.overlay__panel--dialog .overlay__footer{border-top:0;padding-top:0}.preview{position:relative;display:grid;justify-items:center;gap:var(--s-3);padding:var(--s-6) var(--s-4) var(--s-5);margin-bottom:var(--s-5);border-radius:var(--r-md);background:radial-gradient(rgb(14 21 48 / 7%) 1px,transparent 1.4px) 0 0 / 16px 16px,var(--fog)}.preview__shelf{display:grid;justify-items:center;gap:var(--s-2);width:100%;padding-bottom:6px;border-bottom:6px solid var(--ink)}.preview__pack{display:grid;place-items:center;width:64px;height:84px;border-radius:10px;background:var(--cobalt);color:#fff;font-family:var(--font-display);font-size:2rem;font-weight:700;box-shadow:inset 0 -6px #00000029,var(--shadow-2)}.preview__name{max-width:100%;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.preview__tag{margin-top:-2px}.preview__tag-empty{display:inline-block;padding:.45rem .85rem;border:2px dashed var(--line-strong);border-radius:10px;color:var(--slate);font-size:1.4rem;font-weight:700}.pform{display:grid;gap:var(--s-5)}.pform__currency{font-size:var(--step--1);font-weight:700}.toasts{position:fixed;right:var(--s-5);bottom:var(--s-5);z-index:60;display:grid;gap:var(--s-2);width:min(380px,calc(100vw - 2rem))}.toast{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:start;gap:var(--s-3);overflow:hidden;padding:.85rem .6rem .9rem .9rem;border-radius:var(--r-md);background:var(--ink);color:#fff;box-shadow:var(--shadow-3)}.toast__icon{display:grid;margin-top:1px}.toast--success .toast__icon{color:var(--tag)}.toast--error .toast__icon{color:var(--coral)}.toast__title{font-weight:600}.toast__description{font-size:var(--step--1);color:#ffffffb3;overflow-wrap:anywhere}.toast__action{align-self:center;padding:.35rem .7rem;border:0;border-radius:var(--r-xs);background:#ffffff1f;color:var(--tag);cursor:pointer;font-weight:600}.toast__action:hover{background:#fff3}.toast__close{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--r-xs);background:transparent;color:#fff9;cursor:pointer}.toast__close:hover{color:#fff}.toast__timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#ffffff40;transform-origin:left;animation:timer linear forwards}@keyframes timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.stats__item--wide{grid-column:1 / -1;border-left:0!important;border-top:1px solid var(--line)}}@media(max-width:640px){.dash__main{padding:var(--s-4) var(--s-4) var(--s-8);gap:var(--s-4)}.topbar__inner{padding:.7rem var(--s-4)}.account__name{display:none}.dash__hero{flex-direction:column;align-items:stretch}.dash__hero h1{font-size:var(--step-4)}.stats__item{padding:var(--s-4)}.stats__value{font-size:var(--step-3)}.catalog__toolbar{flex-direction:column;align-items:stretch;padding:var(--s-4)}.search{width:100%}.plist__head{display:none}.prow{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"pack main price" "pack main actions";row-gap:2px;padding:var(--s-3) var(--s-4);border-top:0}.plist{border-top:1px solid var(--line)}.prow__pack{grid-area:pack}.prow__main{grid-area:main}.prow__price{grid-area:price}.prow__actions{grid-area:actions}.pager{flex-direction:column;padding:var(--s-4)}.toasts{right:var(--s-4);left:var(--s-4);bottom:var(--s-4);width:auto}}@media(hover:none){.search__kbd{display:none}}.topbar__palette{display:inline-flex;align-items:center;gap:.6rem;width:min(340px,40vw);min-height:38px;padding:0 .5rem 0 .85rem;margin:0 auto 0 var(--s-6);border:1px solid var(--line);border-radius:var(--r-pill);background:#ffffffb3;color:var(--slate);cursor:pointer;transition:border-color var(--dur-1),background-color var(--dur-1)}.topbar__palette:hover{border-color:var(--line-strong);background:var(--surface)}.topbar__palette span{flex:1;text-align:left}kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 .35rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--slate);font-family:var(--font-body);font-size:.72rem;font-weight:600}.overlay--palette{align-items:flex-start;justify-content:center;padding:12vh var(--s-4) var(--s-4)}.palette{position:relative;display:flex;flex-direction:column;width:min(600px,100%);max-height:70vh;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-3)}.palette__search{display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-5);border-bottom:1px solid var(--line);color:var(--slate)}.palette__search input{flex:1;min-height:60px;border:0;background:transparent;color:var(--ink);font-size:var(--step-1)}.palette__search input:focus{outline:none;box-shadow:none}.palette__spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--cobalt);border-radius:50%;animation:spin .7s linear infinite}.palette__list{flex:1;overflow-y:auto;margin:0;padding:var(--s-2);list-style:none}.palette__group{display:block;padding:.7rem .75rem .35rem;font-size:var(--step--1);font-weight:600;color:var(--slate)}.palette__item{display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:var(--s-3);min-height:48px;padding:0 .75rem;border-radius:var(--r-sm);cursor:pointer}.palette__item.is-active{background:var(--cobalt-wash)}.palette__icon{display:grid;place-items:center;color:var(--ink-soft)}.palette__pack{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:#fff;font-size:.8rem;font-weight:700}.palette__label{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.palette__hint{color:var(--cobalt)}.palette__empty{padding:var(--s-6) var(--s-4);text-align:center;color:var(--slate)}.palette__footer{display:flex;gap:var(--s-5);padding:.65rem var(--s-5);border-top:1px solid var(--line);background:var(--surface-sunk);font-size:var(--step--1);color:var(--slate)}.palette__footer kbd{margin-right:2px}@media(max-width:760px){.topbar__palette span,.topbar__palette kbd{display:none}.topbar__palette{width:40px;padding:0;justify-content:center;margin:0 var(--s-2) 0 auto}.palette__footer{display:none}}
