:root{color:#242321;font-synthesis:none;background:#e8e7e2;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{min-width:1024px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}.app-shell{grid-template-rows:54px calc(100vh - 54px);grid-template-columns:330px 1fr;min-height:100vh;display:grid}.mobile-welcome{display:none}.app-header{z-index:10;background:#f7f6f2;border-bottom:1px solid #cfcec8;grid-column:1/-1;align-items:center;gap:10px;padding:0 14px;display:flex;position:relative}.brand{align-items:center;gap:8px;min-width:185px;font-weight:700;display:flex}.project-name{background:0 0;border:0;width:280px;padding:7px 8px;font-size:14px;font-weight:600}.project-name:focus{background:#fff;outline:1px solid #9d9b94}.save-state{color:#77736c;align-items:center;gap:5px;margin-left:auto;font-size:12px;display:flex}.icon-button,.primary-button,.wide-button,.upload-button,.header-action{cursor:pointer;background:#fff;border:1px solid #c4c2ba;justify-content:center;align-items:center;gap:7px;min-height:34px;display:inline-flex}.header-action{background:#fff;padding:0 11px;font-size:12px;font-weight:650}.header-language{background:#fff;border:1px solid #c4c2ba;align-items:center;gap:6px;height:34px;padding:0 5px 0 8px;display:flex}.icon-button{width:34px;padding:0}.icon-button.small{width:26px;min-height:26px}.primary-button{color:#fff;background:#252421;border-color:#252421;padding:0 14px;font-weight:650}.wide-button,.upload-button{width:100%;padding:8px 12px;font-weight:650}button:disabled{opacity:.38;cursor:default}.modal-backdrop{z-index:100;background:#1c1b1885;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.print-dialog{background:#f7f6f2;width:min(620px,100%);padding:22px;box-shadow:0 18px 60px #1413114d}.dialog-header{border-bottom:1px solid #d1cfc8;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:17px;display:flex}.dialog-header h2{margin:0 0 5px;font-size:20px}.dialog-header p{color:#6b6862;margin:0;font-size:12px;line-height:1.45}.print-steps{display:grid}.print-step{border-bottom:1px solid #d8d6cf;grid-template-columns:38px 1fr 150px;align-items:center;gap:12px;padding:18px 0;display:grid}.step-icon{background:#fff;border:1px solid #c8c5bd;place-items:center;width:34px;height:34px;display:grid}.step-copy h3{margin:0 0 4px;font-size:14px}.step-copy p{color:#6b6862;margin:0;font-size:11px;line-height:1.4}.print-step .wide-button{min-height:36px;margin:0}.lamination-note{color:#595650;border-left:3px solid #8d897f;margin:16px 0 0;padding-left:12px;font-size:11px;line-height:1.45}.sidebar{background:#f7f6f2;border-right:1px solid #cfcec8;flex-direction:column;grid-area:2/1;display:flex;overflow:hidden}.tabs{border-bottom:1px solid #d5d3cd;grid-template-columns:repeat(3,1fr);display:grid}.tabs button{cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:6px;height:43px;font-size:12px;display:flex}.tabs button.active{background:#efeee9;border-bottom-color:#242321;font-weight:700}.sidebar-content{flex:1;padding:15px;overflow-y:auto}.section-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title h2{margin:0;font-size:15px}.section-title span{color:#77736c;font-size:12px}.sidebar h3{text-transform:uppercase;letter-spacing:.05em;color:#77736c;margin:22px 0 10px;font-size:12px}.field{margin-bottom:11px;display:block}.field>span{color:#65625d;margin-bottom:5px;font-size:11px;font-weight:650;display:block}.field input:not([type=range]):not([type=color]),.field select,.search,.library-item input{color:#242321;background:#fff;border:1px solid #c9c7c0;width:100%;height:34px;padding:0 8px}.field input[type=color]{background:#fff;border:1px solid #c9c7c0;width:100%;height:30px;padding:2px}.two-fields,.color-grid{gap:9px;display:grid}.two-fields{grid-template-columns:1fr}.color-grid{grid-template-columns:1fr 1fr}.control-intro{color:#6b6862;margin:-4px 0 14px;font-size:11px;line-height:1.4}.field-help{color:#77736c;margin-top:5px;font-size:10px;font-weight:400;line-height:1.35;display:block}.segmented-control{flex-wrap:wrap;gap:4px;display:flex}.segmented-control button{color:#4f4c46;cursor:pointer;background:#fff;border:1px solid #c9c7c0;border-radius:4px;min-height:30px;padding:5px 8px;font-size:10px;font-weight:650;line-height:1.15}.segmented-control button:hover{border-color:#817e76}.segmented-control button.active{color:#fff;background:#292824;border-color:#292824}.segmented-control.compact{flex-wrap:nowrap;gap:2px}.segmented-control.compact button{background:0 0;border-color:#0000;min-height:24px;padding:3px 6px;font-size:9px}.segmented-control.compact button.active{color:#fff;background:#292824;border-color:#292824}.range-row{grid-template-columns:1fr 58px;align-items:center;gap:9px;display:grid}.range-row input{accent-color:#383632;width:100%}.range-row output{text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.capacity{color:#77736c;font-size:11px;line-height:1.4}.switch-row{cursor:pointer;background:#eceae4;border:1px solid #d0cec7;justify-content:space-between;align-items:center;gap:14px;margin:2px 0 14px;padding:10px;display:flex}.switch-row span{gap:2px;display:grid}.switch-row strong{font-size:11px}.switch-row small{color:#6f6b64;font-size:9px;line-height:1.3}.switch-row input{accent-color:#292824;cursor:pointer;flex:none;width:34px;height:19px}.cell-editor{border-top:1px solid #d4d2cb;margin-top:20px;padding-top:14px}.validation-list{color:#5d6756;gap:6px;margin-top:18px;font-size:11px;display:grid}.validation-list div{align-items:center;gap:5px;display:flex}.search{margin-bottom:9px}.upload-button{margin-bottom:13px}.library-grid{grid-template-columns:repeat(3,1fr);gap:10px 7px;display:grid}.library-item{min-width:0}.library-thumb{aspect-ratio:1;cursor:pointer;background:#eceae4;border:1px solid #c9c7c0;width:100%;padding:0;position:relative;overflow:hidden}.library-thumb img{object-fit:contain;width:100%;height:100%;display:block}.library-item>span{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;line-height:1.15;display:block;overflow:hidden}.library-item input{height:25px;margin-top:4px;font-size:10px}.library-item.focused{outline-offset:3px;outline:2px solid #e04932}.library-item.custom{background:#eceae4;grid-column:span 3;grid-template-columns:72px 1fr;gap:7px;padding:7px;display:grid}.library-item.custom .library-thumb{width:72px}.custom-fields{align-content:start;gap:3px;display:grid}.custom-fields input{margin:0}.checkmark{color:#fff;background:#292824;place-items:center;width:19px;height:19px;display:none;position:absolute;top:4px;right:4px}.library-item.enabled .checkmark{display:grid}.library-item:not(.enabled) .library-thumb img{opacity:.33;filter:grayscale()}.inline-error{color:#7b3028;background:#f6e8e3;padding:8px;font-size:11px;line-height:1.35}.online-search{background:#eceae4;border:1px solid #d0cec7;margin:14px 0 18px;padding:11px}.online-search .section-title{margin-bottom:8px}.online-search h2{align-items:center;gap:5px;font-size:12px;display:flex}.online-search p{color:#6e6a64;margin:7px 0 0;font-size:10px}.search-action{grid-template-columns:1fr auto;display:grid}.search-action input{border:1px solid #c4c2ba;min-width:0;height:32px;padding:0 7px}.search-action button{color:#fff;cursor:pointer;background:#252421;border:1px solid #252421;padding:0 9px;font-size:11px}.online-results{grid-template-columns:repeat(3,1fr);gap:6px;max-height:280px;margin-top:9px;display:grid;overflow-y:auto}.online-results button{text-align:left;cursor:pointer;background:#fff;border:1px solid #c9c7c0;min-width:0;padding:0 0 5px}.online-results img{aspect-ratio:1;object-fit:contain;background:#ddd;width:100%;display:block}.online-results span,.online-results small{text-overflow:ellipsis;white-space:nowrap;padding:0 4px;display:block;overflow:hidden}.online-results span{margin-top:4px;font-size:9px;font-weight:650}.online-results small{color:#77736c;margin-top:2px;font-size:8px}.workspace{background:#e3e2dd;grid-area:2/2;min-width:0;padding:16px 22px 40px;overflow:auto}.preview-toolbar{color:#696660;justify-content:space-between;align-items:center;max-width:297mm;height:34px;margin:0 auto 10px;font-size:12px;display:flex}.preview-modes{background:#f7f6f2;border:1px solid #c2c0b9;align-items:center;display:flex}.preview-modes button{cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;height:28px;padding:0 9px;font-size:11px;display:flex}.preview-modes button.active{color:#fff;background:#292824}.pager{align-items:center;gap:9px;display:flex}.pager button{cursor:pointer;background:#f7f6f2;border:1px solid #c2c0b9;place-items:center;width:28px;height:28px;padding:0;display:grid}.error-banner{color:#762b23;background:#fae9e4;border:1px solid #dab4aa;justify-content:space-between;align-items:center;max-width:297mm;margin:0 auto 10px;padding:9px 11px;font-size:12px;display:flex}.error-banner button{cursor:pointer;background:0 0;border:0}.welcome-state{grid-template-columns:minmax(280px,380px) minmax(480px,760px);justify-content:center;align-items:center;gap:34px;min-height:calc(100vh - 150px);display:grid}.empty-state{color:#77736c;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.empty-state h2{color:#33312e;margin:13px 0 3px;font-size:18px}.empty-state p{margin:0 0 18px}.process-panel{align-self:center}.process-panel>.segmented-control{margin-bottom:10px}.process-copy{max-width:680px;margin-bottom:10px}.process-copy h2{color:#33312e;margin:0 0 5px;font-size:17px}.process-copy p{color:#6b6862;margin:0;font-size:12px;line-height:1.45}.process-video{aspect-ratio:16/9;background:#1e1e1c;width:100%;position:relative;box-shadow:0 4px 22px #22201c29}.process-video iframe{border:0;width:100%;height:100%;display:block}.promo-launch{z-index:2;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.promo-launch svg{box-sizing:content-box;color:#242321;background:#ffffffe0;border:1px solid #201f1c2e;border-radius:50%;padding:8px;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #1918151f}.promo-launch:hover svg,.promo-launch:focus-visible svg{background:#fff;transform:scale(1.05)}.promo-launch:focus-visible{outline-offset:3px;outline:2px solid #292824}.a4-preview,.print-page{background:#fff;flex-direction:column;justify-content:flex-start;align-items:center;width:297mm;height:210mm;display:flex;overflow:hidden}.a4-preview{zoom:.76;margin:0 auto;box-shadow:0 4px 22px #22201c29}.token-a4-preview{zoom:.76;background:#fff;width:297mm;height:210mm;margin:0 auto;padding:15mm 13.5mm;overflow:hidden;box-shadow:0 4px 22px #22201c29}.loto-card{width:calc(270mm + var(--card-padding) + var(--card-padding));height:calc(90mm + var(--card-padding) + var(--card-padding));padding:var(--card-padding);border-radius:var(--card-radius);background-color:var(--card-color);flex:none;position:relative;overflow:hidden}.loto-card:before,.loto-card:after{content:"";pointer-events:none;z-index:1;position:absolute}.card-index{z-index:4;color:var(--border-color);font:600 5.5pt/1 Arial,sans-serif;position:absolute;bottom:.45mm;right:1mm}.ornament-corner:before{border:1mm solid #0000;border-image:linear-gradient(135deg, var(--ornament-color), transparent 22%, transparent 78%, var(--ornament-color)) 1;opacity:var(--ornament-opacity);inset:1.5mm}.ornament-frame:before{border:.45mm double var(--ornament-color);opacity:var(--ornament-opacity);inset:1.5mm}.ornament-pattern:before{background:repeating-linear-gradient(45deg, transparent 0 5mm, var(--ornament-color) 5mm 5.4mm);opacity:calc(var(--ornament-opacity) * .32);background-size:calc(12mm * var(--ornament-scale)) calc(12mm * var(--ornament-scale));inset:0}.ornament-custom:before{background-image:var(--custom-ornament);background-size:calc(100% / var(--ornament-scale));opacity:var(--ornament-opacity);background-position:50%;background-repeat:repeat;inset:0}.card-grid{z-index:2;grid-template-rows:repeat(3,30mm);grid-template-columns:repeat(9,30mm);gap:0;display:grid;position:relative}.loto-cell{border:var(--border-width) solid var(--border-color);border-radius:var(--cell-radius);background:var(--cell-color);cursor:pointer;width:30mm;min-width:0;height:30mm;padding:0;position:relative;overflow:hidden}.shape-square .loto-cell,.print-token.shape-square{border-radius:0}.shape-rounded .loto-cell,.print-token.shape-rounded,.shape-squircle .loto-cell,.print-token.shape-squircle{border-radius:var(--cell-radius)}@supports (corner-shape:squircle){.shape-squircle .loto-cell,.print-token.shape-squircle{corner-shape:squircle}}.loto-cell.selected{outline-offset:-1.2mm;z-index:5;outline:1.2mm solid #e04932}.number-cell{color:var(--number-color);font-family:var(--number-font);font-size:var(--number-size);place-items:center;font-weight:700;line-height:1;display:grid}.art-cell img{background:var(--cell-color);width:100%;height:100%;display:block}.resize-handle{z-index:6;color:#fff;cursor:nwse-resize;touch-action:none;opacity:0;background:linear-gradient(135deg,#0000 48%,#191816d1 49%);place-items:end;width:7mm;height:7mm;padding:0 1mm 1mm 0;transition:opacity .12s;display:grid;position:absolute;bottom:0;right:0}.art-cell:hover .resize-handle,.art-cell.selected .resize-handle,.resize-handle.dragging{opacity:1}.resize-handle small{color:#fff;text-align:center;background:#292824;min-width:9mm;padding:.8mm 1mm;font:700 7pt/1 Arial,sans-serif;position:absolute;bottom:1mm;right:6mm}.resize-handle.dragging{width:9mm;height:9mm}.missing-art{color:#8c3c32;font-size:8px}.print-root{display:none}.token-print-page{page-break-after:always;break-after:page;background:#fff;width:297mm;height:210mm;padding:15mm 13.5mm}.token-grid{grid-template-rows:repeat(6,30mm);grid-template-columns:repeat(9,30mm);gap:0;display:grid}.print-token{border:var(--border-width) solid var(--border-color);border-radius:var(--cell-radius);background:var(--cell-color);width:30mm;height:30mm;position:relative;overflow:hidden}.interactive-token{cursor:pointer}.interactive-token:hover,.interactive-token:focus-visible{outline-offset:-1.2mm;z-index:2;outline:1.2mm solid #e04932}.number-token{color:var(--number-color);font-family:var(--number-font);font-size:var(--number-size);place-items:center;font-weight:700;display:grid}.art-token img{background:var(--cell-color);width:100%;height:100%;display:block}.token-label{color:var(--title-color);background:linear-gradient(transparent, rgba(0, 0, 0, var(--gradient-opacity)));padding:8mm 1.5mm 1.3mm;position:absolute;bottom:0;left:0;right:0}.token-label strong{font-family:var(--title-font);font-size:var(--title-size);line-height:1.02;display:block}.token-label small{color:var(--meta-color);font-family:var(--meta-font);font-size:var(--meta-size);margin-top:.7mm;line-height:1.05;display:block}@media (width<=1250px){.app-shell{grid-template-columns:300px 1fr}.a4-preview,.token-a4-preview{zoom:.62}.welcome-state{grid-template-columns:260px minmax(420px,1fr);gap:22px}}@media (width<=900px),(orientation:portrait){body{background:#e3e2dd;min-width:0}.app-shell{min-height:100vh;display:block}.app-header,.sidebar,.workspace{display:none}.mobile-welcome{min-height:100vh;padding:28px 20px 40px;display:block}.mobile-header{justify-content:space-between;align-items:center;gap:16px;width:min(100%,760px);margin:0 auto;display:flex}.mobile-brand{align-items:center;gap:8px;font-weight:700;display:flex}.mobile-language{background:#f7f6f2;border:1px solid #c4c2ba;display:flex}.mobile-language button{color:#6b6862;cursor:pointer;background:0 0;border:0;border-left:1px solid #d4d2cb;width:34px;height:30px;padding:0;font-size:10px;font-weight:700}.mobile-language button:first-child{border-left:0}.mobile-language button.active{color:#fff;background:#292824}.mobile-welcome .welcome-state{grid-template-columns:1fr;align-content:center;gap:28px;width:min(100%,760px);min-height:calc(100vh - 68px);margin:0 auto}.mobile-welcome .empty-state{text-align:center;align-items:center}.mobile-welcome .empty-state .primary-button{display:none}.mobile-welcome .empty-state p{margin-bottom:0}.mobile-welcome .process-copy{text-align:center}}@media print{@page{size:A4 landscape;margin:0}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;width:297mm;margin:0;padding:0}.app-header,.sidebar,.workspace,.mobile-welcome,.modal-backdrop{display:none!important}.app-shell{min-height:0;display:block}.print-root{display:block}.print-page{page-break-after:always;break-after:page;box-shadow:none;margin:0}.print-page:last-child,.token-print-page:last-child{page-break-after:auto;break-after:auto}.loto-cell{cursor:default}.loto-cell.selected{outline:none}}
