.btn{display: inline-flex;align-items: center;justify-content: center;gap: 10px;height: 46px;padding: 0 26px;border-radius: var(--radius-s);font-size: 14.5px;font-weight: 600;letter-spacing: 0.01em;border: 1px solid transparent;transition: transform var(--dur-1) var(--ease-spring),background var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}.btn:active{transform: none}.btn--primary{background: var(--btn-bg);color: var(--btn-ink);box-shadow: 0 1px 2px rgba(0,0,0,0.18)}.btn--primary:hover{background: var(--btn-bg-hover)}.btn--primary:disabled{background: var(--bg3);color: var(--text-faint);box-shadow: none;cursor: not-allowed}.btn__arr{display: inline-block;transition: transform var(--dur-1) var(--ease-out)}.btn:hover .btn__arr{transform: translateX(4px)}.btn--ghost{border-color: var(--line-strong);color: var(--text);background: transparent}.btn--ghost:hover{background: var(--bg2);border-color: var(--text-faint)}.btn--quiet{color: var(--text-dim);height: 40px;padding: 0 16px}.btn--quiet:hover{color: var(--text);background: var(--bg2)}.btn--danger{border-color: color-mix(in srgb,var(--err) 45%,transparent);color: var(--err)}.btn--danger:hover{background: color-mix(in srgb,var(--err) 12%,transparent)}.btn--wide{width: 100%}.btn--lg{height: 52px;padding: 0 32px;font-size: 15.5px}.btn .spinner{display: none}.btn.is-busy .spinner{display: block}.btn.is-busy .btn__label{opacity: 0.55}.spinner{width: 16px;height: 16px;border: 2px solid rgba(16,18,20,0.25);border-top-color: currentColor;border-radius: 50%;animation: spin 0.8s linear infinite}.btn--ghost .spinner{border-color: rgba(233,236,239,0.2);border-top-color: var(--text)}@keyframes spin{to{transform: rotate(360deg)}}.chip{display: inline-flex;align-items: center;gap: 7px;flex: 0 0 auto;white-space: nowrap;height: 32px;padding: 0 14px;border: 1px solid var(--line-strong);border-radius: 999px;font-size: 13px;color: var(--text-dim);transition: color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out),opacity var(--dur-1) var(--ease-out)}.chip:hover{color: var(--text);border-color: var(--text-faint)}.chip.is-on{color: var(--accent-strong);border-color: var(--accent);background: var(--accent-dim)}.chip--x svg{width: 11px;height: 11px;stroke: currentColor}.price{display: inline-flex;align-items: baseline;gap: 7px}.price__value{font-size: 17px;font-weight: 650;letter-spacing: -0.01em}.price__unit{font-size: 12px;color: var(--text-faint)}.stock{display: inline-flex;align-items: center;gap: 7px;font-size: 13px}.stock .icon{width: 13px;height: 13px}.stock--in{color: var(--ok)}.stock--muted{color: var(--text-faint)}.stock--low{color: var(--warn)}.stock--out{color: var(--err)}.stock__note{color: var(--text-faint)}.card{display: flex;flex-direction: column;background: var(--bg1);border: 1px solid var(--line);border-radius: var(--radius-m);overflow: hidden;transition: transform var(--dur-2) var(--ease-spring),border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.card:hover{transform: translateY(-4px);border-color: var(--line-strong);box-shadow: 0 24px 60px rgba(0,0,0,0.35)}.card__media{position: relative;aspect-ratio: 1 / 1;background: var(--media-glow),var(--media-bg);display: grid;place-items: center;overflow: hidden}.card__media .art{max-width: 62%;max-height: 86%;width: auto;height: auto;transition: transform var(--dur-3) var(--ease-spring)}.card:hover .card__media .art{transform: none}.card__media .product-img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: contain}.card__body{display: flex;flex-direction: column;gap: 8px;padding: 20px 22px 22px;flex: 1}.card__kind{font-family: var(--font-mono);font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-faint);margin: 0}.card__name{font-size: 20px;margin: 0;letter-spacing: 0.02em}.card__name a:hover{color: var(--accent-strong)}.card__diff{color: var(--text-dim);font-size: 14px;margin: 0;flex: 1}.card__meta{display: flex;justify-content: space-between;align-items: center;gap: 12px;flex-wrap: wrap;margin-top: 6px}.card__foot{display: flex;justify-content: space-between;align-items: flex-end;gap: 12px;margin-top: 6px}.finish-dots{display: inline-flex;gap: 6px}.finish-dot{width: 16px;height: 16px;border-radius: 50%;border: 1px solid var(--line-strong);box-shadow: inset 0 1px 2px rgba(0,0,0,.35)}.finish-dot--btn{cursor: pointer;padding: 0;transition: transform var(--dur-1) var(--ease-spring),box-shadow var(--dur-1) var(--ease-out)}.finish-dot--btn:hover{transform: none}.finish-dot--btn.is-active{box-shadow: 0 0 0 2px var(--bg1),0 0 0 3.5px var(--accent)}.finish-dot--out{opacity: 0.35;position: relative}.finish-dot--out::after{content: '';position: absolute;left: -2px;right: -2px;top: 50%;border-top: 1px solid var(--text-faint);transform: rotate(-45deg)}.art-frame{margin: 0;position: relative;width: 100%;height: 100%;display: grid;place-items: center}.product-img{display: block;object-fit: cover}.mini-card__art,.cart-line__art,.slot-card__art,.pick-card__art,.compare__prod-art{overflow: hidden;border-radius: 6px}.mini-card__art .product-img,.cart-line__art .product-img,.slot-card__art .product-img,.pick-card__art .product-img,.compare__prod-art .product-img{width: 100%;height: 100%}.cart-line__art,.slot-card__art,.pick-card__art{aspect-ratio: 1}.compare__prod-art{aspect-ratio: 1}.art-frame .art{width: 58%}.art-frame__cap{position: absolute;bottom: 10px;left: 50%;transform: translateX(-50%);font-family: var(--font-mono);font-size: 10px;letter-spacing: 0.08em;color: var(--text-faint);white-space: nowrap}.card__media .art-frame__cap,.mini-card .art-frame__cap,.cart-line .art-frame__cap,.hero__object .art-frame__cap{display: none}.sk{background: linear-gradient(100deg,var(--bg2) 40%,var(--bg3) 50%,var(--bg2) 60%);background-size: 220% 100%;animation: shimmer 1.4s linear infinite;border-radius: 6px}@keyframes shimmer{to{background-position: -120% 0}}.sk--media{aspect-ratio: 4 / 3;border-radius: 0}.sk--line{height: 13px;margin-bottom: 10px}.card--skeleton{pointer-events: none}.empty{padding: 72px 40px;text-align: center;border: 1px dashed var(--line-strong);border-radius: var(--radius-l);max-width: 640px;margin: 0 auto}.empty__icon{width: 34px;height: 34px;margin: 0 auto 18px;color: var(--text-faint)}.empty__title{font-size: 22px}.empty__body{color: var(--text-dim);max-width: 440px;margin: 0 auto 24px}.empty__actions{display: flex;gap: 12px;justify-content: center;flex-wrap: wrap}.field{display: grid;gap: 7px}.field label{font-size: 13.5px;font-weight: 600;color: var(--text-dim)}.field .hint{font-size: 12.5px;color: var(--text-faint)}.input,select.input,textarea.input{height: 46px;padding: 0 14px;background: var(--bg1);border: 1px solid var(--line-strong);border-radius: var(--radius-s);color: var(--text);font-size: 15px;transition: border-color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out);width: 100%}textarea.input{height: auto;padding: 12px 14px;resize: vertical}.input:hover{border-color: var(--text-faint)}.input:focus{border-color: var(--accent);background: var(--bg2);outline: none}.input:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.field.is-invalid .input{border-color: var(--err)}.field.is-invalid label{color: var(--err)}.field-error{display: flex;align-items: center;gap: 7px;color: var(--err);font-size: 13px}.field-error .icon{width: 12px;height: 12px}.form-summary{border: 1px solid color-mix(in srgb,var(--err) 50%,transparent);background: color-mix(in srgb,var(--err) 8%,transparent);border-radius: var(--radius-m);padding: 16px 20px;margin-bottom: 24px}.form-summary h2{font-size: 15px;color: var(--err);display: flex;gap: 8px;align-items: center;margin-bottom: 8px}.form-summary ul{margin: 0;padding-left: 20px;font-size: 14px;color: var(--text-dim);display: grid;gap: 4px}.form-summary a{color: var(--err);text-decoration: underline;text-underline-offset: 3px}.notice{display: flex;gap: 12px;align-items: flex-start;padding: 14px 18px;border-radius: var(--radius-m);border: 1px solid var(--line-strong);background: var(--bg1);font-size: 14px}.notice .icon{width: 15px;height: 15px;flex: none;margin-top: 2px}.notice--warning{border-color: color-mix(in srgb,var(--warn) 45%,transparent);background: color-mix(in srgb,var(--warn) 7%,transparent)}.notice--error{border-color: color-mix(in srgb,var(--err) 45%,transparent);background: color-mix(in srgb,var(--err) 7%,transparent)}.notice--success{border-color: color-mix(in srgb,var(--ok) 45%,transparent);background: color-mix(in srgb,var(--ok) 7%,transparent)}.notice--info{border-color: var(--line-strong);background: var(--bg1)}.notice b{font-weight: 650}.notice .notice__body{flex: 1}.notice .notice__body p{margin: 0;color: var(--text-dim)}.notice .notice__body p:first-child{color: var(--text)}.qty{display: inline-flex;align-items: stretch;border: 1px solid var(--line-strong);border-radius: var(--radius-s);overflow: hidden;height: 40px}.qty__btn{width: 38px;display: grid;place-items: center;color: var(--text-dim);font-size: 17px;transition: background var(--dur-1) var(--ease-out)}.qty__btn:hover:not(:disabled){background: var(--bg2);color: var(--text)}.qty__btn:disabled{opacity: 0.35;cursor: not-allowed}.qty__input{width: 44px;text-align: center;background: none;border: 0;outline: none;border-left: 1px solid var(--line);border-right: 1px solid var(--line);font-size: 14.5px;font-weight: 600}.qty__input:focus-visible{outline: 2px solid var(--accent);outline-offset: -2px}.spec-table{width: 100%;border-collapse: collapse;font-size: 14.5px}.spec-table th,.spec-table td{text-align: left;padding: 12px 16px;border-bottom: 1px solid var(--line);vertical-align: top}.spec-table th{color: var(--text-faint);font-weight: 500;width: 38%}.spec-table td{font-family: var(--font-mono);font-size: 13.5px;color: var(--text-dim)}.specialist{display: inline-flex;align-items: center;gap: 10px;color: var(--text-dim);font-size: 14px;padding: 10px 0;border-bottom: 1px solid transparent;transition: color var(--dur-1) var(--ease-out)}.specialist svg{width: 17px;height: 17px}.specialist:hover{color: var(--accent-strong)}.spec-boundary{display: flex;align-items: flex-start;gap: 9px;margin-top: 14px;padding: 11px 14px;border: 1px dashed var(--line-strong,var(--line));border-radius: 8px;color: var(--text-faint);font-size: 13px;line-height: 1.5;max-width: 720px}.spec-boundary .icon{flex: none;margin-top: 2px}.disclosure{margin-top: 18px;border: 1px solid var(--line);border-radius: 10px;background: var(--bg1)}.disclosure summary{display: flex;align-items: baseline;gap: 12px;flex-wrap: wrap;padding: 14px 18px;cursor: pointer;list-style: none;border-radius: 10px;transition: background var(--dur-1) var(--ease-out)}.disclosure summary::-webkit-details-marker{display: none}.disclosure summary::before{content: '+';font-family: var(--font-mono);color: var(--text-faint);margin-right: 2px}.disclosure[open] summary::before{content: '−'}.disclosure summary:hover{background: var(--bg2)}.disclosure summary:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.disclosure__title{font-weight: 600;font-size: 15px}.disclosure__hint{font-size: 13px}.disclosure__body{padding: 6px 18px 18px;border-top: 1px solid var(--line)}.disclosure__body > .dim{margin: 12px 0;font-size: 13.5px}.measure-chart{width: 100%;height: auto;display: block;margin-top: 12px;background: var(--bg0);border: 1px solid var(--line);border-radius: 8px}.measure-table{max-width: 380px;margin-top: 6px}.measure-table thead th{color: var(--text-faint);font-weight: 500;font-size: 12.5px;border-bottom: 1px solid var(--line-strong,var(--line))}.art-frame--dims .art--dims{background: none}.facet-more{display: block;margin-top: 8px;padding: 6px 0;background: none;border: 0;cursor: pointer;color: var(--text-dim);font-size: 13px;text-decoration: underline;text-underline-offset: 3px;text-decoration-color: var(--line-strong,var(--line));transition: color var(--dur-1) var(--ease-out)}.facet-more:hover{color: var(--text)}.facet-more:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px;border-radius: 4px}.notice__actions{display: flex;gap: 10px;flex-wrap: wrap;margin-top: 10px}.mini-card__art,.cart-line__art,.slot-card__art,.pick-card__art,.compare__prod-art{background: var(--media-bg)}.art-frame__cap{color: rgba(233,237,241,0.62)}.measure-chart{background: var(--media-bg)}.card__needs{font-size: 12px;margin: 0}.toast__undo{margin-left: 14px;padding: 0 0 1px;background: none;border: 0;color: inherit;font: inherit;cursor: pointer;border-bottom: 1px solid currentColor}.toast__undo:hover{opacity: 0.75}