:root{--bg-color:#1a1a1a;--panel-bg:#1e1e1ed9;--panel-border:#ffffff1a;--accent:#4a80f0;--accent-hover:#5b8df5}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}input,textarea{-webkit-user-select:text;user-select:text}#app{background-color:#1a1a1a;background-image:linear-gradient(45deg,#222 25%,#0000 25%),linear-gradient(-45deg,#222 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#222 75%),linear-gradient(-45deg,#0000 75%,#222 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;width:100vw;height:100vh;position:relative}#drawing-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}.floating-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:12px;display:flex;position:absolute;box-shadow:0 8px 32px #00000080}#toolbar-main{gap:8px;padding:8px;top:20px;left:20px}#toolbar-main button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}#toolbar-main button svg{width:20px;height:20px}#toolbar-main button:hover{background:#ffffff1a}#toolbar-main button.active{background:var(--accent)}#toolbar-main button.disabled{opacity:.3;pointer-events:none}.divider{background:var(--panel-border);width:1px;margin:0 4px}#toolbar-size{background:var(--panel-bg);backdrop-filter:blur(12px);border:1px solid var(--panel-border);z-index:10;user-select:none;border-radius:18px;justify-content:center;align-items:center;width:36px;height:240px;display:flex;position:absolute;top:50%;left:20px;transform:translateY(-50%);box-shadow:0 8px 32px #00000080}.slider-wrapper{cursor:pointer;width:24px;height:210px;position:relative}.slider-track{background:#fff3;border-radius:3px;width:6px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.slider-thumb{pointer-events:none;background:#fff;border-radius:4px;width:24px;height:8px;transition:transform .15s cubic-bezier(.2,0,.2,1),background-color .15s;position:absolute;bottom:10%;left:50%;transform:translate(-50%,50%);box-shadow:0 2px 4px #00000080}.slider-wrapper:hover .slider-thumb{transform:translate(-50%,50%)scaleX(1.2)}.slider-wrapper:active .slider-thumb{background:var(--accent);transform:translate(-50%,50%)scaleY(1.3)scaleX(1.2)}#brush-size-val{background:var(--panel-bg);backdrop-filter:blur(12px);border:1px solid var(--panel-border);color:#fff;opacity:0;pointer-events:none;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:600;transition:opacity .2s;position:absolute;top:50%;left:45px;transform:translateY(-50%)}.slider-wrapper:hover~#brush-size-val,.slider-wrapper:active~#brush-size-val{opacity:1}#panel-layers{flex-direction:column;width:260px;max-height:calc(100vh - 40px);padding:16px;top:20px;right:20px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.panel-header button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.panel-header button svg{width:16px;height:16px}.panel-header button:hover{background:var(--accent)}#layers-list{touch-action:pan-y;flex-direction:column;gap:8px;display:flex;overflow-y:auto}.layer-item{background:rgba(var(--layer-color-rgb,255, 255, 255), .05);cursor:pointer;user-select:none;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:12px;padding:12px;transition:all .2s;display:flex;position:relative;overflow:hidden}.layer-item.active{border-color:rgb(var(--layer-color-rgb,74, 128, 240));background:rgba(var(--layer-color-rgb,74, 128, 240), .15)}.layer-progress{background:rgba(var(--layer-color-rgb,255, 255, 255), .08);pointer-events:none;z-index:0;height:100%;position:absolute;top:0;left:0}.layer-item.active .layer-progress{background:rgba(var(--layer-color-rgb,74, 128, 240), .25)}.layer-item-top{z-index:1;justify-content:space-between;align-items:center;font-size:14px;display:flex;position:relative}.layer-item-top button{color:#fff6;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.layer-item-top button:hover{color:#f55}.layer-item-top button svg{width:16px;height:16px}.layer-name-input{color:#fff;background:0 0;border:none;border-bottom:1px solid #fff3;outline:none;width:150px;font-family:inherit;font-size:14px}#preview-window{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);z-index:20;border-radius:12px;flex-direction:column;width:320px;height:320px;display:flex;position:absolute;bottom:20px;right:20px;overflow:hidden;box-shadow:0 12px 48px #00000080}#preview-window.collapsed{height:36px!important}#preview-header{color:#ccc;cursor:grab;background:#0006;justify-content:space-between;align-items:center;height:36px;padding:0 12px;font-size:12px;font-weight:600;display:flex}#preview-header:active{cursor:grabbing}.window-controls button{color:#888;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.window-controls button:hover{color:#fff}.window-controls button svg{width:16px;height:16px}#preview-body{touch-action:none;background:#0a0a0a;flex:1;position:relative}#preview-canvas{width:100%;height:100%;display:block}#preview-resize-handle{cursor:se-resize;z-index:21;width:15px;height:15px;position:absolute;bottom:0;right:0}.modal{backdrop-filter:blur(20px);border:1px solid var(--panel-border);z-index:100;background:#1e1e1ef2;border-radius:16px;padding:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #000000b3}.modal h2{margin-bottom:24px;font-size:22px;font-weight:600}.setup-grid{grid-template-columns:120px 120px;align-items:center;gap:16px;margin-bottom:30px;display:grid}.setup-grid label{color:#aaa;font-size:14px}.setup-grid input{color:#fff;background:#111;border:1px solid #444;border-radius:8px;padding:10px;font-size:14px}.primary-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px;font-size:16px;font-weight:600;transition:all .2s}.primary-btn:hover{background:var(--accent-hover)}
