:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#293343;background:#f6f8fb;font-synthesis:none;font-weight:400;font-size:13px;--primary:#5774df;--muted:#929ba9;--border:#e9edf2;--soft:#f3f5fa}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.42}button:not(:disabled),a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9cb3ff;outline-offset:3px}button:not(:disabled){transition:background .18s,color .18s,box-shadow .18s,transform .18s}button svg{flex-shrink:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{vertical-align:middle}select{border:1px solid var(--border);border-radius:6px;background:#fff;padding:7px;color:#525e70;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.header{height:82px;background:#fffffff2;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 42px;gap:68px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:750;letter-spacing:1px;flex-shrink:0}.brand small{font-size:8px;display:block;font-weight:500;letter-spacing:2.3px;color:#8993a6;margin-top:4px}.brand-mark{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:39px;height:39px;padding:9px;gap:4px;background:var(--primary);border-radius:11px;box-shadow:0 4px 10px #5774df20;transform:rotate(-3deg)}.brand-mark i{background:#fff;border-radius:2px}.brand-mark i:first-child{grid-row:span 2}.header nav{display:flex;align-items:stretch;height:100%;gap:30px;font-size:13px}.nav-active{display:flex;align-items:center;color:var(--primary);border-bottom:3px solid var(--primary);padding-top:3px;font-weight:600}.nav-help{display:flex;align-items:center;gap:7px;color:#7d8796;padding:0}.nav-help:hover{color:var(--primary)}.header-note{margin-left:auto;color:#959dab;display:flex;align-items:center;gap:8px;font-size:12px}.green-dot{width:6px;height:6px;display:inline-block;flex-shrink:0;border-radius:50%;background:#6dab91}main{max-width:1600px;margin:auto;padding:35px 42px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:2.1px;color:#8f9bb1;font-weight:600;margin-bottom:10px}h1{font-size:29px;letter-spacing:1px;font-weight:650;line-height:1.6}h1 span{color:var(--primary)}.intro p{margin-top:7px;font-size:12px;color:#8892a0;letter-spacing:.3px}.privacy{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#edf3f1;border:1px solid #e5eeea;border-radius:10px}.privacy-icon{color:#75a28e}.privacy strong{font-size:12px;font-weight:550;display:block;color:#5e7d6e}.privacy div>span{display:block;font-size:10px;color:#91a59a;margin-top:5px}.workspace{display:grid;grid-template-columns:252px minmax(300px,1fr) 294px;gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 3px 8px #253b5b02}.panel-heading{height:58px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f2f6;gap:12px}.panel-heading h2{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;white-space:nowrap}.panel-heading h2>svg{color:#778398}.count-badge{font-size:10px;font-weight:500;min-width:23px;padding:3px 6px;text-align:center;background:#f1f4f9;color:#8490a3;border-radius:5px;margin-left:2px}.text-button{font-size:11px;color:var(--primary);padding:3px 0}.text-button:hover{color:#3555c0}.muted{color:#929ba9}.library-body{padding:16px}.upload-zone{width:100%;border:1.5px dashed #cfd8ed;border-radius:9px;background:#f8faff;display:flex;align-items:center;flex-direction:column;padding:19px 4px 16px;min-height:160px}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--primary);background:#eef3ff}.upload-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#edf1fd;color:#6680e4;border-radius:10px;margin-bottom:10px}.upload-zone strong{color:#5a76d8;font-size:13px;font-weight:600}.upload-zone>span:not(.upload-icon){font-size:11px;color:#8e99ae;margin-top:7px}.upload-zone small{font-size:9px;color:#a6aebc;margin-top:12px;white-space:nowrap}.library-meta{display:flex;align-items:center;justify-content:space-between;gap:3px;margin:17px 0 12px;font-size:10px;color:#929ba9}.library-meta select{padding:3px 2px;border:0;background:#f5f6f9;font-size:10px;margin-left:4px;border-radius:4px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:370px;overflow:auto;padding:2px}.photo-card{position:relative;aspect-ratio:1;border-radius:6px;min-width:0;isolation:isolate}.photo-select{display:block;width:100%;height:100%;padding:0;border-radius:6px;overflow:hidden}.photo-select img{display:block;width:100%;height:100%;object-fit:cover}.photo-card.selected{outline:2px solid #6e89ec;outline-offset:2px}.photo-number{position:absolute;left:4px;top:4px;border-radius:3px;background:#1724356b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:9px;color:#fff;padding:2px 4px;pointer-events:none}.photo-remove{position:absolute;right:3px;top:3px;width:17px;height:17px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#263345b0;color:#fff;padding:0;opacity:0}.photo-card:hover .photo-remove,.photo-card:focus-within .photo-remove,.photo-card.selected .photo-remove{opacity:1}.photo-tools{position:absolute;bottom:0;left:0;right:0;background:#fffef5ee;border-radius:0 0 5px 5px;display:flex;align-items:center;justify-content:space-between;padding:2px;font-size:9px}.photo-tools button{padding:2px}.sort-tip{display:flex;gap:5px;align-items:center;font-size:9px;color:#a4adba;margin-top:14px;white-space:nowrap}.library-bottom{display:flex;gap:11px;align-items:center;margin:3px 16px 18px;padding:14px 9px 0;border-top:1px solid var(--border)}.step-number{font-size:25px;color:#d7deeb;font-weight:400;font-family:Georgia,serif;font-style:italic}.library-bottom strong{font-size:11px;font-weight:500;color:#7b8798}.library-bottom p{font-size:9px;color:#a3acb9;margin-top:5px}.library-empty{padding:35px 4px 23px;text-align:center;color:#b6c0cf}.library-empty p{font-size:11px;margin:12px 0}.preview-column{min-width:0}.preview-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#95a39b;white-space:nowrap}.demo-tag{font-size:9px;font-weight:400;padding:2px 6px;border-radius:4px;background:#f1f4fa;color:#9aa5b8;margin-left:1px}.preview-stage{height:440px;background-color:#f2f4f7;background-image:radial-gradient(#d3d9e3 .7px,transparent .7px);background-size:12px 12px;position:relative;display:flex;align-items:center;justify-content:center;padding:28px 24px 48px}.canvas-shell{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 9px 12px #1c304a1b)}.main-collage{display:block;max-width:100%;max-height:364px;width:auto;height:auto;object-fit:contain}.expand-button{position:absolute;right:10px;bottom:10px;color:#586779;background:#ffffffed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:29px;height:29px;border-radius:7px;opacity:0;display:flex;align-items:center;justify-content:center}.canvas-shell:hover .expand-button,.canvas-shell:focus-within .expand-button{opacity:1}.stage-size{position:absolute;bottom:16px;font-size:10px;letter-spacing:.5px;color:#9aa4b3}.stage-size span{margin:0 6px;color:#bac1ca}.preview-navigation{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:11px;color:#8c97a7}.divider{margin:0 10px;color:#d1d6df}.preview-navigation>div{display:flex;align-items:center;gap:13px}.preview-navigation strong{font-size:11px;font-weight:600;color:#62728e}.preview-navigation strong span{color:#a4adba;font-weight:400;margin-left:4px}.icon-button{display:inline-flex;width:26px;height:28px;justify-content:center;align-items:center;padding:0;border-radius:5px}.icon-button:hover{background:#edf1f9}.results-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 14px;gap:8px}.results-heading h2{font-size:12px;font-weight:600}.results-heading h2 span{font-size:10px;color:#98a2b0;font-weight:400;margin-left:8px}.results-heading>span{font-size:10px;color:#a0a9b8}.result-strip{display:flex;gap:12px;overflow:auto;padding:2px 1px 5px;scrollbar-width:thin}.result-card{padding:0;flex:0 0 calc((100% - 36px)/4);min-width:80px;max-width:150px;text-align:center;color:#99a2b0;font-size:10px}.result-image{position:relative;border:2px solid transparent;padding:4px;aspect-ratio:1.18;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;background:#eaf0f4}.result-image>img{height:100%;width:100%;object-fit:contain;min-height:0;max-height:110px}.result-card.active .result-image{border-color:#7790ed;background:#edf1fe;box-shadow:0 0 0 2px #5774df09}.result-card.active{color:#637bd2}.result-check{position:absolute;right:-1px;bottom:-1px;border-radius:6px 0 5px;width:17px;height:17px;display:flex;align-items:center;justify-content:center;background:#6c85e5;color:#fff}.batch-note{margin-top:16px;border:1px solid #e7ecf6;background:#eef2fa;border-radius:8px;padding:13px;color:#8a98b3;display:flex;align-items:center;gap:9px;font-size:10px;line-height:1.7}.batch-note strong{font-weight:500;color:#7489b3}.settings-fields{border:0;margin:0;padding:0;min-width:0}.reset-button{display:flex;gap:5px;align-items:center}.setting-section{padding:16px 18px;border-bottom:1px solid #f0f2f6}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-title h3{font-size:11px;font-weight:600;color:#647084}.section-title>span{font-size:9px;color:#9aa5b6}.template-tabs{display:flex;background:#f4f6fa;border-radius:6px;padding:3px;gap:2px;margin-bottom:12px}.template-tabs button{font-size:9px;color:#909caf;padding:5px 0;flex:1;border-radius:4px;white-space:nowrap}.template-tabs button.active{color:#5875d5;background:#fff;box-shadow:0 2px 4px #31437009}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.template-button{position:relative;padding:9px 7px 6px;border:1px solid #e9edf3;border-radius:6px;color:#939dac;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:6px}.template-button:hover{background:#f7f9ff}.template-button.active{border-color:#899eec;background:#f2f5ff;color:#5e7bdb}.template-mini{display:grid;width:39px;height:28px;gap:3px}.template-mini i{background:#dce2ec;border-radius:2px}.template-button.active .template-mini i{background:#91a6eb}.template-check{position:absolute;top:-1px;right:-1px;width:14px;height:13px;background:#7e96e8;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:0 5px 0 4px}.ratio-options{display:flex;gap:6px}.ratio-options button{flex:1;height:52px;border:1px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#98a2b1;font-size:9px}.ratio-options i{display:block;border:1.3px solid #abb5c5;border-radius:2px;height:16px;max-width:24px}.ratio-options button.active{border-color:#8da3ef;background:#f3f6ff;color:#637fdb}.ratio-options button.active i{border-color:#7d96e5;background:#e3e9fc}.inline-field{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#8792a4;font-size:10px}.output-size{margin-top:12px}.inline-field select{font-size:10px;padding:6px 4px;max-width:166px;background:#fafbfd;border-color:#e9edf4;border-radius:5px}.color-options{display:flex;align-items:center;gap:10px;margin:0 0 20px;padding:0 2px}.color-options>button{width:25px;height:25px;border:1px solid #00000008;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;color:#798fc9}.color-options>button.active{outline:1.5px solid #8fa5ed;outline-offset:3px}.color-options>button.dark{color:#fff}.custom-color{position:relative;width:25px;height:25px;border:1px dashed #c2cbd9;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#a0adbf;cursor:pointer;overflow:hidden}.custom-color input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.slider-row{display:flex;align-items:center;gap:13px;margin-top:16px;font-size:10px;color:#8792a4}.slider-row label{width:42px;flex-shrink:0}.slider-row input{appearance:none;height:3px;min-width:0;flex:1;border-radius:3px;background:linear-gradient(to right,#91a5e7 var(--range),#e9edf4 var(--range));margin:0;cursor:pointer}.slider-row input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;background:#fff;border:2px solid #8aa1e5;border-radius:50%;box-shadow:0 1px 3px #4b689c20}.slider-row input::-moz-range-thumb{width:9px;height:9px;background:#fff;border:2px solid #8aa1e5;border-radius:50%}.slider-row>span{min-width:36px;text-align:right;color:#8b96a9;font-size:10px;font-variant-numeric:tabular-nums}.slider-row small{font-size:9px;color:#b3bac6}.compact-section{display:flex;flex-direction:column;gap:12px;border-bottom:0;padding-top:14px;padding-bottom:17px}.segmented{display:flex;border:1px solid #e9edf3;border-radius:5px;padding:2px;background:#f7f9fc}.segmented button{padding:4px 14px;font-size:9px;border-radius:3px;color:#a2acbb}.segmented button.active{background:#fff;color:#6e87d6;box-shadow:0 1px 4px #273e6010}.export-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:19px 23px;background:#fff;border:1px solid var(--border);border-radius:11px}.export-summary{display:flex;align-items:center;gap:13px}.export-icon{width:38px;height:38px;border-radius:50%;background:#f0f5f2;color:#8baa99;display:flex;align-items:center;justify-content:center}.export-summary strong{font-size:13px;font-weight:550;color:#65738a}.export-summary p{font-size:10px;color:#a0a9b7;margin-top:6px}.export-actions{display:flex;gap:12px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;font-size:12px;min-height:41px;padding:11px 18px;white-space:nowrap}.primary-button{background:#5f7be2;color:#fff;box-shadow:0 4px 8px #5774df15}.primary-button:not(:disabled):hover{background:#4c68cf;transform:translateY(-1px)}.secondary-button{background:#fff;border:1px solid #e0e5ee;color:#8792a5}.secondary-button:not(:disabled):hover{background:#f4f7fc;color:#627ecf}.zip-label{font-size:8px;font-weight:500;letter-spacing:.8px;background:#ffffff23;border:1px solid #ffffff30;border-radius:3px;padding:2px 4px;margin-left:5px}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;color:#abb3c0;font-size:10px}footer>span:nth-child(2){display:flex;align-items:center;gap:5px;font-size:9px}footer>span:last-child{font-size:8px;letter-spacing:1.4px;color:#b5bdca}.empty-stage{text-align:center;color:#9aa6b9}.empty-art{display:flex;align-items:center;justify-content:center;width:90px;height:90px;border:1px solid #e0e6ef;background:#fafcff;border-radius:23px;margin:0 auto 20px;transform:rotate(-6deg);color:#bdcae1;box-shadow:0 8px 20px #536d8d0a}.empty-stage h3{font-size:18px;color:#71819b;font-weight:500}.empty-stage p{font-size:11px;line-height:1.8;margin:10px 0 22px}.empty-results{padding:30px;color:#abb4c2;background:#f0f3f7;border:1px dashed #dde4ee;border-radius:9px;text-align:center;font-size:11px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.spinner.tiny{width:9px;height:9px;border-width:1px}@keyframes spin{to{transform:rotate(360deg)}}.toast-message{position:fixed;left:50%;bottom:30px;transform:translate(-50%);max-width:calc(100% - 30px);display:flex;align-items:center;gap:10px;border:1px solid #ffffff30;background:#344155ef;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;border-radius:10px;padding:14px 16px;z-index:40;box-shadow:0 8px 30px #10203930;line-height:1.7}.toast-message>svg{flex-shrink:0;color:#b5d4c1}.toast-message>button{color:#bdc6d5;padding:0;flex-shrink:0}.toast-enter-active,.toast-leave-active{transition:opacity .2s,translate .2s}.toast-enter-from,.toast-leave-to{opacity:0;translate:0 10px}.modal-backdrop{position:fixed;inset:0;background:#16243b85;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;padding:24px;display:flex;align-items:center;justify-content:center}.help-dialog{position:relative;width:500px;max-width:100%;background:#fff;border-radius:18px;padding:36px;max-height:90dvh;overflow:auto;box-shadow:0 20px 60px #15213835}.dialog-close{position:absolute;right:16px;top:14px;z-index:1;background:#f3f6fb;color:#8b9aaf}.help-dialog h2{font-size:24px;font-weight:600;margin:12px 0 28px}.help-dialog ol{padding-left:23px}.help-dialog li{padding-left:6px;margin:18px 0;color:#7388c3}.help-dialog li strong{font-size:13px;font-weight:600;color:#4c5d77}.help-dialog li p{font-size:12px;color:#8c98a8;line-height:1.9;margin-top:7px}.help-note{display:flex;align-items:flex-start;gap:10px;border-radius:8px;background:#f3f7f5;color:#8ea599;padding:13px;margin:25px 0;font-size:11px;line-height:1.9}.help-note svg{flex-shrink:0;margin-top:3px}.help-dialog>.primary-button{width:100%}.large-preview{position:relative;max-width:95vw;max-height:93dvh;padding:40px 15px 14px;display:flex;flex-direction:column;align-items:center;gap:12px;border-radius:12px;background:#f3f5f8}.large-preview>img{display:block;max-width:85vw;max-height:78dvh;object-fit:contain}.large-preview>span{font-size:11px;color:#9aa6b8}@media(min-width:1500px){.preview-stage{height:480px}.main-collage{max-height:404px}.workspace{grid-template-columns:270px minmax(300px,1fr) 310px;gap:26px}.library-body{padding:20px}.photo-grid{gap:10px}.color-options{gap:12px}}@media(max-width:1200px){.header{padding:0 25px;gap:45px}main{padding:28px 25px 0}.workspace{grid-template-columns:220px minmax(270px,1fr) 270px;gap:16px}.panel-heading{padding:0 15px}.library-body{padding:12px}.setting-section{padding:14px}.preview-stage{height:400px;padding:24px 18px 44px}.main-collage{max-height:332px}.preview-navigation{padding:0 12px;font-size:10px}.sort-tip{font-size:8px;gap:3px}.color-options{gap:9px}.results-heading>span{font-size:9px}.upload-zone small,.template-button{font-size:8px}.privacy{padding:13px}}@media(max-width:1000px){.workspace{grid-template-columns:220px minmax(0,1fr)}.settings-panel{grid-column:1 / -1}.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.setting-section{padding:20px;border-right:1px solid var(--border)}.compact-section{justify-content:center}.template-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.template-button{font-size:9px}.preview-stage{height:420px}.main-collage{max-height:352px}.library{height:100%;min-height:650px}.library-body{flex:1}.library-bottom{margin-top:20px}.header-note{display:none}.intro{gap:20px}.privacy{flex-shrink:0}.export-bar{padding:18px}.export-actions{gap:8px}.primary-button,.secondary-button{padding:11px 13px}.export-summary p{font-size:9px}}@media(max-width:700px){.header{height:68px;padding:0 18px;gap:20px;justify-content:space-between}.brand{font-size:17px;gap:10px}.brand small{font-size:7px;letter-spacing:1.9px}.brand-mark{width:34px;height:34px;padding:8px;gap:3px;border-radius:9px}.header nav{gap:0}.nav-active{display:none}.nav-help{font-size:11px;gap:5px}main{padding:23px 16px 0}.intro{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:20px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:8px}h1{font-size:25px;letter-spacing:.3px}.intro p{font-size:11px;margin-top:5px}.privacy{padding:9px 11px;border-radius:7px;width:100%;gap:8px}.privacy-icon svg{width:18px;height:18px}.privacy>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.privacy strong{font-size:10px}.privacy div>span{font-size:9px;margin:0}.workspace{display:flex;flex-direction:column;gap:18px}.workspace>section,.workspace>aside{width:100%}.library{min-height:0}.panel-heading{height:49px;padding:0 15px}.panel-heading h2{font-size:13px}.library-body{padding:13px}.upload-zone{min-height:0;height:103px;padding:12px;display:grid;grid-template-columns:45px 1fr;grid-template-rows:repeat(3,1fr);text-align:left;column-gap:10px;align-items:center}.upload-icon{grid-row:span 3;margin:0;width:39px;height:39px;align-self:center}.upload-zone strong{font-size:12px}.upload-zone>span:not(.upload-icon){font-size:10px;margin:3px 0 0}.upload-zone small{font-size:9px;margin-top:4px}.library-meta{margin:13px 0 10px}.photo-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:210px}.photo-remove{opacity:1;width:16px;height:16px;right:2px;top:2px}.photo-number{font-size:8px;left:3px;top:3px;padding:1px 3px}.sort-tip{font-size:9px;margin-top:12px}.library-bottom{display:none}.library-empty{padding:20px 5px 10px}.library-empty>svg{display:none}.preview-stage{height:390px;padding:25px 21px 43px}.main-collage{max-height:322px}.expand-button{opacity:1}.preview-navigation{padding:0 15px}.preview-navigation>div{gap:10px}.results-heading{margin:18px 0 12px}.results-heading>span{font-size:9px}.result-image{padding:4px;aspect-ratio:1}.result-image>img{max-height:88px}.result-strip{gap:9px}.result-card{flex-basis:calc((100% - 27px)/4);min-width:60px;font-size:9px}.batch-note{font-size:10px;padding:11px;margin-top:12px}.settings-fields{display:block}.setting-section{padding:17px;border-right:0}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.template-button{padding:10px 6px 8px;font-size:10px;gap:7px}.template-mini{width:47px;height:32px}.template-tabs{padding:4px;margin-bottom:13px}.template-tabs button{font-size:10px;padding:6px 0}.section-title h3,.inline-field{font-size:12px}.section-title>span{font-size:10px}.ratio-options{gap:9px}.ratio-options button{height:59px;font-size:10px}.ratio-options i{height:19px;max-width:30px}.inline-field select{font-size:11px;padding:8px;max-width:190px}.color-options{gap:15px;margin-bottom:23px}.color-options>button,.custom-color{width:28px;height:28px}.slider-row{margin-top:20px;gap:18px;font-size:11px}.slider-row label{width:48px}.slider-row input{height:4px}.slider-row input::-webkit-slider-thumb{width:17px;height:17px}.slider-row>span{font-size:11px;min-width:42px}.compact-section{gap:15px}.segmented button{padding:7px 19px;font-size:10px}.export-bar{margin-top:18px;padding:16px;flex-direction:column;align-items:stretch;gap:16px}.export-summary{gap:10px}.export-summary p{font-size:10px}.export-actions{gap:10px}.export-actions .primary-button,.export-actions .secondary-button{flex:1}.primary-button,.secondary-button{font-size:11px;padding:12px 10px;min-height:43px}.zip-label{margin-left:0;font-size:7px}.export-summary strong{font-size:12px}footer{justify-content:center;flex-direction:column;gap:9px;padding:22px 0}footer>span:last-child{display:none}footer>span:first-child{font-size:11px}footer>span:nth-child(2){font-size:9px}.toast-message{bottom:20px;width:max-content;max-width:calc(100% - 24px);font-size:11px;padding:12px}.help-dialog{padding:29px 22px}.help-dialog h2{font-size:21px}.help-dialog li p{font-size:11px}.modal-backdrop{padding:15px}.large-preview{padding:45px 10px 15px}.large-preview>img{max-width:85vw;max-height:72dvh}}@media(max-width:360px){.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.preview-stage{height:335px}.main-collage{max-height:267px}.color-options{gap:11px}.zip-label{display:none}.privacy>div{gap:4px}.template-button{font-size:9px}.result-card{min-width:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.folder-import{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:9px;padding:9px 6px;border:1px solid #e6ebf5;border-radius:6px;font-size:10px;color:#7186b7;background:#fcfdff}.folder-import>span{margin-left:auto;font-size:9px;color:#a6afbd}.folder-import:hover{background:#f1f5ff}.library-drag-over{outline:2px dashed #8ca3ed;outline-offset:3px}.library-files{max-height:395px;overflow:auto;padding:2px;scrollbar-width:thin}.library-files .photo-grid{max-height:none;overflow:visible}.folder-tree{border:1px solid #e7ecf4;border-radius:7px;margin-bottom:9px;overflow:hidden;background:#fbfcfe}.folder-heading{display:flex;align-items:center;gap:6px;width:100%;padding:10px 7px;background:#f5f7fb;text-align:left;color:#7182a1}.folder-heading>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1;font-size:11px}.folder-heading>small{font-size:9px;color:#9aa6b9;white-space:nowrap}.folder-heading>svg:nth-child(2){color:#9cadd0}.folder-content{padding:7px}.folder-content .folder-content{padding:5px}.folder-content .folder-tree{border:0;border-left:2px solid #e3e9f3;border-radius:0}.folder-content .folder-content .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-tree>.photo-grid{margin-top:8px}.photo-tree>.photo-grid:first-child{margin-top:0}.download-fallback{display:block;color:#738ad2;font-size:11px;text-decoration:underline;text-underline-offset:3px;margin-top:7px}@media(max-width:700px){.library-files{max-height:270px}.folder-import{padding:10px;font-size:11px}.folder-import>span{font-size:10px}.folder-heading{padding:12px 9px}.folder-heading>span{font-size:12px}.folder-heading>small{font-size:10px}.folder-content{padding:9px}.folder-content .photo-grid,.folder-content .folder-content .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-tools button{padding:5px}.photo-tools{padding:0}}.loose-label{display:flex;justify-content:space-between;margin:15px 2px 9px;font-size:10px;color:#8c99ae}.loose-label span{color:#a4afbe}@media(max-width:700px){.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-remove{width:23px;height:23px}.photo-tools button{min-width:27px;min-height:27px}.photo-tools{background:#fffffff2}.loose-label{font-size:11px}}.preset-save-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.preset-save-row input{flex:1;min-width:0}.preset-save-row button{flex-shrink:0;min-height:34px}.preset-section>select{width:100%;font-size:11px}.preset-actions{display:flex;justify-content:space-between;gap:14px;margin-top:9px}.preset-actions button{min-height:30px}.preset-section input,.inline-field>input,.custom-dimensions input{border:1px solid #dfe5ee;border-radius:6px;padding:8px;background:#fff;color:#52637f;font-size:12px;min-width:0}.inline-field>input{max-width:165px;width:65%}.custom-dimensions{display:flex;align-items:center;gap:10px}.custom-dimensions>label{flex:1;min-width:0;font-size:11px;color:#75839b}.custom-dimensions input{display:block;width:100%;margin-top:7px}.custom-dimensions>span{color:#9ca7b9;margin-top:18px}.settings-message{font-size:11px;color:#627eae;line-height:1.7;margin:10px 0}.settings-message.error{color:#af4d39}.compact-validation{display:block;color:#a44b39;background:#fff1eb;padding:8px;border-radius:5px;text-align:left;font-size:10px;line-height:1.5;width:100%;margin-top:6px}.filename-example{overflow-wrap:anywhere}.pwa-section .secondary-button{margin-top:10px;width:100%;justify-content:center}.export-progress-dialog progress{width:100%;height:14px;accent-color:#6c85df}.export-progress-dialog .action-heading>strong{font-size:13px;color:#637bad}.compact-settings-row>button:last-child{flex-wrap:wrap;gap:1px 5px}.grouping-control{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#75839b;margin:0 0 10px;flex-shrink:0}.grouping-control select{padding:6px 8px;font-size:11px;max-width:160px}.is-compact .grouping-control{margin:0 3px 6px;font-size:10px}.is-compact .grouping-control select{padding:4px 6px;font-size:10px}.library .panel-heading{gap:6px}.library .library-heading-actions{gap:10px}.crop-targets{position:absolute;inset:0;pointer-events:none}.crop-target{position:absolute;pointer-events:auto;padding:0;border:1px solid transparent;border-radius:3px}.crop-target span{position:absolute;left:5px;bottom:5px;padding:3px 6px;color:#fff;background:#263345aa;border-radius:4px;font-size:10px;opacity:0}.crop-target:hover,.crop-target:focus-visible{border-color:#fff;background:#ffffff16}.crop-target:hover span,.crop-target:focus-visible span{opacity:1}.canvas-shell .expand-button{z-index:1}.preview-edit-hint{display:flex;gap:10px;padding:8px 2px 0;font-size:10px;color:#7a8caf}.preview-edit-hint>span{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:45%}.action-dialog{width:min(480px,calc(100% - 24px));max-width:100%;max-height:90dvh;margin:auto;border:1px solid #e1e7f2;border-radius:16px;padding:0;background:#fff;color:inherit;box-shadow:0 15px 60px #25334a33}.action-dialog[open]{display:flex;flex-direction:column}.action-dialog::backdrop{background:#25334a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.action-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #edf0f5;flex-shrink:0;gap:12px}.action-heading h2{font-size:16px}.action-heading button{min-height:30px;padding:4px 10px}.action-body{padding:18px 20px max(18px,env(safe-area-inset-bottom));overflow-y:auto;min-height:0}.action-note{font-size:12px;line-height:1.7;color:#77869e;margin-bottom:12px}.action-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.action-buttons>*{flex:1;min-width:110px;text-align:center;justify-content:center}.crop-filename,.save-source{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crop-stage{display:flex;justify-content:center;align-items:center;padding:12px;background:#eef1f6;border-radius:10px;margin-bottom:14px}.crop-stage .crop-frame{position:relative;max-width:100%;overflow:hidden;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.crop-frame:active{cursor:grabbing}.crop-frame img{position:absolute;max-width:none;pointer-events:none}.crop-guide{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33.1%,#ffffff70 33.1%,#ffffff70 33.5%,transparent 33.5%,transparent 66.4%,#ffffff70 66.4%,#ffffff70 66.8%,transparent 66.8%),linear-gradient(to bottom,transparent 33.1%,#ffffff70 33.1%,#ffffff70 33.5%,transparent 33.5%,transparent 66.4%,#ffffff70 66.4%,#ffffff70 66.8%,transparent 66.8%)}.crop-slider{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:12px;color:#63728c}.crop-slider input{flex:1;min-width:0;min-height:28px;accent-color:#6c85df}.crop-slider>span{min-width:44px;text-align:right;font-variant-numeric:tabular-nums}.save-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.save-navigation strong{font-size:13px;color:#63728c}.save-navigation .secondary-button{padding:9px 13px}.save-image-stage{display:flex;justify-content:center;align-items:center;background:#f0f3f8;padding:10px;border-radius:10px;min-height:100px;margin-bottom:12px}.save-image-stage>img{display:block;max-width:100%;max-height:42dvh;object-fit:contain}.save-image-stage>p{font-size:12px;line-height:1.8;color:#75839b}.save-zip{width:100%;margin-top:12px;justify-content:center}.save-dialog .download-fallback{display:block;margin-top:12px}.save-buttons [aria-disabled=true]{opacity:.42}.export-actions{flex-wrap:wrap}@media(max-width:700px){.action-body{padding:14px 16px max(16px,env(safe-area-inset-bottom))}.crop-target span{opacity:1;font-size:9px;padding:2px 4px}}.mode-switch{display:flex;gap:3px;margin-left:auto;padding:3px;border:1px solid #e5eaf3;border-radius:8px;background:#f2f5fa;flex-shrink:0}.mode-switch button{padding:8px 10px;border-radius:5px;color:#8b96a9;font-size:11px}.mode-switch button.active{background:#fff;color:#5370cc;box-shadow:0 1px 4px #354c7520}.library-heading-actions{display:flex;align-items:center;gap:14px}.library-heading-actions button{display:flex;align-items:center;gap:5px}.template-tabs{overflow-x:auto;scrollbar-width:thin}.template-tabs button{flex:0 0 auto;min-width:35px;padding:6px}.expanded-templates{max-height:266px;overflow-y:auto;padding:2px;scrollbar-width:thin}.template-button{min-width:0}.template-button>span:not(.template-mini):not(.template-check){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.template-button>small{font-size:8px;color:#a4aec0}.annotated-ratios{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.annotated-ratios button{height:72px;gap:5px;min-width:0}.annotated-ratios button strong{font-size:10px;font-weight:600}.annotated-ratios button>span{font-size:8px}.annotated-ratios i{height:17px;max-width:32px;flex-shrink:0}.ratio-description{padding:11px 12px;margin-top:12px;background:#f3f6fc;border-radius:7px;color:#7d8da8;line-height:1.8;font-size:10px}.ratio-description strong{color:#637cac;font-size:11px;font-weight:600}.ratio-description p{margin-top:5px}.ratio-description a{display:inline-block;color:#607cd0;margin-top:5px;text-decoration:underline;text-underline-offset:3px}.ratio-disclaimer{font-size:9px;color:#a0aabc;line-height:1.8;margin-top:12px}.photo-group-badge{position:absolute;left:5px;bottom:5px;border-radius:4px;background:#f4f6fff0;color:#526dba;padding:2px 5px;font-size:9px;pointer-events:none}.settings-sheet{padding:0;border:1px solid #e7ecf5;border-bottom:0;border-radius:20px 20px 0 0;width:min(100%,600px);max-width:100%;max-height:80dvh;margin:auto auto 0;background:#fff;color:inherit;box-shadow:0 -12px 60px #24375825;overflow:hidden}.settings-sheet[open]{display:flex;flex-direction:column}.settings-sheet::backdrop{background:#25334a66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-handle{width:32px;height:4px;background:#dfe5ef;border-radius:3px;margin:9px auto 0;flex-shrink:0}.sheet-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #edf0f5;flex-shrink:0}.sheet-heading h2{font-size:15px;font-weight:600}.sheet-heading button{display:flex;gap:5px;align-items:center;font-size:12px;min-height:30px}.sheet-body{overflow-y:auto;min-height:0;padding-bottom:max(14px,env(safe-area-inset-bottom))}.sheet-extra-actions{display:flex;justify-content:space-between;padding:0 20px 14px;gap:12px}.sheet-extra-actions button{display:flex;align-items:center;gap:6px;min-height:36px}.single-setting{display:block}.single-setting .setting-section{border:0;padding:18px 20px}.single-setting .expanded-templates{max-height:none;overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.single-setting .template-button{padding:12px 6px;font-size:10px}.single-setting .template-mini{width:47px;height:34px}.single-setting .template-tabs{padding-bottom:5px;margin-bottom:15px}.single-setting .template-tabs button{font-size:11px;min-width:40px;min-height:34px}.single-setting .annotated-ratios{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.single-setting .annotated-ratios button{height:83px}.single-setting .annotated-ratios button>span{font-size:10px}.single-setting .annotated-ratios strong,.single-setting .ratio-description{font-size:12px}.single-setting .ratio-description strong{font-size:13px}.single-setting .ratio-disclaimer{font-size:10px}.single-setting .slider-row{margin-top:28px;font-size:12px;gap:18px}.single-setting .slider-row label{width:52px}.single-setting .slider-row input{height:4px}.single-setting .slider-row input::-webkit-slider-thumb{width:20px;height:20px}.single-setting .color-options{justify-content:space-between;gap:12px;margin:20px 0 30px}.single-setting .color-options>button,.single-setting .custom-color{width:31px;height:31px}.single-setting .compact-section{gap:24px}.single-setting .inline-field{font-size:12px}.single-setting select{font-size:12px;padding:10px 7px;max-width:205px}.single-setting .segmented button{padding:9px 18px;font-size:11px}.is-compact{height:100dvh;max-width:600px;margin:0 auto;display:flex;flex-direction:column;background:#fff;overflow:hidden;border-inline:1px solid #e9edf4}.is-compact .header{flex:0 0 62px;height:62px;padding:0 15px;gap:12px;border-color:#eef1f6}.is-compact .brand{font-size:17px;gap:8px;letter-spacing:.5px}.is-compact .brand-mark{width:32px;height:32px;border-radius:9px;padding:7px;gap:3px}.is-compact .brand small{font-size:6px;letter-spacing:1.8px}.is-compact .header nav{display:none}.is-compact .mode-switch{gap:1px;padding:3px;border:0}.is-compact .mode-switch button{font-size:10px;padding:8px}.is-compact main{padding:0;width:100%;flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.is-compact .intro,.is-compact footer,.is-compact .export-bar{display:none}.is-compact .workspace{display:block;min-height:0;overflow:hidden}.is-compact .library{height:100%;min-height:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.is-compact .library .panel-heading{height:42px;min-height:42px;padding:0 15px;border:0}.is-compact .library .panel-heading h2{font-size:12px}.is-compact .library-body{padding:5px 12px 8px;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.is-compact .upload-zone,.is-compact .folder-import,.is-compact .library-meta,.is-compact .library-bottom{display:none}.is-compact .library-files{max-height:none;flex:1;min-height:0;overflow-y:auto;padding:3px;overscroll-behavior:contain}.is-compact .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:none}.is-compact .photo-card,.is-compact .photo-select{border-radius:8px}.is-compact .photo-remove{opacity:1;width:23px;height:23px;top:4px;right:4px;background:#ffffffeb;color:#6f7e95}.is-compact .photo-number{left:5px;top:5px;font-size:9px;padding:2px 4px}.is-compact .sort-tip{margin:8px 3px 0;font-size:9px;justify-content:center;flex-shrink:0}.is-compact .photo-tools button{min-width:27px;min-height:27px}.is-compact .folder-content .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-add-tile{aspect-ratio:1;border:1px dashed #adbee9;background:#f1f5ff;color:#6c86d2;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.compact-add-tile span{font-size:11px}.compact-add-tile:hover{background:#e6edff}.compact-demo-button{display:block;margin:20px auto;font-size:11px}.compact-dock{background:#f8faff;border-top:1px solid #e6ecf6;padding:0 14px max(12px,env(safe-area-inset-bottom));box-shadow:0 -5px 18px #304a7c06;min-width:0}.compact-summary{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#8493ab}.compact-summary strong{color:#617aaa;font-variant-numeric:tabular-nums;font-weight:600}.compact-summary small{margin-left:4px;color:#a8b3c6;font-size:9px}.compact-summary>label{display:flex;align-items:center;gap:4px;flex-shrink:0;color:#9aa7bb;font-size:10px}.compact-summary select{border:0;padding:3px 1px;background:transparent;font-size:10px}.compact-template-row{display:flex;gap:8px;min-width:0;align-items:stretch}.compact-template-rail{display:flex;gap:7px;flex:1;min-width:0;overflow-x:auto;padding:2px 1px 6px;scrollbar-width:thin}.quick-template{flex:0 0 57px;height:65px;border:1px solid #e1e7f2;border-radius:7px;padding:8px 6px 5px;display:flex;align-items:center;flex-direction:column;gap:7px;background:#fff;color:#99a5b8;font-size:10px}.quick-template .template-mini{width:37px;height:28px;gap:2px}.quick-template .template-mini i{background:#d2dbea}.quick-template.active{border:1.5px solid #6c88e0;background:#ecf1ff;color:#5572c8;box-shadow:0 0 0 2px #6c88e00a}.quick-template.active .template-mini i{background:#8ea4e6}.all-templates-button{flex:0 0 65px;margin:2px 0 6px;border:1px solid #e0e7f5;background:#eef3fc;border-radius:7px;color:#788eb8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.all-templates-button strong{font-size:10px;font-weight:500}.all-templates-button small{font-size:9px;color:#a0aec5}.compact-settings-row{display:grid;grid-template-columns:1.05fr 1.1fr 1fr;gap:7px;margin-top:5px}.compact-settings-row>button{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #e1e7f1;background:#fff;border-radius:7px;min-height:39px;padding:5px 3px;color:#8290a7;font-size:10px;white-space:nowrap}.compact-settings-row strong{font-size:11px;color:#5f739b;font-weight:600}.color-dot{display:block;width:14px;height:14px;border:1px solid #d3dce9;border-radius:50%;flex-shrink:0}.compact-ratio-hint{display:flex;align-items:center;width:100%;gap:7px;padding:9px 1px;color:#8496b5;text-align:left;font-size:10px;line-height:1.5}.compact-ratio-hint>span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-ratio-hint>span:nth-child(2){color:#94a3bb;font-size:9px}.compact-ratio-hint small{font-size:8px;margin-left:3px;color:#acb6c7}.compact-export-row{display:flex;gap:10px}.compact-preview-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;flex:0 0 108px;border:1px solid #dce4f3;border-radius:8px;background:#fff;color:#7185ad;font-size:11px}.compact-export-row .primary-button{flex:1;font-size:13px;font-weight:500;border-radius:8px}.compact-save-link{display:block;text-align:center;font-size:10px;color:#6f86c2;margin-top:8px;text-decoration:underline;text-underline-offset:3px}.is-compact .preview-column{display:none;height:100%;overflow-y:auto;padding:12px}.is-compact.compact-preview-active .preview-column{display:block}.is-compact.compact-preview-active .library{display:none}.is-compact .preview-stage{height:clamp(145px,calc(100dvh - 470px),360px);padding:15px 18px 35px}.is-compact .main-collage{max-height:clamp(95px,calc(100dvh - 520px),310px)}.is-compact .preview-panel .panel-heading{height:42px}.is-compact .preview-navigation{height:39px}.is-compact .preview-navigation>span{font-size:10px}.is-compact .stage-size{bottom:10px}.is-compact .results-heading{margin:13px 0 9px}.is-compact .result-card{flex-basis:67px;min-width:67px}.is-compact .result-image{height:61px;aspect-ratio:auto;padding:3px}.is-compact .result-image img{max-height:51px}.is-compact .batch-note{margin-top:8px;padding:8px;font-size:9px}.is-compact .expand-button{opacity:1}.is-compact .empty-stage h3{font-size:15px}.is-compact .empty-stage p{margin:7px 0;font-size:10px}.is-compact .empty-art{display:none}.is-compact .toast-message{bottom:270px;max-width:min(550px,calc(100% - 24px))}@media(max-width:1100px)and (min-width:701px){.header{gap:25px}.header nav{gap:18px}}@media(max-width:700px){.header{padding:0 14px;gap:9px}.header nav{display:none}.mode-switch button{padding:8px;font-size:10px}.annotated-ratios{grid-template-columns:repeat(4,minmax(0,1fr))}.expanded-templates{max-height:280px}.is-compact .header{flex-basis:58px;height:58px;padding-inline:12px}.is-compact{border:0}.single-setting .section-title h3{font-size:12px}}@media(max-width:360px){.is-compact .brand{font-size:15px}.is-compact .brand small{letter-spacing:1px}.is-compact .brand-mark{width:28px;height:28px;padding:6px;gap:3px}.is-compact .header{gap:5px;padding-inline:9px}.is-compact .mode-switch button{font-size:9px;padding:8px 6px}.compact-dock{padding-inline:11px}.compact-ratio-hint small{display:none}.compact-settings-row>button{font-size:9px}.compact-settings-row strong{font-size:10px}.single-setting .setting-section{padding-inline:14px}}@media(max-height:650px){.is-compact .header{flex-basis:49px;height:49px}.compact-dock{padding-bottom:max(8px,env(safe-area-inset-bottom))}.compact-summary{min-height:30px}.quick-template{height:56px;gap:4px;padding-top:6px}.quick-template .template-mini{height:24px}.compact-ratio-hint{padding-block:6px}.is-compact .sort-tip{display:none}}.template-categories{display:flex;gap:8px;margin-bottom:10px}.template-categories button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;min-height:34px;border:1px solid #e3e9f4;border-radius:7px;color:#7c8ba4;font-size:11px}.template-categories button.active{background:#edf2ff;border-color:#9aafe8;color:#5573c8}.template-categories button>span{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}.template-tile{position:relative;min-width:0}.template-tile>.template-button{width:100%;height:100%}.template-favorite{position:absolute;right:3px;top:3px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#8798b8;background:#f7f9ff;padding:0}.template-favorite:hover{background:#eaf0ff;color:#526fc2}.template-favorite.saved{color:#b58228;background:#fff5df}.template-favorite.saved svg{fill:#f2cb71}.template-tile .template-check{right:auto;left:0;border-radius:5px 0 4px}.favorite-notice{color:#8191ab;font-size:10px;line-height:1.5;margin:0 0 9px}.template-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 12px;color:#8798b4}.template-empty p{font-size:12px;color:#657b9f}.template-empty small{font-size:10px;line-height:1.7}.template-empty button{min-height:34px}.workbench-setting-tabs{display:flex;gap:5px;padding:10px 12px;border-bottom:1px solid #edf0f5}.workbench-setting-tabs button{flex:1;min-width:0;padding:8px 4px;border-radius:7px;color:#8190a6}.workbench-setting-tabs button.active{background:#edf2ff;color:#5573c8}.workbench-setting-tabs span{display:block;font-size:12px;font-weight:600}.workbench-setting-tabs small{display:block;font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-setting-content{min-height:0;overflow:auto;scrollbar-width:thin}.workbench-setting-content .single-setting .setting-section{padding:14px}.workbench-setting-content .single-setting .template-button{padding:9px 5px}.workbench-setting-content .single-setting .expanded-templates{gap:8px}.workbench-setting-content .single-setting .template-mini{width:40px;height:29px}.workbench-setting-content .single-setting .annotated-ratios{gap:6px}.workbench-setting-content .single-setting .annotated-ratios button{height:66px}.workbench-setting-content .single-setting .annotated-ratios button>span{font-size:9px}.workbench-setting-content .single-setting .ratio-description{font-size:11px}.workbench-setting-content .single-setting .color-options{gap:8px}.workbench-setting-content .single-setting .slider-row{gap:10px}.workbench-utilities{display:grid;grid-template-columns:1.35fr 1fr 1.1fr;margin-top:14px;align-items:start}.workbench-utilities>*{min-width:0}.workbench-utilities>.settings-fields{display:block}.workbench-utilities>*+*{border-left:1px solid #edf0f5}.workbench-utilities .single-setting .setting-section,.workbench-utilities .preset-section{padding:14px 18px;border:0}.workbench-utilities .section-title{margin:0 0 11px}.workbench-utilities .section-title h3{font-size:12px}.workbench-utilities .section-title>span{font-size:10px}.workbench-utilities .output-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.workbench-utilities .output-fields>.section-title,.workbench-utilities .custom-dimensions,.workbench-utilities .output-fields>.settings-message,.workbench-utilities .setting-help{grid-column:1 / -1}.workbench-utilities .inline-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:10px;color:#7a879b}.workbench-utilities .inline-field select,.workbench-utilities .inline-field>input{width:100%;max-width:none;padding:7px;font-size:11px}.workbench-utilities .segmented{display:flex}.workbench-utilities .segmented button{flex:1;min-height:31px;padding:6px;font-size:11px}.workbench-utilities .single-setting .compact-section.naming-fields{display:flex;gap:10px;justify-content:flex-start}.workbench-utilities .naming-fields .section-title{margin-bottom:1px}.workbench-utilities .ratio-disclaimer{margin:0;line-height:1.65;font-size:10px}.workbench-utilities .preset-save-row{margin-bottom:8px}.workbench-utilities .preset-save-row input{font-size:11px;padding:7px}.workbench-utilities .preset-actions{margin-top:3px}.workbench-utilities .preset-actions button{min-height:26px}.workbench-utilities .preset-section{padding-bottom:8px}.workbench-offline{padding:0 18px 12px}.workbench-offline>summary,.setting-help>summary{cursor:pointer;color:#7389b3;font-size:10px;padding:4px 0;width:fit-content}.setting-help p{color:#8a96aa;font-size:10px;line-height:1.7;margin:6px 0 0}.workbench-offline .pwa-section{padding:10px 0 0;border:0}.workbench-offline .pwa-section .section-title{display:none}.workbench-offline .settings-message{font-size:10px;margin:5px 0}.workbench-offline .ratio-disclaimer{margin-top:8px}@media(min-width:1100px){.app-shell:not(.is-compact) .header{height:56px;padding-inline:24px;gap:34px}.app-shell:not(.is-compact) main{padding:14px 24px 0}.app-shell:not(.is-compact) .intro{margin-bottom:12px;min-height:38px}.app-shell:not(.is-compact) .intro .eyebrow,.app-shell:not(.is-compact) .intro>div>p{display:none}.app-shell:not(.is-compact) .intro h1{font-size:21px;line-height:1.4}.app-shell:not(.is-compact) .privacy{padding:7px 12px;gap:8px}.app-shell:not(.is-compact) .privacy>div{display:flex;align-items:center;gap:10px}.app-shell:not(.is-compact) .privacy div>span{margin:0}.app-shell:not(.is-compact) .workspace{grid-template-columns:235px minmax(0,1fr) 310px;gap:16px;height:clamp(360px,calc(100dvh - 420px),660px);align-items:stretch}.app-shell:not(.is-compact) .workspace .panel-heading{height:44px;min-height:44px;padding-inline:14px}.app-shell:not(.is-compact) .workspace .panel-heading h2{font-size:12px}.app-shell:not(.is-compact) .library{display:flex;flex-direction:column;height:100%;min-height:0}.app-shell:not(.is-compact) .library-body{flex:1;display:flex;flex-direction:column;min-height:0;padding:10px 12px}.app-shell:not(.is-compact) .upload-zone{flex-shrink:0;min-height:0;display:grid;grid-template-columns:32px 1fr;column-gap:8px;padding:10px;text-align:left}.app-shell:not(.is-compact) .upload-icon{grid-row:span 2;width:30px;height:30px;margin:0}.app-shell:not(.is-compact) .upload-zone>span:not(.upload-icon){margin-top:4px;font-size:9px}.app-shell:not(.is-compact) .upload-zone small{grid-column:1 / -1;font-size:9px;margin-top:7px}.app-shell:not(.is-compact) .folder-import{margin-top:7px;padding:5px;flex-shrink:0}.app-shell:not(.is-compact) .library-meta{margin:9px 0 7px;flex-shrink:0}.app-shell:not(.is-compact) .grouping-control{margin-bottom:7px}.app-shell:not(.is-compact) .library-files{flex:1;min-height:0;max-height:none;overflow:auto}.app-shell:not(.is-compact) .photo-grid{max-height:none;overflow:visible}.app-shell:not(.is-compact) .sort-tip{margin-top:8px;font-size:8px;flex-shrink:0}.app-shell:not(.is-compact) .library-bottom{display:none}.app-shell:not(.is-compact) .settings-panel{display:flex;flex-direction:column;min-height:0}.app-shell:not(.is-compact) .workbench-setting-content{flex:1}.app-shell:not(.is-compact) .preview-column{display:flex;flex-direction:column;min-height:0}.app-shell:not(.is-compact) .preview-panel{flex:1;display:flex;flex-direction:column;min-height:0}.app-shell:not(.is-compact) .preview-stage{flex:1;min-height:0;height:auto;padding:12px 16px 28px;overflow:hidden;container-type:size}.app-shell:not(.is-compact) .canvas-shell{width:min(100cqw,calc(100cqh * var(--canvas-ratio)));height:auto;aspect-ratio:var(--canvas-ratio);max-height:100%}.app-shell:not(.is-compact) .main-collage{max-height:100%;max-width:100%;width:100%;height:100%}.app-shell:not(.is-compact) .stage-size{bottom:8px}.app-shell:not(.is-compact) .preview-navigation{flex-shrink:0;height:34px}.app-shell:not(.is-compact) .preview-edit-hint{flex-shrink:0;padding-top:6px}.app-shell:not(.is-compact) .results-heading{flex-shrink:0;margin:8px 0 5px}.app-shell:not(.is-compact) .result-strip{flex-shrink:0;gap:8px}.app-shell:not(.is-compact) .result-card{flex:0 0 62px;min-width:62px}.app-shell:not(.is-compact) .result-image{height:51px;padding:3px;aspect-ratio:auto;margin-bottom:3px}.app-shell:not(.is-compact) .result-image>img{max-height:41px}.app-shell:not(.is-compact) .batch-note{flex-shrink:0;margin-top:5px;padding:5px 9px;font-size:9px}.app-shell:not(.is-compact) .workbench-utilities{margin-top:12px}.app-shell:not(.is-compact) .export-bar{margin-top:10px;padding:10px 16px;gap:12px}.app-shell:not(.is-compact) .export-summary strong{font-size:12px}.app-shell:not(.is-compact) .export-summary p{margin-top:3px;font-size:10px}.app-shell:not(.is-compact) .export-actions .primary-button,.app-shell:not(.is-compact) .export-actions .secondary-button{padding:10px 14px;font-size:11px}.app-shell:not(.is-compact) footer{padding:10px 0;font-size:9px}}@media(min-width:701px)and (max-width:1099px){.workbench-setting-content{max-height:420px}.workbench-utilities{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-utilities>.settings-fields:first-child{grid-column:1 / -1;border-bottom:1px solid #edf0f5}.workbench-utilities>.settings-fields:nth-child(2){border-left:0}.workbench-utilities .output-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.workbench-setting-content{max-height:440px}.workbench-utilities{grid-template-columns:minmax(0,1fr)}.workbench-utilities>*+*{border-left:0;border-top:1px solid #edf0f5}.workbench-utilities .single-setting .setting-section,.workbench-utilities .preset-section{padding:16px}.workbench-utilities .inline-field{font-size:12px}.workbench-utilities .inline-field select,.workbench-utilities .inline-field>input{font-size:12px;min-height:36px}.workbench-offline{padding-inline:16px}}.settings-fields .template-tile .template-button{padding-top:31px}@media(pointer:coarse){.template-favorite{width:34px;height:34px}.settings-fields .template-tile .template-button{padding-top:38px}}
