.ilup [hidden]{display:none!important}
.ilup{margin:18px 0 0;color:var(--ink,#242821)}
.ilup__gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.43fr);grid-template-rows:repeat(2,205px);gap:10px}
.ilup__view{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid var(--rule,#dcded5);border-radius:8px;background:var(--il-preview-surface,var(--paper,#f6f4ef));color:inherit;text-align:left;cursor:pointer;grid-column:2;font:inherit}
.ilup__view.is-active{grid-column:1;grid-row:1 / 3;cursor:default}
.ilup__view:focus-visible,.ilup__units button:focus-visible,.ilup__retry:focus-visible{outline:2px solid var(--ink,#242821);outline-offset:3px}
.ilup__view:hover:not(.is-active){border-color:var(--ink-38,#91958b)}
.ilup__view-label{position:absolute;left:14px;top:13px;z-index:1;font:500 10px/1.2 var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase}
.ilup__enlarge{position:absolute;bottom:10px;right:10px;font:500 9px/1.2 var(--font-mono,monospace);color:var(--mute,#68715f)}
.ilup__view.is-active .ilup__enlarge{display:none}
.ilup__viewport{display:block;position:absolute;inset:34px 0 22px}
.ilup__view canvas,.ilup__view svg{display:block;width:100%;height:100%}
.ilup__view svg{position:absolute;inset:0;pointer-events:none;overflow:visible}
.ilup__view svg line{stroke:var(--ink-38,#86897f);stroke-width:.8;vector-effect:non-scaling-stroke}
.ilup__view svg text{fill:var(--ink,#242821);font:500 10px var(--font-mono,monospace);paint-order:stroke;stroke:var(--paper,#f6f4ef);stroke-width:5px;stroke-linejoin:round}
.ilup__depth-caption{position:absolute;bottom:10px;left:12px;right:60px;font:500 9px/1.35 var(--font-mono,monospace);color:var(--mute,#68715f)}
.ilup__view.is-active .ilup__depth-caption{font-size:11px;right:12px}
.ilup__view:not(.is-active) .ilup__face-caption{display:none}
.ilup__size{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 8px}
.ilup__size-label{display:block;font:500 9px/1.4 var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.1em;color:var(--mute,#68715f)}
.ilup__size p{margin:4px 0 0;font:500 12px/1.5 var(--font-ui,system-ui)}
.ilup__units{display:flex;border:1px solid var(--rule,#dcded5);border-radius:20px;padding:2px;flex-shrink:0}
.ilup__units button{border:0;background:transparent;color:inherit;border-radius:20px;padding:9px 10px;min-height:36px;cursor:pointer;font:500 10px var(--font-ui,system-ui)}
.ilup__units button[aria-pressed=true]{background:var(--ink,#242821);color:var(--paper,#f6f4ef)}
.ilup__status{min-height:18px;margin:4px 0 0;font:400 11px/1.5 var(--font-ui,system-ui);color:var(--mute,#68715f)}
.ilup[data-state=invalid] .ilup__gallery{opacity:.35}
.ilup[data-state=invalid] .ilup__status{color:#96362c}
.ilup__fallback{box-sizing:border-box;min-height:420px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;padding:20px;background:var(--ink-04,#eeece5);border-radius:8px;text-align:center;font:400 13px/1.5 var(--font-ui,system-ui)}
.ilup__spinner,.ilup[data-state=updating] [data-preview-status]:before{box-sizing:border-box;display:inline-block;width:30px;height:30px;border:2px solid var(--rule,#c2c5ba);border-top-color:var(--ink,#242821);border-radius:50%;flex-shrink:0}
.ilup:not([data-state=loading]) .ilup__spinner{display:none}
.ilup[data-state=updating] [data-preview-status]:before{content:'';width:14px;height:14px;margin-right:8px;vertical-align:-2px}
@keyframes ilup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:no-preference){.ilup__spinner,.ilup[data-state=updating] [data-preview-status]:before{animation:ilup-spin .85s linear infinite}}
.ilup__retry{border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;padding:10px 14px;font:inherit;cursor:pointer}
.ilup__name-slot:empty{display:none}
.ilup__view-label{font-size:11px}
.ilup__size p{font-size:13px}
.ilup__units button{font-size:12px}
.ilup__status{font-size:12px}
.ilup__support{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;margin-top:10px;padding:4px 12px 10px;border:1px solid var(--rule,#dcded5);border-radius:8px;background:var(--paper,#f6f4ef);font:400 13px/1.4 var(--font-ui,system-ui)}
.ilup__support p{margin:0;color:var(--mute,#68715f);font-size:12px}
.ilup__support-help{grid-column:1/-1;grid-row:2}
.ilup__support-toggle{grid-column:1;grid-row:1;display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:600}
.ilup__support-toggle small{font-size:11px;font-weight:400;margin-left:6px;color:var(--mute,#68715f)}
.ilup__support-toggle input{appearance:none;position:relative;flex:0 0 42px;width:42px;height:24px;margin:0;border:1px solid var(--rule,#c2c5ba);border-radius:20px;background:var(--rule,#c2c5ba);cursor:pointer}
.ilup__support-toggle input:before{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--paper,#fff)}
.ilup__support-toggle input:checked{background:var(--ink,#242821);border-color:var(--ink,#242821)}
.ilup__support-toggle input:checked:before{transform:translateX(18px)}
.ilup__support-toggle input:focus-visible,.ilup__support summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.ilup__support-toggle input:disabled{opacity:.5;cursor:wait}
.ilup__support details{display:contents}
.ilup__support summary{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:3px;min-width:44px;min-height:44px}
.ilup__support details p{grid-column:1/-1;grid-row:3;margin-top:8px;padding-top:8px;border-top:1px solid var(--rule,#dcded5)}
.ilup__support details:not([open]) p{display:none}
.ilup__view svg .ilup__foot-highlight{fill:none;stroke:#956332;stroke-width:2;stroke-dasharray:4 3}
@media(max-width:1080px){
 .ilup{margin-top:12px}
 .ilup__name-slot .step{margin:0 0 16px;padding:0;border:0;display:block}
 .ilup__name-slot .num{display:none}
 .ilup__name-slot .step>span:last-child{display:block}
 .ilup__name-slot .inp{margin-top:8px}
 .ilup__name-slot .hint{font-size:11px}
 .fold:has(.ilup) .buy{max-width:none}
}
@media(max-width:700px){
 .ilup__fallback{min-height:calc(max(260px,72vw) + 136px)}
 .ilup__gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(260px,72vw) 128px;gap:8px}
 .ilup__view{grid-column:auto;grid-row:2}
 .ilup__view.is-active{grid-column:1 / 3;grid-row:1}
 .ilup__view-label{font-size:11px;left:10px;top:10px}
 .ilup__viewport{inset:28px 0 22px}
 .ilup__view:not(.is-active) .ilup__depth-caption{font-size:10px;left:10px;right:40px;bottom:7px}
 .ilup__enlarge{font-size:8px;right:6px;bottom:7px}
 .ilup__size{align-items:flex-start}
 .ilup__size p{font-size:12px}
 .ilup__units button{min-height:40px;padding:9px}
}
@media(prefers-reduced-motion:no-preference){.ilup__view{transition:border-color .15s ease}}
.ilup__lightning{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0;font:12px var(--font-ui)}
.ilup__lightning select{max-width:70%;padding:8px;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit}
