:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden;background:#1a1a2e;color:#e0e0e0}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;min-width:280px;background:#16213e;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;transition:width .2s,min-width .2s;overflow:hidden}.sidebar.collapsed{width:48px;min-width:48px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-header h2{font-size:.95rem;font-weight:600;white-space:nowrap}.collapsed .sidebar-header h2{display:none}.toggle-btn{background:none;border:1px solid rgba(255,255,255,.12);color:#aaa;cursor:pointer;font-size:.6rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.toggle-btn:hover{background:#ffffff14;color:#fff}.sidebar-content{flex:1;overflow-y:auto;padding:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.tool-bar{display:flex;gap:4px;margin-bottom:10px}.tool-btn{flex:1;padding:6px 4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#999;cursor:pointer;border-radius:5px;transition:all .15s}.tool-btn:hover{background:#ffffff14;color:#ccc}.tool-btn.active{background:#2962ff;border-color:#448aff;color:#fff}.scale-control{margin-bottom:10px;padding:8px;background:#ffffff08;border-radius:6px}.scale-control label{display:block;font-size:.72rem;color:#999;margin-bottom:4px}.scale-control input[type=range]{width:100%;accent-color:#2962ff}.catalog{margin-bottom:10px}.catalog-group{margin-bottom:8px}.catalog-group h3{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#666;margin-bottom:4px;padding-left:2px}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.catalog-item{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 2px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;cursor:pointer;transition:all .15s}.catalog-item:hover{background:#ffffff14;border-color:#ffffff26}.catalog-item.selected{background:#2962ff33;border-color:#2962ff}.catalog-emoji{font-size:1.1rem;line-height:1}.catalog-label{font-size:.55rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.section{margin-bottom:12px;padding:8px;background:#ffffff05;border-radius:6px}.section h3{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#666;margin-bottom:6px}.preset-row{display:flex;gap:4px;flex-wrap:wrap}.preset-btn{padding:4px 8px;font-size:.65rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#aaa;cursor:pointer;border-radius:4px;transition:all .15s}.preset-btn:hover{background:#ffffff1a;color:#ddd}.preset-btn.active{background:#2962ff40;border-color:#2962ff;color:#fff}.selected-info{border:1px solid rgba(41,98,255,.3);background:#2962ff0f}.selected-preview{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.8rem}.selected-emoji{font-size:1.4rem}.selected-controls{display:flex;align-items:center;gap:6px;margin-bottom:8px}.ctrl-btn{padding:4px 10px;font-size:.68rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ccc;cursor:pointer;border-radius:4px;transition:all .15s}.ctrl-btn:hover{background:#ffffff1f}.ctrl-btn.danger{background:#d32f2f26;border-color:#d32f2f4d;color:#ef5350}.ctrl-btn.danger:hover{background:#d32f2f4d}.scale-display{font-size:.7rem;color:#aaa;min-width:30px;text-align:center}.actions{display:flex;flex-direction:column;gap:4px}.action-btn{width:100%;padding:7px;font-size:.7rem;font-weight:600;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#bbb;cursor:pointer;border-radius:5px;transition:all .15s}.action-btn:hover{background:#ffffff1a;color:#fff}.canvas-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.canvas{flex:1;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;transition:background .6s ease}.cursor-place{cursor:crosshair}.cursor-select{cursor:default}.cursor-delete{cursor:not-allowed}.celestial{position:absolute;font-size:3rem;filter:drop-shadow(0 0 20px rgba(255,255,200,.4));pointer-events:none;animation:float 8s ease-in-out infinite}.celestial-sun{top:8%;right:12%}.celestial-moon{top:10%;right:15%;filter:drop-shadow(0 0 15px rgba(200,200,255,.3))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.cloud{position:absolute;font-size:2.2rem;opacity:.5;pointer-events:none;filter:blur(1px)}.cloud-1{top:12%;left:10%;animation:drift1 25s linear infinite}.cloud-2{top:20%;left:45%;font-size:1.6rem;opacity:.35;animation:drift2 30s linear infinite}.cloud-3{top:8%;left:70%;font-size:1.8rem;opacity:.4;animation:drift1 22s linear infinite reverse}@keyframes drift1{0%{transform:translate(0)}to{transform:translate(60px)}}@keyframes drift2{0%{transform:translate(0)}to{transform:translate(-50px)}}.hills-svg{position:absolute;bottom:0;left:0;width:100%;height:50%;pointer-events:none}.decoration{position:absolute;cursor:pointer;transition:filter .15s;z-index:10;line-height:1}.decoration:hover{filter:brightness(1.2) drop-shadow(0 2px 6px rgba(0,0,0,.4))}.decoration.dragging{z-index:100;filter:brightness(1.3) drop-shadow(0 4px 12px rgba(0,0,0,.5))}.decoration.selected{z-index:50}.selection-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:2px solid #2962ff;border-radius:50%;pointer-events:none;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}.hint-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.hint-overlay p{background:#00000080;color:#ffffffb3;padding:12px 24px;border-radius:8px;font-size:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-bar{display:flex;gap:20px;padding:6px 16px;background:#16213e;border-top:1px solid rgba(255,255,255,.06);font-size:.7rem;color:#888}.status-bar strong{color:#bbb}@media(max-width:640px){.sidebar{width:220px;min-width:220px}.catalog-grid{grid-template-columns:repeat(3,1fr)}}
