:root{--green:#185f4d;--deep:#123e35;--mint:#e8f3ec;--bg:#f4f7f3;--line:#d6e2d9;--text:#19322d;--muted:#657a71;--white:#fff;--danger:#a13730;--shadow:0 7px 24px rgba(23,59,43,.06)}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;gap:1rem;background:var(--white);border-bottom:1px solid var(--line);padding:.8rem max(2vw,20px);min-height:68px;flex-wrap:wrap}.topbar .brand{font-weight:800;color:var(--deep);font-size:1.23rem;margin-right:1.6rem}.topbar nav{display:flex;gap:1.3rem}.topbar nav a{font-weight:650}.topbar .account{margin-left:auto;color:var(--muted);font-size:.9rem}.topbar form{margin:0}.wrap{max-width:1560px;padding:28px clamp(16px,3vw,52px) 65px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 22px}.heading h1{margin:0;font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.15}.heading h2{margin:0;font-size:1.25rem}.heading p{color:var(--muted);margin:6px 0 0}.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--green)!important;font-weight:800;margin:0 0 6px!important}.panel,.auth-card,.editor-tools,.editor-main{background:var(--white);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.panel{padding:22px;margin-bottom:24px}.panel h2,.tool-group h2{font-size:1.1rem;margin:0 0 14px}button,.button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--green);background:#fff;color:var(--green);font-weight:700;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:5px;text-align:center;line-height:1.25}button:hover,.button:hover{text-decoration:none;background:#eef7f1}.primary{background:var(--green);color:#fff}.primary:hover{background:#104d3e}.secondary{border-color:var(--line);color:var(--deep)}.text-button{border:0;background:none;padding:7px;color:var(--green)}button:disabled{opacity:.55;cursor:wait}button.active{background:var(--mint);border-color:var(--green)}.small{font-size:.85rem;padding:7px 11px}input,select,textarea{font:inherit;border:1px solid #bdcfc4;border-radius:7px;background:white;color:var(--text);padding:10px;width:100%;min-width:0}input:focus,select:focus{outline:2px solid #8fbba0;outline-offset:1px}input[type=range]{padding:0;accent-color:var(--green);cursor:pointer}label{font-size:.9rem;font-weight:650;display:block;margin-bottom:12px}label input,label select{margin-top:5px}.help{color:var(--muted);font-size:.82rem;margin:9px 0}.success,.error,.status{border-radius:9px;padding:11px 14px;margin:0 0 17px}.success{background:#e6f5e8;color:#195f38}.error{background:#ffeae8;color:#842d26}.status:empty{display:none}.upload-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.file-picker{flex:1;min-width:230px;margin:0}.gallery,.version-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:18px}.photo-card{background:#fff;overflow:hidden;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8ebe8;display:block}.card-body{padding:14px}.card-body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body small{display:block;color:var(--muted);margin:3px 0 12px}.card-actions,.button-row,.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.empty{border:1px dashed var(--line);border-radius:12px;padding:36px;text-align:center;color:var(--muted)}.version-card{margin:0}.version-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#eef2ed}.version-card h2{margin:10px 0 0}.version-card p{color:var(--muted);font-size:.84rem}.editor-layout{display:grid;grid-template-columns:minmax(290px,325px) minmax(0,1fr);gap:18px;align-items:start}.editor-tools{padding:0;max-height:calc(100vh - 100px);overflow:auto;position:sticky;top:14px}.tool-group{padding:19px;border-bottom:1px solid var(--line)}.tool-group:last-child{border:0}.tool-group label{margin-bottom:11px}.tool-group .button-row{margin:9px 0}.tool-group .label{font-size:.9rem;font-weight:650;margin:0 0 6px}.corner-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.corner-grid button{font-size:.78rem;min-height:43px;padding:7px}.editor-main{padding:16px}.canvas-surround{background:#e4eae5;background-image:linear-gradient(45deg,#dae2dc 25%,transparent 25%),linear-gradient(-45deg,#dae2dc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dae2dc 75%),linear-gradient(-45deg,transparent 75%,#dae2dc 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;display:flex;align-items:center;justify-content:center;min-height:380px;padding:12px;overflow:auto;border-radius:8px}#preview{display:block;max-width:100%;max-height:calc(100vh - 205px);width:auto;height:auto;box-shadow:0 4px 20px #163e3540;touch-action:none;cursor:grab}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#eff5ef,#e3efe5)}.auth-card{width:min(100%,440px);padding:clamp(22px,4vw,38px)}.auth-card h1{margin:5px 0}.auth-card p{color:var(--muted)}.auth-card form{margin-top:22px}.auth-card button{width:100%}@media(max-width:900px){.editor-layout{grid-template-columns:1fr}.editor-tools{position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tool-group{border-bottom:0;border-right:1px solid var(--line)}.canvas-surround{min-height:240px}#preview{max-height:70vh}}@media(max-width:600px){.topbar .account{display:none}.heading{align-items:start;flex-direction:column}.wrap{padding:20px 14px 45px}.editor-tools{display:block}.tool-group{border-right:0;border-bottom:1px solid var(--line)}.corner-grid button{font-size:.73rem}.topbar{gap:9px}.topbar .brand{width:100%;margin:0}.topbar nav{gap:12px}}
.preset-box{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.preset-box h3{font-size:.95rem;margin:0 0 10px}.preset-box .button-row{margin:6px 0 12px}.preset-box .button-row button{font-size:.8rem;padding:7px 9px}
