@font-face{font-family:A01Fredoka;src:url('/a01-assets/r22/fonts/Fredoka.ttf') format('truetype');font-weight:300 700;font-display:block}
@font-face{font-family:A01Thai;src:url('/a01-assets/r22/fonts/NotoSansThai.ttf') format('truetype');font-weight:100 900;font-display:block}
#text-editor{display:grid;gap:12px;margin-bottom:26px}#text-editor select,#text-editor input{width:100%;border:1px solid #d9c5eb;border-radius:14px;padding:14px 16px;color:#574166;background:#fdfbff;font:700 24px A01Fredoka,sans-serif}#text-editor select{font-size:32px}#text-editor input:focus,#text-editor select:focus{outline:2px solid #b99ad5}.name-hint{display:flex;justify-content:space-between;gap:12px;color:#9b82ad;font-size:12px}
.physical-size{margin:0;padding:14px 22px 0;color:#8b719f;font-size:13px;text-align:center}
.art-view-switch{display:flex;justify-content:center;gap:6px;padding:0 16px 15px}.art-view-switch button{font-size:12px;padding:7px 20px}.layer-spec{margin:12px 0 0;text-align:center;font-size:12px;color:#987eab}#text-model-view{width:100%;height:360px}#text-model-view canvas{max-width:none;max-height:none;width:100%;height:100%;cursor:grab;touch-action:none}
[hidden]{display:none!important}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border-radius:15px;font:inherit;font-weight:bold;text-align:center;text-decoration:none;cursor:pointer}.primary-action{background:#9d79c9;color:white;border:1px solid #9d79c9;box-shadow:0 5px 0 #7c5ca3}.primary-action:hover{background:#8e69bc}.primary-action:disabled{opacity:.45;cursor:default}.secondary-action{background:#f2eaf9;color:#79569a;border:1px solid #dcc8ee}.next-action{width:100%;margin-top:24px}.step-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 23px}.chosen-block{color:#8a739b;font-size:13px}.icon-types{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.icon-types button{min-height:94px;display:flex;align-items:center;justify-content:center;gap:18px;background:#fff;font-size:20px;font-weight:bold;border-radius:20px}.icon-types button[aria-selected=true]{background:#eee3f8;border-color:#ab85cc;box-shadow:0 0 0 2px #dac6ed}.type-symbol{font-size:38px;line-height:1;color:#9b76bf}.type-symbol.letters{font-family:A01Fredoka,sans-serif}.icon-workspace{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:start}.art-preview,.creator-options,.icon-library{border:1px solid #e5d9f0;border-radius:27px;background:white;overflow:hidden}.art-preview{position:sticky;top:22px}.art-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 25px}.color-badge{font-size:12px;background:#f0e8f7;color:#8765a1;border-radius:20px;padding:8px 12px}.art-stage{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;padding:28px;background-color:#faf8fc;background-image:linear-gradient(45deg,#eae4f0 25%,transparent 25%),linear-gradient(-45deg,#eae4f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eae4f0 75%),linear-gradient(-45deg,transparent 75%,#eae4f0 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.art-stage canvas{display:block;max-width:100%;max-height:390px;width:auto;height:auto;object-fit:contain}.art-stage p{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:16px;color:#9986ac;pointer-events:none}.creator-status{margin:0;min-height:44px;padding:14px 22px;color:#84669c;font-size:13px}.creator-status.is-error{color:#b44664;background:#fff3f6}.creator-options{padding:26px}.creator-options label{color:#795e91;font-size:14px}.upload-art{min-height:164px;border:1.5px dashed #c8afe0;background:#faf7fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:20px;cursor:pointer}.upload-art:hover{background:#f2eafa}.upload-plus{font-size:31px;color:#a080bd}.upload-art small{font-size:12px;color:#a18aaf}.creator-options input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.upload-art:focus-within{outline:3px solid #aa86ce}.filename{font-size:12px;color:#9a83ac;overflow-wrap:anywhere;margin:12px 0}.check-row{display:flex;align-items:center;gap:9px;margin:17px 0 25px}.check-row input{accent-color:#a17ace;width:18px;height:18px}.range-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:25px 0 15px}.range-heading output{font-size:14px;color:#795096}.creator-options input[type=range]{width:100%;accent-color:#a17ace;margin:0 0 19px}.art-color-list{display:flex;flex-direction:column;gap:12px}.art-color-control{display:grid;grid-template-columns:1fr 29px minmax(100px,42%);align-items:center;gap:12px}.art-color-control select{padding:10px 12px;border:1px solid #dfceeb;border-radius:12px;color:#75518d;background:#fff;font:inherit}.art-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.art-actions .primary-action{flex:1}.art-actions a{font-size:13px}.method-row{display:flex;gap:9px;margin-bottom:22px}.method-row button{font-size:12px;flex:1;padding:12px 8px}.creator-options textarea{display:block;width:100%;resize:vertical;min-height:120px;max-height:220px;margin-top:12px;padding:16px;border:1px solid #dfceeb;border-radius:15px;background:#fdfbff;color:#4e3b5e;font:700 23px A01Fredoka,A01Thai,sans-serif;line-height:1.6}.creator-options textarea:focus{outline:2px solid #b99ad5}.icon-library{margin-top:28px;padding:26px}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.library-heading span{font-size:13px;color:#9b83ae}.empty-library{color:#a590b7;font-size:14px;text-align:center;padding:24px}.saved-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.saved-art{display:flex;flex-direction:column;gap:7px;border:1px solid #e9def1;border-radius:18px;overflow:hidden;padding:12px}.saved-art img{width:100%;height:150px;object-fit:contain;background:#f9f5fc;border-radius:11px}.saved-art strong{font-size:14px}.saved-art small{font-size:12px;color:#9d88af}.saved-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px}.saved-actions a{font-size:12px;color:#8c65ae;text-decoration:none}.saved-actions button{font-size:11px;padding:6px 11px;background:#faf7fc}
@media(max-width:760px){.step-heading{align-items:start;flex-direction:column}.icon-types{gap:10px}.icon-types button{font-size:17px;min-height:86px;gap:10px;padding:12px}.type-symbol{font-size:30px}.icon-workspace{grid-template-columns:1fr;gap:20px}.art-preview{position:relative;top:auto}.art-stage{min-height:330px;padding:22px}.art-stage canvas{max-height:300px}.creator-options,.icon-library{padding:23px}.saved-icons{grid-template-columns:repeat(2,1fr)}.art-toolbar{padding:18px 22px}.saved-art img{height:125px}}

/* Shared block viewer and per-slot decoration studio. */
.assembly-workspace{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:start}#assembly-preview-home{align-self:stretch;min-width:0}.assembly-options{border:1px solid #e5d9f0;border-radius:27px;background:#fff;padding:25px;min-width:0}.assembly-options h2{font-size:21px;margin:0 0 20px}.assembly-options h3{font-size:15px;margin:22px 0 13px;color:#64497d}.design-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.design-categories button{padding:12px 6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5}.design-categories img{width:70px;height:70px;max-width:100%;object-fit:contain}.upload-symbol{height:70px;display:grid;place-items:center;font-size:37px;color:#a17cc9}.slot-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-buttons button{font-size:13px;padding:12px 5px}.studio-hint{font-size:12px;color:#9983aa;line-height:1.7}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.gallery-heading span{font-size:12px;color:#9b7aae}.design-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.design-gallery[data-kind=icon]{grid-template-columns:repeat(2,minmax(0,1fr))}.design-gallery[data-kind=image]{display:block}.design-gallery .upload-art{width:100%;min-height:110px;padding:18px;font-size:14px}.design-card{min-width:0;padding:8px 4px;display:flex;align-items:center;flex-direction:column;gap:6px;font-size:12px}.design-card img{width:100%;height:65px;object-fit:contain}.design-gallery[data-kind=icon] img{height:95px}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #eee4f5;margin-top:22px;padding-top:10px}.editor-heading img{width:85px;height:85px;object-fit:contain}.editor-heading h3{margin:0}#monogram-editor{display:grid;gap:11px;margin:16px 0 24px}#monogram-editor label{font-size:13px;color:#8869a1}#monogram-editor input{width:100%;border:1px solid #dfceeb;border-radius:13px;padding:12px 15px;background:#fdfbff;color:#50375f;font:700 23px A01Fredoka,sans-serif}#monogram-editor input:focus{outline:2px solid #b99ad5}.placement-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}.placement-actions button{font-size:12px}.assembly-options input[type=range]{width:100%;accent-color:#a17ace}.assembly-options .check-row{font-size:13px;color:#8867a0}.assembly-options .art-color-control{font-size:13px;grid-template-columns:1fr 26px minmax(90px,42%)}.assembly-options .creator-status{padding:15px 0;margin-top:12px}.assembly-options .creator-status.is-error{padding:13px;border-radius:12px}.assembly-options .art-actions{margin-top:20px}.assembly-options .art-actions>*{font-size:13px}.saved-art button{font-size:12px}#assembly-preview-home .preview{position:sticky;top:22px}.design-categories button:disabled,.saved-art button:disabled{opacity:.5;cursor:default}
@media(max-width:760px){.assembly-workspace{grid-template-columns:1fr;gap:20px}#assembly-preview-home .preview{position:relative;top:auto}.assembly-options{padding:21px}.design-categories{gap:7px}.design-categories button{font-size:11px}.design-categories img,.upload-symbol{height:60px;width:60px}.design-gallery{gap:6px}.design-card img{height:50px}}

#letter-picker{display:grid;grid-template-columns:1fr minmax(120px,55%);align-items:center;gap:14px;margin:12px 0 18px}#letter-picker label{font-size:13px;color:#8867a0}#letter-picker select{width:100%;padding:12px 15px;border:1px solid #dfceeb;border-radius:13px;background:#fdfbff;color:#574166;font:700 23px A01Fredoka,sans-serif}.rotation-control{margin-top:23px}.rotation-control>label{display:block;font-size:13px;color:#8867a0;margin-bottom:10px}.rotation-control>div{display:flex;gap:10px;align-items:center}.rotation-control input[type=range]{flex:1;min-width:0}.rotation-control input[type=number]{width:67px;padding:9px;border:1px solid #dfceeb;border-radius:10px;color:#75518d;font:inherit;font-size:13px}.rotation-control span{font-size:14px;color:#9479a5}

.placement-status{font-size:12px;line-height:1.6;padding:11px 13px;border-radius:12px;background:#edf7f1;color:#577864;margin:18px 0 0}.placement-status.is-error{color:#aa5064;background:#fff0f4}

.block-orientation{display:flex;align-items:center;gap:12px;margin:20px 0;color:#795e91;font-size:14px}.block-orientation select{font:inherit;color:#75518d;background:white;padding:10px 14px;border:1px solid #dfceeb;border-radius:12px}.slot-buttons[data-layout="2x2"]{grid-template-columns:repeat(2,1fr)}.slot-buttons[data-orientation="vertical"]:not([data-layout="2x2"]){grid-template-columns:1fr}

.design-categories{grid-template-columns:repeat(2,minmax(0,1fr))}#text-icon-editor{display:grid;gap:12px;margin:18px 0 24px}.text-line-input{display:grid;grid-template-columns:1fr auto;gap:8px}.text-line-input input{grid-column:1/-1;width:100%;font:700 23px A01Fredoka,sans-serif;padding:12px 15px;border:1px solid #dfceeb;border-radius:13px;color:#50375f}.text-line-input label,#text-icon-editor>label{font-size:13px;color:#8869a1}.text-line-input span,.text-icon-size{font-size:12px;color:#9983aa}#text-icon-font{font:inherit;padding:12px;border:1px solid #dfceeb;border-radius:12px;background:white;color:#75518d}.text-line-input input:focus,#text-icon-font:focus{outline:2px solid #b99ad5}

/* Local Thai sticker editor. Four licensed real fonts are loaded on demand. */
.design-categories{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:420px){.design-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Paint the letter cover larger inside the existing card and layout slot. */
.design-categories button[data-kind=monogram]{overflow:hidden}
#monogram-cover{transform:scale(1.3);transform-origin:center}
@media(max-width:760px){#monogram-cover{transform:scale(1.35)}}

/* Four categories, with the actual emoji library first. */
.design-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
.design-gallery[data-kind=emoji]{grid-template-columns:repeat(4,minmax(0,1fr));max-height:520px;overflow:auto;padding:3px;overscroll-behavior:contain}
.design-gallery[data-kind=emoji] .design-card{font-size:11px;line-height:1.5}
.design-gallery[data-kind=emoji] img{height:70px}
.art-color-control canvas{width:24px;height:24px;border-radius:50%;border:1px solid #dfceeb}
@media(max-width:420px){.design-gallery[data-kind=emoji]{grid-template-columns:repeat(3,minmax(0,1fr))}}


.a01-back{font-size:13px;color:#77528d;text-decoration:none;white-space:nowrap}header{flex-wrap:wrap}header>div{flex:1;min-width:180px}
.cord-options{padding-bottom:30px}.cord-enabled{display:flex;align-items:center;gap:10px;min-height:48px;color:#795e91;font-size:16px;margin-top:15px}.cord-enabled input{width:20px;height:20px;accent-color:#9d79c9}.cord-part-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.cord-part-tabs button{min-height:48px;font-size:16px}.cord-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cord-palette button{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:14px}.cord-palette canvas{width:32px;height:32px}.cord-save-status{min-height:20px;font-size:12px;color:#8b719f;line-height:1.6;margin:22px 0 0}#cord-preview-home{align-self:stretch;min-width:0}#cord-preview-home .preview{position:sticky;top:22px}
@media(max-width:760px){#cord-preview-home .preview{position:relative;top:auto}.cord-options{padding:21px}}
@media(max-width:420px){header{gap:10px}.a01-back{flex-basis:100%}}

.a01-order-actions{display:flex;flex-direction:column;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid #eadff3}.a01-order-actions>strong{font-size:22px;color:#79569a}.a01-order-actions .primary-action,.a01-order-actions .secondary-action{min-height:50px;display:grid;place-items:center;text-decoration:none}

/* One persistent cart outside the editor; remains visible on every A01 step. */
body{padding-bottom:100px}.a01-cart-access{position:fixed;right:22px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 16px;border:2px solid #79569a;border-radius:17px;background:#fff;color:#62427e;text-decoration:none;box-shadow:0 5px 0 #b59bc9;font-size:16px}.a01-cart-access>span{font-size:24px}.a01-cart-access>b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border-radius:14px;background:#9d79c9;color:#fff}.a01-cart-access:focus-visible{outline:3px solid #9d79c9;outline-offset:5px}@media(max-width:760px){.a01-cart-access{right:14px;font-size:15px}}
