@charset "UTF-8";
:root{--bg:#f6f7f2;--panel:#fff;--ink:#263a32;--muted:#8a948c;--green:#2f8063;--green-dark:#245f4b;--green-soft:#edf4eb;--line:#e8ece5;--peach:#f3dfd2;--radius:18px;font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit}button,input,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #7fba9c}button{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.app-header{height:84px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 40px;gap:60px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:24px;font-weight:750;letter-spacing:2px}.brand-en{display:block;font-size:8px;letter-spacing:2.2px;color:#879687;font-weight:600;margin-top:1px}.header-nav{display:flex;align-items:center;height:100%;gap:32px;font-size:13px}.nav-current{height:100%;display:flex;align-items:center;border-bottom:3px solid var(--green);color:var(--green);font-weight:650;padding:0 5px}.nav-button{border:0;background:none;color:#839084;display:flex;gap:8px;align-items:center;padding:10px 0}.small-badge{font-size:9px;padding:3px 5px;background:#f0f2eb;border:1px solid #e6e9de;border-radius:5px}.header-right{margin-left:auto;display:flex;align-items:center;gap:20px}.local-badge{font-size:11px;color:#84917f;display:flex;align-items:center;gap:7px}.local-badge>span{height:6px;width:6px;border-radius:50%;background:#83aa71}.icon-button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:white;color:#8d978b}.icon-button:hover{background:var(--green-soft);color:var(--green)}main{max-width:1680px;margin:auto;padding:30px 40px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;padding:0 0 30px;gap:20px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2px;color:#8a9a83;margin-bottom:10px}h1{font-size:26px;letter-spacing:1px;margin:0 0 10px;font-weight:650;line-height:1.5}.heading-dot{color:var(--green)}.page-heading p{margin:0;color:#8b9488;font-size:12px;letter-spacing:.3px}.step-track{display:flex;align-items:center;gap:12px;white-space:nowrap;padding-right:2px}.step{display:flex;align-items:center;gap:7px;font-size:11px;color:#a4ada0}.step b{font-size:10px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eef0e8;font-weight:500}.step.active{color:#547553}.step.active b{color:var(--green);background:#e4eddf}.step-track i{width:22px;height:1px;background:#dce2d5}.studio-layout{display:grid;grid-template-columns:270px minmax(320px,1fr) 260px;align-items:start;gap:20px}.panel{background:var(--panel);border:1px solid #e7eae2;border-radius:var(--radius);box-shadow:0 4px 16px #314a2d03;overflow:hidden}.panel-title{display:flex;align-items:center;gap:10px;padding:21px 20px 18px;border-bottom:1px solid var(--line)}.panel-title h2{font-size:14px;margin:0;font-weight:650;letter-spacing:.5px}.panel-title>svg{width:16px;height:16px;color:#a0aa9a;margin-left:auto}.section-number{font-size:10px;font-weight:700;background:#edf2e7;color:#779064;border-radius:6px;padding:5px 6px}.section-number.peach{background:#fbefe6;color:#be9c83}.panel-body{padding:20px 18px}.dropzone{border:1.5px dashed #c8d8bf;border-radius:12px;background:linear-gradient(150deg,#f8fbf5,#f0f5eb);display:flex;align-items:center;flex-direction:column;padding:22px 8px 18px;cursor:pointer;transition:.2s}.dropzone.dragover,.dropzone:hover{border-color:var(--green);background:#eaf3e5}.upload-icon{display:grid;place-items:center;height:40px;width:40px;border-radius:12px;background:#e4eddb;color:#6e8d5c;margin-bottom:12px}.upload-icon svg{width:19px;height:19px}.dropzone strong{font-size:12px;font-weight:600;margin-bottom:7px}.dropzone>span:not(.upload-icon){font-size:10px;color:#84937d}.dropzone small{font-size:9px;color:#a0aa97;margin-top:12px}.source-preview{display:flex;align-items:center;gap:10px;padding-top:14px;min-width:0}.source-preview img{width:38px;height:38px;border-radius:8px;object-fit:cover;background:#f4f0e9}.source-preview>div{min-width:0;flex:1}.source-preview strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;font-weight:550}.source-preview span{display:block;font-size:9px;color:#a3a99d;margin-top:5px}.text-button{padding:0;background:none;border:0;color:var(--green);font-size:11px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.text-button:hover{color:#174c37;text-decoration:underline}.text-button svg{width:12px;height:12px}.example-row{display:flex;align-items:center;gap:7px;margin-top:16px;font-size:10px;color:#9aA290}.example-row>span{margin-right:auto}.example-button{border:1px solid #e9ebe4;border-radius:5px;background:#fafbf8;padding:4px 7px;font-size:10px;color:#77856c}.example-button:hover{border-color:#90b28b}.divider{height:1px;background:var(--line);margin:22px 0}.field-heading{display:flex;justify-content:space-between;font-size:12px;margin-bottom:13px;font-weight:550}.field-heading>span{font-size:11px;font-weight:400;color:#74916a;background:#f0f5eb;padding:3px 7px;border-radius:4px;margin-top:-3px}.field-heading output{font-size:13px;font-weight:700}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#a1ab99;margin-top:5px}input[type=range]{width:100%;accent-color:var(--green);margin:0;cursor:pointer;height:16px}.field-hint{font-size:10px;color:#9aA391;margin:11px 0 18px;line-height:1.7}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-field{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:500;margin-bottom:17px;min-width:0}select,input:not([type=checkbox],[type=range],[type=file]){border:1px solid #e1e7dc;border-radius:7px;background:#fff;padding:9px 10px;color:#4e5e49;font-size:11px;min-width:0;max-width:100%}select{padding-right:20px;width:100%;cursor:pointer}.form-field small{font-size:10px;font-weight:400;color:#8d9787;line-height:1.65}.check-line{display:flex;align-items:center;gap:6px;font-size:10px;color:#77866f;margin:4px 0 18px;line-height:1.6}input[type=checkbox]{accent-color:var(--green);width:13px;height:13px;margin:0;cursor:pointer;flex-shrink:0}.help-dot{border:1px solid #cbd4c2;border-radius:50%;width:12px;height:12px;font-size:8px;text-align:center;line-height:10px;cursor:help;margin-left:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dfe7db;border-radius:8px;background:#fff;padding:10px 14px;font-size:11px;font-weight:550;transition:background .15s,transform .15s;white-space:nowrap}.button:not(:disabled):hover{background:#f0f5ec}.button:active{transform:translateY(1px)}.button svg{width:16px;height:16px}.button-primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 5px #287d6110}.button-primary:not(:disabled):hover{background:var(--green-dark)}.button-small{padding:7px 10px;font-size:10px}.generate-button{width:100%;height:41px;font-size:12px;gap:8px}.generate-button kbd{font-family:inherit;margin-left:auto;font-size:13px;opacity:.5}.generate-button>svg{margin-right:auto}.ai-teaser{display:flex;align-items:center;gap:9px;border:1px solid #eeeae1;border-radius:9px;margin-top:18px;padding:12px 10px;background:#fcfbf8}.ai-orb{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#b6a07f;background:#f3eede}.ai-orb svg{width:15px;height:15px}.ai-teaser strong{font-size:10px;font-weight:500;color:#8c7a60}.ai-teaser p{font-size:9px;color:#b1a18a;margin:5px 0 0}.ai-teaser>.text-button{margin-left:auto;font-size:9px;color:#a38c66}.privacy-note{display:flex;gap:7px;font-size:9px;color:#a0ab98;line-height:1.8;margin:18px 2px 0}.privacy-note svg{width:13px;height:13px;margin-top:2px}.editor-panel{display:flex;flex-direction:column;min-width:0}.editor-heading{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:10px;border-bottom:1px solid var(--line)}.document-name{display:flex;align-items:center;gap:8px;min-width:0}.document-name>svg{color:#94a28b;width:16px;height:16px}.document-name input{border:0!important;font-size:13px!important;font-weight:550;width:180px;padding:6px!important;color:#40523c!important;background:transparent!important}.save-status{font-size:9px;color:#9aa790;white-space:nowrap}.editor-toolbar{display:flex;gap:5px;align-items:center;padding:12px 15px;border-bottom:1px solid var(--line);height:59px}.tool-group{display:flex;gap:3px}.tool-button{display:grid;place-items:center;width:30px;height:31px;padding:6px;border:0;border-radius:7px;background:transparent;color:#86967d}.tool-button svg{width:17px;height:17px}.tool-button:hover{background:#f2f6ed}.tool-button.active{background:#e5efe0;color:#426f39}.toolbar-divider{height:20px;width:1px;background:var(--line);margin:0 6px}.toolbar-spacer{flex:1}.canvas-viewport{height:493px;overflow:auto;position:relative;display:flex;align-items:safe center;justify-content:safe center;padding:32px;background-color:#f3f4ee;background-image:radial-gradient(#d5dccb 1px,transparent 1px);background-size:16px 16px;overscroll-behavior:contain}.canvas-frame{padding:0;flex-shrink:0;box-shadow:0 8px 30px #56624b12;border:1px solid #dce2d4;background-color:white;background-image:linear-gradient(45deg,#edf0e8 25%,transparent 25%),linear-gradient(-45deg,#edf0e8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf0e8 75%),linear-gradient(-45deg,transparent 75%,#edf0e8 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}#patternCanvas{display:block;touch-action:none;cursor:crosshair;max-width:none}.busy-overlay{position:sticky;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#f4f7eff0;z-index:2;font-size:12px;flex-shrink:0}.busy-overlay[hidden]{display:none}.spinner{width:24px;height:24px;border:2px solid #cbdcc1;border-top-color:#407a5b;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.canvas-controls{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.view-toggles{display:flex;gap:14px}.view-toggles label{display:flex;align-items:center;gap:5px;font-size:10px;color:#89957e}.view-toggles input{width:12px;height:12px}.zoom-controls{display:flex;align-items:center;gap:7px;font-size:10px;color:#839177}.zoom-controls button{border:0;background:transparent;padding:4px;color:#7c8e6e;font-size:15px}.zoom-controls span#zoomValue{width:36px;text-align:center;font-size:10px}.zoom-divider{height:14px;width:1px;background:var(--line);margin:0 4px}.zoom-controls .fit-button{font-size:10px}.editor-status{display:flex;align-items:center;justify-content:space-between;min-height:35px;gap:10px;font-size:9px;color:#a0aa97;padding:8px 17px}.editor-status>span:first-child{display:flex;align-items:center;gap:5px}.status-dot{height:5px;width:5px;border-radius:50%;background:#a5ba93}.count-badge{font-size:9px;color:#9ba78e;margin-left:auto}.summary-grid{display:grid;grid-template-columns:1fr 1fr;padding:21px 20px 18px}.summary-grid>div+div{padding-left:19px;border-left:1px solid var(--line)}.summary-grid span{display:block;color:#95a087;font-size:10px;margin-bottom:9px}.summary-grid strong{font-size:21px;font-weight:600;letter-spacing:-.7px}.summary-grid small{font-size:9px;color:#9aa68f;margin-left:4px}.physical-size{margin:0 18px 18px;padding:10px;border:1px solid #edf0e5;border-radius:7px;background:#f9faf6;font-size:9px;color:#98a18c}.physical-size label{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.physical-size select{font-size:9px;padding:2px 0;border:0;background:transparent;width:auto;max-width:120px;color:#81916f}.physical-size>span{display:block;color:#86987a;line-height:1.6}.material-section-heading{display:flex;align-items:center;justify-content:space-between;padding:0 18px}.material-section-heading h3{font-size:11px;font-weight:550;margin:0}.material-section-heading span{font-size:8px;color:#a0ab97}.search-field{display:flex;align-items:center;border:1px solid #e8ece1;border-radius:7px;margin:12px 18px 8px;padding-left:9px;color:#adb6a5}.search-field svg{width:13px;height:13px}.search-field input{border:0!important;padding:8px!important;background:transparent!important;font-size:10px!important;width:100%}.search-field input::placeholder{color:#b2baaa}.material-list{height:219px;overflow:auto;margin:0 10px;padding:0 5px;scrollbar-width:thin;scrollbar-color:#d7e1ce transparent}.material-row{width:100%;display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:7px;background:transparent;padding:6px 5px;text-align:left;position:relative}.material-row:hover{background:#f5f8f0}.material-row.active{background:#f0f5e9;border-color:#dce8d2}.color-swatch{width:26px;height:26px;border-radius:7px;border:1px solid #00000010;flex-shrink:0;box-shadow:inset 0 1px 2px #ffffff45}.material-row .color-swatch{width:24px;height:24px;border-radius:6px}.material-row .color-code{font-size:10px;color:#596f4c;flex:1;font-weight:600}.material-row .color-count{font-size:10px;color:#748767}.material-row .color-count small{font-size:8px;color:#a1ad95;margin-left:4px}.material-empty{font-size:11px;color:#99a48e;text-align:center;padding:30px 10px;line-height:1.9}.selected-color{display:flex;align-items:center;gap:9px;margin:13px 18px 10px;padding-top:13px;border-top:1px solid var(--line)}.selected-color>div{display:flex;flex-direction:column;gap:3px}.selected-color span:not(.color-swatch){font-size:8px;color:#9eaa93}.selected-color strong{font-size:10px;font-weight:600;color:#70815f}.selected-color .text-button{margin-left:auto;font-size:9px}.replace-button{margin:0 18px 14px;width:calc(100% - 36px);font-size:9px;padding:7px}.export-area{border-top:1px solid var(--line);padding:18px}.button-dark{width:100%;background:#344d3c;color:#fff;border-color:#344d3c;letter-spacing:.5px;height:40px;font-size:12px}.button-dark:not(:disabled):hover{background:#253e2e}.import-button{display:flex;justify-content:center;width:100%;gap:5px;margin-top:13px;color:#8d9e7d;font-size:9px}.import-button svg{width:12px;height:12px}.export-area p{margin:15px 0 0;font-size:8px;color:#aeb5a5;text-align:center;line-height:1.7}.page-footer{display:flex;justify-content:space-between;padding:23px 2px 20px;color:#a1ad94;font-size:9px}.page-footer i{font-style:normal;margin:0 8px;color:#bdc6b0}.page-footer button{border:0;background:none;color:inherit;font-size:inherit;text-decoration:underline;margin-left:6px}.dialog{border:1px solid #dfe6d9;border-radius:20px;padding:28px;width:580px;max-width:calc(100vw - 32px);max-height:90vh;box-shadow:0 24px 100px #253b2d24;color:var(--ink);overflow:auto}.dialog::backdrop{background:#253b2d50;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.dialog h2{font-size:20px;font-weight:600;margin:0;line-height:1.6}.dialog-heading .eyebrow{font-size:8px}.dialog-description{font-size:12px;line-height:1.9;color:#8b9880;margin:12px 0 22px}.dialog-footnote{font-size:10px;line-height:1.9;color:#9da78f;margin:20px 0 0}.export-options{display:flex;flex-direction:column;gap:9px}.export-options>button{display:flex;gap:15px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left}.export-options>button:hover{border-color:#a7c19a;background:#fcfdf9}.file-icon{width:42px;height:44px;display:grid;place-items:center;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.5px}.green{background:#e9f2e2;color:#6c8c59}.peach-bg{background:#fbede1;color:#b59173}.lavender{background:#eeebf6;color:#a297bb}.yellow{background:#f7f1db;color:#b3a061}.gray{background:#eef0eb;color:#909d86}.export-options>button>div{flex:1}.export-options strong{display:block;font-size:12px;font-weight:550;margin-bottom:6px}.export-options>button>div>span{font-size:10px;color:#98a28e}.export-options svg{width:17px;height:17px;color:#9eac90}.standalone-input{width:100%;margin:20px 0}.palette-dialog{width:640px}.full-palette{display:grid;grid-template-columns:repeat(9,1fr);gap:10px;max-height:450px;overflow:auto;padding:3px}.palette-color{border:1px solid var(--line);background:white;border-radius:8px;padding:6px 4px;display:flex;flex-direction:column;gap:5px;align-items:center;font-size:9px;color:#859777}.palette-color .color-swatch{width:100%;height:30px;border-radius:5px}.palette-color:hover,.palette-color.active{border-color:var(--green);background:#edf5e7}.compact-dialog{width:430px}.compact-dialog .button-primary{width:100%}.compact-dialog .form-field{margin-top:20px}.ai-dialog{width:850px}.ai-layout{display:grid;grid-template-columns:185px 1fr;border-top:1px solid var(--line);margin-top:15px;padding-top:20px;gap:24px}.provider-sidebar{border-right:1px solid var(--line);padding-right:15px}.provider-sidebar>.button{width:100%;margin-bottom:14px}.provider-list{display:flex;flex-direction:column;gap:8px}.provider-card{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fcfdf9;display:flex;flex-direction:column;gap:7px;min-width:0}.provider-card.current{border-color:#b8cfa9;background:#f1f6eb}.provider-card strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-card>span{font-size:9px;color:#9daa91;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-card>div{display:flex;justify-content:space-between;gap:5px}.provider-card .text-button{font-size:9px}.active-label{font-size:9px;color:var(--green)}.provider-form .form-field{margin-bottom:15px}.provider-form input,.provider-form select{font-size:12px!important}.provider-form .check-line{margin-top:-5px;font-size:10px}.provider-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px}.provider-actions .danger{margin-left:auto;color:#b37e6b}.provider-feedback{font-size:11px;line-height:1.8;color:var(--green);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px}.provider-feedback.error{color:#bb7167}.provider-feedback:empty{display:none}.advanced-settings{font-size:10px;color:#8d9a80}.advanced-settings summary{cursor:pointer;margin-bottom:12px}.info-content{font-size:12px;color:#7f8e73;line-height:2}.info-content p{margin:15px 0 0}.info-content a{color:var(--green);overflow-wrap:anywhere}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-actions .button-primary{width:auto}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:50;background:#2f4939;color:#fff;padding:13px 22px;border-radius:10px;box-shadow:0 5px 30px #223b2c30;font-size:12px;max-width:min(560px,90vw);line-height:1.8}.toast.error{background:#865c4d}[hidden]{display:none!important}
@media(min-width:1450px){.studio-layout{grid-template-columns:290px minmax(320px,1fr) 280px;gap:24px}.canvas-viewport{height:530px}.material-list{height:256px}}
@media(max-width:1190px){.app-header{padding:0 24px;gap:35px}main{padding:25px 24px 0}.studio-layout{grid-template-columns:240px minmax(300px,1fr) 230px;gap:14px}.panel-body{padding:17px 14px}.panel-title{padding:18px 15px}.editor-toolbar{padding:12px 8px;gap:2px}.tool-group{gap:0}.tool-button{width:28px}.toolbar-divider{margin:0 3px}.summary-grid{padding:20px 15px}.summary-grid strong{font-size:19px}.summary-grid>div+div{padding-left:12px}.editor-heading{padding:0 14px}.document-name input{width:140px}.step-track{display:none}.canvas-viewport{height:493px;padding:20px}.editor-status{font-size:8px}.local-badge{font-size:10px}}
@media(max-width:980px){.studio-layout{grid-template-columns:230px minmax(0,1fr)}.materials-panel{grid-column:1/-1;display:grid;grid-template-columns:230px 1fr 230px;position:relative}.materials-panel .panel-title{grid-column:1/-1}.summary-grid{grid-column:1}.physical-size{grid-column:1;margin-top:0}.material-section-heading,.search-field{grid-column:2;grid-row:2;margin-top:15px;align-self:start}.search-field{margin-top:42px}.material-section-heading{padding-top:0}.material-list{grid-column:2;grid-row:2/6;margin-top:80px;height:160px;display:grid;grid-template-columns:1fr 1fr;align-content:start}.selected-color{grid-column:1;margin-top:0}.replace-button{grid-column:1;margin-bottom:20px}.export-area{grid-column:3;grid-row:2/6;border:0;border-left:1px solid var(--line);padding-top:35px}.page-heading{padding-bottom:25px}h1{font-size:24px}.canvas-viewport{height:495px}.header-right{gap:12px}.header-nav{gap:22px}.local-badge{font-size:9px}.editor-status>span:last-child{display:none}}
@media(max-width:700px){.app-header{height:68px;padding:0 18px;gap:25px}.brand{font-size:21px;gap:8px}.brand img{width:32px;height:32px}.brand-en{font-size:6px}.header-nav{margin-left:auto;gap:20px}.nav-current{font-size:11px}.nav-button{font-size:11px}.header-right{display:none}main{padding:22px 15px 0}.page-heading{padding-bottom:23px}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:20px;letter-spacing:.3px}.page-heading p{font-size:10px}.studio-layout{grid-template-columns:1fr;gap:16px}.source-panel .panel-body{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:15px}.dropzone{grid-column:1;grid-row:1/5;justify-content:center;min-height:170px;padding:16px 8px}.dropzone strong{font-size:10px}.dropzone>span:not(.upload-icon){font-size:9px}.dropzone small{font-size:8px}.source-preview{grid-column:1;grid-row:5;padding-top:12px}.example-row{grid-column:1;grid-row:6;margin-top:12px}.divider{display:none}.source-panel .field-heading{grid-column:2;grid-row:1;align-self:center;margin:4px 0 8px}.source-panel input[type=range]{grid-column:2;grid-row:2}.range-labels{grid-column:2;grid-row:3;font-size:8px;margin-bottom:5px}.field-hint{display:none}.settings-pair{grid-column:2;grid-row:4;gap:6px}.form-field{font-size:10px;gap:6px;margin-bottom:12px}.source-panel>.panel-body>.form-field{grid-column:2;grid-row:5}.source-panel .check-line{grid-column:2;grid-row:6;align-self:center;font-size:9px;margin:0 0 0}.generate-button{grid-column:1/-1;grid-row:7;margin-top:17px;height:42px}.ai-teaser{grid-column:1/-1;margin-top:12px}.privacy-note{grid-column:1/-1;margin-top:10px}.panel-title{padding:15px}.section-number{font-size:9px}.panel-title h2{font-size:12px}.source-preview strong{max-width:105px;font-size:10px}.source-preview img{width:32px;height:32px}.source-preview span{font-size:8px}.source-preview .text-button{font-size:9px}.example-row{font-size:8px;gap:3px}.example-button{padding:4px 5px;font-size:9px}select,input:not([type=checkbox],[type=range],[type=file]){font-size:10px;padding:8px 6px}.editor-panel{grid-column:1}.editor-heading{height:55px}.document-name input{width:180px}.editor-toolbar{padding:10px;height:51px}.tool-button{width:29px}.toolbar-divider{margin:0 4px}.canvas-viewport{height:390px;padding:22px}.canvas-controls{padding:0 14px}.view-toggles{gap:10px}.editor-status{font-size:9px}.materials-panel{grid-column:1;display:block}.summary-grid{padding:18px 20px}.physical-size{margin:0 18px 18px}.material-section-heading{margin-top:0}.search-field{margin:12px 18px 8px}.material-list{margin:0 13px;display:grid;grid-template-columns:repeat(3,1fr);height:180px;gap:3px}.material-row{gap:5px;padding:5px 3px}.material-row .color-swatch{width:19px;height:19px;border-radius:5px}.material-row .color-code,.material-row .color-count{font-size:9px}.material-row .color-count small{display:none}.selected-color{margin-top:13px;padding-top:15px}.selected-color .text-button{font-size:10px}.replace-button{margin-bottom:15px}.export-area{border-top:1px solid var(--line);padding:18px}.export-area p{font-size:9px}.page-footer{padding:20px 0 24px;font-size:8px;gap:15px;line-height:1.9}.page-footer>span:last-child{text-align:right}.dialog{padding:20px;border-radius:15px}.dialog h2{font-size:18px}.dialog-description{font-size:11px}.full-palette{grid-template-columns:repeat(6,1fr);gap:7px}.ai-layout{grid-template-columns:1fr;gap:20px}.provider-sidebar{border:0;padding:0}.provider-sidebar>.button{width:auto;margin-bottom:10px}.provider-list{display:grid;grid-template-columns:1fr 1fr;max-height:180px;overflow:auto}.provider-form>.settings-pair{display:grid}.provider-form .form-field{font-size:11px}.provider-form input,.provider-form select{font-size:12px!important}.provider-actions{gap:7px}.provider-actions>.button{font-size:10px;padding:10px}.export-options>button{gap:10px}.export-options strong{font-size:11px}.export-options>button>div>span{font-size:9px}.toast{font-size:11px;bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition:none!important}}
.busy-overlay{position:absolute;inset:0}
@media(max-width:700px){
  .editor-toolbar{height:auto;min-height:51px;flex-wrap:wrap;gap:2px}
  .editor-toolbar .tool-button{width:27px;height:29px;flex-shrink:0}
  .editor-toolbar .toolbar-divider{margin:0 2px}
  .editor-toolbar .button-small{padding:6px;font-size:9px}
}

#accountName{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.header-nav a.nav-button{text-decoration:none}

#accountDialog, #recoveryDialog { max-height: calc(100dvh - 24px); overflow: auto; }
#accountDialog input, #recoveryDialog input { min-height: 44px; font-size: 16px !important; }
#accountDialog .form-field, #recoveryDialog .form-field { margin-top: 16px; }
#accountDialog .form-field small { line-height: 1.6; }
#accountDialog hr { border: 0; border-top: 1px solid var(--line); margin: 24px 0; }
#accountDialog p, #recoveryDialog p { line-height: 1.7; overflow-wrap: anywhere; }
.header-right { flex-wrap: wrap; }
.admin-tabs { flex-wrap: wrap; }

.library-dialog { width: min(760px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow: auto; }
.library-entry { border-top: 1px solid var(--line); padding: 16px 0; }
.library-entry h3 { margin: 0; overflow-wrap: anywhere; }
.library-entry p, .library-dialog > p { line-height: 1.7; color: #65745d; }
.library-entry .provider-actions { flex-wrap: wrap; }
.library-dialog .button { min-height: 44px; }
@media (max-width: 700px), (max-width: 980px) and (max-height: 500px) {
  .header-right { gap: 8px; }
  .header-right .text-button { min-height: 44px; white-space: nowrap; }
  .library-dialog { padding: 20px; }
  .library-entry .provider-actions { align-items: stretch; }
}

@media (max-width: 700px), (max-width: 980px) and (max-height: 500px) {
  body .app-header { height: auto; min-height: 68px; flex-wrap: wrap; padding: 10px 14px; gap: 8px 12px; }
  body .header-right { flex-basis: 100%; justify-content: flex-end; margin-left: 0; gap: 8px; }
}
