:root{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark light;color:#ffffffde;background-color:#1c1917;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}body{display:block}#root{width:100%;height:100%}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#292524;cursor:pointer;transition:border-color .25s}button:hover{border-color:#f97316}button:focus,button:focus-visible{outline:2px solid #f97316;outline-offset:2px}:root{--bg-primary: #1c1917;--bg-secondary: #292524;--bg-tertiary: #44403c;--text-primary: #faf9f7;--text-secondary: #a8a29e;--accent: #f97316;--accent-hover: #ea580c;--accent-glow: rgba(249, 115, 22, .4);--accent-bg: rgba(249, 115, 22, .12);--border: #44403c;--success: #22c55e;--shadow: rgba(0, 0, 0, .3)}:root[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #e2e8f0;--bg-tertiary: #cbd5e1;--text-primary: #1e293b;--text-secondary: #64748b;--accent: #0ea5e9;--accent-hover: #0284c7;--accent-glow: rgba(14, 165, 233, .3);--accent-bg: rgba(14, 165, 233, .1);--border: #cbd5e1;--success: #16a34a;--shadow: rgba(0, 0, 0, .1)}body{margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,-apple-system,sans-serif;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.container{display:flex;flex-direction:column;height:100vh;width:100%}.app-header{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);padding:10px 12px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;transition:background .3s ease}.app-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px;letter-spacing:-.01em}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:6px 8px;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-toggle:hover{background:var(--accent);color:#fff;transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.tabs{display:flex;background-color:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:10px 6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;white-space:nowrap;border-bottom:2px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.tab-label{font-size:.7rem;line-height:1.2}.tab-btn:hover{color:var(--text-primary);background-color:#ffffff0d}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background-color:var(--accent-bg)}.sub-header{background-color:var(--bg-secondary);padding:8px 12px;border-bottom:1px solid var(--border)}.sub-title{margin:0;font-size:.85rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.sub-description{margin:2px 0 0;font-size:.7rem;color:var(--text-secondary)}.search-bar{margin:8px;position:relative}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-input{width:100%;box-sizing:border-box;padding:8px 10px 8px 32px;border-radius:6px;border:1px solid var(--border);background-color:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;outline:none;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.content{flex:1;overflow-y:auto;padding:8px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,42px));gap:3px}.item-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border:1px solid transparent;border-radius:3px;cursor:pointer;font-size:1.2rem;transition:all .15s;-webkit-user-select:none;user-select:none;padding:0;color:var(--text-primary)}.item-btn:hover{background-color:var(--bg-tertiary);transform:scale(1.15);z-index:1;border-color:var(--accent)}.item-btn:active{transform:scale(.95)}.section{margin-bottom:12px}.section-header{color:var(--text-secondary);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;padding-bottom:3px;border-left:2px solid var(--accent);padding-left:6px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:48px 16px;text-align:center;color:var(--text-secondary)}.empty-state-icon{font-size:2rem;line-height:1}.empty-state-title{font-size:.95rem;color:var(--text-primary);font-weight:600}.empty-state-hint{font-size:.8rem}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--success);color:#fff;padding:6px 14px;border-radius:16px;font-size:.8rem;font-weight:500;box-shadow:0 4px 12px #0000004d;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);z-index:100;pointer-events:none;display:flex;align-items:center;gap:6px}.toast.visible{transform:translate(-50%) translateY(0)}.whitespace-tool{display:flex;flex-direction:column;gap:10px;height:calc(100vh - 200px)}.ws-textarea{width:100%;flex:1;min-height:100px;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:10px;font-family:monospace;font-size:.85rem;resize:none;box-sizing:border-box}.ws-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.ws-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:6px}.action-btn{background-color:var(--accent);color:#fff;border:none;padding:10px 6px;border-radius:6px;font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.action-btn svg{width:18px;height:18px}.action-btn:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.action-btn.secondary{background-color:var(--bg-tertiary)}.action-btn.secondary:hover{background-color:var(--text-secondary)}.kaomoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.kaomoji-btn{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:8px 6px;font-size:.8rem;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.kaomoji-btn:hover{background-color:var(--bg-tertiary);border-color:var(--accent);transform:translateY(-2px)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) scale(.8);background-color:#1e293b;color:#f1f5f9;padding:3px 8px;border-radius:4px;font-size:.65rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:50;line-height:1.4;letter-spacing:.02em;box-shadow:0 2px 8px #00000040}:root[data-theme=light] [data-tooltip]:after{background-color:#334155;color:#f8fafc}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) scale(1)}.grid [data-tooltip]:first-child:after,.grid [data-tooltip]:nth-child(-n+2):after{left:0;transform:translate(0) scale(.8)}.grid [data-tooltip]:first-child:hover:after,.grid [data-tooltip]:nth-child(-n+2):hover:after{transform:translate(0) scale(1)}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.pop{animation:pop .2s ease}.full-width{width:100%}.text-center{text-align:center}.mt-2{margin-top:8px}.mb-2{margin-bottom:8px}@media(min-width:600px){.app-header{padding:16px 24px;text-align:center}.app-title{font-size:1.5rem;justify-content:center}.container{max-width:800px;margin:0 auto}.sub-header{padding:12px 24px}.sub-title{font-size:1rem}.content{padding:16px}.search-bar{margin:12px 16px}.tabs{justify-content:center;gap:8px;padding:8px}.tab-btn{flex:0 1 auto;padding:12px 24px;border-radius:8px;gap:6px;flex-direction:row}.tab-label{font-size:.85rem}}@media(min-width:768px){.grid{grid-template-columns:repeat(auto-fill,minmax(28px,42px));gap:3px}.item-btn{font-size:1.2rem}.kaomoji-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.kaomoji-btn{font-size:.9rem;padding:12px 8px}}@media(max-width:400px){.grid{grid-template-columns:repeat(6,1fr)}.item-btn{font-size:1.2rem}.kaomoji-grid{grid-template-columns:repeat(2,1fr)}.tab-btn{padding:8px 4px}}@media(max-width:320px){.grid{grid-template-columns:repeat(5,1fr)}.kaomoji-grid{grid-template-columns:1fr}}.theme-toggle{min-width:44px;min-height:44px}.tab-btn,.kaomoji-btn{min-height:44px}
