.shb-root{--shb-font:"LT Superior", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shb-ink:#000;--shb-ink-strong:#121212;--shb-muted:#404040;--shb-bg:#fff;--shb-bg-soft:#f4f4f4;--shb-line:#d9d9d9;--shb-line-soft:#ebeced;--shb-accent:#558168;--shb-accent-soft:#55816824;--shb-radius:0;--shb-radius-input:4px;box-sizing:border-box;max-width:960px;font-family:var(--shb-font);color:var(--shb-ink);background:var(--shb-bg);flex-direction:column;gap:24px;margin:0 auto;padding:24px 16px;font-size:16px;line-height:1.2;display:flex}.shb-root *,.shb-root :before,.shb-root :after{box-sizing:border-box}.shb-stage,.shb-catalog{min-width:0}.shb-loading{text-align:center;padding:40px 16px;font-family:LT Superior,sans-serif}.shb-label{text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:13px;display:block}.shb-root button{color:var(--shb-ink-strong);cursor:pointer;font-family:inherit}.shb-actions button,.shb-warn button{background:var(--shb-bg);border:1px solid var(--shb-ink-strong);border-radius:var(--shb-radius);text-transform:uppercase;letter-spacing:.03em;min-height:44px;padding:5px 20px 0;font-size:14px;transition:background .15s,color .15s}.shb-actions button:hover:not(:disabled){background:var(--shb-ink-strong);color:var(--shb-bg)}.shb-actions button:disabled{opacity:.35;cursor:default}.shb-actions .shb-primary{background:var(--shb-ink-strong);color:var(--shb-bg)}.shb-actions .shb-primary:hover:not(:disabled){background:var(--shb-bg);color:var(--shb-ink-strong)}.shb-root :focus-visible{outline:2px solid var(--shb-accent);outline-offset:2px}.shb-field{margin:0 0 16px;display:block}.shb-field select,.shb-catalog input[type=search]{width:100%;height:48px;font:inherit;letter-spacing:normal;color:var(--shb-ink);background:var(--shb-bg);border:1px solid var(--shb-line-soft);border-radius:var(--shb-radius-input);margin:0;padding:0 14px;font-size:16px;line-height:normal;display:block}.shb-field select:focus,.shb-catalog input[type=search]:focus{border-color:var(--shb-ink-strong);outline:none}.shb-bracelet{background:var(--shb-bg);border:1px solid var(--shb-line-soft);touch-action:manipulation;width:100%;height:auto;max-height:min(50vh,520px);display:block}.shb-path{stroke:var(--shb-line);stroke-width:calc(var(--shb-u,1) * 1px);stroke-dasharray:calc(var(--shb-u,1) * 2px) calc(var(--shb-u,1) * 6px)}.shb-slot{fill:#0000;stroke:var(--shb-line);stroke-width:calc(var(--shb-u,1) * 1px);stroke-dasharray:calc(var(--shb-u,1) * 3px) calc(var(--shb-u,1) * 4px);cursor:pointer;outline:none;transition:fill .15s,stroke .15s}.shb-slot:hover{stroke:var(--shb-ink-strong)}.shb-slot.is-over{fill:var(--shb-accent-soft);stroke:var(--shb-accent);stroke-width:calc(var(--shb-u,1) * 2px);stroke-dasharray:none}.shb-slot.is-occupied.is-over{stroke:var(--shb-accent)}.shb-slot.is-occupied{stroke:#0000}.shb-slot:focus-visible{stroke:var(--shb-accent);stroke-width:calc(var(--shb-u,1) * 3px);stroke-dasharray:none}.shb-hint{text-align:left;color:var(--shb-muted);letter-spacing:normal;margin:-4px 0 16px;font-size:14px;line-height:20px}.shb-hint.is-hidden{visibility:hidden}.shb-remove{cursor:pointer}.shb-remove circle{fill:var(--shb-bg);stroke:var(--shb-ink-strong)}.shb-remove .shb-hit{fill:#0000;stroke:none}.shb-remove text{font-family:var(--shb-font);fill:var(--shb-ink-strong);font-size:14px}.shb-tabs{border-bottom:1px solid var(--shb-line-soft);scrollbar-width:none;gap:20px;margin:12px 0 8px;display:flex;overflow-x:auto}.shb-tabs button{text-transform:uppercase;letter-spacing:.04em;min-height:44px;color:var(--shb-muted);white-space:nowrap;background:0 0;border:0;border-bottom:1px solid #0000;flex:none;margin-bottom:-1px;padding:5px 0 0;font-size:13px}.shb-tabs button:hover{color:var(--shb-ink)}.shb-tabs [aria-selected=true]{color:var(--shb-ink);border-bottom-color:var(--shb-accent)}.shb-tab-count{color:var(--shb-muted);margin-left:6px;font-size:11px}.shb-group{margin:0 0 24px}.shb-group-title{border-bottom:1px solid var(--shb-line-soft);font:inherit;text-transform:uppercase;letter-spacing:.04em;color:var(--shb-ink);align-items:baseline;gap:8px;margin:20px 0 12px;padding:0 0 8px;font-size:13px;font-weight:400;display:flex}.shb-group-title span{color:var(--shb-muted);font-size:11px}.shb-empty{color:var(--shb-muted);letter-spacing:normal;margin:16px 0;font-size:14px}.shb-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.shb-card button{background:var(--shb-bg);border:1px solid var(--shb-line-soft);border-radius:var(--shb-radius);cursor:grab;white-space:normal;flex-direction:column;align-items:center;gap:8px;width:100%;min-width:0;height:100%;min-height:44px;padding:12px 8px;transition:border-color .15s;display:flex;overflow:hidden}.shb-card button:hover{border-color:var(--shb-ink-strong)}.shb-card.is-selected button{border-color:var(--shb-accent);box-shadow:inset 0 -2px 0 var(--shb-accent)}.shb-card.is-out{opacity:.45}.shb-card.is-dragging{opacity:.35}.shb-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.shb-card img{-webkit-user-drag:none;pointer-events:none;object-fit:contain;width:88px;height:88px}.shb-drag-ghost{object-fit:contain;filter:drop-shadow(0 4px 8px #00000040);pointer-events:none;width:88px;height:88px;margin:8px auto 0;display:block}.shb-card.is-out button{cursor:default}.shb-card{min-width:0}.shb-card-name{box-sizing:border-box;letter-spacing:normal;text-transform:none;text-align:center;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;width:100%;min-width:0;max-width:100%;min-height:2.5em;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}.shb-card-price{letter-spacing:normal;color:var(--shb-muted);margin-top:auto;font-size:14px}.shb-summary{z-index:2;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--shb-bg);border-top:1px solid var(--shb-ink-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;display:flex;position:sticky;bottom:0}.shb-summary>.shb-warn{flex:100%;margin:0}.shb-total{text-transform:uppercase;letter-spacing:.03em;align-items:baseline;gap:16px;font-size:14px;display:flex}.shb-total strong{letter-spacing:0;text-transform:none;white-space:nowrap;font-size:24px;font-weight:400}.shb-actions{flex-wrap:wrap;gap:8px;display:flex}.shb-engraving text{font-family:var(--shb-font);letter-spacing:0;pointer-events:none;font-weight:600}.shb-engraving-ink{fill:#2b2b2b;fill-opacity:.82}.shb-engraving-light{fill:#fff;fill-opacity:.75}.shb-card button{position:relative}.shb-card-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--shb-accent);background:var(--shb-bg);border:1px solid;padding:3px 5px 2px;font-size:10px;line-height:1;position:absolute;top:6px;left:6px}.shb-engrave-dot{fill:var(--shb-accent);stroke:var(--shb-bg);pointer-events:none}.shb-engrave-tip{opacity:0;pointer-events:none;transition:opacity .15s}.shb-engrave-tip rect{fill:var(--shb-ink-strong)}.shb-engrave-tip text{fill:var(--shb-bg);font-family:var(--shb-font);letter-spacing:.02em}.shb-placed.has-engraving:hover .shb-engrave-tip,.shb-placed.has-engraving:focus-visible .shb-engrave-tip{opacity:1}.shb-placed[aria-pressed=true] .shb-engrave-tip{opacity:0}@media (prefers-reduced-motion:reduce){.shb-engrave-tip{transition:none}}.shb-dialog{width:min(560px,100vw - 32px);max-width:none;max-height:calc(100dvh - 48px);color:var(--shb-ink);background:var(--shb-bg);border:1px solid var(--shb-ink-strong);border-radius:var(--shb-radius);font-family:var(--shb-font);overscroll-behavior:contain;margin:auto;padding:0;font-size:16px;line-height:1.2;overflow:auto;box-shadow:0 24px 64px #0000002e}.shb-dialog::backdrop{background:#12121273}.shb-dialog[open]{animation:.22s cubic-bezier(.2,.7,.3,1) shb-dialog-in}.shb-dialog[open]::backdrop{animation:.22s ease-out shb-fade-in}@keyframes shb-dialog-in{0%{opacity:0;transform:translateY(12px)}}@keyframes shb-fade-in{0%{opacity:0}}.shb-dialog-body{flex-direction:column;gap:20px;margin:0;padding:24px 24px 0;display:flex}.shb-dialog-head{justify-content:space-between;align-items:center;gap:16px;margin:-8px -8px 0 0;display:flex}.shb-dialog-head h2{font:inherit;text-transform:uppercase;letter-spacing:.04em;color:var(--shb-ink);margin:0;font-size:22px;font-weight:400}.shb-root .shb-dialog-close{width:44px;height:44px;color:var(--shb-ink-strong);background:0 0;border:0;flex:none;padding:0;font-size:28px;line-height:1}.shb-root .shb-dialog-close:hover{color:var(--shb-accent)}.shb-dialog-lead{color:var(--shb-muted);letter-spacing:normal;margin:-8px 0 0;font-size:14px;line-height:1.45}.shb-engrave-pick{background:0 0;border:0;min-width:0;margin:0;padding:0}.shb-engrave-pick legend{float:none;width:auto;padding:0}.shb-engrave-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.shb-root .shb-engrave-option{width:100%;height:100%;font:inherit;text-align:center;color:var(--shb-ink);background:var(--shb-bg);border:1px solid var(--shb-line-soft);border-radius:var(--shb-radius);white-space:normal;cursor:pointer;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:12px 8px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.shb-engrave-option:hover{border-color:var(--shb-ink-strong)}.shb-engrave-option.is-selected{border-color:var(--shb-accent);box-shadow:inset 0 -2px 0 var(--shb-accent)}.shb-engrave-option:focus-within{outline:2px solid var(--shb-accent);outline-offset:2px}.shb-engrave-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.shb-engrave-option .shb-engrave-preview{width:72px;height:72px}.shb-engrave-preview{display:block;overflow:visible}.shb-engrave-name{box-sizing:border-box;letter-spacing:normal;text-transform:none;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;width:100%;min-width:0;max-width:100%;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}.shb-engrave-meta{letter-spacing:normal;text-transform:none;color:var(--shb-muted);margin-top:auto;font-size:13px}.shb-engrave-empty p{letter-spacing:normal;margin:0 0 12px;font-size:14px;line-height:1.45}.shb-engrave-editor{background:var(--shb-bg-soft);grid-template-columns:auto auto 1fr;grid-template-areas:"stage field help";align-items:end;gap:8px 16px;padding:16px;display:grid}.shb-engrave-stage{background:var(--shb-bg);grid-area:stage;justify-content:center;align-items:center;width:112px;height:112px;display:flex}.shb-engrave-stage .shb-engrave-preview{width:96px;height:96px}.shb-engrave-field{grid-area:field}.shb-engrave-editor .shb-engrave-help{grid-area:help;align-self:center}.shb-engrave-add{text-transform:uppercase;letter-spacing:.04em;color:var(--shb-ink-strong);font-size:12px}.shb-engrave-field{margin:0;display:block}.shb-root .shb-engrave-input{text-align:center;width:72px;height:72px;font:inherit;text-transform:uppercase;color:var(--shb-ink);background:var(--shb-bg);border:1px solid var(--shb-line);border-radius:var(--shb-radius-input);caret-color:var(--shb-accent);margin:0;padding:0;font-size:36px;line-height:1;display:block}.shb-root .shb-engrave-input:focus{border-color:var(--shb-ink-strong);box-shadow:0 0 0 3px var(--shb-accent-soft);outline:none}.shb-root .shb-engrave-input[aria-invalid=true]{border-color:#a33}.shb-engrave-help{letter-spacing:normal;color:var(--shb-muted);margin:0 0 4px;font-size:13px;line-height:1.4}.shb-engrave-help.is-error{color:#a33}.shb-dialog-actions{padding:16px 24px calc(16px + env(safe-area-inset-bottom));background:var(--shb-bg);border-top:1px solid var(--shb-line-soft);justify-content:flex-end;margin:0 -24px;position:sticky;bottom:0}.shb-dialog-actions button{flex:0 auto}.shb-dialog-actions .shb-primary{min-width:180px}@media (width<=600px){.shb-dialog{border-width:1px 0 0;width:100%;max-height:92dvh;margin:auto 0 0}.shb-dialog[open]{animation-name:shb-sheet-in}@keyframes shb-sheet-in{0%{transform:translateY(100%)}}.shb-dialog-body{padding:20px 16px 0}.shb-dialog-actions{margin:0 -16px;padding-inline:16px}.shb-dialog-actions button{flex:1 1 0}.shb-engrave-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shb-engrave-editor{grid-template-columns:auto 1fr;grid-template-areas:"stage field""help help"}}@media (prefers-reduced-motion:reduce){.shb-dialog[open],.shb-dialog[open]::backdrop{animation:none}}.shb-warn{background:var(--shb-bg-soft);border-left:2px solid var(--shb-ink-strong);margin:8px 0;padding:10px 14px;font-size:14px}.shb-warn button{min-height:44px;margin-left:8px}.shb-warn ul{margin:6px 0 0;padding-left:18px}.shb-warn a{color:var(--shb-ink-strong);text-decoration:underline}.shb-warn.shb-ok{border-left-color:var(--shb-accent)}@media (width>=801px){.shb-root{grid-template:"stage catalog"1fr"stage summary"/minmax(0,1fr) minmax(300px,400px);align-items:start;gap:0 40px;padding:24px;display:grid}.shb-catalog{grid-area:catalog}.shb-stage{flex-direction:column;grid-area:stage;max-height:calc(100vh - 48px);display:flex;position:sticky;top:24px}.shb-stage>*{flex:none}.shb-stage>.shb-bracelet{flex:0 auto;min-height:160px;max-height:720px}.shb-summary{box-shadow:0 24px 0 var(--shb-bg);grid-area:summary;align-self:end;gap:12px;margin:24px 0 0;padding:16px 0 0;bottom:24px}}.shb-summary .shb-total{flex:100%;justify-content:space-between}.shb-summary .shb-actions{flex:100%;gap:6px}.shb-summary .shb-actions button{letter-spacing:.02em;flex:1 1 0;padding-inline:4px;font-size:12px}.shb-summary .shb-actions .shb-primary{flex:100%;order:-2;font-size:14px}.shb-summary .shb-actions .shb-engrave-open{order:-1}@media (width<=800px){.shb-root{gap:16px;padding:16px 16px 0}.shb-bracelet{max-height:42vh}.shb-summary{gap:8px}.shb-total strong{font-size:20px}}
/*$vite$:1*/