@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#f6f5f1;--ink:#293a30;--muted:#73806f;--line:#e3e7de;--green:#365b42;--light:#edf2e9;--nav-height:64px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{font:14px 'DM Sans',sans-serif;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;overflow:hidden;height:var(--editor-height,100dvh)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;border:0;background:none}button:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}button,input,select{outline-offset:3px}.app-header{height:76px;min-height:76px;background:#fffdf9;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-size:29px;letter-spacing:-1.5px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}.brand>span{color:var(--green);font-size:32px;display:inline-block;transform:rotate(-8deg);margin-right:6px}.project{display:flex;align-items:center;gap:20px}.project>input{width:230px;border:0;background:transparent;font-size:15px;padding:9px 5px;color:#687360}.history{display:flex;gap:3px}.history button{width:40px;height:42px;font-size:24px;border-radius:6px}.primary{background:var(--green);color:#fff;border-radius:7px;min-height:44px;padding:12px 18px;display:flex;justify-content:center;align-items:center;gap:14px;font-weight:500;font-size:13px}.primary>span{font-size:20px}.secondary{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:40px;padding:10px;font-size:12px}.text-button{font-size:12px;color:#5e7755;padding:9px 0;text-align:left}.danger{color:#9a5146}main{flex:1;min-height:0;display:grid;grid-template-columns:310px minmax(0,1fr);width:100%}.inspector{display:flex;flex-direction:column;min-height:0;background:white;border-right:1px solid var(--line)}.tool-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex-shrink:0;padding:14px 12px 12px;border-bottom:1px solid var(--line);background:#fff}.tool-nav button{min-height:46px;border-radius:7px;font-size:12px;display:flex;gap:7px;align-items:center;justify-content:center;color:#798373}.tool-nav button>span{font-size:19px}.tool-nav .active{background:var(--light);color:var(--green);font-weight:600}.inspector-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 20px;scrollbar-width:thin}.pane-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}h1{font-size:17px;font-weight:500;margin:0}.count{font-size:11px;color:#75866a;padding:3px 7px;background:#f1f4ec;border-radius:4px}.upload{width:100%;border:1px dashed #b9c7ae;border-radius:7px;background:#fafbf7;display:grid;grid-template-columns:26px 1fr;align-items:center;gap:5px 8px;padding:17px 12px;text-align:left}.upload>span{grid-row:1/3;font-size:25px}.upload strong{font-size:13px;font-weight:500}.upload small{font-size:10px;color:#7b8771;line-height:1.5}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}.photos:empty{display:none}.thumb{position:relative;aspect-ratio:1;padding:0;overflow:hidden;border-radius:5px;background:var(--light)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb>span{position:absolute;bottom:4px;left:4px;border-radius:3px;padding:2px 4px;font-size:9px;color:white;background:#0007}.help{color:var(--muted);font-size:11px;line-height:1.65;margin:12px 0}.editor-section{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}.editor-section>summary{font-size:13px;font-weight:600;min-height:36px}.editor-section>summary>span{font-weight:400;color:#8b967f;float:right}.minor-details{margin-top:15px;font-size:11px}.minor-details>summary{min-height:34px;color:#728267;display:list-item;align-content:center}.minor-details[open]>summary{margin-bottom:8px}summary{cursor:pointer;user-select:none}.stack{display:grid;gap:8px}.field{display:block;font-size:12px;margin:18px 0 8px;color:#617158}select,input.template-name,.frame-measures input{width:100%;border:1px solid var(--line);background:#fff;border-radius:5px;padding:11px 9px;font-size:12px;min-height:42px}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:34px;background:transparent;display:block;margin:0;cursor:pointer;touch-action:pan-y}input[type=range]:disabled{opacity:.4;cursor:default}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:#cbd6c4}input[type=range]::-moz-range-track{height:4px;border-radius:3px;background:#cbd6c4}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border:3px solid white;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px #91a186}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:3px solid white;border-radius:50%;background:var(--green)}.range-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:22px 0 3px}.range-label output{color:#8b977f;font-size:11px}.photo-actions{display:flex;gap:8px;margin-top:12px}.photo-actions>button{flex:1;border:1px solid var(--line);border-radius:5px;font-size:11px;padding:10px 6px;min-height:39px}.check-label{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;min-height:38px;margin:10px 0;color:#627257}.check-label input{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.color-label{display:flex;align-items:center;justify-content:space-between;margin-top:22px;font-size:12px}input[type=color]{border:1px solid var(--line);background:#fff;width:42px;height:34px;padding:3px;border-radius:5px;cursor:pointer}.layouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.layout-btn{border:1px solid var(--line);border-radius:6px;padding:9px 7px;min-width:0}.layout-btn.active{border-color:#728b60;background:#f3f6ef}.layout-btn svg{width:100%;height:72px;display:block}.layout-btn svg rect:first-child{fill:#718763}.layout-btn span{display:block;font-size:10px;line-height:1.4;margin-top:6px;overflow-wrap:anywhere}.template-builder{border:1px solid var(--line);border-radius:7px;padding:13px;font-size:12px}.template-builder>summary{font-weight:500;color:var(--green)}.template-builder button.secondary{width:100%;margin-top:12px}.template-builder .primary{width:100%;margin-top:18px}.section-label{display:flex;justify-content:space-between;margin:22px 0 10px;font-size:10px;letter-spacing:1px;color:#7d8a73}.frame-measures{display:grid;grid-template-columns:1fr 1fr;gap:8px}.frame-measures label{font-size:10px;color:#718367}.frame-measures input{margin-top:5px;min-width:0}.saved-template{display:flex;flex-direction:column;gap:2px}.saved-template>.text-button{text-align:center;font-size:10px}.privacy{border-top:1px solid var(--line);padding:15px 20px;font-size:9px;flex-shrink:0;color:#8a967e;background:#fcfcfa}.studio{min-width:0;min-height:0;display:flex;flex-direction:column;background:#f0f0e9}.canvas-area{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:38px 40px 18px;background-image:radial-gradient(#bdc5b5 .6px,transparent .6px);background-size:14px 14px}.paper{height:100%;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 12px 24px #3f493220)}canvas{display:block;max-width:100%;flex-shrink:0;touch-action:none;cursor:pointer;user-select:none;-webkit-user-select:none}.canvas-hint{font-size:10px;color:#859277;text-align:center;line-height:1.5;margin-top:20px;letter-spacing:.2px}.studio-bottom{height:60px;flex-shrink:0;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e1e5da;background:#f9f9f4;font-size:11px;color:#839077}.layer-picker{display:flex;align-items:center;gap:10px;white-space:nowrap}.layer-picker select{min-height:34px;padding:6px 8px;width:140px;font-size:11px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{font-size:21px;font-weight:500;margin:0}.icon-button{font-size:27px;width:44px;height:44px;border-radius:6px}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 80px #24311c33;color:var(--ink)}dialog::backdrop{background:#26382455;backdrop-filter:blur(3px)}dialog .primary{width:100%;margin-top:26px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#283e2f;color:#fff;padding:13px 18px;border-radius:7px;font-size:12px;box-shadow:0 5px 25px #0002;max-width:calc(100% - 32px);width:max-content;pointer-events:none;opacity:0;transition:opacity .15s;z-index:20}#toast.show{opacity:1}.dragover{outline:2px dashed #64805b;outline-offset:-5px}
.site-links{display:flex;flex-wrap:wrap;gap:10px 16px;border-top:1px solid var(--line);margin-top:24px;padding:16px 0 2px;font-size:11px;line-height:1.6}.site-links a,.site-links button{color:var(--green);text-underline-offset:3px}.site-links button{padding:0;text-decoration:underline;font:inherit;text-align:left}
@media(min-width:1400px){main{grid-template-columns:330px minmax(0,1fr)}.canvas-area{padding:50px 60px 24px}}
@media(pointer:coarse){button:not(.thumb),select{min-height:44px}.check-label{min-height:44px}.check-label input{width:22px;height:22px}input[type=range]{height:44px}summary{min-height:44px;align-content:center}}
@media(max-width:900px),(max-height:520px) and (max-width:1100px){
 .app-header{height:94px;min-height:94px;display:grid;grid-template-columns:1fr auto;grid-template-rows:48px 42px;gap:0 12px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}
 .brand{font-size:25px}.brand>span{font-size:27px}.app-header>.primary{grid-column:2;grid-row:1;font-size:12px;min-height:38px;padding:8px 13px}.project{grid-column:1/-1;grid-row:2;gap:10px;justify-content:space-between}.project>input{font-size:16px;width:min(64vw,380px);min-width:0;padding-left:2px}.history button{width:40px;height:40px;min-height:40px}
 main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(230px,53%) minmax(0,1fr);margin-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:0;gap:0}
 .studio{grid-column:1;grid-row:1;border-bottom:1px solid var(--line)}.canvas-area{padding:12px 20px 6px}.canvas-hint{font-size:10px;letter-spacing:0;margin-top:8px}.studio-bottom{height:40px;padding:0 14px;font-size:10px}.layer-picker{gap:6px;font-size:10px}.layer-picker select{width:100px;min-height:32px;padding:5px 6px;font-size:12px}
 .inspector{grid-column:1;grid-row:2;border-right:0;min-height:0}.inspector-scroll{padding:18px 18px 25px}.privacy{display:none}.tool-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:6px max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--line);border-bottom:0;gap:8px}.tool-nav button{flex-direction:column;gap:2px;font-size:11px;min-height:48px}.tool-nav button>span{font-size:20px;line-height:22px}
 .pane-heading{margin-bottom:14px}h1{font-size:16px}.upload{min-height:76px;padding:12px}.upload strong{font-size:14px}.upload small{font-size:11px}.photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.thumb{min-height:0}.help{font-size:12px}.field,.range-label,.color-label{font-size:13px}.range-label output{font-size:12px}select,input.template-name,.frame-measures input{font-size:16px;min-height:44px}.text-button{font-size:12px;min-height:44px}.primary,.secondary,.photo-actions>button{font-size:13px;min-height:44px}input[type=range]{height:44px}.check-label{font-size:12px;min-height:44px}.check-label input{width:22px;height:22px}.editor-section>summary{font-size:14px;min-height:44px}.minor-details>summary{font-size:12px;min-height:44px}.template-builder>summary{min-height:28px;align-content:center}.layouts{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-btn span{font-size:11px}.layout-btn svg{height:65px}.frame-measures label{font-size:12px}input[type=color]{width:44px;height:44px}#toast{bottom:calc(76px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.layouts{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-scroll{padding:14px}.studio-bottom{padding:0 9px}.layer-picker>select{width:95px}.canvas-hint{font-size:9px}.project>input{width:190px}.canvas-area{padding:10px 16px 4px}}
@media(max-width:600px) and (max-height:650px){.canvas-hint{display:none}.canvas-area{grid-template-rows:minmax(0,1fr)}.studio-bottom{height:36px}}
@media(max-height:520px) and (min-width:600px) and (max-width:1100px){
 :root{--nav-height:52px}.app-header{height:54px;min-height:54px;display:flex;gap:14px}.brand{font-size:23px}.project{flex:1;justify-content:center;gap:10px}.project>input{width:190px}.history button{width:35px}.app-header>.primary{min-height:40px}
 main{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr)}.studio{grid-column:1;grid-row:1;border:0}.inspector{grid-column:2;grid-row:1;border-left:1px solid var(--line)}.tool-nav{padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}.tool-nav button{min-height:42px;flex-direction:row;gap:8px}.canvas-area{padding:12px 18px 5px}.canvas-hint{font-size:9px;margin-top:5px}.studio-bottom{height:36px;padding:0 10px}.inspector-scroll{padding:15px}
}
@media(max-width:599px) and (max-height:520px){main{grid-template-rows:minmax(80px,35%) minmax(0,1fr)}.canvas-hint,.studio-bottom{display:none}}
html[data-keyboard="true"] main{grid-template-rows:80px minmax(0,1fr)}html[data-keyboard="true"] .canvas-hint,html[data-keyboard="true"] .studio-bottom{display:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
