.logo-mark{width:22px;height:22px;border-radius:6px;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font:700 11px var(--font-sans);flex-shrink:0}.logo-mark--lg{width:44px;height:44px;border-radius:12px;font:700 20px var(--font-sans)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--neutral-200);display:flex;align-items:center;justify-content:center;font:600 11px var(--font-sans);color:var(--text-secondary);flex-shrink:0}.avatar--sm{width:28px;height:28px}.avatar--lg{width:44px;height:44px;font:600 15px var(--font-sans)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);flex-shrink:0;cursor:pointer}.icon-btn img{width:20px;height:20px;opacity:.65}.icon-btn:hover img{opacity:1}.icon-btn--boxed{border:1px solid var(--border);background:var(--surface)}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-md);font:500 13px var(--font-sans);padding:7px 14px;cursor:pointer;white-space:nowrap}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--outline{background:var(--surface);border:1px solid var(--border);color:var(--neutral-700)}.btn--outline img{width:16px;height:16px}.btn--sm{font-size:12.5px;padding:7px 11px}.chip-btn{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:0 11px;height:32px;font:500 12.5px var(--font-sans);color:var(--primary);white-space:nowrap}.chip-btn img{width:16px;height:16px}.dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;display:inline-block}.dot--monthly,.dot--canon{background:var(--class-canon)}.dot--official{background:var(--class-official)}.dot--leader{background:var(--class-leader)}.dot--commentary{background:var(--class-commentary)}.dot--courtesy{background:var(--pool-courtesy)}.dot--purchased{background:var(--pool-purchased)}.class-bar{display:flex;height:6px;width:48px;border-radius:var(--radius-pill);overflow:hidden;flex-shrink:0}.class-bar i{flex:1}.c-canon{background:var(--class-canon)}.c-official{background:var(--class-official)}.c-leader{background:var(--class-leader)}.c-commentary{background:var(--class-commentary)}.rot-right{transform:rotate(-90deg)}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40}.scrim[hidden]{display:none}.send-btn{width:34px;height:34px;border-radius:9px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.send-btn img{width:17px;height:17px;display:block}.send-btn:hover{background:var(--primary-hover)}.send-btn:disabled{background:var(--neutral-250);cursor:default}.landing{background:var(--surface);min-height:100vh;min-height:100dvh}.landing__nav{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--track)}.landing__brand{display:flex;align-items:center;gap:8px}.landing__brand span{font:600 15px var(--font-sans);color:var(--ink)}.landing__links{display:flex;gap:26px;align-items:center;font:500 13.5px var(--font-sans);color:var(--neutral-700)}.landing__links a{color:inherit}.landing__links a:hover{color:var(--ink)}.landing__links .btn{color:#fff;padding:8px 16px}.landing__links .btn:hover{color:#fff}.landing__hero{padding:88px 48px 64px;text-align:center}.landing__hero h1{font:600 52px/1.12 var(--font-sans);color:var(--ink);letter-spacing:-0.02em;max-width:820px;margin:0 auto 18px;text-wrap:balance}.landing__eyebrow{font:500 12px var(--font-mono);letter-spacing:.14em;color:var(--primary);text-transform:uppercase;margin-bottom:16px}.landing__sub{font:400 17px/1.55 var(--font-sans);color:var(--text-secondary);max-width:600px;margin:0 auto 40px}.landing__composer{max-width:660px;margin:0 auto;background:var(--surface);border:1.5px solid var(--border-strong);border-radius:16px;padding:16px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 28px rgba(20,24,33,.08);text-align:left;cursor:pointer}.landing__composer>span:first-child{flex:1;font:400 15.5px var(--font-sans);color:var(--neutral-400)}.landing__composer .send-btn{width:38px;height:38px;border-radius:10px}.landing__composer:hover{border-color:var(--neutral-250)}.landing__chips{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.landing__chips a{font:400 12.5px var(--font-sans);color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:6px 13px}.landing__chips a:hover{color:var(--ink)}.landing__note{font:400 12.5px var(--font-sans);color:var(--neutral-400);margin-top:20px}.landing__stats{border-top:1px solid var(--track);background:var(--background);padding:22px 48px;display:flex;justify-content:center;gap:56px;font:500 13px var(--font-sans);color:var(--neutral-700);flex-wrap:wrap}.landing__stats strong{color:var(--ink);font-weight:600}.landing__features{padding:64px 48px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;max-width:1280px;margin:0 auto}.landing__feature{border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:26px}.landing__feature .class-bar{width:56px;margin-bottom:18px}.landing__feature h2{font:600 16px var(--font-sans);color:var(--ink);margin-bottom:6px}.landing__feature p{font:400 13px/1.55 var(--font-sans);color:var(--text-secondary)}.landing__feature-glyph{display:block;font:600 20px var(--font-mono);color:var(--primary);margin-bottom:14px}.landing__footer{border-top:1px solid var(--track);padding:20px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px}.landing__footer p{font:400 11.5px/1.5 var(--font-sans);color:var(--neutral-400);max-width:560px}.landing__footer nav{display:flex;gap:20px;font:400 12px var(--font-sans);color:var(--neutral-500);flex-shrink:0}.landing__footer nav a:hover{color:var(--ink)}@media(max-width: 720px){.landing__nav{padding:0 20px}.landing__links{gap:16px}.landing__links a[href="#library"],.landing__links a[href="#pricing"]{display:none}.landing__hero{padding:56px 20px 44px}.landing__hero h1{font-size:34px}.landing__sub{font-size:15px}.landing__stats{gap:12px;flex-direction:column;align-items:center;padding:22px 20px;text-align:center}.landing__features{grid-template-columns:1fr;padding:44px 20px}.landing__footer{flex-direction:column;align-items:flex-start;padding:20px}}
