:root{--navy:#142b43;--panel:#203b56;--gold:#e9bb70;--muted:#c3cfdb}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:#f7f2e8;font-family:Tahoma,Arial,sans-serif;line-height:1.65}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.bar{height:70px;max-width:1290px;padding:0 22px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{font:900 26px Arial;letter-spacing:.1em}.nav{display:flex;align-items:center;gap:23px}.lang{border:1px solid var(--gold);color:var(--gold);background:transparent;border-radius:4px;padding:6px 10px}.main{max-width:1290px;margin:auto;padding:36px 22px 75px}.tag,.step{color:var(--gold);font:700 13px Arial;letter-spacing:.1em}h1{font-size:clamp(34px,4vw,54px);margin:10px 0}h2{font-size:22px;margin:9px 0 18px}.lead,p{color:var(--muted)}.lead{margin:0 0 28px}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:start}.preview-card,.controls-card{background:var(--panel);border:1px solid #ffffff30;border-radius:8px;overflow:hidden}.preview-card{padding:13px}.photo-stage{position:relative;width:100%;aspect-ratio:830/466;direction:ltr;touch-action:none;background:#eee}.photo-stage>img{display:block;width:100%;height:100%;pointer-events:none}.photo-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;mix-blend-mode:multiply}.photo-stage canvas:active{cursor:grabbing}.stage-hint{position:absolute;top:48%;left:35%;width:38%;padding:8px;background:#fffdf0da;color:#22364a;border-radius:4px;text-align:center;font-size:14px;pointer-events:none}.preview-footer{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:14px;padding:12px 5px 1px}.preview-footer span:last-child{color:var(--gold)}.controls-card{padding:25px}.upload{display:block;position:relative;text-align:center;border:1px dashed var(--gold);background:#fff1;color:var(--gold);padding:20px;border-radius:5px;cursor:pointer;font-weight:bold}.upload small{display:block;color:var(--muted);font-weight:normal;font-size:13px}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:2px solid var(--gold)}.layers-title{display:flex;justify-content:space-between;margin:25px 0 10px}.layers{display:grid;gap:7px;max-height:190px;overflow:auto}.layers p{font-size:14px;margin:0}.layer{display:flex;align-items:center;gap:10px;background:#ffffff12;border:1px solid transparent;color:#fff;border-radius:4px;padding:6px;width:100%;text-align:start}.layer.active{border-color:var(--gold)}.layer img{width:38px;height:38px;object-fit:contain;background:#fff}.layer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings{margin-top:19px;border-top:1px solid #ffffff25;padding-top:12px}.settings label{display:grid;grid-template-columns:1fr auto;gap:4px;margin:12px 0;font-size:14px}.settings input{grid-column:1/-1;width:100%;accent-color:var(--gold)}.settings button{border:0;background:none;color:#f2c0b9;text-decoration:underline;padding:5px 0}.bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:22px}.bottom p{font-size:14px;max-width:790px;margin:0}.bottom button{background:var(--gold);border:0;color:#142b43;border-radius:4px;padding:11px 18px;font-weight:bold;white-space:nowrap}#status{min-height:20px;color:var(--gold);font-size:14px}html[lang=en] body{font-family:Arial,sans-serif}@media(max-width:900px){.layout{grid-template-columns:1fr}.main{padding:25px 15px 55px}.bottom{flex-direction:column;align-items:start}}@media(max-width:530px){.preview-card{padding:7px}.stage-hint{font-size:11px;padding:4px}.preview-footer{flex-direction:column;font-size:12px;gap:1px}.nav{gap:9px}}
/* Give the van a closer view while keeping the artwork aligned with the photo. */
.main{max-width:1390px}
.layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.65fr)}
.photo-stage{overflow:hidden}
.photo-stage>img,.photo-stage canvas{transform:scale(1.10);transform-origin:50% 50%}
@media(max-width:900px){.layout{grid-template-columns:1fr}}
@media(max-width:530px){.main{padding-inline:10px}}
