/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#202328;--muted:#656b75;--line:#e0e2e6;--line-dark:#b9bfc9;--canvas:#f7f8fa;--paper:#fff;--surface:#f0f1f3;--accent:#087fb5;--accent-hover:#066995;--image-surface:#fff;--red:#b32929;--error-bg:#fff1f1;--radius:5px;--shadow:0 4px 18px #1418200f;--header-height:72px;--green:var(--accent);--yellow:var(--accent)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f0f1f3;--muted:#abb0b9;--line:#34373d;--line-dark:#585e68;--canvas:#141517;--paper:#1c1e22;--surface:#26292e;--accent:#159ad0;--accent-hover:#1288ba;--image-surface:#f4f4f4;--red:#faa;--error-bg:#342124;--shadow:0 4px 18px #00000029}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;scrollbar-gutter:stable;min-height:100%;scroll-padding-top:200px}body{background:var(--canvas);min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,input,select,textarea,[tabindex]{outline-offset:3px}:focus-visible{outline:2px solid var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}a{color:var(--accent);text-underline-offset:3px}.icon{vertical-align:middle;flex:none;display:inline-block}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.hidden-input{display:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--paper);border:1px solid var(--line);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.topbar{z-index:30;min-height:var(--header-height);border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:auto auto minmax(180px,1fr) auto;align-items:center;gap:28px;padding:0 max(24px,50vw - 740px);display:grid;position:sticky;top:0}.brand{letter-spacing:-.045em;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:22px;font-weight:780;display:inline-flex}.brand>span:last-child span{color:var(--accent)}.brand-symbol{object-fit:contain;width:40px;height:40px}.topbar nav{align-self:stretch;gap:8px;display:flex}.topbar nav button{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0 10px;font-size:.875rem;font-weight:550;position:relative}.topbar nav button:hover,.topbar nav button.active{color:var(--ink)}.topbar nav button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:10px;right:10px}.nav-count{background:var(--surface);min-width:21px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:3px;margin-left:5px;padding:0 5px;font-size:.75rem;display:inline-block}.catalog-search{border:1px solid var(--line);border-radius:var(--radius);background:var(--canvas);width:100%;max-width:500px;min-height:40px;color:var(--muted);text-align:left;align-items:center;gap:10px;padding:0 13px;font-size:.875rem;display:flex}.catalog-search:hover{border-color:var(--line-dark)}.top-actions,.heading-actions,.settings-actions{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.icon-button:hover{background:var(--surface)}.primary,.secondary,.more-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:.875rem;font-weight:600;line-height:1.25;display:inline-flex}.primary{background:var(--accent);color:#fff;border-color:#0000}.primary:hover:not(:disabled){background:var(--accent-hover)}.secondary:hover:not(:disabled),.more-button:hover:not(:disabled){background:var(--surface);border-color:var(--line-dark)}.primary.small,.secondary.compact{min-height:38px;padding:0 12px}.account-button.signed-in{background:var(--surface);font-weight:650}.mobile-menu-button{display:none}.mobile-menu{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:min(280px,100vw - 28px);box-shadow:var(--shadow);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:20px}.mobile-menu button{text-align:left;background:0 0;border:0;border-radius:3px;justify-content:space-between;align-items:center;min-height:46px;padding:0 12px;font-size:.875rem;display:flex}.mobile-menu button:hover{background:var(--surface)}.mobile-menu button span{color:var(--muted)}.workbench,.sets-page{flex:1 0 auto;width:min(1440px,100% - 48px);margin:0 auto;padding:28px 0 64px}.set-hero{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);grid-template-columns:156px minmax(0,1fr) 285px;align-items:center;gap:24px;padding:20px;display:grid}.set-cover{aspect-ratio:1;background:var(--image-surface);cursor:zoom-in;border:0;border-radius:3px;place-items:center;width:100%;padding:5px;display:grid;overflow:hidden}.set-title-block{min-width:0}.back-link{color:var(--muted);background:0 0;border:0;align-items:center;gap:5px;margin:0 0 12px;padding:0;font-size:.75rem;display:inline-flex}.back-link:hover{color:var(--accent)}.set-kicker,.set-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.set-kicker span:not(:last-child):after,.set-meta span:not(:last-child):after{content:"·";margin-left:6px}.set-title-block h1{letter-spacing:-.04em;text-wrap:balance;margin:7px 0 10px;font-size:clamp(1.45rem,2.3vw,2rem);font-weight:680;line-height:1.15}.set-title-block>p{color:var(--muted);margin:0;font-size:.75rem}.progress-summary{flex-direction:column;align-items:stretch;gap:12px;padding:10px 0;display:flex}.progress-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.progress-head strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:650}.progress-head span,.progress-numbers{color:var(--muted);font-size:.75rem}.progress-summary .card-progress-line{height:5px}.progress-numbers strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.875rem}.progress-actions{grid-template-columns:1fr;gap:6px;display:grid}.progress-actions .secondary{width:100%;min-height:36px;font-size:.75rem}.inventory-toolbar{z-index:20;top:var(--header-height);border-bottom:1px solid var(--line);background:var(--canvas);margin-top:20px;padding:12px 0;position:sticky}.toolbar-primary,.toolbar-secondary{align-items:center;gap:12px;display:flex}.toolbar-secondary{margin-top:10px}.filter-tabs,.view-switch,.mode-switch,.theme-switch{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);align-items:stretch;gap:2px;padding:3px;display:inline-flex}.filter-tabs button,.view-switch button,.mode-switch button,.theme-switch button{min-height:34px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:.875rem;font-weight:550;display:inline-flex}.filter-tabs button:hover,.view-switch button:hover,.mode-switch button:hover,.theme-switch button:hover{background:var(--surface)}.filter-tabs button.active,.view-switch button.active,.mode-switch button.active,.theme-switch button.active{background:var(--surface);color:var(--ink);font-weight:650}.filter-tabs button span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.view-switch{flex:none;margin-left:auto}.view-switch button{min-width:34px;padding:0}.parts-search{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:170px;min-height:42px;color:var(--muted);flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.parts-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}.parts-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.875rem}.parts-search button{background:0 0;border:0;place-items:center;padding:2px;display:grid}.inventory-select{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);align-items:center;gap:8px;min-width:0;min-height:36px;padding-left:10px;display:flex}.inventory-select>span{color:var(--muted);white-space:nowrap;font-size:.75rem}.inventory-select select{border-radius:var(--radius);background:var(--paper);min-width:0;max-width:200px;height:36px;color:var(--ink);cursor:pointer;border:0;padding:0 26px 0 0;font-size:.75rem}.inventory-sort{align-items:stretch;gap:6px;display:flex}.sort-direction-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.75rem;display:inline-flex}.sort-direction-button:hover{background:var(--surface)}.toolbar-note{color:var(--muted);margin-left:auto;font-size:.75rem}.inventory-section{margin-top:28px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-heading>div:first-child{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:1.125rem;font-weight:650}.section-heading span,.section-heading>p{color:var(--muted);margin:0;font-size:.75rem}.part-groups{gap:22px;display:grid}.part-group-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;padding:9px 0;display:flex}.part-group-heading strong{font-size:.875rem;font-weight:600}.part-group-heading span{color:var(--muted);font-size:.75rem}.parts-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.part-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);cursor:pointer;min-width:0;transition:border-color .13s,box-shadow .13s;position:relative;overflow:hidden}.part-card.grid{flex-direction:column;padding:10px;display:flex}.part-card:hover{border-color:var(--line-dark);box-shadow:var(--shadow)}.part-image{aspect-ratio:1;background:var(--image-surface);border-radius:3px;flex:none;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.part-image .zoomable-image{padding:4px}.image-check{z-index:5;border:1px solid var(--line-dark);background:var(--paper);width:28px;height:28px;color:var(--ink);border-radius:4px;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.image-check:hover{border-color:var(--ink)}.is-found .image-check{background:var(--ink);border-color:var(--ink);color:var(--paper)}.part-card.is-found,.minifig-card.is-found{background:var(--surface)}.part-card.is-found .part-image img,.part-card.is-found .part-copy,.minifig-card.is-found .minifig-image{opacity:.45}.part-card.is-found:hover .part-image img,.part-card.is-found:hover .part-copy,.minifig-card.is-found:hover .minifig-image{opacity:.75}.part-copy{min-width:0;padding:12px 0 14px}.part-id-line{align-items:center;gap:6px;min-height:18px;display:flex}.color-dot{border:1px solid #0003;border-radius:2px;flex:none;width:9px;height:9px}.part-number{color:var(--muted);font-family:var(--font-geist-mono), Consolas, monospace;font-size:.75rem}.found-label{color:var(--muted);margin-left:auto;font-size:.75rem;display:none}.is-found .found-label{display:inline}.part-copy h3,.minifig-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 7px;font-size:.875rem;font-weight:550;line-height:1.4;display:-webkit-box;overflow:hidden}.part-card.grid .part-copy h3{min-height:2.8em}.part-copy p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;overflow:hidden}.quantity-control{min-width:0;margin-top:auto}.counter{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);grid-template-columns:36px minmax(0,1fr) 36px;align-items:stretch;min-height:40px;display:grid;overflow:hidden}.counter button{background:0 0;border:0;place-items:center;min-width:0;min-height:40px;padding:0;display:grid}.counter>button:first-child{border-right:1px solid var(--line)}.counter>button:last-child{border-left:1px solid var(--line)}.counter button:hover:not(:disabled){background:var(--surface)}.counter .quantity-total{cursor:text}.counter strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:650}.counter strong span{color:var(--muted);font-size:.875rem;font-weight:400}.quantity-input{background:var(--surface);text-align:center;font-variant-numeric:tabular-nums;border:0;outline:0;width:100%;min-width:0;padding:0 4px;font-size:1rem;font-weight:650}.quantity-control.is-editing .counter{border-color:var(--accent)}.quantity-hint{color:var(--muted);margin-top:5px;font-size:.75rem;display:block}.quantity-hint.invalid{color:var(--red)}.spare-badge,.complete-badge{z-index:3;border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:3px;padding:3px 7px;font-size:.75rem;font-weight:550;position:absolute}.spare-badge{bottom:5px;left:5px}.complete-badge{top:12px;left:12px}.parts-list{gap:8px;display:grid}.part-card.list{grid-template-columns:88px minmax(0,1fr) 170px;align-items:center;gap:18px;min-height:104px;padding:8px 14px 8px 8px;display:grid}.part-card.list .part-image{width:88px}.part-card.list .part-copy{padding:0 30px 0 0}.part-card.list .quantity-control{margin-top:0}.part-card.list .image-check{top:12px;right:205px}.minifig-section,.spare-section{margin-top:36px}.section-heading.minifig-heading{border-radius:var(--radius);background:var(--accent);color:#fff;align-items:center;padding:18px 20px}.section-heading.minifig-heading>div:first-child{display:block}.minifig-heading h2{color:#fff}.minifig-heading p{color:#ffffffe0;margin:4px 0 0;font-size:.75rem}.section-heading.minifig-heading .section-chip{display:none}.minifig-heading .mode-switch{background:#fff;border-color:#0000}.minifig-heading .mode-switch button{color:#555}.minifig-heading .mode-switch button.active{color:#202328;background:#ededed}.section-chip{background:var(--surface);color:var(--muted);border-radius:3px;padding:3px 7px;font-size:.75rem}.minifig-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;display:grid}.minifig-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);cursor:pointer;grid-template-rows:1fr auto;grid-template-columns:100px minmax(0,1fr);gap:8px 14px;padding:12px;display:grid;position:relative}.minifig-card:hover{border-color:var(--line-dark)}.minifig-image{aspect-ratio:1;background:var(--image-surface);border-radius:3px;grid-row:1/3;align-self:center;place-items:center;width:100px;padding:5px;display:grid;overflow:hidden}.minifig-card>div:nth-child(3){min-width:0;padding-right:28px}.fig-parts-groups{gap:26px;display:grid}.fig-group-label{align-items:center;gap:12px;margin-bottom:12px;display:flex}.fig-group-label>.zoomable-image{background:var(--image-surface);border-radius:var(--radius);width:48px;height:48px}.fig-group-label>div{flex-direction:column;gap:2px;display:flex}.fig-group-label span{color:var(--muted);font-size:.75rem}.fig-group-label strong{font-size:.875rem;font-weight:550}.empty-state,.no-set{border:1px dashed var(--line-dark);border-radius:var(--radius);background:var(--paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:230px;padding:28px;display:flex}.empty-state p,.no-set p{color:var(--muted);margin:0;font-size:.875rem}.no-set{flex:1;width:min(750px,100% - 32px);margin:40px auto}.no-set h1{margin:0;font-size:1.75rem}.page-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:10px 0 20px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:.75rem;font-weight:600}.page-heading h1{letter-spacing:-.045em;margin:0;font-size:2rem;font-weight:650}.page-heading>div>p:last-child{color:var(--muted);margin:5px 0 0;font-size:.875rem}.collection-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 24px;margin-bottom:20px;font-size:.875rem;display:flex}.collection-summary strong{color:var(--ink);margin-right:5px;font-weight:650}.collection-summary .save-status{margin-left:auto}.save-status{color:var(--muted);align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.save-status.error{color:var(--red)}.sets-view-switch{margin-left:0}.sets-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px;display:grid}.set-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-direction:column;min-width:0;display:flex;overflow:hidden}.set-card:hover{border-color:var(--line-dark);box-shadow:var(--shadow)}.set-card-main{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:0}.set-card-image{aspect-ratio:1;background:var(--image-surface);place-items:center;width:100%;padding:18px;display:grid;position:relative;overflow:hidden}.set-card-copy{padding:16px}.set-card-copy h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;margin:7px 0 16px;font-size:1rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.card-progress-line{background:var(--surface);border-radius:2px;height:4px;overflow:hidden}.card-progress-line span{background:var(--accent);height:100%;transition:width .16s;display:block}.card-progress-copy{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:6px;margin-top:8px;display:flex}.card-progress-copy strong{font-size:.875rem;font-weight:600}.card-progress-copy span{color:var(--muted);font-size:.75rem}.set-card-footer{border-top:1px solid var(--line);min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:5px 8px 5px 16px;font-size:.75rem;display:flex}.set-card-footer>div{gap:4px;display:flex}.set-card-footer button{background:0 0;border:0;border-radius:3px;place-items:center;width:34px;height:34px;display:grid}.set-card-footer button:hover{background:var(--surface);color:var(--ink)}.new-set-card{border:1px dashed var(--line-dark);border-radius:var(--radius);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:310px;padding:28px;display:flex}.new-set-card:hover{background:var(--paper)}.new-plus{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:42px;height:42px;color:var(--muted);place-items:center;margin-bottom:5px;display:inline-grid}.new-set-card strong{font-size:.875rem;font-weight:600}.new-set-card small{color:var(--muted);font-size:.75rem}.sets-grid.is-empty{grid-template-columns:1fr}.sets-grid.is-empty .new-set-card{background:var(--paper);min-height:330px}.sets-grid.list{grid-template-columns:1fr;gap:10px}.sets-grid.list .new-set-card{flex-direction:row;gap:12px;min-height:78px}.sets-grid.list .new-plus{margin:0}.sets-grid.list .set-card{grid-template-columns:minmax(0,1fr) 148px;display:grid}.sets-grid.list .set-card-main{grid-template-columns:120px minmax(0,1fr);align-items:center;display:grid}.sets-grid.list .set-card-image{width:120px}.sets-grid.list .set-card-copy{grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:6px 24px;display:grid}.sets-grid.list .set-meta,.sets-grid.list .set-card-copy h2{grid-column:1}.sets-grid.list .set-card-copy h2{min-height:0;margin:0}.sets-grid.list .card-progress-line{grid-area:1/2}.sets-grid.list .card-progress-copy{grid-area:2/2;margin:0}.sets-grid.list .set-card-footer{border:0;flex-direction:column;justify-content:center;padding:12px}.modal-backdrop{z-index:100;overscroll-behavior:contain;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c118c;place-items:start center;padding:min(6vh,48px) 20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-backdrop.top-layer{z-index:110}.search-modal,.settings-modal,.bricklink-modal,.moc-modal,.account-modal,.gallery-modal{border:1px solid var(--line);background:var(--paper);border-radius:8px;width:min(800px,100%);min-width:0;padding:28px;position:relative;box-shadow:0 24px 80px #0003}.search-modal{width:min(980px,100%)}.search-modal.has-results{width:min(1200px,100%)}.modal-close{z-index:10;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--surface)}.search-modal h2,.settings-modal h2,.bricklink-modal h2,.moc-modal h2,.account-modal h2{letter-spacing:-.035em;margin:0;padding-right:30px;font-size:1.6rem;font-weight:650;line-height:1.25}.search-modal>p:not(.eyebrow),.settings-modal>p:not(.eyebrow),.moc-modal-intro,.bricklink-copy-summary{color:var(--muted);font-size:.875rem;line-height:1.55}.big-search{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--paper);align-items:center;gap:12px;margin-top:22px;padding:5px 5px 5px 14px;display:flex}.big-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}.big-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:40px;padding:0;font-size:1rem}.big-search>button{background:var(--accent);color:#fff;border:0;border-radius:3px;min-height:40px;padding:0 18px;font-size:.875rem;font-weight:600}.search-controls{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-top:16px;padding-bottom:8px;display:flex}.search-kind-tabs{gap:3px;max-width:100%;display:flex;overflow-x:auto}.search-kind-tabs button{min-height:38px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:0 11px;font-size:.875rem}.search-kind-tabs button:hover,.search-kind-tabs button.active{background:var(--surface);color:var(--ink)}.search-kind-tabs button.active{font-weight:600}.search-sort{color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.search-sort select{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);max-width:220px;height:36px;color:var(--ink);padding:0 28px 0 10px}.search-modal .search-filter-note{color:var(--muted);margin:10px 0;font-size:.75rem}.search-results-heading{justify-content:space-between;align-items:center;gap:16px;margin:18px 0 12px;font-size:.875rem;display:flex}.search-results-heading strong{font-weight:600}.search-results-heading span{color:var(--muted);font-size:.75rem}.search-results{overscroll-behavior:contain;scrollbar-gutter:stable;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px;max-height:min(57dvh,650px);padding:1px 6px 4px 1px;display:grid;overflow-y:auto}.search-results article{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:12px;min-width:0;padding:10px;display:flex}.search-results article:hover{border-color:var(--line-dark)}.search-result-image{aspect-ratio:1;background:var(--image-surface);cursor:zoom-in;border:0;place-items:center;width:100%;padding:6px;display:grid;overflow:hidden}.search-results article section{flex:1;min-width:0}.search-results article section>span{color:var(--muted);font-size:.75rem}.search-results article h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;margin:5px 0 8px;font-size:.875rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.search-results article p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.45}.search-results article .primary{width:100%;font-size:.875rem}.search-load-more{justify-content:center;margin-top:16px;display:flex}.search-status{min-height:140px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.875rem;display:flex}.search-status:before{content:"";border:2px solid var(--line);border-top-color:var(--muted);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.inline-error,.storage-warning{border:1px solid var(--line);border-radius:var(--radius);background:var(--error-bg);color:var(--red);margin-top:14px;padding:12px 14px;font-size:.875rem}.storage-warning{margin:16px 24px 0}.source-callout,.moc-detected-card,.moc-help-card,.moc-inventory-drop{border:1px solid var(--line);border-radius:var(--radius);background:var(--canvas);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:18px;padding:16px;display:grid}.source-callout>div,.settings-icon,.account-mark,.moc-detected-mark,.moc-help-card>div,.moc-file-mark{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:42px;height:42px;color:var(--ink);place-items:center;font-size:.875rem;font-weight:650;display:grid}.source-callout p,.moc-help-card p,.moc-detected-card>div:nth-child(2),.moc-inventory-drop>div:nth-of-type(2){flex-direction:column;gap:3px;min-width:0;margin:0;display:flex}.source-callout strong,.moc-help-card strong,.moc-detected-card strong,.moc-inventory-drop strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.source-callout small,.moc-help-card small,.moc-detected-card small,.moc-detected-card span,.moc-inventory-drop span{color:var(--muted);font-size:.75rem}.source-callout button,.moc-help-card>button{color:var(--accent);background:0 0;border:0;padding:8px 0;font-size:.875rem;font-weight:600}.moc-modal{width:min(780px,100%)}.moc-form-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;display:grid}.moc-reference-field{grid-column:1/-1}.moc-field,.account-form label,.settings-modal label{flex-direction:column;gap:7px;min-width:0;display:flex}.moc-field>span,.account-form label>span,.settings-modal label>span{font-size:.875rem;font-weight:550}.moc-field small{color:var(--muted);font-size:.75rem;font-weight:400}.moc-field input,.account-form input,.settings-modal label input{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--paper);width:100%;min-height:44px;padding:0 12px;font-size:1rem}.moc-inventory-drop{border-style:dashed}.moc-inventory-drop.has-file{border-style:solid}.moc-paste-details{margin-top:10px}.moc-paste-details summary{color:var(--muted);cursor:pointer;padding:10px 0;font-size:.875rem}.moc-paste-details textarea,.bricklink-xml-output{resize:vertical;border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--canvas);width:100%;min-height:130px;font-family:var(--font-geist-mono), Consolas, monospace;padding:14px;font-size:.75rem;line-height:1.6;display:block}.moc-actions,.bricklink-copy-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.moc-actions a,.bricklink-copy-actions a{font-size:.875rem}.moc-actions .primary{margin-left:auto}.bricklink-modal{width:min(850px,100%)}.bricklink-xml-output{white-space:pre;min-height:min(48dvh,440px)}.bricklink-copy-actions p{max-width:390px;color:var(--muted);margin:0;font-size:.875rem}.bricklink-copy-actions>div{align-items:center;gap:16px;display:flex}.settings-modal{width:min(560px,100%)}.settings-icon,.account-mark{margin-bottom:18px}.settings-modal label{margin-top:24px}.settings-modal .privacy-note{margin:8px 0 20px;font-size:.75rem}.theme-setting{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin:16px 0 20px;padding:16px 0;display:flex}.theme-setting>div:first-child{flex-direction:column;gap:4px;display:flex}.theme-setting strong{font-size:.875rem;font-weight:550}.theme-setting span{color:var(--muted);font-size:.75rem}.settings-actions{justify-content:space-between}.settings-actions a{font-size:.875rem}.account-modal{width:min(460px,100%)}.account-form>p,.account-signed-in>p{color:var(--muted);margin:10px 0 20px;font-size:.875rem}.account-form label{margin-top:16px}.account-form>small,.account-signed-in>small{color:var(--muted);margin-top:10px;font-size:.75rem;line-height:1.5;display:block}.account-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.account-setup-note{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;margin-top:20px;padding:16px;font-size:.875rem;display:flex}.account-setup-note span{color:var(--muted)}.sync-state{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding:12px;font-size:.875rem;display:flex}.sync-state>span{background:var(--muted);border-radius:50%;width:7px;height:7px}.sync-state.error>span{background:var(--red)}.sync-state.loading>span,.sync-state.syncing>span{animation:.9s ease-in-out infinite alternate pulse}@keyframes pulse{50%{opacity:.5}}.zoomable-image{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.zoomable-image>img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.image-fallback{color:#6b6b6b;text-align:center;background:#f3f3f3;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.image-fallback .icon{width:24px;height:24px}.image-fallback small{font-size:.75rem}.image-preview{z-index:500;left:var(--preview-left);top:var(--preview-top);width:var(--preview-size);height:var(--preview-size);pointer-events:none;background:#fff;border:1px solid #dadada;border-radius:6px;place-items:center;padding:16px;display:grid;position:fixed;overflow:hidden;box-shadow:0 16px 48px #0003}@supports (left:anchor(right)){.image-preview[data-side=right]{left:clamp(12px, calc(anchor(right) + 12px), calc(100vw - var(--preview-size) - 12px))}.image-preview[data-side=left]{left:clamp(12px, calc(anchor(left) - var(--preview-size) - 12px), calc(100vw - var(--preview-size) - 12px))}.image-preview[data-side=top]{top:clamp(12px, calc(anchor(top) - var(--preview-size) - 12px), calc(100vh - var(--preview-size) - 12px))}.image-preview[data-side=bottom]{top:clamp(12px, calc(anchor(bottom) + 12px), calc(100vh - var(--preview-size) - 12px))}}.image-preview img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.gallery-modal{width:min(940px,100%);padding:20px}.gallery-stage{border-radius:var(--radius);background:var(--image-surface);place-items:center;width:100%;height:min(65dvh,650px);padding:18px;display:grid;position:relative;overflow:hidden}.gallery-stage>img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.gallery-arrow{border-radius:var(--radius);color:#222;background:#fff;border:1px solid #d8d8d8;place-items:center;width:40px;height:44px;font-size:24px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow.previous{left:12px}.gallery-arrow.next{right:12px}.gallery-footer{justify-content:space-between;align-items:center;gap:20px;padding-top:16px;display:flex}.gallery-footer>div{flex-direction:column;gap:4px;min-width:0;display:flex}.gallery-footer strong{font-size:.875rem;font-weight:600}.gallery-footer span{color:var(--muted);font-size:.75rem}.gallery-footer a{white-space:nowrap;font-size:.875rem}.gallery-thumbnails{gap:8px;margin-top:16px;display:flex;overflow-x:auto}.gallery-thumbnails button{border:1px solid var(--line);background:var(--image-surface);border-radius:3px;flex:none;width:64px;height:64px;padding:4px}.gallery-thumbnails button.active{border-color:var(--accent)}.gallery-thumbnails img{object-fit:contain;width:100%;height:100%}.toast{z-index:200;border:1px solid var(--line);background:var(--paper);max-width:min(520px,100vw - 32px);color:var(--ink);border-radius:6px;align-items:center;gap:10px;padding:13px 16px;font-size:.875rem;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 30px #00000026}.toast>span{color:var(--muted)}.toast button{color:var(--muted);background:0 0;border:0;padding:2px}.loading-screen{background:var(--canvas);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100dvh;display:flex}.loading-logo{width:64px;height:64px}.loading-screen strong{letter-spacing:-.025em;font-size:1.25rem}.loading-screen>span{color:var(--muted);font-size:.875rem}footer{border-top:1px solid var(--line);min-height:76px;color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:28px;margin-top:auto;padding:18px 24px;font-size:.75rem;display:grid}footer>span{color:var(--ink);font-size:.875rem;font-weight:650}footer p{text-align:center;max-width:740px;margin:0 auto}footer a{color:var(--muted);white-space:nowrap}@media (width<=1200px){.topbar{grid-template-columns:auto minmax(160px,1fr) auto;gap:20px}.topbar nav{display:none}.mobile-menu-button{display:inline-grid}.set-hero{grid-template-columns:130px minmax(0,1fr) 245px;gap:18px}.toolbar-note{display:none}}@media (width<=900px){.set-hero{grid-template-columns:130px minmax(0,1fr)}.progress-summary{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px 24px;padding:16px 0 0;display:grid}.progress-head,.progress-summary>.card-progress-line,.progress-numbers{grid-column:1}.progress-actions{grid-area:1/2/4;align-self:center}.toolbar-primary{flex-wrap:wrap}.filter-tabs{flex:auto}.filter-tabs button{flex:1}.parts-search{flex-basis:100%;order:3}.sets-grid.list .set-card-copy{grid-template-columns:1fr}.sets-grid.list .card-progress-line,.sets-grid.list .card-progress-copy{grid-area:auto/1}}@media (width<=640px){:root{--header-height:64px}.topbar{grid-template-columns:1fr auto;gap:12px;padding:0 16px}.catalog-search,.top-actions>.icon-button:not(.mobile-menu-button){display:none}.brand{font-size:21px}.brand-symbol{width:34px;height:34px}.new-check-button{width:40px;padding:0!important}.new-check-label{display:none}.mobile-menu{right:16px}.workbench,.sets-page{width:calc(100% - 28px);padding-top:18px}.set-hero{grid-template-columns:90px minmax(0,1fr);gap:14px;padding:14px}.set-kicker span:last-child{display:none}.set-title-block h1{margin:5px 0 0;font-size:1.25rem}.set-title-block>p{display:none}.back-link{margin-bottom:6px}.progress-summary{gap:6px 14px}.progress-head strong{font-size:1.35rem}.progress-actions .secondary{padding:0 7px}.inventory-toolbar{margin-top:14px;position:static}.toolbar-primary,.toolbar-secondary{gap:8px}.filter-tabs{flex-basis:calc(100% - 92px);min-width:0}.filter-tabs button{gap:3px;min-width:0;min-height:36px;padding:0 6px;font-size:.75rem}.filter-tabs button span{font-size:.75rem}.toolbar-secondary{flex-wrap:wrap}.inventory-sort{flex:100%}.inventory-sort .inventory-select,.inventory-select{flex:1}.inventory-select select{flex:1;max-width:none}.sort-direction-button{min-width:112px}.parts-search input{font-size:1rem}.parts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.part-card.grid{padding:8px}.part-copy h3{font-size:.875rem}.part-copy{padding:10px 0 12px}.counter{grid-template-columns:32px minmax(0,1fr) 32px}.counter button{min-height:42px}.image-check{top:8px;right:8px}.found-label{font-size:.75rem}.part-card.list{grid-template-columns:72px minmax(0,1fr);gap:8px 12px;padding:10px}.part-card.list .part-image{grid-row:1/3;width:72px}.part-card.list .quantity-control{grid-column:2;width:100%;max-width:200px}.part-card.list .image-check{top:10px;right:10px}.part-card.list .part-copy{padding-right:25px}.section-heading>p{display:none}.minifig-grid{grid-template-columns:1fr}.section-heading.minifig-heading{flex-direction:column;align-items:flex-start;gap:14px;padding:16px}.minifig-heading .mode-switch{width:100%}.minifig-heading .mode-switch button{flex:1}.page-heading{flex-direction:column;align-items:flex-start;gap:16px;padding-top:0}.page-heading h1{font-size:1.75rem}.heading-actions{width:100%}.heading-actions .sets-view-switch{margin-right:auto}.heading-actions .primary,.heading-actions .secondary{padding:0 10px;font-size:.875rem}.collection-summary{gap:8px 16px}.collection-summary .save-status{flex-basis:100%;margin-left:0}.sets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.set-card-image{padding:10px}.set-card-copy{padding:12px}.set-card-copy h2{font-size:.875rem}.card-progress-copy{flex-direction:column;align-items:flex-start}.set-card-footer{flex-wrap:wrap;padding-left:12px}.new-set-card{min-height:280px;padding:16px}.sets-grid.list .set-card{grid-template-columns:minmax(0,1fr)}.sets-grid.list .set-card-main{grid-template-columns:100px minmax(0,1fr)}.sets-grid.list .set-card-image{width:100px}.sets-grid.list .set-card-footer{border-top:1px solid var(--line);flex-direction:row;justify-content:space-between}.sets-grid.list .card-progress-copy{flex-direction:row}.sets-grid.list .new-set-card small{display:none}.modal-backdrop{padding:12px 10px}.search-modal,.settings-modal,.bricklink-modal,.moc-modal,.account-modal,.gallery-modal{border-radius:6px;padding:22px 16px}.search-modal h2,.settings-modal h2,.bricklink-modal h2,.moc-modal h2,.account-modal h2{font-size:1.4rem}.big-search{gap:8px;padding-left:10px}.big-search>button{max-width:110px;padding:0 10px}.search-controls{flex-direction:column;align-items:stretch}.search-kind-tabs button{padding:0 10px;font-size:.875rem}.search-sort{align-self:flex-end}.search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:52dvh}.search-results article{gap:10px;padding:8px}.search-results article .primary{min-height:40px;padding:0 6px;font-size:.75rem}.search-filter-note{display:none}.moc-form-grid{grid-template-columns:1fr}.moc-reference-field{grid-column:1}.source-callout,.moc-detected-card,.moc-help-card,.moc-inventory-drop{grid-template-columns:auto minmax(0,1fr);padding:12px}.source-callout>button,.moc-detected-card>button,.moc-help-card>button,.moc-inventory-drop>button{grid-column:2;justify-self:start}.bricklink-copy-actions,.moc-actions{flex-direction:column;align-items:stretch}.bricklink-copy-actions>div{justify-content:space-between}.moc-actions .primary{margin-left:0}.theme-setting{flex-wrap:wrap;gap:12px}.gallery-footer{flex-direction:column;align-items:flex-start;gap:12px}.gallery-stage{height:55dvh;padding:8px}footer{grid-template-columns:1fr auto;padding:18px 16px}footer p{text-align:left;grid-area:2/1/auto/-1}}@media (width<=380px){.sets-grid{grid-template-columns:1fr}.filter-tabs button span{display:none}.progress-summary{display:flex}.progress-actions{grid-template-columns:1fr 1fr;display:grid}.counter{grid-template-columns:28px minmax(0,1fr) 28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
