.kr-page{padding-top:7rem}
.kr-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2rem;max-width:1200px;margin:0 auto;align-items:start}
.kr-stage{position:sticky;top:6rem;aspect-ratio:4/3;background:radial-gradient(ellipse at 50% 40%,#2a2116,#0b0907 70%);border:1px solid var(--line);box-shadow:0 0 40px rgba(224,168,58,.12) inset}
#kr-canvas{position:absolute;inset:0;touch-action:none}#kr-canvas canvas{display:block;width:100%!important;height:100%!important}
.kr-hint{position:absolute;bottom:.4rem;left:0;right:0;text-align:center;color:var(--muted);font-size:.78rem;pointer-events:none}
.kr-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gold2);font-family:Cinzel,serif}
.kr-ready .kr-loading{display:none}
.kr-form fieldset{border:1px solid var(--line);padding:1rem 1.1rem 1.1rem;margin-bottom:1rem;background:rgba(20,16,10,.55)}
.kr-form legend{font-family:Cinzel,serif;color:var(--gold2);padding:0 .4rem;letter-spacing:.06em}
.kr-form label{display:block;font-size:.88rem;color:var(--muted);margin:.55rem 0 0}
.kr-form input:not([type=radio]):not([type=file]),.kr-form select{display:block;width:100%;margin-top:.25rem;padding:.6rem .7rem;background:#0d0a07;border:1px solid var(--line);color:var(--text);font:inherit;font-size:1rem;border-radius:2px}
.kr-form input[type=file]{display:block;margin-top:.4rem;color:var(--text);max-width:100%}
.kr-seg,.kr-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.3rem 0}
.kr-seg label,.kr-chips label{margin:0}
.kr-seg input,.kr-chips input{position:absolute;opacity:0;pointer-events:none}
.kr-seg span,.kr-chips span{display:inline-block;padding:.5rem .85rem;border:1px solid var(--line);color:var(--text);font-size:.88rem;border-radius:2px;transition:.2s;background:#0d0a07}
.kr-seg input:checked+span,.kr-chips input:checked+span{border-color:var(--gold);color:#120d05;background:linear-gradient(180deg,#e2b453,#a8772a);font-weight:600}
.kr-seg input:focus-visible+span,.kr-chips input:focus-visible+span{outline:2px solid var(--gold2)}
.kr-sw-label{font-size:.88rem;color:var(--muted);margin:.4rem 0 .3rem}.kr-sw-label strong{color:var(--gold2)}
.kr-swatches{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}
.kr-swatches button{width:34px;height:34px;border-radius:50%;border:2px solid #3a2f1f;padding:0;box-shadow:inset 0 -6px 10px rgba(0,0,0,.35)}
.kr-swatches button[aria-pressed=true]{border-color:var(--gold2);box-shadow:0 0 0 2px #070605,0 0 0 4px var(--gold)}
.kr-msg{min-height:1.4em;font-size:.9rem;margin:.2rem 0 .6rem;color:#8fd18f}.kr-msg.err{color:#ff8a7a}
.kr-buy{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.kr-buy label{margin:0;width:80px}
.kr-price{flex:1;min-width:110px}.kr-price strong{display:block;font-family:Cinzel,serif;font-size:1.9rem;color:var(--gold2);line-height:1}.kr-each{font-size:.8rem;color:var(--muted)}
.kr-add:disabled{opacity:.5;cursor:not-allowed}
.kr-promo{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;max-width:1200px;margin:0 auto 2rem;padding:1.1rem 1.4rem;border:1px solid var(--gold);background:linear-gradient(90deg,rgba(201,150,58,.14),rgba(7,6,5,.4))}
.kr-promo h2{font-size:1.3rem;margin-bottom:.2rem}.kr-promo p{color:var(--muted);margin:0}
@media (max-width:900px){.kr-wrap{grid-template-columns:1fr}.kr-stage{position:relative;top:0;aspect-ratio:1/1;max-height:70vh;width:100%}.kr-page{padding-top:5.5rem}}
.kr-tools{position:absolute;top:.6rem;right:.6rem;display:flex;gap:.4rem;z-index:2}
.kr-tools button{min-width:44px;height:40px;padding:0 .7rem;border:1px solid var(--gold);background:rgba(7,6,5,.75);color:var(--gold2);font:600 .85rem Oswald,sans-serif;letter-spacing:.06em;border-radius:20px}
.kr-tools .kr-360[aria-pressed=true]{background:linear-gradient(180deg,#e2b453,#a8772a);color:#120d05}
.kr-tools .kr-reset{font-size:1.15rem}
.kr-dl{border:1px solid var(--gold);padding:.7rem 1rem;margin-bottom:1rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}

.kr-count{color:#9a8f7a;font-weight:400}.kr-count.full{color:#ffb35c}
.kr-split{background:none;border:1px dashed var(--gold);color:var(--gold2);padding:.35rem .8rem;border-radius:6px;cursor:pointer;margin:.1rem 0 .6rem;font:inherit;font-size:.85rem}
.kr-syms span{min-width:2.2rem;text-align:center;font-size:1.05rem}.kr-spos{margin-top:.4rem}
.kr-swatches button{width:42px;height:42px;position:relative}.kr-swatches button[aria-pressed=true]::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:700;text-shadow:0 0 3px #000,0 0 2px #000}
.kr-sw-n{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--gold);color:#120d05;font-size:.75rem;font-weight:700;margin-right:.3rem}
.kr-colprev{display:flex;align-items:center;gap:.8rem;margin:.2rem 0 .8rem;font-size:.85rem;color:#b9ad95}.kr-cp-base{display:grid;place-items:center;width:84px;height:40px;border-radius:10px;box-shadow:inset 0 -6px 10px rgba(0,0,0,.35),0 0 0 1px #3a2f1f}.kr-cp-top{font:700 1.2rem 'Russo One',sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.45)}
.kr-spos[hidden],.kr-split[hidden],.kr-flip[hidden]{display:none!important}

.kr-locked label{opacity:.4;pointer-events:none}
@media (max-width:900px){.kr-stage{position:sticky;top:112px;z-index:20;aspect-ratio:auto;height:42vh;max-height:none}}
#kr-canvas,#kr-canvas canvas{cursor:-webkit-grab;cursor:grab;touch-action:none}
#kr-canvas.dragging,#kr-canvas.dragging canvas{cursor:-webkit-grabbing;cursor:grabbing}

.kr-big{margin:.35rem 0 0;padding:.5rem .7rem;border:1px solid #b88a2a;border-radius:8px;background:rgba(226,169,58,.1);color:#ffd27a;font-size:.88rem}.kr-big[hidden]{display:none}
