:root{color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-sunken: #eef0f4;--border: #e5e8ee;--border-strong: #cdd3dd;--ink: #1d2634;--ink-soft: #5b6574;--ink-faint: #8d95a3;--accent: #203870;--accent-hover: #2a4787;--accent-soft: #eef2f9;--focus-ring: rgba(32, 56, 112, .16);--ok: #1b7a4b;--ok-bg: #e7f4ec;--warn: #8a6116;--warn-bg: #faf3e2;--err: #b3402f;--err-bg: #fbeeeb;--err-border: #e4a79c;--info: #2c5ea9;--info-bg: #e9f0fa;--shadow-card: 0 1px 2px rgba(23, 32, 48, .05), 0 2px 8px rgba(23, 32, 48, .05);--shadow-raised: 0 2px 6px rgba(23, 32, 48, .07), 0 12px 28px rgba(23, 32, 48, .09);--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:var(--sans);font-size:15px;line-height:1.55;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 32px 72px}.topbar{background:var(--surface);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1200px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{margin:0}.brand a{display:block}.brand img{display:block;height:52px;width:auto}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{padding:6px 12px;border-radius:8px;color:var(--ink-soft);font-size:14.5px;font-weight:550;text-decoration:none;transition:background .12s,color .12s}.site-nav a:hover{background:var(--accent-soft);color:var(--ink)}.site-nav a[aria-current=page]{color:var(--accent);font-weight:650}.cart-link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;color:var(--ink);font-size:14px;font-weight:550;text-decoration:none;transition:background .12s,border-color .12s}.cart-link:hover{background:var(--accent-soft);border-color:var(--accent)}.cart-link[aria-current=page]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cart-link svg{color:var(--ink-soft)}.cart-count{min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.site-footer{background:var(--surface);border-top:1px solid var(--border)}.site-footer-inner{max-width:1200px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}.footer-brand img{display:block;height:30px;width:auto}.footer-nav{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap}.footer-nav a{color:var(--ink-soft);font-size:13.5px;font-weight:550;text-decoration:none}.footer-nav a:hover{color:var(--accent);text-decoration:underline}.home-hero{max-width:720px;margin:0 auto;padding:72px 8px 28px;text-align:center}.home-hero h2{margin:0 0 14px;font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1.12}.home-hero p{margin:0 auto;max-width:54ch;font-size:16.5px;color:var(--ink-soft)}.button-primary.button-hero{margin-top:30px;padding:15px 36px;font-size:16.5px;border-radius:14px}.home-points{max-width:920px;margin:56px auto 0;padding-top:36px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.home-point h3{margin:0 0 4px;font-size:15px;font-weight:650}.home-point p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}.page-narrow{max-width:720px;margin:0 auto}.about-story p{margin:0;max-width:68ch;font-size:15px;color:var(--ink)}.about-story p+p{margin-top:12px}.about-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.person-card h3{margin:0;font-size:18px;font-weight:700}.person-role{margin:2px 0 10px;font-size:13px;font-weight:600;color:var(--accent)}.person-card p:last-child{margin:0;font-size:14px;color:var(--ink-soft)}.contact-done{text-align:center;padding:36px 28px}.contact-done h3{margin:0 0 6px;font-size:20px;font-weight:700;letter-spacing:-.01em}.contact-done .muted{margin:0 0 16px}.catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:12px 0 32px}.catalog-head h2{margin:0;font-size:28px;font-weight:700;letter-spacing:-.015em}.catalog-sub{margin:6px 0 0;font-size:15px;color:var(--ink-soft)}.catalog-search{width:320px;max-width:100%;padding:11px 16px;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;color:var(--ink);font-family:var(--sans);font-size:15px;transition:border-color .12s,box-shadow .12s}.catalog-search::placeholder{color:var(--ink-faint)}.catalog-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--focus-ring)}.family-group{margin-bottom:40px}.family-group-title{margin-bottom:16px}.family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.family-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-card);transition:box-shadow .15s,transform .15s,border-color .15s}.family-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.family-card .thumb{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--surface-sunken);border-bottom:1px solid var(--border)}.family-card-body{padding:14px 18px 18px}.family-card-body h3{margin:0 0 4px;font-size:16px;font-weight:650}.family-card-body p{margin:0;font-size:13.5px;line-height:1.45;color:var(--ink-soft)}.empty{margin:8px 0 0;font-size:14px;color:var(--ink-faint)}.breadcrumb{display:flex;align-items:baseline;gap:8px;font-size:13.5px;color:var(--ink-soft);margin:0 0 20px}.breadcrumb a{color:var(--ink-soft);text-decoration:none}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}.breadcrumb .sep{color:var(--ink-faint)}.breadcrumb [aria-current=page]{color:var(--ink);font-weight:550}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:32px;align-items:start}.preview-col{position:sticky;top:24px;min-width:0}.config-col{display:flex;flex-direction:column;gap:20px;min-width:0}.family-head{margin:2px 0 24px;text-align:center}.family-head h2{margin:0;font-size:26px;font-weight:700;letter-spacing:-.015em}.family-head p{margin:4px auto 0;font-size:15px;color:var(--ink-soft);max-width:60ch}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-card)}.panel-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.panel-head h2{margin:0 auto 0 0;font-size:18px;font-weight:650}.panel-badges{display:flex;align-items:center;gap:8px;flex:none}.section-title{margin:0 0 14px;font-size:14px;font-weight:650;color:var(--ink)}h2.section-title,h3.section-title{letter-spacing:0;text-transform:none}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:26px 0 0}.section-head .section-title{margin-bottom:14px}.form-panel>.section-title:first-child,.form-panel>:first-child .section-title{margin-top:0}.form-panel h2.section-title,.form-panel h3.section-title{margin-top:26px}.form-panel>h2.section-title:first-child{margin-top:0}.count,.dims{font-size:13px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13.5px;font-weight:550;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:baseline;gap:8px}.field-label em{font-style:normal;font-weight:400;font-size:12px;color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.control{position:relative;display:block}.control .suffix{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--ink-faint);pointer-events:none}input[type=number],input[type=search],input[type=text],input[type=email],textarea,select{width:100%;padding:10px 13px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;color:var(--ink);font-family:var(--sans);font-size:15px;font-variant-numeric:tabular-nums;transition:border-color .12s,box-shadow .12s}textarea{resize:vertical;min-height:74px}.control input[type=number]{padding-right:42px}input[type=number]:focus,input[type=text]:focus,input[type=email]:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--focus-ring)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--err-border);background:#fffdfc}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus,select[aria-invalid=true]:focus{border-color:var(--err);box-shadow:0 0 0 4px #b3402f1f}.field-wide{grid-column:1 / -1}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235b6574'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.field-issue{display:block;font-size:13px;line-height:1.45;color:var(--err);margin-top:2px}.form-summary{margin-top:20px;padding:14px 16px;border-radius:12px;background:var(--warn-bg);border:1px solid rgba(138,97,22,.18)}.form-summary-count{margin:0;font-size:13.5px;font-weight:600;color:var(--warn)}.form-summary-issue{margin:4px 0 0;font-size:13.5px;color:var(--warn)}.form-summary-count+.form-summary-issue{margin-top:8px}.form-summary-issue .issue-line{display:block}.server-raw{margin-top:10px}.server-raw summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--warn);opacity:.85}.server-raw ul{list-style:none;margin:8px 0 0;padding:8px 10px;background:#ffffff8c;border:1px solid rgba(138,97,22,.15);border-radius:8px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px;overflow-x:auto}button{font-family:var(--sans);font-size:14px;font-weight:550;padding:8px 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--surface-sunken)}button:disabled{opacity:.45;cursor:not-allowed}button.submit{margin-top:20px;width:100%;padding:14px;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650;font-size:16px;border-radius:12px;box-shadow:0 1px 2px #17203026}button.submit:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.submit:active:not(:disabled){transform:translateY(1px)}button.submit.secondary{margin-top:12px;padding:11px;background:var(--surface);border-color:var(--border-strong);color:var(--ink-soft);font-size:14px;font-weight:550;box-shadow:none}button.submit.secondary:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--border-strong);color:var(--ink)}.cart-note{margin:10px 0 0;text-align:center;font-size:13.5px;color:var(--ok)}.cart-note a{color:var(--accent);font-weight:550}.cart-note.error{color:var(--err)}.minimum-note{margin:10px 0 0;font-size:13.5px;color:var(--warn)}.cart-aside-note{margin:8px 0 0;font-size:12.5px;color:var(--ink-faint)}button.linklike{padding:0;border:none;background:none;color:var(--ink-soft);font-size:13.5px;font-weight:550;text-decoration:underline;text-underline-offset:2px}button.linklike:hover:not(:disabled){background:none;color:var(--err)}.button-primary{display:inline-block;padding:11px 22px;border-radius:12px;background:var(--accent);color:#fff;font-size:14.5px;font-weight:650;text-decoration:none;box-shadow:0 1px 2px #17203026;transition:background .12s}.button-primary:hover{background:var(--accent-hover)}.form-footnote{margin:12px 0 0;text-align:center;font-size:13px;color:var(--ink-faint)}.hole-actions{display:flex;gap:8px;margin:2px 0 14px;flex-wrap:wrap}.hole-grid{display:flex;flex-direction:column;gap:8px}.hole-row{display:grid;grid-template-columns:20px 1fr 1fr 96px 28px;gap:8px;align-items:center}.hole-row input[type=number],.hole-row select{padding:8px 10px;font-size:14px}.hole-row select{padding-right:28px;background-position:right 10px center}.hole-head{font-size:11.5px;color:var(--ink-faint);margin-bottom:-4px}.hole-index{font-size:12.5px;color:var(--ink-faint);text-align:right;font-variant-numeric:tabular-nums}.hole-row .remove{padding:3px 0;width:28px;line-height:1;font-size:17px;color:var(--ink-faint);background:none;border-color:transparent}.hole-row .remove:hover:not(:disabled){color:var(--err);background:var(--err-bg);border-color:transparent}.hole-grid .field-issue{margin:4px 0 0 28px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:12px;font-weight:600;padding:3px 10px;text-transform:capitalize}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-queued{background:var(--info-bg);color:var(--info)}.badge-generating{background:var(--warn-bg);color:var(--warn)}.badge-generating:before{animation:blink 1.1s ease-in-out infinite}.badge-completed{background:var(--ok-bg);color:var(--ok)}.badge-failed{background:var(--err-bg);color:var(--err)}.badge-verify-passed{background:var(--ok-bg);color:var(--ok)}.badge-verify-failed{background:var(--err-bg);color:var(--err)}.badge-verify-error{background:var(--warn-bg);color:var(--warn)}@keyframes blink{50%{opacity:.25}}.canvas-wrap{position:relative;height:clamp(460px,66vh,760px);border-radius:16px;overflow:hidden;border:1px solid var(--border);background:radial-gradient(ellipse at 50% 38%,#fff,#eceef2 78%);box-shadow:var(--shadow-card)}.canvas-note{position:absolute;right:14px;bottom:12px;font-size:12px;color:var(--ink-faint);pointer-events:none}.dims{position:absolute;left:14px;bottom:12px;padding:5px 12px;border-radius:999px;background:#ffffffd9;border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.preview-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;background:var(--surface-sunken);color:var(--ink-faint);padding:24px}.preview-empty svg{width:44px;height:44px;opacity:.55}.preview-empty p{margin:0;font-size:15px;color:var(--ink-soft);max-width:300px}.progress{display:flex;align-items:center;gap:14px}.progress p{margin:0;color:var(--ink-soft);font-size:14px}.spinner{width:22px;height:22px;flex:none;border:3px solid var(--surface-sunken);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.artifacts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.artifacts li{display:flex;gap:12px;align-items:baseline;justify-content:space-between;padding:8px 10px;border-radius:8px}.artifacts li:hover{background:var(--accent-soft)}.artifacts a{color:var(--accent);font-weight:550;font-size:14px;text-decoration:none;white-space:nowrap}.artifacts a:hover{text-decoration:underline}.artifacts a:before{content:"↓ ";color:var(--ink-faint)}code{font-family:var(--mono);font-size:12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;padding:1px 6px;color:var(--ink-soft)}.tech-details{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.tech-details summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink-soft);list-style:none;display:flex;align-items:center;gap:8px;border-radius:8px;padding:4px 2px}.tech-details summary::-webkit-details-marker{display:none}.tech-details summary:before{content:"";width:8px;height:8px;border-right:1.5px solid var(--ink-faint);border-bottom:1.5px solid var(--ink-faint);transform:rotate(-45deg);transition:transform .15s;flex:none}.tech-details[open] summary:before{transform:rotate(45deg)}.tech-details summary:hover{color:var(--ink)}.report{margin-top:14px}.report dl{margin:0;font-size:13.5px}.report dt{color:var(--ink-faint);font-size:12px;font-weight:650;letter-spacing:.03em;text-transform:uppercase;margin:14px 0 4px}.report dt:first-child{margin-top:0}.report dd{margin:0;min-width:0;color:var(--ink-soft)}.operations{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.verification-checks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px}.verification-checks .check-pass{color:var(--ok)}.verification-checks .check-fail{color:var(--err)}.verification-masked{margin:6px 0 0;padding-left:18px}.hint{margin:14px 0 0;color:var(--ink-faint);font-size:13px}.recent{margin-top:8px}.recent ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.recent-row{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border-radius:10px;text-align:left;color:var(--ink);text-decoration:none}a.recent-row:hover{background:var(--accent-soft)}.recent-row .spec{font-size:14px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.recent-row .time{font-size:12.5px;color:var(--ink-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.page-head{margin:12px 0 28px}.page-head h2{margin:0;font-size:28px;font-weight:700;letter-spacing:-.015em}.page-sub{margin:6px 0 0;font-size:15px;color:var(--ink-soft)}.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.cart-lines ul{list-style:none;margin:0;padding:0}.cart-line{display:grid;grid-template-columns:96px minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:16px 0}.cart-line+.cart-line{border-top:1px solid var(--border)}.cart-thumb{width:96px;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:var(--surface-sunken)}.cart-line-body{min-width:0}.cart-line-body h3{margin:0;font-size:15.5px;font-weight:650}.cart-line-spec{margin:3px 0 0;font-size:13.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-material{color:var(--ink-soft);font-weight:450;font-size:.92em}.cart-line-actions{display:flex;gap:14px;margin-top:8px;font-size:13.5px}.cart-line-actions a{color:var(--accent);font-weight:550}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden}.qty-stepper button{width:34px;padding:8px 0;border:none;border-radius:0;background:var(--surface);font-size:16px;line-height:1;color:var(--ink-soft)}.qty-stepper input{width:52px;padding:8px 4px;border:none;border-radius:0;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font-size:14px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-stepper input:focus{box-shadow:none;border-color:var(--border);outline:none}.cart-lines-foot{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:13.5px}.cart-lines-foot a{color:var(--accent);font-weight:550;text-decoration:none}.cart-lines-foot a:hover{text-decoration:underline}.cart-aside .submit{margin-top:16px}.cart-aside-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.cart-aside-lines li{display:flex;justify-content:space-between;gap:12px}.qty{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.empty-icon{color:var(--ink-faint);opacity:.7}.center-state .button-primary{margin-top:8px;color:#fff}.admin-app{background:var(--bg)}.admin-topbar{background:var(--surface);border-bottom:1px solid var(--border)}.admin-topbar-inner{max-width:1280px;margin:0 auto;padding:12px 32px;display:grid;grid-template-columns:220px 1fr auto;gap:20px;align-items:center}.admin-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;text-decoration:none}.admin-brand img{display:block;height:34px;width:auto}.admin-nav{display:flex;gap:6px}.admin-nav a{padding:7px 12px;border-radius:8px;color:var(--ink-soft);font-size:14px;font-weight:600;text-decoration:none}.admin-nav a:hover,.admin-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.admin-session{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:13.5px}.admin-page{width:100%;max-width:1280px;margin:0 auto;padding:28px 32px 72px}.admin-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.admin-head h1,.admin-order-summary h1{margin:0;font-size:28px;line-height:1.2}.admin-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-card)}.admin-panel h2{margin:0 0 14px;font-size:17px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:13px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.admin-table th{color:var(--ink-soft);font-size:12px;font-weight:700;text-transform:uppercase}.admin-table tr:last-child td{border-bottom:none}.admin-subtext{display:block;color:var(--ink-soft);font-size:13px;font-weight:400}.admin-table-action{text-align:right}.admin-table-action a,.admin-artifacts a{color:var(--accent);font-weight:600;text-decoration:none}.admin-table-action a:hover,.admin-artifacts a:hover{text-decoration:underline}.admin-empty{padding:24px;color:var(--ink-soft);text-align:center}.admin-alert{margin:0 0 16px;padding:10px 12px;border:1px solid var(--err-border);border-radius:8px;background:var(--err-bg);color:var(--err)}.admin-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:start;margin-top:20px}.admin-grid .admin-panel,.admin-order-summary{padding:20px}.admin-order-summary{display:flex;justify-content:space-between;gap:24px;align-items:start}.admin-order-summary .summary-totals,.admin-order-summary .summary-total-row.grand{margin-top:0;padding-top:0;border-top:0}.admin-order-summary code{display:inline-block;margin-top:6px;color:var(--ink-soft);font-family:var(--mono);font-size:12px}.admin-lines{display:flex;flex-direction:column;gap:12px}.admin-line{padding:14px;border:1px solid var(--border);border-radius:8px}.admin-line-main{display:flex;justify-content:space-between;gap:16px;align-items:start}.admin-line h3{margin:0 0 3px;font-size:15px}.admin-line p{margin:0}.admin-line-error{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:10px;border-radius:8px;background:var(--err-bg);color:var(--err);font-size:13.5px}.admin-artifacts{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0 0;padding:0;list-style:none;font-size:13.5px}.admin-contact-list{display:flex;flex-direction:column}.admin-contact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:18px 20px;border-bottom:1px solid var(--border)}.admin-contact-row:last-child{border-bottom:none}.admin-contact-row h2{margin:0 0 2px;font-size:16px}.admin-contact-row p{margin:8px 0 0}.admin-contact-row time{color:var(--ink-soft);font-size:13px;white-space:nowrap}.admin-login-screen,.admin-loading{min-height:100vh;align-items:center;justify-content:center}.admin-login-panel{width:min(100% - 32px,360px);padding:28px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-card);text-align:center}.admin-login-panel img{height:42px;width:auto}.admin-login-panel h1{margin:16px 0;font-size:28px}.admin-login-button{margin-top:8px}.button-secondary{padding:8px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:650;cursor:pointer}.button-secondary:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.button-secondary:disabled{cursor:not-allowed;opacity:.6}.button-small{padding:6px 10px;font-size:13px}.badge-placed{background:var(--info-bg);color:var(--info)}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.checkout-summary{position:sticky;top:24px}.summary-lines{list-style:none;margin:0;padding:0}.summary-line{padding:10px 0}.summary-line+.summary-line{border-top:1px solid var(--border)}.summary-line-main{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:550}.summary-line .cart-line-spec{white-space:normal}.summary-line.line-invalid{border-left:3px solid var(--err);padding-left:10px;margin-left:-13px}.summary-line.line-invalid .summary-name{color:var(--err)}.summary-edit{margin:14px 0 0;font-size:13.5px}.summary-edit a{color:var(--accent);font-weight:550}.form-summary-issue a{color:inherit;font-weight:600}.confirmation{max-width:760px;margin:0 auto}.confirmation-head{text-align:center;padding:36px 28px}.confirmation-check{width:52px;height:52px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ok-bg);color:var(--ok)}.confirmation-head h2{margin:0 0 6px;font-size:24px;font-weight:700;letter-spacing:-.015em}.confirmation-head .muted{margin:0 auto;max-width:46ch}.order-reference{margin:18px 0 0;font-size:13.5px;color:var(--ink-soft)}.order-reference code{font-size:13px;padding:3px 8px}.confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.shipping-address{font-style:normal;font-size:14px;display:flex;flex-direction:column;gap:2px}.notes-title{margin-top:20px}.order-notes{margin:0;font-size:14px;color:var(--ink-soft);white-space:pre-wrap}.confirmation-actions{margin:24px 0 0;text-align:center}.center-state{max-width:560px;margin:15vh auto 0;text-align:center}.center-state a{color:var(--accent)}.muted{color:var(--ink-soft)}p.muted{font-size:13.5px;color:var(--ink-faint)}.form-panel>p.muted{margin:14px 0 0}.error-title{margin:0 0 10px;font-size:16px;color:var(--err)}.error-details{white-space:pre-wrap;word-break:break-word;text-align:left;background:var(--surface-sunken);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);max-height:240px;overflow:auto;margin:0}@media(max-width:1060px){.product-layout{grid-template-columns:minmax(0,1fr) 400px;gap:24px}}@media(max-width:900px){.page{padding:20px 20px 56px}.topbar-inner{padding:10px 20px}.brand img{height:42px}.product-layout{grid-template-columns:1fr}.preview-col{position:static;order:1}.config-col{order:2}.canvas-wrap{height:clamp(300px,48vh,460px)}.catalog-search{width:100%}.cart-layout,.checkout-layout,.confirmation-grid{grid-template-columns:1fr}.checkout-summary{position:static;order:-1}.cart-line{grid-template-columns:72px minmax(0,1fr)}.cart-thumb{width:72px}.cart-line .qty-stepper{grid-column:2;justify-self:start}.cart-line .cart-line-price{grid-column:2;justify-self:start;align-items:flex-start}}@media(max-width:640px){.topbar-inner{flex-wrap:wrap;row-gap:0}.site-nav{order:3;flex-basis:100%;margin:2px 0 6px -12px}.home-hero{padding-top:40px}.home-hero h2{font-size:30px}.home-points{margin-top:36px;padding-top:28px;grid-template-columns:1fr;gap:20px}.about-people{grid-template-columns:1fr}.site-footer-inner{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.fields{grid-template-columns:1fr}.panel{padding:18px}}.price-block{margin-top:18px;padding:14px 16px;background:var(--surface-sunken);border-radius:10px}.price-unavailable{margin:0;font-size:13.5px;color:var(--ink-faint)}.price-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;transition:opacity .12s ease}.price-value{font-size:24px;font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.price-caption{font-size:13px;color:var(--ink-soft)}.price-dimmed{opacity:.45;transition:opacity .12s ease}.price-fold{margin-top:10px;font-size:13.5px}.price-fold summary{cursor:pointer;color:var(--ink-soft);font-weight:550}.price-fold summary:hover{color:var(--ink)}.price-parts{margin:10px 0 0;display:flex;flex-direction:column;gap:4px}.price-parts>div{display:flex;justify-content:space-between;gap:16px}.price-parts dt{color:var(--ink-soft)}.price-parts dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.price-parts .price-parts-total{border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-weight:600}.price-parts .price-parts-total dt{color:var(--ink)}.cart-line-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px}.cart-line-total{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.cart-aside-lines .cart-aside-name{flex:1;min-width:0;overflow-wrap:anywhere}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.summary-line-main .amount{margin-left:auto}.summary-line-main .qty{flex:none}.summary-totals{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px;font-size:14px;transition:opacity .12s ease}.summary-total-row{display:flex;justify-content:space-between;gap:12px}.summary-total-row>span:first-child{color:var(--ink-soft)}.summary-total-row>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.summary-total-row.grand{border-top:1px solid var(--border);margin-top:4px;padding-top:10px;font-size:15.5px;font-weight:650}.summary-total-row.grand>span:first-child{color:var(--ink)}.price-updating{font-size:12px;color:var(--ink-soft);opacity:0;animation:price-updating-in .2s ease .5s forwards}@keyframes price-updating-in{to{opacity:1}}
