.cactusbot{--cactusbot-topbar-height:64px;--cactusbot-side-width:300px;--cactusbot-page-top:40px;--cactusbot-page-bottom:64px;background:var(--background);min-height:100%;color:var(--foreground)}.cactusbot a{color:inherit;text-decoration:none}.cactusbot button:where(:not([data-slot=button])){color:inherit;font:inherit;cursor:pointer;background:0 0;border:none}.cactusbot ul{margin:0;padding:0;list-style:none}.cactusbot-topbar{z-index:50000;height:var(--cactusbot-topbar-height);padding:0 12px 0 15px;padding-top:env(safe-area-inset-top);box-sizing:content-box;background:var(--card);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid;position:sticky;top:0}.cactusbot-topbar-start{grid-column:1;align-items:center;gap:6px;min-width:0;display:flex}.cactusbot-nav{grid-column:2}.cactusbot-nav-chevron{fill:var(--muted-foreground);margin-inline-start:-2px}.cactusbot-topbar-end{grid-column:3;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.cactusbot-brand{font-size:1.25rem;font-weight:700}.cactusbot-account-auth{align-items:center;gap:10px;display:flex}.cactusbot-account-trigger{border-radius:calc(var(--radius) - 2px);text-align:end;gap:10px;width:auto;height:50px;padding:5px}.cactusbot-account-names{flex-direction:column;min-width:0;line-height:1.2;display:flex}.cactusbot-account-name{font-size:18px;font-weight:700;line-height:1.2}.cactusbot-account-username{color:var(--muted-foreground);font-size:14px;font-weight:400;line-height:1.2}.cactusbot-account-picture{background:var(--popover);object-fit:fill;border-radius:100%;flex-shrink:0;width:40px;height:40px}#cactusbot-account-popover{min-width:140px;margin-inline-end:-2px}.cactusbot-main{width:calc(min(100%, var(--page-max-width)) - 2 * var(--page-gutter));padding-top:calc(var(--cactusbot-page-top) - 1px);padding-bottom:calc(var(--cactusbot-page-bottom) + env(safe-area-inset-bottom));margin-inline:auto}.cactusbot-fade{z-index:45000;background-color:var(--background);pointer-events:none;opacity:0;position:fixed;inset:0}.cactusbot-fade-in{animation:.5s cactusbot_fade_in}@keyframes cactusbot_fade_in{0%{opacity:1}to{opacity:0}}.cactusbot-nav>ul{align-items:center;gap:10px;display:flex}.cactusbot-nav li{position:relative}.cactusbot-nav>ul>li.has-children:hover>button,.cactusbot-nav>ul>li.has-children:focus-within>button{background-color:var(--muted)}.cactusbot-dropdown{z-index:50;background:var(--popover);min-width:176px;color:var(--popover-foreground);border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a, 0 0 0 1px var(--border);opacity:0;visibility:hidden;margin-top:12px;padding:4px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:100%;left:0;transform:translateY(-4px)}.cactusbot-dropdown:before{content:"";position:absolute;inset:-12px 0 100%}.cactusbot-nav li.has-children:hover>.cactusbot-dropdown,.cactusbot-nav li.has-children:focus-within>.cactusbot-dropdown{opacity:1;visibility:visible;transform:none}.cactusbot-dropdown a{border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--text-sm--line-height);align-items:center;gap:8px;padding:6px 8px;transition:all .1s;display:flex}.cactusbot-dropdown a:hover,.cactusbot-dropdown a:focus-visible,.cactusbot-dropdown a[data-active]{background:var(--accent);color:var(--accent-foreground)}.cactusbot-hamburger{width:40px;height:40px;margin-inline-start:-5px;padding:0;display:none}.cactusbot-hamburger svg{width:26px;height:26px}.cactusbot-overlay{inset:0;top:calc(var(--cactusbot-topbar-height) + 1px + env(safe-area-inset-top));z-index:49980;opacity:0;visibility:hidden;background:#00000080;transition:opacity .2s,visibility .2s;position:fixed}.cactusbot-overlay[data-open=true]{opacity:1;visibility:visible}.cactusbot-side{top:calc(var(--cactusbot-topbar-height) + 1px + env(safe-area-inset-top));z-index:49990;width:min(var(--cactusbot-side-width), 85vw);padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--sidebar);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border);visibility:hidden;transition:transform .25s,visibility .25s;position:fixed;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.cactusbot-side[data-open=true]{visibility:visible;transform:none}.cactusbot-side ul{flex-direction:column;gap:4px;display:flex}.cactusbot-side-item{text-align:start;justify-content:space-between;gap:12px;width:100%;height:44px;padding:0 12px;font-size:16px}.cactusbot-side-item svg{flex-shrink:0;width:22px;height:22px}.cactusbot-chevron{fill:var(--muted-foreground);transition:transform .2s}.cactusbot-chevron[data-open=true]{transform:rotate(180deg)}.cactusbot-side-children{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.cactusbot-side-children[data-open=true]{grid-template-rows:1fr}.cactusbot-side-children>ul{min-height:0;padding-inline-start:20px;overflow:hidden}.cactusbot-side-children[data-open=true]>ul{padding-top:4px}@media (max-width:1000px){.cactusbot-nav{display:none}.cactusbot-hamburger{display:flex}}@media (max-width:600px){.cactusbot-account-names{display:none}.cactusbot-account-trigger{border-radius:100%;width:40px;height:40px;padding:0}}@media (min-width:1001px){.cactusbot-overlay,.cactusbot-side{display:none}}.cactusbot-not-found{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 0;display:flex}.cactusbot-not-found h1{font-size:4rem;font-weight:700}.cactusbot-not-found p{color:var(--muted-foreground)}.cactusbot-not-found a{border-radius:var(--radius,.625rem);background:var(--primary);color:var(--primary-foreground);margin-top:.5rem;padding:.5rem 1rem;font-weight:500}.cb-loading{justify-content:center;padding:96px 0;display:flex}.cb-gate{justify-content:center;align-items:center;min-height:50vh;display:flex}.cb-gate [data-slot=card]{text-align:center;align-items:center;gap:0;width:100%;max-width:440px;padding:32px 28px 28px}.cb-gate-icon{background:color-mix(in srgb, var(--primary) 20%, transparent);width:64px;height:64px;box-shadow:0 0 0 8px color-mix(in srgb, var(--primary) 8%, transparent);border-radius:100%;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.cb-gate-icon svg{width:32px;height:32px}.cb-gate h1{line-height:1.2}.cb-gate p{margin-top:8px}.cb-gate code{background:var(--muted);color:var(--foreground);border-radius:5px;padding:1px 5px;font-family:Roboto Mono,monospace;font-size:.95em}.cb-gate-actions{flex-direction:column;gap:10px;width:100%;margin-top:22px;display:flex}.cb-gate-actions [data-slot=button]{width:100%}.cb-board{flex-direction:column;gap:24px;display:flex}.cb-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-size:12px;font-weight:600}.cb-avatar{background:var(--muted);object-fit:cover;border-radius:100%;flex-shrink:0}.cb-header{align-items:center;gap:16px;min-width:0;display:flex}.cb-header-icon{background:var(--muted);object-fit:cover;border-radius:18px;flex-shrink:0;width:64px;height:64px}.cb-header-icon-text{color:var(--muted-foreground);justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.cb-header-text{flex:1;min-width:0}.cb-header-text .kd-title{text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.cb-header-voice{align-items:center;gap:6px;margin-top:2px;display:flex}.cb-listeners{align-items:center;display:flex}.cb-listeners .cb-avatar{box-shadow:0 0 0 2px var(--background);margin-inline-start:-8px}.cb-listeners-more{font-size:var(--text-sm);color:var(--muted-foreground);margin-inline-start:6px}.cb-board-grid{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:start;gap:24px;display:grid}.cb-board-main{flex-direction:column;gap:24px;min-width:0;display:flex}.cb-now{flex-direction:row;gap:24px;padding:24px}.cb-now-empty{padding:0;display:block}.cb-now-art{aspect-ratio:1;background:var(--muted);border-radius:12px;flex-shrink:0;align-self:flex-start;width:240px;position:relative;overflow:hidden}.cb-now-art img{object-fit:cover;width:100%;height:100%;transform:scale(1.34)}.cb-now-badge{color:#fff;background:#000000a6;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;position:absolute;bottom:10px;left:10px}.cb-now-body{flex-direction:column;flex:1;min-width:0;display:flex}.cb-now-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:22px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.cb-now-title:hover{text-decoration:underline}.cb-now-author{margin-top:4px;font-size:15px}.cb-requester{align-items:center;gap:6px;margin-top:10px;display:flex}.cb-progress{margin-top:auto;padding-top:18px}.cb-progress input{--cb-progress:0%;appearance:none;cursor:pointer;background:linear-gradient(to right, var(--primary) var(--cb-progress), var(--muted) var(--cb-progress));border-radius:999px;width:100%;height:6px;margin:0}.cb-progress input:disabled{cursor:default}.cb-progress input::-webkit-slider-thumb{appearance:none;background:var(--primary);width:14px;height:14px;box-shadow:0 0 0 3px var(--card);border-radius:100%}.cb-progress input::-moz-range-thumb{background:var(--primary);width:14px;height:14px;box-shadow:0 0 0 3px var(--card);border:none;border-radius:100%}.cb-progress input:disabled::-webkit-slider-thumb{visibility:hidden}.cb-progress input:disabled::-moz-range-thumb{visibility:hidden}.cb-progress-times{font-variant-numeric:tabular-nums;color:var(--muted-foreground);justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.cb-live{color:var(--destructive);align-items:center;gap:6px;margin-top:auto;padding-top:18px;font-size:13px;font-weight:600;display:flex}.cb-live span{background:var(--destructive);border-radius:100%;width:8px;height:8px}.cb-controls{justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.cb-play{border-radius:100%;width:56px;height:56px}.cb-play svg{width:28px!important;height:28px!important}.cb-controls [data-slot=button]:not(.cb-play) svg{width:22px!important;height:22px!important}.cb-control-active{background:color-mix(in srgb, var(--primary) 15%, transparent)}.cb-controls-extra{justify-content:center;gap:8px;margin-top:10px;display:flex}.cb-add,.cb-queue{gap:16px;padding:20px}.cb-queue{top:calc(var(--cactusbot-topbar-height) + 24px);max-height:calc(100vh - var(--cactusbot-topbar-height) - 48px);position:sticky;overflow-y:auto}.cb-queue .kd-empty{padding:32px 12px}.cb-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cb-section-title{font-size:18px;font-weight:700}.cb-search{gap:8px;display:flex}.cb-search [data-slot=input-group]{flex:1}.cb-search>[data-slot=button]{min-width:84px}.cb-results{flex-direction:column;gap:8px;display:flex}.cb-list{flex-direction:column;gap:2px;margin-inline:-8px;display:flex}.cb-row{border-radius:calc(var(--radius) - 2px);align-items:center;gap:12px;min-width:0;padding:6px 8px;transition:background .1s;display:flex}.cb-row:hover{background:var(--muted)}.cb-row-index{text-align:center;font-variant-numeric:tabular-nums;width:20px;color:var(--muted-foreground);flex-shrink:0;font-size:13px}.cb-row-art{background:var(--muted);object-fit:cover;border-radius:6px;flex-shrink:0;width:64px;height:36px}.cb-row-text{flex:1;min-width:0}.cb-row-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.cb-row-title:hover{text-decoration:underline}.cb-row-sub{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;margin-top:1px;font-size:12px;display:flex;overflow:hidden}.cb-row-length{font-variant-numeric:tabular-nums;color:var(--muted-foreground);flex-shrink:0;font-size:12px}.cb-row-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.cb-queue-more{text-align:center;padding:8px}@media (max-width:1000px){.cb-board-grid{grid-template-columns:minmax(0,1fr)}.cb-queue{max-height:none;position:static}}@media (max-width:640px){.cb-now{flex-direction:column;align-items:stretch;padding:16px}.cb-now-art{aspect-ratio:16/9;width:100%}.cb-now-art img{transform:scale(1.01)}.cb-header-icon{border-radius:14px;width:52px;height:52px}.cb-listeners{display:none}.cb-add,.cb-queue{padding:16px}}
