:root{color-scheme:dark;--bg: #14151a;--panel: #1e2027;--border: #33363f;--text: #e8e9ec;--muted: #9a9da6;--accent: #4f8cff;--danger: #e5534b}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.app-header{display:flex;align-items:center;padding:.7rem 1.2rem;border-bottom:1px solid var(--border)}.logo{font-size:1.25rem;font-weight:800;color:var(--text);text-decoration:none;letter-spacing:.02em}.logo span{color:var(--accent)}main{padding:1.2rem;max-width:1200px;margin:0 auto}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.45rem .9rem;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger)}button.small{padding:.15rem .5rem}.error{color:var(--danger)}.muted{color:var(--muted)}.small-text{font-size:.85rem}.notice{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem;margin-top:1rem;max-width:640px}.notice h2{margin-top:0;font-size:1.05rem}.notice code{background:#0005;padding:.1em .35em;border-radius:4px}.search-input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.45rem .7rem}.search-input:focus{outline:none;border-color:var(--accent)}.gallery-search{margin-left:auto;min-width:200px}.gallery-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.gallery-grid-wrap{margin-top:1.2rem;border:2px dashed transparent;border-radius:12px;min-height:160px}.gallery-grid-wrap.drag-over{border-color:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.card-image{display:block;width:100%;padding:0;border:none;border-radius:0;background:#000;position:relative}.card-image img{display:block;width:100%;height:150px;object-fit:contain}.badge{position:absolute;top:6px;right:6px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:4px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.45rem .6rem}.card-name{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-topbar{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar,.export-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.export-bar .status{color:var(--muted);font-size:.85rem}.export{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.share-result{display:flex;align-items:center;gap:.5rem;max-width:100%;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.35rem .6rem}.share-link{color:var(--accent);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-body{display:flex;gap:1.2rem;align-items:flex-start}.canvas-wrap{flex:1;min-width:0;display:flex;justify-content:center;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.8rem}.layer-panel{width:250px;flex-shrink:0;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.8rem 1rem}.layer-panel h3{margin:.2rem 0 .6rem;font-size:.95rem}.layer-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.layer-list li{display:flex;align-items:center;gap:.3rem;border:1px solid transparent;border-radius:6px;padding:.1rem}.layer-list li.selected{border-color:var(--accent)}.layer-name{flex:1;text-align:left;border:none;background:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layer-buttons{display:flex;gap:.15rem}.layer-buttons button{padding:.1rem .4rem;font-size:.8rem}.text-props label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.6rem}.text-props textarea,.text-props input[type=number]{width:100%;margin-top:.25rem;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem}.text-props input[type=color]{display:block;margin-top:.25rem;width:100%;height:2rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);padding:2px}.color-row{display:flex;gap:.5rem}.color-row label{flex:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:200}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;width:100%;max-width:720px;max-height:85vh;display:flex;flex-direction:column;gap:.8rem}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.modal-header h2{margin:0;font-size:1.1rem}.modal .search-input{width:100%}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem;overflow-y:auto;padding:.2rem}.picker-item{display:flex;flex-direction:column;gap:.3rem;padding:.4rem;text-align:center}.picker-item img{width:100%;height:110px;object-fit:contain;background:#000;border-radius:6px}.picker-item span{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.export{align-items:stretch;width:100%}.gallery-search{margin-left:0;width:100%}.editor-body{flex-direction:column}.layer-panel{width:100%}}
