@font-face{font-family:Manrope;src:url('/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/manrope-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/manrope-bold.ttf') format('truetype');font-weight:700 800;font-display:swap}
:root{color-scheme:dark;--bg:#1d1e23;--control:#292a2f;--hover:#323339;--text:#f4f4f5;--muted:#b8b9c2;--border:#37383f;--primary:#956b46;--frame:#25222b;--purple:#d1b394;--message:#38383f;--shadow:#0003}
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 Manrope,system-ui,sans-serif}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #d1b394;outline-offset:4px}[hidden]{display:none!important}svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.site-header{max-width:1216px;margin:0 auto;height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.header-left,.header-right,.desktop-nav{display:flex;align-items:center}.header-left{gap:30px}.header-right{gap:14px}.brand{display:flex;align-items:center;gap:7px;font-size:25px;font-weight:700;letter-spacing:-.7px;white-space:nowrap}.brand>svg{width:29px;height:29px;stroke-width:2}.app-badge{display:inline-flex;align-items:center;gap:2px;background:#956b46;color:white;font:700 10px/1 Manrope,sans-serif;padding:3px 5px;border-radius:3px;letter-spacing:0;vertical-align:middle}.app-badge svg{height:10px;width:10px;stroke-width:3}.desktop-nav{gap:24px}.desktop-nav button,.desktop-nav a{font-size:14px;font-weight:700;background:none;border:0;padding:0}.footer-links button:hover{color:#d1b394}.icon-button{background:none;border:0;display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:9px;color:var(--muted)}.icon-button:hover{background:var(--control)}.icon-button svg{height:19px;width:19px}.account-button{display:flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid var(--border);background:var(--control);border-radius:12px;font-weight:700;font-size:13px;max-width:220px}.account-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:inline-flex;align-items:center;justify-content:center;background:#36343d;color:#e0d7eb;border-radius:12px;font-weight:700;overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.user{height:28px;width:28px;font-size:10px;border-radius:50%}.mobile-menu{display:none}.header-dropdown{position:absolute;z-index:30;right:max(16px,calc((100vw - 1216px)/2));top:76px;background:var(--control);border:1px solid var(--border);border-radius:12px;min-width:190px;padding:7px;box-shadow:0 10px 30px var(--shadow)}.header-dropdown button,.header-dropdown a{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:7px;background:none;font-size:13px}.header-dropdown button:hover{background:var(--hover)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;min-height:40px;background:var(--control);border:1px solid var(--border);border-radius:12px;font-size:14px;line-height:20px;font-weight:700;white-space:nowrap}.button:hover{background:var(--hover)}.button.primary{background:var(--primary);border-color:#ae855f;color:#fff}.button.primary:hover{background:#805a39}.button.subtle{background:var(--control);border:0;min-height:31px;padding:5px 11px;color:var(--muted);font-size:12px}.button.danger{background:#a93455;color:#fff;border-color:#c04b6b}.button svg{height:18px;width:18px}.icon-only{width:40px;padding:9px}.preview-notice{max-width:1216px;margin:0 auto 12px;color:#a99ab7;font-size:11px;text-align:right}.dashboard-main{max-width:1216px;margin:0 auto;min-height:calc(100vh - 350px);padding-bottom:84px}.breadcrumbs{display:flex;align-items:center;gap:9px;margin:0 0 18px;font-size:11px;font-weight:700}.breadcrumbs a,.breadcrumbs button,.breadcrumbs span{background:#232429;border:0;border-radius:8px;padding:4px 9px;color:#c4c4ca}.breadcrumbs svg{height:12px;width:12px;color:#6f7078}.breadcrumbs span[aria-current]{background:var(--control);color:var(--text)}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-title h1{display:flex;align-items:center;gap:12px;margin:0;font-size:32px;font-weight:700;line-height:1.4;letter-spacing:-.6px;min-width:0;overflow-wrap:anywhere}.page-title .avatar.guild{width:44px;height:44px;font-size:17px;border-radius:12px}.page-title .avatar.user{height:40px;width:40px;font-size:14px}.title-actions{display:flex;align-items:center;gap:9px}.subtle-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:10px;background:var(--control);color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.subtle-badge svg{height:14px;width:14px}.guild-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:34px 0 24px}.guild-card{display:flex;flex-direction:column;align-items:center;gap:11px;background:var(--control);border:1px solid var(--border);border-radius:18px;padding:16px;min-width:0;transition:background .15s,transform .15s}.guild-card:hover{background:var(--hover);transform:translateY(-2px)}.guild-card .avatar{aspect-ratio:1;width:100%;height:auto;max-width:142px;border-radius:13px;font-size:42px;background:#31323b}.guild-card strong{font-size:15px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guild-actions{display:flex;gap:8px}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.field-group{margin-bottom:32px}.field-group>label,.field-group>h2{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:700;line-height:32px;margin:0 0 7px}.field-group>label svg,.field-group>h2 svg{height:20px;width:20px}.field-group p{font-size:12px;line-height:1.5;color:var(--muted);margin:5px 0 0}.select-wrap{position:relative}.select-wrap>svg{position:absolute;right:14px;top:13px;width:14px;height:14px;color:#90919a;pointer-events:none}select{appearance:none;display:block;width:100%;height:40px;border:1px solid var(--border);border-radius:12px;background:var(--control);padding:8px 38px 8px 12px;color:var(--text);font-size:13px;cursor:pointer}.command-group{margin-top:37px}.command-shortcuts{display:grid;gap:8px}.command-shortcut{background:var(--control);border:1px solid var(--border);border-radius:10px;padding:11px 13px;display:flex;align-items:center;gap:14px;text-align:left;width:100%}.command-shortcut:hover{background:var(--hover)}.command-shortcut strong{font-size:13px;min-width:58px}.command-shortcut span{color:var(--muted);font-size:11px;flex:1}.command-shortcut svg{height:13px;width:13px;color:var(--muted)}.reset-area{margin-top:27px}.reset-area .button{font-size:11px}.interface-section>h2{font-size:24px;line-height:36px;margin:0;font-weight:700;letter-spacing:-.3px}.section-description{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 10px}.interface-frame{background:var(--frame);border:1px solid var(--purple);border-radius:12px;padding:23px 22px 22px}.interface-author{display:flex;align-items:center;gap:8px;margin-bottom:15px}.bot-avatar{display:flex;align-items:center;justify-content:center;height:48px;width:48px;background:#a63050;color:white;border-radius:50%;flex:none}.bot-avatar svg{width:29px;height:29px;stroke-width:2}.interface-author strong{font-size:17px;font-weight:700;white-space:nowrap}.interface-author .app-badge{margin-left:3px;font-size:9px}.sample-badge{margin-left:auto;background:#72517b;color:#f7dbff;padding:3px 6px;border-radius:4px;font-size:9px;font-weight:700}.discord-message{margin-left:57px;min-height:155px;padding-top:2px}.sample-embed{display:table;max-width:100%;padding:12px 15px;background:var(--message);border:1px solid #46454e;border-left:3px solid #58535f;border-radius:5px;font:13px/1.6 Manrope,sans-serif;overflow-wrap:anywhere;white-space:normal}.sample-embed code{font:12px monospace;background:#292931;padding:2px 5px;border:1px solid #4a4852;border-radius:3px;color:#eeeef2}.sample-embed .mention{color:#c7c9fc;background:#4c4e78;padding:1px 3px;border-radius:3px}.sample-private{font-size:10px;line-height:1.5;color:#9692a1;margin-top:8px}.sample-controls{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0 20px 57px}.sample-button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #4d4656;background:#3b3743;color:#b9b3c5;border-radius:8px;padding:7px 15px;font-size:12px;min-width:92px}.sample-button svg{height:15px;width:15px}.sample-button:hover,.sample-button.selected{background:#52465e;color:#fff;border-color:#91769d}.interface-note{display:flex;align-items:center;gap:10px;background:var(--message);padding:13px 15px;border-radius:9px;font-size:11px;line-height:1.5;margin-left:57px;color:#c4bdcf}.interface-note svg{height:15px;width:15px}.shared-note{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-top:27px}.shared-note svg{height:16px;width:16px}.command-page>h2{font-size:22px}.command-table{display:grid;gap:12px}.command-table article{display:flex;align-items:center;gap:20px;border:1px solid var(--border);background:var(--control);border-radius:12px;padding:20px}.command-table strong{min-width:90px;font-size:16px}.command-table p{flex:1;color:var(--muted);font-size:13px}.command-table .subtle-badge{background:var(--bg)}.site-footer{position:relative;margin-top:70px;padding:150px 20px 42px;background:transparent;isolation:isolate;overflow:hidden;color:#f5eee6}.footer-content{position:relative;z-index:2;text-align:center}.footer-content>a{display:inline-flex;align-items:center;gap:8px;font-size:32px;font-weight:700}.footer-content>a>svg{height:34px;width:34px;stroke-width:2.2}.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:13px 0}.footer-links button{background:none;border:0;padding:0;font-size:13px;color:white}.footer-content>p{font-size:11px;margin:13px 0 0;color:#f2cfda}.save-bar{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:25px;background:#35313d;border:1px solid #71617c;border-radius:12px;box-shadow:0 10px 40px #0005;padding:13px 16px;color:#f7efff;font-size:13px;width:min(680px,calc(100% - 32px));z-index:40}.save-bar>div{display:flex;gap:8px}.save-bar .button{min-height:35px;padding:7px 14px}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#39313f;color:#f7e7ff;border:1px solid #8c6e9c;border-radius:12px;padding:12px 18px;max-width:calc(100% - 32px);z-index:60;box-shadow:0 8px 30px #0004;font-size:13px}.toast.error{background:#522f39;border-color:#ab6b7d}dialog{background:var(--control);color:var(--text);border:1px solid #5d5069;border-radius:14px;width:min(460px,calc(100% - 32px));padding:25px;box-shadow:0 15px 60px #0005}dialog::backdrop{background:#0009}dialog h2{font-size:20px;margin:0 0 12px}dialog p{font-size:13px;line-height:1.7;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.landing{text-align:center;max-width:1000px;margin:100px auto 170px;padding:0 20px;min-height:240px}.landing h1{font-size:48px;line-height:1.2;letter-spacing:-1.3px;margin:0 0 22px}.landing h1 span{color:#cf325f}.landing>p{color:var(--muted);font-size:16px}.landing-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin:30px 0}.login-note{font-size:12px!important}.empty-state{padding:35px 0;color:var(--muted)}.empty-state h2{font-size:20px;color:var(--text)}.loading-copy{padding:40px 0;color:var(--muted)}.error-copy{color:#efaab7}.loading-screen{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}
@media(max-width:1280px){.site-header,.dashboard-main,.preview-notice{margin-left:32px;margin-right:32px}.guild-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.settings-layout{gap:40px}.header-left{gap:26px}.desktop-nav{gap:20px}}
@media(max-width:1024px){.settings-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}.desktop-nav{gap:15px}.header-left{gap:20px}.brand{font-size:23px}.interface-frame{padding:20px 15px}.discord-message,.sample-controls,.interface-note{margin-left:0}.interface-author{gap:7px}.interface-author strong{font-size:16px}.bot-avatar{height:39px;width:39px}.sample-badge{font-size:8px}.guild-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.site-header,.dashboard-main,.preview-notice{margin-left:16px;margin-right:16px}.site-header{height:88px;gap:12px}.desktop-nav{display:none}.mobile-menu{display:inline-flex;background:var(--control);border:1px solid var(--border);border-radius:12px;height:39px;width:39px}.header-left{gap:0}.header-right{gap:7px}.brand{font-size:25px;gap:6px}.brand>svg{width:28px;height:28px}.account-button{font-size:12px;padding:7px 10px;max-width:160px}.account-button .avatar{width:23px;height:23px}.app-badge{font-size:9px;padding:3px 4px}.header-dropdown{right:16px;top:74px}.preview-notice{font-size:9px;text-align:left;margin-bottom:15px;max-width:400px}.breadcrumbs{font-size:10px;gap:8px;margin-bottom:14px}.breadcrumbs a,.breadcrumbs button,.breadcrumbs span{padding:4px 8px}.page-title{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:28px}.page-title h1{font-size:30px;gap:10px}.page-title .avatar.guild,.page-title .avatar.user{height:42px;width:42px}.page-title>.subtle-badge{margin-top:8px;font-size:10px}.page-title .title-actions{margin-top:0}.subtle-badge{font-size:10px;padding:5px 9px}.settings-layout{grid-template-columns:1fr;gap:49px}.settings-fields{max-width:none}.field-group{margin-bottom:30px}.field-group label,.field-group h2{font-size:16px}.field-group p{font-size:12px}.command-group{margin-top:33px}.command-shortcut span{font-size:11px}.interface-section>h2{font-size:24px}.interface-frame{padding:23px 22px}.discord-message,.sample-controls,.interface-note{margin-left:55px}.sample-controls{gap:7px}.sample-button{min-width:86px;padding:7px 12px}.interface-author strong{font-size:17px}.bot-avatar{width:47px;height:47px}.sample-badge{font-size:8px}.interface-note{padding:11px 12px;font-size:11px;gap:8px}.discord-message{min-height:138px}.guild-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:35px}.guild-card{padding:14px 13px;gap:9px;border-radius:17px}.guild-card .avatar{font-size:34px;border-radius:12px}.guild-card strong{font-size:14px}.guild-actions .button{font-size:12px}.dashboard-main{min-height:calc(100vh - 350px);padding-bottom:55px}.site-footer{margin-top:50px;padding:55px 16px 40px}.footer-content>a{font-size:30px}.footer-links{gap:17px}.footer-links button{font-size:12px}.save-bar{font-size:12px;gap:12px;bottom:14px;padding:12px}.save-bar>span{max-width:170px}.save-bar .button{font-size:12px;padding:6px 10px}.command-table article{flex-wrap:wrap;gap:7px;padding:18px}.command-table p{flex-basis:100%;order:3;font-size:12px;margin:5px 0 0}.command-table .subtle-badge{margin-left:auto}.landing{margin:90px auto 130px}.landing h1{font-size:37px}.landing>p{font-size:14px}.login-button{font-size:11px;padding:8px 10px;min-height:38px}.login-button svg{display:none}}
@media(max-width:420px){.brand{font-size:22px}.brand>svg{width:25px;height:25px}.account-button{max-width:131px;font-size:11px;padding:7px 8px}.page-title h1{font-size:26px}.guild-card{padding:10px;gap:10px}.guild-card strong{font-size:12px}.interface-frame{padding:18px 15px}.discord-message,.sample-controls,.interface-note{margin-left:0}.sample-badge{font-size:8px}.interface-author strong{font-size:16px}.save-bar{flex-wrap:wrap}.save-bar>span{max-width:none;flex:1;min-width:140px}.save-bar>div{margin-left:auto}.header-right{gap:5px}.mobile-menu{width:35px}.footer-links{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Public home: reference layout with an asymmetric hero and continuing content. */
.landing-home{max-width:1216px;margin:0 auto;padding:0;text-align:left;min-height:0}
.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:80px;align-items:center;padding:103px 0 100px;min-height:450px}
.hero-copy h1{font-size:60px;line-height:1.16;letter-spacing:-2.4px;font-weight:600;margin:0 0 17px;white-space:nowrap}
.hero-copy h1 span{color:#d1b394}.hero-copy>p{font-size:20px;line-height:1.55;color:var(--muted);margin:0;max-width:790px;letter-spacing:-.3px}
.landing-home .landing-actions{justify-content:flex-start;margin:12px 0 0;gap:8px}.landing-home .landing-actions .button{font-size:14px;line-height:20px;min-height:40px;padding:9px 16px}
.landing-features{padding-top:30px}.feature-intro{display:flex;align-items:center;justify-content:center;gap:6px;font-size:20px;color:var(--muted);margin:0 0 10px}.feature-intro strong{color:var(--text)}.feature-intro>svg{width:20px;height:20px;color:#2fd572}
.feature-track{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#00000026 4%,#0000008c 9%,#000 18%,#000 82%,#0000008c 91%,#00000026 96%,transparent 100%)}.feature-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}.second-row{transform:translateX(-36px);width:calc(100% + 72px)}.feature-card{border:1px solid var(--border);background:#24252b;border-radius:23px;display:flex;gap:14px;align-items:center;min-height:100px;padding:18px;min-width:0}.feature-icon{height:56px;width:56px;border-radius:16px;background:#34313e;display:grid;place-items:center;color:#c6b7e8;flex:none}.feature-icon svg{height:27px;width:27px}.feature-card strong{font-size:18px;letter-spacing:-.3px;white-space:nowrap}.feature-card p{font-size:13px;color:var(--muted);margin:3px 0 0;white-space:nowrap}
.landing-detail{margin-top:96px}.landing-detail>h2,.landing-closing h2{font-size:36px;letter-spacing:-1px;line-height:1.3;margin:0 0 12px;font-weight:700}.landing-detail>p{font-size:19px;color:var(--muted);line-height:1.6;margin:0;max-width:1050px}.landing-detail code{font-size:16px;background:var(--control);padding:2px 5px;border-radius:4px}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 0}.landing-steps article{border-top:1px solid var(--border);padding-top:20px}.landing-steps article>span{font-size:13px;color:#d1b394}.landing-steps h3{font-size:20px;margin:12px 0 8px}.landing-steps p{font-size:14px;line-height:1.7;color:var(--muted);margin:0;max-width:320px}.landing-closing{margin:100px 0 90px;padding:40px 0;border-top:1px solid var(--border)}.landing-closing p{font-size:16px;color:var(--muted);margin:0 0 20px}.landing-home>.login-note{color:var(--muted);margin:0 0 40px}.landing-home+.site-footer{margin-top:40px}
@media(max-width:1280px){.landing-home{margin:0 32px}.landing-hero{gap:45px}.hero-copy h1{font-size:52px;letter-spacing:-1.9px}.hero-copy>p{font-size:18px}.feature-card{padding:16px 13px;gap:10px}.feature-card strong{font-size:15px}.feature-card p{font-size:11px}.feature-icon{height:48px;width:48px}}
@media(max-width:1024px){.landing-hero{grid-template-columns:minmax(0,1fr) 280px;gap:30px;padding-top:80px}.hero-copy h1{font-size:43px;white-space:normal;letter-spacing:-1.5px}.hero-copy>p{font-size:16px}.feature-row{grid-template-columns:repeat(4,250px)}.feature-card strong{font-size:16px}.feature-intro{font-size:17px}}
@media(max-width:767px){.landing-home{margin:0 16px;padding:0}.landing-hero{grid-template-columns:1fr;gap:40px;padding:55px 0 55px;min-height:0}.hero-copy h1{font-size:44px;letter-spacing:-1.6px;text-align:left}.hero-copy>p{font-size:16px;line-height:1.7;max-width:560px}.landing-home .landing-actions{margin-top:18px;flex-wrap:wrap}.landing-home .landing-actions .button{font-size:14px;padding:9px 14px}.landing-features{padding-top:8px}.feature-intro{font-size:14px;gap:4px;flex-wrap:wrap}.feature-intro svg{width:16px;height:16px}.feature-row{grid-template-columns:repeat(4,245px)}.feature-card{min-height:88px;border-radius:20px;padding:14px;gap:12px}.feature-card strong{font-size:16px}.feature-card p{font-size:11px}.feature-icon{height:46px;width:46px}.landing-detail{margin-top:65px}.landing-detail>h2,.landing-closing h2{font-size:28px;letter-spacing:-.7px}.landing-detail>p{font-size:16px}.landing-steps{grid-template-columns:1fr;gap:27px;margin-top:30px}.landing-steps p{max-width:none}.landing-steps h3{font-size:19px;margin-top:8px}.landing-closing{margin:65px 0 30px;padding-top:32px}.landing-closing p{font-size:14px}.landing-home+.site-footer{margin-top:30px}}
@media(max-width:420px){.hero-copy h1{font-size:39px;letter-spacing:-1.4px}.feature-intro{font-size:13px}}
.hero-copy h1{font-weight:700;letter-spacing:-1.5px;line-height:72px}
.feature-track{mask-image:linear-gradient(90deg,transparent 0%,#00000026 4%,#0000008c 9%,#000 18%,#000 82%,#0000008c 91%,#00000026 96%,transparent 100%)}.feature-row{display:flex;grid-template-columns:none;gap:0;width:max-content;margin-bottom:8px;animation:reference-scroll 82s linear infinite reverse}.feature-row.second-row{transform:none;width:max-content;animation-direction:normal}.marquee-group{display:flex;flex:none;gap:8px;padding-right:8px}.feature-card{flex:0 0 320px;width:320px;min-height:100px;padding:17px;border-radius:24px;gap:16px}.feature-icon{height:64px;width:64px;border-radius:16px}.feature-card strong{font-size:20px}.feature-card p{font-size:14px}@keyframes reference-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:767px){.hero-copy h1{line-height:1.2}.feature-card{flex-basis:300px;width:300px}.feature-card strong{font-size:18px}.feature-card p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.feature-row{animation:none!important}}


body{font-family:Manrope,system-ui,sans-serif;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility}
@media(max-width:767px){.header-left{min-width:0}.login-button{font-size:10px;padding:8px}.hero-copy{min-width:0}}

/* LabCafe identity and live guild marquee. Movement continues under the pointer. */
.labcafe-logo{object-fit:contain;width:36px;height:40px;flex:none}.footer-content .labcafe-logo{width:42px;height:46px}
.server-card{user-select:none;-webkit-user-drag:none;cursor:default;transition:background-color .18s ease,border-color .18s ease;color:var(--text)}
.server-card:hover{background:#27282e;border-color:#ffffff12}
.server-card>div{min-width:0;flex:1}.server-card strong{display:flex;align-items:center;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.server-card .avatar{height:64px;width:64px;border-radius:16px;flex:none;font-size:22px;background:#40362f}.server-card .avatar img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.server-card strong{display:block}.server-badge{display:inline-flex;vertical-align:middle;margin-right:6px;background:var(--primary);border-radius:50%;padding:2px}.server-badge svg{height:14px;width:14px}
.feature-row{will-change:transform}.feature-track{contain:layout paint}.feature-intro>svg{color:#23d96f}
@media(max-width:767px){.brand .labcafe-logo{width:27px;height:32px}.server-card .avatar{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.feature-row{will-change:auto}}

/* Match the reference navigation's desktop dimensions. */
@media(min-width:768px){
 .site-header .header-left{gap:20px}
 .site-header .brand{width:230px;gap:6px;font-size:26px;line-height:30px;letter-spacing:0}
 .site-header .labcafe-logo{width:32px;height:32px}
 .site-header .app-badge{font-family:Manrope,sans-serif;font-size:14px;line-height:16px;height:20px;padding:2px 5px;gap:3px}
 .site-header .app-badge svg{width:14px;height:14px}
 .desktop-nav{gap:12px}
 .desktop-nav button,.desktop-nav a{display:inline-flex;align-items:center;height:32px;padding:0 10px;font-size:18px;line-height:16px;font-weight:700}
 .header-right{gap:8px}
 .header-right>.icon-button{width:40px;height:40px;padding:0}
 .site-header .login-button{height:40px;min-height:40px;padding:0 16px;font-size:14px;line-height:20px;gap:8px}
}
@media(min-width:768px) and (max-width:1024px){
 .site-header .brand{width:auto}.site-header .header-left{gap:12px}
 .desktop-nav{gap:4px}.desktop-nav button,.desktop-nav a{font-size:16px;padding:0 8px}
}
@media(min-width:768px){.desktop-nav button,.desktop-nav a{border:1px solid transparent}.site-header .login-button{width:194px}}

.landing-hero{grid-template-columns:minmax(0,1fr)}.hero-copy{max-width:860px}

/* Upstream SVGs stay sharp and inherit the surrounding text color. */
svg.icon{stroke-width:2}.icon.icon-brand{fill:currentColor;stroke:none}
.app-badge{background:#5865f2;color:#fff;border-radius:3px;font-family:Manrope,sans-serif;font-weight:700}
.app-badge svg.icon{stroke-width:3}
.feature-card strong{font-weight:700;letter-spacing:0}.feature-card p{font-weight:600;color:#b8b9c2}
.hero-copy>p,.landing-detail>p{letter-spacing:0}
@media(max-width:767px){.feature-track{mask-image:linear-gradient(90deg,transparent,#00000080 8%,#000 20%,#000 80%,#00000080 92%,transparent)}}

/* Coffee surface: broad asymmetric contours, with the content on a quiet base. */
.footer-coffee{position:absolute;inset:0;z-index:-1;pointer-events:none}
.footer-coffee:after{content:"";position:absolute;inset:127px 0 0;background:linear-gradient(180deg,#2b211c 0%,#241d19 65%,#201b18 100%)}
svg.coffee-surface{position:absolute;top:0;left:-3%;width:106%;height:128px;display:block;overflow:visible;stroke:none;fill:none}
.coffee-back{fill:#3b2c24}.coffee-middle{fill:#684833;fill-opacity:.65}.coffee-front{fill:url(#coffee-depth)}
.coffee-crema{fill:none;stroke:#c8a16b;stroke-width:1.2;stroke-linecap:round;opacity:.28}
.coffee-flow{animation:coffee-drift 16s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
@keyframes coffee-drift{from{transform:translate(-12px,2px)}to{transform:translate(14px,-3px)}}
.site-footer .footer-content{max-width:1216px;margin:0 auto}
.site-footer .footer-content>a{color:#f7f0e8;letter-spacing:-.7px}
.site-footer .footer-links{gap:24px;margin:17px 0 0}
.site-footer .footer-links button{color:#d2c1b0;line-height:24px;transition:color .18s ease}
.site-footer .footer-links button:hover{color:#fff4e6;text-decoration:underline;text-underline-offset:5px}
.site-footer .footer-content>p{margin:19px 0 0;font-size:12px;line-height:20px;color:#bdac9b}
@media(max-width:767px){.site-footer{padding:124px 20px 32px}.footer-coffee:after{top:103px}svg.coffee-surface{height:104px;width:150%;left:-25%}.site-footer .footer-links{gap:20px}.site-footer .footer-content>p{max-width:260px;margin:16px auto 0}}
@media(prefers-reduced-motion:reduce){.coffee-flow{animation:none;will-change:auto}}

/* Warm milk ribbons between the espresso layers. */
.coffee-milk{fill:#c49a6e;opacity:.64}
.coffee-ribbon{fill:#e5c49a;opacity:.55}
.coffee-middle{fill:#795337;fill-opacity:.74}
.coffee-crema{stroke:#edcfaa;stroke-width:2;opacity:.48}

/* Keep the expanded navigation close to the brand. */
@media(min-width:1025px){.site-header .brand{width:auto}.site-header .header-left{gap:16px}.desktop-nav{gap:8px}}
@media(min-width:768px) and (max-width:1024px){
 .desktop-nav{display:none}.site-header .header-left{gap:0}
 .mobile-menu{display:inline-flex;background:var(--control);border:1px solid var(--border);border-radius:12px;height:40px;width:40px}
 .site-header .header-right>.mobile-menu{padding:7px}
}

/* Discord guild badges retain their upstream fill colors. */
svg.guild-status-icon{display:block;width:20px;height:20px;fill:none;stroke:none;flex:none}
.guild-status{display:inline-flex;align-items:center;vertical-align:middle;flex:none;margin-right:6px}
.desktop-nav .support-nav{gap:7px;border-radius:10px}

.support-nav .guild-status{margin-right:0;transition:rotate .25s ease,scale .25s ease}
.support-nav:hover .guild-status{rotate:-7deg;scale:1.08}
.header-dropdown .support-nav{display:flex;align-items:center;gap:7px}
@media(prefers-reduced-motion:reduce){.desktop-nav .support-nav,.support-nav .guild-status{transition:none;translate:none;rotate:none;scale:1}}

/* One shared highlight slides between every item in the top navigation. */
.desktop-nav{position:relative;isolation:isolate}
.desktop-nav:before{content:"";position:absolute;left:0;top:0;width:var(--nav-width,0px);height:var(--nav-height,32px);transform:translate(var(--nav-x,0px),var(--nav-y,0px));border-radius:10px;background:#303137;opacity:0;z-index:-1;pointer-events:none;transition:transform .24s cubic-bezier(.22,.8,.25,1),width .24s cubic-bezier(.22,.8,.25,1),height .24s ease,opacity .16s ease}
.desktop-nav[data-highlight=visible]:before{opacity:1}
.desktop-nav>button,.desktop-nav>a{border-radius:10px;transition:color .16s ease}
.desktop-nav>button:hover,.desktop-nav>a:hover,.desktop-nav>button:focus-visible,.desktop-nav>a:focus-visible{color:#fff;background:transparent}
@media(prefers-reduced-motion:reduce){.desktop-nav:before{transition:none}}

/* Reserve the two rows while a cold Discord cache is populated. */
.guild-skeleton-caption{height:31px;margin:0 0 10px}
.guild-skeleton{display:grid;grid-template-columns:repeat(4,320px);gap:8px;width:max-content}
.guild-placeholder{height:100px;box-sizing:border-box;width:320px;padding:17px;display:flex;align-items:center;gap:16px;border:1px solid var(--border);border-radius:24px;background:#24252b}
.guild-placeholder>span{width:64px;height:64px;border-radius:16px;background:#303137;flex:none}
.guild-placeholder>div{flex:1}.guild-placeholder i{display:block;width:80%;height:15px;border-radius:4px;background:#303137}.guild-placeholder i+i{margin-top:12px;width:45%;height:11px}
@media(max-width:767px){.guild-skeleton{grid-template-columns:repeat(4,300px)}.guild-placeholder{width:300px}}

/* Consistent optical alignment for the two primary calls to action. */
.landing-home .landing-actions{align-items:center;gap:8px}
.landing-home .landing-actions .button{letter-spacing:0;border-radius:12px}
.landing-actions .icon-brand{width:18px;height:18px;flex:none}
@media(max-width:359px){.landing-home .landing-actions{display:grid;grid-template-columns:minmax(0,1fr)}.landing-home .landing-actions .button{width:100%}}

/* Small headers use a full-size Discord control instead of squeezed lettering. */
@media(max-width:420px){.site-header .login-button{width:40px;height:40px;min-height:40px;padding:0}.login-button .login-label{display:none}.site-header .login-button svg{display:block;width:20px;height:20px}}

/* APP lettering, checkmark and background come from a single upstream SVG. */
.app-badge.app-tag{display:inline-flex;align-items:center;justify-content:center;width:52px;height:20px;padding:0;gap:0;line-height:1;background:none;border-radius:0;vertical-align:middle;flex:none}
.app-badge.app-tag>svg{display:block;width:100%;height:100%;fill:none;stroke:none}
.interface-author .app-badge.app-tag{width:39px;height:15px}
@media(max-width:767px){.site-header .app-badge.app-tag{width:39px;height:15px}}

/* Guilds belong to the page surface rather than looking like navigation buttons. */
.feature-card.server-card,.guild-placeholder{background:#222328;border:1px solid #ffffff08;border-radius:18px;min-height:92px;padding:16px;gap:14px}
.feature-card.server-card:hover{background:#27282e;border-color:#ffffff12}
.feature-card.server-card strong{font-size:18px;line-height:24px;font-weight:600;color:#edeef2;text-decoration:none}
.feature-card.server-card p{margin-top:4px;font-size:14px;line-height:20px;font-weight:400;color:#adafb8;text-decoration:none}
.server-card .avatar,.guild-placeholder>span{width:56px;height:56px;border-radius:12px;background:#2c2d32}
.guild-placeholder{height:92px}
@media(max-width:767px){.feature-card.server-card{min-height:88px;padding:15px;gap:12px}.server-card .avatar{width:52px;height:52px}.feature-card.server-card strong{font-size:17px}.feature-card.server-card p{font-size:13px}.guild-placeholder{height:88px;min-height:88px;padding:15px;gap:12px}.guild-placeholder>span{width:52px;height:52px}}

/* Login invitation: live support guild identity and an explicit choice. */
dialog.login-dialog{width:min(512px,calc(100% - 32px));padding:24px;border:1px solid #383940;border-radius:20px;background:#24252b;box-shadow:0 24px 80px #0005;color:var(--text)}
.login-dialog::backdrop{background:#0c0d11b3}
.login-dialog h2{font-size:18px;line-height:26px;font-weight:700;margin:0 36px 24px 0;letter-spacing:0}
.login-dialog-close{position:absolute;right:12px;top:12px;width:32px;height:32px;color:#d6d6dc}
.login-dialog-close svg{width:16px;height:16px}
.login-server-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid #383940;border-radius:24px;min-width:0}
.login-server-card .avatar,.login-server-card>.labcafe-logo{width:64px;height:64px;flex:none;border-radius:16px}
.login-server-copy{min-width:0;flex:1}.login-server-copy strong{display:flex;align-items:center;gap:7px;font-size:20px;line-height:28px;font-weight:700}
.login-server-copy strong>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.login-server-copy .guild-status{margin:0}
.login-server-copy p{font-size:15px;line-height:23px;margin:2px 0 0;color:var(--muted)}
.login-dialog .dialog-actions{justify-content:flex-end;gap:12px;margin-top:24px}
.login-dialog .button{min-height:40px;padding:9px 16px;font-size:14px;line-height:20px;border-radius:12px}
.login-dialog-close:focus-visible{outline-offset:0}
@media(max-width:540px){dialog.login-dialog{padding:20px}.login-dialog h2{margin-bottom:20px}.login-server-card{padding:16px;gap:12px;border-radius:18px}.login-server-card .avatar,.login-server-card>.labcafe-logo{width:52px;height:52px;border-radius:13px}.login-server-copy strong{font-size:18px;line-height:25px}.login-server-copy p{font-size:14px;line-height:21px}.login-dialog .dialog-actions{gap:8px;flex-wrap:wrap;margin-top:20px}.login-dialog .button{font-size:13px;padding:9px 12px}}
@media(max-width:359px){.login-dialog .dialog-actions{display:grid;grid-template-columns:1fr}.login-dialog .button{width:100%}}

/* Restore the roomier guild proportions while keeping the quiet surface. */
.feature-card.server-card,.guild-placeholder{min-height:100px;padding:17px;gap:16px}
.server-card .avatar,.guild-placeholder>span{width:64px;height:64px;border-radius:14px}
.feature-card.server-card strong{font-size:20px;line-height:27px}
.guild-placeholder{height:100px}
.feature-intro>span{min-width:0}.feature-intro>svg{flex:none}
@media(max-width:767px){.feature-card.server-card,.guild-placeholder{min-height:92px;padding:16px;gap:14px}.server-card .avatar,.guild-placeholder>span{width:56px;height:56px}.feature-card.server-card strong{font-size:18px;line-height:25px}.guild-placeholder{height:92px}.feature-intro{flex-wrap:nowrap;align-items:center}.feature-intro>span{line-height:1.6}}

.legal-page{max-width:880px;margin:48px auto 72px;padding:0 24px;color:#c4c5ce;font-size:16px;line-height:1.85}.legal-page h1{font-size:40px;line-height:1.2;color:var(--text);margin:10px 0 32px}.legal-page h2{font-size:21px;line-height:1.4;color:var(--text);margin:32px 0 12px}.legal-page p{margin:0 0 16px}.legal-page li{margin:0 0 12px}.legal-page ul{padding-left:23px}.legal-page a{color:#e0bf99;text-decoration:underline;text-underline-offset:3px}.legal-page code{font-size:.9em;background:var(--control);padding:3px 5px;border-radius:4px}.legal-page .legal-updated{font-size:13px;color:var(--muted)}.site-footer .footer-links a{font-size:13px;color:#d2c1b0;line-height:24px}.site-footer .footer-links a:hover{color:#fff4e6;text-decoration:underline;text-underline-offset:5px}
@media(max-width:767px){.legal-page{margin:30px auto 48px;padding:0 20px;font-size:15px}.legal-page h1{font-size:31px}.legal-page h2{font-size:20px}.site-footer .footer-links{gap:12px 20px}}

.owner-panel { max-width: 720px; margin: 24px auto 64px; }
.owner-panel form { display: grid; gap: 16px; }
.owner-panel textarea { box-sizing: border-box; width: 100%; padding: 14px; border: 1px solid #45464b; border-radius: 12px; background: #242529; color: #f4f4f5; font: inherit; resize: vertical; }
.owner-panel .owner-toggle { display: flex; gap: 12px; align-items: center; }
.owner-panel p { color: #b4b5bc; line-height: 1.6; }

/* Dashboard: compact guild selection and independent account popover. */
.account-dropdown { position:absolute; z-index:45; top:72px; right:max(24px,calc((100vw - 1216px)/2)); width:224px; padding:7px; border:1px solid var(--border); border-radius:16px; background:#24252a; box-shadow:0 12px 28px #0002; }
.account-dropdown a,.account-dropdown button { display:flex; align-items:center; gap:10px; width:100%; min-height:38px; padding:9px 10px; border:0; border-radius:8px; background:transparent; color:var(--text); font:600 13px/20px Manrope,system-ui,sans-serif; text-align:left; }
.account-dropdown a:hover,.account-dropdown button:hover { background:#303137; }
.account-dropdown svg { width:16px; height:16px; }
.account-divider { height:1px; margin:5px -7px; background:#35363c; }
.account-dropdown #logout svg { color:#d6a052; }
.guild-grid { grid-template-columns:repeat(auto-fill,152px); gap:12px; margin:34px 0 24px; }
.guild-card { width:152px; min-height:184px; padding:16px; gap:9px; border-radius:16px; background:#26272d; border-color:#303137; transition:background .15s,border-color .15s; }
.guild-card:hover { transform:none; background:#2c2d33; border-color:#494a51; }
.guild-card .avatar { width:118px; height:118px; max-width:100%; border-radius:14px; }
.guild-card strong { font-size:15px; line-height:22px; }
.dashboard-main>.page-title { margin-bottom:28px; }
.save-bar { bottom:24px; width:min(666px,calc(100% - 32px)); min-height:58px; padding:10px 12px; gap:20px; background:#25262c; border:1px solid #303137; border-radius:20px; box-shadow:0 10px 30px #0002; color:#f4f4f5; font-size:14px; animation:save-bar-in .18s ease-out; }
.save-bar>span { font-weight:700; line-height:20px; }
.save-bar>div { flex-shrink:0; gap:10px; }
.save-bar #discard { border-color:transparent; background:transparent; padding:7px 12px; }
.save-bar #discard:hover { background:#323339; }
.save-bar #save { background:#008c42; border-color:#008c42; min-height:36px; border-radius:14px; padding:7px 14px; }
.save-bar #save:hover { background:#00a14d; border-color:#00a14d; }
@keyframes save-bar-in { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
@media(max-width:767px) {
 .account-dropdown { right:16px; top:74px; width:224px; }
 .guild-grid { grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; }
 .guild-card { width:auto; min-height:174px; padding:14px; }
 .guild-card .avatar { width:118px; height:auto; aspect-ratio:1; }
 .save-bar { bottom:16px; gap:10px; font-size:12px; border-radius:16px; }
 .save-bar>span { max-width:none; }
 .save-bar>div { margin-left:auto; }
 .save-bar .button { font-size:12px; }
}
@media(max-width:540px) { .save-bar { flex-wrap:wrap; } .save-bar>span { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { .save-bar { animation:none; } }

/* Short, restrained feedback; geometry and click targets stay unchanged. */
@media(prefers-reduced-motion:no-preference) {
 .button,.icon-button,.account-button,.account-dropdown a,.account-dropdown button,
 .header-dropdown a,.header-dropdown button,.command-shortcut {
  transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease,opacity 140ms ease,scale 110ms ease;
 }
 .button:active:not(:disabled),.icon-button:active:not(:disabled),.account-button:active:not(:disabled),
 .account-dropdown button:active:not(:disabled),.command-shortcut:active:not(:disabled) { scale:.985; }
 .account-dropdown:not([hidden]),.header-dropdown:not([hidden]) {
  transform-origin:top right; animation:soft-menu-in 150ms cubic-bezier(.2,.7,.3,1);
 }
 dialog[open] { animation:soft-dialog-in 170ms cubic-bezier(.2,.7,.3,1); }
 dialog[open]::backdrop { animation:soft-backdrop-in 150ms ease-out; }
 #content>.page-title,#content>.guild-grid,#content>.settings-layout,#content>.owner-panel {
  animation:soft-content-in 160ms ease-out;
 }
 .toast:not([hidden]) { animation:soft-menu-in 150ms ease-out; }
}
@keyframes soft-menu-in { from { opacity:0; translate:0 -3px; } to { opacity:1; translate:0 0; } }
@keyframes soft-dialog-in { from { opacity:0; translate:0 4px; scale:.99; } to { opacity:1; translate:0 0; scale:1; } }
@keyframes soft-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes soft-content-in { from { opacity:.6; } to { opacity:1; } }

/* Membership is supplied by the authenticated API, never inferred from icons. */
.guild-card.bot-absent .avatar { opacity:.48; filter:saturate(.65); }
.guild-card.bot-absent strong { color:#94959d; }
.guild-card.bot-absent { background:#24252b; border-color:#2c2d33; }
.guild-card.bot-absent:hover { background:#292a30; border-color:#414249; }
.account-dropdown,.header-dropdown { animation:none!important; }

/* Keep the coffee footer below the first dashboard viewport, even on short pages. */
#app > .dashboard-main { min-height:100vh; min-height:100svh; }

.save-bar.save-error { border-color:#d95562; box-shadow:0 0 0 1px #d9556240,0 10px 30px #0002; }
