:root{color:#1f2937;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{overflow:hidden;margin:0;min-width:320px;height:100vh;min-height:100vh}button{font:inherit;border:0}#app{height:100vh;min-height:100vh}.app-shell{display:flex;flex-direction:column;gap:12px;height:100vh;min-height:0;padding:14px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.header-main{display:flex;align-items:center;gap:14px}.theme-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid #dbe3ef;border-radius:999px;background:#ffffffd1;box-shadow:0 1px 2px #0f172a0a}.theme-button{border-radius:999px;padding:6px 10px;color:#64748b;background:transparent;cursor:pointer;font-size:.78rem;font-weight:700;line-height:1}.theme-button:hover{color:#3730a3;background:#eef2ff}.theme-button.active{color:#fff;background:#5865f2;box-shadow:0 4px 10px #5865f23d}.blank-emoji-form{display:flex;align-items:center;gap:8px;min-width:min(100%,360px);padding:4px;border:1px solid #dbe3ef;border-radius:14px;background:#ffffffd1;box-shadow:0 1px 2px #0f172a0a}.blank-emoji-label{flex:0 0 auto;padding-left:8px;color:#64748b;font-size:.78rem;font-weight:700;white-space:nowrap}.blank-emoji-control{display:flex;align-items:center;flex:1;min-width:160px}.blank-emoji-input{width:100%;min-width:0;border:0;border-radius:10px;padding:7px 9px;color:#0f172a;background:transparent;outline:none}.blank-emoji-input:focus{background:#fff;box-shadow:inset 0 0 0 1px #a5b4fc}.blank-emoji-button{flex:0 0 auto;border-radius:10px;padding:7px 11px;color:#fff;background:#5865f2;box-shadow:0 4px 10px #5865f22e;cursor:pointer;font-size:.86rem;font-weight:700}.blank-emoji-button:hover{background:#4752c4}.blank-emoji-preview{display:inline-flex;align-items:center;gap:6px;max-width:140px;min-height:32px;padding:3px 8px 3px 4px;border-radius:999px;color:#475569;font-size:.8rem;font-weight:700;background:#f1f5f9}.blank-emoji-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blank-emoji-preview img{width:24px;height:24px;object-fit:cover}h1{margin:0;color:#0f172a;font-size:1.6rem;line-height:1;letter-spacing:-.06em}.toast-stack{position:fixed;right:16px;bottom:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{min-width:220px;max-width:min(360px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;color:#0f172a;font-size:.88rem;font-weight:600;line-height:1.4;box-shadow:0 12px 30px #0f172a29;animation:toast-in .18s ease-out}.toast-success{border:1px solid #86efac;background:#ecfdf5}.toast-error{border:1px solid #fca5a5;background:#fef2f2}.toast-info{border:1px solid #cbd5e1;background:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.workspace{display:flex;flex-direction:column;flex:1;min-height:0}.panel{overflow:hidden;border:1px solid rgba(148,163,184,.6);border-radius:22px;background:#ffffffdb;box-shadow:0 20px 45px #0f172a14}.grid-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.viewport{--discord-bg: #ffffff;--discord-hover: rgba(0, 0, 0, .05);--selection-border: #5865f2;--selection-fill: rgba(88, 101, 242, .16);position:relative;overflow:hidden;flex:1;min-height:0;outline:none;-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;background:var(--discord-bg)}.viewport.theme-dark{--discord-bg: #313338;--discord-hover: rgba(255, 255, 255, .06);--selection-border: #949cf7;--selection-fill: rgba(148, 156, 247, .2)}.emoji-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;width:100%;height:100%;pointer-events:none}.grid-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;transform-origin:0 0;will-change:transform;font-size:0;line-height:0}.selection-overlay{position:absolute;z-index:3;border:2px solid var(--selection-border);background:var(--selection-fill);border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff1f;pointer-events:none}.animated-emoji{position:absolute;z-index:1;display:block;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.grid-cell{position:absolute;z-index:2;display:block;overflow:hidden;padding:0;margin:0;border:0;background-color:transparent;cursor:crosshair;touch-action:none}.grid-cell:hover{background-color:var(--discord-hover)}
