.brand-link { text-decoration: none; color: inherit; }
.detail-container { position: relative; max-width: 1200px; margin: 0 auto; padding: 2rem clamp(1.25rem, 4vw, 3rem); }
.back-link { display: inline-block; color: var(--accent); text-decoration: none; margin-bottom: 1.5rem; font-family: var(--mono); font-size: .85rem; }
.back-link:hover { text-decoration: underline; }
.preview__panel { width: 100%; max-height: none; position: static; box-shadow: none; background: transparent; }
.preview__layout { padding: 1.5rem 0; }
.preview__header { padding: 0; }
.preview__sidebar h3 { margin-top: 2rem; font-size: 1rem; color: var(--accent); }
.download-note { font-size: .85rem; color: var(--muted); line-height: 1.6; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; margin-top: 1rem; }
.gallery-item { aspect-ratio: 4 / 3; padding: 0; border-radius: 12px; overflow: hidden; border: 1px solid var(--stroke); background: var(--bg1); cursor: pointer; color: var(--accent); font-family: var(--mono); }
.gallery-item:hover, .gallery-item:focus-visible { border-color: var(--accent); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; }
.gallery-item--viewer { border: 1px dashed var(--accent); }
.gallery-item:disabled { opacity: .5; cursor: default; }
.main-image-container { width: 100%; aspect-ratio: 16 / 9; background: var(--bg1); border-radius: 20px; overflow: hidden; border: 1px solid var(--stroke); }
.main-image-container img { width: 100%; height: 100%; object-fit: contain; }
[hidden] { display: none !important; }
.designer {max-width: 1400px; margin: auto; padding: 2rem clamp(1rem,4vw,3rem) 5rem; position: relative}
.designer__intro {max-width: 750px; margin-bottom: 2rem}.designer__intro h2 {font-size: clamp(2rem,4vw,3rem);margin:.3rem 0}.designer__intro p {color:var(--muted);line-height:1.55}
.designer__grid {display:grid;grid-template-columns:minmax(290px,420px) minmax(0,1fr);grid-template-areas:"controls side" "output output";gap:1.5rem;align-items:start}.designer__controls,.designer__results,.designer__visuals,.designer__output {border:1px solid var(--stroke);background:var(--bg1);border-radius:18px;padding:1.4rem;min-width:0}.designer__controls{grid-area:controls}.designer__side{grid-area:side;display:flex;flex-direction:column;gap:1.5rem;min-width:0}.designer__output{grid-area:output}.designer h3 {margin:1.5rem 0 .7rem;color:var(--accent)}.designer h3:first-child {margin-top:0}.designer h3 small {font-size:.7em;color:var(--muted);font-weight:normal}.designer label {display:block;font-size:.78rem;color:var(--muted);margin:.55rem 0}.designer input,.designer select {display:block;width:100%;box-sizing:border-box;margin-top:.25rem;padding:.65rem;border:1px solid var(--stroke);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}.designer__fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .7rem}.designer__assembly {height:350px;border:1px solid var(--stroke);border-radius:12px;overflow:hidden;background:#07090f}.designer__assembly canvas {display:block}.designer__hint {font-size:.82rem;color:var(--muted);line-height:1.5}.designer__validation {font-size:.84rem;color:#f7ad88;line-height:1.5;min-height:1.5em}.designer__actions {display:flex;flex-wrap:wrap;gap:.5rem}.designer__actions a,.designer__actions button {display:inline-block;border:1px solid var(--accent);border-radius:8px;padding:.55rem .75rem;background:transparent;color:var(--accent);font:inherit;font-size:.8rem;text-decoration:none;cursor:pointer}.designer__actions [aria-disabled=true] {opacity:.45;pointer-events:none}#cutaway {width:100%;height:auto;min-height:210px;background:#07090f;border:1px solid var(--stroke);border-radius:12px}
@media(max-width:850px){.designer__grid{grid-template-columns:1fr;grid-template-areas:"controls" "side" "output"}}
.designer input[type="range"] {padding:0;height:1.1rem;margin:.4rem 0 .1rem;accent-color:var(--accent);border:0;background:transparent}
.designer__table-head,.designer__table-row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;align-items:center}.designer__table-head {color:var(--muted);font-size:.72rem;margin:.7rem 0 .2rem}.designer__table-row input {min-width:0;margin:.15rem 0;padding:.52rem;font-variant-numeric:tabular-nums}.designer__table-row input:disabled {opacity:.75;border-style:dashed}.designer__table-row:focus-within {background:rgba(123,166,255,.06)}
@media(max-width:600px){.designer__fields{grid-template-columns:1fr}}
#cutaway [data-section-kind],#overview [data-section-kind] {cursor:pointer;stroke-width:1.2;transition:filter .15s,stroke-width .15s}#cutaway [data-section-kind]:hover,#cutaway [data-section-kind]:focus-visible,#overview [data-section-kind]:hover,#overview [data-section-kind]:focus-visible {filter:brightness(1.3);stroke-width:2.5;outline:none}#cutaway [data-section-kind].is-selected,#overview [data-section-kind].is-selected {filter:brightness(1.2);stroke:#fff;stroke-width:3}.designer__table-row.is-selected {background:rgba(255,189,102,.16);outline:2px solid var(--accent);border-radius:7px}
.designer__select-group {margin:.6rem 0 1rem}.designer__select-group input {margin-bottom:.35rem}.designer__select-group select {margin-top:0}
.designer__combo {position:relative}
.designer__combo input {margin-bottom:0;padding-right:2.2rem}
.designer__combo-toggle {position:absolute;right:.25rem;top:.25rem;bottom:.25rem;width:1.8rem;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer}
.designer__combo-toggle:hover {color:var(--text);background:rgba(123,166,255,.12)}
.designer__combo-list {position:absolute;z-index:10;top:calc(100% + .25rem);left:0;right:0;max-height:16rem;overflow:auto;border:1px solid var(--stroke);border-radius:8px;background:var(--bg1);box-shadow:0 14px 30px rgba(0,0,0,.4)}
.designer__combo-option,.designer__combo-empty {padding:.55rem .7rem;font-size:.85rem}
.designer__combo-option {cursor:pointer}
.designer__combo-option:hover,.designer__combo-option[aria-selected="true"] {background:rgba(123,166,255,.16);color:var(--text)}
.designer__combo-empty {color:var(--muted)}
.designer__visuals {align-self:start}
.designer__visuals h3 {margin:1rem 0 .55rem}.designer__visuals h3:first-child {margin-top:0}
#overview {display:block;width:100%;height:auto;min-height:115px;background:#07090f;border:1px solid var(--stroke);border-radius:12px}
.designer__lengths {display:flex;flex-wrap:wrap;gap:.45rem;margin:.65rem 0 0}
.designer__length {padding:.35rem .55rem;border:1px solid var(--stroke);border-radius:6px;background:var(--bg);color:var(--text);font-size:.76rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.designer__length:last-child {color:var(--accent);border-color:var(--accent)}
.designer__results summary {cursor:pointer;color:var(--accent);font-weight:600}
.designer__results summary:focus-visible {outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}
.designer__table-row--read-only {padding:.32rem .4rem;border-bottom:1px solid var(--stroke);font-size:.8rem;font-variant-numeric:tabular-nums}
.designer__table-row--read-only span {min-width:0}
.designer__validation {margin:.8rem 0 1rem;padding:.65rem .75rem;border:1px solid var(--stroke);border-radius:8px;background:rgba(122,162,255,.05)}
.designer__field-error {display:block;color:#f7ad88;font-size:.76rem;line-height:1.45;margin:.3rem 0 .45rem}
.designer input[aria-invalid="true"],.designer select[aria-invalid="true"] {border-color:#f7ad88;box-shadow:0 0 0 1px rgba(247,173,136,.3)}
.designer__table-row .designer__field-error {grid-column:1/-1;margin:.15rem 0 .4rem}

#nose-fields.is-selected,#body-fields.is-selected,#cap-fields.is-selected,#panel-connector.is-selected {outline:2px solid var(--accent);outline-offset:5px;border-radius:6px;background:rgba(255,189,102,.08)}

/* Compact designer workspace */
.designer {max-width:1500px;padding:1rem clamp(1rem,3vw,2.5rem) 3rem}
.designer__intro {margin-bottom:.7rem}
.designer__intro h2 {font-size:clamp(1.7rem,2.6vw,2.3rem);margin:.1rem 0}
.designer__setup {display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:.25rem .8rem;align-items:start;padding:.8rem 1rem;border:1px solid var(--stroke);border-radius:14px;background:var(--bg1);margin-bottom:.8rem}
.designer__setup label,.designer__setup .designer__select-group {margin:0}
.designer__setup .designer__hint {margin:0}
.designer__setup-meta {grid-column:1/3;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;font-size:.78rem}
.designer__setup .designer__validation {grid-column:3;margin:0;padding:.4rem .6rem;min-height:0}
.designer__workspace {display:grid;grid-template-columns:minmax(0,1fr) minmax(530px,1.1fr);gap:.8rem;align-items:start}
.designer__preview,.designer__controls,.designer__results,.designer__output {border:1px solid var(--stroke);background:var(--bg1);border-radius:14px;padding:.8rem;min-width:0}
.designer__panel-heading {display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem}
.designer__panel-heading h3,.designer__control-card h3,.designer__output h3 {margin:0;color:var(--accent);font-size:1rem}
.designer__view-switch {display:flex;gap:.3rem}
.designer__view-switch button {border:1px solid var(--stroke);border-radius:6px;background:var(--bg);color:var(--muted);padding:.3rem .55rem;cursor:pointer;font:inherit;font-size:.76rem}
.designer__view-switch button[aria-selected="true"] {color:var(--accent);border-color:var(--accent)}
.designer__preview .designer__hint {margin:.45rem 0 0}
.designer__zoom {margin:.1rem 0 .25rem!important}
.designer__zoom input {margin:.2rem 0!important}
#cutaway {min-height:0}
#overview {min-height:0}
.designer__lengths {gap:.25rem;margin:.4rem 0 0}
.designer__length {padding:.2rem .35rem;font-size:.69rem}
.designer__controls {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"nose cap" "fit body" "connector connector";gap:.5rem;background:transparent;border:0;padding:0}
.designer__control-card {min-width:0;border:1px solid var(--stroke);border-radius:12px;background:var(--bg1);padding:.65rem .75rem}
#panel-nose {grid-area:nose}#panel-cap {grid-area:cap}#panel-fit {grid-area:fit}#panel-body {grid-area:body}#panel-connector {grid-area:connector}
.designer__control-card .designer__fields {gap:0 .4rem}
.designer__control-card label {margin:.3rem 0;font-size:.72rem}
.designer__control-card input[type="number"] {padding:.35rem .45rem;margin-top:.18rem}
.designer__control-card input[type="range"] {height:.75rem;margin:.12rem 0 0}
.designer__control-card .designer__hint {font-size:.72rem;margin:.3rem 0}
.designer__control-card h3 {margin-bottom:.35rem}
.designer__bore-details {margin-top:.35rem;font-size:.76rem}
.designer__bore-details summary {cursor:pointer;color:var(--accent)}
.designer__bore-details[open] {margin-top:.6rem}
.designer__control-card.is-selected {outline:2px solid var(--accent);outline-offset:2px}
.designer__footer {display:flex;gap:.8rem;margin-top:.8rem;align-items:start}
.designer__results {flex:0 0 35%}.designer__output {flex:1}
.designer__output .designer__actions {margin-top:.55rem}
@media(max-width:1050px){.designer__setup{grid-template-columns:repeat(2,minmax(0,1fr))}.designer__setup-meta,.designer__setup .designer__validation{grid-column:auto}.designer__workspace{grid-template-columns:1fr}.designer__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.designer__setup{grid-template-columns:1fr}.designer__setup-meta,.designer__setup .designer__validation{grid-column:1}.designer__controls{grid-template-columns:1fr;grid-template-areas:"nose" "fit" "body" "cap" "connector"}.designer__footer{display:block}.designer__results{margin-bottom:.8rem}}
.designer__controls,.designer__output {grid-area:auto}
.designer__inline-dimensions {margin-top:.6rem;border-top:1px solid var(--stroke);padding-top:.45rem}
.designer__inline-dimensions h3 {font-size:.85rem;margin:0;color:var(--accent)}
.designer__inline-dimensions .designer__table-head {margin:.3rem 0 0}
.designer__inline-dimensions .designer__table-row--read-only {padding:.12rem .3rem;font-size:.71rem}
.designer__footer .designer__output {width:100%}
.designer__save-strip {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.45rem;padding:.4rem 0;border-top:1px solid var(--stroke)}
.designer__save-strip h3 {margin:0;color:var(--accent);font-size:.78rem;white-space:nowrap}
.designer__save-strip .designer__actions {gap:.3rem}
.designer__save-strip .designer__actions a,.designer__save-strip .designer__actions button {padding:.28rem .4rem;font-size:.69rem}
.designer__dimensions-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem}
.designer__dimensions-grid .designer__inline-dimensions {min-width:0}
.designer__dimensions-grid .designer__table-head {font-size:.66rem}
.designer__dimensions-grid .designer__table-row input {padding:.23rem .3rem;font-size:.72rem}
.designer__dimensions-grid .designer__actions {margin-top:.3rem}
.designer__dimensions-grid .designer__actions button {padding:.25rem .4rem;font-size:.69rem}
@media(max-width:650px){.designer__dimensions-grid{grid-template-columns:1fr}}
.designer__fit-note {margin:.35rem 0 0;color:#72d9c7;font-size:.69rem;line-height:1.35}
.designer__field-warning {display:block;margin:.3rem 0;color:#f9cf80;font-size:.72rem;line-height:1.4}
.designer__setup {grid-template-columns:repeat(3,minmax(0,1fr))}
.designer__setup-meta {grid-column:1/3;grid-row:3}
.designer__setup .designer__validation {grid-column:3;grid-row:2}
.designer__hardware-value {display:flex;justify-content:space-between;gap:.35rem;padding:.3rem .35rem;border-bottom:1px solid var(--stroke);font-size:.72rem;color:var(--muted)}
.designer__hardware-value strong {color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.designer__derived-field {min-width:0}
.designer__derived-toolbar {display:flex;align-items:center;justify-content:space-between;gap:.3rem;margin-top:.1rem;color:#72d9c7;font-size:.69rem}
.designer__derived-toolbar button {border:0;background:none;color:var(--accent);padding:0;font:inherit;text-decoration:underline;cursor:pointer}
.designer__derived-field:not(.is-overridden) input[type="number"] {color:#72d9c7;background:rgba(114,217,199,.07)}
.designer__derived-field.is-overridden input[type="number"] {border-color:#f9cf80;color:#f9cf80}
.designer__derived-field.is-overridden .designer__derived-toolbar {color:#f9cf80}
.designer__length-field {min-width:0}
.designer__length-field label {margin:.3rem 0}
.designer__fit-action {display:block;margin:.2rem 0 0;padding:.2rem .35rem;border:1px solid var(--accent);border-radius:5px;background:transparent;color:var(--accent);font:inherit;font-size:.68rem;cursor:pointer}
.designer__fit-action:disabled {opacity:.55;cursor:default}
#cap-fit-note.is-overlap {color:#f9cf80}
#cutaway .designer__rounded-edge {cursor:pointer;pointer-events:stroke}
#cutaway .designer__rounded-edge:hover,#cutaway .designer__rounded-edge.is-active {stroke-width:4;filter:drop-shadow(0 0 4px currentColor)}
#cutaway .designer__radius-label {cursor:pointer}
#cutaway .designer__radius-label.is-active {font-weight:700;text-decoration:underline}
.designer input[readonly] {color:#72d9c7;background:rgba(114,217,199,.07);cursor:default}
@media (min-width:1200px) {body {zoom:1.25}}
.designer__sweep-toggle {display:flex!important;align-items:center;gap:.4rem;cursor:pointer}
.designer__sweep-toggle input {width:auto;margin:0}
.designer__sweep-navigation {display:flex;align-items:center;justify-content:space-between;gap:.35rem;font-size:.7rem}
.designer__sweep-navigation button {border:1px solid var(--stroke);border-radius:5px;background:var(--bg);color:var(--text);padding:.25rem .4rem;cursor:pointer}
.designer__sweep-navigation button:disabled {opacity:.45;cursor:default}
@media(max-width:1050px){.designer__setup{grid-template-columns:repeat(2,minmax(0,1fr))}.designer__setup-meta,.designer__setup .designer__validation{grid-column:auto;grid-row:auto}}
@media(max-width:650px){.designer__setup{grid-template-columns:1fr}.designer__setup-meta,.designer__setup .designer__validation{grid-column:1;grid-row:auto}}
.designer__validation.is-ready {color:#72d9c7;border-color:rgba(114,217,199,.45);background:rgba(114,217,199,.08)}
.designer__validation:empty {display:none}
.designer label.has-reset {position:relative}
.designer .designer__reset-value {position:absolute;top:0;right:0;border:0;background:var(--bg1);color:var(--accent);font:inherit;font-size:.68rem;line-height:1.2;padding:0 0 0 .2rem;cursor:pointer;opacity:0}
.designer label.has-reset:hover .designer__reset-value,.designer label.has-reset:focus-within .designer__reset-value {opacity:1}
.designer .designer__reset-value:hover,.designer .designer__reset-value:focus-visible {text-decoration:underline;opacity:1}
@media(hover:none){.designer .designer__reset-value{opacity:1}}
.designer__select-heading {display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}
.designer__setup .designer__select-group select {margin-top:.25rem}
#bushing-source {font-size:.7rem;white-space:nowrap}
#bushing-source[hidden] {display:none}
.designer__setup>.designer__sweep-toggle {grid-column:3;grid-row:3;align-self:center;margin:.15rem 0}
.designer__setup>#fit-sweep-controls {grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:end;padding:.45rem .6rem;border:1px solid var(--stroke);border-radius:8px}
.designer__setup>#fit-sweep-controls[hidden] {display:none}
.designer__setup>#fit-sweep-controls .designer__fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.designer__setup>#fit-sweep-controls label {font-size:.72rem}
.designer__parts-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.designer__parts-grid section {min-width:0}
.designer__parts-grid h4 {margin:.1rem 0 .3rem;color:var(--accent);font-size:.85rem}
.designer__parts-grid svg {display:block;width:100%;height:auto;background:#07090f;border:1px solid var(--stroke);border-radius:10px}
.designer__parts-grid p {margin:.35rem 0;color:var(--muted);font-size:.7rem;line-height:1.35}
#nose-part-profile [data-section-kind],#cap-part-profile [data-section-kind] {cursor:pointer}
#connector-part-profile [data-section-kind] {cursor:pointer}
#nose-part-profile [data-section-kind].is-selected,#cap-part-profile [data-section-kind].is-selected {stroke:#fff;stroke-width:3}
#connector-part-profile [data-section-kind].is-selected {stroke:#fff;stroke-width:3}
#panel-connector .designer__fields {grid-template-columns:repeat(3,minmax(0,1fr))}
.designer__body-sections {grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .4rem;border-top:1px solid var(--stroke);margin-top:.4rem;padding-top:.3rem}
.designer__body-sections .designer__sweep-toggle {align-self:end;padding-bottom:.45rem}
@media(max-width:650px){#panel-connector .designer__fields {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.designer__setup>.designer__sweep-toggle{grid-column:auto;grid-row:auto}.designer__setup>#fit-sweep-controls{grid-row:auto;grid-template-columns:1fr}}
@media(max-width:650px){.designer__setup>.designer__sweep-toggle{grid-column:1}.designer__setup>#fit-sweep-controls .designer__fields{grid-template-columns:1fr}.designer__parts-grid{grid-template-columns:1fr}}
