:root{--ink:#163443;--pink:#e62f77;--teal:#007d86;--paper:#fffaf2;--purple:#6843c8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,sans-serif;line-height:1.6}button,a,input{touch-action:manipulation}button,a.primary{font:inherit;font-weight:700;border-radius:14px;border:1px solid #ccdadd;padding:10px 16px;background:white;color:var(--ink);cursor:pointer;text-decoration:none}button:hover,a.primary:hover{border-color:var(--teal)}button:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:3px}button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}button:disabled{opacity:.45;cursor:default}a{color:var(--teal)}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px max(5vw,20px);background:#fff;box-shadow:0 2px 16px #16344308}.top>a{font-size:1.2rem;font-weight:850;text-decoration:none;color:var(--ink)}.top span{color:var(--pink)}nav{display:flex;gap:20px;flex-wrap:wrap}nav a{text-decoration:none;font-weight:700}main{max-width:1180px;margin:auto;padding:36px 24px}h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04;letter-spacing:-.04em;margin:14px 0 24px}h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;letter-spacing:-.02em}.hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:36px;margin-bottom:50px}.hero img{width:100%;height:auto;border-radius:28px;box-shadow:12px 12px 0 #ffe3ae}.eyebrow{color:var(--pink);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:850}.badge{display:inline-block;background:#def3ee;border-radius:20px;padding:8px 14px;font-size:.9rem;font-weight:700}.filters,.tools,.toolbar,.palette,.zoom,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filters{margin:24px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{padding:0;overflow:hidden;text-align:left;border-radius:20px;border:1px solid #dae1e1}.card img{display:block;width:100%;aspect-ratio:1.25;object-fit:contain;background:white}.card span{display:block;padding:12px 18px}.card small{display:block;color:var(--teal);font-weight:700}.editor-title{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.editor-title h2{margin:0 0 15px}.toolbar{padding:14px;border-radius:18px;background:white;box-shadow:0 4px 18px #1634430b}.toolbar label{display:flex;gap:8px;align-items:center}.toolbar input{width:100px}.palette{padding:16px 0}.swatch{width:38px;height:38px;padding:0;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #bbc9cc}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.zoom{margin:0 0 12px}.zoom p{font-size:.85rem;margin-left:auto}.zoom button{padding:6px 16px}#viewport{height:min(68vh,700px);overflow:auto;position:relative;touch-action:none;overscroll-behavior:contain;background:#e4e9e8;border:1px solid #bacaca;border-radius:18px}canvas{display:block;background:#fff;transform-origin:top left;touch-action:none;margin:0 auto;max-width:none;user-select:none}.actions{margin-top:18px}.primary,a.primary{background:var(--pink);color:#fff;border-color:var(--pink)}#save-status{font-weight:750;margin-bottom:0}.hint,#account-info{font-size:.92rem;color:#4c666f}.discover{background:#e7f5ef;border-radius:28px;padding:32px;margin-top:64px}.discover .primary{display:inline-block}footer{text-align:center;padding:30px;font-size:.9rem;border-top:1px solid #e4e5da}[hidden]{display:none!important}@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero img{max-height:300px;object-fit:cover}.hero{gap:18px;margin-bottom:35px}.top{flex-wrap:wrap}.top nav{gap:15px;font-size:.88rem}main{padding:22px 16px}.toolbar{padding:10px;gap:8px}.tools button{padding:8px 12px;font-size:.87rem}.editor-title{gap:8px}.zoom p{width:100%;margin:0}.actions button{flex:1;font-size:.86rem;padding:12px 8px}#viewport{height:58vh}.discover{padding:24px}.swatch{width:34px;height:34px}}@media print{body{background:#fff}.top,.hero,#gallery,.toolbar,.palette,.zoom,.actions,#account-info,#save-status,.hint,.discover,footer,.editor-title>button,.editor-title>a{display:none!important}main{padding:0}#editor{display:block!important}#viewport{height:auto;border:0;overflow:visible;background:white}canvas{width:100%!important;height:auto!important}.editor-title h2{font-size:20px}}
