/* LaunchLemur — the dark image-2 palette is the first-visit default. Saved choices win after the one-time v5 reset. */
:root{
  --bg:#f0f5fa; --bg2:#e3ecf5; --card:#ffffff; --card2:#f7fafd; --line:#d3e0ee;
  --ink:#16283a; --muted:#54697e; --muted2:#8ba0b4;
  --accent:#2372c8; --accent-soft:#dfeaf6; --accent2:#0e8f8f; --accent2-soft:#d5ecee;
  --grad:linear-gradient(135deg,#5391d4,#2372c8);
  --grad2:linear-gradient(135deg,#43a9a9,#0e8f8f);
  --radius:14px;
  --shadow:0 1px 2px rgba(24,36,32,.05), 0 8px 24px rgba(24,36,32,.06);
  --shadow-lg:0 2px 4px rgba(24,36,32,.06), 0 18px 44px rgba(24,36,32,.12);
}
*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent;}
html,body{background:var(--bg); color:var(--ink); font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
body{min-height:100vh; display:flex; flex-direction:column; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img,svg{display:block;}
.wrap{width:100%; max-width:1180px; margin:0 auto; padding:0 20px;}
main{flex:1;}

/* nav */
.nav{position:sticky; top:0; z-index:50; background:var(--card);
     border-bottom:1px solid var(--line);}
.nav .wrap{display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; min-height:64px; min-width:0;}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:20px; letter-spacing:-.02em; flex:none;}
.brand .logo{width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:var(--grad);
     box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 30%,transparent);}
.brand .logo svg{width:19px; height:19px;}
.brand .nm b{color:var(--accent); font-weight:800;}
.navlinks{display:flex; align-items:center; gap:4px; flex:none; margin-left:auto;}
.navlinks a{font-size:14px; font-weight:600; color:var(--muted); padding:8px 12px; border-radius:9px;}
.navlinks a:hover{color:var(--ink); background:rgba(24,36,32,.05);}
.navlinks a.on{color:color-mix(in srgb,var(--accent) 86%,var(--ink));}
.navlinks a.workspace-link{background:var(--grad);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 22%,transparent);}
.navlinks a.workspace-link:hover{background:var(--grad);color:#fff;filter:brightness(1.05);}
.navlinks a[href$="tools.html"],.navlinks a[href$="journey.html"]{display:none!important}
.ll-nav-signin,.ll-nav-account-button{appearance:none;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-family:inherit;font-size:14px;font-weight:600;min-height:38px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.ll-nav-signin:hover,.ll-nav-account-button:hover,.ll-nav-signin.on,.ll-nav-account-button.on{border-color:var(--line);background:var(--card2);color:var(--ink)}
.ll-nav-account{position:relative;display:flex;align-items:center;min-width:0}
.ll-nav-avatar{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:11px;font-weight:900;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 24%,transparent)}
.ll-nav-caret{font-size:13px;transition:transform .15s ease}.ll-nav-account-button[aria-expanded="true"] .ll-nav-caret{transform:rotate(180deg)}
.ll-nav-account-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:1000;width:min(260px,calc(100vw - 24px));padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow-lg)}
.ll-nav-account-menu[hidden]{display:none!important}
.ll-nav-account-who{padding:9px 10px 11px;border-bottom:1px solid var(--line);margin-bottom:5px;overflow:hidden}.ll-nav-account-who small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.ll-nav-account-who strong{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--ink)}
.ll-nav-account-menu a,.ll-nav-account-menu button{appearance:none;display:flex;width:100%;min-height:38px;align-items:center;border:0;border-radius:8px;background:transparent;color:var(--ink);font-family:inherit;font-size:12.5px;font-weight:700;padding:9px 10px;text-align:left;cursor:pointer}.ll-nav-account-menu a:hover,.ll-nav-account-menu button:hover,.ll-nav-account-menu a:focus-visible,.ll-nav-account-menu button:focus-visible{outline:0;background:var(--card2);color:var(--accent)}
.search{flex:1; max-width:440px; position:relative; display:flex; align-items:center;}
.search .si{position:absolute; left:15px; color:var(--muted); width:17px; height:17px; pointer-events:none;}
.search input{width:100%; height:42px; border-radius:21px; border:1px solid var(--line); background:#fff;
     color:var(--ink); padding:0 18px 0 42px; font-size:14px; font-family:inherit; outline:none;
     transition:border-color .15s, box-shadow .15s;}
.search input:focus{border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);}
.search input::placeholder{color:var(--muted2);}
.navbtns{display:flex; align-items:center; gap:10px; flex:none; margin-left:auto;}
.btn{cursor:pointer; font-family:inherit; border:0; border-radius:11px; font-weight:700; font-size:14px;
     padding:11px 18px; color:#fff; background:var(--grad); box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 27%,transparent);
     display:inline-flex; align-items:center; gap:8px; line-height:1;
     transition:transform .12s, filter .12s, background .15s;}
.btn:hover{transform:translateY(-1px); filter:brightness(1.05);}
.btn:active{transform:translateY(0);}
.btn svg{width:16px; height:16px;}
.btn.ghost{background:#fff; box-shadow:none; color:var(--ink); border:1px solid var(--line);}
.btn.ghost:hover{border-color:var(--muted2); filter:none;}
.btn.green{background:var(--grad2); box-shadow:0 6px 18px rgba(14,143,106,.25);}
.btn.big{padding:14px 26px; font-size:15px;}

/* hero (landing) */
.hero{position:relative; margin:34px 0 10px; border-radius:24px; overflow:hidden; border:1px solid var(--line);
     display:grid; grid-template-columns:1.1fr .9fr; min-height:380px; background:
     radial-gradient(120% 150% at 85% 10%, var(--accent2-soft), transparent 55%),
     radial-gradient(120% 150% at 8% 95%, var(--accent-soft), transparent 55%), var(--card);
     box-shadow:var(--shadow);}
.hero .hcopy{padding:52px 46px; display:flex; flex-direction:column; justify-content:center;}
.hero .htag{display:inline-flex; align-items:center; gap:7px; width:max-content; margin-bottom:18px;
     font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--accent2);
     background:var(--accent2-soft); border:1px solid rgba(14,143,106,.25); padding:5px 12px; border-radius:999px;}
.hero h1{font-size:clamp(32px,4.4vw,52px); font-weight:900; letter-spacing:-.03em; line-height:1.04;}
.hero h1 em{font-style:normal; color:var(--accent);}
.hero p{color:var(--muted); margin-top:16px; font-size:17px; line-height:1.6; max-width:46ch;}
.hero .hmeta{color:var(--muted2); font-size:13px; margin-top:14px;}
.hero .hbtns{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; align-items:center;}
.hero .hart{position:relative; display:grid; place-items:center; overflow:hidden;}
.hero .hart img{max-width:82%; max-height:340px; object-fit:contain; filter:drop-shadow(0 24px 32px rgba(24,36,32,.18));
     transform:rotate(-6deg); transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.hero .hart:hover img{transform:rotate(-2deg) translateY(-8px);}
@media (max-width:860px){ .hero{grid-template-columns:1fr;} .hero .hart{display:none;} }

/* section header */
.section-h{display:flex; align-items:center; justify-content:space-between; margin:40px 0 16px; gap:12px;}
.section-h h2{font-size:22px; font-weight:800; letter-spacing:-.01em; display:flex; align-items:center; gap:10px;}
.section-h h2::before{content:''; width:5px; height:20px; border-radius:3px; background:var(--grad);}
.section-h a, .section-h .shr{color:var(--muted); font-size:13px; font-weight:600;}
.section-h a:hover{color:var(--accent);}

/* grid + tool cards */
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:16px;}
.card{position:relative; display:block; border-radius:var(--radius); overflow:hidden; background:var(--card);
     border:1px solid var(--line); box-shadow:var(--shadow); transition:transform .14s, border-color .14s, box-shadow .14s;}
.card:hover{transform:translateY(-4px); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); box-shadow:var(--shadow-lg);}
.card .thumb{position:relative; aspect-ratio:16/9; overflow:hidden; border-bottom:1px solid var(--line);}
.poster{position:relative; width:100%; height:100%; display:grid; place-items:center; align-content:center; gap:6px; padding:16px;}
.poster .picon{font-size:38px; line-height:1;}
.poster .ptitle{font-weight:800; font-size:15px; letter-spacing:-.01em; text-align:center; color:var(--ink); opacity:.85;}
.card .meta{padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:8px;}
.card .meta .nm{font-weight:700; font-size:14.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.card .meta .tag{font-size:11px; font-weight:600; color:var(--accent2); background:var(--accent2-soft); padding:3px 9px; border-radius:7px; flex:none;}
.card .blurb{padding:0 14px 13px; color:var(--muted); font-size:13px; line-height:1.5;}
.card .freechip{position:absolute; top:10px; left:10px; z-index:2; font-size:11px; font-weight:800; letter-spacing:.03em;
     padding:4px 10px; border-radius:999px; color:#fff; background:var(--grad2); box-shadow:0 3px 10px rgba(14,143,106,.35);}
.card .lockchip{position:absolute; top:10px; left:10px; z-index:2; display:flex; align-items:center; gap:5px; font-size:11px;
     font-weight:700; padding:4px 10px; border-radius:999px; color:var(--muted); background:rgba(255,255,255,.92); border:1px solid var(--line);}
.card .lockchip svg{width:11px; height:11px;}
/* favourite star */
.favbtn{position:absolute; top:8px; right:8px; z-index:3; width:34px; height:34px; border-radius:50%; border:1px solid var(--line);
     background:rgba(255,255,255,.94); cursor:pointer; display:grid; place-items:center; color:var(--muted2);
     transition:transform .12s, color .12s, border-color .12s; font-size:0;}
.favbtn svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2;}
.favbtn:hover{transform:scale(1.12); color:var(--accent);}
.favbtn.on{color:#f5a623; border-color:#f0d9a8;}
.favbtn.on svg{fill:#f5a623; stroke:#f5a623;}

/* pricing */
.pricing{margin:26px 0;}
.pricebox{max-width:520px; margin:0 auto; background:var(--card); border:1px solid var(--line); border-radius:22px;
     padding:34px 34px 30px; text-align:center; box-shadow:var(--shadow-lg); position:relative; overflow:hidden;}
.pricebox::before{content:''; position:absolute; inset:0 0 auto 0; height:5px; background:var(--grad);}
.pricebox .pb-price{font-size:52px; font-weight:900; letter-spacing:-.03em; margin:10px 0 2px;}
.pricebox .pb-price span{font-size:18px; color:var(--muted); font-weight:600;}
.pricebox .pb-sub{color:var(--muted); font-size:14px; margin-bottom:22px;}
.pricebox ul{list-style:none; display:flex; flex-direction:column; gap:11px; margin-bottom:26px; text-align:left;}
.pricebox li{color:var(--ink); font-size:14.5px; padding-left:28px; position:relative; line-height:1.45;}
.pricebox li::before{content:'✓'; position:absolute; left:2px; color:var(--accent2); font-weight:800;}
.pricebox .small{color:var(--muted2); font-size:12.5px; margin-top:14px; line-height:1.5;}

/* landing feature strip */
.striprow{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:18px 0;}
.strip{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow);}
.strip .ic{width:42px; height:42px; border-radius:12px; display:grid; place-items:center; font-size:20px; margin-bottom:14px;
     background:var(--accent-soft);}
.strip b{font-size:15.5px; display:block; margin-bottom:6px;}
.strip p{color:var(--muted); font-size:13.5px; line-height:1.55;}

/* nav account chip (signed in) */
.acctchip{display:flex; align-items:center; gap:9px; padding:5px 12px 5px 5px; border:1px solid var(--line);
     border-radius:999px; background:#fff; transition:border-color .12s, box-shadow .12s;}
.acctchip:hover{border-color:var(--accent); box-shadow:var(--shadow);}
.acctchip .av{width:30px; height:30px; border-radius:50%; background:var(--grad); display:grid; place-items:center;
     font-weight:800; font-size:14px; color:#fff; flex:none;}
.acctchip .an{font-weight:700; font-size:14px; display:flex; align-items:center; gap:7px;}
.acctchip .an b{font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#fff;
     background:linear-gradient(135deg,#ffd54a,#ff9d2e); padding:2px 7px; border-radius:999px;}
.acctchip .an b.mem{background:var(--grad2);}

/* login modal */
.authmodal{position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center;
     background:rgba(24,36,32,.4); backdrop-filter:blur(6px); padding:20px;}
.authmodal.show{display:flex;}
.authcard{position:relative; width:min(400px,100%); background:var(--card); border:1px solid var(--line);
     border-radius:18px; padding:30px 28px 24px; box-shadow:var(--shadow-lg); text-align:center;}
.authx{position:absolute; top:12px; right:14px; background:none; border:0; color:var(--muted); font-size:26px;
     line-height:1; cursor:pointer; width:32px; height:32px; border-radius:8px;}
.authx:hover{color:var(--ink); background:rgba(24,36,32,.06);}
.authlogo .logo{width:48px; height:48px; border-radius:14px; margin:0 auto 14px; background:var(--grad);
     display:grid; place-items:center; box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 34%,transparent);}
.authlogo .logo svg{width:26px; height:26px;}
.authcard h2{font-size:23px; font-weight:800; letter-spacing:-.02em;}
.authsub{color:var(--muted); font-size:14px; margin:5px 0 20px;}
.authcard form{text-align:left; display:flex; flex-direction:column; gap:13px;}
.authcard label{display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:700; color:var(--muted);
     text-transform:uppercase; letter-spacing:.04em;}
.authcard input{height:44px; border-radius:11px; border:1px solid var(--line); background:#fff; color:var(--ink);
     padding:0 14px; font-size:15px; font-family:inherit; outline:none; transition:border-color .14s, box-shadow .14s;}
.authcard input:focus{border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);}
.autherr{display:none; color:#d43333; font-size:13px; font-weight:600;}
.autherr.show{display:block;}
.autherr.ok{color:var(--accent2);}
.authnote{margin-top:14px; color:var(--muted2); font-size:12px; line-height:1.5;}
.authtoggle{margin-top:16px; font-size:13px; color:var(--muted);}
.authtoggle .authlink{color:var(--accent); font-weight:700; cursor:pointer; text-decoration:underline;}
.authforgot{text-align:right; margin-top:-4px; min-height:0;}
.authforgot:empty{display:none;}
.authforgot .authlink{color:var(--muted); font-size:12px; font-weight:600; cursor:pointer; text-decoration:underline;}
.authforgot .authlink:hover{color:var(--accent);}

/* tool detail page */
.tooltop{display:grid; grid-template-columns:1.05fr .95fr; gap:26px; margin:30px 0 10px; align-items:start;}
.tooltop .tinfo h1{font-size:clamp(28px,3.4vw,40px); font-weight:900; letter-spacing:-.03em; line-height:1.06; display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.tooltop .tinfo .ttag{font-size:12px; font-weight:700; color:var(--accent2); background:var(--accent2-soft); padding:4px 11px; border-radius:999px;}
.tooltop .tinfo p.lead{color:var(--muted); font-size:16px; line-height:1.65; margin:16px 0 20px; max-width:56ch;}
.tooltop .tinfo ul{list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:24px;}
.tooltop .tinfo li{font-size:14.5px; padding-left:28px; position:relative; line-height:1.45;}
.tooltop .tinfo li::before{content:'✓'; position:absolute; left:2px; color:var(--accent2); font-weight:800;}
.tooltop .tbtns{display:flex; gap:12px; flex-wrap:wrap; align-items:center;}
.tooltop .tart{border-radius:20px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); aspect-ratio:16/10;}
.lockpanel{margin-top:20px; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--shadow);}
.lockpanel .lp-h{display:flex; align-items:center; gap:10px; font-weight:800; font-size:16px;}
.lockpanel .lp-h svg{width:18px; height:18px; color:var(--accent);}
.lockpanel p{color:var(--muted); font-size:14px; line-height:1.6; margin:8px 0 16px;}
@media (max-width:860px){ .tooltop{grid-template-columns:1fr;} }

/* members area (account.html) */
.member-shell{display:grid; grid-template-columns:236px 1fr; gap:24px; margin:24px 0 10px; align-items:start;}
.msidebar{position:sticky; top:84px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:16px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow);}
.mprofile{display:flex; align-items:center; gap:11px; padding:6px 6px 14px; border-bottom:1px solid var(--line);}
.mprofile .pav{width:44px; height:44px; border-radius:50%; background:var(--grad); display:grid; place-items:center; font-weight:800; font-size:19px; color:#fff; flex:none;}
.mprofile .mp-meta{display:flex; flex-direction:column; gap:4px; min-width:0;}
.mprofile .mp-meta b{font-size:15px; font-weight:800; overflow:hidden; text-overflow:ellipsis;}
.memberbadge{font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line); padding:2px 8px; border-radius:999px; width:max-content;}
.memberbadge.gold{color:#fff; background:linear-gradient(135deg,#ffd54a,#ff9d2e); border:0;}
.memberbadge.green{color:#fff; background:var(--grad2); border:0;}
.mnav{display:flex; flex-direction:column; gap:3px;}
.mnav button{display:flex; align-items:center; gap:11px; width:100%; text-align:left; font-family:inherit; font-size:14px; font-weight:600; color:var(--muted); background:none; border:0; border-radius:10px; padding:11px 12px; cursor:pointer; transition:background .12s, color .12s;}
.mnav button svg{width:18px; height:18px; flex:none;}
.mnav button:hover{background:rgba(24,36,32,.05); color:var(--ink);}
.mnav button.on{background:var(--accent-soft); color:var(--accent);}
.mside-foot{margin-top:auto; padding-top:14px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px;}
.mcontent{min-width:0;}
.mview{display:none;}
.mview.on{display:block; animation:fadein .2s ease;}
@keyframes fadein{from{opacity:0; transform:translateY(4px);}to{opacity:1; transform:none;}}
.mh{font-size:27px; font-weight:800; letter-spacing:-.02em;}
.msub{color:var(--muted); font-size:14px; margin:6px 0 22px;}
.msub b{color:var(--ink);}
.statgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; margin-bottom:8px;}
.stat{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; display:flex; flex-direction:column; gap:3px; box-shadow:var(--shadow);}
.stat .sl{color:var(--muted); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;}
.stat .sv{font-size:26px; font-weight:800;}
.stat .slink{color:var(--accent); font-size:13px; font-weight:700; margin-top:6px; cursor:pointer;}
.mcard{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin-bottom:14px; box-shadow:var(--shadow);}
.admin-console{overflow:hidden}.admin-console-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-console-head h3{margin:3px 0 2px;font-size:19px}.admin-console-head p{margin:0;color:var(--muted);font-size:12.5px}.admin-kicker{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 12px}.admin-stats span{border:1px solid var(--line);border-radius:11px;background:var(--bg2);padding:10px;color:var(--muted);font-size:11px}.admin-stats b{display:block;color:var(--ink);font-size:20px}.admin-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--card2);padding:0 12px}.admin-search input{width:100%;height:44px;border:0!important;background:transparent!important;color:var(--ink);font-family:inherit;outline:none}.admin-notice{min-height:18px;margin:9px 0;color:var(--muted);font-size:12px}.admin-notice.error{color:#d84b55}.admin-member-list{display:flex;max-height:540px;overflow:auto;flex-direction:column;gap:8px;scrollbar-width:thin}.admin-member{display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);padding:12px}.admin-member-email{min-width:0}.admin-member-email strong{display:block;overflow:hidden;text-overflow:ellipsis}.admin-member-email small{display:block;margin-top:4px;color:var(--muted);font-size:10.5px}.admin-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.admin-badge{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;background:var(--accent-soft);padding:3px 7px;color:var(--ink);font-size:9px;font-weight:850}.admin-member-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.admin-member-actions label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:7px 9px;font-size:10.5px;font-weight:750}.admin-member-actions input{accent-color:var(--accent)}.admin-member-actions button{min-height:34px;padding:6px 10px;font-size:11px}.admin-member-actions .danger{border-color:color-mix(in srgb,#d84b55 45%,var(--line));color:#d84b55}.admin-audit{display:flex;flex-direction:column;gap:6px}.admin-audit-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px;border-bottom:1px solid var(--line);padding:7px 0;font-size:11px}.admin-audit-row small{color:var(--muted)}.admin-confirm{width:min(430px,calc(100% - 28px));border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);padding:0;box-shadow:0 30px 80px rgba(0,0,0,.35)}.admin-confirm::backdrop{background:rgba(7,10,17,.7);backdrop-filter:blur(7px)}.admin-confirm form{padding:22px}.admin-confirm h2{margin:5px 0 8px}.admin-confirm p{color:var(--muted);line-height:1.55}.admin-confirm form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.planrow{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.subplan{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow);}
.subplan.member{background:radial-gradient(120% 150% at 90% 5%, var(--accent2-soft), transparent 55%), var(--card); border-color:rgba(14,143,106,.35);}
.subplan.current{border-color:var(--accent);}
.subplan .sp-h{display:flex; align-items:center; justify-content:space-between; gap:8px;}
.subplan .sp-h b{font-size:18px; font-weight:800;}
.subplan .cur{font-size:11px; font-weight:800; color:var(--accent2);}
.subplan .best{font-size:11px; font-weight:800; color:#fff; background:linear-gradient(135deg,#ffd54a,#ff9d2e); padding:3px 9px; border-radius:999px;}
.subplan .sp-price{font-size:32px; font-weight:800; margin:12px 0 14px;}
.subplan .sp-price span{font-size:15px; color:var(--muted); font-weight:600;}
.subplan ul{list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:18px;}
.subplan li{color:var(--muted); font-size:14px; padding-left:24px; position:relative;}
.subplan li::before{content:'✓'; position:absolute; left:0; color:var(--accent2); font-weight:800;}
.subplan .sbtn{width:100%;}
.sbtn{cursor:pointer; font-family:inherit; font-weight:700; font-size:13px; color:var(--ink);
     background:#fff; border:1px solid var(--line); border-radius:11px; padding:10px 15px;
     transition:border-color .12s, background .12s;}
.sbtn:hover{border-color:var(--accent);}
.faq{display:flex; flex-direction:column; gap:8px; margin-bottom:16px;}
.faqitem{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:0 16px; box-shadow:var(--shadow);}
.faqitem summary{cursor:pointer; padding:15px 0; font-weight:700; font-size:14px; list-style:none;}
.faqitem summary::-webkit-details-marker{display:none;}
.faqitem summary::after{content:'+'; float:right; color:var(--muted); font-size:18px; line-height:1;}
.faqitem[open] summary::after{content:'–';}
.faqitem p{color:var(--muted); font-size:14px; line-height:1.6; padding:0 0 15px;}
.mcard.contact b{font-size:16px;}
.mcard.contact p{color:var(--muted); font-size:14px; margin:6px 0 14px;}
.supportlinks{display:flex; gap:16px; margin-top:14px;}
.supportlinks a{color:var(--accent); font-size:13px; font-weight:700;}
.setrow{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line);}
.setrow:last-child{border-bottom:0;}
.setrow b{font-size:14px; display:block;}
.setrow .dim{color:var(--muted); font-size:13px;}
.dim{color:var(--muted);}
.toast{position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px); background:var(--ink); border:0; color:#fff; font-size:14px; font-weight:600; padding:11px 18px; border-radius:12px; opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:300; box-shadow:var(--shadow-lg);}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* signed-out CTA */
.signin-cta{max-width:520px; margin:54px auto; text-align:center;}
.signin-cta .logo.big{width:62px; height:62px; border-radius:18px; margin:0 auto 18px; background:var(--grad);
     display:grid; place-items:center; box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 34%,transparent);}
.signin-cta .logo.big svg{width:32px; height:32px;}
.signin-cta h1{font-size:32px; font-weight:800; letter-spacing:-.02em;}
.signin-cta p{color:var(--muted); font-size:16px; line-height:1.6; margin:12px 0 18px;}
.signin-cta .ctabtns{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}

/* hub extras */
.hubhead{display:flex; align-items:center; justify-content:space-between; gap:14px; margin:30px 0 6px; flex-wrap:wrap;}
.hubhead h1{font-size:clamp(24px,3vw,32px); font-weight:900; letter-spacing:-.02em;}
.hubhead p{color:var(--muted); font-size:14px; margin-top:4px;}
.togglerow{appearance:none; display:flex; align-items:center; gap:10px; border:0; background:none; padding:0; font:inherit; font-size:13px; font-weight:600; color:var(--muted); cursor:pointer; user-select:none;}
.tswitch{position:relative; width:40px; height:22px; border-radius:999px; background:#d5dcd4; transition:background .15s; flex:none;}
.tswitch::after{content:''; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.25); transition:left .15s;}
.togglerow.on .tswitch{background:var(--accent2);}
.togglerow.on .tswitch::after{left:20px;}
.emptyfavs{background:var(--card2); border:1px dashed var(--line); border-radius:14px; padding:22px; color:var(--muted); font-size:14px; text-align:center; line-height:1.6;}

/* member banner (hub, when signed out / not a member) */
.joinbar{margin:20px 0 4px; border-radius:16px; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line)); overflow:hidden;
     background:linear-gradient(90deg, var(--accent-soft), #fff); padding:18px 22px;
     display:flex; align-items:center; gap:16px; flex-wrap:wrap; box-shadow:var(--shadow);}
.joinbar .jtxt{flex:1; min-width:220px;}
.joinbar b{font-size:15.5px;}
.joinbar p{color:var(--muted); font-size:13.5px; margin-top:3px;}

footer{color:var(--muted); font-size:13px; border-top:1px solid var(--line); margin-top:52px; background:var(--card);}
footer .wrap{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px 20px; flex-wrap:wrap;}
footer .fl{display:flex; align-items:center; gap:9px;}
footer .fl svg{width:15px; height:15px; color:var(--accent2);}
footer b{color:var(--ink);}
footer .fr{display:flex; gap:18px; flex-wrap:wrap;}
footer .fr a:hover{color:var(--accent);}

/* responsive */
@media (max-width:720px){
  .nav .wrap{gap:10px 12px;}
  .search{order:9; flex:1 1 100%; max-width:none;}
  .navlinks{display:grid;}
  .hero .hcopy{padding:34px 24px;}
  .member-shell{grid-template-columns:1fr; gap:14px;}
  .msidebar{position:static;}
  .mnav{flex-direction:row; overflow-x:auto; gap:6px; -webkit-overflow-scrolling:touch;}
  .mnav button{white-space:nowrap; padding:9px 12px;}
  .mside-foot{flex-direction:row; align-items:center;}
  .planrow{grid-template-columns:1fr;}
}
@media (max-width:480px){
  .wrap{padding:0 14px;}
  .brand{font-size:17px;}
  .brand .logo{width:30px; height:30px;}
  .navbtns{gap:8px; flex:0 1 auto; min-width:0;}
  .btn{padding:10px 14px; font-size:13px;}
  .acctchip{padding:4px;}
  .acctchip .an{display:none;}
  .hero h1{font-size:30px;}
  .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px;}
  .authcard{padding:24px 20px;}
  footer .wrap{flex-direction:column; align-items:flex-start;}
}

/* ═══════ redesign: journey bar, carousel, nav, reveals ═══════ */

/* Mobile public navigation wraps into two rows and never scrolls sideways. */
@media (max-width:720px){
  .nav .wrap{padding-top:7px;padding-bottom:7px;}
  .navlinks{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));order:8;flex:1 1 100%;width:100%;margin-left:0;gap:3px;overflow:visible;padding:0;}
  .navlinks a{min-width:0;white-space:nowrap;font-size:11.5px;padding:7px 5px;text-align:center;overflow:hidden;text-overflow:ellipsis;}
  .navlinks a.workspace-link{box-shadow:none;}
  .ll-nav-account{min-width:0;width:100%;justify-content:stretch}.ll-nav-signin,.ll-nav-account-button{width:100%;min-width:0;font-size:11.5px;padding:7px 5px}.ll-nav-account-button>span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.ll-nav-account-menu{right:0}
}

/* the global journey strip */
.jz{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:18px 22px 14px; box-shadow:var(--shadow); margin:18px 0;}
.jz.compact{padding:12px 16px;margin:10px 0}.jz.compact .jz-top{margin-bottom:8px}.jz.compact .jz-track{height:10px}.jz.compact .jz-mile{width:22px;height:22px;font-size:10px}
.jz-top{display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:12px;}
.jz-top > b{font-size:15px; font-weight:800;}
.jz-nums{color:var(--muted); font-size:13.5px; font-weight:600;}
.jz-nums b{color:var(--ink); font-size:16px;}
.jz-track{position:relative; height:16px; border-radius:999px; background:var(--bg2); border:1px solid var(--line); margin:0 8px;}
.jz-fill{height:100%; border-radius:999px; background:var(--grad2); min-width:6px;}
.jz-mile{position:absolute; top:50%; transform:translate(-50%,-50%); width:28px; height:28px; border-radius:50%;
  background:#fff; border:2px solid var(--line); display:grid; place-items:center; font-size:13px; cursor:default;
  filter:grayscale(1); opacity:.75; transition:filter .3s, opacity .3s, border-color .3s;}
.jz-mile.hit{filter:none; opacity:1; border-color:var(--accent2); box-shadow:0 2px 8px rgba(14,143,106,.3);}
.jz-miles{display:flex; gap:8px 16px; flex-wrap:wrap; margin-top:12px;}
.jz-m{font-size:12px; font-weight:600; color:var(--muted2);}
.jz-m i{font-style:normal; color:var(--muted2); font-weight:500;}
.jz-m.hit{color:var(--accent2); font-weight:700;}
.jz-rule{margin-top:10px;color:var(--muted);font-size:11.5px;font-weight:650;}
.jz-note{margin-top:10px; font-size:12.5px; color:var(--accent2); font-weight:600; background:var(--accent2-soft); border-radius:9px; padding:8px 12px; display:inline-block;}
/* mobile: drop the milestone label list — the icons on the bar already tell the story,
   and this keeps the journey card short so the page fits on one screen */
@media (max-width:720px){
  .jz{padding:14px 16px 12px;}
  .jz-miles{display:none;}
  .jz-mile{width:24px; height:24px; font-size:11px;}
  .jz-nums{font-size:12.5px;}
  .jz-nums b{font-size:14px;}
}

/* the home carousel */
.caro{position:relative; margin:26px 0 10px; border-radius:24px; border:1px solid var(--line); background:var(--card);
  box-shadow:var(--shadow-lg); overflow:hidden;}
.caro-track{display:flex; transition:transform .55s cubic-bezier(.2,.7,.2,1);}
.caro-slide{flex:0 0 100%; min-height:440px; padding:46px 52px 66px; display:flex; flex-direction:column; justify-content:center;}
.caro-slide .ktag{display:inline-flex; width:max-content; margin-bottom:14px; font-size:11.5px; font-weight:800; text-transform:uppercase;
  letter-spacing:.08em; color:var(--accent2); background:var(--accent2-soft); border:1px solid rgba(14,143,106,.25); padding:5px 12px; border-radius:999px;}
.caro-slide h2{font-size:clamp(26px,3.6vw,42px); font-weight:900; letter-spacing:-.03em; line-height:1.08;}
.caro-slide h2 em{font-style:normal; color:var(--accent);}
.caro-slide p.lead{color:var(--muted); font-size:15.5px; line-height:1.7; margin-top:14px; max-width:60ch;}
.caro-btns{display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; align-items:center;}
.caro-sub{margin-top:14px; font-size:12.5px;}
.caro-sub a{color:var(--muted); text-decoration:underline;}
.caro-sub a:hover{color:var(--accent);}
.caro-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:center;}
@media (max-width:860px){ .caro-grid{grid-template-columns:1fr;} .caro-slide{padding:32px 26px 66px;} }
.caro-nav{position:absolute; bottom:16px; left:52px; right:52px; display:flex; align-items:center; gap:14px;}
@media (max-width:860px){ .caro-nav{left:26px; right:26px;} }
.caro-dots{display:flex; gap:7px;}
.caro-dot{width:9px; height:9px; border-radius:50%; background:var(--line); border:0; padding:0; cursor:pointer; transition:background .2s, width .2s;}
.caro-dot.on{background:var(--accent); width:24px; border-radius:999px;}
.caro-arrows{display:flex; gap:6px; margin-left:auto;}
.caro-arrow{width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer;
  font-size:15px; color:var(--muted); display:grid; place-items:center;}
.caro-arrow:hover{border-color:var(--accent); color:var(--accent);}
.caro-next{display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--muted2);}
.caro-ring{width:20px; height:20px; border-radius:50%; background:conic-gradient(var(--accent) calc(var(--p,0)*1%), var(--bg2) 0); display:grid; place-items:center;}
.caro-ring::after{content:''; width:12px; height:12px; border-radius:50%; background:var(--card);}

/* London ↔ Philippines mini-map (SVG lives in the page; these are shared bits) */
.route-stats{display:flex; gap:8px 18px; flex-wrap:wrap; margin-top:14px; font-size:12.5px; color:var(--muted); font-weight:600;}
.route-stats b{color:var(--ink);}

/* clear value cards on Home */
.clearcards{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin:18px 0;}
.ccard{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow);
  transition:transform .18s, box-shadow .18s;}
.ccard:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg);}
.ccard .ic{font-size:24px; margin-bottom:10px; display:block;}
.ccard b{font-size:15px; display:block; margin-bottom:6px; letter-spacing:-.01em;}
.ccard p{color:var(--muted); font-size:13px; line-height:1.6;}

/* Optional personal-support route, kept visually distinct from membership. */
.direct-support{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px auto;padding:22px 24px;border:1px solid color-mix(in srgb,var(--accent2) 35%,var(--line));border-radius:17px;background:radial-gradient(circle at 92% 12%,var(--accent2-soft),transparent 48%),var(--card);box-shadow:var(--shadow)}
.direct-support>div{max-width:650px}.direct-support small{display:block;margin-bottom:5px;color:var(--accent2);font-size:10.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.direct-support h2{font-size:20px;letter-spacing:-.02em}.direct-support p{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.6}.direct-support .btn{flex:none}
@media(max-width:680px){.direct-support{align-items:stretch;flex-direction:column;padding:19px}.direct-support .btn{width:100%;justify-content:center}}

/* reveal-on-scroll */
.rv{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.rv.on{opacity:1; transform:none;}

/* mini animated tool demos (carousel card 3) */
.demo{background:var(--bg2); border:1px solid var(--line); border-radius:14px; padding:16px; overflow:hidden;}
.demo .drow{background:#fff; border:1px solid var(--line); border-radius:9px; padding:8px 12px; font-size:12px; font-weight:600;
  display:flex; justify-content:space-between; margin-bottom:7px; opacity:0; animation:demorow .5s forwards;}
.demo .drow:nth-child(2){animation-delay:.4s} .demo .drow:nth-child(3){animation-delay:.8s} .demo .drow:nth-child(4){animation-delay:1.2s}
.demo .drow b{color:var(--accent);}
@keyframes demorow{to{opacity:1}}

/* Keyboard and motion preferences shared by every public page. */
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb,#176bcb 70%,transparent);
  outline-offset:3px;
}
.admin-stats{grid-template-columns:repeat(4,1fr)}
.admin-support-message{border:1px solid var(--line);border-radius:12px;background:var(--bg2);padding:13px}.admin-support-message>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.admin-support-message small{color:var(--muted);font-size:10px}.admin-support-message select{height:32px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:12px inherit}.admin-support-message>p{margin:12px 0;white-space:pre-wrap;font-size:12px;line-height:1.55}.admin-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-reply textarea{min-height:66px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);padding:9px 10px;font:12px/1.5 inherit;resize:vertical}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1!important;transform:none!important}
}
@media(max-width:720px){
  .admin-stats{grid-template-columns:1fr 1fr}.admin-member{grid-template-columns:1fr}.admin-member-actions{justify-content:flex-start}.admin-audit-row{grid-template-columns:1fr}.admin-console-head{align-items:stretch;flex-direction:column}.admin-console-head .sbtn{align-self:flex-start}.admin-support-message>div:first-child,.admin-reply{grid-template-columns:1fr}.admin-reply .btn{justify-content:center}
}

/* Shared LaunchLemur brand mark. Existing inline SVGs and text fallbacks stay
   in the markup for compatibility, while the supplied rounded icon is shown. */
.logo{
  overflow:hidden;
  background:transparent url("/img/launchlemur-icon-rounded.png?v=3") center/cover no-repeat!important;
  color:transparent!important;
  font-size:0!important;
}
.logo>svg{display:none!important}

/* Keep the image authoritative over the legacy public-shell gradient below. */
html body .brand .logo{
  background:transparent url("/img/launchlemur-icon-rounded.png?v=3") center/cover no-repeat!important;
}
/* Trust and legal pages */
.ll-site-footer{margin-top:42px;border-top:1px solid var(--line);background:var(--card);padding:28px 0 34px}.ll-footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.ll-footer-grid section{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:12px;line-height:1.45}.ll-footer-grid b{font-size:13px;color:var(--ink);margin-bottom:3px}.ll-footer-grid a{color:var(--muted);text-decoration:none}.ll-footer-grid a:hover,.ll-footer-grid a:focus{color:var(--accent);text-decoration:underline}.ll-footer-grid p{color:var(--muted);margin:0}.legal-page{max-width:980px;padding:26px 0 20px}.legal-hero{max-width:760px;margin:20px 0 28px}.legal-hero h1{font-size:clamp(31px,5vw,52px);letter-spacing:-.045em;line-height:1.05;margin:8px 0 14px}.legal-hero p{max-width:720px;color:var(--muted);font-size:15px;line-height:1.7;margin:6px 0}.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.legal-grid .mcard,.legal-copy .mcard{line-height:1.7;font-size:14px}.legal-grid h2,.legal-copy h2{font-size:19px;line-height:1.25;margin:0 0 10px}.legal-grid h3,.legal-copy h3{font-size:15px;margin:20px 0 5px}.legal-grid p,.legal-copy p{margin:0 0 12px}.legal-grid ul,.legal-copy ul{margin:0 0 14px;padding-left:20px}.legal-grid li,.legal-copy li{margin:4px 0}.legal-grid a,.legal-copy a{color:var(--accent);font-weight:700}.legal-index{margin-top:14px}.legal-faq{padding:24px}.legal-faq>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.legal-faq>header h2{margin:5px 0 0;font-size:clamp(23px,3vw,32px);letter-spacing:-.025em}.legal-faq-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.legal-faq-list article{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--card2);padding:15px}.legal-faq-list h3{font-size:14px;line-height:1.35;margin:0 0 8px}.legal-faq-list p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.legal-meta{color:var(--muted2);font-size:12px;margin:18px 0}.legal-contents{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.legal-contents a{border:1px solid var(--line);border-radius:999px;background:var(--card2);padding:7px 10px;font-size:12px}.legal-callout{border-left:4px solid var(--accent);border-radius:0 12px 12px 0;background:var(--accent-soft);padding:13px 15px;margin:0 0 18px}.legal-copy table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.legal-copy th,.legal-copy td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:9px;background:var(--card2)}.legal-copy th{background:var(--accent-soft);color:var(--ink)}
@media(max-width:700px){.ll-footer-grid,.legal-grid,.legal-faq-list{grid-template-columns:1fr}.legal-page{padding-left:14px;padding-right:14px}.legal-faq{padding:18px}.legal-faq>header{display:block}.legal-contents{display:grid;grid-template-columns:1fr 1fr}.legal-contents a{font-size:11px}.legal-copy{overflow-wrap:anywhere}.legal-copy table{display:block;overflow-x:auto;white-space:nowrap}}

/* The public shell uses the same fixed brand and control language as Workspace. */
.brand .logo{background:linear-gradient(135deg,#756dff,#5c54f5)!important;box-shadow:0 6px 18px rgba(99,91,255,.24)!important}.brand .logo::before,.brand .logo::after{content:none!important}.nav{background:color-mix(in srgb,var(--card) 94%,transparent);border-color:var(--line);backdrop-filter:blur(14px)}.navlinks a{min-height:38px;display:flex;align-items:center;border:1px solid transparent;border-radius:9px;padding:8px 12px;color:var(--muted)}.navlinks a:hover{border-color:var(--line);background:var(--card2);color:var(--ink)}.navlinks a.on,.navlinks a[aria-current=page]{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 15%,var(--card));color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}.navlinks a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:2px}.mk-carousel,.mk-section,.mk-panel,.mcard,.legal-copy .mcard,.legal-grid .mcard{border-color:var(--line);background:var(--card);box-shadow:var(--shadow)}.mk-panel,.feature-list li,.include-list li,.how-grid article,.secondary-stack section{border-color:var(--line);background:var(--card2)}.btn{border-radius:9px;background:var(--grad);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 22%,transparent)}.btn.ghost{border-color:var(--line);background:var(--card2);color:var(--ink)}
.ll-site-footer{min-height:0!important;padding:5px 0 6px!important}.ll-site-footer .ll-footer-grid{gap:14px;padding:4px 20px!important}.ll-site-footer .ll-footer-grid section{gap:2px!important;font-size:8px!important;line-height:1.2!important}.ll-site-footer .ll-footer-grid b{margin:0 0 1px!important;font-size:9px!important}.ll-site-footer .ll-footer-grid p{font-size:7px!important;line-height:1.2!important}

/* Public pages use the same dark rails and lighter content surfaces as Workspace. */
.nav,.ll-site-footer{background:var(--bg)!important;border-color:var(--line)!important;backdrop-filter:none!important}.navlinks a:hover{background:var(--card2)}.navlinks a.on,.navlinks a[aria-current=page]{background:color-mix(in srgb,var(--accent) 13%,var(--card2))}.acctchip{background:var(--card2)}

/* Public site shell: one clear responsive header and readable footer. */
.ll-nav-menu-button{display:none;appearance:none;border:1px solid var(--line);border-radius:11px;background:var(--card2);color:var(--ink);cursor:pointer}
.ll-nav-menu-button span{display:block;width:18px;height:2px;border-radius:99px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.nav.is-menu-open .ll-nav-menu-button span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.is-menu-open .ll-nav-menu-button span:nth-child(2){opacity:0}
.nav.is-menu-open .ll-nav-menu-button span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.ll-site-footer{min-height:0!important;padding:26px 0 30px!important}
.ll-site-footer .ll-footer-grid{gap:22px!important;padding:0 20px!important}
.ll-site-footer .ll-footer-grid section{gap:7px!important;font-size:12px!important;line-height:1.5!important}
.ll-site-footer .ll-footer-grid b{margin:0 0 3px!important;font-size:13px!important}
.ll-site-footer .ll-footer-grid p{font-size:11px!important;line-height:1.5!important}

@media(max-width:720px){
  .nav{overflow:visible}
  body.lm-air .nav.has-mobile-menu,.nav.has-mobile-menu{z-index:1000!important}
  .nav .wrap{position:relative;min-height:64px;padding:9px 14px!important;flex-wrap:nowrap!important;gap:10px!important}
  .brand{font-size:18px}.brand .logo{width:36px;height:36px}.brand .nm{display:inline!important}
  .ll-nav-menu-button{display:grid;width:44px;height:44px;margin-left:auto;flex:none;place-content:center;gap:4px}
  .nav.has-mobile-menu .navlinks{position:absolute;top:calc(100% + 8px);right:10px;left:10px;z-index:80;display:none!important;width:auto!important;margin:0!important;padding:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow-lg)}
  .nav.has-mobile-menu.is-menu-open .navlinks{display:grid!important}
  .nav.has-mobile-menu .navlinks a,.nav.has-mobile-menu .ll-nav-signin,.nav.has-mobile-menu .ll-nav-account-button{min-height:44px!important;width:100%;justify-content:center;padding:9px 10px!important;border:1px solid var(--line);border-radius:10px;font-size:12px!important;text-align:center;overflow:visible;text-overflow:clip}
  .nav.has-mobile-menu .navlinks>.ll-nav-signin,.nav.has-mobile-menu .navlinks>.ll-nav-account{grid-column:1/-1}
  .nav.has-mobile-menu .ll-nav-account-menu{top:calc(100% + 7px);right:0;left:0;width:100%}
  .ll-site-footer{margin-top:34px!important;padding:24px 0 28px!important}
  .ll-site-footer .ll-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 18px!important;padding:0 16px!important}
  .ll-site-footer .ll-footer-grid section{font-size:11.5px!important;line-height:1.5!important}
  .ll-site-footer .ll-footer-grid b{font-size:12.5px!important}
  .ll-site-footer .ll-footer-grid p{font-size:11px!important}
  .ll-site-footer .ll-footer-grid section:last-child{grid-column:1/-1}
  .mcard{padding:18px 16px}
}

@media(max-width:360px){
  .brand{font-size:17px}.brand .logo{width:34px;height:34px}
  .ll-site-footer .ll-footer-grid{grid-template-columns:1fr!important}
  .ll-site-footer .ll-footer-grid section:last-child{grid-column:auto}
}

/* slim site footer (replaces the old four-column grid) */
.ll-footer-slim{display:flex;flex-wrap:wrap;align-items:center;gap:5px 18px;font-size:11.5px;line-height:1.5}
.ll-footer-brand{font-weight:800;color:var(--ink)}
.ll-footer-links{display:flex;flex-wrap:wrap;gap:3px 13px;flex:1}
.ll-footer-biz{flex-basis:100%;font-size:10.5px;color:var(--muted2)}
.ll-site-footer:has(.ll-footer-slim){padding:16px 0 18px}
