:root{color:#242b35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--blue:#315dbe;--ink:#252d39;--line:#e4e7ed;--muted:#818995;background:#f6f7f9;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue)}button{transition:background .15s,border-color .15s,transform .15s}button:enabled:hover{filter:brightness(.97)}input,textarea,select{color:var(--ink);background:#fff;border:1px solid #dfe3e9;border-radius:7px}input:not([type=range]),textarea{width:100%;padding:12px 13px;font-size:14px;line-height:1.65}textarea{resize:vertical;min-height:110px}input::placeholder{color:#a3a9b2;font-size:12px}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.7px;font-weight:560}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{letter-spacing:2.2px;color:var(--blue);font-size:11px;font-weight:600}.button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:45px;padding:12px 18px;font-size:14px;font-weight:550;display:inline-flex}.button.primary{background:var(--blue);color:#fff}.button.secondary{color:#505a68;background:#fff;border-color:#dfe3e9}.button.ink{background:var(--ink);color:#fff}.button.small{min-height:37px;padding:8px 13px;font-size:13px}.button.full{width:100%}.icon-button{color:#77818d;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;min-width:36px;min-height:36px;display:inline-flex}.text-button{color:#69727e;background:0 0;border:0;align-items:center;gap:7px;padding:14px 0;font-size:13px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font-size:18px;font-weight:650;display:flex}.brand-mark{border:1px solid #2e3e51;place-items:center;width:38px;height:42px;font-family:AppleMyungjo,serif;font-size:24px;font-weight:400;display:grid;transform:rotate(-2deg)}.brand small{letter-spacing:2px;color:#858e9b;margin-top:5px;font-size:8px;font-weight:450;display:block}.brand-button{text-align:left;background:0 0;border:0;padding:0}.welcome{background:#f6f7f9;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;max-width:1500px;min-height:100vh;margin:auto;padding:70px 7vw;display:grid}.welcome .brand{margin-bottom:85px}.welcome .eyebrow{margin-bottom:20px}.welcome h1{letter-spacing:-2.5px;font-family:AppleMyungjo,serif;font-size:clamp(38px,4.2vw,62px);font-weight:400;line-height:1.4}.welcome-text{color:#747e8b;margin-top:25px;font-size:15px;line-height:1.95}.welcome-start{justify-content:space-between;width:250px;margin-top:35px;padding:15px 20px}.local-note{color:#9299a3;margin-top:50px;font-size:11px}.welcome-art{background:#e8edf1;flex-direction:column;height:660px;padding:35px;display:flex;position:relative;overflow:hidden}.art-top,.art-bottom{letter-spacing:1.7px;justify-content:space-between;font-size:9px;display:flex}.art-quote{letter-spacing:-1.5px;font-family:AppleMyungjo,serif;font-size:38px;line-height:1.6;position:absolute;bottom:130px;left:48px}.art-bottom{letter-spacing:0;color:#626e7c;margin-top:auto}.fabric{height:235px;display:flex;position:absolute;top:150px;left:-30px;right:-70px;transform:rotate(-20deg)}.fabric i{opacity:.8;border-radius:70% 4% 40% 5%;flex:1;box-shadow:inset 10px -15px 40px #ffffff25}.fabric i:first-child{background:#e2bb6d;transform:translateY(40px)}.fabric i:nth-child(2){background:#b57c92;transform:translateY(-14px)}.fabric i:nth-child(3){background:#7a9bb9;transform:translateY(20px)}.fabric i:nth-child(4){background:#598c92;transform:translateY(-35px)}.fabric i:nth-child(5){background:#a5b58a;transform:translateY(22px)}.loading-page{height:100vh;color:var(--muted);place-items:center;display:grid}.topbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:45px;height:86px;padding:0 42px;display:flex}.topbar nav{align-items:center;gap:28px;margin-left:auto;display:flex}.nav-button{color:#7e8793;background:0 0;border:0;align-items:center;gap:8px;padding:12px 0;font-size:14px;display:flex}.nav-button.active{color:var(--ink)}.profile{border-left:1px solid var(--line);align-items:center;gap:10px;padding-left:30px;font-size:12px;line-height:1.5;display:flex}.profile small{color:#959ca7;font-size:10px;display:block}.avatar{color:#52678e;background:#e9eef7;border-radius:50%;place-items:center;width:31px;height:31px;font-size:13px;display:grid}.app-footer{border-top:1px solid var(--line);letter-spacing:.7px;color:#98a0ad;justify-content:space-between;margin:0 42px;padding:23px 0;font-size:10px;display:flex}.library{max-width:1320px;min-height:calc(100vh - 151px);margin:auto;padding:62px 60px 32px}.page-heading{justify-content:space-between;align-items:end;margin-bottom:35px;display:flex}.page-heading h1{margin:15px 0 12px;font-size:34px}.page-heading p:not(.eyebrow){color:#858d98;font-size:14px}.collection-count{color:#89919e;margin-bottom:3px;font-size:12px}.empty-state{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:450px;display:flex}.empty-art{color:#7e95b5;background:#edf1f6;place-items:center;width:85px;height:98px;margin-bottom:30px;display:grid;position:relative;transform:rotate(-6deg)}.empty-art span{background:#b3c1d3;width:30px;height:1px;position:absolute;bottom:16px;left:20px}.empty-state h2{letter-spacing:-.7px;font-size:21px;font-weight:500}.empty-state p{text-align:center;color:#8a929e;margin:12px 0 25px;font-size:14px;line-height:1.8}.library-foot{text-align:center;color:#9ba3af;margin:30px 0;font-size:11px}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.work-card{text-align:left;background:0 0;border:0;min-width:0;padding:0}.work-card>.canvas-wrap{object-fit:contain;max-height:420px;box-shadow:0 4px 18px #1b2b4010}.work-card-info{justify-content:space-between;align-items:center;padding:17px 1px;display:flex}.work-card-info strong{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:15px;font-weight:550;display:block;overflow:hidden}.work-card-info small{color:#959da8;margin-top:6px;font-size:11px;display:block}.status{color:#7c8795;white-space:nowrap;background:#eaeef3;border-radius:4px;padding:5px 8px;font-size:10px}.status.approved{color:#5b8168;background:#e7efe9}.new-card{aspect-ratio:4/5;background:#f0f3f7;border:1px dashed #d4dbe5;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;max-height:420px;display:flex}.new-card>span{color:#7d91ad;background:#fff;border-radius:50%;place-items:center;width:55px;height:55px;margin-bottom:20px;display:grid}.new-card strong{font-size:16px;font-weight:500}.new-card small{color:#8c97a5;margin-top:9px;font-size:12px}.toast{color:#fff;z-index:30;background:#253346;border-radius:8px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:15px 22px;font-size:13px;line-height:1.6;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #192c4825}.error-banner{color:#9b443a;background:#fff0ee;justify-content:space-between;align-items:center;gap:20px;padding:14px 42px;font-size:13px;display:flex}.error-banner button{color:inherit;background:0 0;border:0;padding:5px;display:flex}.error-text{color:#a5483e;margin:12px 0;font-size:13px}.back-link{color:#7e8895;background:0 0;border:0;align-items:center;gap:8px;min-height:35px;padding:0;font-size:12px;display:flex}.upload-page{max-width:1160px;min-height:calc(100vh - 151px);margin:auto;padding:35px 60px 65px}.upload-page>.eyebrow{margin-top:35px}.upload-page>h1{margin:15px 0;font-size:32px}.upload-page>.muted{font-size:14px}.upload-layout{grid-template-columns:minmax(0,1fr) 280px;gap:54px;margin-top:38px;display:grid}.drop-zone{background:#fff;border:1px dashed #bcc8d9;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:390px;padding:30px;display:flex}.drop-zone input{opacity:0;pointer-events:none;height:1px;position:absolute;width:1px!important;padding:0!important}.upload-symbol{color:#7f96b6;background:#f0f3f8;border-radius:50%;margin-bottom:6px;padding:20px}.drop-zone h2{font-size:18px;font-weight:500}.drop-zone p{color:#969da8;font-size:12px}.drop-zone small{color:#9da6b3;margin-top:7px;font-size:10px}.drop-zone .button{margin-top:9px}.photo-note{color:#8993a1;gap:6px;margin-top:15px;font-size:11px;line-height:1.7;display:flex}.upload-aside{padding-top:8px}.step-number{color:#b4c1d4;font-family:serif;font-size:27px}.upload-aside h2{margin:17px 0 12px;font-size:18px;font-weight:550}.upload-aside p{color:#8993a1;font-size:12px;line-height:1.8}.mood-options{flex-direction:column;gap:10px;margin:23px 0 30px;display:flex}.mood{text-align:left;background:#fff;border:1px solid #e1e5ec;border-radius:6px;align-items:center;gap:13px;padding:13px 15px;font-size:13px;display:flex}.mood svg{color:var(--blue);margin-left:auto}.mood.selected{background:#edf2fc;border-color:#8ea8d9}.mood i{background:#a5b5c1;border-radius:50%;width:17px;height:17px}.mood i.bright{background:#dbc48b}.mood i.warm{background:#c7a5a8}.sample-note{color:#98a1af;text-align:center;margin-top:14px;font-size:10px;line-height:1.7;display:block}.picked-photos{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.picked-photo{background:#eef1f5;border-radius:3px;height:170px;position:relative;overflow:hidden}.picked-photo img{object-fit:contain;width:100%;height:100%}.remove-photo{background:#fff;border:0;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;top:6px;right:6px}.picked-photo>span{background:#fffd;border-radius:3px;padding:3px 6px;font-size:10px;position:absolute;bottom:7px;left:9px}.editor{max-width:1580px;min-height:calc(100vh - 151px);margin:auto}.editor-top{border-bottom:1px solid var(--line);background:#f6f7f9;align-items:center;gap:16px;height:67px;padding:0 38px;display:flex}.editor-top .back-link{margin-right:8px}.revision{color:#97a0ad;font-size:11px}.history-button{color:#778493;background:0 0;border:0;align-items:center;gap:7px;margin-left:auto;padding:8px;font-size:12px;display:flex}.editor-grid{grid-template-columns:230px minmax(0,1fr) 330px;min-height:770px;display:grid}.design-panel{border-right:1px solid var(--line);background:#fff;padding:27px 24px}.panel-heading{align-items:center;gap:8px;display:flex}.panel-heading>svg{color:#8795a8}.panel-heading h2{font-size:14px;font-weight:600}.panel-intro{color:#98a1af;margin:11px 0 23px;font-size:11px}.template-options{flex-direction:column;gap:22px;display:flex}.template{text-align:left;background:0 0;border:0;min-width:0;padding:0}.template-preview{background:#f1f3f6;border:1px solid #0000;border-radius:4px;min-width:0;padding:10px 20px;position:relative}.template.selected .template-preview{background:#edf1f9;border-color:#7f9bca}.template-preview .canvas-wrap{width:100%;max-width:118px;min-height:0;margin:auto;box-shadow:0 2px 7px #21314215}.template-index{color:#9aa6b6;font-size:8px;position:absolute;top:9px;left:9px}.template-check{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:19px;height:19px;display:grid;position:absolute;bottom:7px;right:7px}.template strong{margin-top:10px;font-size:12px;font-weight:550;display:block}.template small{color:#9ba4b1;margin-top:5px;font-size:10px;display:block}.original-note{border-top:1px solid var(--line);color:#98a4b4;align-items:start;gap:9px;margin-top:28px;padding-top:20px;display:flex}.original-note p{font-size:10px;line-height:1.8}.preview-panel{background:#eef0f4;flex-direction:column;align-items:center;min-width:0;padding:25px 40px 28px;display:flex}.preview-heading{color:#8b95a4;justify-content:space-between;width:100%;margin-bottom:25px;font-size:11px;display:flex}.preview-heading>span:first-child{color:#677487}.main-canvas{width:100%;max-width:465px;margin:auto 0}.canvas-wrap{background:#f7f6f2;max-width:100%;position:relative;overflow:hidden;box-shadow:0 10px 30px #23345112}.canvas-wrap canvas{object-fit:contain;width:100%;height:100%;display:block}.canvas-wrap p{color:#9c5451;padding:20px;font-size:12px}.canvas-loading{color:#98a1ac;background:#f7f6f2;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.canvas-caption{color:#929cab;text-align:center;align-items:center;gap:6px;margin:20px 0 5px;font-size:10px;line-height:1.7;display:flex}.tiny-dot{background:#92a4bc;border-radius:50%;width:4px;height:4px}.asset-switcher{gap:9px;margin-top:16px;display:flex}.asset-switcher button{background:#fff;border:1px solid #d3dae4;border-radius:3px;width:46px;height:48px;padding:3px;position:relative}.asset-switcher button.selected{border-color:var(--blue);outline:1px solid var(--blue)}.asset-switcher img{object-fit:contain;width:100%;height:100%}.asset-switcher span{background:#ffffffe0;font-size:8px;position:absolute;bottom:0;right:2px}.resolution-note{color:#8c919c;text-align:center;margin-top:9px;font-size:10px;line-height:1.6}.edit-panel{border-left:1px solid var(--line);background:#fff;padding:28px 24px}.edit-panel .panel-heading{justify-content:space-between;margin-bottom:26px}.small-index{letter-spacing:1px;color:#a9b0bc;font-size:8px}.field-label{color:#6f7b8c;margin-top:22px;margin-bottom:9px;font-size:11px;display:block}.field-label>span{color:#adb4bf;margin-left:4px;font-size:10px}.field-label-row{justify-content:space-between;align-items:center;margin-top:22px;margin-bottom:9px;display:flex}.field-label-row .field-label{margin:0}.field-label-row>span{color:#a9b0bb;font-size:9px}.suggest-button{color:#8190a7;background:#f4f6f9;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:9px;padding:10px;font-size:10px;display:flex}.settings-row{grid-template-columns:1fr auto;gap:16px;display:grid}.segmented{background:#f0f2f6;border:1px solid #eceff3;border-radius:6px;gap:2px;padding:3px;display:flex}.segmented button{color:#909aaa;background:0 0;border:0;border-radius:4px;flex:1;min-height:31px;padding:4px 6px;font-size:10px}.segmented .selected{color:#455a78;background:#fff;box-shadow:0 1px 3px #283c5f12}.swatches{align-items:center;gap:8px;height:39px;display:flex}.swatch{color:#fff;border:2px solid #fff;border-radius:50%;outline:1px solid #0000;place-items:center;width:23px;height:23px;padding:0;display:grid}.swatch.ink{background:#2e3541}.swatch.blue{background:#486b88}.swatch.plum{background:#855a74}.swatch.selected{outline-color:#a7b1c1}.range-label{justify-content:space-between;align-items:center;display:flex}.range-label>span{font-size:10px}input[type=range]{accent-color:#6b88b4;width:100%;height:4px;margin-top:17px;display:block}.fit-note{color:#a0a8b4;margin:11px 0 23px;font-size:9px;line-height:1.7}.save-actions{flex-direction:column;gap:9px;display:flex}.save-actions .button{min-height:42px;font-size:12px}.export-section{border-top:1px solid var(--line);margin-top:24px;padding-top:21px}.export-section>div:first-child{justify-content:space-between;align-items:center;display:flex}.export-section h3{font-size:12px;font-weight:500}.export-section select{color:#8c96a4;padding:5px 7px;font-size:10px}.export-actions{gap:8px;margin-top:13px;display:flex}.export-actions .ink{flex:1;font-size:12px}.export-actions .share{padding:12px}.export-section>small{color:#a0a9b6;text-align:center;margin-top:10px;font-size:9px;display:block}.suggestions{background:#f8f9fb;border-radius:5px;margin-top:8px;padding:12px}.suggestions>small{color:#929ca9;font-size:9px;line-height:1.6}.suggestions button{white-space:pre-line;border:0;border-top:1px solid var(--line);text-align:left;color:#5d718d;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 0;font-size:11px;line-height:1.7;display:flex}.suggestions button:first-of-type{margin-top:9px}.conflict-banner{color:#8c754b;background:#fff6e5;justify-content:space-between;align-items:center;gap:20px;padding:14px 30px;font-size:12px;line-height:1.7;display:flex}.conflict-banner button{color:#887344;white-space:nowrap;background:#fff;border:1px solid #dfd3b9;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-size:11px;display:flex}.modal-backdrop{z-index:50;background:#17213466;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.history-modal{background:#fff;border-radius:10px;width:500px;max-height:80vh;padding:28px;overflow:auto;box-shadow:0 20px 60px #19273e44}.history-modal>div:first-child{justify-content:space-between;align-items:center;display:flex}.history-modal h2{font-size:19px;font-weight:550}.history-modal>p{color:#8e99a8;margin:10px 0 23px;font-size:12px}.history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.history-row strong{font-size:13px;font-weight:550;display:block}.history-row strong small{color:#9aa3b0;margin-left:6px;font-size:10px}.history-row span>small{color:#8d98a7;margin-top:8px;font-size:10px;display:block}@media (width>=1500px){.editor-grid{grid-template-columns:250px minmax(0,1fr) 350px}.preview-panel{padding:30px 60px}.main-canvas{max-width:500px}.edit-panel,.design-panel{padding:30px}.template-preview .canvas-wrap{max-width:125px}}@media (width<=1100px){.topbar{gap:25px;padding:0 24px}.profile{padding-left:20px}.profile>span:not(.avatar){display:none}.editor-grid{grid-template-columns:174px minmax(0,1fr) 300px}.design-panel{padding:24px 16px}.template-preview{padding:8px 16px}.preview-panel{padding:25px 24px}.edit-panel{padding:25px 20px}.settings-row{gap:10px}.swatches{gap:5px}.swatch{width:21px;height:21px}.welcome-art{height:610px}.library{padding:45px 32px}.work-grid{gap:20px}.upload-layout{grid-template-columns:minmax(0,1fr) 260px;gap:30px}.upload-page{padding:30px 36px 50px}.welcome{gap:6vw;padding:55px 6vw}.art-top span{display:none}}@media (width<=800px){.topbar{gap:18px;height:75px;padding:0 20px}.brand{gap:9px;font-size:16px}.brand-mark{width:30px;height:34px;font-size:21px}.topbar nav{gap:14px}.topbar .nav-button{font-size:12px}.profile{border:0;gap:1px;padding:0}.profile .avatar{display:none}.topbar .button{min-height:35px;font-size:12px}.editor-top{gap:12px;height:56px;padding:0 20px}.editor-grid{grid-template-columns:1fr 300px;min-height:0}.design-panel{border-right:0;border-bottom:1px solid var(--line);grid-area:1/1/auto/-1;padding:18px 24px}.design-panel .panel-heading,.panel-intro{display:none}.template-options{flex-direction:row;gap:12px}.template{flex:1}.template-preview{padding:8px;display:none}.template strong{margin:0;font-size:12px}.template small{margin-top:6px;font-size:9px}.template{border:1px solid #e3e7ef;border-radius:5px;padding:12px 13px}.template.selected{background:#edf2fc;border-color:#8a9fca}.original-note{display:none}.preview-panel{justify-content:start;padding:22px}.main-canvas{margin:10px 0 auto}.edit-panel{border-left:1px solid var(--line)}.welcome-art{height:520px}.art-quote{font-size:30px;left:35px}.fabric{height:190px;top:140px}.welcome .brand{margin-bottom:55px}.welcome h1{font-size:39px}.welcome-text{font-size:13px}.local-note{font-size:10px}.welcome-start{width:210px}.welcome-art{padding:26px}.art-bottom{font-size:8px}.art-bottom span{display:none}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-layout{grid-template-columns:1fr}.upload-aside{padding:10px 0}.upload-aside>.step-number{display:none}.mood-options{flex-direction:row;margin:20px 0}.mood{flex:1}.upload-aside p br,.upload-aside .sample-note br{display:none}.upload-page{max-width:650px}.app-footer{margin:0 24px}.canvas-caption{margin-top:15px;font-size:9px}}@media (width<=580px){.welcome{grid-template-columns:1fr;gap:32px;padding:32px 28px}.welcome .brand{margin-bottom:42px}.welcome .eyebrow{font-size:10px}.welcome h1{font-size:42px}.welcome-text{font-size:14px}.welcome-start{width:100%}.welcome-art{order:2;height:330px;display:none}.local-note{margin-top:25px}.topbar{gap:12px;height:70px;padding:0 16px}.brand{gap:8px;font-size:14px}.brand small{letter-spacing:1.4px;font-size:7px}.topbar .nav-button{display:none}.topbar nav{gap:0;margin-left:auto}.topbar .button{gap:4px;min-height:36px;padding:8px 11px;font-size:11px}.profile{margin-left:-6px}.profile .icon-button{min-width:25px}.app-footer{margin:0 18px;padding:20px 0;font-size:8px}.app-footer span:nth-child(2){display:none}.library{min-height:calc(100vh - 130px);padding:33px 20px}.page-heading{align-items:center;margin-bottom:27px}.page-heading h1{margin:12px 0;font-size:27px}.page-heading p:not(.eyebrow){max-width:220px;font-size:12px;line-height:1.7}.eyebrow{font-size:9px}.collection-count{font-size:10px}.work-grid{gap:14px}.work-card-info{align-items:start;gap:3px;padding:13px 0}.work-card-info strong{max-width:95px;font-size:12px}.work-card-info small{font-size:9px}.work-card-info .status{padding:4px;font-size:8px}.new-card strong{font-size:13px}.new-card small{font-size:10px}.new-card>span{width:38px;height:38px;margin-bottom:15px}.empty-state{min-height:425px;padding:20px}.empty-state h2{font-size:20px}.empty-state p{font-size:13px}.upload-page{padding:22px 20px 36px}.upload-page>.eyebrow{margin-top:27px}.upload-page>h1{font-size:27px}.upload-page>.muted{font-size:12px}.upload-layout{gap:22px;margin-top:27px}.drop-zone{gap:13px;min-height:330px;padding:22px 16px}.drop-zone h2{font-size:17px}.drop-zone p{font-size:11px}.photo-note{gap:5px;font-size:10px}.photo-note>svg{flex-shrink:0}.picked-photo{height:140px}.upload-aside h2{font-size:17px}.mood{gap:7px;padding:12px 9px;font-size:11px}.mood i{width:13px;height:13px}.mood svg{width:12px}.sample-note{font-size:9px}.editor-top{gap:8px;height:54px;padding:0 17px}.editor-top .back-link{margin-right:3px;font-size:11px}.revision{font-size:9px}.history-button{gap:5px;padding:5px;font-size:11px}.editor-grid{flex-direction:column;display:flex}.design-panel{order:1;padding:15px 17px}.template-options{gap:7px}.template{padding:10px 9px}.template strong{font-size:11px}.template small{font-size:8px;line-height:1.5}.preview-panel{order:2;padding:19px 30px 20px}.preview-heading{margin-bottom:17px;font-size:10px}.main-canvas{max-width:350px;margin:0}.canvas-caption{margin:15px 0 0;font-size:9px}.asset-switcher{margin-top:13px}.edit-panel{border-left:0;border-top:1px solid var(--line);order:3;padding:26px 22px 30px}.edit-panel .panel-heading h2{font-size:16px}.field-label{font-size:12px}.field-label-row>span{font-size:10px}.settings-row{grid-template-columns:1fr 110px;gap:23px}.swatches{gap:12px}.swatch{width:26px;height:26px}.segmented button{font-size:12px}.suggest-button{padding:12px;font-size:12px}.fit-note{font-size:10px}.save-actions .button{min-height:45px;font-size:13px}.export-section h3{font-size:13px}.export-section select{font-size:12px}.export-actions .ink{font-size:13px}.export-section>small{font-size:10px}.toast{width:max-content;padding:13px 16px;font-size:12px;bottom:20px}.error-banner{padding:12px 17px;font-size:12px}.conflict-banner{flex-direction:column;align-items:start;gap:8px;padding:13px 17px}.history-modal{padding:23px}.history-row{gap:12px}.history-row span>small{font-size:9px}.suggestions>small{font-size:10px}.suggestions button{font-size:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.quote-library-trigger{color:#3d5f9c;text-align:left;background:#eff4ff;border:1px solid #b6c7e9;border-radius:6px;align-items:center;gap:11px;width:100%;margin-top:12px;padding:13px 12px;display:flex}.quote-library-trigger>span{flex:1}.quote-library-trigger strong{font-size:12px;font-weight:600;display:block}.quote-library-trigger small{color:#7e90ac;margin-top:5px;font-size:10px;display:block}.quote-source-note{background:#f5f7fa;border-left:2px solid #96aacb;margin-top:10px;padding:11px 12px;line-height:1.7}.quote-source-note a{color:#5f7597;font-size:10px;text-decoration:none;display:block}.quote-source-note small{color:#8997ab;font-size:9px;display:block}.quote-source-note button{color:#8894a6;background:0 0;border:0;border-bottom:1px solid #cfd7e3;margin-top:5px;padding:0;font-size:9px}.quote-backdrop{z-index:55;padding:25px}.quote-library{background:#f8f9fb;border-radius:12px;flex-direction:column;width:100%;max-width:960px;height:88dvh;display:flex;overflow:hidden;box-shadow:0 20px 80px #19273e44}.quote-library-header{background:#fff;justify-content:space-between;align-items:start;padding:27px 30px 22px;display:flex}.quote-library-header h2{letter-spacing:-1px;margin-top:10px;font-size:25px;font-weight:550}.quote-library-header p:not(.eyebrow){color:#8a95a4;margin-top:10px;font-size:12px}.quote-filters{border-bottom:1px solid var(--line);background:#fff;padding:0 30px 20px}.quote-search{color:#8395b0;background:#f8faff;border:1px solid #ccd7e9;border-radius:7px;align-items:center;gap:10px;padding:0 12px;display:flex}.quote-search>input{background:0 0;border:0;min-width:0;padding:12px 0!important;font-size:14px!important}.quote-search>input::placeholder{font-size:13px}.quote-search>button{color:#8492a4;background:0 0;border:0;place-items:center;padding:6px;display:grid}.quote-filter-row{justify-content:space-between;align-items:center;margin:12px 0;display:flex}.quote-filter-row label{color:#8490a1;align-items:center;gap:10px;font-size:11px;display:flex}.quote-filter-row select{max-width:220px;padding:8px 10px;font-size:12px}.quote-count{color:#8a96a5;font-size:11px}.quote-tags{flex-wrap:wrap;gap:7px;display:flex}.quote-tags button{color:#8b97a6;background:#fff;border:1px solid #e1e6ee;border-radius:20px;min-height:30px;padding:5px 12px;font-size:11px}.quote-tags button.selected{color:#fff;background:#355fae;border-color:#355fae}.quote-results{overscroll-behavior:contain;flex:1;min-height:0;padding:22px 30px;overflow-y:auto}.quote-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:15px;display:grid}.quote-card{background:#fff;border:1px solid #e4e8ef;border-radius:7px;flex-direction:column;min-width:0;padding:18px;display:flex}.quote-card-top{color:#a0adbf;justify-content:space-between;align-items:center;font-size:10px;display:flex}.quote-card-top svg{color:#a2b2c9}.quote-text{letter-spacing:-.35px;word-break:keep-all;overflow-wrap:anywhere;color:#354053;white-space:pre-line;margin:18px 0 22px;font-family:AppleMyungjo,Batang,serif;font-size:16px;line-height:1.9}.quote-byline{border-top:1px solid #edf0f5;margin-top:auto;padding-top:13px}.quote-byline strong{color:#7a8ba4;font-size:10px;font-weight:500;display:block}.quote-byline span{color:#a4aebc;margin-top:5px;font-size:9px;line-height:1.6;display:block}.quote-card details{color:#8e9cb0;margin-top:13px;font-size:10px;line-height:1.8}.quote-card summary{cursor:pointer;min-height:26px}.quote-card details p{white-space:pre-line;color:#697b96;margin-top:9px;font-size:11px;line-height:1.8}.quote-card details>span{margin-top:10px;font-size:9px;display:block}.quote-card details a{color:#5375ad;align-items:center;gap:4px;margin:7px 0;text-decoration:none;display:flex}.quote-card>.button{color:#617da8;background:#f8faff;border-color:#d8e1ef;min-height:36px;margin-top:13px;padding:8px;font-size:11px}.quote-empty{color:#9ba6b5;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:190px;font-size:13px;display:flex}.quote-empty h3{color:#7789a3;font-size:17px;font-weight:500}.quote-empty p{font-size:12px}.quote-library-footer{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:14px 30px;display:flex}.quote-library-footer>p{color:#798ba4;font-size:10px;line-height:1.8}.quote-library-footer>p span{color:#a2adbc;font-size:9px}.quote-pagination{white-space:nowrap;align-items:center;gap:7px;display:flex}.quote-pagination>span{color:#8695aa;text-align:center;min-width:48px;font-size:10px}.quote-pagination .icon-button{border:1px solid #e1e6ee;min-width:32px;min-height:32px}@media (width<=800px){.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-library{max-width:680px}}@media (width<=580px){.quote-backdrop{padding:10px}.quote-library{border-radius:9px;height:95dvh}.quote-library-header{padding:22px 18px 18px}.quote-library-header h2{font-size:23px}.quote-library-header p:not(.eyebrow){font-size:12px}.quote-filters{padding:0 18px 16px}.quote-filter-row{flex-wrap:wrap;gap:10px}.quote-filter-row label>span{display:none}.quote-filter-row select{max-width:210px;min-height:40px}.quote-count{font-size:10px}.quote-tags{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;padding:2px 2px 8px;overflow-x:auto}.quote-tags button{white-space:nowrap;min-height:38px;padding:7px 13px;font-size:12px}.quote-results{padding:16px}.quote-grid{grid-template-columns:1fr;gap:13px}.quote-card{padding:20px}.quote-text{margin:18px 0 20px;font-size:18px;line-height:1.85}.quote-card-top{font-size:11px}.quote-byline strong{font-size:12px}.quote-byline span{font-size:10px}.quote-card details{font-size:12px}.quote-card summary{min-height:34px;padding-top:4px}.quote-card>.button{min-height:43px;font-size:13px}.quote-library-footer{gap:9px;padding:12px 17px}.quote-library-footer>p{font-size:9px}.quote-library-footer>p span{display:none}.quote-pagination{gap:3px}.quote-pagination .icon-button{min-width:34px;min-height:38px}.quote-library-trigger{padding:14px}.quote-library-trigger strong{font-size:13px}.quote-library-trigger small,.quote-source-note a{font-size:11px}.quote-source-note small,.quote-source-note button{font-size:10px}}.mobile-editor-tabs{display:none}.history-modal{flex-direction:column;max-width:100%;display:flex}.history-modal>div:first-child,.history-modal>p{flex-shrink:0}.history-list{overscroll-behavior:contain;min-height:0;overflow-y:auto}.history-row>span{flex:1;min-width:0}.history-row>button{flex-shrink:0}@media (width<=900px),(pointer:coarse) and (height<=600px){html,body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}body{touch-action:pan-x pan-y pinch-zoom;position:fixed;inset:0}#root{top:var(--viewport-top,0px);height:var(--viewport-height,100dvh);position:fixed;left:0;right:0;overflow:hidden}.app-shell{width:100%;height:100%;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;display:flex;overflow:hidden}.topbar{height:calc(56px + env(safe-area-inset-top,0px));min-height:56px;padding:env(safe-area-inset-top,0px) 14px 0;flex-shrink:0;gap:12px}.topbar .brand{gap:8px;min-width:0;font-size:14px}.brand-mark{flex-shrink:0;width:28px;height:32px;font-size:20px}.topbar nav{gap:8px;margin-left:auto}.topbar .nav-button{display:none}.topbar .button{min-height:36px;padding:8px 11px;font-size:12px}.profile{border:0;gap:0;margin:0;padding:0}.profile .avatar,.profile>span:not(.avatar){display:none}.profile .icon-button{min-width:30px;min-height:36px}.app-footer{display:none}.app-shell>.library,.app-shell>.upload-page{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:none;min-height:0;margin:0;scroll-padding:16px;overflow:hidden auto}.library{padding:24px 18px}.upload-page{padding:18px 18px 28px}.empty-state{min-height:300px}.welcome{overscroll-behavior:contain;height:100%;min-height:0;padding:calc(24px + env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));display:block;overflow:auto}.welcome-art{display:none}.welcome .brand{margin-bottom:34px}.welcome h1{font-size:36px}.welcome-text{margin-top:18px;font-size:14px}.welcome-start{width:100%;max-width:360px;margin-top:26px}.local-note{margin-top:20px}.loading-page{height:100%}.editor{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;display:flex;overflow:hidden}.editor-top{flex-shrink:0;gap:8px;height:43px;min-height:43px;padding:0 12px}.editor-top .back-link{margin:0;font-size:11px}.revision{font-size:10px}.history-button{padding:8px 0 8px 8px;font-size:12px}.mobile-editor-tabs{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;gap:16px;height:42px;padding:0 12px;display:flex}.mobile-editor-tabs button{color:#8995a7;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 5px;font-size:13px;display:flex}.mobile-editor-tabs button[aria-selected=true]{color:#355fae;border-bottom-color:#355fae}.unsaved-dot{background:#6e8cc3;border-radius:50%;width:5px;height:5px}.editor-grid{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.design-panel{border-right:0;border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;order:0;padding:8px 12px}.design-panel .panel-heading,.design-panel .panel-intro,.template-preview,.template small,.original-note{display:none}.template-options{flex-direction:row;gap:7px;display:flex}.template{text-align:center;border:1px solid #e3e7ef;border-radius:5px;flex:1;min-width:0;padding:8px 4px}.template strong{margin:0;font-size:12px;line-height:1.5}.template.selected{background:#edf2fc;border-color:#8a9fca}.preview-panel{flex-direction:column;flex:1;order:1;min-height:0;padding:10px 16px 12px;display:flex;overflow:hidden}.preview-heading{flex-shrink:0;height:16px;margin-bottom:8px;font-size:10px}.main-canvas{flex:1;width:100%;max-width:none;min-height:0;margin:0}.main-canvas>.canvas-wrap{width:100%;height:100%;box-shadow:none;background:0 0;aspect-ratio:auto!important}.main-canvas canvas{object-fit:contain;filter:drop-shadow(0 5px 12px #23345116);width:100%;height:100%}.canvas-caption{flex-shrink:0;margin:9px 0 0;font-size:10px;line-height:1.5}.asset-switcher{overscroll-behavior:contain;flex-shrink:0;gap:8px;max-width:100%;margin-top:9px;padding:2px;overflow-x:auto}.asset-switcher button{flex-shrink:0;width:40px;height:40px}.resolution-note{flex-shrink:0;margin-top:6px;font-size:10px}.edit-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:0;flex:1;order:1;min-height:0;padding:20px 18px 28px;scroll-padding:18px;overflow:hidden auto}.editor[data-mobile-pane=preview] .edit-panel,.editor[data-mobile-pane=edit] .preview-panel{display:none}.edit-panel .panel-heading{margin-bottom:16px}.field-label{margin-top:18px}input:not([type=range]),textarea,select{font-size:16px!important}input:not([type=range]),textarea{line-height:1.5}textarea{resize:none}.settings-row{grid-template-columns:minmax(0,1fr) auto;gap:14px;min-width:0}.segmented button{min-width:0;padding:5px 7px;font-size:12px}.swatches{gap:9px}.error-banner,.conflict-banner{flex-shrink:0;max-height:95px;padding:10px 14px;font-size:12px;overflow-y:auto}.toast{bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px);max-height:25dvh;font-size:12px;overflow:auto}.modal-backdrop{inset:auto;top:var(--viewport-top,0px);width:100%;height:var(--viewport-height,100dvh);overscroll-behavior:none;padding:max(10px, env(safe-area-inset-top,0px)) max(10px, env(safe-area-inset-right,0px)) max(10px, env(safe-area-inset-bottom,0px)) max(10px, env(safe-area-inset-left,0px));left:0;overflow:hidden}.quote-library{border-radius:9px;width:100%;min-width:0;height:100%;min-height:0;max-height:100%}.quote-library-header,.quote-filters,.quote-library-footer{flex-shrink:0}.quote-library-header{padding:18px 18px 14px}.quote-library-header h2{font-size:22px}.quote-filters{padding:0 18px 10px}.quote-search input{padding:11px 0!important;font-size:16px!important}.quote-filter-row label>span{display:none}.quote-filter-row select{min-height:36px;padding:5px 8px;font-size:16px}.quote-tags{overscroll-behavior:contain;flex-wrap:nowrap;gap:6px;padding:1px 2px 7px;overflow-x:auto}.quote-tags button{white-space:nowrap;min-height:34px;padding:6px 12px;font-size:12px}.quote-results{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:14px;overflow-y:auto}.quote-grid{grid-template-columns:1fr}.quote-library-footer{padding:10px 14px}.quote-library-footer>p{font-size:10px;line-height:1.4}.quote-library-footer>p span{display:none}.quote-pagination .icon-button{min-width:34px;min-height:36px}.history-modal{width:min(500px,100%);max-height:100%;padding:18px;overflow:hidden}.history-modal>p{margin:8px 0 14px;line-height:1.6}.history-list{flex:auto}.history-row{gap:10px}.history-row span>small{overflow-wrap:anywhere;font-size:11px;line-height:1.5}:root[data-viewport-compact=true] .quote-library-header{align-items:center;padding:9px 14px 7px}:root[data-viewport-compact=true] .quote-library-header .eyebrow,:root[data-viewport-compact=true] .quote-library-header p:not(.eyebrow){display:none}:root[data-viewport-compact=true] .quote-library-header h2{margin:0;font-size:18px}:root[data-viewport-compact=true] .quote-filters{padding:0 14px 5px}:root[data-viewport-compact=true] .quote-search input{padding:8px 0!important}:root[data-viewport-compact=true] .quote-filter-row{margin:5px 0}:root[data-viewport-compact=true] .quote-filter-row select{min-height:30px;padding:2px 7px}:root[data-viewport-compact=true] .quote-tags{padding-bottom:3px}:root[data-viewport-compact=true] .quote-tags button{min-height:30px;padding:4px 11px}:root[data-viewport-compact=true] .quote-library-footer{padding:6px 12px}:root[data-viewport-compact=true] .quote-results{padding:10px 12px}:root[data-viewport-compact=true] .quote-card{padding:14px}:root[data-viewport-compact=true] .quote-text{margin:10px 0 14px;font-size:16px;line-height:1.65}:root[data-viewport-compact=true] .canvas-caption,:root[data-viewport-compact=true] .resolution-note{display:none}:root[data-viewport-compact=true] .preview-panel{padding:6px 14px 8px}:root[data-viewport-compact=true] .preview-heading{margin-bottom:4px}:root[data-viewport-compact=true] .mobile-editor-tabs{height:36px}:root[data-viewport-compact=true] .asset-switcher{margin-top:5px}:root[data-keyboard-open=true] .quote-filter-row,:root[data-keyboard-open=true] .quote-tags{display:none}}a.welcome-start{text-decoration:none}.admin-overview{border:1px solid var(--line,#ddd);overflow-wrap:anywhere;background:#fff;border-radius:12px;margin:0 0 24px;padding:18px}.admin-overview>div{align-items:center;gap:10px;display:flex}.admin-overview p{margin:8px 0;font-size:14px;line-height:1.6}.admin-overview summary{cursor:pointer;font-size:14px}
