:root {
  --ink:#3d2b34;
  --muted:#7b6871;
  --wine:#8f3155;
  --pink:#f3b7c8;
  --pink-soft:#fbe8ee;
  --cream:#fff9f0;
  --gold:#d2aa3d;
  --gold-soft:#f4dfaa;
  --line:#eadde2;
  --white:#fff;
  --shadow:0 20px 55px rgba(78,45,59,.13);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Montserrat",sans-serif;color:var(--ink);background:#f8f3f2}
button,input,select,textarea{font:inherit}
button{color:inherit}
[hidden]{display:none!important}

/* Acceso */
.auth-gate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.75) 0 6%,transparent 7%),radial-gradient(circle at 88% 75%,rgba(255,255,255,.55) 0 9%,transparent 10%),linear-gradient(135deg,#f6c6d4,#fbe6e2 48%,#f5d78d)}
.auth-card{position:relative;overflow:hidden;width:min(470px,100%);padding:38px 42px 34px;border:1px solid rgba(255,255,255,.78);border-radius:34px;background:rgba(255,255,255,.78);box-shadow:0 30px 80px rgba(91,45,64,.18);backdrop-filter:blur(18px);text-align:center}
.auth-card::before{content:"";position:absolute;width:210px;height:210px;right:-120px;top:-130px;border:1px solid rgba(211,166,54,.35);border-radius:50%}
.auth-card>img{width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(78,45,59,.12))}
.kicker{margin:14px 0 8px;color:var(--wine);font-size:11px;font-weight:800;letter-spacing:.18em}
.auth-card h1{margin:0;font:700 39px/1.05 "Playfair Display",serif}
.auth-card h1 em{color:var(--wine);font-family:Allura,cursive;font-size:1.32em;font-weight:400}
.auth-card>p:not(.kicker){margin:17px auto 22px;max-width:330px;color:var(--muted);font-size:14px;line-height:1.55}
.auth-card form{display:grid;gap:13px;text-align:left}
.auth-card label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#684955}
.auth-card input{width:100%;padding:14px 16px;border:1px solid #e7ccd5;border-radius:13px;background:#fff;outline:none}
.auth-card input:focus{border-color:#cc6e90;box-shadow:0 0 0 4px rgba(204,110,144,.12)}
.auth-card form button{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border:0;border-radius:14px;background:var(--wine);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 12px 24px rgba(143,49,85,.2)}
.auth-card>a{display:inline-block;margin-top:22px;color:#7b5f69;font-size:12px;font-weight:700;text-decoration:none}
.auth-spark{position:absolute;color:#d3a936;font-family:serif;font-size:30px}.spark-one{left:34px;top:40px}.spark-two{right:34px;bottom:36px;color:#d86d94}

/* Estructura principal */
.studio-app{height:100dvh;overflow:hidden;background:#f7f3f4}
.studio-header{position:relative;z-index:30;height:74px;display:flex;align-items:center;gap:18px;padding:9px 18px;border-bottom:1px solid #eadde1;background:rgba(255,252,248,.95);box-shadow:0 4px 20px rgba(56,34,44,.05);backdrop-filter:blur(16px)}
.studio-brand{display:flex;align-items:center;gap:8px;min-width:168px}
.studio-brand img{width:56px;height:56px;object-fit:contain}
.studio-brand div{display:flex;align-items:baseline;gap:4px}.studio-brand span{font:700 14px "Playfair Display",serif;letter-spacing:.08em}.studio-brand b{color:var(--wine);font:400 25px Allura,cursive}
.project-name{display:flex;align-items:center;gap:9px;min-width:170px;max-width:360px;flex:1;padding:7px 11px;border:1px solid transparent;border-radius:11px;background:#f7f0f2}
.project-name:focus-within{border-color:#dca0b5;background:#fff}
.project-name span{color:#8f7b83;font-size:10px;font-weight:800;letter-spacing:.12em}
.project-name input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-weight:700;color:#49323d}
.history-actions,.header-actions{display:flex;align-items:center;gap:7px}
.history-actions button,.header-actions button,.header-actions a{border:1px solid #eadce2;border-radius:11px;background:#fff;padding:10px 13px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;transition:.18s ease}
.history-actions button{display:flex;align-items:center;gap:6px}.history-actions button:disabled{opacity:.35;cursor:not-allowed}.history-actions button:not(:disabled):hover,.header-actions .ghost:hover{border-color:#d997af;background:#fff7fa}
.header-actions .accent{border-color:var(--wine);background:var(--wine);color:#fff;box-shadow:0 8px 18px rgba(143,49,85,.17)}
.header-actions .accent:hover{transform:translateY(-1px)}
.more-button{width:40px;padding:10px 0!important;letter-spacing:2px}
.more-menu{position:absolute;right:18px;top:66px;display:grid;min-width:210px;padding:8px;border:1px solid #eadde2;border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.more-menu button,.more-menu a{display:block;width:100%;border:0!important;border-radius:8px!important;padding:11px 12px!important;background:transparent!important;text-align:left;color:#4d3942}
.more-menu button:hover,.more-menu a:hover{background:#fcedf2!important}
.studio-layout{height:calc(100dvh - 74px);display:grid;grid-template-columns:322px minmax(0,1fr) 278px;overflow:hidden}

/* Biblioteca */
.asset-sidebar{display:grid;grid-template-columns:72px minmax(0,1fr);min-width:0;border-right:1px solid #e9dce1;background:#fffaf7;overflow:hidden}
.asset-tabs{display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:12px 7px;border-right:1px solid #eadde2;background:#f5e9ed}
.asset-tabs button{display:grid;place-items:center;gap:3px;min-height:58px;padding:7px 2px;border:0;border-radius:12px;background:transparent;color:#806873;font-size:9px;font-weight:700;cursor:pointer}
.asset-tabs button span{font:700 20px "Playfair Display",serif}
.asset-tabs button.active{background:#fff;color:var(--wine);box-shadow:0 6px 16px rgba(90,43,61,.08)}
.asset-content{min-width:0;overflow:auto;padding:20px 16px 34px;scrollbar-width:thin;scrollbar-color:#d7b5c0 transparent}
.asset-pane{animation:paneIn .22s ease}@keyframes paneIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.panel-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.panel-title p,.inspector-heading p{margin:0 0 3px;color:#ad7a2b;font-size:9px;font-weight:800;letter-spacing:.16em}.panel-title h2,.inspector-heading h2{margin:0;font:700 27px/1 "Playfair Display",serif}.panel-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f5e2e8;color:var(--wine);font-size:11px;font-weight:800}
.panel-help{margin:0 0 16px;color:var(--muted);font-size:11px;line-height:1.55}
.asset-search{display:flex;align-items:center;gap:8px;margin-bottom:11px;padding:10px 11px;border:1px solid #e5d7dc;border-radius:12px;background:#fff}.asset-search span{color:#a88894;font-size:19px}.asset-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:11px}
.asset-filter{display:flex;gap:5px;overflow:auto;padding-bottom:8px;scrollbar-width:none}.asset-filter::-webkit-scrollbar{display:none}.asset-filter button{min-width:max-content;padding:7px 9px;border:1px solid #eadde2;border-radius:999px;background:#fff;color:#7d6871;font-size:9px;font-weight:700;cursor:pointer}.asset-filter button.active{border-color:#c76a8c;background:#f8dfe7;color:#8f3155}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:8px}
.asset-card{position:relative;overflow:hidden;display:grid;grid-template-rows:106px auto;min-width:0;padding:0;border:1px solid #e9dfe2;border-radius:15px;background:#fff;cursor:pointer;text-align:left;box-shadow:0 6px 15px rgba(65,40,50,.035);transition:.18s ease}.asset-card:hover{transform:translateY(-2px);border-color:#dba5b8;box-shadow:0 9px 20px rgba(65,40,50,.08)}.asset-card .asset-image{display:grid;place-items:center;padding:7px;background:linear-gradient(145deg,#fceef2,#fff8ec)}.asset-card img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 5px rgba(56,38,43,.13))}.asset-card .asset-copy{padding:9px}.asset-card b{display:block;overflow:hidden;color:#49343e;font-size:9px;line-height:1.25;text-overflow:ellipsis}.asset-card small{display:block;margin-top:3px;color:#a37d48;font-size:8px}.asset-card::after{content:"+";position:absolute;right:7px;top:7px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--wine);font-weight:800;box-shadow:0 4px 10px rgba(77,41,55,.13)}
.control-card{display:grid;gap:13px;margin-bottom:14px;padding:15px;border:1px solid #eadde2;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(66,39,50,.04)}
.control-card h3{margin:0;font:700 17px "Playfair Display",serif}.control-card label,.decor-color{display:grid;gap:7px;color:#604a54;font-size:10px;font-weight:700}.control-card input:not([type=range]):not([type=checkbox]),.control-card select,.control-card textarea{width:100%;padding:10px 11px;border:1px solid #e7d8dd;border-radius:10px;background:#fff;outline:0}.control-card input[type=color],.decor-color input{width:100%;height:38px;padding:3px;border:1px solid #e7d8dd;border-radius:9px;background:#fff}.control-card input[type=range]{width:100%;accent-color:var(--wine)}.control-card output{color:#9a7180;font-size:9px}.panel-primary,.panel-secondary{width:100%;padding:11px 13px;border-radius:11px;font-size:10px;font-weight:800;cursor:pointer}.panel-primary{border:1px solid var(--wine);background:var(--wine);color:#fff}.panel-secondary{border:1px solid #d7a64a;background:#fff9e9;color:#7b5720}.garland-card small{color:#917b84;font-size:9px;line-height:1.45}.color-swatches{display:flex;flex-wrap:wrap;gap:7px}.color-swatches button{width:26px;height:26px;border:2px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #decfd4;cursor:pointer}.color-swatches button.active{box-shadow:0 0 0 2px var(--wine)}
.decor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.decor-grid>button{padding:9px;border:1px solid #eadde2;border-radius:14px;background:#fff;cursor:pointer;text-align:left}.decor-grid>button:hover{border-color:#d594ac}.decor-grid b{display:block;margin-top:7px;font-size:9px}.decor-thumb{display:grid;place-items:center;width:100%;height:82px;border-radius:10px;background:linear-gradient(145deg,#fceff3,#fff8ec);color:#d67499}.decor-thumb.image img{width:100%;height:100%;object-fit:contain}.decor-thumb.rug::after{content:"";width:78%;height:37%;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#edd8c7;box-shadow:0 7px 13px rgba(70,46,39,.15)}.decor-thumb.rug.round::after{width:48%;height:48%}.decor-thumb.bow,.decor-thumb.heart,.decor-thumb.sparkle{font:400 47px "Playfair Display",serif}.decor-thumb.plaque::after{content:"";width:68%;height:55%;border:3px solid #d3ad45;border-radius:50% 50% 46% 46%;background:#fff}.decor-color{margin-top:14px}.two-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check-row input{width:auto!important;accent-color:var(--wine)}
.background-grid{display:grid;gap:10px}.background-card{position:relative;overflow:hidden;aspect-ratio:3/2;padding:0;border:2px solid transparent;border-radius:14px;background:#eee;cursor:pointer}.background-card img{width:100%;height:100%;object-fit:cover}.background-card span{position:absolute;left:8px;bottom:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.86);font-size:8px;font-weight:800}.background-card.active{border-color:var(--wine)}
.upload-drop{display:grid;place-items:center;gap:5px;padding:25px 14px;border:1.5px dashed #d49ab0;border-radius:17px;background:#fff6f9;text-align:center;cursor:pointer}.upload-drop input{display:none}.upload-drop>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f2cfda;color:var(--wine);font-size:22px}.upload-drop b{font-size:11px}.upload-drop small{color:#927783;font-size:8px}.empty-note{color:#9a838c;font-size:10px;text-align:center}.project-list{display:grid;gap:8px;margin-top:14px}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px;border:1px solid #eadde2;border-radius:12px;background:#fff}.project-row button{border:0;background:transparent;cursor:pointer}.project-row .open-project{text-align:left}.project-row b,.project-row small{display:block}.project-row b{font-size:10px}.project-row small{margin-top:3px;color:#9b858e;font-size:8px}.project-row .delete-project{color:#b04962;font-size:18px}

/* Lienzo */
.canvas-workspace{min-width:0;display:grid;grid-template-rows:50px minmax(0,1fr) 32px;background:radial-gradient(circle at 20% 10%,rgba(244,194,209,.36),transparent 30%),linear-gradient(145deg,#eee7e9,#f8f5f2)}
.canvas-toolbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 16px;border-bottom:1px solid rgba(185,155,166,.25);background:rgba(255,255,255,.52);backdrop-filter:blur(12px)}
.viewport-mode,.zoom-tools{display:flex;align-items:center;gap:4px}.viewport-mode button,.zoom-tools button{padding:7px 9px;border:1px solid #dfd1d6;border-radius:8px;background:#fff;color:#735f68;font-size:9px;font-weight:700;cursor:pointer}.viewport-mode button.active{border-color:#c87392;background:#f7dfe7;color:#8f3155}.zoom-tools button{min-width:30px}.zoom-tools span{min-width:44px;text-align:center;color:#735e67;font-size:9px;font-weight:800}
.stage-scroll{position:relative;overflow:auto;display:grid;place-items:start center;padding:28px 36px 60px;scrollbar-color:#c7b2ba transparent;scrollbar-width:thin}.stage-frame{position:relative;flex:none;transition:width .18s ease,height .18s ease}.design-stage{position:absolute;left:0;top:0;overflow:hidden;border-radius:10px;background:#f1e9e5;box-shadow:0 26px 60px rgba(54,37,44,.22);transform-origin:top left;touch-action:none;outline:none;isolation:isolate}.stage-background{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat}.stage-background::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.02),rgba(48,32,36,.03));pointer-events:none}.safe-area{position:absolute;z-index:90;inset:4%;border:1px dashed rgba(255,255,255,.48);border-radius:4px;pointer-events:none}.center-guide{position:absolute;z-index:95;display:none;background:#dc4c83;pointer-events:none}.center-guide.show{display:block}.center-guide.horizontal{left:0;right:0;top:50%;height:1px}.center-guide.vertical{top:0;bottom:0;left:50%;width:1px}.stage-items{position:absolute;inset:0;z-index:10}.stage-empty{position:absolute;z-index:4;left:50%;top:50%;display:grid;place-items:center;gap:7px;width:330px;max-width:70%;padding:22px;border-radius:18px;background:rgba(255,255,255,.78);color:#735f68;text-align:center;transform:translate(-50%,-50%);backdrop-filter:blur(8px);pointer-events:none}.stage-empty span{color:#d0a437;font-size:30px}.stage-empty b{font:700 22px "Playfair Display",serif}.stage-empty small{font-size:10px;line-height:1.45}
.stage-item{position:absolute;left:var(--x);top:var(--y);z-index:var(--z);width:var(--w);opacity:var(--opacity);transform:translate(-50%,-50%) rotate(var(--rotation));transform-origin:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none}.stage-item:active{cursor:grabbing}.stage-item img{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 8px 8px rgba(45,30,34,.17))}.stage-item.selected{outline:2px solid #d94d82;outline-offset:5px}.stage-item.selected::before,.stage-item.selected::after{content:"";position:absolute;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#d94d82;box-shadow:0 1px 4px rgba(55,29,40,.2)}.stage-item.selected::before{left:-10px;top:-10px}.stage-item.selected::after{right:-10px;bottom:-10px}.stage-item.locked{cursor:not-allowed}.stage-item.locked.selected{outline-style:dashed}.stage-item.text-item{width:max-content;max-width:75%;color:var(--item-color);font-family:var(--item-font);font-size:var(--font-size);line-height:1.05;white-space:pre-wrap;text-align:center;text-shadow:var(--text-shadow);padding:3px 8px}.stage-item.balloon-item{width:var(--w);aspect-ratio:.82;border-radius:50% 50% 47% 47%;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.7),transparent 14%),linear-gradient(145deg,rgba(255,255,255,.18),transparent 44%),var(--item-color);box-shadow:inset -8px -6px 13px rgba(90,47,61,.12),0 7px 8px rgba(52,35,40,.12)}.stage-item.balloon-item::after{content:"";position:absolute;left:50%;bottom:-9%;width:14%;height:13%;background:var(--item-color);clip-path:polygon(50% 0,100% 100%,0 100%);transform:translateX(-50%)}.stage-item.shape-rug{width:var(--w);aspect-ratio:2.15;border:5px solid rgba(255,255,255,.78);border-radius:50%;background:var(--item-color);box-shadow:0 13px 20px rgba(64,39,43,.19),inset 0 0 0 2px rgba(130,92,68,.12)}.stage-item.shape-rug.round{aspect-ratio:1}.stage-item.symbol-item{width:auto;color:var(--item-color);font:400 var(--font-size) "Playfair Display",serif;line-height:.9;text-shadow:0 5px 9px rgba(67,38,48,.12)}.stage-item.plaque-item{aspect-ratio:1.8;border:7px double var(--item-color);border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 9px 18px rgba(56,37,43,.15)}
.floating-tools{position:absolute;z-index:120;display:flex;gap:3px;padding:4px;border-radius:10px;background:#fff;box-shadow:0 9px 24px rgba(58,34,44,.2);transform:translate(-50%,-130%)}.floating-tools button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;background:#fff;color:#694c59;font-weight:800;cursor:pointer}.floating-tools button:hover{background:#f7e4eb}.floating-tools #floatDelete{color:#b24362}.canvas-hints{display:flex;align-items:center;justify-content:center;gap:23px;border-top:1px solid rgba(188,159,169,.2);color:#89737c;font-size:8px}.canvas-hints span::before{content:"•";margin-right:6px;color:#cc7997}

/* Inspector */
.inspector-sidebar{overflow:auto;padding:20px 16px 30px;border-left:1px solid #e9dce1;background:#fffaf7;scrollbar-width:thin}.inspector-heading{margin-bottom:18px}.selection-empty{display:grid;place-items:center;padding:30px 16px;border:1px dashed #dfcbd2;border-radius:17px;background:#fff;text-align:center}.selection-empty>span{color:#d3a63d;font-size:35px}.selection-empty b{margin-top:7px;font:700 16px "Playfair Display",serif}.selection-empty p{margin:8px 0 0;color:#8e7881;font-size:9px;line-height:1.5}.selection-inspector{display:grid;gap:16px}.selected-summary{display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:center;gap:8px;padding:10px;border:1px solid #eadde2;border-radius:14px;background:#fff}.selected-summary>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#f6e0e8;color:var(--wine);font-size:20px}.selected-summary small,.selected-summary b{display:block}.selected-summary small{color:#ac8996;font-size:7px;font-weight:800;letter-spacing:.1em}.selected-summary b{overflow:hidden;margin-top:3px;font-size:10px;text-overflow:ellipsis}.selected-summary button{width:32px;height:32px;border:1px solid #e7d8dd;border-radius:8px;background:#fff;cursor:pointer}.selected-summary button.active{background:#f6dce5;color:var(--wine)}
.selection-inspector>label{display:grid;gap:6px;color:#614b55;font-size:9px;font-weight:800}.range-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:9px}.range-row input{width:100%;accent-color:var(--wine)}.range-row output{padding:4px 5px;border-radius:6px;background:#f5e9ed;color:#8b6574;text-align:center;font-size:8px}.position-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.position-fields label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:8px;border:1px solid #e7d9de;border-radius:9px;background:#fff;color:#8e7881;font-size:8px}.position-fields input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:9px}.inspector-actions,.layer-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inspector-actions button,.layer-actions button{padding:10px 7px;border:1px solid #dfcfd5;border-radius:10px;background:#fff;font-size:9px;font-weight:700;cursor:pointer}.inspector-actions .danger{border-color:#efc2cf;color:#b13d60}.layer-actions button:hover,.inspector-actions button:hover{background:#faedf2}.layers-panel{margin-top:24px;padding-top:18px;border-top:1px solid #eadde2}.layers-title{display:flex;justify-content:space-between;align-items:center}.layers-title h3{margin:0;font:700 17px "Playfair Display",serif}.layers-title span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f3e2e8;font-size:8px}.layers-list{display:grid;gap:6px;margin-top:11px}.layers-list>p{color:#9a858e;font-size:9px}.layer-row{display:grid;grid-template-columns:28px minmax(0,1fr) 25px;align-items:center;gap:7px;padding:7px;border:1px solid #eadde2;border-radius:9px;background:#fff;cursor:pointer}.layer-row.active{border-color:#d17b9b;background:#fff5f8}.layer-row .layer-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#f4e7eb;color:#9b4766;font-size:12px}.layer-row b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.layer-row button{border:0;background:transparent;color:#9d8490;cursor:pointer}
.studio-toast{position:fixed;z-index:200;left:50%;bottom:22px;max-width:min(460px,calc(100% - 30px));padding:12px 18px;border-radius:999px;background:#4b303d;color:#fff;font-size:11px;font-weight:700;box-shadow:0 14px 34px rgba(54,31,41,.25);opacity:0;transform:translate(-50%,18px);pointer-events:none;transition:.25s ease}.studio-toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1120px){.studio-layout{grid-template-columns:292px minmax(0,1fr)}.inspector-sidebar{position:fixed;z-index:40;right:12px;top:86px;bottom:12px;width:276px;border:1px solid #e7d9de;border-radius:18px;box-shadow:var(--shadow);transform:translateX(calc(100% + 28px));transition:transform .22s ease}.inspector-sidebar.open{transform:none}.stage-item.selected{outline-color:#c8356d}.history-actions span{display:none}}
@media(max-width:820px){
  .studio-app{height:auto;min-height:100dvh;overflow:auto}.studio-header{position:sticky;top:0;height:auto;min-height:68px;flex-wrap:wrap;padding:8px 10px}.studio-brand{min-width:auto}.studio-brand img{width:48px;height:48px}.studio-brand div{display:none}.project-name{order:3;flex:1 1 100%;max-width:none}.history-actions{margin-left:auto}.header-actions .ghost{display:none}.header-actions .accent{padding:10px}.more-menu{top:59px;right:8px}.studio-layout{height:auto;display:flex;flex-direction:column}.asset-sidebar{order:2;display:block;border:0;overflow:visible}.asset-tabs{position:sticky;z-index:25;top:116px;display:grid;grid-template-columns:repeat(7,minmax(62px,1fr));overflow-x:auto;padding:7px;border:0;border-top:1px solid #eadde2;border-bottom:1px solid #eadde2}.asset-tabs button{min-width:62px;min-height:49px}.asset-tabs button span{font-size:17px}.asset-content{max-height:none;overflow:visible;padding:15px}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-card{grid-template-rows:90px auto}.canvas-workspace{order:1;min-height:65dvh;grid-template-rows:auto minmax(420px,60dvh) auto}.canvas-toolbar{flex-wrap:wrap;padding:7px 10px}.stage-scroll{padding:18px 16px 38px;place-items:start center}.canvas-hints{padding:8px 12px;gap:10px;overflow:auto;justify-content:flex-start;white-space:nowrap}.inspector-sidebar{top:80px}.decor-grid{grid-template-columns:repeat(4,1fr)}.background-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){.auth-card{padding:32px 22px}.auth-card h1{font-size:34px}.studio-header{gap:6px}.history-actions button{padding:9px}.header-actions{gap:4px}.header-actions .accent{font-size:10px}.asset-tabs{top:116px}.asset-grid{grid-template-columns:repeat(2,1fr)}.decor-grid{grid-template-columns:repeat(2,1fr)}.canvas-workspace{min-height:59dvh;grid-template-rows:auto minmax(350px,53dvh) auto}.viewport-mode button{font-size:8px;padding:6px}.zoom-tools #zoomOut,.zoom-tools #zoomIn,.zoom-tools #zoomLabel{display:none}.stage-scroll{padding:14px 10px 34px}.canvas-hints span:nth-child(3){display:none}.floating-tools button{width:34px;height:34px}.inspector-sidebar{left:10px;right:10px;top:auto;bottom:10px;width:auto;max-height:63dvh;transform:translateY(calc(100% + 24px))}.inspector-sidebar.open{transform:none}.project-name span{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Strong contrast and individual, touch-friendly deletion controls. */
.auth-card form button,.header-actions .accent,.panel-primary{background:#f1cedb;color:#61243c;border:1px solid #d79aaf}
.studio-toast{background:#f8e3eb;color:#512e3e;border:1px solid #ce98ad}.studio-toast button{margin-left:12px;border:0;border-radius:8px;background:#fff;color:#7c2c49;padding:6px 9px;cursor:pointer;pointer-events:auto}
.asset-image.catalog-thumb{position:relative;overflow:hidden;padding:0}.catalog-thumb img{height:auto;position:absolute;width:100%;top:0;transform:translateY(-17.8%);object-fit:cover;filter:none}
.upload-asset{position:relative;min-width:0}.upload-asset>.asset-card{width:100%}.upload-asset .asset-card::after{display:none}
.trash-button{display:inline-grid;place-items:center;min-width:30px;min-height:30px;padding:5px;border:1px solid #d6a4b6;border-radius:9px;background:#fff2f6;color:#8a294a;cursor:pointer}.upload-trash{position:absolute;right:6px;top:6px;z-index:2;box-shadow:0 3px 9px #50303c22}
.layer-row{grid-template-columns:28px minmax(0,1fr) 32px 25px}.layer-row .trash-button{color:#8a294a;background:#fff1f6}
.inspector-actions .danger{display:flex;align-items:center;justify-content:center;gap:5px}
.asset-tabs button,.canvas-hints,.range-row output,.panel-help,.empty-note,.asset-card small{color:#6b4f5c}
.garland-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.garland-preset{padding:7px;border:1px solid #e2ccd5;border-radius:12px;background:#fff8fb;color:#623449;cursor:pointer}.garland-preset img{display:block;width:100%;height:80px;object-fit:contain}.garland-preset span{font-size:9px;font-weight:700}
