:root{--bg:#0a0a0a;--bg-card:#1a1a1a;--text:#fff;--text-secondary:#888;--accent:#4a9eff;--border:#2a2a2a;--radius:12px;--font-family:ui-monospace, "SF Mono", Monaco, monospace}[data-theme=light]{--bg:#fff;--bg-card:#f5f5f5;--text:#1a1a1a;--text-secondary:#666;--border:#e0e0e0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--border) var(--bg)}html{background:var(--bg);color:var(--text)}body{font-family:var(--font-family);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}.app-shell{max-width:600px;margin:0 auto;padding:2rem 1rem}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}header h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.5rem;font-weight:600;overflow:hidden}header h1 a{color:var(--text)}.header-title{align-items:baseline;gap:.4rem;min-width:0;display:flex}.src{color:var(--text-secondary);opacity:.7;flex-shrink:0;font-size:.75rem}.src:hover{opacity:1;color:var(--accent)}header h1 a:hover{color:var(--accent)}nav{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.nav-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:background .15s,color .15s;display:flex}.nav-btn:hover{background:var(--bg-card);color:var(--accent)}.nav-btn svg{display:block}.login-container{flex-direction:column;justify-content:center;align-items:center;min-height:50vh;padding:2rem 1rem;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:380px;padding:2.5rem 2rem}.login-title{margin-bottom:.5rem;font-size:1.75rem;font-weight:600}.login-tagline{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--text-secondary);font-size:.9rem}.handle-input-wrapper{width:100%;position:relative}.handle-input-wrapper input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.handle-input-wrapper input:focus{border-color:var(--accent);outline:none}.suggestions-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:100;border-radius:8px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 4px 12px #0006}.suggestion-item{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;transition:background .15s;display:flex}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.selected{background:var(--bg)}.suggestion-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.suggestion-avatar-placeholder{background:var(--border);border-radius:50%;flex-shrink:0;width:32px;height:32px}.suggestion-info{flex-direction:column;min-width:0;display:flex}.suggestion-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.suggestion-handle{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.login-faq{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.faq-toggle{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 0;font-family:inherit;font-size:.9rem;display:flex}.faq-toggle:hover{color:var(--text)}.faq-content{color:var(--text-secondary);padding:0 0 1rem;font-size:.875rem;line-height:1.6}.faq-content p{text-align:left;margin:0 0 .75rem}.faq-content p:last-child{margin-bottom:0}.faq-content a{color:var(--accent)}.faq-content a:hover{text-decoration:underline}.faq-content code{background:var(--bg);border-radius:4px;padding:.15rem .4rem;font-size:.85em}button[type=submit],.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem}button[type=submit]:hover,.btn-primary:hover{opacity:.9}.login-card button[type=submit]{width:100%;padding:.875rem 1rem}.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:2rem}.current-status{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.big-emoji{font-size:4rem;line-height:1}.big-emoji img,.big-emoji .custom-emoji-missing{object-fit:contain;width:4rem;height:4rem}.status-info{flex-direction:column;gap:.25rem;display:flex}.current-text{font-size:1.25rem}.meta{color:var(--text-secondary);font-size:.875rem}.current-status-actions{gap:.5rem;margin-top:.5rem;display:flex}.current-status-actions .share-btn,.current-status-actions .delete-btn,.current-status-actions .embed-toggle-btn{opacity:1;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.375rem;transition:color .15s,border-color .15s}.current-status-actions button:hover{color:var(--accent);border-color:var(--accent)}.current-status-actions .delete-btn:hover{color:#ef4444;border-color:#ef4444}.status-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem}.emoji-input-row{gap:.5rem;margin-bottom:.75rem;display:flex}.emoji-trigger{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;transition:border-color .15s;display:flex}.emoji-trigger:hover{border-color:var(--accent)}.emoji-trigger img,.emoji-trigger .custom-emoji-missing{object-fit:contain;width:1.5rem;height:1.5rem}.emoji-input-row input[type=text]{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex:1;padding:.75rem;font-family:inherit;font-size:1rem}.emoji-input-row input[type=text]:focus{border-color:var(--accent);outline:none}.form-actions{justify-content:flex-end;gap:.5rem;display:flex}.form-actions select,.form-actions .custom-datetime{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:.75rem;font-family:inherit;font-size:16px}.history{margin-bottom:2rem}.history h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.feed-list{flex-direction:column;gap:1rem;display:flex}.status-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:1rem;padding:1rem;transition:border-color .15s;display:flex}.status-item:hover{border-color:var(--accent)}.status-item .emoji{flex-shrink:0;font-size:1.5rem;line-height:1}.status-item .emoji img,.status-item .emoji .custom-emoji-missing{object-fit:contain;width:1.5rem;height:1.5rem}.status-item .content{flex:1;min-width:0}.status-item .author{color:var(--text-secondary);font-weight:600}.status-item .author:hover{color:var(--accent)}.status-item .text{margin-left:.5rem}.status-item .text a{color:var(--accent)}.status-item .text a:hover{text-decoration:underline}.status-item .time{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem;display:block}.status-actions{flex-shrink:0;gap:.25rem;display:flex}.share-btn,.delete-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem;transition:opacity .15s,color .15s;position:relative}@media (hover:hover){.share-btn,.delete-btn{opacity:0}.status-item:hover .share-btn,.status-item:hover .delete-btn{opacity:1}}.share-btn:hover{color:var(--accent)}.delete-btn:hover{color:#ef4444}.share-btn.copied{color:var(--accent);opacity:1}.load-more{text-align:center;padding:1rem}.load-more button{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:.5rem 1.5rem;font-family:inherit}.load-more button:hover{border-color:var(--accent);color:var(--accent)}.end-of-feed{text-align:center;color:var(--text-secondary);padding:1rem;font-size:.875rem}.emoji-picker-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.emoji-picker{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overscroll-behavior:contain;flex-direction:column;width:min(420px,100vw - 2rem);height:min(620px,100dvh - 4rem);display:flex}.emoji-picker-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.emoji-picker-header h3{font-size:1rem}.emoji-picker-grabber{display:none}.emoji-picker-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-.5rem -.5rem -.5rem 0;font-size:1.25rem;display:flex}.emoji-search{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex-shrink:0;margin:.75rem;padding:.625rem .75rem;font-family:inherit;font-size:16px}.emoji-search:focus{border-color:var(--accent);outline:none}.emoji-categories{border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-shrink:0;gap:.25rem;padding:0 .75rem .5rem;display:flex;overflow-x:auto}.emoji-categories::-webkit-scrollbar{display:none}.category-btn{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:6px;flex:none;min-width:40px;min-height:40px;padding:.375rem;font-size:1.25rem;line-height:1;transition:opacity .15s}.category-btn:hover{opacity:.8}.category-btn.active{opacity:1;background:var(--bg)}.emoji-grid-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.emoji-loading-bar{background:var(--accent);opacity:0;pointer-events:none;z-index:1;height:2px;transition:opacity .15s;position:absolute;top:0;left:0;right:0}.emoji-loading-bar.visible{opacity:1}.emoji-grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));align-content:start;gap:2px;min-height:0;padding:.75rem;display:grid;overflow-y:auto}.emoji-grid.bufo-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px}.emoji-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:.375rem;font-size:1.5rem;line-height:1;transition:background .15s;display:flex}.emoji-btn:hover{background:var(--bg)}.emoji-btn:active{background:var(--bg);transform:scale(.92)}.bufo-btn{flex-direction:column;gap:2px;min-height:72px;padding:4px}.bufo-btn img,.bufo-btn .custom-emoji-missing{aspect-ratio:1;object-fit:contain;width:100%;max-width:56px;height:auto}.custom-emoji-missing{flex-shrink:0;display:inline-block}.bufo-score{color:var(--text-secondary);font-size:.6rem}.bufo-helper{border-top:1px solid var(--border);text-align:center;flex-shrink:0;justify-content:center;align-items:center;height:36px;padding:0 .75rem;font-size:.75rem;display:flex}.bufo-helper a{color:var(--accent)}.no-results,.loading{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:2rem 1rem;font-size:.875rem}.settings-overlay{z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.settings-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:default;background:#000000b8;border:0;width:100%;height:100%;position:absolute;inset:0}.settings-modal{z-index:1;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:min(440px,100%);max-height:calc(100vh - 2rem);position:relative;overflow-y:auto;box-shadow:0 24px 80px #00000073}.settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 1rem;display:flex}.settings-header h2{font-size:1.05rem;line-height:1.3}.settings-header p{color:var(--text-secondary);margin-top:.2rem;font-size:.78rem}.settings-close{background:var(--bg);border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:none;place-items:center;display:grid}.settings-close:hover{color:var(--text);border-color:var(--text-secondary)}.settings-body{padding:1.25rem}.settings-preview{--preview-accent:var(--accent);border:1px solid color-mix(in srgb, var(--preview-accent) 45%, var(--border));border-left:3px solid var(--preview-accent);background:var(--bg);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:50px;margin-bottom:1.35rem;padding:.75rem .85rem;font-size:.86rem;display:grid}.settings-preview-dot{background:var(--preview-accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--preview-accent) 14%, transparent);border-radius:999px}.settings-preview-meta{color:var(--text-secondary);font-size:.7rem}.setting-group{border:0;min-width:0;margin:0 0 1.25rem;padding:0}.setting-group legend{width:100%;color:var(--text-secondary);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.6rem;font-size:.68rem;font-weight:700;display:block}.color-picker{grid-template-columns:repeat(9,1fr);gap:.55rem;display:grid}.color-btn{aspect-ratio:1;border:2px solid var(--bg-card);color:#fff;cursor:pointer;text-shadow:0 1px 2px #00000080;border-radius:50%;outline:1px solid #0000;place-items:center;width:100%;transition:transform .12s,outline-color .12s;display:grid}.color-btn:hover{outline-color:var(--text-secondary);transform:translateY(-1px)}.color-btn.active{outline-color:var(--text)}.custom-color-label{aspect-ratio:1;border:1px dashed var(--text-secondary);cursor:pointer;width:100%;color:var(--text-secondary);border-radius:50%;place-items:center;font-size:1rem;line-height:1;display:grid;position:relative}.custom-color-label:hover{color:var(--text);border-color:var(--text)}.custom-color-label input{opacity:0;width:1px;height:1px;position:absolute}.option-grid{gap:.45rem;display:grid}.font-options{grid-template-columns:repeat(4,1fr)}.client-options{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.client-options button{text-align:left;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.client-options img{object-fit:contain;background:#fff;border-radius:5px;flex-shrink:0;width:22px;height:22px;padding:2px}.theme-options{grid-template-columns:repeat(3,1fr)}.option-grid button{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);cursor:pointer;font-family:var(--font-family);border-radius:7px;padding:.58rem .4rem;font-size:.76rem;transition:border-color .12s,background .12s}.option-grid button:hover{border-color:var(--text-secondary)}.option-grid button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg));color:var(--accent)}.settings-error{color:#ef4444;margin:-.35rem 0 1rem;font-size:.75rem}.view-profile-link{color:var(--accent);font-size:.875rem}.view-profile-link:hover{text-decoration:underline}.center{text-align:center;padding:2rem}.hidden{display:none!important}@media (width<=480px){.app-shell{padding:1rem .75rem}header{margin-bottom:1.25rem}header h1{font-size:1.1rem}nav{gap:.25rem}.nav-btn{padding:.375rem}.profile-card{padding:1.25rem 1rem}.big-emoji{font-size:3rem}.big-emoji img,.big-emoji .custom-emoji-missing{width:3rem;height:3rem}.current-text{font-size:1.1rem}.status-item{gap:.75rem;padding:.75rem}.emoji-picker-overlay{align-items:flex-end}.emoji-picker{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:none;height:85dvh;padding-bottom:env(safe-area-inset-bottom);border-width:1px 0 0}.emoji-picker-header{padding:.5rem 1rem .75rem;position:relative}.emoji-picker-grabber{background:var(--border);border-radius:2px;width:36px;height:4px;display:block;position:absolute;top:.375rem;left:50%;transform:translate(-50%)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.emoji-btn{min-height:52px;font-size:1.75rem}.emoji-grid.bufo-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}.bufo-btn{min-height:88px}.bufo-btn img,.bufo-btn .custom-emoji-missing{max-width:72px}.bufo-score{font-size:.7rem}.category-btn{min-width:44px;min-height:44px;font-size:1.375rem}.settings-overlay{padding:.75rem}.settings-modal{max-height:calc(100vh - 1.5rem)}.settings-header,.settings-body{padding:1rem}.color-picker{grid-template-columns:repeat(9,1fr);gap:.4rem}.font-options{grid-template-columns:repeat(2,1fr)}.form-actions{flex-direction:column}}.login-error{color:#ef4444;margin-bottom:.75rem;font-size:.875rem}.oauth-redirecting{text-align:center;color:var(--text-secondary);padding:2rem}
