*{box-sizing:border-box}body{margin:0;color:#292923;background:#f6f5f1;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:11px 18px;background:#303e31;color:white;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.quiet{background:white;color:#42483f;border:1px solid #dedfd6}.wide{width:100%}[hidden]{display:none!important}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #e2e2da;background:#fff}.brand{font-size:23px;font-weight:750;color:#334634}.brand small{font-size:10px;letter-spacing:3px;margin-left:12px;color:#929888}.header-note{color:#97998f;font-size:12px}main{display:grid;grid-template-columns:240px minmax(340px,1fr) 290px;min-height:calc(100vh - 76px)}aside{padding:36px 24px;border-right:1px solid #e1e1d9;background:#fafaf6;position:relative}h1{font-size:34px;line-height:1.45;letter-spacing:-1px;font-weight:600}h1 span{color:#c4613b}.eyebrow{font-size:10px;letter-spacing:2px;color:#929786}.muted{font-size:12px;color:#8b8e83;line-height:1.8}aside .wide{margin:20px 0 26px}h3{font-size:13px;display:flex;justify-content:space-between}h3 span{color:#999}.aside-foot{font-size:10px;color:#999f92;margin-top:60px;line-height:1.8}.project{display:block;width:100%;text-align:left;background:transparent;color:#4d5548;border-bottom:1px solid #e6e6df;border-radius:0;padding:14px 2px}.project small{display:block;color:#939b8b;font-weight:400;margin-top:6px}.project-row{display:flex;align-items:center}.delete{background:transparent;color:#a68172;padding:7px}.studio{padding:28px 32px 20px;min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.toolbar input{border:0;background:none;padding:8px 0;width:180px;font-size:16px;font-weight:600}.actions{display:flex;gap:8px}.canvas-wrap{margin-top:26px;min-height:540px;height:calc(100vh - 244px);display:flex;align-items:center;justify-content:center;padding:24px;border:1px solid #e3e3da;border-radius:12px;background:radial-gradient(#d8d9ce .7px,transparent .7px) 0 0/12px 12px}canvas{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 12px 40px #383a3020}.canvas-caption{display:flex;justify-content:space-between;font-size:10px;color:#929888;margin-top:16px}.inspector{background:#fff;border-left:1px solid #e1e1d9;padding:26px 22px}h2{font-size:17px;margin:0}label{display:block;font-size:12px;color:#666c5f;margin-top:21px}input,textarea,select{display:block;width:100%;border:1px solid #e0e2d9;border-radius:6px;padding:10px;background:#fcfcfa;color:#343b30;margin-top:8px;outline-offset:3px}textarea{resize:vertical}.templates{display:flex;gap:8px;margin-top:10px}.swatch{flex:1;text-align:left;font-size:12px;line-height:1.7;border:1px solid #deded2}.cream{background:#efe9dc;color:#69543c}.dark{background:#252b32;color:#ece5da}.green{background:#dce5d5;color:#314b32}input[type=color]{height:39px;padding:4px}.upload{border:1px dashed #bec9b4;border-radius:7px;padding:14px;text-align:center;cursor:pointer}.upload input{display:none}#remove-image{font-size:11px;margin-top:8px}.hint{font-size:10px;line-height:1.8;color:#979c90}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#293b2a;color:white;padding:13px 24px;border-radius:8px;z-index:10}#login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top right,#dbe4cf,transparent 60%),#f4f0e7}.login-card{padding:40px;background:#ffffffdd;border:1px solid white;border-radius:18px;width:min(440px,92vw);box-shadow:0 24px 70px #33453210}.login-card h1{font-size:28px;margin-top:35px}.login-card p{color:#909586}.login-card button{width:100%;margin-top:28px}#login-error{color:#af4936}@media(max-width:1100px){main{grid-template-columns:190px minmax(300px,1fr)}.inspector{grid-column:2;border-top:1px solid #ddd}.toolbar{flex-wrap:wrap}aside{grid-row:1/3}.canvas-wrap{height:620px}header .header-note{display:none}}@media(max-width:650px){header{padding:0 18px}.brand{font-size:20px}main{display:block}aside{padding:20px;border-bottom:1px solid #ddd}aside h1,aside .muted,.aside-foot,aside .eyebrow{display:none}aside .wide{margin:0 0 8px}#projects{max-height:170px;overflow:auto}.studio{padding:20px 14px}.canvas-wrap{height:500px;min-height:300px}.inspector{padding:25px}.actions button{padding:10px 13px}}
