:root{--bg-color: #F2EBD9;--text-color: #333;--card-shadow: rgba(0, 0, 0, .05);--modal-bg: white;--modal-text: #333;--input-border: #ddd;--input-bg: white;--menu-overlay-bg: rgba(255, 255, 255, .85);--menu-border: rgba(0, 0, 0, .1);--toast-bg: #2D3436;--toast-text: white;--palette-tab-bg: #f9f9f9;--palette-tab-active-bg: #E8D5B7;--palette-tab-active-border: #C4A882}[data-theme=dark]{--bg-color: #1a1a1a;--text-color: #e0e0e0;--card-shadow: rgba(0, 0, 0, .3);--modal-bg: #2D3436;--modal-text: #e0e0e0;--input-border: #555;--input-bg: #3a3a3a;--menu-overlay-bg: rgba(45, 52, 54, .9);--menu-border: rgba(255, 255, 255, .1);--toast-bg: #e0e0e0;--toast-text: #2D3436;--palette-tab-bg: #3a3a3a;--palette-tab-active-bg: #4a4a4a;--palette-tab-active-border: #666}body{margin:0;padding:0;background-color:var(--bg-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--text-color);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .3s ease,color .3s ease}#root{max-width:600px;margin:0 auto;min-height:100vh;position:relative;padding:1rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:80px}.menu-backdrop{position:fixed;inset:0;z-index:100;background:transparent}.card{aspect-ratio:1;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;box-shadow:0 4px 6px var(--card-shadow);cursor:pointer;transition:transform .1s;position:relative;overflow:hidden}.card:active{transform:scale(.98)}.card .emoji{font-size:2.5rem;margin-bottom:4px}.card .counter{font-size:.9rem;font-weight:700}.card .label{font-size:.75rem;margin-top:4px;text-align:center;opacity:.8}.card-menu-overlay{position:absolute;inset:0;background:var(--menu-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:20}.menu-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:100%;height:100%}.menu-item{background:none;border:none;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.menu-item:active{background:#0000001a}.menu-item.reset{border-right:1px solid var(--menu-border);border-bottom:1px solid var(--menu-border)}.menu-item.close{border-bottom:1px solid var(--menu-border)}.menu-item.delete{border-right:1px solid var(--menu-border)}.fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:28px;background-color:#c4785a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #0003;border:none;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;z-index:1000}.modal-content{background:var(--modal-bg);color:var(--modal-text);width:100%;border-radius:24px 24px 0 0;padding:24px;box-sizing:border-box;animation:slide-up .3s ease-out}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;font-weight:700;font-size:.9rem}.emoji-input{font-size:2.5rem;text-align:center;width:80px;height:60px;padding:0!important;border:1px solid #ddd;border-radius:12px}.palette-tabs{display:flex;gap:8px;margin-bottom:12px}.palette-tab{padding:6px 12px;border-radius:20px;border:1px solid var(--input-border);background:var(--palette-tab-bg);color:var(--modal-text);font-size:.8rem;cursor:pointer}.palette-tab.active{background:var(--palette-tab-active-bg);border-color:var(--palette-tab-active-border)}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-btn{width:32px;height:32px;border-radius:8px;border:2px solid transparent;cursor:pointer}.color-btn.selected{border-color:#333}input[type=text],input[type=number],select{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:8px;box-sizing:border-box;background:var(--input-bg);color:var(--modal-text)}select{width:auto}.save-btn{width:100%;padding:14px;background:#c4785a;color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;margin-top:10px}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--toast-text);padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:2000;display:flex;align-items:center;animation:toast-in .3s ease-out;font-size:.95rem}.toast-undo-btn{margin-left:12px;background:var(--modal-bg);color:var(--text-color);padding:4px 12px;border-radius:4px;border:none;cursor:pointer;font-weight:600}.header-icon-btn{width:36px;height:36px;border-radius:18px;background:none;border:none;color:var(--text-color);display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:background .2s,transform .1s}.header-icon-btn:hover{background:var(--input-bg)}.header-icon-btn:active{transform:scale(.95)}.dropdown-menu{position:fixed;top:60px;left:16px;background:var(--modal-bg);border-radius:12px;box-shadow:0 8px 24px #0003;z-index:1001;min-width:200px;overflow:hidden;animation:dropdown-in .2s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-section{padding:8px 0}.dropdown-label{padding:8px 16px;font-size:.75rem;font-weight:600;color:var(--text-color);opacity:.6;text-transform:uppercase;letter-spacing:.5px}.dropdown-item{width:100%;padding:12px 16px;background:none;border:none;color:var(--text-color);text-align:left;cursor:pointer;font-size:.95rem;transition:background .2s;display:block}.dropdown-item:hover{background:var(--input-bg)}.dropdown-item.active{font-weight:600;color:#c4785a}.dropdown-divider{height:1px;background:var(--input-border);margin:4px 0}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.card:focus-visible,.fab:focus-visible,.menu-item:focus-visible,.save-btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #C4785A;outline-offset:2px}.card:focus{outline:none}.card:focus-visible{box-shadow:0 0 0 3px #c4785a66}
