:root{
  --primary:#5b5bf0;--primary-dark:#4338ca;--primary-soft:#eef0fe;
  --accent:#f59e0b;--accent-soft:#fef3c7;
  --pink:#ec4899;--green:#10b981;--rose:#fb7185;
  --bg:#ffffff;--bg-soft:#f6f7fb;--bg-elev:#ffffff;
  --text:#0f1729;--text-dim:#5b6478;--text-faint:#9aa3b2;
  --border:#e7e9f0;--border-strong:#d4d8e4;
  --shadow-sm:0 1px 2px rgba(15,23,41,.04),0 1px 3px rgba(15,23,41,.06);
  --shadow-md:0 6px 16px rgba(15,23,41,.06),0 2px 6px rgba(15,23,41,.04);
  --shadow-lg:0 24px 48px -12px rgba(91,91,240,.18),0 8px 24px rgba(15,23,41,.06);
  --radius:14px;--radius-lg:20px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Noto Sans TC','Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}

/* LANG BAR */
.lang-bar{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:flex-end;align-items:center;padding:6px 24px;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.lang-btn{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:5px 14px;border-radius:100px;border:1px solid var(--border-strong);color:var(--text-dim);cursor:pointer;background:transparent;transition:all .2s;margin-left:6px;}
.lang-btn:hover{color:var(--primary);border-color:var(--primary);}
.lang-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);}

/* NAVBAR — pearl glass, gold hairline */
nav#navbar{position:fixed;top:34px;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px;background:rgba(252,252,248,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,179,87,.4);}
.nav-logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.04em;color:var(--text);}
.nav-logo img{height:38px;width:auto;}
.nav-logo .nav-brand-text{font-size:1rem;}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-links a{font-size:.86rem;font-weight:600;letter-spacing:.02em;color:#366466;transition:color .18s ease;}
.nav-links a:hover{color:#B9871E;}
.nav-links .nav-login{font-weight:700;color:#173638;}
.nav-login{transition:color .18s ease;} .nav-login:hover{color:#B9871E;}
.nav-cta{background:#FCFCF8;color:#173F40!important;padding:9px 20px;border:1px solid #B9871E;border-radius:4px;font-weight:700;transition:background .18s ease,border-color .18s ease!important;box-shadow:none;}
.nav-cta:hover{background:#F7EDD4;border-color:#B9871E;}
/* lang selector — pearl white, pale gold outline, teal labels, gold active segment */
.lang-select{display:inline-flex;align-items:stretch;background:rgba(252,252,248,.9);border:1px solid #D8B357;border-radius:5px;overflow:hidden;}
.lang-seg{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;font-family:'Manrope','Inter',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.04em;color:#366466;background:transparent;border:none;cursor:pointer;transition:color .18s ease,background .18s ease;}
.lang-seg:hover{color:#173638;background:#F7EDD4;}
.lang-seg.active{color:#173F40;background:linear-gradient(120deg,#D8B357,#B9871E);}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.nav-hamburger span{display:block;width:24px;height:2px;background:#173638;border-radius:2px;transition:all .3s;}
/* home: transparent over hero → 88% pearl glass + gold hairline on scroll */
body.page-home nav#navbar{top:0;height:76px;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;}
body.page-home nav#navbar.scrolled{background:rgba(252,252,248,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,179,87,.55);}
/* mobile menu — pearl editorial sheet */
.mobile-menu{display:none;position:fixed;top:98px;left:0;right:0;bottom:0;background:rgba(252,252,248,.98);backdrop-filter:blur(16px);padding:26px 24px 34px;border-top:1px solid rgba(216,179,87,.55);z-index:99;flex-direction:column;gap:6px;overflow-y:auto;}
body.page-home .mobile-menu{top:76px;}
.mobile-menu a{font-size:1rem;color:#173638;padding:12px 0;border-bottom:1px solid #DDE4E2;}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu.open{display:flex;}
.mm-lang{align-self:flex-start;}
.mm-label{font-family:'IBM Plex Mono',monospace;font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#B9871E;margin:18px 0 4px;}
.mm-primary a{font-family:'DM Serif Display','Noto Serif TC',serif;font-size:1.4rem;font-weight:500;color:#173638;border-bottom:1px solid #DDE4E2;padding:14px 0;}
.mm-secondary a{font-size:.92rem;color:#366466;border-bottom:none;padding:9px 0;}
.mm-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:18px;}
.mm-foot .mm-login{border-bottom:none;padding:10px 0;font-weight:700;color:#173638;}
.mm-cta{display:flex;align-items:center;justify-content:center;min-height:48px;background:#FCFCF8;border:1px solid #B9871E;border-radius:4px;font-weight:700;color:#173F40;border-bottom:none!important;padding:10px 0;}

/* HERO */
#hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:120px 24px 80px;}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(ellipse 90% 70% at 50% 26%,rgba(99,102,241,.16),transparent 70%),
  radial-gradient(ellipse 80% 50% at 50% -10%,rgba(91,91,240,.22),transparent 60%),
  radial-gradient(ellipse 60% 40% at 90% 18%,rgba(236,72,153,.14),transparent 60%),
  radial-gradient(ellipse 60% 40% at 10% 82%,rgba(245,158,11,.14),transparent 60%);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);opacity:.5;}
.hero-content{position:relative;z-index:2;text-align:center;max-width:880px;}

/* DATA STREAM — glowing particles falling across the hero */
.data-stream{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}
.ds-particle{position:absolute;top:-12px;width:5px;height:5px;border-radius:50%;opacity:0;animation-name:ds-fall;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity;}
.ds-particle:nth-child(3n){width:3px;height:3px;}
.ds-particle:nth-child(5n){width:7px;height:7px;}
@keyframes ds-fall{0%{transform:translateY(0);opacity:0;}8%{opacity:.85;}92%{opacity:.85;}100%{transform:translateY(110vh);opacity:0;}}

/* HERO LOGO CENTERPIECE — 3D flowing, floating, glowing medallion */
.hero-logo-wrap{display:flex;justify-content:center;align-items:center;perspective:1100px;margin-bottom:22px;}
.hero-logo-tilt{position:relative;width:clamp(180px,31vw,322px);aspect-ratio:1;display:grid;place-items:center;transform-style:preserve-3d;animation:hero-tilt 11s ease-in-out infinite;}
.hero-logo{width:100%;height:100%;object-fit:contain;display:block;transform-style:preserve-3d;animation:hero-float 7s ease-in-out infinite;}
@keyframes hero-tilt{0%,100%{transform:rotateY(-18deg) rotateX(8deg);}50%{transform:rotateY(18deg) rotateX(-6deg);}}
@keyframes hero-float{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-18px) scale(1.04);}}
@media(max-width:560px){.hero-logo-wrap{margin-bottom:16px;}}
@media (prefers-reduced-motion:reduce){.hero-logo-tilt,.hero-logo,.ds-particle{animation:none!important;}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:100px;background:var(--bg-elev);border:1px solid var(--border-strong);font-size:.8rem;font-weight:600;color:var(--text-dim);margin-bottom:28px;box-shadow:var(--shadow-sm);}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(16,185,129,.18);}
.hero-h1{font-weight:900;font-size:clamp(2.6rem,7vw,5rem);line-height:1.05;letter-spacing:-.02em;margin-bottom:20px;}
.hero-h1 .line1{display:block;color:var(--text);}
.hero-h1 .line2{display:block;background:linear-gradient(120deg,var(--primary),var(--pink) 60%,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero-sub{font-size:1.2rem;color:var(--text-dim);margin-bottom:6px;font-weight:500;}
.hero-tagline{font-family:'Space Grotesk',sans-serif;font-size:.95rem;letter-spacing:.04em;color:var(--primary);margin-bottom:36px;font-weight:600;}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:56px;}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-weight:600;font-size:.95rem;padding:14px 30px;border-radius:12px;transition:all .2s;box-shadow:0 8px 20px rgba(91,91,240,.28);}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 12px 28px rgba(91,91,240,.36);}
.btn-lg{font-size:1.05rem;padding:17px 38px;}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);color:var(--text);background:var(--bg-elev);font-weight:600;font-size:.95rem;padding:14px 30px;border-radius:12px;transition:all .2s;}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);}
.hero-stats{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 24px;box-shadow:var(--shadow-sm);max-width:560px;margin:0 auto;}
.hero-stat{flex:1;min-width:120px;text-align:center;padding:4px 8px;}
.hero-divider{width:1px;align-self:stretch;background:var(--border);}
.hero-stat-val{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.7rem;color:var(--text);letter-spacing:-.02em;}
.hero-stat-val span{font-size:1rem;color:var(--text-dim);font-weight:600;margin-left:2px;}
.hero-stat-label{font-size:.78rem;color:var(--text-faint);margin-top:2px;}
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-family:'Space Grotesk',sans-serif;font-size:.7rem;letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase;animation:bounce 2s infinite;}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}

/* SECTIONS */
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;}
section{padding:100px 0;position:relative;}
section.soft{background:var(--bg-soft);}
#page{padding-top:160px;min-height:80vh;}
.section-label{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;color:var(--primary);text-transform:uppercase;margin-bottom:12px;}
.section-title{font-weight:800;font-size:clamp(1.9rem,4vw,2.9rem);color:var(--text);letter-spacing:-.02em;margin-bottom:14px;}
.section-sub{font-size:1.05rem;color:var(--text-dim);max-width:620px;line-height:1.7;margin:0 auto;}
.text-center{text-align:center;}

/* FEATURES */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px;}
.feature-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:all .25s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary);}
.feature-card.big{grid-column:span 2;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;}
.feature-card.big:hover{border-color:transparent;}
.feature-card.big .feature-tag,.feature-card.big h3,.feature-card.big p{color:#fff;}
.feature-card.big .feature-emoji{background:rgba(255,255,255,.18);}
.feature-card.accent{background:linear-gradient(135deg,#fff,var(--accent-soft));border-color:rgba(245,158,11,.25);}
.feature-card.accent:hover{border-color:var(--accent);}
.span-2{grid-column:span 2;}
.feature-emoji{width:48px;height:48px;border-radius:12px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px;}
.feature-tag{font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--primary);text-transform:uppercase;margin-bottom:6px;}
.feature-card h3{font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:8px;}
.feature-card p{font-size:.92rem;color:var(--text-dim);line-height:1.65;}

/* HOW IT WORKS */
.steps{display:flex;align-items:stretch;justify-content:center;gap:8px;margin-top:56px;flex-wrap:wrap;}
.step{flex:1;min-width:200px;max-width:240px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;text-align:center;position:relative;box-shadow:var(--shadow-sm);transition:all .25s;}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.step-num{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:700;color:var(--primary);letter-spacing:.1em;margin-bottom:12px;}
.step-icon{font-size:2.2rem;margin-bottom:12px;}
.step h3{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:8px;}
.step p{font-size:.88rem;color:var(--text-dim);line-height:1.6;}
.step-line{align-self:center;width:28px;height:2px;background:linear-gradient(90deg,var(--primary),var(--border));border-radius:2px;}

/* KNOWLEDGE */
.kb-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;}
.kb-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm);transition:all .25s;display:flex;flex-direction:column;}
.kb-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.kb-card.rag{border-top:4px solid var(--primary);}
.kb-card.wiki{border-top:4px solid var(--pink);}
.kb-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.kb-emoji{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:var(--primary-soft);}
.kb-card.wiki .kb-emoji{background:#fce7f3;}
.kb-kind{font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;color:var(--primary);text-transform:uppercase;}
.kb-card.wiki .kb-kind{color:var(--pink);}
.kb-card h3{font-size:1.3rem;font-weight:700;color:var(--text);margin-top:2px;}
.kb-desc{font-size:.95rem;color:var(--text-dim);line-height:1.65;margin-bottom:18px;}
.kb-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.kb-list li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--text);}
.tick{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(16,185,129,.15);color:var(--green);font-size:.7rem;font-weight:700;flex-shrink:0;margin-top:1px;}
.kb-viz{margin-top:auto;border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:center;min-height:96px;position:relative;overflow:hidden;}
.rag-viz{background:var(--primary-soft);flex-wrap:wrap;gap:6px;}
.chunk{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:6px;background:#fff;color:var(--text-dim);border:1px solid var(--border);}
.chunk.q{background:var(--primary);color:#fff;border-color:var(--primary);}
.chunk.match{background:var(--accent-soft);color:#92400e;border-color:rgba(245,158,11,.3);}
.wiki-viz{background:#fdf2f8;}
.wiki-viz .node{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--pink);}
.wiki-viz .n1{top:14px;left:33px;background:var(--primary);}
.wiki-viz .n2{top:24px;right:33px;background:var(--pink);}
.wiki-viz .n3{bottom:14px;left:46%;}
.wiki-viz .n4{bottom:8px;right:24px;background:var(--accent);}
.wiki-edges{position:absolute;inset:0;width:100%;height:100%;}
.wiki-edges line{stroke:rgba(236,72,153,.35);stroke-width:1.5;}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:56px;}
.stat-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;box-shadow:var(--shadow-sm);transition:all .25s;}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.stat-val{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:2.1rem;letter-spacing:-.02em;background:linear-gradient(120deg,var(--primary),var(--pink));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;}
.stat-label{font-size:.92rem;font-weight:600;color:var(--text-dim);}

/* CTA */
#cta{padding:80px 0 120px;}
.cta-card{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:28px;padding:64px 32px;text-align:center;box-shadow:0 30px 60px -20px rgba(91,91,240,.45);position:relative;overflow:hidden;}
.cta-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 80% 20%,rgba(255,255,255,.18),transparent 60%);}
.cta-card h2{position:relative;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;color:#fff;letter-spacing:-.02em;margin-bottom:14px;}
.cta-card p{position:relative;font-size:1.05rem;color:rgba(255,255,255,.85);max-width:520px;margin:0 auto 32px;}
.cta-card .btn-primary{background:#fff;color:var(--primary-dark);box-shadow:0 12px 30px rgba(0,0,0,.18);}
.cta-card .btn-primary:hover{background:#f1f1fa;transform:translateY(-2px);}

/* FOOTER — pearl white, gold baseline */
footer{padding:64px 0 30px;background:#FCFCF8;border-top:1px solid #D8B357;text-align:left;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr .85fr;gap:36px;align-items:start;}
.footer-brand-col .footer-logo{height:44px;width:auto;display:block;margin:0 0 14px;}
.footer-brand{font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:500;letter-spacing:.2em;color:#173638;margin-bottom:10px;}
.footer-statement{font-size:.9rem;line-height:1.7;color:#366466;max-width:250px;}
.footer-col{display:flex;flex-direction:column;gap:2px;}
.footer-col-title{font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#B9871E;margin-bottom:12px;}
.footer-col a{font-size:.86rem;color:#366466;line-height:2.05;transition:color .18s ease;}
.footer-col a:hover{color:#B9871E;}
.footer-col a[aria-current="true"]{color:#173638;font-weight:700;}
.footer-col--lang a{font-size:.84rem;}
.footer-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:18px;border-top:1px solid #DDE4E2;}
.footer-copy{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#AEBEBC;letter-spacing:.04em;}
@media(max-width:980px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;gap:26px;}}

/* AUTH PAGES */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 24px 60px;}
.auth-card{width:100%;max-width:420px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg);}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px;}
.auth-logo img{height:36px;}
.auth-logo span{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text);}
.auth-title{font-size:1.6rem;font-weight:800;text-align:center;color:var(--text);margin-top:8px;}
.auth-sub{text-align:center;color:var(--text-dim);font-size:.92rem;margin-bottom:28px;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:6px;}
.form-group input{width:100%;padding:12px 14px;border:1px solid var(--border-strong);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--bg);color:var(--text);transition:all .2s;}
.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.auth-btn{width:100%;margin-top:8px;}
.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--text-faint);font-size:.8rem;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.auth-foot{text-align:center;margin-top:20px;font-size:.9rem;color:var(--text-dim);}
.auth-foot a{color:var(--primary);font-weight:600;}

/* DASHBOARD */
#dashboard{padding-top:140px;min-height:100vh;background:var(--bg-soft);}
.dash-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:32px;}
.dash-welcome h1{font-size:1.8rem;font-weight:800;color:var(--text);}
.dash-welcome p{color:var(--text-dim);font-size:.95rem;}
.dash-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border);}
.dash-tab{padding:12px 18px;font-weight:600;font-size:.92rem;color:var(--text-dim);border-bottom:2px solid transparent;cursor:pointer;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit;}
.dash-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-soft);border-radius:12px 12px 0 0;}
.dash-panel{display:none;}
.dash-panel.active{display:block;}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.dash-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:all .2s;}
.dash-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.dash-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.dash-item-icon{width:42px;height:42px;border-radius:10px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.dash-item-title{font-weight:700;color:var(--text);font-size:1.05rem;margin-bottom:4px;}
.dash-item-meta{font-size:.82rem;color:var(--text-faint);}
.badge{display:inline-block;font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:3px 10px;border-radius:100px;text-transform:uppercase;}
.badge-rag{background:var(--primary-soft);color:var(--primary-dark);}
.badge-wiki{background:#fce7f3;color:#be185d;}
.badge-on{background:#d1fae5;color:#065f46;}
.badge-off{background:#f1f5f9;color:#475569;}
.dash-empty{text-align:center;padding:60px 20px;color:var(--text-faint);background:var(--bg-elev);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);}
.dash-empty span{font-size:2.5rem;display:block;margin-bottom:12px;}

/* CONTACT / PROSE */
.prose{max-width:760px;margin:40px auto 0;font-size:1.05rem;line-height:1.9;color:var(--text-dim);}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:48px;}
.contact-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;text-align:center;box-shadow:var(--shadow-sm);transition:all .25s;}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.contact-icon{font-size:1.8rem;margin-bottom:10px;}
.contact-label{font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--primary);text-transform:uppercase;margin:0 0 6px;}
.contact-val{font-size:1rem;color:var(--text);font-weight:600;}

/* ERROR */
.error-page{min-height:80vh;display:flex;align-items:center;}
.error-code{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:clamp(5rem,18vw,12rem);line-height:1;background:linear-gradient(135deg,var(--primary),var(--pink));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}

/* RESPONSIVE */
@media(max-width:980px){
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .feature-card.big,.span-2{grid-column:span 2;}
  .kb-grid{grid-template-columns:1fr;}
}
@media(max-width:860px){
  .nav-links{display:none;}
  .nav-hamburger{display:flex;}
  nav#navbar{padding:0 20px;}
  .feature-grid{grid-template-columns:1fr;}
  .feature-card.big,.span-2{grid-column:span 1;}
  .step-line{display:none;}
  .steps{gap:14px;}
}

/* ===== shared buttons/sm ===== */
.btn-sm{padding:11px 18px;font-size:.85rem;min-height:38px;}
.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:10px 14px;border-radius:10px;font-size:.88rem;margin-bottom:14px;text-align:center;}

/* ===== DASHBOARD ===== */
.new-agent-form{display:flex;gap:8px;}
.new-agent-form input{padding:11px 14px;border:1px solid var(--border-strong);border-radius:10px;font-size:.92rem;background:var(--bg);color:var(--text);min-width:200px;}
.new-agent-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.dp-section-title{font-weight:700;font-size:.95rem;color:var(--text);margin-bottom:12px;}
.dash-section-title{font-weight:700;font-size:1.1rem;color:var(--text);margin:8px 0 16px;}
.agent-item{cursor:pointer;}
.agent-item-cta{margin-top:12px;font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:700;color:var(--primary);}

/* ===== STUDIO ===== */
#studio{padding-top:98px;min-height:100vh;background:var(--bg-soft);}
.studio-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:66px;z-index:20;flex-wrap:wrap;}
.studio-back{font-size:.85rem;color:var(--text-dim);}
.studio-back:hover{color:var(--primary);}
.studio-agent-id{display:flex;align-items:center;gap:12px;}
.studio-agent-emoji{width:42px;height:42px;border-radius:11px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.studio-agent-name{font-weight:800;color:var(--text);font-size:1.05rem;}
.studio-agent-sub{font-size:.8rem;color:var(--text-faint);}
.studio-topbar-right{display:flex;align-items:center;gap:12px;}
.studio-xp{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.82rem;color:var(--text-dim);}
.studio-grid{display:grid;grid-template-columns:240px 1fr 360px;gap:16px;padding:16px 24px 40px;max-width:1500px;margin:0 auto;align-items:start;}
.studio-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:150px;}
.rail-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);}
.rail-title{font-weight:700;font-size:.85rem;color:var(--text);margin-bottom:12px;}
.rail-tips p{font-size:.82rem;color:var(--text-dim);line-height:1.55;}

.studio-chat{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:calc(100vh - 150px);min-height:520px;overflow:hidden;}
.chat-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);}
.chat-coach-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--pink));display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.chat-coach-name{font-weight:700;color:var(--text);}
.chat-coach-sub{font-size:.78rem;color:var(--text-faint);}
.chat-messages{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;}
.bubble{max-width:88%;padding:11px 15px;border-radius:14px;font-size:.92rem;line-height:1.55;animation:fadeUp .25s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.bubble.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px;}
.bubble.coach{align-self:flex-start;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px;}
.b-text{}
.b-actions{margin-top:8px;display:flex;flex-direction:column;gap:4px;}
.b-action{font-size:.72rem;font-family:'Space Grotesk',sans-serif;padding:3px 8px;border-radius:6px;display:inline-block;width:fit-content;}
.b-action.ok{background:#d1fae5;color:#065f46;}
.b-action.err{background:#fee2e2;color:#991b1b;}
.bubble.thinking{color:var(--text-faint);}
.dots{display:flex;gap:4px;}
.dots span{width:7px;height:7px;border-radius:50%;background:var(--text-faint);animation:blink 1.2s infinite both;}
.dots span:nth-child(2){animation-delay:.2s;}.dots span:nth-child(3){animation-delay:.4s;}
@keyframes blink{0%,80%,100%{opacity:.25;}40%{opacity:1;}}
.chat-quick{display:flex;gap:6px;padding:8px 14px;flex-wrap:wrap;border-top:1px solid var(--border);}
.quick-chip{font-size:.78rem;padding:6px 12px;border-radius:100px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text-dim);cursor:pointer;transition:all .15s;}
.quick-chip:hover{border-color:var(--primary);color:var(--primary);}
.b-options{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;}
.opt-btn{font-size:.82rem;padding:7px 13px;border-radius:100px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);cursor:pointer;transition:all .15s;font-family:inherit;text-align:left;}
.opt-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
.opt-btn:disabled{opacity:.45;cursor:default;}
.opt-btn.opt-other{border-style:dashed;color:var(--text-faint);}
.b-other{margin-top:8px;display:flex;gap:6px;align-items:center;}
.b-other input{flex:1;min-width:0;font-size:.82rem;padding:7px 13px;border-radius:100px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-family:inherit;}
.b-other input:focus{outline:none;border-color:var(--primary);}
.b-next-hint{margin-top:10px;font-size:.78rem;color:var(--text-faint);}
.b-next{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;}
.next-chip{font-size:.8rem;padding:7px 13px;border-radius:100px;border:1px solid var(--primary);background:var(--primary-soft);color:var(--primary);cursor:pointer;transition:all .15s;font-family:inherit;font-weight:600;}
.next-chip:hover{background:var(--primary);color:#fff;}
.b-next-steps{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border-strong);align-items:center;}
.b-next-lbl{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:700;white-space:nowrap;}
.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border);align-items:flex-end;background:var(--bg-elev);}
.chat-input textarea{flex:1;resize:none;border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.92rem;background:var(--bg);color:var(--text);}
.chat-input textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.chat-input.small{padding:10px;}

.studio-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);height:calc(100vh - 150px);min-height:520px;display:flex;flex-direction:column;overflow:hidden;position:sticky;top:150px;}
.panel-tabs{display:flex;border-bottom:1px solid var(--border);}
.panel-tab{flex:1;padding:12px 8px;font-size:.82rem;font-weight:600;color:var(--text-dim);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;}
.panel-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
.panel-body{display:none;flex:1;flex-direction:column;overflow:hidden;padding:14px;}
.panel-body.active{display:flex;}
.panel-sub{font-size:.85rem;color:var(--text-dim);margin-bottom:12px;line-height:1.5;}
.pg-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
.pg-bubble{max-width:90%;padding:9px 13px;border-radius:12px;font-size:.86rem;line-height:1.5;}
.pg-bubble.user{align-self:flex-end;background:var(--primary);color:#fff;}
.pg-bubble.agent{align-self:flex-start;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);}
.pg-bubble.thinking{color:var(--text-faint);}
.kb-form,.mem-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.kb-form input,.mem-form input{padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.85rem;background:var(--bg);color:var(--text);}
.kb-form textarea{padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.85rem;background:var(--bg);color:var(--text);resize:vertical;}
.kb-form input:focus,.kb-form textarea:focus,.mem-form input:focus{outline:none;border-color:var(--primary);}
.kb-status{font-size:.8rem;color:var(--text-dim);}
.doc-list-head{font-size:.78rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 8px;}
.doc-list{list-style:none;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;margin:0;padding:0;}
.doc-item{display:flex;align-items:center;gap:9px;background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:8px 10px;}
.doc-icon{font-size:1.15rem;flex-shrink:0;}
.doc-meta{flex:1;min-width:0;}
.doc-name{font-size:.83rem;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doc-sub{font-size:.72rem;color:var(--text-faint);}
.doc-status.ok{color:var(--green);font-weight:600;}
.doc-status.pending{color:var(--accent);font-weight:600;}
.doc-status.fail{color:#ef4444;font-weight:600;}
.doc-del:hover{color:#ef4444;}
.doc-actions{display:flex;gap:4px;flex-shrink:0;}
.doc-act{background:none;border:1px solid var(--border);color:var(--text-dim);font-size:.68rem;font-weight:600;padding:4px 8px;border-radius:7px;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background .12s,color .12s,border-color .12s;}
.doc-act:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent);}
.doc-act.doc-del:hover:not(:disabled){background:#ef4444;border-color:#ef4444;color:#fff;}
.doc-act:disabled{opacity:.55;cursor:default;}
.mem-form{flex-direction:row;}
.mem-form input{flex:1;}
.mem-list{list-style:none;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;}
.mem-item{display:flex;align-items:flex-start;gap:8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:.85rem;}
.mem-content{flex:1;color:var(--text);line-height:1.45;}
.mem-del{background:none;border:none;color:var(--text-faint);font-size:1.1rem;cursor:pointer;line-height:1;}
.mem-del:hover{color:#ef4444;}
.mem-empty{color:var(--text-faint);font-size:.85rem;text-align:center;padding:16px;}
.mem-scroll{overflow-y:auto;flex:1;padding-right:2px;}
.mem-section{margin-bottom:16px;}
.mem-section-title{font-size:.78rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;}
.mem-section .mem-list{max-height:none;overflow:visible;margin-top:6px;}
.mem-row{display:flex;gap:6px;}
.mem-row input{flex:1;}
.mem-section textarea{width:100%;resize:vertical;}
.mem-section input,.mem-section textarea{padding:8px 11px;border:1px solid var(--border-strong);border-radius:9px;font-family:inherit;font-size:.85rem;background:var(--bg);color:var(--text);}
.mem-section input:focus,.mem-section textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.mem-block-save{margin-top:6px;}
.mem-content[contenteditable="true"]{cursor:text;outline:none;border-radius:6px;padding:2px 4px;margin:-2px -4px;}
.mem-content[contenteditable="true"]:focus{background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-soft);}
.tone-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}
.tone-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 4px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);cursor:pointer;transition:all .15s;text-align:center;}
.tone-option:hover{border-color:var(--primary);transform:translateY(-1px);}
.tone-option.selected{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px rgba(91,91,240,.28);}
.tone-option.selected .tone-label{color:#fff;}
.tone-icon{font-size:1.2rem;line-height:1;}
.tone-label{font-size:.7rem;color:var(--text-dim);font-weight:600;line-height:1.1;}
.tone-option.selected .tone-label{font-weight:700;}
.mem-tone{margin-bottom:12px;}
.mem-tone-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;}
.mem-tone-title{font-size:.78rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;}
.mem-tone-current{font-size:.72rem;color:var(--text-faint);}
.mem-tone-current-lbl{font-weight:600;}

/* RAG sources under playground reply */
.pg-sources{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);}
.pg-sources-label{font-size:.68rem;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.pg-src{position:relative;display:flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:5px 8px;margin-bottom:4px;overflow:hidden;}
.pg-src-bar{position:absolute;left:0;top:0;bottom:0;background:var(--primary-soft);z-index:0;}
.pg-src-txt{position:relative;z-index:1;flex:1;font-size:.72rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pg-src-score{position:relative;z-index:1;font-size:.68rem;font-weight:700;color:var(--primary);font-family:'Space Grotesk',sans-serif;}

/* Wiki graph panel */
.wiki-head{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;}
.wiki-chip{font-size:.72rem;font-weight:600;background:var(--primary-soft);color:var(--primary-dark);padding:4px 10px;border-radius:100px;}
.wiki-chip.alt{background:var(--accent-soft);color:#92400e;}
.wiki-open-link{margin-left:auto;font-size:.72rem;font-weight:700;color:var(--primary);text-decoration:none;}
.wiki-open-link:hover{text-decoration:underline;}
.wiki-graph{overflow-y:auto;flex:1;}
.wiki-group{margin-bottom:12px;}
.wiki-group-title{font-size:.72rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;display:flex;align-items:center;gap:5px;}
.wiki-group-n{background:var(--border);color:var(--text);border-radius:100px;padding:0 7px;font-size:.66rem;}
.wiki-node{background:var(--bg-soft);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:8px;padding:7px 10px;margin-bottom:5px;transition:all .15s;}
.wiki-node:hover{border-color:var(--primary);transform:translateX(2px);}
.wiki-node.hot{border-left-color:var(--accent);background:linear-gradient(90deg,#fffbeb,var(--bg-soft));}
.wiki-node-title{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wiki-node-path{font-size:.68rem;color:var(--text-faint);font-family:'Space Grotesk',monospace;}

/* ===== dedicated Wiki Graph page ===== */
#wiki-page{padding-top:98px;min-height:100vh;background:var(--bg-soft);}
.wiki-wrap{display:grid;grid-template-columns:280px 1fr 340px;gap:18px;padding:18px 24px 40px;max-width:1600px;margin:0 auto;align-items:start;}
.wiki-side{position:sticky;top:120px;}
.wiki-back{font-size:.82rem;color:var(--text-dim);display:inline-block;margin-bottom:14px;}
.wiki-back:hover{color:var(--primary);}
.wiki-h1{font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:6px;}
.wiki-sub{font-size:.88rem;color:var(--text-dim);margin-bottom:18px;line-height:1.55;}
.wiki-stats{display:flex;gap:10px;margin-bottom:16px;}
.wiki-stat{flex:1;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:12px 8px;text-align:center;box-shadow:var(--shadow-sm);}
.wiki-stat-v{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.4rem;color:var(--primary);}
.wiki-stat-l{font-size:.7rem;color:var(--text-faint);margin-top:2px;}
.wiki-search{width:100%;padding:10px 14px;border:1px solid var(--border-strong);border-radius:10px;font-family:inherit;font-size:.88rem;background:var(--bg-elev);color:var(--text);margin-bottom:14px;}
.wiki-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.wiki-legend{display:flex;flex-wrap:wrap;gap:6px;}
.legend-chip{font-size:.72rem;font-weight:600;color:var(--text-dim);background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--c);border-radius:6px;padding:3px 8px;}
.legend-chip b{color:var(--text);}

.wiki-main{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:60vh;padding:20px;}
.wiki-canvas{width:100%;}
.wiki-empty{padding:60px 20px;text-align:center;color:var(--text-faint);}
.graph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.graph-col{background:var(--bg-soft);border:1px solid var(--border);border-top:3px solid var(--c);border-radius:12px;padding:12px;}
.graph-col-head{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.gch-icon{font-size:1rem;}
.gch-n{margin-left:auto;background:var(--border);color:var(--text);border-radius:100px;padding:0 8px;font-size:.68rem;}
.gnode{position:relative;display:flex;gap:8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:9px;padding:8px 10px 8px 12px;margin-bottom:6px;cursor:pointer;transition:all .15s;overflow:hidden;}
.gnode:hover{border-color:var(--c);transform:translateX(2px);}
.gnode.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft);}
.gnode-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);}
.gnode-body{flex:1;min-width:0;}
.gnode-title{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gnode-path{font-size:.66rem;color:var(--text-faint);font-family:'Space Grotesk',monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gnode-imp{height:3px;background:var(--border);border-radius:2px;margin-top:5px;overflow:hidden;}
.gnode-imp span{display:block;height:100%;background:var(--c);}
.gnode-actions{display:flex;gap:4px;margin-top:7px;}
.gnode-btn{flex:1;border:1px solid var(--border-strong);background:var(--bg);color:var(--text-dim);border-radius:6px;padding:3px 4px;font-family:inherit;font-size:.62rem;font-weight:600;cursor:pointer;white-space:nowrap;}
.gnode-btn:hover{border-color:var(--primary);color:var(--primary);}
.gnode-btn.danger:hover{border-color:#ef4444;color:#ef4444;}

.kb-section{margin-top:24px;border-top:1px dashed var(--border);padding-top:16px;}
.kb-head{font-size:.85rem;font-weight:700;color:var(--text);margin-bottom:10px;}
.kb-row{display:grid;grid-template-columns:90px 140px 1fr;gap:8px;font-size:.76rem;padding:5px 0;border-bottom:1px solid var(--border);}
.kb-cat{color:var(--primary);font-weight:600;}
.kb-key{color:var(--text-dim);font-family:'Space Grotesk',monospace;}
.kb-val{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.wiki-detail{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px;position:sticky;top:120px;min-height:40vh;}
.wiki-detail-empty{color:var(--text-faint);font-size:.85rem;text-align:center;padding:40px 10px;}
.wd-head{display:flex;gap:10px;align-items:center;margin-bottom:14px;}
.wd-icon{font-size:1.6rem;}
.wd-title{font-weight:700;color:var(--text);font-size:1rem;}
.wd-path{font-size:.72rem;color:var(--text-faint);font-family:'Space Grotesk',monospace;}
.wd-row{display:flex;justify-content:space-between;font-size:.82rem;padding:5px 0;border-bottom:1px solid var(--border);}
.wd-row span{color:var(--text-faint);}
.wd-tags{margin:10px 0;}
.tag{display:inline-block;background:var(--primary-soft);color:var(--primary-dark);font-size:.7rem;padding:2px 8px;border-radius:100px;margin:0 4px 4px 0;}
.wd-sec{font-size:.72rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px;}
.wd-summary{font-size:.84rem;color:var(--text);line-height:1.6;white-space:pre-wrap;}
.wd-src span{display:inline-block;font-size:.7rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;padding:2px 7px;margin:0 4px 4px 0;color:var(--text-dim);}
.wd-edit-btn{float:right;font-size:.72rem;font-weight:700;color:var(--primary);background:none;border:none;cursor:pointer;font-family:inherit;}
.wd-edit-btn:hover{text-decoration:underline;}
.wd-content{font-size:.86rem;color:var(--text);line-height:1.65;max-height:none;overflow:visible;}
.wd-content p{margin:0 0 8px;}
.wd-content p:last-child{margin-bottom:0;}
.wd-content ul,.wd-content ol{margin:6px 0 8px;padding-left:22px;}
.wd-content li{margin:3px 0;}
.wd-content h1,.wd-content h2,.wd-content h3,.wd-content h4{line-height:1.3;margin:12px 0 6px;font-weight:700;color:var(--text);}
.wd-content h1{font-size:1.15rem;}.wd-content h2{font-size:1.05rem;}.wd-content h3,.wd-content h4{font-size:.96rem;}
.wd-content code{background:rgba(15,23,41,.08);padding:1.5px 5px;border-radius:5px;font-family:ui-monospace,monospace;font-size:.84em;}
.wd-content pre{background:#0f1729;color:#e5e7eb;padding:11px 13px;border-radius:9px;overflow-x:auto;margin:8px 0;font-size:.78rem;}
.wd-content pre code{background:transparent;padding:0;color:inherit;}
.wd-content blockquote{border-left:3px solid var(--border-strong);margin:6px 0;padding:2px 12px;color:var(--text-dim);}
.wd-content a{color:var(--primary);text-decoration:underline;}
.wd-content table{border-collapse:collapse;margin:8px 0;font-size:.8rem;display:block;overflow-x:auto;}
.wd-content th,.wd-content td{border:1px solid var(--border-strong);padding:5px 9px;}
.wd-content th{background:var(--bg-soft);}
.wd-content .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0;}
.wd-textarea{width:100%;min-height:240px;font-family:ui-monospace,'JetBrains Mono',monospace;font-size:.8rem;padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);resize:vertical;box-sizing:border-box;}
.wd-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.wd-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;}

@media(max-width:1180px){.wiki-wrap{grid-template-columns:1fr;}.wiki-side,.wiki-detail{position:static;}}
.wiki-vgraph-btn{display:block;text-align:center;margin-bottom:8px;}
.wiki-compile-btn{display:block;width:100%;text-align:center;margin-bottom:18px;cursor:pointer;}
.wiki-overlay{position:fixed;inset:0;background:rgba(10,12,20,.55);z-index:9999;display:flex;align-items:center;justify-content:center;}
.wiki-overlay-box{display:flex;align-items:center;gap:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:22px 30px;font-size:.95rem;font-weight:600;color:var(--text);box-shadow:var(--shadow-sm);}
.wiki-overlay-spin{width:18px;height:18px;border:2.5px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:wiki-spin .8s linear infinite;}
@keyframes wiki-spin{to{transform:rotate(360deg);}}

/* ===== full-page visual Wiki Graph ===== */
#wiki-graph-page{padding-top:80px;height:100vh;display:flex;flex-direction:column;background:var(--bg-soft);}
.vg-topbar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:66px;z-index:20;}
.vg-back{font-size:.82rem;color:var(--text-dim);}
.vg-back:hover{color:var(--primary);}
.vg-title{font-weight:800;color:var(--text);font-size:1.05rem;}
.vg-topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;}
.vg-agent{background:var(--bg-soft);border:1px solid var(--border);border-radius:100px;padding:4px 12px;font-size:.76rem;font-weight:600;color:var(--text-dim);font-family:inherit;}
.vg-manage{font-size:.76rem;font-weight:600;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);border-radius:100px;padding:4px 12px;text-decoration:none;}
.vg-manage:hover{color:var(--primary);border-color:var(--primary);}
.vg-d-del{margin-left:auto;flex:none;border:1px solid var(--border);background:var(--bg-soft);color:var(--rose);border-radius:8px;padding:5px 10px;font-size:.72rem;font-weight:600;cursor:pointer;font-family:inherit;}
.vg-d-del:hover{border-color:var(--rose);}
.vg-legend{display:flex;gap:6px;flex-wrap:wrap;}
.vg-leg{font-size:.7rem;font-weight:600;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);border-radius:100px;padding:3px 10px;display:inline-flex;align-items:center;gap:5px;}
.vg-leg-dot{width:8px;height:8px;border-radius:50%;display:inline-block;}
.vg-leg b{color:var(--text);}
.vg-layout{flex:1;display:grid;grid-template-columns:1fr 380px;gap:0;min-height:0;}
.vg-canvas-wrap{position:relative;background:#0b1020;background-image:radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);background-size:24px 24px;overflow:hidden;}
.vg-canvas{position:absolute;inset:0;display:block;cursor:grab;}
.vg-hint{position:absolute;bottom:14px;left:14px;max-width:60%;font-size:.74rem;color:#cbd5e1;background:rgba(15,23,41,.7);padding:8px 11px;border-radius:8px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);}
.vg-hint-sub{display:block;font-size:.66rem;color:rgba(203,213,225,.6);margin-top:3px;}
.vg-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-faint);}
.vg-detail{background:var(--bg-elev);border-left:1px solid var(--border);overflow-y:auto;padding:18px;}
.vg-detail-empty{color:var(--text-faint);font-size:.88rem;text-align:center;padding:60px 12px;}
.vg-d-head{display:flex;gap:10px;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.vg-d-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;flex-shrink:0;}
.vg-d-title{font-weight:700;color:var(--text);font-size:.98rem;word-break:break-word;}
.vg-d-path{font-size:.7rem;color:var(--text-faint);font-family:'Space Grotesk',monospace;}
.vg-d-row{display:flex;justify-content:space-between;font-size:.82rem;padding:5px 0;border-bottom:1px solid var(--border);}
.vg-d-row span{color:var(--text-faint);}
.vg-d-sec{font-size:.72rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px;}
.vg-d-content{font-size:.84rem;color:var(--text);line-height:1.65;}
.vg-d-content p{margin:0 0 8px;}.vg-d-content p:last-child{margin-bottom:0;}
.vg-d-content pre{background:#0f1729;color:#e5e7eb;padding:10px 12px;border-radius:8px;overflow-x:auto;font-size:.78rem;margin:8px 0;}
.vg-d-content code{background:rgba(15,23,41,.08);padding:1.5px 5px;border-radius:5px;font-family:ui-monospace,monospace;font-size:.84em;}
.vg-d-content pre code{background:transparent;padding:0;}
.vg-d-content h1,.vg-d-content h2,.vg-d-content h3{font-weight:700;margin:10px 0 4px;}
.vg-d-content table{border-collapse:collapse;margin:8px 0;font-size:.8rem;}
.vg-d-content th,.vg-d-content td{border:1px solid var(--border-strong);padding:5px 9px;}
@media(max-width:980px){.vg-layout{grid-template-columns:1fr;}.vg-detail{display:none;}}

/* ===== dedicated Documents page ===== */
#docs-page{padding-top:98px;min-height:100vh;background:var(--bg-soft);}
.docs-wrap{display:grid;grid-template-columns:1fr 380px;gap:18px;padding:18px 24px 40px;max-width:1600px;margin:0 auto;align-items:start;}
.docs-head{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.docs-head-main{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;flex:1;min-width:0;}
.docs-head-side{display:flex;align-items:center;gap:16px;}
.docs-head-side .docs-filter{display:flex;align-items:center;gap:8px;}
.docs-head-side .docs-filter select{width:auto;min-width:160px;margin:0;}
.docs-back{font-size:.82rem;color:var(--text-dim);display:inline-block;white-space:nowrap;}
.docs-back:hover{color:var(--primary);}
.docs-h1{font-size:1.5rem;font-weight:800;color:var(--text);}
.docs-sub{font-size:.86rem;color:var(--text-dim);line-height:1.55;}
.docs-filter label{font-size:.74rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.docs-filter select{width:100%;margin-top:6px;margin-bottom:14px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:10px;font-family:inherit;font-size:.86rem;background:var(--bg-elev);color:var(--text);}
.docs-filter select:focus{outline:none;border-color:var(--primary);}
.docs-stat{font-size:.85rem;color:var(--text-dim);}
.docs-stat span{font-family:'Space Grotesk',sans-serif;font-weight:800;color:var(--primary);font-size:1.2rem;}

.docs-main{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;}
.docs-add{background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:12px;padding:14px;margin-bottom:18px;}
.docs-add-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.docs-add-title{font-size:.82rem;font-weight:700;color:var(--text);}
.docs-tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--border-strong);border-radius:9px;padding:3px;}
.docs-tab{border:none;background:transparent;padding:5px 12px;border-radius:6px;font-family:inherit;font-size:.78rem;font-weight:600;color:var(--text-dim);cursor:pointer;}
.docs-tab.active{background:var(--primary);color:#fff;}
.docs-add-row{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:8px;}
.docs-drop{border:1.5px dashed var(--border-strong);border-radius:10px;padding:26px 14px;text-align:center;color:var(--text-dim);font-size:.85rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color .15s,background .15s;}
.docs-drop:hover{border-color:var(--primary);background:var(--bg);}
.docs-drop.dragover{border-color:var(--primary);background:rgba(99,102,241,.08);color:var(--primary);}
.docs-drop-icon{font-size:1.5rem;}
.docs-types{font-size:.72rem;color:var(--text-faint);margin-top:8px;line-height:1.5;}
.docs-add select,.docs-add input,.docs-add textarea{padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;font-family:inherit;font-size:.85rem;background:var(--bg);color:var(--text);width:100%;box-sizing:border-box;}
.docs-add textarea{resize:vertical;margin-bottom:8px;}
.docs-add select:focus,.docs-add input:focus,.docs-add textarea:focus{outline:none;border-color:var(--primary);}

.docs-table{display:flex;flex-direction:column;}
.docs-thead{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 150px;gap:10px;align-items:center;padding:10px 8px;}
.docs-thead{font-size:.7rem;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);}
.docs-row{border-bottom:1px solid var(--border);font-size:.85rem;padding:10px 8px;display:flex;flex-direction:column;gap:6px;}
.docs-row:hover{background:var(--bg-soft);}
.docs-empty{padding:48px 20px;text-align:center;color:var(--text-faint);}
.dc-file{display:flex;align-items:center;gap:9px;min-width:0;}
.doc-icon{font-size:1.15rem;flex-shrink:0;}
.dc-name{font-weight:600;color:var(--text);word-break:break-all;line-height:1.4;}
.dc-sub{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 150px;gap:10px;align-items:center;}
.dc-meta{font-size:.7rem;color:var(--text-faint);}
.dc-agent,.dc-date{color:var(--text-dim);font-size:.82rem;}
.dc-actions{display:flex;gap:6px;justify-content:flex-end;}
.doc-preview-btn{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--text-dim);padding:0 2px;}
.doc-preview-btn:hover{color:var(--primary);}
.doc-status.ok{color:var(--green);font-weight:600;font-size:.74rem;}
.doc-status.pending{color:var(--accent);font-weight:600;font-size:.74rem;}
.doc-status.fail{color:#ef4444;font-weight:600;font-size:.74rem;}

.docs-preview{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px;position:sticky;top:120px;min-height:50vh;}
.docs-preview-empty,.docs-preview-loading{color:var(--text-faint);font-size:.85rem;text-align:center;padding:48px 10px;}
.dp-head{display:flex;gap:10px;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.dp-name{font-weight:700;color:var(--text);font-size:.95rem;word-break:break-all;}
.dp-agent{font-size:.74rem;color:var(--text-faint);}
.dp-sec{font-size:.72rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:6px 0;}
.dp-content{font-size:.84rem;color:var(--text);line-height:1.65;max-height:60vh;overflow-y:auto;}
.dp-content p{margin:0 0 8px;}.dp-content p:last-child{margin-bottom:0;}
.dp-content pre{background:#0f1729;color:#e5e7eb;padding:10px 12px;border-radius:8px;overflow-x:auto;font-size:.78rem;margin:8px 0;}
.dp-content code{background:rgba(15,23,41,.08);padding:1.5px 5px;border-radius:5px;font-family:ui-monospace,monospace;font-size:.84em;}
.dp-content pre code{background:transparent;padding:0;}
.dp-content h1,.dp-content h2,.dp-content h3{font-weight:700;margin:10px 0 4px;}
.dp-content table{border-collapse:collapse;margin:8px 0;font-size:.8rem;}
.dp-content th,.dp-content td{border:1px solid var(--border-strong);padding:5px 9px;}

@media(max-width:1180px){.docs-wrap{grid-template-columns:1fr;}.docs-preview{position:static;}}
@media(max-width:720px){.docs-thead{display:none;}.dc-sub{grid-template-columns:1fr auto;}.dc-agent,.dc-date{display:none;}}

/* ===== modal ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,41,.45);display:none;align-items:center;justify-content:center;z-index:300;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-card{background:var(--bg-elev);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:460px;box-shadow:var(--shadow-lg);}
.modal-title{font-weight:800;font-size:1.2rem;margin-bottom:18px;color:var(--text);}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;}

/* ===== markdown + latex in chat ===== */
.b-text,.pg-bubble.agent,.bubble.user{word-wrap:break-word;overflow-wrap:break-word;}
.b-text p,.pg-bubble p{margin:0 0 8px;}
.b-text p:last-child,.pg-bubble p:last-child{margin-bottom:0;}
.b-text ul,.b-text ol,.pg-bubble ul,.pg-bubble ol{margin:6px 0 8px;padding-left:22px;}
.b-text li,.pg-bubble li{margin:3px 0;}
.b-text h1,.b-text h2,.b-text h3,.b-text h4,.pg-bubble h1,.pg-bubble h2,.pg-bubble h3,.pg-bubble h4{line-height:1.3;margin:10px 0 6px;font-weight:700;}
.b-text h1,.pg-bubble h1{font-size:1.2rem;}
.b-text h2,.pg-bubble h2{font-size:1.08rem;}
.b-text h3,.b-text h4,.pg-bubble h3,.pg-bubble h4{font-size:.98rem;}
.b-text code,.pg-bubble code{background:rgba(15,23,41,.08);padding:1.5px 5px;border-radius:5px;font-family:ui-monospace,'JetBrains Mono','SFMono-Regular',monospace;font-size:.84em;}
.b-text pre,.pg-bubble pre{background:#0f1729;color:#e5e7eb;padding:12px 14px;border-radius:10px;overflow-x:auto;margin:8px 0;font-size:.8rem;line-height:1.5;}
.b-text pre code,.pg-bubble pre code{background:transparent;padding:0;color:inherit;font-size:inherit;}
.b-text blockquote,.pg-bubble blockquote{border-left:3px solid var(--border-strong);margin:6px 0;padding:2px 12px;color:var(--text-dim);}
.b-text a,.pg-bubble a{color:var(--primary);text-decoration:underline;}
.b-text table,.pg-bubble table{border-collapse:collapse;margin:8px 0;font-size:.84rem;display:block;overflow-x:auto;}
.b-text th,.b-text td,.pg-bubble th,.pg-bubble td{border:1px solid var(--border-strong);padding:5px 9px;text-align:left;}
.b-text th,.pg-bubble th{background:var(--bg-soft);}
.b-text hr,.pg-bubble hr{border:none;border-top:1px solid var(--border);margin:10px 0;}
.bubble.user code{background:rgba(255,255,255,.22);color:#fff;}
.bubble.user pre{background:rgba(0,0,0,.28);color:#f8fafc;}
.bubble.user pre code{color:inherit;}
.bubble.user a{color:#fff;}
.bubble.user blockquote{border-left-color:rgba(255,255,255,.5);color:rgba(255,255,255,.9);}
.bubble.user table th,.pg-bubble.user th{background:rgba(255,255,255,.15);}
.bubble.user th,.bubble.user td{border-color:rgba(255,255,255,.3);}
.b-text img,.pg-bubble img{max-width:100%;border-radius:8px;}
.b-text .katex,.pg-bubble .katex{font-size:1.04em;}
.b-text .katex-display,.pg-bubble .katex-display{margin:10px 0;overflow-x:auto;overflow-y:hidden;padding:2px 0;}
.bubble.user .katex{color:#fff;}

@media(max-width:1180px){
  .studio-grid{grid-template-columns:1fr 380px;}
  .studio-rail{display:none;}
}
@media(max-width:900px){
  .studio-grid{grid-template-columns:1fr;}
  .studio-chat,.studio-panel{height:auto;min-height:420px;}
  .studio-panel{position:static;}
}

.home-bg{position:fixed;inset:-5%;z-index:-1;background:url('/uploads/etsp_bg_v3_digital_marble.png') center/cover no-repeat;opacity:.7;filter:blur(7px);pointer-events:none;}

/* ===== WALLET ===== */
#wallet{padding-top:98px;min-height:100vh;background:var(--bg-soft);}
.wallet-embed{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm);margin-bottom:28px;}
.wallet-embed section{padding:0;}
.wallet-embed .wallet-balance-card{margin-bottom:20px;}
.wallet-back{display:inline-block;font-size:.85rem;color:var(--text-dim);margin-bottom:8px;}
.wallet-back:hover{color:var(--primary);}
.wallet-head{margin-bottom:18px;}
.wallet-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.7rem;font-weight:700;}
.wallet-intro{color:var(--text-dim);font-size:.92rem;max-width:640px;margin-top:6px;}
.wallet-empty-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 32px;text-align:center;box-shadow:var(--shadow-sm);max-width:520px;margin:24px auto;}
.wallet-empty-icon{font-size:3rem;margin-bottom:12px;}
.wallet-empty-card h2{font-size:1.25rem;margin-bottom:8px;}
.wallet-empty-card p{color:var(--text-dim);font-size:.92rem;margin-bottom:20px;}
.wallet-balance-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;}
.balance-tile{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);}
.balance-tile:nth-child(2n){background:linear-gradient(135deg,#0f1729,#334155);}
.balance-symbol{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85;}
.balance-amount{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:2.4rem;margin:6px 0 2px;line-height:1;}
.balance-name{font-size:.82rem;opacity:.8;}
.wallet-layout{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start;}
.wallet-section-title{font-weight:700;font-size:.95rem;margin-bottom:12px;color:var(--text);}
.wallet-list{display:flex;flex-direction:column;gap:12px;}
.wallet-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);}
.wallet-card.is-primary{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.wallet-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.wallet-card-name{font-weight:700;font-size:.95rem;}
.wallet-badge{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--primary-soft);color:var(--primary);text-transform:uppercase;letter-spacing:.04em;}
.wallet-badge.badge-done{background:var(--accent-soft);color:var(--accent);}
.wallet-card-address{font-family:'Space Grotesk',sans-serif;font-size:.74rem;color:var(--text-faint);word-break:break-all;margin-bottom:8px;}
.wallet-card-balances{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--text-dim);margin-bottom:10px;}
.wallet-card-actions{display:flex;gap:8px;flex-wrap:wrap;}
.btn-ghost{background:var(--bg-soft);border:1px solid var(--border-strong);color:var(--text-dim);cursor:pointer;border-radius:8px;}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);}
.btn-danger-ghost{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;cursor:pointer;border-radius:8px;}
.btn-danger-ghost:hover{background:#fee2e2;}
.wallet-add{background:none;border:1.5px dashed var(--border-strong);color:var(--text-dim);padding:14px;border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;}
.wallet-add:hover{border-color:var(--primary);color:var(--primary);}
.wallet-main{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);min-height:400px;}
.wallet-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:20px;flex-wrap:wrap;}
.wallet-tab{background:none;border:none;padding:10px 14px;font-size:.9rem;font-weight:600;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;}
.wallet-tab:hover{color:var(--text);}
.wallet-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
.wallet-panel{display:none;}
.wallet-panel.active{display:block;}
.wallet-panel h3{font-size:1.05rem;margin-bottom:14px;}
.wallet-mute{color:var(--text-dim);font-size:.86rem;margin-bottom:16px;}
.wallet-mute code,.receive-box code,.token-box code{font-family:'Space Grotesk',sans-serif;font-size:.8rem;background:var(--bg-soft);padding:2px 6px;border-radius:6px;word-break:break-all;}
.wallet-form{display:flex;flex-direction:column;gap:14px;max-width:440px;}
.wallet-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--text-dim);}
.wallet-form input,.wallet-form select{padding:11px 14px;border:1px solid var(--border-strong);border-radius:10px;font-size:.92rem;background:var(--bg);color:var(--text);}
.wallet-form input:focus,.wallet-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.wallet-hint{font-weight:400;color:var(--text-faint);font-size:.76rem;}
.receive-box,.token-box{display:flex;align-items:center;gap:10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;max-width:520px;}
.token-box{margin:8px 0 16px;word-break:break-all;}
.tx-list{list-style:none;display:flex;flex-direction:column;gap:8px;}
.tx-item{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);}
.tx-item.tx-out{border-left:3px solid var(--rose);}
.tx-item.tx-in{border-left:3px solid var(--green);}
.tx-type{font-weight:600;font-size:.9rem;}
.tx-hash{font-family:'Space Grotesk',sans-serif;font-size:.72rem;color:var(--text-faint);margin-top:2px;}
.tx-amount{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.95rem;}
.tx-amount.in{color:var(--green);}
.tx-amount.out{color:var(--rose);}
.tx-status{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:99px;}
.tx-status-completed{background:#dcfce7;color:#15803d;}
.tx-status-pending{background:var(--accent-soft);color:var(--accent);}
.tx-status-failed{background:#fee2e2;color:#b91c1c;}
.airdrop-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;background:linear-gradient(135deg,#fffef0,#fff);}
.airdrop-name{font-weight:700;font-size:.92rem;}
.airdrop-amount{font-family:'Space Grotesk',sans-serif;color:var(--primary);font-weight:700;}
.fee-list{display:flex;flex-direction:column;gap:6px;max-width:560px;}
.fee-row{display:flex;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:.88rem;}
.fee-name{color:var(--text-dim);}
.fee-amt{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--text);}
.fee-unit{font-family:inherit;font-weight:400;color:var(--text-dim);font-size:.8rem;}
.wallet-modal{position:fixed;inset:0;z-index:500;background:rgba(15,23,41,.6);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:24px;}
.modal-box{background:var(--bg-elev);border-radius:var(--radius-lg);padding:28px;max-width:520px;width:100%;box-shadow:var(--shadow-lg);max-height:90vh;overflow:auto;}
.modal-box h3{font-size:1.2rem;margin-bottom:12px;}
.modal-box label{font-size:.8rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;}
.wallet-warn{background:#fffbeb;border:1px solid var(--accent);color:#92400e;padding:10px 14px;border-radius:10px;font-size:.85rem;margin-bottom:16px;}
@media(max-width:900px){
  .wallet-layout{grid-template-columns:1fr;}
  .balance-amount{font-size:1.9rem;}
}

/* ===== ADMIN ===== */
body.is-admin{background:var(--bg-soft);}
.admin-topbar{position:fixed;top:0;left:0;right:0;z-index:120;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.admin-topbar-left{display:flex;align-items:center;gap:14px;}
.admin-menu-toggle{display:none;background:none;border:1px solid var(--border);border-radius:8px;width:36px;height:36px;font-size:1rem;cursor:pointer;color:var(--text-dim);}
.admin-crumb{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.95rem;color:var(--text);}
.admin-crumb-train{color:var(--primary);}
.admin-crumb-sep{color:var(--text-faint);margin:0 4px;font-weight:400;}
.admin-crumb-page{color:var(--text-dim);font-weight:500;}
.admin-topbar-right{display:flex;align-items:center;gap:16px;}
.admin-lang{display:flex;gap:2px;}
.admin-lang .lang-btn{font-size:.72rem;padding:4px 8px;border-radius:6px;color:var(--text-dim);}
.admin-lang .lang-btn.active{background:var(--primary-soft);color:var(--primary);font-weight:700;}
.admin-topbar-link{font-size:.82rem;color:var(--text-dim);font-weight:500;}
.admin-topbar-link:hover{color:var(--primary);}
.admin-logout:hover{color:var(--rose);}
.admin-user{display:flex;align-items:center;gap:9px;}
.admin-avatar{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.9rem;}
.admin-user-name{font-size:.82rem;font-weight:700;color:var(--text);line-height:1.1;}
.admin-user-role{font-size:.68rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;}
.admin-shell{display:flex;align-items:flex-start;gap:0;min-height:100vh;padding-top:56px;}
.admin-sidebar{width:244px;flex-shrink:0;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;padding:16px 12px;background:var(--bg-elev);border-right:1px solid var(--border);}
.admin-sec-title{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:14px 12px 6px;}
.admin-link{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;font-size:.88rem;font-weight:500;color:var(--text-dim);transition:all .15s;margin-bottom:1px;}
.admin-link:hover{background:var(--bg-soft);color:var(--text);}
.admin-link.active{background:var(--primary-soft);color:var(--primary);font-weight:700;}
.admin-glyph{width:20px;text-align:center;font-size:1rem;flex-shrink:0;}
.admin-label{flex:1;white-space:nowrap;}
.admin-link-soon{opacity:.5;cursor:not-allowed;}
.admin-link-soon:hover{background:transparent;color:var(--text-dim);}
.admin-soon{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:99px;background:var(--accent-soft);color:var(--accent);text-transform:uppercase;}
.admin-main{flex:1;min-width:0;padding:24px 28px 48px;}
.admin-page-head{margin-bottom:20px;}
#admin-helper-images{margin-top:-18px;}
#admin-helper-images .admin-page-head{margin-bottom:14px;}
.admin-page-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;}
.admin-page-sub{color:var(--text-dim);font-size:.9rem;margin-top:4px;}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px;}
.admin-kpi{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);}
.admin-kpi-accent{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:transparent;}
.admin-kpi-glyph{font-size:1.4rem;}
.admin-kpi-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:2rem;margin:6px 0 2px;line-height:1;}
.admin-kpi-label{font-size:.82rem;color:var(--text-dim);}
.admin-kpi-accent .admin-kpi-label{color:rgba(255,255,255,.85);}
.admin-kpi-foot{font-size:.72rem;color:var(--text-faint);margin-top:8px;}
.admin-kpi-accent .admin-kpi-foot{color:rgba(255,255,255,.7);}
.admin-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.admin-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:18px;}
.admin-card-title{font-weight:700;font-size:.95rem;margin-bottom:14px;color:var(--text);}
.admin-table{width:100%;border-collapse:collapse;font-size:.85rem;}
.admin-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700;padding:6px 10px;border-bottom:1px solid var(--border);}
.admin-table td{padding:10px;border-bottom:1px solid var(--border);color:var(--text-dim);vertical-align:top;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-cell-main{font-weight:600;color:var(--text);}
.admin-cell-sub{font-size:.74rem;color:var(--text-faint);}
.admin-mono{font-family:'Space Grotesk',sans-serif;}
.admin-tag{display:inline-block;font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;}
.admin-tag-on{background:#dcfce7;border-color:#86efac;color:#15803d;}
.admin-tag-off{background:#f1f5f9;border-color:var(--border);color:var(--text-faint);}
.admin-empty{color:var(--text-faint);font-size:.86rem;padding:8px 0;}
.admin-tier-bars{display:flex;flex-direction:column;gap:10px;}
.admin-tier-row{display:grid;grid-template-columns:120px 1fr 48px;align-items:center;gap:12px;}
.admin-tier-name{font-size:.82rem;font-weight:600;color:var(--text-dim);text-transform:capitalize;}
.admin-tier-bar{height:10px;background:var(--bg-soft);border-radius:99px;overflow:hidden;}
.admin-tier-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-dark));border-radius:99px;}
.admin-tier-count{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--text);text-align:right;}
/* admin login */
.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#eef0fe,#f6f7fb);}
.admin-login-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:36px 32px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;}
.admin-login-brand{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:4px;}
.admin-login-brand img{width:34px;height:34px;border-radius:8px;}
.admin-login-brand-text{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;}
.admin-login-brand-text span{color:var(--primary);}
.admin-login-title{font-size:1.2rem;font-weight:700;text-align:center;}
.admin-login-sub{font-size:.84rem;color:var(--text-dim);text-align:center;margin-top:-6px;}
.admin-login-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:10px 12px;border-radius:9px;font-size:.84rem;text-align:center;}
.admin-field{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:600;color:var(--text-dim);}
.admin-field input{padding:11px 13px;border:1px solid var(--border-strong);border-radius:10px;font-size:.92rem;background:var(--bg);color:var(--text);}
.admin-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.admin-login-btn{background:var(--primary);color:#fff;border:none;padding:12px;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;margin-top:4px;}
.admin-login-btn:hover{background:var(--primary-dark);}
.admin-login-back{text-align:center;font-size:.8rem;color:var(--text-dim);margin-top:4px;}
.admin-login-back:hover{color:var(--primary);}
@media(max-width:900px){
  .admin-menu-toggle{display:block;}
  .admin-dash-grid{grid-template-columns:1fr;}
  .admin-sidebar{position:fixed;top:56px;left:0;bottom:0;height:calc(100vh - 56px);width:260px;transform:translateX(-100%);transition:transform .2s;z-index:110;box-shadow:var(--shadow-lg);}
  body.is-admin.admin-sidebar-open .admin-sidebar{transform:translateX(0);}
  .admin-topbar-right .admin-user-meta,.admin-topbar-right .admin-lang{display:none;}
  .admin-main{padding:18px 16px 40px;}
}

/* admin users / shared admin CRUD */
.admin-kpi-sm .admin-kpi{padding:16px;}
.admin-kpi-sm .admin-kpi-num{font-size:1.6rem;margin:4px 0 0;}
.admin-kpi-sm .admin-kpi-glyph{display:none;}
.admin-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px;}
.admin-filters .admin-search{flex:1;min-width:200px;padding:10px 13px;border:1px solid var(--border-strong);border-radius:10px;font-size:.9rem;background:var(--bg);color:var(--text);}
.admin-filters .admin-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.admin-filters select{padding:10px 13px;border:1px solid var(--border-strong);border-radius:10px;font-size:.88rem;background:var(--bg);color:var(--text);}
.admin-table-hover tbody tr:hover{background:var(--bg-soft);}
.admin-pagination{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:16px;}
.admin-page-of{font-size:.85rem;color:var(--text-dim);font-family:'Space Grotesk',sans-serif;}
.admin-back{font-size:.82rem;color:var(--text-dim);display:inline-block;margin-bottom:6px;}
.admin-back:hover{color:var(--primary);}
.admin-user-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.admin-user-stat{text-align:right;flex-shrink:0;}
.admin-user-stat-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.8rem;color:var(--primary);line-height:1;}
.admin-user-stat-label{font-size:.72rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;}
.admin-flash{padding:11px 15px;border-radius:10px;font-size:.86rem;font-weight:600;margin-bottom:16px;}
.admin-flash.ok{background:#dcfce7;border:1px solid #86efac;color:#15803d;}
.admin-flash.err{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c;}
.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;flex-wrap:wrap;}
.admin-tab{background:none;border:none;padding:11px 16px;font-size:.88rem;font-weight:600;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:6px 6px 0 0;}
.admin-tab:hover{color:var(--text);}
.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
.admin-tab-panel{display:none;}
.admin-tab-panel.active{display:block;}
.admin-form{display:flex;flex-direction:column;gap:14px;max-width:560px;}
.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-dim);}
.admin-form input,.admin-form textarea,.admin-form select{padding:11px 13px;border:1px solid var(--border-strong);border-radius:10px;font-size:.92rem;background:var(--bg);color:var(--text);font-family:inherit;}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.admin-form-row{flex-direction:row;align-items:flex-end;gap:12px;flex-wrap:wrap;max-width:none;}
.admin-form-row label{flex:1;min-width:200px;}
.admin-form-meta{font-size:.76rem;color:var(--text-faint);}
.admin-info-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem;}
.admin-info-row strong{color:var(--text);}
.admin-btn-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0;}
.admin-inline-form{display:flex;gap:8px;align-items:center;}
.admin-inline-form input{padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.86rem;background:var(--bg);color:var(--text);min-width:220px;}
.admin-danger-zone{margin-top:18px;padding:14px;border:1px dashed #fecaca;border-radius:10px;background:#fffafa;}
.admin-danger-zone summary{cursor:pointer;font-weight:700;color:#b91c1c;font-size:.85rem;}
.admin-danger-zone form{margin-top:12px;}
.admin-activity-list{list-style:none;display:flex;flex-direction:column;gap:8px;}
.admin-activity-list li{display:flex;gap:10px;align-items:center;font-size:.84rem;padding:7px 0;border-bottom:1px solid var(--border);}
.admin-row-actions{display:flex;gap:6px;align-items:center;white-space:nowrap;}
.admin-agent-logo{width:42px;height:42px;object-fit:cover;border-radius:8px;border:1px solid var(--border);vertical-align:middle;}
.admin-ac-link{display:flex;align-items:center;gap:4px;margin:2px 0;}
.admin-ac-link a{font-size:.74rem;}
.admin-activity-list li span:first-child{color:var(--text-faint);min-width:140px;}

/* ===== ASSOCIATIONS ===== */
#assoc-page{padding-top:108px;min-height:100vh;background:var(--bg-soft);}
.assoc-head{max-width:1200px;margin:0 auto;padding:0 24px 14px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;}
.assoc-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;}
.assoc-sub{color:var(--text-dim);font-size:.86rem;margin-top:4px;max-width:680px;}
.assoc-quota{font-size:.78rem;color:var(--text-faint);background:var(--bg-elev);border:1px solid var(--border);padding:8px 14px;border-radius:99px;white-space:nowrap;}
.assoc-toolbar{max-width:1200px;margin:0 auto 18px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.assoc-search-form{display:flex;gap:8px;}
.assoc-search{min-width:240px;padding:9px 13px;border:1px solid var(--border-strong);border-radius:9px;font-size:.88rem;background:var(--bg);color:var(--text);}
.assoc-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.assoc-warn{font-size:.8rem;color:var(--accent);}
.assoc-sec-label{max-width:1200px;margin:26px auto 10px;padding:0 24px;font-size:.86rem;font-weight:700;color:var(--text-dim);}
.assoc-grid .assoc-card-mine{border-color:var(--primary);background:linear-gradient(180deg,var(--primary-soft,rgba(37,99,235,.06)),var(--bg-elev) 55%);}
.assoc-grid{max-width:1200px;margin:0 auto;padding:0 24px 40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.assoc-empty{max-width:1200px;margin:0 auto;padding:60px 24px;text-align:center;color:var(--text-faint);}
.assoc-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;text-align:center;box-shadow:var(--shadow-sm);transition:border .15s;}
.assoc-card:hover{border-color:var(--primary);}
.assoc-card-logo{width:60px;height:60px;margin:0 auto 10px;border-radius:14px;background:var(--bg-soft);overflow:hidden;}
.assoc-card-logo img{width:100%;height:100%;object-fit:cover;}
.assoc-card-name{font-weight:700;font-size:.95rem;color:var(--text);}
.assoc-card-cat{font-size:.74rem;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin:3px 0;}
.assoc-card-meta{font-size:.78rem;color:var(--text-faint);margin-top:6px;}
.assoc-create{display:flex;flex-direction:column;gap:12px;}
.assoc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#assoc-detail{padding-top:108px;max-width:1100px;margin:0 auto;min-height:100vh;background:var(--bg-soft);padding:108px 24px 40px;}
.assoc-detail-head{margin-bottom:16px;}
.assoc-back{font-size:.82rem;color:var(--text-dim);display:inline-block;margin-bottom:6px;}
.assoc-detail-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.assoc-detail-logo{width:48px;height:48px;border-radius:12px;object-fit:cover;border:1px solid var(--border);}
.assoc-detail-sub{color:var(--text-dim);font-size:.84rem;margin-top:6px;}
.assoc-detail-desc{color:var(--text-dim);font-size:.9rem;margin-top:10px;max-width:720px;}
@media(max-width:640px){.assoc-form-row{grid-template-columns:1fr;}}
.assoc-invites-bar{max-width:1200px;margin:0 auto 16px;padding:16px 20px;background:var(--primary-soft);border:1px solid var(--primary);border-radius:var(--radius-lg);}
.assoc-invites-title{font-weight:700;font-size:.9rem;margin-bottom:10px;color:var(--primary);}
.assoc-invite-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(91,91,240,.15);}
.assoc-invite-item:last-child{border-bottom:none;}
.assoc-invite-logo{width:36px;height:36px;border-radius:8px;object-fit:cover;border:1px solid var(--border);}
.assoc-invite-item > div{flex:1;}
.assoc-invite-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.assoc-invite-form input,.assoc-invite-form select{padding:8px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.84rem;background:var(--bg);color:var(--text);}
.assoc-invite-form input{min-width:180px;}
.admin-unread{background:var(--primary-soft);border-radius:8px;}
.assoc-tool-row{margin-bottom:12px;}
.assoc-conv{cursor:pointer;}
.assoc-conv:hover{background:var(--bg-soft);}
/* Associations — create modal + AI assistant panel */
.assoc-modal-card{max-width:480px;max-height:92vh;overflow-y:auto;}
.assoc-modal-card.assoc-ai-open{max-width:900px;}
.assoc-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.assoc-modal-body{display:flex;gap:18px;min-height:0;}
.assoc-modal-body .assoc-create{flex:1;min-width:0;}
.assoc-ai{width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;border-left:1px solid var(--border);padding-left:18px;min-height:380px;}
.assoc-ai-head{font-weight:700;font-size:.92rem;color:var(--primary);}
.assoc-ai-msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px;min-height:120px;}
.assoc-ai-msg{max-width:88%;padding:8px 12px;border-radius:12px;font-size:.84rem;line-height:1.55;word-break:break-word;white-space:pre-wrap;}
.assoc-ai-msg.ai{background:var(--bg-soft);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start;}
.assoc-ai-msg.user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end;}
.assoc-ai-msg.thinking{color:var(--text-faint);font-style:italic;background:none;border:none;padding:2px 0;}
.assoc-ai-msg.ok{color:var(--primary);font-weight:600;background:var(--primary-soft);border:1px solid rgba(91,91,240,.25);align-self:flex-start;}
.assoc-ai-chips{display:flex;flex-wrap:wrap;gap:6px;}
.assoc-ai-chip{padding:5px 12px;font-size:.78rem;border:1px solid var(--border-strong);border-radius:99px;background:var(--bg);color:var(--text);cursor:pointer;font-family:inherit;transition:all .15s;}
.assoc-ai-chip:hover{border-color:var(--primary);color:var(--primary);}
.assoc-ai-input{display:flex;gap:8px;}
.assoc-ai-input input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.84rem;background:var(--bg);color:var(--text);font-family:inherit;}
.assoc-ai-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.assoc-ai-error{display:none;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;color:#ef4444;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.35);border-radius:9px;padding:8px 12px;}
.assoc-ai-actions{display:flex;gap:8px;flex-wrap:wrap;}
.assoc-ai-sugg{display:flex;flex-direction:column;gap:7px;max-width:100%;}
.assoc-ai-sugg-row{font-size:.74rem;color:var(--text-faint);}
.assoc-ai-sugg-row strong{display:block;color:var(--text);font-size:.86rem;margin-top:2px;font-weight:600;}
.assoc-ai-sugg-alt{color:var(--text-dim)!important;font-size:.8rem!important;font-weight:400!important;}
.assoc-ai-sugg-tags{display:flex;flex-wrap:wrap;gap:5px;}
.assoc-ai-sugg-tags span{font-size:.72rem;padding:3px 9px;border-radius:99px;background:var(--primary-soft);color:var(--primary);}
.assoc-ai-sugg-actions{display:flex;gap:8px;margin-top:2px;}
@media(max-width:820px){
  .assoc-modal-card.assoc-ai-open{max-width:480px;}
  .assoc-modal-body{flex-direction:column;}
  .assoc-ai{width:100%;border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:14px;min-height:300px;}
}
.assoc-msg{padding:8px 0;border-bottom:1px solid var(--border);}
.assoc-msg.mine{text-align:right;}
.assoc-msg.mine .assoc-msg-body{background:var(--primary);color:#fff;display:inline-block;padding:8px 14px;border-radius:12px 12px 4px 12px;max-width:70%;}
.assoc-msg-body{background:var(--bg-soft);display:inline-block;padding:8px 14px;border-radius:12px 12px 12px 4px;max-width:70%;font-size:.88rem;}
.admin-prose{font-size:.9rem;color:var(--text-dim);line-height:1.6;margin-bottom:8px;}
.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;}
.admin-thumb{margin:0;}
.admin-thumb img{width:100%;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);}
.admin-thumb figcaption{font-size:.74rem;color:var(--text-faint);margin-top:5px;word-break:break-word;}
.admin-check-row{flex-direction:row!important;align-items:center;gap:8px!important;}
.admin-chat-layout{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start;}
.admin-chat-sessions{display:flex;flex-direction:column;gap:6px;}
.admin-chat-session{display:block;padding:10px 12px;border:1px solid var(--border);border-radius:9px;font-size:.82rem;background:var(--bg-elev);}
.admin-chat-session:hover{border-color:var(--primary);}
.admin-chat-session.active{border-color:var(--primary);background:var(--primary-soft);}
.admin-chat-main{min-height:300px;max-height:calc(100vh - 240px);overflow:auto;}
.admin-chat-msg{padding:10px 0;border-bottom:1px solid var(--border);}
.admin-chat-role{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--text-faint);letter-spacing:.05em;}
.admin-chat-body{font-size:.9rem;margin-top:4px;white-space:pre-wrap;word-break:break-word;}
.admin-chat-assistant .admin-chat-role{color:var(--primary);}
@media(max-width:900px){.admin-chat-layout{grid-template-columns:1fr;}}
.admin-suggest-list{list-style:none;display:flex;flex-direction:column;gap:14px;}
.admin-suggest{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);}
.admin-suggest-head{display:flex;align-items:center;gap:10px;font-size:.84rem;margin-bottom:6px;flex-wrap:wrap;}
.admin-suggest-msg{font-size:.9rem;color:var(--text);margin-bottom:8px;}
.admin-suggest-reply{display:flex;gap:8px;}
.admin-suggest-reply input{flex:1;padding:8px 11px;border:1px solid var(--border-strong);border-radius:9px;font-size:.84rem;background:var(--bg-elev);color:var(--text);}
.admin-inline-edit summary{cursor:pointer;font-size:.78rem;color:var(--primary);}
.admin-inline-edit form{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--bg-soft);}
.admin-inline-edit textarea{width:100%;font-family:inherit;font-size:.78rem;padding:6px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elev);color:var(--text);}

/* ===== WEBPAGE BUILDER ===== */
.app-wide-main{display:block;}
#wp-builder{padding-top:98px;min-height:100vh;background:var(--bg-soft);}
.wp-head{max-width:1700px;margin:0 auto;padding:0 28px 8px;}
.wp-back{font-size:.82rem;color:var(--text-dim);display:inline-block;margin-bottom:6px;}
.wp-back:hover{color:var(--primary);}
.wp-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;}
.wp-sub{color:var(--text-dim);font-size:.86rem;margin-top:4px;}
.wp-fee{color:var(--text-faint);}
.wp-flash{max-width:1700px;margin:0 auto 12px;padding:0 28px;}
.wp-flash.err{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c;padding:10px 14px;border-radius:10px;font-size:.86rem;}
.wp-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;max-width:1400px;margin:0 auto;padding:0 28px 40px;align-items:start;}
.wp-langs{display:flex;gap:14px;flex-wrap:wrap;padding:6px 2px;}
.wp-langs .wp-check{margin-bottom:0;font-weight:500;}
.wp-img-pick{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);align-items:flex-start;}
.wp-img-pick:last-child{border-bottom:none;}
.wp-img-thumb{width:60px;height:60px;border-radius:8px;object-fit:cover;border:1px solid var(--border);flex-shrink:0;}
.wp-img-controls{flex:1;display:flex;flex-direction:column;gap:5px;}
.wp-img-controls select,.wp-img-controls input{padding:6px 10px;border:1px solid var(--border-strong);border-radius:7px;font-size:.8rem;background:var(--bg);color:var(--text);}
.wp-side{display:flex;flex-direction:column;gap:16px;}
.wp-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);}
.wp-section-title{font-weight:700;font-size:.92rem;margin-bottom:12px;color:var(--text);}
.wp-field{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-dim);margin-bottom:12px;}
.wp-field input,.wp-field select,.wp-field textarea{padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.88rem;background:var(--bg);color:var(--text);font-family:inherit;}
.wp-field input:focus,.wp-field select:focus,.wp-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.wp-field input[type=color]{height:40px;padding:3px;}
.wp-field-row{display:flex;gap:8px;align-items:flex-start;}
.wp-field-row textarea{flex:1;}
.wp-field-row .btn-sm{flex-shrink:0;height:fit-content;margin-top:0;}
.wp-themes{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.wp-theme{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg);color:var(--text-dim);font-size:.82rem;font-weight:600;cursor:pointer;}
.wp-theme:hover{border-color:var(--primary);}
.wp-theme.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);}
.wp-theme-dot{width:12px;height:12px;border-radius:50%;background:var(--tc,#5b5bf0);flex-shrink:0;}
.wp-check{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-dim);font-weight:500;margin-bottom:12px;}
.wp-generate{width:100%;padding:12px;font-size:.95rem;}
.wp-mute{color:var(--text-faint);font-size:.8rem;margin-bottom:10px;}
.wp-edit{display:block;width:100%;margin-top:10px;}
.wp-geninfo{display:block;width:100%;margin-top:8px;box-sizing:border-box;}
#wpExtra{width:100%;box-sizing:border-box;}
#wpEditInstr{display:block;width:100%;min-height:120px;box-sizing:border-box;font-family:inherit;font-size:.88rem;padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);resize:vertical;}
#wpEditInstr:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.wp-pages{display:flex;flex-direction:column;gap:8px;}
.wp-requests{display:flex;flex-direction:column;gap:8px;}
.wp-req{padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg-soft);}
.wp-req-head{display:flex;align-items:center;gap:8px;}
.wp-req-badge{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:99px;}
.wp-req-badge.rsvp{background:#dbeafe;color:#1d4ed8;}
.wp-req-badge.order{background:#fef3c7;color:#b45309;}
.wp-req-time{font-size:.68rem;color:var(--text-faint);flex:1;}
.wp-req-details{font-size:.8rem;color:var(--text-dim);margin-top:5px;word-break:break-word;}
.wp-page{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-soft);}
.wp-page-main{font-weight:700;font-size:.88rem;color:var(--text);}
.wp-page-sub{font-size:.74rem;color:var(--text-faint);margin:2px 0 6px;}
.wp-page-actions{display:flex;flex-wrap:wrap;gap:8px;}
.wp-link{background:none;border:none;color:var(--primary);font-size:.76rem;font-weight:600;cursor:pointer;padding:0;text-decoration:none;}
.wp-link:hover{text-decoration:underline;}
.wp-badge{color:var(--accent);font-size:.7rem;}
.wp-toast{position:fixed;bottom:24px;right:24px;z-index:600;padding:12px 18px;border-radius:10px;font-size:.86rem;font-weight:600;opacity:0;transform:translateY(10px);transition:all .25s;box-shadow:var(--shadow-lg);}
.wp-toast.show{opacity:1;transform:translateY(0);}
.wp-toast.ok{background:#dcfce7;color:#15803d;border:1px solid #86efac;}
.wp-toast.err{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;}
#wpExtra{resize:vertical;min-height:220px;}
.wp-log-side{position:sticky;top:98px;}
.wp-log-card{display:flex;flex-direction:column;max-height:calc(100vh - 130px);}
.wp-log{flex:1;overflow-y:auto;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.5;color:var(--text-dim);display:flex;flex-direction:column;gap:4px;min-height:200px;}
.wp-log-line{padding:5px 8px;border-left:2px solid var(--border-strong);background:var(--bg-soft);border-radius:0 6px 6px 0;word-break:break-word;white-space:pre-wrap;}
.wp-log-line .wp-log-t{color:var(--text-faint);margin-right:6px;}
.wp-log-line.ok{border-left-color:#16a34a;color:#15803d;}
.wp-log-line.err{border-left-color:#dc2626;color:#b91c1c;}
@media(max-width:900px){.wp-layout{grid-template-columns:1fr;}.wp-log-side{position:static;}}
.wp-mode-row{display:flex;gap:16px;padding:4px 0 10px;border-bottom:1px solid var(--border);margin-bottom:12px;}
.wp-mode-row .wp-check{margin-bottom:0;}
#wpThemes{max-height:230px;overflow-y:auto;}
.wp-palettes{display:flex;flex-wrap:wrap;gap:8px;}
.wp-pal{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--border-strong);border-radius:9px;padding:7px 9px;background:var(--bg);cursor:pointer;min-width:64px;}
.wp-pal span{width:14px;height:14px;border-radius:50%;display:inline-block;}
.wp-pal small{font-size:.62rem;color:var(--text-faint);max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wp-pal.on{border-color:var(--primary);background:var(--primary-soft);}
.wp-pal div{display:flex;gap:3px;}
.wp-colors3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.wp-colors3 label{display:flex;flex-direction:column;gap:4px;font-size:.68rem;color:var(--text-faint);font-weight:600;}
.wp-sec-chips{display:flex;flex-wrap:wrap;gap:6px;}
.wp-chip-tgl{padding:6px 12px;border:1px solid var(--border-strong);border-radius:99px;background:var(--bg);color:var(--text-dim);font-size:.76rem;font-weight:600;cursor:pointer;}
.wp-chip-tgl:hover{border-color:var(--primary);}
.wp-chip-tgl.on{background:var(--primary);border-color:var(--primary);color:#fff;}
.wp-mode-tag{font-size:.72rem;}
.wp-preview-card{margin-bottom:16px;}
.wp-preview-frame{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;height:420px;}
.wp-preview-frame iframe{width:100%;height:100%;border:0;}
.wp-sec-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.wp-sec-item{border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);}
.wp-sec-item-head{display:flex;align-items:center;gap:8px;padding:8px 10px;}
.wp-sec-item-tp{font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--primary);background:var(--primary-soft);padding:3px 8px;border-radius:99px;white-space:nowrap;}
.wp-sec-item-hd{font-size:.8rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.wp-sec-item-btns{display:flex;gap:3px;}
.wp-mini{border:1px solid var(--border-strong);background:var(--bg);border-radius:7px;font-size:.72rem;padding:3px 7px;cursor:pointer;color:var(--text-dim);}
.wp-mini:hover{border-color:var(--primary);color:var(--primary);}
.wp-mini-del:hover{border-color:#dc2626;color:#dc2626;}
.wp-sec-item-body{padding:10px 12px;border-top:1px solid var(--border);}
.wp-lang-tabs{display:flex;gap:6px;margin-bottom:10px;}
.wp-lang-tab{padding:4px 12px;border:1px solid var(--border-strong);border-radius:99px;background:var(--bg);font-size:.72rem;font-weight:700;color:var(--text-faint);cursor:pointer;}
.wp-lang-tab.on{background:var(--primary);border-color:var(--primary);color:#fff;}
.wp-items{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;}
.wp-item-row{display:grid;grid-template-columns:52px 1fr 1fr;gap:6px;align-items:start;}
.wp-item-row textarea{grid-column:1 / -1;}
.wp-item-row input,.wp-item-row textarea{padding:7px 9px;border:1px solid var(--border-strong);border-radius:7px;font-size:.78rem;background:var(--bg);color:var(--text);font-family:inherit;box-sizing:border-box;width:100%;}
.wp-item-row .wp-mini{justify-self:end;}
.wp-item-hot{align-self:center;margin:0;}
.wp-gal-pick{display:flex;flex-direction:column;gap:6px;}
.wp-gal-row{display:flex;gap:10px;align-items:center;border:1px solid var(--border);border-radius:9px;padding:6px 8px;background:var(--bg);}
.wp-gal-row.on{border-color:var(--primary);}
.wp-gal-row img{width:44px;height:44px;border-radius:7px;object-fit:cover;}
.wp-gal-row input[type=text]{padding:6px 9px;border:1px solid var(--border-strong);border-radius:7px;font-size:.76rem;background:var(--bg);color:var(--text);width:100%;box-sizing:border-box;}
.wp-editor-add{display:flex;gap:8px;margin-bottom:10px;}
.wp-editor-add select{flex:1;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg);color:var(--text);font-size:.8rem;}
.wp-editor-actions{display:flex;align-items:center;gap:10px;}
#wpApplyState{font-size:.72rem;}
.wp-lib-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.wp-lib-head .wp-section-title{margin-bottom:0;}
.wp-lib-open{padding:6px 10px;font-size:.74rem;min-height:0;}
.wp-lib-overlay{position:fixed;inset:0;background:rgba(15,23,41,.5);display:none;align-items:center;justify-content:center;z-index:400;padding:20px;}
.wp-lib-overlay.open{display:flex;}
.wp-lib-box{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:86vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);}
.wp-lib-head-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);}
.wp-lib-title{font-weight:800;font-size:1.05rem;color:var(--text);}
.wp-lib-sub{font-size:.76rem;color:var(--text-faint);margin-top:3px;}
.wp-lib-close{flex-shrink:0;}
.wp-lib-body{padding:16px 20px;overflow-y:auto;flex:1;}
.wp-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;}
.wp-lib-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;}
.wp-lib-item:hover{border-color:var(--primary);}
.wp-lib-item img{width:100%;height:92px;object-fit:cover;display:block;background:var(--bg-soft);}
.wp-lib-item-name{font-size:.7rem;color:var(--text-dim);padding:6px 8px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wp-lib-sel{margin:6px 8px 8px;padding:5px 0;font-size:.72rem;min-height:0;}
.wp-lib-empty{text-align:center;color:var(--text-faint);font-size:.86rem;line-height:1.6;padding:30px 10px;}
.wp-lib-upload{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--border);flex-wrap:wrap;}
.wp-lib-upload .btn-sm{padding:9px 16px;font-size:.8rem;min-height:0;}
.wp-lib-status{font-size:.78rem;color:var(--text-dim);}
.wp-lib-status.ok{color:#15803d;font-weight:600;}
.wp-lib-status.err{color:#b91c1c;font-weight:600;}
@media(max-width:600px){.wp-lib-overlay{padding:12px;}.wp-lib-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.wp-lib-head-bar{padding:14px 16px;}.wp-lib-body{padding:12px 16px;}.wp-lib-upload{padding:10px 16px;}}

/* ===== VFS (file manager) ===== */
#vfs-page{padding-top:108px;min-height:100vh;background:var(--bg-soft);}
.vfs-head{max-width:1300px;margin:0 auto;padding:0 24px 14px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;}
.vfs-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;font-weight:700;}
.vfs-sub{color:var(--text-dim);font-size:.84rem;margin-top:4px;max-width:680px;}
.vfs-storage{font-size:.78rem;color:var(--text-faint);background:var(--bg-elev);border:1px solid var(--border);padding:8px 14px;border-radius:99px;white-space:nowrap;}
.vfs-toolbar{max-width:1300px;margin:0 auto 16px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.vfs-crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:.84rem;}
.vfs-crumb{color:var(--primary);cursor:pointer;font-weight:600;padding:3px 6px;border-radius:6px;}
.vfs-crumb:hover{background:var(--primary-soft);}
.vfs-crumb-sep{color:var(--text-faint);}
.vfs-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.vfs-search{padding:8px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.84rem;background:var(--bg);color:var(--text);min-width:180px;}
.vfs-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.vfs-upload-btn{position:relative;cursor:pointer;}
.vfs-grid{max-width:1300px;margin:0 auto;padding:0 24px 40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.vfs-empty{grid-column:1/-1;text-align:center;color:var(--text-faint);padding:60px 0;font-size:.92rem;}
.vfs-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center;box-shadow:var(--shadow-sm);transition:border .15s;position:relative;}
.vfs-item:hover{border-color:var(--primary);}
.vfs-icon{font-size:2.4rem;line-height:1;margin-bottom:8px;}
.vfs-thumb{width:100%;height:80px;background-size:cover;background-position:center;border-radius:8px;margin-bottom:8px;border:1px solid var(--border);}
.vfs-name{font-size:.84rem;font-weight:600;color:var(--text);word-break:break-word;line-height:1.3;min-height:2.4em;}
.vfs-meta{font-size:.72rem;color:var(--text-faint);margin-top:4px;}
.vfs-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;}
.vfs-act{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);font-size:.68rem;font-weight:600;padding:4px 8px;border-radius:6px;cursor:pointer;}
.vfs-act:hover{border-color:var(--primary);color:var(--primary);}
.vfs-act.vfs-danger:hover{border-color:var(--rose);color:var(--rose);}
.vfs-modal{position:fixed;inset:0;z-index:500;background:rgba(15,23,41,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;}
.vfs-modal-card{background:var(--bg-elev);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:460px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px;}
.vfs-modal-lg{max-width:760px;}
.vfs-modal-card h3{font-size:1.05rem;}
.vfs-field{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-dim);}
.vfs-field input,.vfs-modal-card textarea{padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.9rem;background:var(--bg);color:var(--text);font-family:inherit;width:100%;box-sizing:border-box;}
.vfs-modal-card textarea{font-family:'Space Grotesk',monospace;font-size:.84rem;}
.vfs-modal-actions{display:flex;justify-content:flex-end;gap:8px;}


/* ===== APP SHELL (dashboard sidebar) ===== */
.app-shell{display:flex;align-items:flex-start;gap:28px;max-width:1400px;margin:0 auto;padding:98px 24px 0;}
body.is-app #dashboard,
body.is-app #wallet,
body.is-app #wiki-page,
body.is-app #docs-page{padding-top:8px;}
.app-main{flex:1;min-width:0;}
.app-sidebar{width:232px;flex-shrink:0;position:sticky;top:98px;height:calc(100vh - 98px);display:flex;flex-direction:column;padding:18px 14px;background:var(--bg-elev);border-right:1px solid var(--border);overflow:hidden;}
.tier-badge{display:inline-block;font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:99px;border:1px solid;letter-spacing:.02em;text-transform:uppercase;}
.sidebar-upgrade{color:var(--accent);font-weight:700;}
.sidebar-upgrade:hover{color:var(--accent);background:var(--accent-soft);}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;margin-bottom:16px;background:var(--bg-soft);border:1px solid var(--border);flex-shrink:0;}
.sidebar-user:hover{border-color:var(--primary);}
.sidebar-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));}
.sidebar-user-meta{min-width:0;}
.sidebar-user-name{font-weight:700;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar-user-plan{font-size:.7rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;}
.sidebar-nav{display:flex;flex-direction:column;gap:3px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-left:14px;margin-left:-14px;}
.sidebar-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-size:.9rem;font-weight:500;color:var(--text-dim);transition:all .15s;}
.sidebar-link:hover{background:var(--bg-soft);color:var(--text);}
.sidebar-link.active{background:var(--primary-soft);color:var(--primary);font-weight:700;}
.sidebar-glyph{width:22px;text-align:center;font-size:1.05rem;flex-shrink:0;line-height:1;}
.sidebar-label{white-space:nowrap;}
.sidebar-beta-pill{margin-left:auto;font-size:.62rem;line-height:1;padding:3px 7px;border-radius:999px;background:rgba(245,158,11,.14);color:#d97706;border:1px solid rgba(245,158,11,.4);white-space:nowrap;flex-shrink:0;}
.beta-pill{display:inline-block;font-size:.62rem;font-weight:700;line-height:1;padding:3px 7px;border-radius:999px;background:rgba(245,158,11,.14);color:#d97706;border:1px solid rgba(245,158,11,.4);white-space:nowrap;vertical-align:middle;}
.sidebar-foot{display:flex;flex-direction:column;gap:3px;padding-top:12px;border-top:1px solid var(--border);margin-top:8px;flex-shrink:0;}
.sidebar-foot .sidebar-link{font-size:.84rem;color:var(--text-faint);}
.app-sidebar-toggle{display:none;}
@media(max-width:900px){
  .app-shell{flex-direction:column;padding:98px 16px 0;gap:16px;}
  .app-sidebar{position:fixed;left:0;top:98px;width:232px;height:calc(100vh - 98px);height:calc(100dvh - 98px);transform:translateX(-100%);transition:transform .3s;z-index:110;box-shadow:var(--shadow-lg);}
  .app-sidebar.open{transform:translateX(0);}
  .app-sidebar-toggle{display:flex;position:fixed;top:104px;left:16px;z-index:109;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;}
  .app-sidebar-toggle:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
}
@media(min-width:901px){
  .app-sidebar{transition:width .22s ease,padding .22s ease;}
  .app-sidebar.collapsed{width:58px;padding:18px 9px;}
  .app-sidebar.collapsed .sidebar-user{justify-content:center;gap:0;padding:8px 0;background:transparent;border-color:transparent;}
  .app-sidebar.collapsed .sidebar-user:hover{border-color:transparent;}
  .app-sidebar.collapsed .sidebar-user-meta{display:none;}
  .app-sidebar.collapsed .sidebar-group-label{display:none;}
  .app-sidebar.collapsed .sidebar-link{justify-content:center;gap:0;padding:10px 6px;}
  .app-sidebar.collapsed .sidebar-label,
  .app-sidebar.collapsed .sidebar-beta-pill,
  .app-sidebar.collapsed .sidebar-caret,
  .app-sidebar.collapsed .sidebar-sub{display:none;}
  .app-sidebar.collapsed .sidebar-upgrade{background:transparent;}
}




/* Projects */
.pj-card-status{margin-bottom:8px;}
.pj-card{padding:0;text-align:left;overflow:hidden;}
.pj-card-main{display:block;padding:18px;color:inherit;text-decoration:none;}
.pj-card-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);background:var(--bg-soft);}
.pj-card-actions a{min-width:0;padding:8px 4px;text-align:center;font-size:.72rem;font-weight:600;color:var(--text-dim);text-decoration:none;white-space:nowrap;border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
.pj-card-actions a:nth-child(2n){border-right:none;}
.pj-card-actions a:nth-last-child(-n+2){border-bottom:none;}
.pj-card-actions a:hover{color:var(--primary);background:var(--primary-soft);}
.pj-pre{white-space:pre-wrap;font-size:.82rem;color:var(--text-dim);word-break:break-word;}
.pj-review{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;max-height:280px;overflow:auto;}
.pj-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;}
.pj-step{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--border);border-radius:99px;font-size:.82rem;font-weight:600;color:var(--text-dim);cursor:pointer;background:var(--bg-elev);}
.pj-step.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
.pj-step.done{border-color:#86efac;color:#15803d;}
.pj-step-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--border);font-size:.7rem;font-weight:700;}
.pj-step.active .pj-step-n{background:var(--primary);border-color:var(--primary);color:#fff;}
.pj-quiz-q{margin-bottom:16px;}
.pj-quiz-title{font-weight:600;font-size:.9rem;color:var(--text);margin-bottom:8px;}
.pj-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.pj-member-card{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg);}
.pj-member-icon{width:44px;height:44px;border-radius:12px;object-fit:cover;flex-shrink:0;}
.pj-member-icon-ph{display:flex;align-items:center;justify-content:center;background:var(--bg-soft);font-size:1.3rem;}
.pj-member-meta{flex:1;min-width:0;}
.pj-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;}
.pj-gal-item{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg);}
.pj-gal-item img{width:100%;height:130px;object-fit:cover;display:block;}
.pj-gal-primary{position:absolute;top:8px;left:8px;}
.pj-gal-caption{width:100%;box-sizing:border-box;border:none;border-top:1px solid var(--border);padding:7px 10px;font-size:.78rem;background:var(--bg);color:var(--text);}
.pj-gal-actions{display:flex;gap:6px;padding:8px;border-top:1px solid var(--border);}
.pj-web-img img{width:34px;height:34px;object-fit:cover;border-radius:6px;vertical-align:middle;}
.pj-web-actions{white-space:nowrap;}
.pj-rounds{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.pj-round{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;font-size:.82rem;font-weight:600;color:var(--text-dim);cursor:pointer;}
.pj-round:hover{border-color:var(--primary);}
.pj-round-sel{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-soft);}
.pj-round-active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
.pj-round-completed{border-color:#86efac;}
.pj-round-title{font-weight:700;font-size:.86rem;color:var(--text);margin:16px 0 6px;}
.pj-stream{margin-top:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);overflow:hidden;}
.pj-stream-title{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:.84rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);background:var(--bg-soft);}
.pj-stream-box{display:flex;flex-direction:column;gap:10px;max-height:440px;overflow-y:auto;padding:12px 14px;}
.pj-stream-msg{border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);padding:10px 14px;animation:pjFadeIn .25s ease;}
.pj-stream-msg.done{border-color:#86efac;}
.pj-stream-msg.fail{border-color:#fecaca;opacity:.7;}
.pj-stream-head{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text);}
.pj-stream-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0;animation:pjPulse 1.1s ease-in-out infinite;}
.pj-stream-msg.done .pj-stream-dot{background:#16a34a;animation:none;}
.pj-stream-msg.fail .pj-stream-dot{background:#dc2626;animation:none;}
.pj-stream-body{margin-top:6px;font-size:.86rem;color:var(--text-dim);white-space:pre-wrap;line-height:1.65;word-break:break-word;}
.pj-stream-msg:not(.done):not(.fail) .pj-stream-body:empty::before{content:'…';color:var(--text-faint);}
.pj-stream-msg:not(.done):not(.fail) .pj-stream-body::after{content:'▍';color:var(--primary);animation:pjBlink 1s steps(2) infinite;}
@keyframes pjPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
@keyframes pjBlink{50%{opacity:0}}
@keyframes pjFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Association section */
.assoc-block{margin-top:72px;}
.assoc-block-label{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;text-align:center;}
.assoc-block-sub{font-size:.95rem;color:var(--text-dim);text-align:center;max-width:640px;margin:10px auto 0;line-height:1.7;}
.assoc-block .feature-grid{margin-top:32px;}
.assoc-list{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.assoc-list li{font-size:.88rem;color:var(--text-dim);line-height:1.6;padding-left:22px;position:relative;}
.assoc-list li::before{content:'✓';position:absolute;left:0;color:var(--primary);font-weight:700;}
.tier-list{display:flex;flex-direction:column;gap:12px;margin-top:32px;}
.tier-row{display:grid;grid-template-columns:80px 1.1fr 1.3fr;gap:6px 24px;align-items:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 24px;box-shadow:var(--shadow-sm);transition:all .25s;}
.tier-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.tier-tag{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--primary);text-transform:uppercase;}
.tier-name{font-weight:700;color:var(--text);font-size:1rem;}
.tier-role{font-size:.84rem;color:var(--text-dim);margin-top:2px;line-height:1.5;}
.tier-benefit{font-size:.84rem;color:var(--text-dim);line-height:1.6;}
.tier-path{margin-top:20px;text-align:center;font-size:.9rem;color:var(--text-dim);line-height:1.7;}
.biz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:32px;}
.biz-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm);transition:all .25s;}
.biz-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.biz-card h4{font-size:.98rem;font-weight:700;color:var(--text);margin-bottom:6px;}
.biz-card p{font-size:.85rem;color:var(--text-dim);line-height:1.6;}
@media(max-width:860px){.tier-row{grid-template-columns:1fr;gap:4px;}}

/* imagegen */
#ig-page{padding-top:108px;min-height:100vh;background:var(--bg-soft);padding-bottom:48px;}
.ig-head{max-width:1100px;margin:0 auto;padding:0 24px 16px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;}
.ig-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;font-weight:700;}
.ig-sub{color:var(--text-dim);font-size:.84rem;margin-top:4px;max-width:680px;}
.ig-form{max-width:1100px;margin:0 auto 28px;padding:20px 24px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;margin-left:auto;margin-right:auto;width:calc(100% - 48px);}
.ig-form textarea{width:100%;padding:11px 14px;border:1px solid var(--border-strong);border-radius:10px;font-size:.92rem;font-family:inherit;background:var(--bg);color:var(--text);resize:vertical;box-sizing:border-box;}
.ig-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.ig-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;}
.ig-field{display:flex;flex-direction:column;gap:5px;font-size:.8rem;color:var(--text-dim);font-weight:600;}
.ig-field select{padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.88rem;background:var(--bg);color:var(--text);min-width:180px;}
.ig-row .btn-primary{margin-left:auto;}
.ig-msg{color:#dc2626;font-size:.84rem;min-height:1em;}
.ig-gallery-title{max-width:1100px;margin:0 auto 14px;padding:0 24px;font-size:1.05rem;font-weight:700;}
.ig-gallery{max-width:1100px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
.ig-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;}
.ig-card-img{display:block;aspect-ratio:1;background:var(--bg-soft);}
.ig-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.ig-card-wip-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-dim);font-size:.84rem;}
.ig-card-failed{color:#dc2626;padding:16px;text-align:center;font-size:.82rem;}
.ig-spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:ig-spin .8s linear infinite;}
@keyframes ig-spin{to{transform:rotate(360deg);}}
.ig-card-meta{padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:.8rem;}
.ig-card-prompt{color:var(--text-dim);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;}
.ig-tag{align-self:flex-start;font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:100px;background:var(--primary-soft);color:var(--primary);}
.ig-again{align-self:flex-start;}
.ig-empty{max-width:1100px;margin:0 auto;padding:40px 24px;text-align:center;color:var(--text-faint);}
@media(max-width:720px){.ig-row .btn-primary{margin-left:0;width:100%;}.ig-field{flex:1;}.ig-field select{min-width:0;width:100%;}}

/* ===== MEMBERSHIP PAGE ===== */
.mship-hero{padding-bottom:40px;}
.mship-title{font-size:clamp(2.1rem,5vw,3.4rem);max-width:880px;margin:0 auto 18px;}
.mship-sub{font-size:1.1rem;max-width:760px;}

/* tier grid */
.mship-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px;align-items:stretch;}
.mship-grid.cols-2{grid-template-columns:repeat(2,1fr);max-width:860px;margin-left:auto;margin-right:auto;}
.mship-grid.cols-3{grid-template-columns:repeat(3,1fr);max-width:1080px;margin-left:auto;margin-right:auto;}
.mship-table .ta-right{text-align:right;}
.mship-card{position:relative;display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px 26px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s,border-color .25s;}
.mship-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.mship-badge{align-self:flex-start;font-family:'Space Grotesk',sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:100px;background:var(--bg-soft);color:var(--text-dim);border:1px solid var(--border);margin-bottom:16px;}
.mship-emoji{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;background:var(--primary-soft);margin-bottom:14px;}
.mship-name{font-size:1.25rem;font-weight:800;color:var(--text);margin-bottom:8px;letter-spacing:-.01em;}
.mship-desc{font-size:.86rem;color:var(--text-dim);line-height:1.65;margin-bottom:18px;}
.mship-price{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;}
.mship-price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mship-price-lbl{font-size:.74rem;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;}
.mship-price-val{font-family:'Space Grotesk',sans-serif;font-size:.92rem;font-weight:700;color:var(--text);}
.mship-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0 0 24px;flex:1;}
.mship-list li{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:var(--text);line-height:1.55;}
.mship-list .tick{flex:none;width:18px;height:18px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.mship-btn{margin-top:auto;width:100%;padding:12px 20px;font-size:.9rem;}
.mship-btn:hover{transform:none;}

/* tier accent: Standard (indigo) */
.mship-standard .mship-emoji{background:rgba(91,91,240,.12);}
.mship-standard .mship-badge{background:var(--primary-soft);color:var(--primary);border-color:transparent;}
.mship-standard .mship-list .tick{background:var(--primary);color:#fff;}
.mship-standard:hover{border-color:var(--primary);}

/* tier accent: Associate (purple, exclusive) */
.mship-associate .mship-emoji{background:rgba(139,92,246,.14);}
.mship-associate .mship-badge{background:rgba(139,92,246,.12);color:#7c3aed;border-color:transparent;}
.mship-associate .mship-list .tick{background:#8b5cf6;color:#fff;}
.mship-associate:hover{border-color:#8b5cf6;}

/* tier accent: Premier (featured, gold) */
.mship-featured{border:2px solid var(--accent);background:linear-gradient(180deg,#fffdf7,#fff);box-shadow:0 22px 50px -18px rgba(245,158,11,.45),var(--shadow-md);transform:scale(1.03);}
.mship-featured:hover{transform:scale(1.03) translateY(-6px);box-shadow:0 30px 60px -18px rgba(245,158,11,.55),var(--shadow-lg);}
.mship-featured .mship-emoji{background:var(--accent-soft);}
.mship-featured .mship-badge{background:linear-gradient(135deg,var(--accent),#fbbf24);color:#fff;border-color:transparent;box-shadow:0 6px 14px rgba(245,158,11,.35);}
.mship-featured .mship-name{color:#b45309;}
.mship-featured .mship-list .tick{background:var(--accent);color:#fff;}
.mship-featured .mship-btn{background:linear-gradient(135deg,var(--accent),#fbbf24);color:#fff;box-shadow:0 8px 20px rgba(245,158,11,.35);}
.mship-featured .mship-btn:hover{background:linear-gradient(135deg,#fbbf24,var(--accent));}

/* comparison matrix */
.mship-table-wrap{margin-top:48px;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--bg-elev);-webkit-overflow-scrolling:touch;}
.mship-table{width:100%;border-collapse:collapse;min-width:760px;}
.mship-table th,.mship-table td{padding:16px 18px;text-align:center;font-size:.86rem;color:var(--text-dim);border-bottom:1px solid var(--border);}
.mship-table thead th{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--bg-soft);border-bottom:2px solid var(--border-strong);}
.mship-table tbody tr:last-child td{border-bottom:none;}
.mship-table tbody tr:hover{background:rgba(91,91,240,.03);}
.mship-feat-col{text-align:left!important;font-weight:600;color:var(--text);background:var(--bg-soft);position:sticky;left:0;max-width:220px;}
.mship-table thead .mship-feat-col{background:var(--bg-soft);}
.mship-col-premier{background:rgba(245,158,11,.06);font-weight:600;color:var(--text);}
.mship-table thead .mship-col-premier{color:#b45309;background:var(--accent-soft);}
.mship-dtta{align-self:flex-start;display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:5px 12px;border-radius:100px;background:rgba(245,158,11,.12);color:#b45309;border:1px dashed rgba(245,158,11,.6);margin-bottom:12px;}
.mship-featured .mship-dtta{background:#fff;}
.mship-notes{margin-top:22px;padding:18px 22px;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);}
.mship-notes p{font-size:.8rem;color:var(--text-faint);line-height:1.7;margin:0 0 8px;}
.mship-notes p:last-child{margin-bottom:0;}
.mship-dtta-note{font-weight:600;color:#b45309;}

/* recommendations */
.mship-rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px;}
.mship-rec-card{position:relative;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px 26px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s,border-color .25s;}
.mship-rec-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.mship-rec-num{font-family:'Space Grotesk',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.1em;color:var(--primary);margin-bottom:10px;}
.mship-rec-icon{width:48px;height:48px;border-radius:12px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:14px;}
.mship-rec-card p{font-size:.9rem;color:var(--text-dim);line-height:1.7;}

/* responsive */
@media(max-width:1080px){
  .mship-grid{grid-template-columns:repeat(2,1fr);}
  .mship-featured{transform:none;}
  .mship-featured:hover{transform:translateY(-6px);}
}
@media(max-width:680px){
  .mship-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto;}
  .mship-grid.cols-2{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto;}
  .mship-grid.cols-3{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto;}
  .mship-rec-grid{grid-template-columns:1fr;}
  .mship-table th,.mship-table td{padding:13px 12px;font-size:.82rem;}
}
@media(prefers-reduced-motion:reduce){.mship-featured{transform:none;}.mship-featured:hover{transform:none;}}


/* messages */
.msg-panel{max-width:1200px;margin:0 auto;padding:0 24px 24px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.msg-tabs{flex:none;}
.msg-badge{display:inline-block;min-width:18px;padding:1px 6px;margin-left:4px;background:var(--primary);color:#fff;border-radius:999px;font-size:.68rem;line-height:1.4;text-align:center;}
.msg-toolbar{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);align-items:center;}
.msg-toolbar input{flex:1;padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.86rem;background:var(--bg);color:var(--text);font-family:inherit;}
.msg-layout{display:grid;grid-template-columns:minmax(300px,5fr) minmax(340px,7fr);min-height:420px;}
.msg-list{border-right:1px solid var(--border);overflow-y:auto;max-height:640px;}
.msg-row{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;}
.msg-row:hover{background:var(--bg-soft);}
.msg-row.selected{background:var(--primary-soft);}
.msg-row.unread .msg-who,.msg-row.unread .msg-subject{font-weight:700;}
.msg-row-main{flex:1;min-width:0;}
.msg-row-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline;}
.msg-who{font-size:.86rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-date{font-size:.72rem;color:var(--text-faint);white-space:nowrap;}
.msg-subject{font-size:.84rem;color:var(--text);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-excerpt{font-size:.78rem;color:var(--text-dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-actions{display:flex;flex-direction:column;gap:4px;}
.msg-icon{background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--text-faint);padding:2px 4px;border-radius:6px;line-height:1;}
.msg-icon:hover{color:var(--primary);background:var(--bg-soft);}
.msg-icon.on{color:var(--accent);}
.msg-detail{padding:18px;overflow-y:auto;max-height:640px;display:flex;flex-direction:column;}
.msg-detail-empty{margin:auto;color:var(--text-faint);font-size:.9rem;padding:48px 20px;text-align:center;}
.msg-detail-head{border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:12px;}
.msg-detail-subject{font-size:1.05rem;font-weight:700;}
.msg-detail-meta{font-size:.78rem;color:var(--text-dim);margin-top:4px;}
.msg-detail-body{font-size:.9rem;line-height:1.7;white-space:normal;word-break:break-word;}
.msg-reply{margin-top:auto;padding-top:16px;}
.msg-reply textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.88rem;background:var(--bg);color:var(--text);font-family:inherit;resize:vertical;}
.msg-reply-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;}
.msg-to-wrap{position:relative;}
.msg-user-results{position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:9px;box-shadow:var(--shadow-md);max-height:220px;overflow-y:auto;}
.msg-user-item{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;cursor:pointer;font-size:.84rem;}
.msg-user-item:hover{background:var(--bg-soft);}
.msg-user-name{font-weight:600;}
.msg-user-email{color:var(--text-faint);font-size:.76rem;}
.msg-user-empty{padding:12px;text-align:center;color:var(--text-faint);font-size:.82rem;}
@media(max-width:900px){
  .msg-layout{grid-template-columns:1fr;}
  .msg-list{border-right:none;border-bottom:1px solid var(--border);max-height:none;}
  .msg-detail{max-height:none;}
}
.msg-contacts{padding:0;}
.msg-contacts-bar{display:flex;justify-content:flex-end;padding:12px 14px;border-bottom:1px solid var(--border);}
.msg-contact-list{overflow-y:auto;max-height:560px;}
.msg-contact-actions{flex-direction:row;align-items:center;}

/* agent market */
.am-card{cursor:pointer;}
.am-desc{min-height:2.2em;}
.am-icon-fallback{display:flex;align-items:center;justify-content:center;font-size:1.8rem;}
.am-pagination{max-width:1200px;margin:0 auto;padding:0 24px 32px;display:flex;justify-content:center;align-items:center;gap:14px;}
.am-page-info{font-size:.82rem;color:var(--text-dim);}
.am-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:6px;}
.am-detail-head .assoc-card-logo{margin:0;width:64px;height:64px;flex-shrink:0;}
.am-field{margin-top:12px;}
.am-label{display:block;font-size:.7rem;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.am-value{font-size:.88rem;color:var(--text);line-height:1.7;word-break:break-word;}
.am-card-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;}
.am-card-actions .btn-sm{padding:6px 10px;font-size:.76rem;justify-content:center;text-align:center;}
.am-detail-add{margin-left:auto;flex-shrink:0;}
.am-chat{margin-top:18px;border-top:1px solid var(--border);padding-top:14px;}
.am-chat-title{font-weight:700;font-size:.9rem;margin-bottom:10px;}
.am-chat-thread{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding:4px 2px;}
.am-bubble{max-width:82%;padding:9px 13px;border-radius:14px;font-size:.86rem;line-height:1.6;word-break:break-word;}
.am-bubble.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px;}
.am-bubble.agent{align-self:flex-start;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px;}
.am-bubble.am-thinking{color:var(--text-faint);font-style:italic;}
.am-chat-error{align-self:center;font-size:.78rem;color:#dc2626;}
.am-chat-input{display:flex;gap:8px;margin-top:10px;}
.am-chat-input input{flex:1;padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.88rem;background:var(--bg);color:var(--text);font-family:inherit;}
.msg-tag{display:inline-block;padding:0 6px;margin-left:4px;background:var(--primary-soft);color:var(--primary);border-radius:6px;font-size:.64rem;font-weight:700;vertical-align:middle;}

/* A2A Chatroom */
.a2a-create{max-width:1200px;margin:0 auto 22px;padding:20px 24px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.a2a-create h3{font-size:1.05rem;font-weight:700;margin-bottom:14px;}
.a2a-form{display:flex;flex-direction:column;gap:12px;}
.a2a-types{display:flex;gap:10px;flex-wrap:wrap;}
.a2a-type{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;}
.a2a-type:has(input:checked){border-color:var(--primary);background:var(--primary-soft);}
.a2a-type b{font-size:.9rem;}
.a2a-type i{font-style:normal;font-size:.75rem;color:var(--text-dim);line-height:1.5;}
.a2a-form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.a2a-rooms-title{max-width:1200px;margin:0 auto 12px;font-size:1.05rem;font-weight:700;}
.a2a-rooms{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}
.a2a-empty{grid-column:1/-1;padding:36px;text-align:center;color:var(--text-faint);background:var(--bg-soft);border-radius:var(--radius);}
.a2a-room-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;}
.a2a-room-card-top{display:flex;gap:8px;align-items:center;}
.a2a-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.68rem;font-weight:700;}
.a2a-badge-private{background:#eef0fe;color:var(--primary);}
.a2a-badge-group{background:#ecfdf5;color:#047857;}
.a2a-badge-a2a{background:#fef3c7;color:#b45309;}
.a2a-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.68rem;font-weight:700;background:var(--bg-soft);color:var(--text-dim);}
.a2a-status-active{background:#ecfdf5;color:#047857;}
.a2a-status-completed{background:#eef0fe;color:var(--primary);}
.a2a-status-stopped{background:#fef2f2;color:#b91c1c;}
.a2a-turns{font-size:.72rem;color:var(--text-faint);}
.a2a-room-name{font-size:1.02rem;font-weight:700;}
.a2a-room-meta{font-size:.78rem;color:var(--text-dim);}
.a2a-room-acts{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap;}

.a2a-room-top{max-width:900px;margin:0 auto 12px;display:flex;flex-direction:column;gap:8px;}
.a2a-room-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.a2a-room-head h1{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:700;}
.a2a-host{font-size:.82rem;color:var(--text-dim);}
.a2a-room-actions{display:flex;gap:8px;}
.a2a-goals{max-width:900px;margin:0 auto 12px;display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:var(--bg-soft);border-radius:10px;font-size:.82rem;color:var(--text-dim);}
.a2a-chat{max-width:900px;margin:0 auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.a2a-messages{list-style:none;margin:0;padding:18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;min-height:320px;max-height:62vh;}
.a2a-msg{max-width:82%;display:flex;flex-direction:column;gap:3px;}
.a2a-msg-user{align-self:flex-end;}
.a2a-msg-agent{align-self:flex-start;}
.a2a-msg-system{align-self:center;max-width:94%;}
.a2a-msg-sys{font-size:.75rem;color:var(--text-faint);text-align:center;font-style:italic;}
.a2a-msg-head{display:flex;gap:8px;align-items:baseline;font-size:.72rem;color:var(--text-faint);}
.a2a-msg-user .a2a-msg-head{justify-content:flex-end;}
.a2a-msg-author{font-weight:700;color:var(--text-dim);}
.a2a-msg-body{padding:10px 14px;border-radius:14px;font-size:.88rem;line-height:1.65;word-break:break-word;overflow-wrap:anywhere;}
.a2a-msg-user .a2a-msg-body{background:var(--primary);color:#fff;border-bottom-right-radius:4px;}
.a2a-msg-agent .a2a-msg-body{background:var(--bg-soft);border:1px solid var(--border);border-bottom-left-radius:4px;}
.a2a-msg-agent .a2a-msg-body p{margin:0 0 .5em;}
.a2a-msg-agent .a2a-msg-body p:last-child{margin-bottom:0;}
.a2a-thinking{max-width:900px;margin:6px auto 0;padding:0 20px;font-size:.78rem;color:var(--text-faint);font-style:italic;}
.a2a-composer{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--border);align-items:flex-end;}
.a2a-composer textarea{flex:1;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;font-size:.9rem;font-family:inherit;resize:vertical;background:var(--bg);color:var(--text);}
.a2a-vc-type{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--border);align-items:center;width:100%;}
.a2a-vc-type input{flex:1 1 100%;width:100%;min-width:0;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;font-size:.9rem;background:var(--bg);color:var(--text);font-family:inherit;}
.a2a-vc-type input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.a2a-readonly{padding:12px 18px;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-faint);text-align:center;}
@media (max-width:640px){
  .a2a-msg{max-width:94%;}
  .a2a-room-head h1{font-size:1.1rem;}
}
.a2a-hist-sel{padding:6px 10px;border:1px solid var(--border-strong);border-radius:8px;font-size:.8rem;background:var(--bg);color:var(--text);max-width:220px;}
.a2a-tts{border:none;background:none;cursor:pointer;font-size:.72rem;padding:0 2px;opacity:.55;}
.a2a-tts:hover{opacity:1;}
.a2a-mic.is-active{color:#dc2626;border-color:#dc2626;animation:a2a-mic-pulse 1.2s infinite;}
@keyframes a2a-mic-pulse{0%,100%{opacity:1;}50%{opacity:.4;}}

/* ETAI Plaza — system-wide A2A room */
.a2a-badge-system{background:#e0e7ff;color:#4338ca;}
.a2a-syswide-head-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.a2a-syswide-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);color:var(--text-dim);background:var(--bg-soft);}
.a2a-syswide-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;}
.a2a-syswide-badge-live{color:#b91c1c;background:#fee2e2;border-color:#fecaca;}
.a2a-syswide-badge-live::before{background:#dc2626;animation:a2aSysPulse 1.4s ease-in-out infinite;}
@keyframes a2aSysPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(220,38,38,.35);}50%{opacity:.6;box-shadow:0 0 0 5px rgba(220,38,38,0);}}
.a2a-syswide-badge-idle{color:#047857;background:#ecfdf5;border-color:#a7f3d0;}
.a2a-syswide-badge-disabled{color:#92400e;background:#fef3c7;border-color:#fde68a;}
.a2a-syswide-subject{margin:0 0 10px;font-size:.8rem;color:var(--text-dim);}
.a2a-syswide-chat{display:flex;flex-direction:column;gap:10px;max-width:680px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:16px 18px;}
.a2a-syswide-messages{min-height:220px;max-height:46vh;padding:14px;gap:12px;}
.a2a-syswide-chat .a2a-msg{max-width:92%;}
.a2a-syswide-msg{animation:a2aSysIn .3s ease;}
@keyframes a2aSysIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.a2a-sysdiv{font-size:.75rem;color:var(--text-faint);text-align:center;font-style:italic;}
.a2a-sysdiv-subject{font-style:normal;font-weight:700;color:var(--text-dim);border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);padding:6px 4px;}
.a2a-sysdiv-skip{opacity:.7;}
.a2a-action{font-style:normal;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:6px auto;max-width:560px;padding:8px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;font-size:.78rem;color:var(--text-dim);}
.a2a-action-ic{font-size:.95rem;}
.a2a-action-label{font-weight:600;color:var(--text);}
.a2a-action-note{color:var(--text-faint);font-size:.72rem;}
.a2a-action-fmt{padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:.66rem;font-weight:700;letter-spacing:.04em;color:var(--text-dim);}
.a2a-action-dl{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--primary);color:#fff;font-weight:700;font-size:.74rem;text-decoration:none;}
.a2a-action-dl:hover{opacity:.9;}
.a2a-action-spin{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:a2aActSpin .8s linear infinite;}
@keyframes a2aActSpin{to{transform:rotate(360deg);}}
.a2a-action-proposal_failed{border-color:#fecaca;background:#fef2f2;}
.a2a-mention{font-weight:700;color:var(--primary);}
.a2a-sys-banner{max-width:900px;margin:0 auto 12px;display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;font-size:.82rem;color:var(--text-dim);}
.a2a-sys-banner-title{font-weight:700;color:var(--text);}
.a2a-sys-banner.is-live{border-color:#fecaca;}
.a2a-sys-banner.is-live .a2a-sys-banner-state{color:#b91c1c;font-weight:700;}
.a2a-sys-banner.is-disabled{background:#fef3c7;border-color:#fde68a;color:#92400e;}
.a2a-sys-raise{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--border);align-items:center;}
.a2a-sys-raise input{flex:1;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;font-size:.9rem;font-family:inherit;background:var(--bg);color:var(--text);}
.a2a-sys-agentpost{padding-top:0;}
.a2a-sys-agentpost select{max-width:220px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;font-size:.85rem;font-family:inherit;background:var(--bg);color:var(--text);cursor:pointer;}
.a2a-sys-agentpost select:disabled,.a2a-sys-agentpost input:disabled{opacity:.5;}
.a2a-sys-raise-help{max-width:900px;margin:6px auto 0;padding:0 18px;font-size:.72rem;color:var(--text-faint);}
@media (max-width:640px){.a2a-syswide-chat .a2a-msg{max-width:96%;}}

/* Referral (My Network) */
.ref-cta{max-width:640px;margin:0 auto;text-align:center;padding:40px 24px;}
.ref-cta p{color:var(--text-dim);margin:8px 0 18px;}
.ref-stats{display:flex;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.ref-stat{flex:1;min-width:120px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;flex-direction:column;gap:2px;}
.ref-stat b{font-size:1.4rem;color:var(--primary);}
.ref-stat span{font-size:.78rem;color:var(--text-dim);}
.panel-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px;margin-bottom:18px;}
.ref-tabs{display:flex;gap:8px;margin:12px 0 16px;border-bottom:1px solid var(--border);padding-bottom:10px;}
.ref-tab{border:1px solid var(--border-strong);background:var(--bg);color:var(--text-dim);border-radius:8px;padding:6px 14px;font-size:.84rem;cursor:pointer;}
.ref-tab.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.ref-sub-title{margin:18px 0 8px;font-size:.9rem;color:var(--text-dim);}
.ref-inv-form{display:flex;flex-direction:column;gap:10px;max-width:520px;}
.ref-inv-list{display:flex;flex-direction:column;gap:8px;}
.ref-inv-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:10px;}
.ref-inv-main{min-width:200px;}
.ref-inv-email{color:var(--text-dim);font-size:.82rem;margin-left:6px;}
.ref-inv-meta{display:flex;align-items:center;gap:8px;font-size:.78rem;}
.ref-inv-rem{color:var(--text-faint);font-size:.75rem;}
.ref-inv-actions{margin-left:auto;display:flex;gap:6px;}
.ref-qr-card{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);}
.ref-qr-img img{display:block;width:170px;height:170px;border-radius:10px;background:#fff;padding:8px;border:1px solid var(--border);}
.ref-qr-meta{flex:1;min-width:220px;display:flex;flex-direction:column;gap:8px;}
.ref-qr-note{font-size:.84rem;color:var(--text-dim);margin:0;}
.ref-qr-link{display:block;font-size:.74rem;color:var(--text-faint);word-break:break-all;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:7px 9px;}
.ref-qr-actions{display:flex;gap:8px;flex-wrap:wrap;}
.ref-qr-wrap{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;}
.ref-qr-img{width:220px;height:220px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:8px;}
.ref-qr-side{flex:1;min-width:260px;display:flex;flex-direction:column;gap:10px;}
.ref-copy-row{display:flex;gap:8px;}
.ref-copy-row input{flex:1;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;font-size:.85rem;background:var(--bg);color:var(--text);}
.ref-discount-note{font-size:.82rem;color:var(--green);}
.ref-qr-actions{display:flex;gap:8px;}
.ref-tree-list{display:flex;flex-direction:column;gap:8px;}
.ref-member{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;}
.ref-member-name{font-weight:600;}
.ref-member-date{margin-left:auto;font-size:.78rem;color:var(--text-faint);}
.ref-tree-tools{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;}
.ref-search{display:flex;gap:8px;}
.ref-search input{flex:1;padding:8px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);font-size:.84rem;}
.ref-search input:focus{outline:none;border-color:var(--primary);}
.ref-tab.locked{opacity:.75;}
.ref-tree-pager{margin-top:10px;text-align:center;}
.ref-region-tag{font-size:.74rem;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);border-radius:99px;padding:2px 10px;}
.ref-path{font-size:.76rem;color:var(--text-faint);width:100%;margin-top:2px;}
.ref-locked{text-align:center;padding:26px 16px;border:1px dashed var(--border-strong);border-radius:12px;display:flex;flex-direction:column;gap:10px;align-items:center;}
.ref-locked b{font-size:1.05rem;}
.ref-locked p{color:var(--text-dim);font-size:.84rem;max-width:420px;}
.ref-infl-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.ref-infl-note{color:var(--text-dim);font-size:.82rem;margin-top:8px;}
.ref-infl-progress{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.ref-infl-bar{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-dim);}
.ref-prog{height:8px;border-radius:99px;background:var(--bg-soft);border:1px solid var(--border);overflow:hidden;}
.ref-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8b5cf6);border-radius:99px;}

/* ===== SUPPORT TICKETS ===== */
.support-layout{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start;margin-bottom:22px;}
.sup-list{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto;}
.sup-item{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;}
.sup-item:hover{border-color:var(--primary);}
.sup-item.active{border-color:var(--primary);background:var(--primary-soft);}
.sup-item-top{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:.86rem;}
.sup-item-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sup-item-sub{font-size:.74rem;color:var(--text-faint);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.sup-badge{font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:99px;border:1px solid var(--border-strong);white-space:nowrap;}
.sup-st-open{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd;}
.sup-st-pending_user{background:#fef9c3;color:#a16207;border-color:#fde047;}
.sup-st-in_progress{background:#e0f2fe;color:#0369a1;border-color:#7dd3fc;}
.sup-st-resolved{background:#dcfce7;color:#15803d;border-color:#86efac;}
.sup-st-closed{background:#f1f5f9;color:#64748b;border-color:#cbd5e1;}
.sup-prio-urgent{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}
.sup-prio-high{background:#ffedd5;color:#c2410c;border-color:#fdba74;}
.sup-prio-normal{background:#f1f5f9;color:#475569;border-color:#cbd5e1;}
.sup-prio-low{background:#f8fafc;color:#94a3b8;border-color:#e2e8f0;}
.sup-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.sup-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:.82rem;color:var(--text-dim);}
.sup-reopen-hint{font-size:.74rem;color:var(--text-faint);}
.sup-thread{display:flex;flex-direction:column;gap:10px;max-height:440px;overflow-y:auto;padding:4px 2px;margin-bottom:14px;}
.sup-msg{max-width:86%;padding:10px 14px;border-radius:14px;font-size:.86rem;}
.sup-msg-user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px;}
.sup-msg-staff{align-self:flex-start;background:var(--bg-soft);border:1px solid var(--border);border-bottom-left-radius:4px;}
.sup-msg-internal{align-self:flex-start;background:#fffbeb;border:1px dashed #f59e0b;border-bottom-left-radius:4px;}
.sup-msg-system{align-self:center;font-size:.74rem;color:var(--text-faint);}
.sup-msg-head{display:flex;gap:10px;align-items:center;font-size:.72rem;margin-bottom:4px;opacity:.85;}
.sup-msg-head span:last-child{margin-left:auto;}
.sup-atts{margin-top:8px;font-size:.76rem;display:flex;flex-direction:column;gap:4px;}
.sup-msg-user .sup-atts a{color:#fff;text-decoration:underline;}
.sup-compose textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.86rem;resize:vertical;}
.sup-compose-foot{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap;}
.sup-compose-foot input[type=file]{font-size:.76rem;color:var(--text-faint);flex:1;min-width:180px;}
.sup-compose-foot .btn-sm{margin-left:auto;}
.support-new-card .sup-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.support-new-card .sup-compose-foot .btn-primary{margin-left:auto;}
.sla-hot{color:#dc2626;}
.sup-sla-hot b{color:#dc2626;}
.atd-controls{flex-wrap:wrap;gap:8px;}
.atd-controls select{padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg);color:var(--text);font-size:.82rem;}
.atd-thread .sup-msg-head span{color:var(--text-faint);}
.atd-context{margin-top:10px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--bg-soft);font-size:.82rem;}
.atd-excerpt{margin-top:6px;white-space:pre-wrap;font-size:.76rem;color:var(--text-dim);max-height:160px;overflow-y:auto;font-family:inherit;}
.atd-canned{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap;}
.admin-pager{display:flex;gap:6px;align-items:center;margin-top:14px;justify-content:center;}
@media(max-width:900px){.support-layout{grid-template-columns:1fr;}.support-new-card .sup-form-row{grid-template-columns:1fr;}}

/* ===== PROFILE / QUALIFICATION ===== */
.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;margin-bottom:22px;}
.pf-badges-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pf-badge{font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:99px;border:1px solid var(--border-strong);opacity:.55;}
.pf-badge-on{opacity:1;background:#dcfce7;border-color:#86efac;color:#15803d;}
.pf-badge-pending{opacity:1;background:#fef9c3;border-color:#fde047;color:#a16207;}
.pf-badge-count{font-size:.74rem;color:var(--text-faint);}
.pf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pf-verif-list{display:flex;flex-direction:column;gap:8px;margin:10px 0;}
.pf-verif-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);flex-wrap:wrap;font-size:.84rem;}
.pf-verif-label{color:var(--text-dim);}
.pf-verif-reject{color:#dc2626;font-size:.76rem;width:100%;}
.pf-verif-form{border-top:1px dashed var(--border-strong);padding-top:12px;}
.pf-verif-form input[type=file]{font-size:.76rem;color:var(--text-faint);width:100%;margin-bottom:8px;}
.pf-agent-list{display:flex;flex-direction:column;gap:10px;}
.pf-agent-item{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);}
.pf-agent-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pf-agent-badges{display:flex;gap:6px;align-items:center;margin-top:6px;font-size:.9rem;}
.pf-badge-chip{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-soft);border:1px solid var(--border);}
.pf-agent-rating{font-size:.78rem;color:var(--text-dim);margin-left:6px;}
.pf-agent-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.pf-cv-section{margin-bottom:18px;}
.pf-cv-row{display:grid;grid-template-columns:2fr 1.4fr .8fr auto;gap:8px;margin-bottom:8px;align-items:center;}
.pf-cv-row.exp{grid-template-columns:1.4fr 1.2fr .9fr auto;}
.pf-cv-row textarea{grid-column:1 / -1;}
.pf-cv-row input,.pf-cv-row textarea{padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg);color:var(--text);font-size:.82rem;box-sizing:border-box;width:100%;font-family:inherit;}
.pf-cv-row .cv-ref{grid-column:1 / 3;}
.am-trust-row{display:flex;gap:8px;align-items:center;justify-content:center;margin:6px 0 2px;flex-wrap:wrap;font-size:.78rem;}
.am-badge-verified{background:#dcfce7;color:#15803d;border:1px solid #86efac;border-radius:99px;padding:2px 10px;font-weight:700;}
.am-badge-icons{letter-spacing:2px;}
.am-badge-rating{color:#b45309;font-weight:700;}
.am-star{background:none;border:none;font-size:26px;color:#d1d5db;cursor:pointer;padding:0 2px;}
.am-star.on{color:#f59e0b;}
.am-rate-stars{display:flex;justify-content:center;gap:4px;margin:10px 0;}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr;}.pf-form-row{grid-template-columns:1fr;}}

/* ===== ASSOC EVENTS (types/coupons) ===== */
.assoc-coupon{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px dashed #d97706;border-radius:8px;padding:6px 10px;font-size:.8rem;width:fit-content;max-width:100%;}
.assoc-coupon-code{font-family:ui-monospace,Menlo,monospace;font-weight:700;color:#92400e;letter-spacing:.06em;}
.agent-item-cta{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:default;}
.agent-item-cta-text{color:var(--primary);font-size:.82rem;font-weight:600;}
.agent-promo-btn{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #d97706;color:#92400e;font-size:.74rem;font-weight:700;padding:4px 10px;border-radius:99px;cursor:pointer;white-space:nowrap;}
.agent-promo-btn:hover{filter:brightness(1.05);}
.promo-page-layout{display:grid;grid-template-columns:400px 1fr;gap:22px;align-items:start;}
#agent-promo-page .panel-card h3{font-size:1rem;font-weight:700;margin-bottom:12px;}
.promo-fgroup{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:14px;background:var(--bg-soft);min-width:0;}
.promo-fgroup .vfs-field{min-width:0;}
.promo-fgroup input[type=datetime-local],.promo-fgroup input[type=text],.promo-fgroup input[type=number],.promo-fgroup select{width:100%;box-sizing:border-box;min-width:0;}
.promo-fgroup-title{font-size:.84rem;font-weight:700;color:var(--text);margin-bottom:10px;}
.promo-fgroup .admin-cell-sub{font-size:.72rem;color:var(--text-faint);}
.promo-loc-details{margin-top:8px;}
.promo-loc-details summary{cursor:pointer;font-size:.8rem;color:var(--text-dim);font-weight:600;}
.promo-detail{border-top:1px dashed var(--border-strong);margin-top:10px;padding-top:10px;}
.pm-detail-box{margin-top:10px;}
.pm-codes{display:flex;flex-direction:column;gap:6px;margin:8px 0;}
.pm-code-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8rem;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);}
.pm-code-row code{font-family:ui-monospace,Menlo,monospace;font-weight:700;letter-spacing:.04em;}
.pm-code-row .admin-cell-sub{flex:1;min-width:120px;}
.promo-detail input,.promo-detail select{width:100%;box-sizing:border-box;min-width:0;}
.promo-loc-list{display:flex;flex-direction:column;gap:6px;margin:8px 0;}
.promo-loc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8rem;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);}
.promo-loc .admin-cell-sub{flex:1;min-width:140px;}
@media(max-width:900px){.promo-page-layout{grid-template-columns:1fr;}}
.ref-empty{color:var(--text-faint);font-size:.85rem;padding:12px 4px;}
.ref-upline-body{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ref-hint{font-size:.8rem;color:var(--text-dim);margin-top:6px;}
.ref-hint.ok{color:var(--green);}
.ref-hint.err{color:var(--rose);}
.ct-sub{font-size:.78rem;color:var(--text-faint);}
.ct-actions{margin-left:auto;display:flex;gap:4px;align-items:center;}
.ct-cam-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.ct-cam-btn{cursor:pointer;}
.ct-thumb{width:64px;height:44px;object-fit:cover;border:1px solid var(--border);border-radius:6px;}
#ctModal .vfs-modal-card{max-height:92vh;overflow-y:auto;}
input.is-locked{background:var(--bg-soft);color:var(--text-dim);}

/* Commission (My Commissions tab) */
.cm-filters{display:flex;gap:8px;align-items:center;margin:10px 0;flex-wrap:wrap;}
.cm-filters input[type=month],.cm-filters select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);color:var(--text);}
.cm-pager{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:10px;}
.ref-comm .ref-member b{margin-left:auto;}

/* Referral leaderboard (Phase 4 #16) */
.ref-board .ref-member b:last-child{margin-left:auto;}
.ref-lb-rank{min-width:36px;color:var(--text-faint);}
.ref-lb-you{font-size:.78rem;color:var(--accent);font-weight:600;}
.ref-lb-me{border-color:var(--accent);background:var(--bg-soft);}

/* Helper Images (admin) */
.hi-warn{border-color:var(--rose);color:var(--rose);font-size:.84rem;}
.hi-queue{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.hi-chip{display:flex;align-items:center;gap:8px;border:1px dashed var(--border);border-radius:10px;padding:6px 10px;font-size:.76rem;color:var(--text-dim);max-width:100%;}
.hi-chip .ig-spinner{width:14px;height:14px;border-width:2px;flex:none;}
.hi-chip-failed{border-style:solid;color:var(--rose);}
.hi-msg{font-size:.8rem;min-height:1.2em;margin-top:8px;color:var(--text-dim);}
.hi-gallery{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));}
.hi-thumb img{height:130px;object-fit:cover;}
.hi-prompt{font-size:.74rem;color:var(--text-dim);margin-top:5px;max-height:2.7em;overflow:hidden;word-break:break-word;}
.hi-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.hi-badge{font-size:.64rem;padding:2px 7px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint);background:var(--bg-soft);}
.hi-tc-light{background:#1a1a1a;border-color:#444;color:#eee;}
.hi-tc-dark{background:#f2f2f2;border-color:#ccc;color:#222;}
.hi-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
/* Helper Images generate form (2 columns) */
.hi-gen-form{display:grid;grid-template-columns:2fr 1fr;gap:16px;max-width:none;align-items:start;}
.hi-gen-prompts{display:flex;flex-direction:column;gap:14px;}
.hi-prompt-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;}
.hi-gen-prompts textarea{min-height:150px;}
.hi-gen-settings{display:flex;flex-direction:column;gap:14px;}
.hi-no-text{flex-direction:row!important;align-items:center;gap:8px!important;}
.hi-no-text input{width:auto;}
.hi-no-text span{font-size:.8rem;font-weight:600;color:var(--text-dim);}
.hi-custom-input{margin-top:6px;}
.hi-gen-submit{grid-column:1 / -1;justify-self:start;}
.hi-gen-form .hi-msg{grid-column:1 / -1;min-height:0;margin-top:-6px;}
@media (max-width:860px){.hi-gen-form{grid-template-columns:1fr;}.hi-gen-prompts textarea{min-height:140px;}}

/* ═══════════════════════════════════════════════════════════════
   ETSP × ETAI VISUAL DECK — light-spectrum landing system
   ═══════════════════════════════════════════════════════════════ */
:root{
  --vd-pearl:#FCFCF8;--vd-mist:#F2F4F1;--vd-silver-2:#DDE4E2;--vd-silver-4:#AEBEBC;
  --vd-teal-9:#173F40;--vd-teal-7:#366466;--vd-gold-6:#B9871E;--vd-gold-4:#D8B357;
  --vd-cyan-5:#78D7DD;--vd-cyan-2:#D7F4F2;--vd-rose-5:#B97D91;--vd-rose-2:#F0DDE4;
  --vd-ink:#173638;--vd-body:#2C4B4D;
  --vd-serif:'DM Serif Display','Cormorant Garamond','Noto Serif TC',serif;
  --vd-sans:'Inter','Manrope','Noto Sans TC',sans-serif;
  --vd-mono:'IBM Plex Mono',ui-monospace,monospace;
}
body.page-home{background:var(--vd-pearl);}
.vd-page{font-family:var(--vd-sans);color:var(--vd-body);background:var(--vd-pearl);}
.vd-page ::selection{background:var(--vd-cyan-2);color:var(--vd-ink);}
.vd-page a:focus-visible,.vd-page button:focus-visible{outline:2px solid var(--vd-cyan-5);outline-offset:2px;}

/* ——— layout shell ——— */
.vd-sec{position:relative;padding:clamp(88px,9vw,140px) 0 108px;overflow:hidden;background:var(--vd-pearl);}
.vd-sec--mist{background:var(--vd-mist);}
.vd-container{width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(20px,5.5vw,88px);}
.vd-sec [id^="vd-"]{scroll-margin-top:92px;}

/* gold baseline — metadata left, index right */
.vd-base{position:absolute;left:clamp(20px,5.5vw,88px);right:clamp(20px,5.5vw,88px);bottom:0;height:38px;display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--vd-gold-4);font-family:var(--vd-mono);font-size:11px;font-weight:500;letter-spacing:.18em;color:var(--vd-silver-4);text-transform:uppercase;pointer-events:none;}

/* ——— typography ——— */
.vd-eyebrow{font-family:var(--vd-mono);font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--vd-rose-5);margin:0 0 16px;}
.vd-eyebrow--num{color:var(--vd-gold-6);margin:0 14px 16px 0;display:inline-block;}
.vd-h1{font-family:var(--vd-serif);font-weight:400;font-size:clamp(2.35rem,4.3vw,3.9rem);line-height:1.14;letter-spacing:-.005em;color:var(--vd-ink);margin:0 0 6px;}
.vd-h2{font-family:var(--vd-serif);font-weight:400;font-size:clamp(1.85rem,3vw,2.75rem);line-height:1.2;color:var(--vd-ink);margin:0 0 18px;}
.vd-h2--center{text-align:center;}
.vd-h2--final{font-size:clamp(2rem,3.6vw,3.2rem);}
.vd-rule{display:block;width:64px;height:2px;background:linear-gradient(90deg,var(--vd-gold-4),var(--vd-gold-6));margin:24px 0;}
.vd-seq{font-family:var(--vd-mono);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--vd-teal-7);margin:0 0 20px;}
.vd-lede{font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.75;color:var(--vd-body);margin:0 0 10px;}
.vd-lede--center{max-width:640px;margin:0 auto 10px;text-align:center;}
.vd-close-line{font-family:var(--vd-serif);font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.6;color:var(--vd-ink);margin:28px 0 0;padding-top:20px;border-top:1px dashed var(--vd-silver-2);}
.vd-close-line--center{max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}
.vd-reassure{font-size:.9rem;line-height:1.7;color:var(--vd-teal-7);margin:20px 0 0;}
.vd-qual{font-family:var(--vd-mono);font-size:11.5px;line-height:1.8;letter-spacing:.02em;color:var(--vd-rose-5);margin:22px 0 0;padding:14px 16px;border-left:2px solid var(--vd-rose-2);background:rgba(240,221,228,.32);}
.vd-terms{font-family:var(--vd-mono);font-size:11.5px;line-height:1.8;letter-spacing:.02em;color:var(--vd-silver-4);text-align:center;max-width:760px;margin:22px auto 0;}
.vd-fee{display:inline-block;font-family:var(--vd-mono);font-size:12.5px;font-weight:500;letter-spacing:.05em;color:var(--vd-gold-6);border:1px dashed rgba(185,135,30,.5);background:rgba(247,237,212,.35);padding:9px 16px;margin:6px 0 18px;}

/* ——— lists ——— */
.vd-lines{list-style:none;counter-reset:vdl;margin:24px 0 0;display:flex;flex-direction:column;gap:16px;}
.vd-lines li{counter-increment:vdl;position:relative;padding-left:44px;font-size:.98rem;line-height:1.75;color:var(--vd-body);}
.vd-lines li::before{content:"0" counter(vdl);position:absolute;left:0;top:4px;font-family:var(--vd-mono);font-size:11px;letter-spacing:.1em;color:var(--vd-gold-6);}
.vd-lines li::after{content:'';position:absolute;left:26px;top:8px;width:8px;height:1px;background:var(--vd-gold-4);}
.vd-plain-lines{list-style:none;margin:22px 0 0;display:flex;flex-direction:column;gap:14px;}
.vd-plain-lines li{position:relative;padding-left:26px;font-size:.98rem;line-height:1.7;color:var(--vd-body);}
.vd-plain-lines li::before{content:'';position:absolute;left:0;top:.72em;width:12px;height:12px;border:1px solid var(--vd-gold-4);border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--vd-gold-4) 0 2.5px,transparent 3px);}
.vd-feats{list-style:none;margin:26px 0 0;display:flex;flex-direction:column;}
.vd-feats li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--vd-silver-2);}
.vd-feats li:last-child{border-bottom:none;}
.vd-feats h3{font-family:var(--vd-serif);font-weight:400;font-size:1.08rem;line-height:1.4;color:var(--vd-ink);}
.vd-feats p{font-size:.92rem;line-height:1.7;color:var(--vd-body);}

/* ——— panels & buttons ——— */
.vd-panel{background:rgba(252,252,248,.92);border:1px solid rgba(216,179,87,.38);border-radius:6px;padding:clamp(28px,3.2vw,46px);backdrop-filter:blur(6px);}
.vd-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px;}
.vd-actions--center{justify-content:center;}
.vd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 26px;border-radius:4px;font-family:var(--vd-sans);font-size:.93rem;font-weight:700;letter-spacing:.02em;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;}
.vd-btn-lg{min-height:52px;padding:12px 32px;font-size:1rem;}
.vd-btn-gold{background:linear-gradient(120deg,#FCFCF8 30%,#F7EDD4);border:1px solid var(--vd-gold-6);color:var(--vd-teal-9);box-shadow:0 1px 0 rgba(185,135,30,.15);}
.vd-btn-gold:hover{background:linear-gradient(120deg,#F7EDD4,#EFD9A0);}
.vd-btn-ghost{background:transparent;border:1px solid var(--vd-silver-4);color:var(--vd-teal-7);}
.vd-btn-ghost:hover{border-color:var(--vd-gold-6);color:var(--vd-gold-6);}

/* ——— hero ——— */
.vd-hero{min-height:100vh;display:flex;align-items:center;padding:128px 0 110px;}
.vd-hero-world{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#FCFCF8 0%,#F2F4F1 46%,#DDE4E2 100%);}
.vd-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:43fr 57fr;gap:clamp(24px,3.5vw,56px);align-items:center;width:100%;}
.vd-hero-panel{max-width:610px;}
.vd-hero-right{display:flex;justify-content:center;}
.vd-scroll{position:absolute;left:50%;bottom:52px;transform:translateX(-50%);z-index:1;font-family:var(--vd-mono);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--vd-silver-4);animation:vd-scroll-pulse 2.6s ease-in-out infinite;}
@keyframes vd-scroll-pulse{0%,100%{opacity:.5;}50%{opacity:1;}}

/* ——— split sections ——— */
.vd-split{display:grid;grid-template-columns:minmax(0,610px) minmax(0,1fr);gap:clamp(26px,4vw,64px);align-items:center;}
.vd-split-left .vd-panel{max-width:610px;}
.vd-split-right{display:flex;flex-direction:column;gap:26px;}
.vd-world-wrap{position:relative;border:1px solid var(--vd-silver-2);border-radius:6px;overflow:hidden;background:#FCFCF8;aspect-ratio:16/10;box-shadow:0 18px 44px -24px rgba(23,63,64,.22);}
.vd-world{position:absolute;inset:0;}
.vd-world-svg{width:100%;height:100%;display:block;}

/* ——— world sections (scene behind content) ——— */
.vd-sec--world .vd-sec-world{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#FCFCF8,#F2F4F1);}
.vd-sec--world .vd-container{position:relative;z-index:1;}
.vd-sec-head{max-width:760px;margin:0 auto 14px;text-align:center;}
.vd-sec-head .vd-eyebrow--num{margin-right:12px;}

/* ——— process cards ——— */
.vd-cards-row{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:44px 0 0;}
.vd-card{background:rgba(252,252,248,.9);border:1px solid rgba(216,179,87,.32);border-radius:6px;padding:26px 26px 28px;backdrop-filter:blur(5px);box-shadow:0 14px 34px -20px rgba(23,63,64,.25);}
.vd-card-n{display:block;font-family:var(--vd-mono);font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--vd-gold-6);margin-bottom:14px;}
.vd-card h3{font-family:var(--vd-serif);font-weight:400;font-size:1.18rem;line-height:1.4;color:var(--vd-ink);margin:0 0 10px;}
.vd-card p{font-size:.92rem;line-height:1.7;color:var(--vd-body);}

/* ——— PIC³ layer cards ——— */
.vd-layer-cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:46px 0 0;}
.vd-layer-card{position:relative;background:rgba(252,252,248,.9);border:1px solid var(--vd-silver-2);border-radius:6px;padding:26px 26px 28px 30px;backdrop-filter:blur(5px);}
.vd-layer-card::before{content:'';position:absolute;top:-1px;left:22px;width:52px;height:3px;}
.vd-layer-card--gold::before{background:linear-gradient(90deg,var(--vd-gold-4),var(--vd-gold-6));}
.vd-layer-card--cyan::before{background:linear-gradient(90deg,#78D7DD,#366466);}
.vd-layer-card--rose::before{background:linear-gradient(90deg,#D3A4B4,var(--vd-rose-5));}
.vd-layer-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;vertical-align:1px;}
.vd-layer-card--gold .vd-layer-dot{background:var(--vd-gold-6);box-shadow:0 0 0 3px rgba(216,179,87,.25);}
.vd-layer-card--cyan .vd-layer-dot{background:var(--vd-teal-7);box-shadow:0 0 0 3px rgba(120,215,221,.3);}
.vd-layer-card--rose .vd-layer-dot{background:var(--vd-rose-5);box-shadow:0 0 0 3px rgba(185,125,145,.25);}
.vd-layer-k{font-family:var(--vd-mono);font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--vd-ink);}
.vd-layer-card p{font-size:.93rem;line-height:1.7;color:var(--vd-body);margin:14px 0 0;}
.vd-layer-cards + .vd-close-line--center{margin-top:34px;}

/* ——— trust rows ——— */
.vd-trust-rows{list-style:none;margin:26px 0 0;display:flex;flex-direction:column;}
.vd-trust-rows li{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--vd-silver-2);align-items:baseline;}
.vd-trust-rows li:last-child{border-bottom:none;}
.vd-trust-k{font-family:var(--vd-mono);font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--vd-gold-6);text-transform:uppercase;}
.vd-trust-rows p{font-size:.95rem;line-height:1.7;color:var(--vd-body);}

/* ——— outer-network capsules ——— */
.vd-capsules{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:46px 0 0;}
.vd-capsule{background:rgba(252,252,248,.9);border:1px solid var(--vd-silver-2);border-radius:6px;padding:24px 26px 26px;backdrop-filter:blur(5px);text-align:center;}
.vd-capsule-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-bottom:14px;}
.vd-capsule-dot--gold{background:var(--vd-gold-6);box-shadow:0 0 0 3px rgba(216,179,87,.25);}
.vd-capsule-dot--cyan{background:var(--vd-cyan-5);box-shadow:0 0 0 3px rgba(120,215,221,.3);}
.vd-capsule-dot--rose{background:var(--vd-rose-5);box-shadow:0 0 0 3px rgba(185,125,145,.25);}
.vd-capsule h3{font-family:var(--vd-serif);font-weight:400;font-size:1.18rem;color:var(--vd-ink);margin:0 0 10px;}
.vd-capsule p{font-size:.92rem;line-height:1.7;color:var(--vd-body);}

/* ——— four-tier membership — strict 2×2 editorial grid ——— */
.vd-tiers2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--vd-silver-2);border-radius:6px;background:rgba(252,252,248,.94);overflow:hidden;max-width:1040px;margin:46px auto 0;backdrop-filter:blur(5px);}
.vd-tier2{position:relative;padding:34px 38px 32px;border-right:1px solid var(--vd-silver-2);border-bottom:1px solid var(--vd-silver-2);}
.vd-tier2:nth-child(2n){border-right:none;}
.vd-tier2:nth-child(n+3){border-bottom:none;}
.vd-tier2::before{content:'';position:absolute;top:0;left:38px;width:46px;height:3px;}
.vd-tier2--teal::before{background:#7C9694;}
.vd-tier2--gold::before{background:linear-gradient(90deg,var(--vd-gold-4),var(--vd-gold-6));}
.vd-tier2--deepteal::before{background:var(--vd-teal-9);}
.vd-tier2--rose::before{background:var(--vd-rose-5);}
.vd-tier2 h3{font-family:var(--vd-serif);font-weight:400;font-size:1.32rem;color:var(--vd-ink);margin:0 0 10px;}
.vd-tier2-d{font-size:.92rem;line-height:1.7;color:var(--vd-body);margin:0 0 18px;max-width:360px;}
.vd-tier2-cta{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem;font-weight:700;letter-spacing:.02em;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease;}
.vd-tier2-cta:hover{border-bottom-color:currentColor;}
.vd-tier2--teal .vd-tier2-cta{color:#5F7B79;}
.vd-tier2--gold .vd-tier2-cta{color:var(--vd-gold-6);}
.vd-tier2--deepteal .vd-tier2-cta{color:var(--vd-teal-9);}
.vd-tier2--rose .vd-tier2-cta{color:var(--vd-rose-5);}

/* ——— final CTA ——— */
.vd-final{padding-bottom:130px;}
.vd-final-inner{display:flex;justify-content:center;}
.vd-panel--final{max-width:840px;margin:0 auto;text-align:center;padding:clamp(36px,4.5vw,64px);}
.vd-final-logo{height:52px;width:auto;display:block;margin:0 auto 26px;}
.vd-disclaimer{font-family:var(--vd-mono);font-size:11px;line-height:1.8;letter-spacing:.02em;color:var(--vd-silver-4);margin:26px 0 0;}
.vd-panel--final .vd-close-line--center{border-top:none;padding-top:0;margin-top:24px;}

/* ——— my network — downlines & associations ——— */
.vd-net-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1040px;margin:46px auto 0;}
.vd-net-card{background:rgba(252,252,248,.9);border:1px solid rgba(216,179,87,.32);border-radius:6px;padding:28px 30px 26px;backdrop-filter:blur(5px);box-shadow:0 14px 34px -20px rgba(23,63,64,.25);}
.vd-net-card::before{content:'';display:block;width:46px;height:3px;margin-bottom:18px;background:linear-gradient(90deg,var(--vd-gold-4),var(--vd-gold-6));}
.vd-net-card--rose::before{background:linear-gradient(90deg,#D3A4B4,var(--vd-rose-5));}
.vd-net-h{font-family:var(--vd-serif);font-weight:400;font-size:1.18rem;color:var(--vd-ink);margin:0 0 6px;}
.vd-net-rows{list-style:none;margin:8px 0 0;display:flex;flex-direction:column;}
.vd-net-rows li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--vd-silver-2);}
.vd-net-rows li:last-child{border-bottom:none;}
.vd-net-name{font-size:.95rem;line-height:1.6;color:var(--vd-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vd-net-meta{font-family:var(--vd-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--vd-gold-6);white-space:nowrap;}
.vd-net-card--rose .vd-net-meta{color:var(--vd-rose-5);}
.vd-net-empty{font-size:.92rem;line-height:1.7;color:var(--vd-body);margin:10px 0 0;}
.vd-net-guest{max-width:640px;margin:46px auto 0;}

/* ——— SectionVideo placeholder — pearlescent glass frame ——— */
.vd-video{margin:0;max-width:640px;}
.vd-video--full-bleed{max-width:1040px;margin:44px auto 0;}
.vd-video--floating{max-width:560px;filter:drop-shadow(0 26px 44px rgba(23,63,64,.2));}
.vd-video-frame{position:relative;aspect-ratio:16/9;border:1px solid rgba(216,179,87,.5);border-radius:6px;overflow:hidden;background:linear-gradient(180deg,#FCFCF8,#F2F4F1 55%,#E7ECEA);box-shadow:inset 0 0 64px rgba(174,190,188,.35),0 22px 44px -22px rgba(23,63,64,.22);}
.vd-video-frame::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 30%,transparent 55%,rgba(221,228,226,.5) 100%);}
.vd-accent-cyan .vd-video-frame{border-color:rgba(120,215,221,.6);}
.vd-accent-rose .vd-video-frame{border-color:rgba(185,125,145,.5);}
.vd-video-scene{position:absolute;inset:0;}
.vd-video-scene svg{width:100%;height:100%;display:block;}
.vd-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:78px;height:78px;border-radius:50%;border:1px solid var(--vd-gold-4);background:rgba(255,255,255,.72);backdrop-filter:blur(4px);color:#2FA8B0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 7px rgba(255,255,255,.45),0 12px 26px rgba(23,63,64,.16);transition:transform .18s ease,box-shadow .18s ease;}
.vd-play svg{width:30px;height:30px;margin-left:3px;}
.vd-play:hover{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 0 0 9px rgba(255,255,255,.5),0 14px 30px rgba(23,63,64,.2);}
.vd-soon{position:absolute;left:14px;bottom:12px;z-index:2;font-family:var(--vd-mono);font-size:10.5px;font-weight:500;letter-spacing:.2em;color:var(--vd-teal-7);background:rgba(252,252,248,.85);border:1px solid var(--vd-silver-2);border-radius:3px;padding:4px 9px;}
.vd-runtime{position:absolute;right:14px;bottom:12px;z-index:2;font-family:var(--vd-mono);font-size:11px;font-weight:500;color:var(--vd-teal-7);background:rgba(252,252,248,.85);border-radius:3px;padding:4px 8px;}
.vd-video-cap{display:flex;flex-direction:column;gap:4px;padding-top:15px;}
.vd-video-eyebrow{font-family:var(--vd-mono);font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--vd-rose-5);}
.vd-video-title{font-family:var(--vd-serif);font-size:1.22rem;line-height:1.35;color:var(--vd-ink);}
.vd-video-caption{font-size:.86rem;line-height:1.65;color:var(--vd-silver-4);}
.vd-video-center{display:flex;justify-content:center;}

/* ——— world motion ——— */
@keyframes vw-float-k{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes vw-float-slow-k{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes vw-route-k{0%{stroke-dashoffset:1;opacity:0;}12%{opacity:1;}70%{opacity:1;}100%{stroke-dashoffset:0;opacity:0;}}
@keyframes vw-motes-k{0%,100%{opacity:.25;}50%{opacity:.8;}}
@keyframes vw-pulse-k{0%,100%{opacity:.55;transform:scale(1);}50%{opacity:.85;transform:scale(1.045);}}
@keyframes vw-spin-k{to{transform:rotate(360deg);}}
@keyframes vw-dash-k{to{stroke-dashoffset:-48;}}
@keyframes vw-rise-k{0%{transform:translateY(0);opacity:.7;}50%{transform:translateY(-9px);opacity:1;}100%{transform:translateY(0);opacity:.7;}}
@keyframes vw-rise-line-k{to{stroke-dashoffset:-44;}}
@keyframes vw-beam-k{0%,100%{opacity:.55;}50%{opacity:.95;}}
.vw-float{animation:vw-float-k 7s ease-in-out infinite;}
.vw-float-slow{animation:vw-float-slow-k 9.5s ease-in-out infinite;}
.vw-route{stroke-dasharray:1;stroke-dashoffset:1;animation:vw-route-k 3.4s ease-in-out infinite;}
.vw-motes circle{animation:vw-motes-k 4.5s ease-in-out infinite;}
.vw-motes circle:nth-child(2n){animation-delay:1.1s;}
.vw-motes circle:nth-child(3n){animation-delay:2.2s;}
.vw-pulse{transform-box:fill-box;transform-origin:center;animation:vw-pulse-k 6s ease-in-out infinite;}
.vw-spin{transform-box:fill-box;transform-origin:center;animation:vw-spin-k 26s linear infinite;}
.vw-dash{animation:vw-dash-k 5s linear infinite;}
.vw-rise > *{animation:vw-rise-k 5s ease-in-out infinite;}
.vw-rise-line{animation:vw-rise-line-k 4s linear infinite;}
.vw-beam{animation:vw-beam-k 6.5s ease-in-out infinite;}

/* ——— hit targets ——— */
@media (pointer:coarse){
  .lang-seg{min-height:44px;padding:0 14px;}
  .vd-tier2-cta{min-height:48px;}
}

/* ——— responsive ——— */
@media(max-width:1080px){
  .vd-hero{min-height:0;padding:132px 0 104px;}
  .vd-hero-grid{grid-template-columns:1fr;}
  .vd-hero-right{order:-1;}
  .vd-hero-panel{max-width:640px;}
  .vd-split{grid-template-columns:1fr;gap:34px;}
  .vd-split-right{max-width:680px;}
  .vd-cards-row,.vd-layer-cards,.vd-capsules{grid-template-columns:1fr;max-width:640px;margin-left:auto;margin-right:auto;}
  .vd-tiers2{grid-template-columns:1fr;}
  .vd-tier2{border-right:none;border-bottom:1px solid var(--vd-silver-2);}
  .vd-tier2:last-child{border-bottom:none;}
  .vd-net-grid{grid-template-columns:1fr;max-width:640px;margin-left:auto;margin-right:auto;}
}
@media(max-width:860px){
  .vd-sec{padding:76px 0 92px;}
  .vd-hero{padding:118px 0 92px;}
  .vd-scroll{display:none;}
  .vd-world-wrap{aspect-ratio:16/11;}
  .vd-feats li{grid-template-columns:1fr;gap:6px;}
  .vd-play{width:66px;height:66px;}
}
@media(max-width:640px){
  .nav-login{display:none;}
  .nav-cta{padding:9px 14px;font-size:.82rem;}
  .vd-panel{padding:24px 20px;}
  .vd-video{max-width:100%;}
  .vd-video--floating{max-width:100%;}
  .vd-trust-rows li{grid-template-columns:1fr;gap:6px;}
  .vd-tier2{padding:26px 22px;}
  .vd-tier2::before{left:22px;}
  .vd-hero .vd-hero-right{min-height:52vh;display:flex;align-items:center;}
}

/* ——— reduced motion ——— */
@media (prefers-reduced-motion:reduce){
  .vw-float,.vw-float-slow,.vw-route,.vw-motes circle,.vw-pulse,.vw-spin,.vw-dash,.vw-rise > *,.vw-rise-line,.vw-beam,.vd-scroll{animation:none!important;}
  .vw-route{opacity:.8;stroke-dashoffset:0;}
  .vd-page .reveal{transition:none;opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* ===== Agent Marketplace (listings) ===== */
.am-tabs{display:flex;align-items:center;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.am-tab{border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:999px;padding:7px 16px;font-size:.85rem;cursor:pointer;font-family:inherit}
.am-tab.on{background:var(--primary);border-color:var(--primary);color:#fff}
.am-tab-spacer{flex:1}
.mk-logo{display:flex;align-items:center;justify-content:center;font-size:2rem}
.mk-price{font-weight:700;color:var(--primary);margin:4px 0}
.mk-note{font-size:.78rem;color:var(--muted,#888);margin:6px 0}
.mk-desc{font-size:.85rem;margin:8px 0;max-height:180px;overflow:auto}
.mk-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.mk-tag{font-size:.72rem;border:1px solid var(--border-strong);border-radius:999px;padding:2px 9px;color:var(--muted,#888)}
.mk-buy-row{display:flex;align-items:center;gap:10px;margin:10px 0}
.mk-status-badge{display:inline-block;font-size:.72rem;border-radius:999px;padding:3px 10px;border:1px solid var(--border-strong);color:var(--muted,#888)}
.mk-status-badge.st-paid,.mk-status-badge.st-completed{color:var(--green,#10b981);border-color:var(--green,#10b981)55}
.mk-status-badge.st-pending_payment{color:#b45309;border-color:#b4530955}
.mk-status-badge.st-disputed,.mk-status-badge.st-cancelled{color:var(--rose,#e11d48);border-color:var(--rose,#e11d48)55}
.mk-status-badge.st-fulfilled{color:var(--primary);border-color:var(--primary)55}
.mm-layout{grid-template-columns:1fr 1.2fr}
.mm-upgate{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}
.mm-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;margin-bottom:8px}
.mm-item.mm-off{opacity:.55}
.mm-item-main{flex:1;min-width:0}
.mm-item-name{font-weight:600}
.mm-item-meta{font-size:.78rem;color:var(--muted,#888)}
.mm-item-actions{display:flex;gap:6px}
.mm-summary{margin-bottom:14px}
.mm-sum-card h3{margin:0 0 10px}
.mm-sum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mm-sum-grid span{display:block;font-size:.74rem;color:var(--muted,#888);margin-bottom:4px}
.mm-sum-grid b{font-size:1.05rem}
.mo-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;margin-bottom:8px;flex-wrap:wrap}
.mo-main{flex:1;min-width:220px}
.mo-name{font-weight:600}
.mo-meta{font-size:.78rem;color:var(--muted,#888);margin-top:2px}
.mo-code{font-size:.78rem;margin-top:4px}
.mo-code code{background:var(--bg);border:1px solid var(--border-strong);border-radius:6px;padding:2px 7px}
.mo-side{text-align:right;min-width:150px}
.mo-amt{font-weight:700}
.mo-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:6px;flex-wrap:wrap}
@media (max-width:720px){.mm-layout{grid-template-columns:1fr}.mm-sum-grid{grid-template-columns:1fr}.mo-side{text-align:left}}
.mk-new{display:inline-block;font-size:.62rem;font-weight:800;color:#fff;background:var(--rose,#e11d48);border-radius:6px;padding:1px 6px;vertical-align:middle;margin-left:4px}
.mk-heat{font-size:.78rem;font-weight:600;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:5px 12px}
.mk-demand-post{margin-bottom:14px}
.mk-quota{font-size:.72rem;font-weight:600;color:var(--muted,#888);margin-left:8px}
.mship-card-dim{opacity:.55;filter:grayscale(.6);pointer-events:none;position:relative}
.mship-card-dim .mship-btn{cursor:not-allowed;background:var(--border-strong)!important;border-color:var(--border-strong)!important}
.mship-now-pill{display:inline-block;font-size:.68rem;font-weight:700;color:#15803d;background:#dcfce7;border:1px solid #86efac;border-radius:999px;padding:2px 10px;margin-bottom:6px}
.a2a-lobby-tabs{margin:14px 0 6px}
.a2a-badge-public{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}
.a2a-voice-console{max-width:900px;margin:0 auto 12px;display:flex;align-items:center;gap:18px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 20px}
.a2a-vc-mic{width:74px;height:74px;border-radius:50%;border:none;font-size:2rem;cursor:pointer;background:var(--primary);color:#fff;box-shadow:0 6px 20px rgba(91,91,240,.35);flex-shrink:0;font-family:inherit}
.a2a-vc-mic.is-listening{background:var(--rose,#e11d48);animation:a2a-pulse 1.2s infinite}
.a2a-vc-mic.is-busy{opacity:.5}
.a2a-vc-info{display:flex;flex-direction:column;gap:6px}
.a2a-vc-status{font-weight:700;font-size:1rem}
.a2a-vc-handsfree{font-size:.8rem;color:var(--text-dim);display:flex;align-items:center;gap:6px}
.a2a-vc-seg{font-size:.8rem;color:var(--text-dim);display:flex;align-items:center;gap:6px;cursor:pointer}
.a2a-vc-seg input{accent-color:var(--primary);cursor:pointer}
@keyframes a2a-pulse{0%{box-shadow:0 0 0 0 rgba(225,29,72,.5)}70%{box-shadow:0 0 0 16px rgba(225,29,72,0)}100%{box-shadow:0 0 0 0 rgba(225,29,72,0)}}
.a2a-live-msg{opacity:.85;border-left:3px solid var(--primary);padding-left:10px}
.a2a-live-msg .a2a-msg-body{font-style:italic}

/* A2A room — standalone fullscreen */
body.is-app-full{height:100dvh;min-height:100dvh;overflow:hidden;background:var(--bg-soft);}
.app-full-main{height:100dvh;display:flex;flex-direction:column;min-height:0;}
.a2a-room-full{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:980px;margin:0 auto;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));}
.a2a-room-full .a2a-room-top{max-width:none;margin:0 0 10px;}
.a2a-room-topbar{display:flex;align-items:center;gap:10px;}
.a2a-back-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-sm);}
.a2a-back-btn:hover{border-color:var(--primary);color:var(--primary);}
.a2a-room-full .a2a-goals{max-width:none;margin:0 0 10px;flex-shrink:0;}
.a2a-room-full .a2a-voice-console{max-width:none;margin:0 0 10px;flex-shrink:0;}
.a2a-vmeet{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px 14px;margin:0 0 10px;flex-shrink:0;}
.a2a-vmeet-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.a2a-vmeet-title{font-weight:700;font-size:.86rem;margin-right:auto;}
.a2a-vmeet-peers{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.a2a-vmeet-peer{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;font-size:.78rem;color:var(--text-dim);background:var(--bg-soft);}
.a2a-vmeet-peer small{color:var(--text-faint);font-size:.68rem;}
.a2a-vmeet-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);flex-shrink:0;}
.a2a-vmeet-peer[data-conn="connected"] .a2a-vmeet-dot{background:#22c55e;}
.a2a-vmeet-peer[data-conn="local"] .a2a-vmeet-dot{background:var(--primary);}
.a2a-vmeet-peer.is-speaking{border-color:var(--primary);color:var(--text);box-shadow:0 0 0 2px rgba(91,91,240,.18);}
.a2a-vmeet-peer.is-speaking .a2a-vmeet-dot{background:var(--primary);animation:a2aVMPulse 1s infinite;}
.a2a-vmeet-status{font-size:.74rem;color:var(--text-faint);margin-top:6px;}
@keyframes a2aVMPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.5);opacity:.6;}}
.a2a-room-full .a2a-chat{flex:1;min-height:0;max-width:none;margin:0;}
.a2a-room-full .a2a-messages{flex:1;min-height:0;max-height:none;margin:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.a2a-room-full .a2a-thinking{max-width:none;margin:6px 0 0;flex-shrink:0;}
.a2a-room-full .a2a-composer,.a2a-room-full .a2a-vc-type{flex-shrink:0;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));}
.a2a-room-full .a2a-composer textarea{resize:none;max-height:7.5em;}
@media (max-width:640px){
  .a2a-room-full{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));}
  .a2a-room-full .a2a-chat{border-radius:14px;}
  .a2a-room-full .a2a-messages{padding:12px 10px;}
  .a2a-room-full .a2a-composer,.a2a-room-full .a2a-vc-type{padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));gap:8px;}
}


/* ===== WORKSPACE SHELL (appbar + rail + dashboard canvas) ===== */
:root{--cyan:#78D7DD;--teal-ink:#173638;--teal-dim:#366466;}

/* --- application bar --- */
.appbar{position:sticky;top:0;z-index:120;display:flex;align-items:center;gap:14px;min-height:60px;padding:8px 20px;background:var(--teal-ink);color:#fff;box-shadow:var(--shadow-sm);}
.appbar-brand{display:flex;align-items:center;gap:9px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.95rem;color:#fff;flex-shrink:0;}
.appbar-brand img{width:26px;height:26px;border-radius:6px;}
.appbar-brand em{font-style:normal;color:var(--cyan);}
.appbar-ws{position:relative;flex-shrink:0;}
.appbar-ws-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:9px;border:1px solid rgba(120,215,221,.28);background:rgba(120,215,221,.08);color:#d9f2f4;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;}
.appbar-ws-btn:hover{background:rgba(120,215,221,.16);}
.appbar-ws-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(120,215,221,.18);}
.appbar-caret{font-size:.68rem;opacity:.75;}
.appbar-pop{position:absolute;top:calc(100% + 8px);left:0;min-width:236px;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:130;color:var(--text);}
.appbar-pop.open{display:block;animation:fadeUp .18s ease;}
.appbar-pop-title{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:8px 10px 4px;}
.appbar-pop a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;font-size:.88rem;color:var(--text-dim);}
.appbar-pop a:hover{background:var(--bg-soft);color:var(--text);}
.appbar-cur{margin-left:auto;font-size:.66rem;color:var(--teal-dim);font-weight:700;white-space:nowrap;}
.appbar-search{position:relative;flex:1;max-width:420px;margin:0 auto;min-width:120px;}
.appbar-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.5);font-size:1rem;pointer-events:none;}
.appbar-search input{width:100%;padding:9px 14px 9px 34px;border-radius:10px;border:1px solid rgba(120,215,221,.25);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:.86rem;}
.appbar-search input::placeholder{color:rgba(255,255,255,.45);}
.appbar-search input:focus{outline:none;border-color:var(--cyan);background:rgba(255,255,255,.12);}
.appbar-search-pop{left:0;right:0;min-width:0;width:100%;}
.appbar-search-pop a{justify-content:space-between;}
.as-name{font-weight:600;color:var(--text);}
.as-state{font-size:.8rem;}
.as-none{padding:12px 10px;font-size:.85rem;color:var(--text-faint);}
.as-market{font-weight:700;color:var(--primary);}
.appbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.appbar-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:none;background:transparent;color:#cfe8ea;font-size:1.05rem;cursor:pointer;}
.appbar-icon-btn:hover{background:rgba(120,215,221,.14);color:#fff;}
.appbar-tour-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;color:#cfe8ea;font-size:.8rem;cursor:pointer;user-select:none;white-space:nowrap;}
.appbar-tour-toggle:hover{background:rgba(120,215,221,.14);color:#fff;}
.appbar-tour-toggle input{width:14px;height:14px;margin:0;accent-color:var(--cyan);cursor:pointer;}
.appbar-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#e11d48;color:#fff;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;}
.appbar-bell-list a{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:9px;font-size:.84rem;color:var(--text-dim);}
.appbar-bell-list a:hover{background:var(--bg-soft);}
.appbar-bell-list time{font-size:.72rem;color:var(--text-faint);}
.appbar-bell-empty{padding:14px 10px;font-size:.85rem;color:var(--text-faint);}
.appbar-bell-kind{align-self:flex-start;display:inline-block;padding:1px 8px;border-radius:999px;font-size:.64rem;font-weight:700;line-height:1.6;letter-spacing:.02em;}
.appbar-bell-kind.k-message{background:var(--primary-soft);color:var(--primary-dark);}
.appbar-bell-kind.k-rsvp{background:#fef3c7;color:#b45309;}
.appbar-bell-kind.k-engagement{background:#ecfdf5;color:#047857;}
.appbar-lang{margin-left:4px;}
.appbar .lang-select{background:rgba(255,255,255,.06);border-color:rgba(120,215,221,.3);border-radius:8px;}
.appbar .lang-seg{color:#bfe4e7;min-height:30px;padding:0 10px;}
.appbar .lang-seg:hover{background:rgba(120,215,221,.14);color:#fff;}
.appbar .lang-seg.active{background:var(--cyan);color:var(--teal-ink);}
.appbar-profile{position:relative;}
.appbar-profile-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:none;cursor:pointer;padding:4px 6px;border-radius:10px;color:#cfe8ea;}
.appbar-profile-btn:hover{background:rgba(120,215,221,.14);color:#fff;}
.appbar-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--teal-dim));color:var(--teal-ink);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.85rem;}
.appbar-profile-menu{left:auto;right:0;min-width:200px;}
.appbar-pop-user{font-size:.82rem;font-weight:700;color:var(--text);padding:8px 10px;border-bottom:1px solid var(--border);margin-bottom:6px;word-break:break-all;}
.appbar-create{position:relative;}
.appbar-create-btn{padding:9px 16px;border-radius:10px;border:none;background:var(--cyan);color:var(--teal-ink);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;}
.appbar-create-btn:hover{background:#9ce4ea;}
.appbar-create-pop{left:auto;right:0;width:280px;}
.appbar-create-pop select{padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;font-size:.9rem;background:var(--bg);color:var(--text);font-family:inherit;width:100%;box-sizing:border-box;}
.appbar-create-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--teal-ink);color:#fff;font:inherit;font-weight:700;cursor:pointer;}
.appbar-create-submit:hover{background:#1e4a52;}

/* --- shell under appbar --- */
body.has-appbar{background:var(--bg-soft);}
body.has-appbar #dashboard{padding:0;background:var(--bg-soft);}
body.has-appbar .app-shell{padding:20px 24px 44px;max-width:1560px;}
body.has-appbar .app-sidebar{top:76px;height:calc(100vh - 76px);}
body.has-appbar #assoc-page,
body.has-appbar #vfs-page,
body.has-appbar #ig-page,
body.has-appbar #wp-builder,
body.has-appbar #page{padding-top:0;}
body.has-appbar #assoc-detail{padding:0 0 40px;}
body.has-appbar #wiki-graph-page{padding-top:0;height:auto;min-height:calc(100vh - 96px);}
body.has-appbar .vg-topbar{top:76px;}
body.has-appbar .wiki-side,
body.has-appbar .wiki-detail,
body.has-appbar .docs-preview,
body.has-appbar .wp-log-side{top:96px;}

/* --- grouped operating rail --- */
.sidebar-nav{gap:0;}
.sidebar-group{display:flex;flex-direction:column;gap:2px;padding:6px 0 10px;}
.sidebar-group + .sidebar-group{border-top:1px solid var(--border);}
.sidebar-group-label{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);padding:8px 12px 6px;}
.sidebar-link-dim{font-size:.84rem;color:var(--text-faint);}
.sidebar-link-dim:hover{color:var(--text-dim);}
.sidebar-link.active{position:relative;background:#e9f4f5;color:var(--teal-ink);font-weight:700;}
.sidebar-link.active::before{content:'';position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--cyan);}

/* --- workspace canvas --- */
.ws-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;}
.ws-main{min-width:0;display:flex;flex-direction:column;gap:20px;}
.ws-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:76px;}
.ws-greeting{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.ws-greeting-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;}
.ws-serif{font-family:'DM Serif Display','Noto Serif TC',serif;font-weight:500;font-size:1.65rem;color:var(--text);letter-spacing:-.01em;}
.ws-greeting > div > p{font-size:.9rem;color:var(--text-dim);margin-top:5px;}
.ws-feedback-btn{padding:8px 14px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-dim);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;flex-shrink:0;}
.ws-feedback-btn:hover{border-color:var(--teal-dim);color:var(--teal-ink);}

/* --- dashboard overview: stat grid + daily note --- */
.dash-overview{display:flex;flex-direction:column;gap:18px;}
.ov-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.ov-stat-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;}
.ov-stat-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.ov-stat-glyph{font-size:1.3rem;line-height:1;}
.ov-stat-value{font-family:'Space Grotesk',sans-serif;font-size:1.7rem;font-weight:700;color:var(--text);line-height:1.2;word-break:break-all;}
.ov-stat-label{font-size:.82rem;font-weight:700;color:var(--text-dim);}
.ov-stat-sub{font-size:.72rem;color:var(--text-faint);}
.daily-note{padding:18px 20px;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(135deg,var(--primary-soft),var(--bg-elev));box-shadow:var(--shadow-sm);}
.daily-note-label{margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);}
.daily-note-text{margin:0;font-size:.95rem;line-height:1.6;color:var(--text);}
.daily-note-text p{margin:0 0 4px;}
.daily-note-text ul{margin:0;padding-left:18px;}
.daily-note-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--primary);color:#fff;font-size:.62rem;letter-spacing:.04em;vertical-align:middle;}
.plaza-suggest{margin-top:10px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elev);box-shadow:var(--shadow-sm);}
.plaza-suggest-title{margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);}
.plaza-suggest-headline{display:block;margin:0 0 4px;font-size:.9rem;font-weight:600;color:var(--text);text-decoration:none;}
.plaza-suggest-headline:hover{color:var(--primary);text-decoration:underline;}
.plaza-suggest-match{margin:0 0 8px;font-size:.78rem;color:var(--text-dim);}
.plaza-suggest-quote{margin:0 0 10px;padding:8px 12px;border-left:3px solid var(--primary);background:var(--primary-soft);border-radius:0 var(--radius) var(--radius) 0;font-size:.86rem;line-height:1.55;color:var(--text);}
.plaza-suggest-foot{display:flex;align-items:center;gap:10px;}
.plaza-suggest-err{font-size:.76rem;color:var(--rose);}
.plaza-suggest-posted{display:flex;align-items:center;gap:10px;padding:10px 14px;}
.plaza-suggest-posted-text{font-size:.84rem;font-weight:600;color:var(--green);}
.plaza-suggest-view{font-size:.82rem;font-weight:700;color:var(--primary);text-decoration:none;}
.plaza-suggest-view:hover{text-decoration:underline;}
.news-ticker{margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev);box-shadow:var(--shadow-sm);overflow:hidden;}
.news-ticker-tabs{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--border);}
.news-ticker-tab{border:none;background:transparent;color:var(--text-dim);font-family:inherit;font-size:.74rem;font-weight:700;padding:6px 10px;cursor:pointer;border-bottom:2px solid transparent;}
.news-ticker-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
.news-ticker-body{display:flex;align-items:center;gap:10px;padding:10px 14px;}
.news-ticker-icon{flex-shrink:0;}
.news-ticker-headline{flex:1;font-size:.86rem;color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.news-ticker-headline:hover{color:var(--primary);text-decoration:underline;}
.dash-reward-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;transition:all .35s ease;background:var(--primary);color:#fff;padding:12px 22px;border-radius:999px;font-size:.9rem;font-weight:700;box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.25));z-index:9999;pointer-events:none;}
.dash-reward-toast.show{transform:translate(-50%,0);opacity:1;}
.member-feed-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);}
.member-feed-row:last-child{border-bottom:none;}
.member-feed-row:hover .member-feed-title{color:var(--primary);}
.member-feed-icon{flex-shrink:0;font-size:1.1rem;}
.member-feed-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.member-feed-title{font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.member-feed-sub{font-size:.72rem;color:var(--text-faint);}
@media(max-width:640px){
  .ov-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .ov-stat-card{padding:14px;}
  .ov-stat-value{font-size:1.35rem;}
}
.ws-module{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);}
.ws-module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap;}
.ws-module-title{font-size:1.05rem;font-weight:800;color:var(--text);}
.ws-module-sub{font-size:.8rem;color:var(--text-faint);margin-top:3px;}
.ws-module-side .ws-module-title{font-size:.95rem;}

/* --- dashboard accordions --- */
.ws-acc .ws-acc-head{cursor:pointer;user-select:none;margin-bottom:0;transition:margin-bottom .3s ease;}
.ws-acc.is-open .ws-acc-head{margin-bottom:16px;}
.ws-coach.ws-acc:not(.is-open) .shidao-entry{border-bottom-color:transparent;}
.ws-head-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ws-acc-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elev);color:var(--text);cursor:pointer;transition:color .15s,border-color .15s,background .15s,box-shadow .15s;}
.ws-acc-toggle:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);}
.ws-acc-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary),0 0 0 6px var(--primary-soft);}
.ws-acc-chevron{display:inline-block;font-style:normal;font-size:1.05rem;font-weight:700;line-height:1;transition:transform .3s ease;}
.ws-acc.is-open .ws-acc-chevron{transform:rotate(180deg);}
.ws-acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease;}
.ws-acc.is-open .ws-acc-body{grid-template-rows:1fr;}
.ws-acc-body>.ws-acc-inner{min-height:0;overflow:hidden;}

/* --- portfolio snapshot --- */
.snap-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.15fr;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;}
.snap-metric{padding:15px 20px 13px;border-left:1px solid var(--border);min-width:0;}
.snap-metric:first-child{border-left:none;}
.snap-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);}
.snap-value{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.7rem;color:var(--text);margin:3px 0 2px;line-height:1.1;}
.snap-unit{font-size:.85rem;color:var(--text-dim);margin-left:2px;}
.snap-foot{font-size:.73rem;color:var(--text-faint);}
.snap-metric-lead{background:var(--teal-ink);}
.snap-metric-lead .snap-label{color:rgba(255,255,255,.62);}
.snap-metric-lead .snap-value{color:#fff;}
.snap-metric-lead .snap-foot{color:var(--cyan);}
.snap-attention.is-on .snap-value{color:#e11d48;}
.snap-attention.is-on .snap-foot{color:#be123c;}
.etai-meter{height:5px;border-radius:99px;background:var(--bg-soft);overflow:hidden;}
.etai-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal-dim),var(--cyan));transition:width .4s ease;}
.etai-meter.is-high i{background:linear-gradient(90deg,var(--green),#6ee7b7);}
.snap-ready .etai-meter{margin:6px 0 5px;}

/* --- My ETAIs operational rows --- */
.etai-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.etai-filters{display:inline-flex;gap:4px;flex-wrap:wrap;}
.etai-filter{padding:6px 12px;border-radius:99px;border:1px solid var(--border-strong);background:transparent;color:var(--text-dim);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;}
.etai-filter:hover{color:var(--text);border-color:var(--text-faint);}
.etai-filter.active{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff;}
.etai-sort{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.etai-sort select{padding:7px 10px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:inherit;font-size:.8rem;font-weight:500;}
.etai-mbti{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--card);text-decoration:none;color:var(--text);}
.etai-mbti:hover{border-color:var(--primary);}
.etai-mbti.is-set{border-style:solid;background:var(--primary-soft);}
.etai-mbti-icn{font-size:1.1rem;flex-shrink:0;}
.etai-mbti-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.etai-mbti-lbl{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
.etai-mbti-sub{font-size:.78rem;line-height:1.45;}
.etai-mbti-cta{flex-shrink:0;white-space:nowrap;}
@media(max-width:640px){.etai-mbti{flex-wrap:wrap;gap:8px;}.etai-mbti-cta{width:100%;display:inline-flex;justify-content:center;}}
.etai-thead{display:grid;grid-template-columns:minmax(0,1.55fr) 132px 168px minmax(0,1.15fr) auto;gap:12px;padding:6px 14px;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);}
.etai-row{display:grid;grid-template-columns:minmax(0,1.55fr) 132px 168px minmax(0,1.15fr) auto;gap:12px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--border);transition:background .15s;}
.etai-row:last-child{border-bottom:none;}
.etai-row:hover{background:var(--bg-soft);}
.etai-agent{display:flex;align-items:center;gap:12px;min-width:0;}
.etai-glyph{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;background:var(--bg-soft);border:1px solid var(--border);color:var(--teal-dim);flex-shrink:0;}
.etai-glyph.gl-live{background:#ecfdf5;border-color:#a7f3d0;color:#047857;}
.etai-glyph.gl-attention{background:#fff1f2;border-color:#fecdd3;color:#be123c;}
.etai-glyph-wrap{position:relative;flex-shrink:0;}
.etai-status-dot{position:absolute;right:-3px;bottom:-3px;width:10px;height:10px;border-radius:50%;background:#94a3b8;border:2px solid var(--bg-elev);box-sizing:content-box;}
.etai-status-dot.on{background:var(--green);}
.etai-status-dot.warn{background:#f59e0b;}
.etai-agent-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.etai-name{font-weight:700;color:var(--text);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.etai-last{font-size:.75rem;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.state-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:.72rem;font-weight:700;width:fit-content;}
.state-pill .st-dot{width:7px;height:7px;border-radius:50%;background:currentColor;}
.st-live{background:#ecfdf5;color:#047857;}
.st-draft{background:var(--bg-soft);color:var(--text-faint);border:1px solid var(--border);}
.st-attention{background:#fff1f2;color:#be123c;}
.etai-ready{display:flex;flex-direction:column;gap:4px;}
.etai-pct{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.86rem;color:var(--text);}
.etai-ready .etai-meter{height:6px;}
.etai-ready-word{font-size:.65rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.etai-next{display:flex;flex-direction:column;gap:3px;min-width:0;}
.etai-next-label{font-size:.86rem;font-weight:700;color:var(--teal-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.etai-effort{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#92660e;background:var(--accent-soft);border-radius:99px;padding:2px 8px;width:fit-content;}
.etai-go{color:var(--text-faint);font-weight:700;transition:transform .15s,color .15s;}
.etai-row:hover .etai-go{color:var(--teal-ink);transform:translateX(3px);}
.etai-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
.etai-del{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-faint);font-weight:700;font-size:.7rem;letter-spacing:.04em;padding:4px 10px;border-radius:8px;cursor:pointer;transition:all .15s;flex-shrink:0;}
.etai-del:hover{border-color:#be123c;color:#be123c;background:#fff1f2;}
.etai-more{display:block;margin:14px auto 0;padding:6px 16px;border-radius:99px;border:1px solid var(--border-strong);background:transparent;color:var(--teal-dim);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s;}
.etai-more:hover{color:var(--teal-ink);border-color:var(--teal-ink);}

/* --- guided first-agent empty state --- */
.etai-empty{padding:32px 28px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#ffffff,#f3f8f8);}
.etai-empty-kicker{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-dim);}
.etai-empty .ws-module-title{font-size:1.35rem;font-family:'DM Serif Display','Noto Serif TC',serif;font-weight:500;}
.etai-empty-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0 6px;}
.etai-empty-steps li{display:flex;gap:10px;font-size:.85rem;color:var(--text-dim);line-height:1.55;}
.etai-empty-steps strong{color:var(--text);}
.etai-empty-n{width:26px;height:26px;border-radius:50%;background:var(--teal-ink);color:var(--cyan);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.8rem;flex-shrink:0;}
.etai-empty-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.etai-empty-cta{align-self:flex-start;}
.etai-empty-form input,.etai-empty-form select{padding:11px 14px;border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:.9rem;background:var(--bg);color:var(--text);}
.etai-empty-form input{min-width:220px;flex:1;}
.etai-empty-form button{padding:11px 20px;border-radius:10px;border:none;background:var(--teal-ink);color:#fff;font:inherit;font-weight:700;cursor:pointer;}
.etai-empty-form button:hover{background:#1e4a52;}
.etai-empty-note{font-size:.78rem;color:var(--text-faint);}

/* --- next best actions --- */
.nba-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
.nba-item a{display:flex;gap:12px;padding:12px;border-radius:12px;border:1px solid var(--border);align-items:flex-start;transition:all .15s;}
.nba-item a:hover{border-color:var(--teal-dim);background:var(--bg-soft);}
.nba-item.is-first a{border-color:var(--teal-dim);background:#f2f8f8;}
.nba-pri{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.76rem;color:var(--teal-dim);padding-top:2px;flex-shrink:0;}
.nba-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.nba-title{font-weight:700;font-size:.88rem;color:var(--text);line-height:1.35;}
.nba-outcome{font-size:.76rem;color:var(--text-dim);line-height:1.45;}
.nba-effort{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#92660e;background:var(--accent-soft);border-radius:99px;padding:2px 9px;width:fit-content;}
.nba-item .etai-go{align-self:center;}

/* --- master prompt generator (dashboard side card) --- */
.mpgd-agent-sel{display:flex;flex-direction:column;gap:5px;margin-bottom:2px;}
.mpgd-agent-sel>span{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
.mpgd-agent-sel select{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:.85rem;font-weight:500;letter-spacing:normal;text-transform:none;}
.mpgd-agent-sel select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.mpgd-empty{font-size:.8rem;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:10px;padding:10px 12px;background:var(--bg-soft);letter-spacing:normal;text-transform:none;font-weight:500;}
.mpg-panel-dash{flex:none;min-height:0;max-height:640px;overflow-y:auto;padding-right:4px;}

/* --- intelligence center (dashboard side card) --- */
.intel-gear{flex:0 0 auto;line-height:1;padding:7px 10px;font-size:.9rem;}
.intel-settings{display:flex;flex-direction:column;gap:10px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--bg-soft);padding:12px;margin-bottom:14px;}
.intel-field{display:flex;flex-direction:column;gap:5px;}
.intel-field>span{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
.intel-field select,.intel-field input{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:.85rem;font-weight:500;letter-spacing:normal;text-transform:none;}
.intel-field select:focus,.intel-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.intel-settings-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;}
.intel-msg{font-size:.74rem;color:var(--success,#10b981);font-weight:600;}
.intel-msg.bad{color:var(--rose,#e11d48);}
.intel-run-row{display:flex;margin-bottom:12px;}
.intel-run{flex:1;justify-content:center;white-space:nowrap;}
.intel-loading{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--text-dim);padding:4px 2px 12px;}
.intel-spin{flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:2px solid var(--primary-soft);border-top-color:var(--primary);animation:intelSpin .8s linear infinite;}
@keyframes intelSpin{to{transform:rotate(360deg);}}
.intel-sec{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.intel-sec-title{font-family:'Space Grotesk','Noto Sans TC',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--text);margin:0 0 2px;}
.intel-sig{border:1px solid var(--border);border-left:3px solid var(--teal-dim,var(--primary));border-radius:12px;background:var(--bg-elev);padding:10px 12px;display:flex;flex-direction:column;gap:6px;}
.intel-sig-title{font-size:.86rem;font-weight:700;color:var(--teal-ink,var(--text));line-height:1.4;margin:0;}
.intel-sig-why{font-size:.78rem;color:var(--text-dim);line-height:1.55;margin:0;}
.intel-sig-why b{color:var(--text);font-weight:700;}
.intel-sig-srcs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.intel-sig-src-label{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);}
.intel-sig-src{display:inline-block;font-size:.7rem;font-weight:600;color:var(--teal-dim,var(--primary));background:var(--bg-soft);border:1px solid var(--border);border-radius:99px;padding:2px 9px;text-decoration:none;}
.intel-sig-src:hover{border-color:var(--primary);color:var(--teal-ink,var(--text));}
.intel-news-item{display:flex;flex-direction:column;gap:3px;padding:10px 4px;border-bottom:1px dashed var(--border);text-decoration:none;}
.intel-news-item:last-child{border-bottom:none;}
.intel-news-item:hover .intel-news-title{color:var(--teal-ink,var(--primary));}
.intel-news-title{font-size:.84rem;font-weight:600;color:var(--text);line-height:1.45;}
.intel-news-meta{font-size:.68rem;color:var(--text-faint);}
.intel-news-snippet{font-size:.76rem;color:var(--text-dim);line-height:1.5;}
.intel-news-go{font-size:.7rem;font-weight:700;color:var(--teal-dim,var(--primary));margin-top:2px;}
.intel-empty{font-size:.8rem;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:10px;padding:10px 12px;background:var(--bg-soft);margin:0;}
.intel-empty.bad{color:var(--rose,#e11d48);}
.intel-last{font-size:.7rem;color:var(--text-faint);margin:2px 0 0;}
@media (max-width:760px){.intel-run{padding:10px 14px;}}

/* --- personal AI strategist --- */
.strategist{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;}
.strategist-head{display:flex;gap:10px;align-items:flex-start;}
.strategist-avatar{width:36px;height:36px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--pink));display:flex;align-items:center;justify-content:center;font-size:1.05rem;color:#fff;}
.strategist-title{font-family:'Space Grotesk','Noto Sans TC',sans-serif;font-weight:700;font-size:.9rem;color:var(--text);line-height:1.3;}
.strategist-sub{font-size:.74rem;color:var(--text-dim);line-height:1.45;margin-top:2px;}
.strategist-log{display:flex;flex-direction:column;gap:8px;max-height:300px;min-height:70px;overflow-y:auto;padding:2px 2px 4px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;}
.strategist-log .bubble{max-width:92%;font-size:.82rem;line-height:1.5;padding:8px 12px;}
.strategist-think-label{font-size:.74rem;margin-right:6px;}
.strategist .dots{display:inline-flex;align-items:center;}
.strategist-chips{display:flex;flex-wrap:wrap;gap:6px;}
.strategist-chips .quick-chip{font-size:.72rem;padding:5px 10px;}
.strategist-actions{justify-content:flex-end;}
.feat-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
.feat-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg);text-decoration:none;transition:all .15s;min-width:0;}
.feat-row:hover{border-color:var(--primary);background:var(--primary-soft);}
.feat-txt{display:flex;flex-direction:column;min-width:0;flex:1;}
.feat-name{font-size:.8rem;font-weight:600;color:var(--text);}
.feat-desc{font-size:.7rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.feat-go{color:var(--primary);font-size:.85rem;flex:0 0 auto;}
.jr-list{display:flex;flex-direction:column;gap:4px;margin:10px 0 2px;}
.jr-row{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text);}
.jr-row.done{color:var(--text-faint);}
.jr-check{flex:0 0 auto;width:16px;text-align:center;color:var(--primary);font-size:.8rem;}
.jr-row.done .jr-check{color:var(--success,#10b981);}
.jr-row.na .jr-check{color:var(--text-faint);}
.jr-meta{font-size:.7rem;color:var(--text-faint);margin-top:6px;}
.jr-next{margin-top:10px;padding:8px 12px;border:1px dashed var(--primary);border-radius:12px;background:var(--primary-soft);display:flex;flex-direction:column;gap:2px;}
.jr-next-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-weight:700;}
.jr-next-title{font-size:.88rem;font-weight:600;color:var(--text);}
.strategist-input{display:flex;gap:8px;align-items:center;}
.strategist-input input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border-strong);border-radius:10px;font-family:inherit;font-size:.85rem;background:var(--bg);color:var(--text);}
.strategist-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.strategist-clip{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--text);font-size:1rem;line-height:1;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.strategist-clip:hover{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.strategist-clip:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.strategist-clip:disabled{opacity:.55;cursor:default;box-shadow:none;}
@media (max-width:760px){
  .strategist-log{max-height:240px;}
  .strategist-input .btn-sm{padding:8px 12px;}
}

/* --- Shidao AI Strategist floating widget (dashboard) --- */
.strategist-fab-wrap{position:fixed;right:16px;bottom:72px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;}
.strategist-fab{position:relative;width:52px;height:52px;border-radius:50%;border:2px solid var(--primary);background:var(--bg-elev);box-shadow:0 10px 26px rgba(15,23,41,.22);cursor:pointer;padding:3px;display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.strategist-fab:hover{transform:translateY(-2px) scale(1.05);}
.strategist-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;}
.fab-badge{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--text);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:6px 12px;border-radius:99px;box-shadow:var(--shadow-md);pointer-events:none;}
.fab-badge::after{content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--text);}
.strategist.is-float{position:absolute;right:0;bottom:calc(100% + 16px);width:min(384px,calc(100vw - 48px));max-height:min(600px,calc(100vh - 156px));margin:0;padding:14px;border:1px solid var(--border-strong);border-radius:16px;background:var(--bg-elev);box-shadow:var(--shadow-lg);display:none;flex-direction:column;gap:10px;}
.strategist.is-float.is-open{display:flex;animation:strategistPop .22s ease;}
@keyframes strategistPop{from{opacity:0;transform:translateY(10px) scale(.97);}to{opacity:1;transform:none;}}
.strategist-logo{width:38px;height:38px;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid var(--primary);}
.strategist-close{margin-left:auto;flex-shrink:0;width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);font-size:.8rem;line-height:1;cursor:pointer;transition:all .2s;}
.strategist-close:hover{color:var(--rose);border-color:var(--rose);}
.strategist.is-float .strategist-head > div{flex:1;min-width:0;}
.strategist.is-float .strategist-log{flex:1;max-height:none;min-height:150px;}
@media (max-width:760px){
  .strategist-fab-wrap{right:12px;}
  .strategist-fab{width:46px;height:46px;}
  .fab-badge{display:none;}
  .strategist.is-float{width:calc(100vw - 28px);max-height:calc(100vh - 150px);}
}
.shidao-entry{display:flex;align-items:center;gap:12px;padding:2px 0 12px;border-bottom:1px dashed var(--border);margin-bottom:12px;}
.shidao-entry-logo{width:46px;height:46px;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid var(--primary);background:var(--bg-elev);}
.shidao-entry-body{flex:1;min-width:0;}
.shidao-entry-title{font-size:.95rem;font-weight:700;color:var(--text);margin:0;}
.shidao-entry-sub{font-size:.74rem;color:var(--text-dim);margin:3px 0 0;line-height:1.45;}
.shidao-entry-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.shidao-entry-actions .btn-sm{flex:1 1 auto;justify-content:center;white-space:nowrap;}

/* --- collaboration pulse --- */
.pulse-list{list-style:none;display:flex;flex-direction:column;}
.pulse-item a{display:flex;flex-direction:column;gap:3px;padding:10px 6px;border-bottom:1px dashed var(--border);}
.pulse-item:last-child a{border-bottom:none;}
.pulse-text{font-size:.85rem;color:var(--text-dim);line-height:1.45;}
.pulse-item a:hover .pulse-text{color:var(--teal-ink);}
.pulse-ts{font-size:.7rem;color:var(--text-faint);}
.pulse-empty{font-size:.85rem;color:var(--text-faint);padding:8px 0 4px;}
.pulse-more{display:inline-block;margin-top:12px;font-size:.8rem;font-weight:700;color:var(--teal-dim);}
.pulse-more:hover{color:var(--teal-ink);}
.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-left:6px;vertical-align:middle;}
.pulse-line{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;}
.pulse-kind{flex:0 0 auto;display:inline-block;padding:1px 8px;border-radius:999px;font-size:.66rem;font-weight:700;line-height:1.7;letter-spacing:.02em;}
.pulse-kind.k-message{background:var(--primary-soft);color:var(--primary-dark);}
.pulse-kind.k-rsvp{background:#fef3c7;color:#b45309;}
.pulse-kind.k-engagement{background:#ecfdf5;color:#047857;}
.pulse-meta{font-size:.74rem;color:var(--text-faint);line-height:1.45;word-break:break-word;}

/* --- wallet embed (dashboard) --- */
.wallet-embed{display:flex;flex-direction:column;gap:16px;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;margin-bottom:0;}
.wallet-embed .wallet-empty-card{background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:var(--radius);box-shadow:none;padding:40px 24px;}
.wallet-embed .wallet-balance-card{gap:14px;margin-bottom:0;}
.wallet-embed .balance-tile{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:all .2s;}
.wallet-embed .balance-tile:nth-child(2n){background:var(--bg-elev);}
.wallet-embed .balance-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.wallet-embed .balance-symbol{color:var(--primary);opacity:1;font-size:.68rem;letter-spacing:.1em;}
.wallet-embed .balance-amount{font-size:1.7rem;color:var(--text);margin:4px 0 2px;}
.wallet-embed .balance-name{color:var(--text-faint);opacity:1;font-size:.75rem;}
.wallet-embed .wallet-section-title{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;}
.wallet-embed .wallet-layout{grid-template-columns:300px 1fr;gap:20px;}
.wallet-embed .wallet-card{transition:all .2s;}
.wallet-embed .wallet-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.wallet-embed .wallet-card.is-primary:hover{box-shadow:var(--shadow-md),0 0 0 3px var(--primary-soft);}
.wallet-embed .wallet-main{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;padding:16px 20px 22px;min-height:360px;}
.wallet-embed .wallet-tab{font-size:.86rem;padding:10px 12px;}
.wallet-embed .wallet-panel h3{font-size:.95rem;font-weight:700;}
.wallet-embed .wallet-mute code,.wallet-embed .receive-box code,.wallet-embed .token-box code{background:var(--bg);}
.wallet-embed .receive-box,.wallet-embed .token-box{background:var(--bg);}
.wallet-embed .tx-item,.wallet-embed .fee-row{background:var(--bg);}
.wallet-embed .airdrop-item{background:var(--bg);border-radius:10px;}
@media(max-width:900px){
  .wallet-embed .wallet-layout{grid-template-columns:1fr;}
  .wallet-embed .balance-tile{padding:16px 18px;}
}

/* --- responsive --- */
@media(max-width:1180px){
  .ws-grid{grid-template-columns:1fr;}
  .ws-side{position:static;flex-direction:row;flex-wrap:wrap;}
  .ws-module-side{flex:1 1 300px;}
}
@media(max-width:900px){
  body.has-appbar .app-shell{padding:16px 14px 36px;}
  body.has-appbar .app-sidebar{top:76px;height:calc(100vh - 76px);height:calc(100dvh - 76px);}
  body.has-appbar .app-sidebar-toggle{top:82px;}
  .appbar{flex-wrap:wrap;padding:10px 14px;row-gap:10px;}
  .appbar-search{order:5;flex-basis:100%;max-width:none;}
  .appbar-ws-label{display:none;}
  .appbar-tour-toggle span{display:none;}
  .appbar .lang-seg{padding:0 8px;}
  .etai-empty-steps{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .etai-thead{display:none;}
  .etai-row{display:flex;flex-wrap:wrap;gap:8px 12px;}
  .etai-agent{flex:1 1 160px;}
  .etai-ready{flex:1 1 150px;}
  .etai-next{flex:1 1 150px;}
  .etai-go{margin-left:auto;align-self:center;}
  .snap-strip{grid-template-columns:1fr 1fr;}
  .snap-metric:nth-child(3){border-left:none;}
  .snap-metric:nth-child(n+3){border-top:1px solid var(--border);}
}

/* ===== MARKETPLACE WORKSPACE (/marketplace) ===== */
.mp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px;}
.mp-head-main{min-width:0;display:flex;flex-direction:column;}
.mp-title{font-size:1.5rem;margin:2px 0 4px;overflow-wrap:anywhere;}
.mp-title-sep{color:var(--text-faint);font-weight:400;}
#mpAgentName{color:var(--teal-dim);}
.mp-sub{font-size:.85rem;color:var(--text-dim);}
.mp-head-side{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.mp-switch{position:relative;}
.mp-switch.is-open .mp-switch-pop{display:block;animation:fadeUp .18s ease;}
.mp-switch .appbar-ws-btn{border-color:var(--border-strong);background:var(--bg-elev);color:var(--text);}
.mp-switch .appbar-ws-btn:hover{background:var(--bg-soft);}
.mp-switch .appbar-ws-dot{background:var(--cyan);box-shadow:0 0 0 3px rgba(120,215,221,.35);}
.mp-switch-pop{left:0;}
#mpSwitchList a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;font-size:.88rem;color:var(--text-dim);cursor:pointer;}
#mpSwitchList a:hover{background:var(--bg-soft);color:var(--text);}
#mpSwitchList a.is-on{background:#e9f4f5;color:var(--teal-ink);font-weight:700;}
.mp-switch-glyph{width:30px;height:30px;border-radius:9px;background:var(--bg-soft);border:1px solid var(--border);color:var(--teal-dim);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.85rem;flex-shrink:0;}
.mp-switch-meta{display:flex;flex-direction:column;min-width:0;}
.mp-switch-meta b{font-size:.86rem;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mp-switch-meta small{font-size:.72rem;color:var(--text-faint);}
.mp-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.mp-pic3-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:99px;background:rgba(91,91,240,.10);border:1px solid rgba(91,91,240,.28);color:inherit;font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap;}
.mp-pic3-chip:hover{background:rgba(91,91,240,.18);}
.mp-pic3-chip b{font-family:'Space Grotesk',sans-serif;}
.mp-gate-pic3{width:100%;margin:0;font-size:.84rem;color:var(--text-dim);}
.mp-gate-actions{display:flex;gap:10px;flex-wrap:wrap;}
.mp-ready{display:flex;align-items:center;gap:8px;min-width:120px;}
.mp-ready .etai-meter{width:86px;}
.mp-ready-note{margin:-6px 0 14px;padding:10px 14px;border-radius:12px;background:var(--accent-soft);border:1px solid #f3d9a4;color:#92660e;font-size:.82rem;}
.mp-gate{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px;}
.mp-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;}
.mp-grid{margin-bottom:4px;}
.mp-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.mp-tab-badge{margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#e11d48;color:#fff;font-size:.66rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;}
.mp-quota{font-size:.84rem;color:var(--text-dim);}
.mp-err{color:#be123c;font-size:.88rem;}
.mp-none{font-size:.85rem;color:var(--text-faint);padding:10px 2px;}
.mp-flow{font-size:.78rem;color:var(--text-faint);background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:10px;padding:9px 13px;margin-bottom:14px;}
body.mp-no-scroll{overflow:hidden;}

/* pills + chips — cyan=live · amber=verified/milestone · neutral=draft · red=block */
.mp-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:700;white-space:nowrap;width:fit-content;}
.mp-pill i{font-style:normal;}
.mp-pill--live{background:#e5f6f7;color:#0e6570;border:1px solid #bfe9ec;}
.mp-pill--ok{background:var(--accent-soft);color:#92660e;border:1px solid #f3d9a4;}
.mp-pill--warn{background:#ffedd5;color:#b45309;border:1px solid #fed7aa;}
.mp-pill--draft,.mp-pill--neutral{background:var(--bg-soft);color:var(--text-faint);border:1px solid var(--border);}
.mp-pill--danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;}
.mp-pill--ai{background:var(--primary-soft);color:var(--primary-dark);border:1px solid #dcddfb;}
.mp-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:600;background:var(--bg-soft);color:var(--text-dim);border:1px solid var(--border);}
.mp-chip--ok{background:var(--accent-soft);color:#92660e;border-color:#f3d9a4;}
.mp-chip--warn{background:#ffedd5;color:#b45309;border-color:#fed7aa;}
.mp-chip--miss{background:#fff1f2;color:#be123c;border-color:#fecdd3;}

/* AI draft blocks */
.mp-ai-block{border:1px dashed #c9cbf7;background:#fafafe;border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:8px;font-size:.85rem;color:var(--text);line-height:1.55;}
.mp-ai-block.is-on{border-style:solid;}
.mp-ai-block.is-locked{border:1px solid #f3d9a4;background:#fffdf4;}
.mp-ai-chip{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--primary-dark);background:var(--primary-soft);border-radius:99px;padding:3px 10px;width:fit-content;}
.mp-ai-chip-big{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);border:1px solid #dcddfb;border-radius:99px;padding:5px 12px;width:fit-content;}
.mp-ai-chip-big.is-on{background:var(--primary);color:#fff;border-color:var(--primary);}
.mp-ai-line{font-size:.84rem;color:var(--text-dim);}
.mp-ai-line b{color:var(--text);font-size:.88rem;}
.mp-ai-line.dim{font-size:.76rem;color:var(--text-faint);}
.mp-ai-angle{font-size:.78rem;color:var(--primary-dark);font-style:italic;}
.mp-ai-chips{display:flex;gap:5px;flex-wrap:wrap;}
.mp-ai-tools{display:flex;gap:8px;flex-wrap:wrap;}
.mp-ai-options{display:flex;flex-direction:column;gap:8px;}
.mp-opt{display:flex;flex-direction:column;gap:4px;text-align:left;padding:11px 13px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;font:inherit;transition:all .15s;}
.mp-opt:hover{border-color:var(--teal-dim);background:#f7fbfb;}
.mp-opt.is-best{border-color:#bfe9ec;background:#f2fafb;}
.mp-opt.is-picked{border-color:var(--teal-ink);background:#e9f4f5;box-shadow:0 0 0 2px rgba(120,215,221,.35);}
.mp-opt-text{font-size:.88rem;font-weight:600;color:var(--text);line-height:1.45;}
.mp-opt-fit{font-size:.74rem;color:var(--text-faint);line-height:1.45;}

/* event type picker (stepper step 0) */
.mp-evtype-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.mp-evtype{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;font:inherit;transition:all .15s;}
.mp-evtype:hover{border-color:var(--teal-dim);background:#f7fbfb;}
.mp-evtype.is-picked{border-color:var(--teal-ink);background:#e9f4f5;box-shadow:0 0 0 2px rgba(120,215,221,.35);}
.mp-evtype-name{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.4;}
.mp-evtype-sub{font-size:.74rem;color:var(--text-faint);line-height:1.4;}

/* per-type assistant guide (event stepper) */
.mp-evguide{margin:2px 0 6px;}
.mp-evguide-intro{font-size:.82rem;color:var(--text-dim);}
.mp-evguide-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;}
.mp-evguide-list li{display:flex;gap:9px;align-items:baseline;font-size:.84rem;color:var(--text);line-height:1.45;}
.mp-evguide-list li b{flex:0 0 auto;min-width:16px;font-size:.68rem;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);border-radius:99px;text-align:center;padding:1px 5px;}
.mp-evguide-list li span{overflow-wrap:anywhere;}
.mp-evguide-sub{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);}

/* overview cards */
.mp-ov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.mp-ov-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:14px;border:1px solid var(--border);background:var(--bg-elev);transition:all .15s;}
.mp-ov-card:hover{border-color:var(--teal-dim);background:#f7fbfb;}
.mp-ov-card.ov-empty{border-style:dashed;background:transparent;}
.mp-ov-label{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);}
.mp-ov-title{font-weight:700;font-size:.95rem;color:var(--text);line-height:1.4;overflow-wrap:anywhere;}
.mp-ov-meta{font-size:.78rem;color:var(--text-dim);line-height:1.5;min-height:1.2em;}
.mp-ov-cta{margin-top:auto;font-size:.8rem;font-weight:700;color:var(--teal-dim);}
.mp-ov-card:hover .mp-ov-cta{color:var(--teal-ink);}

/* listings rows */
.mp-lst-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 6px;border-bottom:1px solid var(--border);}
.mp-lst-row:last-child{border-bottom:none;}
.mp-lst-row:hover{background:var(--bg-soft);}
.mp-lst-main{display:flex;flex-direction:column;gap:5px;min-width:0;}
.mp-lst-name{font-weight:700;font-size:.94rem;color:var(--text);display:flex;align-items:center;gap:9px;flex-wrap:wrap;overflow-wrap:anywhere;}
.mp-lst-sig{font-size:.86rem;color:var(--text-dim);display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;}
.mp-lst-sig b{font-family:'Space Grotesk',sans-serif;color:var(--text);}
.mp-sig-hot{color:#b45309;}
.mp-lst-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.74rem;color:var(--text-faint);}
.mp-lst-act{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;}

/* events cards */
.mp-ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.mp-ev-card{display:flex;flex-direction:column;gap:9px;padding:16px 17px;border-radius:14px;border:1px solid var(--border);background:var(--bg-elev);box-shadow:var(--shadow-sm);}
.mp-ev--live{border-color:#9fdfe4;box-shadow:0 0 0 1px rgba(120,215,221,.35),var(--shadow-sm);}
.mp-ev--draft{border-style:dashed;background:transparent;box-shadow:none;}
.mp-ev--past{opacity:.88;}
.mp-ev-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mp-ev-date{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.04em;color:var(--teal-dim);text-transform:uppercase;}
.mp-ev-title{font-weight:700;font-size:.98rem;color:var(--text);line-height:1.4;overflow-wrap:anywhere;}
.mp-ev-meta{display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:var(--text-dim);}
.mp-ev-chips{display:flex;gap:5px;flex-wrap:wrap;}
.mp-ev-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px;}
.mp-done{font-size:.76rem;font-weight:700;color:#92660e;}

/* leads */
.mp-lead-row{border:1px solid var(--border);border-radius:14px;background:var(--bg-elev);box-shadow:var(--shadow-sm);padding:16px 18px;margin-bottom:14px;}
.mp-lead-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.mp-lead-src{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-dim);background:#e9f4f5;border-radius:99px;padding:3px 10px;}
.mp-lead-buyer{font-weight:700;font-size:.94rem;color:var(--text);}
.mp-lead-amt{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.86rem;color:var(--text-dim);}
.mp-lead-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;}
.mp-lead-lbl{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px;}
.mp-lead-cols > div > p:not(.mp-lead-lbl){font-size:.85rem;color:var(--text-dim);line-height:1.55;overflow-wrap:anywhere;}
.mp-ld-follow{width:100%;padding:9px 11px;border:1px solid var(--border-strong);border-radius:9px;font:inherit;font-size:.84rem;background:var(--bg);color:var(--text);box-sizing:border-box;}
.mp-ld-follow:focus{outline:none;border-color:var(--teal-dim);}
.mp-ld-approved{font-size:.76rem;font-weight:700;color:#92660e;}
.mp-ld-note{font-size:.72rem;color:var(--text-faint);}
.mp-ld-outcome-hint{font-size:.76rem;color:var(--text-faint);margin-bottom:6px;}
.mp-lead-cols .mp-ai-tools{margin-top:8px;}

/* empty state */
.mp-empty{margin-top:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.mp-empty .etai-empty-kicker{margin-bottom:0;}
.mp-empty .ws-module-title{font-size:1.3rem;font-family:'DM Serif Display','Noto Serif TC',serif;font-weight:500;}
.mp-empty-sub{font-size:.88rem;color:var(--text-dim);}
.mp-empty-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* drawer / orders / insights / browse overlays */
.mp-drawer-card{max-width:600px;max-height:min(84vh,720px);overflow-y:auto;}
.mp-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
.mp-drawer-head h3{font-size:1.02rem;line-height:1.4;overflow-wrap:anywhere;}
.mp-drawer-body{display:flex;flex-direction:column;gap:12px;font-size:.88rem;color:var(--text-dim);line-height:1.6;}
.mp-browse-card{max-width:760px;max-height:min(88vh,780px);overflow-y:auto;}
.mp-browse-search{display:flex;gap:8px;}
.mp-browse-search input{flex:1;padding:10px 13px;border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:.88rem;background:var(--bg);color:var(--text);}
.mp-browse-search input:focus{outline:none;border-color:var(--teal-dim);}
.mp-browse-body{display:flex;flex-direction:column;gap:10px;}
.mp-b-card{display:flex;flex-direction:column;gap:5px;text-align:left;padding:13px 15px;border-radius:12px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;transition:all .15s;}
.mp-b-card:hover{border-color:var(--teal-dim);background:#f7fbfb;}
.mp-b-card-kind{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-dim);}
.mp-b-card-title{font-weight:700;font-size:.92rem;color:var(--text);overflow-wrap:anywhere;}
.mp-b-card-promise{font-size:.8rem;color:var(--text-dim);line-height:1.45;}
.mp-b-card-meta{font-size:.74rem;color:var(--text-faint);line-height:1.45;}
.mp-b-card-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:2px;}
.mp-b-card-foot b{font-family:'Space Grotesk',sans-serif;color:var(--text);}
.mp-b-card-foot small{font-size:.72rem;color:var(--text-faint);}
.mp-b-back{align-self:flex-start;}
.mp-b-detail{display:flex;flex-direction:column;gap:8px;}
.mp-b-detail-title{font-family:'DM Serif Display','Noto Serif TC',serif;font-size:1.2rem;color:var(--text);line-height:1.35;}
.mp-b-detail-desc{font-size:.86rem;color:var(--text-dim);line-height:1.6;white-space:pre-wrap;}

/* tables + definition lists */
.mp-table{width:100%;border-collapse:collapse;font-size:.84rem;}
.mp-table th{text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:8px 10px;border-bottom:1px solid var(--border-strong);}
.mp-table td{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--text-dim);vertical-align:top;}
.mp-table tr:last-child td{border-bottom:none;}
.mp-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px;margin:0;}
.mp-dl dt{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:3px;}
.mp-dl dd{font-size:.84rem;color:var(--text);line-height:1.5;overflow-wrap:anywhere;}
.mp-detail{display:flex;flex-direction:column;gap:10px;}
.mp-detail-promise{font-size:.92rem;font-weight:600;color:var(--teal-ink);line-height:1.5;}

/* share modal (marketplace workspace) */
.mp-share-modal-card{max-width:400px;}
.mp-share-qr{display:flex;justify-content:center;background:#fff;padding:12px;border-radius:12px;border:1px solid var(--border);}
.mp-share-qr img{width:220px;height:220px;display:block;}
.mp-share-link{display:flex;gap:8px;}
.mp-share-link input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;font:500 .78rem 'Space Grotesk',monospace;background:var(--bg);color:var(--text);}
.mp-share-link input:focus{outline:none;border-color:var(--teal-dim);}
#mpShareCopy.is-ok{background:#0f766e;border-color:#0f766e;}
.mp-share-dl{align-self:flex-start;}

/* public share page (/m/:kind/:id) */
#mp-share-pub{max-width:680px;margin:0 auto;padding:26px 0 56px;display:flex;flex-direction:column;gap:14px;}
.mp-share-pub-card{display:flex;flex-direction:column;gap:12px;padding:26px 28px;}
.mp-share-pub-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.mp-share-pub-cover{width:100%;max-height:280px;object-fit:cover;border-radius:12px;border:1px solid var(--border);}
.mp-share-pub-note{font-size:.82rem;color:var(--text-dim);line-height:1.6;}
.mp-share-pub-cta{display:flex;gap:10px;flex-wrap:wrap;}
.mp-share-pub-cta .btn-primary,.mp-share-pub-cta .btn-ghost{padding:11px 22px;font-size:.9rem;}
.mp-share-pub-done{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;}
.mp-share-pub-err{font-size:.8rem;font-weight:600;color:#be123c;}
#mp-share-pub .vfs-field{display:flex;flex-direction:column;gap:6px;}
#mp-share-pub .vfs-field span{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
#mp-share-pub .vfs-field textarea{padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;font:inherit;font-size:.88rem;background:var(--bg);color:var(--text);width:100%;box-sizing:border-box;}
@media(max-width:640px){
  .mp-share-pub-card{padding:20px 16px;}
  .mp-share-link{flex-direction:column;}
  .mp-share-qr img{width:180px;height:180px;}
}

/* insights */
.mp-ins-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:16px;}
.mp-ins-group{display:flex;flex-direction:column;gap:8px;}
.mp-ins-head{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-dim);}
.mp-ins-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;}
.mp-ins-cell{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 12px;min-width:0;}
.mp-ins-lbl{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px;}
.mp-ins-val{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--text);}
.mp-ins-val.sm{font-family:inherit;font-size:.8rem;font-weight:500;color:var(--text-dim);line-height:1.5;}
.mp-ins-rec{border:1px dashed #c9cbf7;background:#fafafe;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:10px;}
.mp-ins-headline{font-weight:700;font-size:.92rem;color:var(--text);line-height:1.5;}
.mp-ins-list{list-style:none;display:flex;flex-direction:column;gap:8px;}
.mp-ins-list li{display:flex;flex-direction:column;gap:2px;font-size:.84rem;}
.mp-ins-list b{color:var(--text);}
.mp-ins-list span{color:var(--text-dim);font-size:.78rem;}

/* creation stepper */
.mp-stepper{position:fixed;inset:0;z-index:600;background:rgba(15,23,41,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:22px;}
.mp-stepper-card{background:var(--bg-elev);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:660px;max-height:min(92vh,860px);overflow-y:auto;padding:22px 24px;display:flex;flex-direction:column;gap:14px;}
.mp-stepper-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.mp-stepper-head h3{font-family:'DM Serif Display','Noto Serif TC',serif;font-weight:500;font-size:1.25rem;color:var(--text);}
.mp-stepper-of{font-size:.74rem;color:var(--text-faint);margin-top:3px;font-weight:600;}
.mp-stepper-nav{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:12px;}
.mp-stepper-nav button{padding:6px 11px;border-radius:99px;border:1px solid var(--border-strong);background:transparent;color:var(--text-dim);font:inherit;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s;}
.mp-stepper-nav button:hover{color:var(--text);border-color:var(--text-faint);}
.mp-stepper-nav button.on{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff;}
.mp-step{display:flex;flex-direction:column;gap:12px;animation:fadeUp .2s ease;}
.mp-step-q{font-size:1.02rem;font-weight:700;color:var(--text);line-height:1.45;}
.mp-step-q.sm{font-size:.86rem;}
.mp-step-hint{font-size:.78rem;color:var(--text-faint);line-height:1.5;}
.mp-check{display:flex;align-items:flex-start;gap:8px;font-size:.84rem;color:var(--text-dim);line-height:1.5;cursor:pointer;}
.mp-check input{margin-top:3px;accent-color:var(--teal-ink);}
.mp-checks{list-style:none;display:flex;flex-direction:column;gap:5px;font-size:.84rem;}
.mp-checks li{color:var(--text-faint);}
.mp-checks li.is-ok{color:#047857;}
.mp-warn{font-size:.78rem;color:#b45309;background:#ffedd5;border:1px solid #fed7aa;border-radius:10px;padding:8px 12px;}
.mp-note{font-size:.74rem;color:var(--text-faint);line-height:1.55;}
.mp-stepper-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding-top:14px;flex-wrap:wrap;}
.mp-stepper-msg{font-size:.78rem;color:var(--teal-dim);flex:1;min-width:80px;}
.mp-stepper-foot .btn-primary{margin-left:auto;}
.mp-review-card{border:1px solid var(--border);border-radius:14px;padding:16px 18px;background:var(--bg-soft);display:flex;flex-direction:column;gap:8px;}
.mp-review-title{font-family:'DM Serif Display','Noto Serif TC',serif;font-size:1.15rem;color:var(--text);}
.mp-review-promise{font-size:.86rem;font-weight:600;color:var(--teal-ink);}
.mp-review-desc{font-size:.84rem;color:var(--text-dim);line-height:1.6;white-space:pre-wrap;}
.mp-review-pre{font:inherit;font-size:.78rem;color:var(--text-dim);white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:9px 12px;line-height:1.6;}
.mp-plan-list{list-style:none;display:flex;flex-direction:column;gap:7px;}
.mp-plan-list li{display:flex;flex-direction:column;gap:1px;font-size:.84rem;}
.mp-plan-list b{color:var(--text);}
.mp-plan-list span{color:var(--text-faint);font-size:.76rem;}

/* scan check-in */
.mp-scan{position:fixed;inset:0;z-index:600;background:rgba(15,23,41,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:22px;}
.mp-scan-card{background:var(--bg-elev);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:22px 24px;display:flex;flex-direction:column;gap:13px;}
.mp-scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.mp-scan-head h3{font-size:1.05rem;}
.mp-scan-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;}
.mp-scan-result{display:flex;flex-direction:column;gap:10px;}
.mp-scan-card-result{border:1px solid var(--border);border-radius:14px;background:var(--bg-soft);padding:15px 17px;display:flex;flex-direction:column;gap:9px;animation:fadeUp .18s ease;}
.mp-scan-name{font-family:'DM Serif Display','Noto Serif TC',serif;font-size:1.2rem;color:var(--text);overflow-wrap:anywhere;}
.mp-scan-pills{display:flex;gap:7px;flex-wrap:wrap;}
.mp-scan-done{font-weight:700;color:#047857;font-size:.95rem;padding:6px 0;}
.mp-scan-err{color:#be123c;}

/* toast */
.mp-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);background:var(--teal-ink);color:#fff;font-size:.85rem;font-weight:600;padding:10px 18px;border-radius:99px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:all .22s ease;z-index:700;max-width:min(90vw,480px);text-align:center;}
.mp-toast.is-on{opacity:1;transform:translate(-50%,0);}
.mp-toast.is-err{background:#be123c;}

/* dashboard marketplace panel */
.mp-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;}
.mp-dash-stat{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:12px 15px 11px;min-width:0;}
.mp-dash-stat.is-gold{background:var(--teal-ink);border-color:var(--teal-ink);}
.mp-dash-stat.is-gold .snap-label{color:rgba(255,255,255,.62);}
.mp-dash-stat.is-gold .snap-value{color:#fff;}
.mp-dash-stat.is-gold .snap-foot{color:var(--cyan);}
.mp-dash-stat.is-attention .snap-value{color:#e11d48;}
.mp-dash-stat.is-attention .snap-foot{color:#be123c;}
.mp-dash-rows{display:flex;flex-direction:column;}
.mp-dash-row{display:grid;grid-template-columns:minmax(0,1.5fr) 168px 108px 22px;gap:12px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--border);transition:background .15s;}
.mp-dash-row:last-child{border-bottom:none;}
.mp-dash-row:hover{background:var(--bg-soft);}
.mp-dash-name{display:flex;flex-direction:column;gap:2px;min-width:0;}
.mp-dash-name b{font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mp-dash-name small{font-size:.73rem;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mp-dash-ready{display:flex;align-items:center;gap:8px;}
.mp-dash-ready .etai-meter{flex:1;}
.mp-dash-row .etai-go{color:var(--text-faint);font-weight:700;transition:transform .15s,color .15s;}
.mp-dash-row:hover .etai-go{color:var(--teal-ink);transform:translateX(3px);}
.mp-dash-empty{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;border:1px dashed var(--border-strong);border-radius:12px;padding:16px 18px;}
.mp-dash-empty p{font-size:.85rem;color:var(--text-dim);}

/* marketplace responsive */
@media(max-width:1180px){
  .mp-ov-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:900px){
  .mp-head{flex-direction:column;align-items:stretch;}
  .mp-head-side{justify-content:space-between;}
  .mp-actions{margin-bottom:14px;}
  .mp-ov-grid{grid-template-columns:1fr;}
  .mp-lst-row{grid-template-columns:1fr;gap:9px;}
  .mp-lst-act{justify-content:flex-start;}
  .mp-lead-cols{grid-template-columns:1fr 1fr;}
  .mp-dash-stats{grid-template-columns:1fr 1fr;}
  .mp-dash-row{grid-template-columns:minmax(0,1fr) 130px 22px;}
  .mp-dash-row .state-pill{display:none;}
  .mp-stepper,.mp-scan{padding:0;align-items:stretch;}
  .mp-stepper-card,.mp-scan-card{max-width:none;max-height:none;border-radius:0;height:100%;}
  .mp-stepper-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;}
  .mp-browse-card{max-height:100vh;border-radius:0;}
}
@media(max-width:600px){
  .mp-lead-cols{grid-template-columns:1fr;}
  .mp-scan-form{grid-template-columns:1fr;}
  .mp-dash-stats{grid-template-columns:1fr;}
  .mp-b-card-foot{flex-direction:column;gap:2px;align-items:flex-start;}
  .mp-evtype-grid{grid-template-columns:1fr;}
}

/* ===== Agent Market workspace ===== */
#am-page{display:flex;flex-direction:column;gap:18px;padding-bottom:70px;}
.am-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;}
.am-hero-main{min-width:0;}
.am-title{margin-bottom:4px;}
.am-purpose{color:var(--text-dim);font-size:.92rem;max-width:560px;}
.am-hero-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.am-search{display:flex;align-items:center;gap:8px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:12px;padding:0 12px;box-shadow:var(--shadow-sm);min-width:250px;flex:1;max-width:380px;}
.am-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);}
.am-search-icon{color:var(--text-faint);font-size:1rem;}
.am-search-input{border:none;outline:none;background:transparent;font-family:inherit;font-size:.9rem;color:var(--text);padding:11px 0;flex:1;min-width:0;}
.am-post-btn{padding:12px 22px;font-size:.9rem;white-space:nowrap;}

.am-rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.am-rec-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.am-rec-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);}
.am-rec-head{display:flex;align-items:center;gap:10px;min-width:0;}
.am-cmp-logo{width:40px;height:40px;border-radius:10px;background:var(--bg-soft);overflow:hidden;flex-shrink:0;}
.am-cmp-logo img{width:100%;height:100%;object-fit:cover;}
.am-rec-id{min-width:0;}
.am-rec-name{font-weight:800;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.am-rec-spec{font-size:.72rem;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.am-rec-why{background:linear-gradient(135deg,#fffbeb,#fef3c766);border:1px solid #fde68a;border-radius:10px;padding:9px 11px;font-size:.8rem;color:#92400e;line-height:1.55;display:flex;flex-direction:column;gap:3px;}
.am-rec-why-lead{font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;}
.am-rec-foot{margin-top:auto;}
.am-rec-empty{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:16px 18px;flex-wrap:wrap;}
.am-rec-empty-t{font-weight:800;color:var(--text);font-size:.92rem;}
.am-rec-empty-d{font-size:.8rem;color:var(--text-dim);margin-top:3px;max-width:460px;}
.am-rec-chip{font-size:.8rem;color:var(--text-dim);}

.am-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start;}
.am-rail{position:sticky;top:78px;}
.am-rail-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);max-height:calc(100vh - 100px);overflow-y:auto;}
.am-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;}
.am-rail-title{font-family:'Space Grotesk',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.am-rail-clear{border:none;background:none;color:var(--primary);font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;padding:2px 4px;}
.am-rail-group{margin-bottom:14px;}
.am-rail-group:last-child{margin-bottom:0;}
.am-rail-label{font-size:.68rem;font-weight:800;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;}
.am-chips .etai-filter{font-size:.74rem;padding:5px 11px;}
.am-chip-n{font-size:.66rem;color:var(--text-faint);margin-left:2px;}
.am-rail-toggle{display:none;}

.am-list-col{min-width:0;display:flex;flex-direction:column;gap:12px;}
.am-list-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.am-count{font-size:.8rem;color:var(--text-dim);font-weight:700;}
.am-sort{margin-left:auto;}
.am-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;}
.am-empty-note{grid-column:1 / -1;text-align:center;color:var(--text-faint);padding:46px 20px;background:var(--bg-elev);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);}

.am-wcard{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.am-wcard:hover{border-color:var(--primary);}
.am-wcard-top{display:flex;align-items:center;gap:10px;min-width:0;}
.am-wcard-logo{width:44px;height:44px;border-radius:11px;background:var(--bg-soft);overflow:hidden;flex-shrink:0;}
.am-wcard-logo img{width:100%;height:100%;object-fit:cover;}
.am-wcard-id{min-width:0;flex:1;}
.am-wcard-name{font-weight:800;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.am-wcard-spec{font-size:.72rem;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.am-wcard-cmp{width:30px;height:30px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text-dim);cursor:pointer;font-size:.85rem;flex-shrink:0;transition:all .15s;}
.am-wcard-cmp:hover{border-color:var(--primary);color:var(--primary);}
.am-wcard-cmp.on{background:var(--primary);border-color:var(--primary);color:#fff;}

.am-signals{display:flex;gap:5px;flex-wrap:wrap;}
.am-sig{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:700;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);border-radius:99px;padding:2px 8px;white-space:nowrap;}
.am-sig-verified{background:#dcfce7;color:#15803d;border-color:#86efac;}
.am-sig-rating{color:#b45309;background:#fffbeb;border-color:#fde68a;}
.am-sig-badges{letter-spacing:1.5px;}
.am-sig-active{color:#0f766e;background:#ccfbf1;border-color:#99f6e4;}
.am-sig-free{color:var(--primary);background:var(--primary-soft);border-color:transparent;}
.am-signals-mini .am-sig{font-size:.64rem;padding:1px 7px;}

.am-wcard-desc{font-size:.78rem;color:var(--text-faint);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em;}
.am-wcard-foot{display:flex;justify-content:flex-end;margin-top:auto;}

.am-safe{background:linear-gradient(135deg,var(--bg-elev),var(--bg-soft));border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 22px;box-shadow:var(--shadow-sm);}
.am-safe-title{font-family:'Space Grotesk',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.am-safe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.am-safe-step{border-left:3px solid var(--primary);padding-left:12px;}
.am-safe-step-t{font-weight:800;font-size:.86rem;color:var(--text);}
.am-safe-step-d{font-size:.78rem;color:var(--text-dim);margin-top:3px;line-height:1.6;}

.am-cmp-tray{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:10px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:99px;padding:9px 12px 9px 20px;box-shadow:var(--shadow-lg);}
.am-cmp-count{font-size:.84rem;font-weight:700;color:var(--text);}

.am-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.am-cmp-card{max-width:860px;}
.am-cmp-scroll{overflow-x:auto;}
.am-cmp-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.am-cmp-table th,.am-cmp-table td{border-bottom:1px solid var(--border);padding:9px 10px;text-align:left;vertical-align:top;}
.am-cmp-table thead th{border-bottom:2px solid var(--border-strong);}
.am-cmp-rowhead{font-weight:800;color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.am-cmp-agent{display:flex;align-items:center;gap:8px;min-width:130px;}
.am-cmp-agent span{font-weight:800;color:var(--text);}
.am-cmp-cell{color:var(--text-dim);}

.am-detail-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.am-post-list{display:flex;flex-direction:column;gap:8px;max-height:44vh;overflow-y:auto;}
.am-post-row{display:flex;align-items:center;gap:10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 12px;}
.am-post-id{min-width:0;flex:1;}
.am-post-name{font-weight:800;font-size:.88rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.am-post-spec{font-size:.72rem;color:var(--text-dim);margin-top:2px;}

#amTabs{display:flex;gap:8px;flex-wrap:wrap;}
.am-se-search{min-width:0;max-width:520px;width:100%;}
.am-se-section{display:flex;flex-direction:column;gap:12px;}
.am-se-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);transition:border-color .15s, box-shadow .15s;}
.am-se-card-click{cursor:pointer;}
.am-se-card-click:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);}
.am-se-badge{width:44px;height:44px;border-radius:11px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;}

@media(max-width:1000px){
  .am-workspace{grid-template-columns:1fr;}
  .am-rail{position:static;}
  .am-rail-card{max-height:none;}
  .am-rail-toggle{display:inline-flex;}
  .am-rail{display:none;}
  .am-rail.open{display:block;}
  .am-rec-grid{grid-template-columns:1fr;}
  .am-safe-grid{grid-template-columns:1fr;}
  .am-sort{margin-left:0;}
}
@media(max-width:640px){
  .am-hero{align-items:stretch;flex-direction:column;}
  .am-search{max-width:none;min-width:0;}
  .am-post-btn{width:100%;}
  .am-grid{grid-template-columns:1fr;}
  .am-cmp-tray{left:12px;right:12px;transform:none;border-radius:16px;justify-content:space-between;}
}

[hidden]{display:none !important;}

/* ===== STUDIO — ETAI CREATOR (six-stage build) ===== */
#studio{padding-top:6px;min-height:auto;background:transparent;display:flex;flex-direction:column;gap:14px;}
.st-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px 18px;}
.st-back{font-size:.85rem;color:var(--text-dim);white-space:nowrap;}
.st-back:hover{color:var(--primary);}
.st-id{display:flex;align-items:center;gap:12px;min-width:0;}
.st-emoji{width:44px;height:44px;border-radius:12px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;}
.st-id-txt{min-width:0;}
.st-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.st-name{font-weight:800;font-size:1.05rem;color:var(--text);}
.st-edit{border:none;background:none;cursor:pointer;font-size:.85rem;color:var(--text-faint);padding:2px 4px;}
.st-edit:hover{color:var(--primary);}
.st-state{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:100px;background:var(--bg-soft);border:1px solid var(--border-strong);color:var(--text-dim);}
.st-state.live{background:#ecfdf5;border-color:#a7f3d0;color:#047857;}
.st-sub{font-size:.8rem;color:var(--text-faint);margin-top:2px;}
.st-head-right{margin-left:auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.st-readiness{display:flex;align-items:center;gap:10px;}
.st-ring{width:46px;height:46px;border-radius:50%;background:conic-gradient(var(--primary) 0%,var(--border) 0);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.st-ring::before{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--bg-elev);}
.st-ring span{position:relative;font-family:'Space Grotesk',sans-serif;font-size:.66rem;font-weight:700;color:var(--text);}
.st-readiness-lbl{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);}
.st-readiness-val{font-size:.82rem;font-weight:700;color:var(--text);}
.st-xp{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.8rem;color:var(--text-dim);white-space:nowrap;}

/* studio mode tabs (Basic Setup / Advanced Setup) */
.st-mode{display:flex;justify-content:center;}
.st-mode-tabs{display:inline-flex;gap:6px;padding:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-sm);}
.st-mode-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 22px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text-dim);font-size:.86rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;}
.st-mode-tab:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.st-mode-icn{font-size:.95rem;line-height:1;}
.st-mode-prog{font-size:.66rem;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);font-family:'Space Grotesk',sans-serif;}
.st-mode-tab.tab-basic{border-color:#e0c25a;background:linear-gradient(180deg,#fdf7e4 0%,var(--bg-elev) 100%);color:#8a6d1a;}
.st-mode-tab.tab-basic:hover{border-color:#d4a017;color:#7a5c10;background:#fbf1d4;}
.st-mode-tab.tab-basic.active{background:linear-gradient(180deg,#f9edb9 0%,#f0d78a 100%);border-color:#d4a017;color:#6b5310;box-shadow:inset 0 0 0 1px rgba(212,160,23,.6),0 4px 12px rgba(212,160,23,.35);}
.st-mode-tab.tab-advanced{border-color:#b9c4f7;background:linear-gradient(180deg,#f2f3fe 0%,var(--bg-elev) 100%);color:#4338ca;}
.st-mode-tab.tab-advanced:hover{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft);}
.st-mode-tab.tab-advanced.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(91,91,240,.32);}
.st-mode-tab.tab-playground{border-color:#f2c7d8;background:linear-gradient(180deg,#fdf1f6 0%,var(--bg-elev) 100%);color:#b83767;}
.st-mode-tab.tab-playground:hover{border-color:var(--pink);color:#ad1d54;background:#fdeaf2;}
.st-mode-tab.tab-playground.active{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 4px 12px rgba(236,72,153,.32);}
.st-mode-tab.active .st-mode-prog{background:rgba(255,255,255,.28);border-color:transparent;color:inherit;}
#studio.mode-basic .st-grid,#studio.mode-basic .st-bp-toggle,#studio.mode-basic .st-bp-mask,#studio.mode-basic .st-playground{display:none !important;}
#studio.mode-advanced .st-basic,#studio.mode-advanced .st-playground{display:none;}
#studio.mode-playground .st-basic{display:none;}
#studio.mode-playground .st-grid,#studio.mode-playground .st-bp-toggle,#studio.mode-playground .st-bp-mask{display:none !important;}
.st-playground{max-width:920px;margin:0 auto;padding:18px 4px 48px;}
.st-playground .studio-panel{position:static;width:100%;height:calc(100vh - 230px);min-height:520px;}
.st-basic .qs-wizard{max-width:920px;padding:18px 4px 48px;}
.st-basic .qs-head-actions{display:none;}
.st-basic .qs-foot{background:rgba(255,255,255,.94);}
@media(max-width:640px){
  .st-mode-tabs{flex-direction:column;width:100%;border-radius:18px;}
  .st-mode-tab{justify-content:center;width:100%;}
}

.st-grid{display:grid;grid-template-columns:225px minmax(0,1fr);gap:16px;align-items:start;}
.st-rail{position:sticky;top:76px;display:flex;flex-direction:column;gap:8px;}
.st-rail-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;font:inherit;text-align:left;transition:all .15s;color:var(--text-dim);}
.st-rail-item:hover{border-color:var(--primary);}
.st-rail-item.active{border-color:var(--primary);background:var(--primary-soft);color:var(--text);box-shadow:var(--shadow-sm);}
.st-rail-item.done{color:var(--text);}
.st-rail-item.locked{opacity:.55;}
.st-rail-n{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:700;flex-shrink:0;background:var(--bg);color:var(--text-dim);}
.st-rail-item.done .st-rail-n{background:#ecfdf5;border-color:#a7f3d0;color:#047857;}
.st-rail-item.active .st-rail-n{border-color:var(--primary);color:var(--primary);}
.st-rail-l{font-size:.85rem;font-weight:600;line-height:1.3;}
.st-rail-lock{margin-left:auto;font-size:.72rem;opacity:.75;}

.st-canvas{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px 0;display:flex;flex-direction:column;min-height:540px;position:relative;}
#stCardHost.busy{pointer-events:none;opacity:.65;}
#stCardHost{flex:1;padding-bottom:4px;}
#stReads{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.st-read{border-left:3px solid var(--primary);background:var(--primary-soft);border-radius:0 10px 10px 0;padding:9px 12px;font-size:.84rem;color:var(--text-dim);line-height:1.55;}
.st-read-t{display:block;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:3px;}
.st-busy{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);border-radius:100px;padding:8px 16px;margin:0 auto 14px;width:fit-content;}
.st-err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;padding:10px 14px;font-size:.84rem;margin-bottom:12px;}

.st-card{animation:fadeUp .25s ease;}
.st-card-kicker{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.st-card-kicker .sep{color:var(--text-faint);}
.st-card-q{font-size:1.22rem;font-weight:800;line-height:1.45;margin-bottom:8px;color:var(--text);}
.st-card-why{font-size:.8rem;color:var(--accent);margin-bottom:6px;font-weight:600;}
.st-card-guide{font-size:.86rem;color:var(--text-dim);margin-bottom:14px;line-height:1.55;}
.st-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.st-cur{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--primary);background:var(--primary-soft);border-radius:100px;padding:5px 12px;}
.st-src-status{margin-top:12px;font-size:.8rem;line-height:1.5;}
.st-src-status .ok{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:100px;padding:5px 12px;}
.st-src-status .wait{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:100px;padding:5px 12px;}
.st-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px;}
.st-opt{position:relative;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:13px 14px;border-radius:13px;border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;font:inherit;transition:all .15s;color:var(--text-dim);}
.st-opt:hover{border-color:var(--primary);color:var(--text);box-shadow:var(--shadow-sm);}
.st-opt.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--text);}
.st-opt.selected::after{content:'✓';position:absolute;top:8px;right:10px;font-size:.8rem;color:var(--primary);font-weight:800;}
.st-opt-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0;margin-top:2px;}
.st-opt.selected .st-opt-radio{border-color:var(--primary);background:radial-gradient(circle,var(--primary) 42%,transparent 48%);}
.st-opt-txt{font-size:.88rem;font-weight:600;line-height:1.45;}
.st-opt-rule{display:block;font-size:.73rem;font-weight:400;color:var(--text-faint);margin-top:4px;line-height:1.5;}
.st-other{margin-top:12px;display:none;flex-direction:column;gap:8px;}
.st-other.open{display:flex;}
.st-other-toggle{background:none;border:1px dashed var(--border-strong);color:var(--text-dim);border-radius:10px;padding:8px 14px;font:inherit;font-size:.84rem;cursor:pointer;width:fit-content;}
.st-other-toggle:hover{color:var(--primary);border-color:var(--primary);}
.st-other textarea,.st-text-form textarea,.st-kb-add textarea{padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:.88rem;background:var(--bg);color:var(--text);resize:vertical;width:100%;box-sizing:border-box;}
.st-other textarea{min-height:64px;}
.st-text-form{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.st-text-form label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);}
.st-form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.st-suggest{background:var(--accent-soft);border:1px solid #fcd34d;color:#92400e;border-radius:100px;padding:7px 14px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;margin-bottom:12px;}
.st-suggest:hover{filter:brightness(.97);}
.st-task-view{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:.88rem;color:var(--text-dim);line-height:1.6;}
.st-note{display:flex;gap:8px;align-items:flex-start;font-size:.84rem;color:var(--text-dim);background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:12px;padding:10px 14px;margin-bottom:14px;width:fit-content;max-width:100%;}
.st-lock{text-align:center;padding:46px 20px;}
.st-lock-icn{font-size:2rem;margin-bottom:10px;}
.st-lock .st-card-q{margin-bottom:6px;}
.st-lock p{color:var(--text-dim);max-width:440px;margin:0 auto;line-height:1.65;font-size:.9rem;}

.st-test{display:flex;flex-direction:column;gap:14px;}
.st-test-ans{background:var(--bg-soft);border:1px solid var(--border);border-radius:13px;padding:14px 16px;font-size:.9rem;line-height:1.65;}
.st-test-block h5{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px;}
.st-test-block ul{list-style:none;display:flex;flex-direction:column;gap:5px;}
.st-test-block li{font-size:.85rem;color:var(--text-dim);padding-left:14px;position:relative;line-height:1.5;}
.st-test-block li::before{content:'—';position:absolute;left:0;color:var(--text-faint);}
.st-test-block li.dim{color:var(--text-faint);}
.st-test-debrief{font-size:.86rem;color:var(--text-dim);line-height:1.6;}

.st-launch-rows{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:13px;overflow:hidden;margin-bottom:14px;}
.st-launch-row{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;font-size:.85rem;border-bottom:1px solid var(--border);}
.st-launch-row:last-child{border-bottom:none;}
.st-launch-row .k{color:var(--text-faint);font-weight:600;flex-shrink:0;}
.st-launch-row .v{color:var(--text);text-align:right;line-height:1.5;}
.st-plan{margin:0 0 14px;padding-left:20px;font-size:.86rem;color:var(--text-dim);line-height:1.8;}
.st-launched{display:inline-flex;align-items:center;gap:8px;background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;border-radius:12px;padding:10px 16px;font-weight:700;font-size:.9rem;margin-bottom:12px;}

.st-foot{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin-top:16px;background:var(--bg-elev);border-top:1px solid var(--border);}
.st-foot-right{display:flex;gap:10px;}

.st-bp{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);z-index:180;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px 0 0 16px;box-shadow:var(--shadow-lg);padding:16px;transform:translateX(105%);transition:transform .25s ease;overflow-y:auto;}
.st-bp.open{transform:none;}
.st-bp-h{font-size:.95rem;font-weight:800;margin-bottom:2px;}
.st-bp-sub{font-size:.72rem;color:var(--text-faint);line-height:1.5;margin-bottom:12px;}
.st-bp-rows{display:flex;flex-direction:column;gap:6px;}
.st-bp-row{display:block;width:100%;text-align:left;background:var(--bg-soft);border:1px solid var(--border);border-radius:11px;padding:9px 12px;cursor:pointer;font:inherit;transition:all .15s;}
.st-bp-row:hover{border-color:var(--primary);}
.st-bp-row .k{display:block;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:2px;}
.st-bp-row .v{display:block;font-size:.8rem;font-weight:600;color:var(--text);line-height:1.45;}
.st-bp-row.stat{cursor:default;background:none;border-style:dashed;}
.st-bp-row.stat:hover{border-color:var(--border);}
.st-bp-meta{margin-top:10px;font-size:.74rem;color:var(--text-faint);}
.st-bp-mask{display:none;position:fixed;inset:0;background:rgba(15,23,41,.35);z-index:170;}
.st-bp-mask.show{display:block;}
.st-bp-toggle{display:inline-flex;position:fixed;right:16px;bottom:16px;z-index:190;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);border-radius:100px;padding:10px 18px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-md);}

.st-tools{margin-top:18px;border-top:1px dashed var(--border-strong);padding-top:14px;}
.st-tools-h{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;}
.st-kb-add{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.st-kb-add input{padding:8px 11px;border:1px solid var(--border-strong);border-radius:9px;font:inherit;font-size:.82rem;background:var(--bg);color:var(--text);}
.st-kb-docs{list-style:none;display:flex;flex-direction:column;gap:8px;}
.st-kb-status{font-size:.78rem;color:var(--text-dim);}

/* studio panel — full-width section below the chat canvas (desktop) */
.st-grid .studio-panel{grid-column:2;grid-row:2;position:static;height:auto;min-height:480px;max-height:640px;}
.studio-panel .panel-tabs{gap:4px;padding:8px 8px 6px;border-bottom:1px solid var(--border);background:var(--bg-soft);}
.studio-panel .panel-tab{flex:1;min-width:0;padding:7px 4px;font-size:.7rem;font-weight:600;color:var(--text-dim);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:100px;box-shadow:var(--shadow-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .15s;}
.studio-panel .panel-tab:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);box-shadow:none;}
.studio-panel .panel-tab.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700;box-shadow:0 4px 12px rgba(91,91,240,.32);}
.studio-panel .panel-tab.active:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;}
.studio-panel .panel-tab.tab-playground{flex:1.6;border-color:#e0c25a;background:linear-gradient(180deg,#fdf7e4 0%,var(--bg-elev) 100%);color:#8a6d1a;font-weight:700;}
.studio-panel .panel-tab.tab-playground:hover{border-color:#d4a017;color:#7a5c10;background:#fbf1d4;box-shadow:none;}
.studio-panel .panel-tab.tab-playground.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:800;box-shadow:inset 0 0 0 1px rgba(212,160,23,.6),0 4px 12px rgba(91,91,240,.32);}
.studio-panel .panel-tab.tab-playground.active:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;}
.pg-tab-badge{display:inline-block;font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#d4a017,var(--accent));border-radius:100px;padding:2px 7px;margin-left:5px;vertical-align:1px;animation:pgBadgePulse 1.8s ease-in-out infinite;}
@keyframes pgBadgePulse{0%,100%{box-shadow:0 0 0 0 rgba(212,160,23,.5);}50%{box-shadow:0 0 0 5px rgba(212,160,23,0);}}
.pg-hint{align-self:center;text-align:center;color:var(--text-faint);font-size:.84rem;line-height:1.6;padding:26px 10px;margin:auto 0;}
.pg-hint-icn{font-size:1.7rem;display:block;margin-bottom:8px;}
.panel-body .chat-input{background:transparent;}

/* studio coach panel (training-coach follow-up loop) */
.studio-panel .panel-tab.tab-coach{position:relative;border-color:#b9c4f7;background:linear-gradient(180deg,#f2f3fe 0%,var(--bg-elev) 100%);color:#4338ca;font-weight:700;}
.studio-panel .panel-tab.tab-coach:hover{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft);box-shadow:none;}
.studio-panel .panel-tab.tab-coach.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.coach-tab-dot{position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:var(--rose);border:2px solid var(--bg-elev);box-shadow:0 0 0 2px rgba(251,113,133,.35);animation:pgBadgePulse 1.8s ease-in-out infinite;}
.coach-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px;border-bottom:1px dashed var(--border);margin-bottom:10px;flex-wrap:wrap;}
.coach-head-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.coach-head-name{font-weight:800;font-size:.9rem;color:var(--text);}
.coach-head-sub{font-size:.72rem;color:var(--text-dim);line-height:1.45;}
.coach-stage-chip{flex-shrink:0;font-size:.68rem;font-weight:700;color:#6d5a10;background:var(--accent-soft);border:1px solid #ecd9a0;border-radius:100px;padding:4px 11px;white-space:nowrap;}
.coach-bubble.is-coach{border-left:3px solid var(--accent);background:linear-gradient(180deg,#fffdf4 0%,var(--bg-soft) 100%);}
.coach-opts{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);}
.coach-opt{font-family:inherit;font-size:.78rem;font-weight:600;color:var(--primary-dark);background:var(--primary-soft);border:1px solid #c9cdf6;border-radius:100px;padding:7px 13px;cursor:pointer;transition:all .15s;text-align:left;}
.coach-opt:hover{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 10px rgba(91,91,240,.28);}
.coach-opt:disabled{opacity:.55;cursor:default;}
.coach-opt-later{color:var(--text-dim);background:var(--bg-elev);border-color:var(--border-strong);}
.coach-opt-later:hover{background:var(--bg-soft);border-color:var(--border-strong);color:var(--text-dim);box-shadow:none;}
.coach-dismiss{font-family:inherit;font-size:.7rem;font-weight:600;color:var(--text-faint);background:none;border:none;cursor:pointer;padding:7px 4px;text-decoration:underline dotted;}
.coach-dismiss:hover{color:var(--rose);}
.coach-sysline{align-self:center;font-size:.74rem;font-weight:600;color:var(--green);background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);border-radius:100px;padding:4px 12px;margin:2px auto;}
.coach-tools-row{position:relative;padding:0 0 8px;}
.coach-tool-btn{font-family:inherit;font-size:.76rem;font-weight:700;color:var(--text-dim);background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:100px;padding:6px 14px;cursor:pointer;transition:all .15s;}
.coach-tool-btn:hover{color:var(--primary);border-color:var(--primary);}
.coach-tools-pop{position:absolute;bottom:38px;left:0;right:0;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:10px;z-index:40;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;}
.coach-tools-pop-h{font-size:.72rem;color:var(--text-faint);padding:0 2px 2px;}
.coach-tool-item{display:flex;gap:9px;align-items:flex-start;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:8px 10px;cursor:pointer;text-align:left;font-family:inherit;transition:all .15s;}
.coach-tool-item:hover{border-color:var(--primary);background:var(--primary-soft);}
.coach-tool-item .ti{font-size:1.1rem;line-height:1.2;}
.coach-tool-item .tt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.coach-tool-item .tl{font-weight:700;font-size:.82rem;color:var(--text);}
.coach-tool-item .td{font-size:.73rem;color:var(--text-dim);line-height:1.4;}
.coach-tool-bubble,.coach-tool-result{max-width:94%;width:94%;}
.coach-tool-card{display:flex;flex-direction:column;padding:2px 0;}
.coach-tool-card-head{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px;border-bottom:1px dashed var(--border);margin-bottom:8px;}
.coach-tool-desc{font-size:.76rem;color:var(--text-faint);margin:-3px 0 8px;line-height:1.45;}
.coach-tool-form{display:flex;flex-direction:column;gap:9px;}
.coach-tool-field label{display:block;font-size:.7rem;font-weight:700;color:var(--text-dim);margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em;}
.coach-tool-field label .req{color:var(--rose);}
.coach-tool-field input,.coach-tool-field textarea,.coach-tool-field select{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;font-family:inherit;font-size:.84rem;background:var(--bg);color:var(--text);}
.coach-tool-field textarea{resize:vertical;min-height:56px;}
.coach-tool-field input:focus,.coach-tool-field textarea:focus,.coach-tool-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.coach-tool-file-row{display:flex;align-items:center;gap:8px;min-width:0;}
.coach-tool-file-name{font-size:.76rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.coach-tool-actions{display:flex;gap:8px;margin-top:2px;}
.coach-tool-status{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;border-radius:100px;padding:3px 11px;margin-top:9px;align-self:flex-start;}
.coach-tool-status.ok{color:var(--green);background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);}
.coach-tool-status.err{color:var(--rose);background:rgba(244,63,94,.08);border:1px solid rgba(244,63,94,.25);}
.coach-tool-status.form:empty{display:none;}
.coach-tool-next{margin-top:4px;}
.coach-next{font-family:inherit;font-size:.78rem;font-weight:600;color:var(--primary-dark);background:var(--primary-soft);border:1px solid #c9cdf6;border-radius:100px;padding:7px 13px;cursor:pointer;transition:all .15s;text-align:left;}
.coach-next:hover{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 10px rgba(91,91,240,.28);}
.coach-next:disabled{opacity:.55;cursor:default;}
.etai-coach-chip{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:600;color:#6d5a10;background:var(--accent-soft);border-radius:100px;padding:2px 9px;margin-top:4px;width:fit-content;}
@media(max-width:560px){
  .coach-opts{flex-direction:column;}
  .coach-opt{width:100%;text-align:center;}
  .coach-stage-chip{font-size:.62rem;}
}

@media(max-width:1240px){
  .st-grid{grid-template-columns:200px minmax(0,1fr);}
}
@media(max-width:1024px){
  .st-grid{grid-template-columns:minmax(0,1fr);}
  .st-grid .studio-panel{grid-column:auto;grid-row:auto;}
  .st-rail{position:static;flex-direction:row;overflow-x:auto;padding-bottom:4px;}
  .st-rail-item{flex-shrink:0;}
  .st-rail-l{white-space:nowrap;}
}
@media(max-width:860px){
  .st-grid{grid-template-columns:1fr;}
  .st-grid .studio-panel{position:static;}
  .st-head-right{margin-left:0;width:100%;}
  .st-canvas{padding:16px 16px 0;}
}

/* studio side bars auto-collapse (desktop only) */
@media(min-width:1025px){
  .st-grid{transition:grid-template-columns .38s cubic-bezier(.4,0,.2,1);}
  .st-grid.st-compact-rail{grid-template-columns:44px minmax(0,1fr);}
  .st-rail-l,.st-rail-lock{transition:opacity .2s ease;}
  .st-grid.st-compact-rail .st-rail{overflow:hidden;}
  .st-grid.st-compact-rail .st-rail-item{padding:10px 0;gap:0;justify-content:center;overflow:hidden;white-space:nowrap;}
  .st-grid.st-compact-rail .st-rail-l,.st-grid.st-compact-rail .st-rail-lock{opacity:0;flex:0 0 0px;min-width:0;overflow:hidden;margin:0;}
  .st-grid.st-compact-rail .st-checklist{display:none;}
  .studio-panel{transition:min-height .38s cubic-bezier(.4,0,.2,1),max-height .38s cubic-bezier(.4,0,.2,1);}
  .studio-panel .panel-body{transition:opacity .18s ease;}
  .studio-panel.st-compact{min-height:0;max-height:50px;}
  .studio-panel.st-compact .panel-body{opacity:0;pointer-events:none;}
  .studio-panel.st-compact .panel-tabs{gap:2px;padding:6px;flex-shrink:0;}
  .studio-panel.st-compact .panel-tab{font-size:0;padding:9px 0;}
  .studio-panel.st-compact .panel-tab .pti{font-size:.95rem;line-height:1;}
  .studio-panel.st-compact .pg-tab-badge{display:none;}
}

/* ===== A2A COLLABORATION HUB (/a2a workspace) ===== */
.a2h-head-main{min-width:0;}
.a2h-head-agent{color:var(--teal-dim);}
.a2h-head-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0;}
.a2h-head-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;}
.a2h-ready{display:inline-flex;align-items:center;gap:7px;}
.a2h-ready .etai-meter{width:80px;}
.a2h-ready small{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
.a2h-switch .appbar-ws-btn{border-color:var(--border-strong);background:var(--bg-elev);color:var(--text);}
.a2h-switch .appbar-ws-btn:hover{background:var(--bg-soft);}
.a2h-tabs{margin:2px 0 0;padding-bottom:12px;border-bottom:1px solid var(--border);}
#a2hSwitchList{max-height:320px;overflow-y:auto;}

/* inbox */
.a2h-inbox{display:flex;flex-direction:column;}
.a2h-inbox-item{display:flex;align-items:center;gap:16px;padding:14px 6px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.a2h-inbox-item:last-child{border-bottom:none;}
.a2h-inbox-item:hover{background:var(--bg-soft);}
.a2h-inbox-main{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;}
.a2h-inbox-name{font-weight:700;font-size:.95rem;color:var(--text);}
.a2h-inbox-meta{font-size:.76rem;color:var(--text-faint);}
.a2h-inbox-acts{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
.a2i-decline{color:#be123c;border-color:#fecdd3;}
.a2i-decline:hover{background:#fff1f2;}

/* collaboration rows */
.a2h-thead{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.25fr) 120px 150px 150px 34px;gap:12px;padding:6px 6px;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);}
.a2h-crow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.25fr) 120px 150px 150px 34px;gap:12px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--border);transition:background .15s;}
.a2h-crow:last-child{border-bottom:none;}
.a2h-crow:hover{background:var(--bg-soft);}
.a2h-c-purpose{display:flex;flex-direction:column;gap:2px;min-width:0;}
.a2h-c-purpose b{font-size:.92rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.a2h-c-purpose small{font-size:.72rem;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.a2h-c-etais,.a2h-c-outcome,.a2h-c-scope{font-size:.82rem;color:var(--text-dim);line-height:1.45;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.a2h-c-etais{font-weight:600;}
.a2h-c-state{display:flex;flex-direction:column;gap:5px;align-items:flex-start;}
.a2h-c-gov{padding:5px 9px;}
.a2h-vis{background:#fff;color:#111;border:1px solid var(--border,#1a1a1a);border-radius:8px;padding:3px 6px;font-size:.78rem;max-width:150px;}

/* empty */
.a2h-empty{padding:28px;text-align:center;color:var(--text-faint);background:var(--bg-soft);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;align-items:center;font-size:.88rem;}
.a2h-empty b{color:var(--text-dim);}
.a2h-empty p{margin:0;}

/* explore */
.a2h-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}

/* templates */
.a2h-tmpls{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.a2h-tmpl{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--bg);align-items:flex-start;}
.a2h-tmpl:hover{border-color:var(--teal-dim);background:#f7fbfb;}
.a2h-tmpl .mp-ov-title{margin:2px 0;}
.a2h-tmpl .btn-sm{margin-top:auto;}

/* governance rail */
.a2h-rail-list{margin:6px 0 0;display:flex;flex-direction:column;}
.a2h-rail-row{display:flex;flex-direction:column;gap:3px;padding:10px 2px;border-bottom:1px dashed var(--border);}
.a2h-rail-row:last-child{border-bottom:none;}
.a2h-rail-row dt{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);}
.a2h-rail-row dd{margin:0;font-size:.84rem;color:var(--text-dim);line-height:1.55;word-break:break-word;}
.a2h-rail-row dd i{color:var(--text-faint);}
.a2h-rail-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px;}
.a2h-rail-empty{padding:18px;}
.a2h-note{font-size:.72rem;color:var(--text-faint);line-height:1.5;margin:10px 0 0;}
.a2h-pause{cursor:pointer;font:inherit;}

/* stepper */
.a2h-stepper-card{max-width:640px;max-height:min(90vh,760px);overflow-y:auto;}
.a2h-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.a2h-step-head h3{font-size:1.1rem;font-weight:800;color:var(--text);margin:2px 0 3px;}
.a2h-stepnav{display:flex;gap:6px;margin:14px 0 16px;}
.a2h-dot{width:30px;height:30px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg);color:var(--text-faint);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;flex-shrink:0;}
.a2h-dot.done{border-color:var(--teal-dim);color:var(--teal-dim);background:#e9f4f5;}
.a2h-dot.on{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff;}
.a2h-step{display:flex;flex-direction:column;gap:12px;}
.a2h-ai-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.a2h-optcards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.a2h-optcards .mp-opt.is-picked{border-color:var(--teal-ink);background:#e9f4f5;box-shadow:0 0 0 2px rgba(120,215,221,.35);}
.a2h-checks{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);}
.a2h-check{display:flex;align-items:center;gap:9px;font-size:.88rem;color:var(--text-dim);cursor:pointer;}
.a2h-check input{accent-color:var(--teal-ink);width:16px;height:16px;cursor:pointer;}
.a2h-fit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--text-dim);}
.a2h-summary{display:flex;flex-direction:column;}
.a2h-sum-row{display:flex;flex-direction:column;gap:2px;padding:9px 2px;border-bottom:1px dashed var(--border);}
.a2h-sum-row:last-child{border-bottom:none;}
.a2h-sum-row span{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);}
.a2h-sum-row b{font-size:.85rem;color:var(--text);line-height:1.5;word-break:break-word;}
.a2h-invite-hint:not(:empty){font-size:.78rem;color:#92660e;background:var(--accent-soft);border:1px solid #f3d9a4;border-radius:10px;padding:9px 12px;}
.a2h-step-foot{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);}
.a2h-step-foot .kb-status{flex:1;text-align:center;}

/* responsive */
@media(max-width:980px){
  .a2h-tmpls{grid-template-columns:1fr;}
}
@media(max-width:860px){
  .a2h-thead{display:none;}
  .a2h-crow{display:flex;flex-wrap:wrap;gap:8px 12px;}
  .a2h-c-purpose{flex:1 1 100%;}
  .a2h-c-outcome{flex:1 1 100%;-webkit-line-clamp:3;}
  .a2h-c-etais{flex:1 1 140px;}
  .a2h-c-scope{flex:1 1 100px;}
  .a2h-c-next{margin-left:auto;}
  .a2h-optcards{grid-template-columns:1fr;}
  .a2h-inbox-item{flex-direction:column;align-items:flex-start;}
  .a2h-inbox-acts{justify-content:flex-start;}
}

/* A2A room — join panel + agent panel */
.a2a-join-card{display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:560px;padding:18px 20px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.a2a-join-card h2{margin:0;font-size:1.1rem;font-family:'Space Grotesk',sans-serif;}
.a2a-join-name{margin:0;font-weight:700;color:var(--text);}
.a2a-join-goal,.a2a-join-note{margin:0;font-size:.86rem;color:var(--text-dim);}
.a2a-join-pick{display:flex;flex-direction:column;gap:5px;font-size:.8rem;color:var(--text-dim);width:100%;}
.a2a-join-pick select,.a2a-agent-panel select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);font-size:.88rem;min-width:230px;}
.a2a-join-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.a2a-agent-panel{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--bg-soft);}
.a2a-agent-panel label{display:flex;flex-direction:column;gap:5px;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);}

/* ===== SIDEBAR DRAWER + ACTIVITY ACCORDION ===== */
.sidebar-top-row{display:flex;align-items:center;gap:8px;}
.sidebar-top-row.sidebar-controls{margin-bottom:10px;justify-content:flex-end;flex-shrink:0;}
.sidebar-collapse-btn{display:none;flex-shrink:0;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--text-faint);font-family:'Space Grotesk',sans-serif;font-size:.8rem;line-height:1;cursor:pointer;transition:all .15s;}
.sidebar-collapse-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);}
.sidebar-close-btn{display:none;flex-shrink:0;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--text-faint);font-family:'Space Grotesk',sans-serif;font-size:.8rem;line-height:1;cursor:pointer;transition:all .15s;}
.sidebar-close-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);}
.sidebar-auto{display:none;align-items:center;gap:6px;margin-right:auto;font-size:.74rem;font-weight:600;color:var(--text-faint);white-space:nowrap;cursor:pointer;}
.sidebar-auto input{accent-color:var(--primary);cursor:pointer;margin:0;}
@media(min-width:901px){
  .sidebar-collapse-btn{display:inline-flex;}
  .sidebar-auto{display:inline-flex;}
  .app-sidebar.collapsed .sidebar-controls{flex-direction:column;justify-content:center;gap:6px;}
  .app-sidebar.collapsed .sidebar-auto{margin-right:0;}
}
@media(max-width:900px){
  .sidebar-close-btn{display:inline-flex;}
}
.sidebar-acc{display:flex;flex-direction:column;}
.sidebar-acc-btn{width:100%;background:none;border:none;font:inherit;color:inherit;cursor:pointer;text-align:left;}
.sidebar-caret{margin-left:auto;font-size:.72rem;color:var(--text-faint);transition:transform .18s ease;flex-shrink:0;}
.sidebar-acc.open .sidebar-caret{transform:rotate(90deg);}
.sidebar-sub{display:none;flex-direction:column;gap:2px;margin:2px 0 4px;}
.sidebar-acc.open > .sidebar-sub{display:flex;}
.sidebar-sub-link{display:flex;align-items:center;padding:7px 12px 7px 45px;border-radius:8px;font-size:.82rem;font-weight:500;color:var(--text-faint);transition:all .15s;}
.sidebar-sub-link:hover{background:var(--bg-soft);color:var(--text);}
.sidebar-sub-link.active{background:var(--primary-soft);color:var(--primary);font-weight:700;}

/* A2A multi-agent participants */
.a2a-agent-panel .a2a-goal-input{padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);font-size:.88rem;min-width:230px;}
.a2a-parts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);}
.a2a-parts b{flex:0 0 auto;}
.a2a-part-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg);color:var(--text);font-size:.78rem;font-weight:600;letter-spacing:0;text-transform:none;}
.a2a-part-extra{border-style:dashed;}
.a2a-part-x{border:none;background:none;color:var(--text-faint);cursor:pointer;font-size:.8rem;line-height:1;padding:0 2px;}
.a2a-part-x:hover{color:#e5484d;}
.a2a-goal .a2a-parts-line,.a2a-parts-line{font-size:.8rem;}

/* ---------- Studio panel: Webpage draft ---------- */
.wp-panel{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:10px;}
.wp-card{display:flex;flex-direction:column;gap:10px;}
.wp-hint{font-size:.83rem;color:var(--text-dim);line-height:1.55;margin:0;}
.wp-warn{border:1px solid #f0b429;background:rgba(240,180,41,.12);color:var(--text);border-radius:10px;padding:9px 12px;font-size:.8rem;line-height:1.5;}
.wp-warn b{font-weight:700;}
.wp-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.wp-actions button:disabled{opacity:.55;cursor:not-allowed;}
.wp-builder-link{font-size:.78rem;color:var(--text-faint);text-decoration:none;font-weight:600;}
.wp-builder-link:hover{color:var(--primary);}
.wp-preview{border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:14px;display:flex;flex-direction:column;gap:8px;}
.wp-sec-lbl{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);}
.wp-sec-big{margin-top:6px;padding-top:8px;border-top:1px dashed var(--border);}
.wp-tagline{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);}
.wp-hero-h{font-size:1.05rem;font-weight:800;color:var(--text);line-height:1.3;}
.wp-p{font-size:.82rem;color:var(--text-dim);line-height:1.55;margin:0;}
.wp-list{margin:0;padding-left:18px;font-size:.82rem;color:var(--text-dim);line-height:1.6;}
.wp-chips{display:flex;flex-wrap:wrap;gap:6px;}
.wp-chip{border:1px solid var(--border-strong);border-radius:999px;padding:3px 10px;font-size:.74rem;color:var(--text);background:var(--bg-elev);}
.wp-state{display:flex;align-items:center;gap:8px;}
.wp-badge{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border-strong);border-radius:999px;padding:3px 10px;}
.wp-badge.live{color:#16a34a;border-color:rgba(22,163,74,.4);background:rgba(22,163,74,.1);}
.wp-status.ok{color:#16a34a;}
.wp-edit-scroll{display:flex;flex-direction:column;gap:8px;}
.wp-field{display:flex;flex-direction:column;gap:3px;}
.wp-field label{font-size:.72rem;font-weight:600;color:var(--text-dim);}
.wp-field input,.wp-field textarea{padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;font-size:.84rem;background:var(--bg);color:var(--text);font-family:inherit;resize:vertical;}
.wp-field input:focus,.wp-field textarea:focus{outline:none;border-color:var(--primary);}
.wp-item{border:1px dashed var(--border-strong);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:7px;background:var(--bg-soft);}
.wp-item-head{display:flex;justify-content:space-between;align-items:center;}
.wp-item-x{border:none;background:none;color:var(--text-faint);font-size:.72rem;font-weight:600;cursor:pointer;padding:2px 4px;}
.wp-item-x:hover{color:#e5484d;}
.wp-add-item{align-self:flex-start;border:1px dashed var(--primary);background:none;color:var(--primary);border-radius:9px;padding:6px 12px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;}
.wp-add-item:hover{background:var(--primary-soft);}
.wp-note{font-size:.74rem;color:var(--text-faint);margin:0;font-style:italic;}
.wp-edit-foot{padding-top:4px;border-top:1px solid var(--border);}

/* --- wiki page tabs + RAG knowledge panel --- */
.wiki-page-tabs{display:flex;gap:8px;max-width:1600px;margin:0 auto;padding:16px 24px 0;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none;}
.wiki-page-tabs::-webkit-scrollbar{display:none;}
.wiki-page-tabs .dash-tab{white-space:nowrap;flex-shrink:0;}
.wiki-tab-body[hidden]{display:none;}
.wiki-rag{max-width:900px;margin:0 auto;padding:22px 24px 60px;}
.wiki-rag-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.wiki-rag-agent{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);border:1px solid var(--border);border-radius:999px;padding:4px 12px;}
.wiki-rag-agent-sel{font-size:.8rem;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-family:inherit;cursor:pointer;}
.wiki-rag .doc-list{overflow:visible;flex:none;}
@media(max-width:720px){
  .wiki-page-tabs{padding:12px 16px 0;}
  .wiki-rag{padding:18px 16px 48px;}
}

/* ---- studio MBTI panel ---- */
.mbti-panel{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:10px;}
.mbti-shared{font-size:.72rem;line-height:1.5;color:var(--primary-dark);background:var(--primary-soft);border:1px solid var(--border);border-radius:8px;padding:8px 10px;}
.mbti-meta{font-size:.7rem;color:var(--text-faint);}
.mbti-progress{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-faint);}
.mbti-dots{display:flex;flex-wrap:wrap;gap:3px;}
.mbti-dot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;flex-shrink:0;}
.mbti-dot.done{background:var(--primary);}
.mbti-dot.cur{outline:2px solid var(--primary-dark);outline-offset:1px;}
.mbti-q{display:flex;flex-direction:column;gap:8px;}
.mbti-q-dim{font-size:.68rem;font-weight:700;color:var(--text-faint);letter-spacing:.04em;}
.mbti-q-text{font-size:.95rem;font-weight:600;line-height:1.5;}
.mbti-scales{display:flex;flex-direction:column;gap:6px;}
.mbti-scale{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:7px 10px;cursor:pointer;font-size:.8rem;color:var(--text);}
.mbti-scale:hover{border-color:var(--primary);}
.mbti-scale.picked{border-color:var(--primary);background:var(--primary-soft);}
.mbti-scale-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--border);font-size:.7rem;font-weight:700;flex-shrink:0;}
.mbti-scale.picked .mbti-scale-n{background:var(--primary);border-color:var(--primary);color:#fff;}
.mbti-nav{display:flex;justify-content:space-between;gap:8px;}
.mbti-nav button:disabled{opacity:.4;cursor:default;}
.mbti-submit-row{display:flex;align-items:center;gap:10px;padding-top:4px;border-top:1px solid var(--border);}
.mbti-hint{font-size:.72rem;color:var(--text-faint);}
.mbti-gen{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--text-faint);padding:14px 0;}
.mbti-result{display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--card);}
.mbti-type-box{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;}
.mbti-type{font-size:1.7rem;font-weight:800;color:var(--primary-dark);letter-spacing:.06em;}
.mbti-type-lbl{font-size:.66rem;color:var(--text-faint);}
.mbti-bars{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;}
.mbti-bar-row{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;}
.mbti-bar-code{width:14px;text-align:center;color:var(--text-faint);}
.mbti-bar{flex:1;position:relative;height:14px;border-radius:999px;background:var(--border);overflow:hidden;}
.mbti-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--primary);border-radius:999px;}
.mbti-bar-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:var(--text);}
.mbti-actions{display:flex;gap:8px;}
.mbti-msg{font-size:.75rem;color:var(--primary-dark);background:var(--primary-soft);border-radius:8px;padding:7px 10px;}
.mbti-msg.warn{color:#a05a00;background:#fff4e2;}
.mbti-sec-title{font-size:.72rem;font-weight:800;letter-spacing:.05em;color:var(--text-faint);text-transform:uppercase;margin-top:4px;}
.mbti-analysis{font-size:.8rem;line-height:1.6;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--card);max-height:220px;overflow-y:auto;}
.mbti-points{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;}
.mbti-point{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:var(--card);}
.mbti-point.off{opacity:.55;}
.mbti-point-txt{font-size:.8rem;line-height:1.5;}
.mbti-point-acts{display:flex;gap:6px;flex-shrink:0;}
.mbti-mini{font-size:.66rem;font-weight:700;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text-faint);padding:3px 9px;cursor:pointer;}
.mbti-mini:hover{border-color:var(--primary);color:var(--primary-dark);}
.mbti-mini.del:hover{border-color:#c0392b;color:#c0392b;}
.mbti-mini.mbti-ai-gen{border:1px solid var(--primary);color:var(--primary-dark);}
.mbti-mini.mbti-ai-gen:hover{border-color:var(--primary-dark);color:var(--primary-dark);box-shadow:0 0 0 3px var(--primary-soft);}
.mbti-mini.mbti-ai-gen:focus-visible{outline:none;border-color:var(--primary-dark);box-shadow:0 0 0 3px var(--primary-soft);}
.mbti-mini.mbti-ai-gen:disabled{border-color:var(--border);color:var(--text-faint);box-shadow:none;cursor:not-allowed;opacity:.6;}
.mbti-runs{list-style:none;display:flex;flex-direction:column;gap:4px;margin:0;padding:0;}
.mbti-run{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-faint);border-bottom:1px dashed var(--border);padding-bottom:4px;}
.mbti-run-type{font-weight:800;color:var(--primary-dark);}
.mbti-behavior{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:4px;}
.mbti-behavior .mem-section-title{margin-bottom:10px;}
.mbti-behavior .mbti-sec-title{margin-top:10px;}
.mbti-sec-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.mbti-sec-row .mbti-sec-title{margin-top:10px;}
.mbti-ai-block{display:flex;flex-direction:column;gap:8px;margin-top:10px;border-top:1px dashed var(--border);padding-top:10px;}
.mbti-ai-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;}
.mbti-ai-item{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:var(--card);}
.mbti-ai-item.off{opacity:.55;}
.mbti-ai-check{display:flex;align-items:center;flex-shrink:0;padding-top:6px;}
.mbti-ai-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.mbti-ai-text{width:100%;font-size:.8rem;line-height:1.5;border:1px solid transparent;border-radius:6px;background:transparent;padding:2px 4px;color:var(--text);}
.mbti-ai-text:hover{border-color:var(--border);}
.mbti-ai-text:focus{border-color:var(--primary);background:var(--card);outline:none;}
.mbti-ai-reason{font-size:.7rem;line-height:1.45;color:var(--text-faint);}
.mbti-ai-actions{display:flex;align-items:center;gap:10px;}

/* Contacts page (light theme) */
body.page-contacts .ctc-hidden{display:none!important;}
body.page-contacts .ctc-head-actions{display:flex;gap:10px;flex-shrink:0;}
body.page-contacts .ctc-stats{display:flex;gap:10px;padding:0 24px 14px;max-width:1200px;margin:0 auto;overflow-x:auto;}
body.page-contacts .ctc-stat-chip{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:8px 16px;display:flex;align-items:center;gap:8px;font-size:.8rem;white-space:nowrap;box-shadow:var(--shadow-sm);}
body.page-contacts .ctc-stat-chip .count{font-weight:700;color:var(--primary);font-size:1rem;}
body.page-contacts .ctc-stat-chip .label{color:var(--text-dim);}
body.page-contacts .ctc-toolbar{display:flex;gap:10px;padding:0 24px 14px;max-width:1200px;margin:0 auto;align-items:center;flex-wrap:wrap;}
body.page-contacts .ctc-search{flex:1;min-width:200px;padding:10px 14px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s;}
body.page-contacts .ctc-search:focus{border-color:var(--primary);}
body.page-contacts .ctc-search::placeholder{color:var(--text-faint);}
body.page-contacts .ctc-select{padding:10px 14px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);font-family:inherit;font-size:.88rem;outline:none;cursor:pointer;}
body.page-contacts .ctc-select:focus{border-color:var(--primary);}
body.page-contacts .ctc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:0 24px 32px;max-width:1200px;margin:0 auto;}
body.page-contacts .ctc-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .2s;cursor:pointer;box-shadow:var(--shadow-sm);}
body.page-contacts .ctc-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md);}
body.page-contacts .ctc-card-top{display:flex;gap:14px;padding:14px 14px 0;}
body.page-contacts .ctc-card-img{width:80px;height:52px;border-radius:6px;object-fit:cover;background:var(--bg-soft);flex-shrink:0;transition:opacity .3s;}
body.page-contacts .ctc-card-img-ph{width:80px;height:52px;border-radius:6px;background:var(--bg-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;}
body.page-contacts .ctc-card-info{flex:1;min-width:0;}
body.page-contacts .ctc-card-name{font-weight:600;font-size:.95rem;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.page-contacts .ctc-card-title{font-size:.8rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.page-contacts .ctc-card-company{font-size:.8rem;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.page-contacts .ctc-card-body{padding:10px 14px;}
body.page-contacts .ctc-card-details{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-dim);}
body.page-contacts .ctc-card-details span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.page-contacts .ctc-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--border);flex-wrap:wrap;}
body.page-contacts .ctc-card-etai{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;color:var(--text-dim);border-top:1px solid var(--border);}
body.page-contacts .ctc-etai-select{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elev);color:var(--text);font-size:.78rem;font-family:inherit;cursor:pointer;}
body.page-contacts .ctc-etai-select:hover,body.page-contacts .ctc-etai-select:focus{border-color:var(--primary);outline:none;}
body.page-contacts .ctc-stage-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;border:1px solid;font-weight:600;}
body.page-contacts .ctc-deal{font-size:.72rem;color:var(--primary);font-weight:600;}
body.page-contacts .ctc-type-badge{padding:3px 10px;border-radius:6px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
body.page-contacts .ctc-type-customer{background:#5b5bf014;color:var(--primary);}
body.page-contacts .ctc-type-supplier{background:#2563eb14;color:#2563eb;}
body.page-contacts .ctc-type-friend{background:#d9770614;color:#d97706;}
body.page-contacts .ctc-type-consultant{background:#7c3aed14;color:#7c3aed;}
body.page-contacts .ctc-eval-badge{font-size:.65rem;padding:2px 7px;border-radius:8px;font-weight:700;display:inline-flex;align-items:center;gap:3px;}
body.page-contacts .ctc-eval-badge.high{background:#16a34a14;color:#16a34a;}
body.page-contacts .ctc-eval-badge.mid{background:#d9770614;color:#d97706;}
body.page-contacts .ctc-eval-badge.low{background:#dc262614;color:#dc2626;}
body.page-contacts .ctc-actions{display:flex;gap:6px;flex-wrap:wrap;}
body.page-contacts .ctc-icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;transition:all .2s;}
body.page-contacts .ctc-icon-btn:hover{border-color:var(--primary);color:var(--primary);}
body.page-contacts .ctc-icon-btn.danger:hover{border-color:#dc2626;color:#dc2626;}
body.page-contacts .ctc-empty{text-align:center;padding:64px 32px;color:var(--text-dim);max-width:1200px;margin:0 auto;}
body.page-contacts .ctc-empty-icon{font-size:3rem;margin-bottom:16px;}
body.page-contacts .ctc-empty h3{font-size:1.1rem;margin-bottom:8px;color:var(--text);}
body.page-contacts .ctc-empty p{font-size:.85rem;margin-bottom:24px;}
body.page-contacts .ctc-modal-overlay{position:fixed;inset:0;background:rgba(15,23,41,.5);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto;}
body.page-contacts .ctc-modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:600px;margin:32px auto;box-shadow:var(--shadow-lg);animation:ctcSlideIn .2s ease-out;}
@keyframes ctcSlideIn{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
body.page-contacts .ctc-modal-header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
body.page-contacts .ctc-modal-header h2{font-size:1.05rem;font-weight:700;}
body.page-contacts .ctc-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-soft);color:var(--text-dim);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;}
body.page-contacts .ctc-modal-close:hover{color:var(--text);}
body.page-contacts .ctc-modal-body{padding:24px;}
body.page-contacts .ctc-modal-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}
body.page-contacts .ctc-form-group{margin-bottom:16px;}
body.page-contacts .ctc-form-group label{display:block;font-size:.78rem;font-weight:600;color:var(--text-dim);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;}
body.page-contacts .ctc-input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border-strong);border-radius:9px;color:var(--text);font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s;box-sizing:border-box;}
body.page-contacts .ctc-input:focus{border-color:var(--primary);}
body.page-contacts textarea.ctc-input{resize:vertical;min-height:80px;}
body.page-contacts .ctc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
body.page-contacts .ctc-prompt-hint{color:var(--text-dim);font-size:.75rem;display:block;margin-top:8px;line-height:1.5;}
body.page-contacts .ctc-capture-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
body.page-contacts .ctc-capture-col{display:flex;flex-direction:column;gap:6px;}
body.page-contacts .ctc-capture-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);text-align:center;padding:4px 8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;}
body.page-contacts .ctc-capture-area{border:2px dashed var(--border-strong);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .2s;position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;}
body.page-contacts .ctc-capture-area:hover{border-color:var(--primary);}
body.page-contacts .ctc-capture-area.has-image{padding:0;border-style:solid;}
body.page-contacts .ctc-capture-area img{width:100%;max-height:200px;object-fit:contain;border-radius:10px;}
body.page-contacts .ctc-capture-icon{font-size:2rem;margin-bottom:8px;}
body.page-contacts .ctc-capture-text{font-size:.85rem;color:var(--text-dim);}
body.page-contacts .ctc-capture-text strong{color:var(--primary);}
body.page-contacts .ctc-capture-text small{font-size:.75rem;}
body.page-contacts .ctc-ocr-status{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:.8rem;color:var(--text-dim);}
body.page-contacts .ctc-ocr-status.success{color:#16a34a;}
body.page-contacts .ctc-ocr-status.error{color:#dc2626;}
body.page-contacts .ctc-spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:ctcSpin .6s linear infinite;display:inline-block;}
@keyframes ctcSpin{to{transform:rotate(360deg);}}
body.page-contacts .ctc-fill-hint{font-size:.75rem;color:var(--primary);margin-bottom:16px;display:flex;align-items:center;gap:6px;}
body.page-contacts .ctc-qr-box{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px;display:inline-block;}
body.page-contacts .ctc-toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;padding:12px 24px;font-size:.85rem;z-index:2000;animation:ctcFadeInUp .3s ease;box-shadow:var(--shadow-lg);color:var(--text);}
body.page-contacts .ctc-guide-modal{max-width:640px;}
body.page-contacts .ctc-guide-intro{color:var(--text-dim);font-size:.9rem;margin:0 0 16px;line-height:1.6;}
body.page-contacts .ctc-guide-steps{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:14px;}
body.page-contacts .ctc-guide-steps>li{display:flex;gap:12px;align-items:flex-start;}
body.page-contacts .ctc-guide-step-n{flex:none;width:26px;height:26px;border-radius:999px;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px;}
body.page-contacts .ctc-guide-step-body{flex:1;min-width:0;}
body.page-contacts .ctc-guide-step-body>strong{font-size:.92rem;}
body.page-contacts .ctc-guide-points{margin:6px 0 0;padding-left:16px;color:var(--text-dim);font-size:.84rem;line-height:1.6;display:flex;flex-direction:column;gap:3px;}
body.page-contacts .ctc-guide-tips-title{font-size:.95rem;margin:0 0 8px;}
body.page-contacts .ctc-guide-tips{margin:0;padding-left:18px;color:var(--text-dim);font-size:.84rem;line-height:1.65;}
body.page-contacts .ctc-toast.success{border-color:#16a34a;color:#16a34a;}
body.page-contacts .ctc-toast.error{border-color:#dc2626;color:#dc2626;}
body.page-contacts .ctc-toast.warning{border-color:#d97706;color:#d97706;}
body.page-contacts .ctc-toast.info{border-color:var(--primary);color:var(--primary);}
@keyframes ctcFadeInUp{from{opacity:0;transform:translate(-50%,10px);}to{opacity:1;transform:translate(-50%,0);}}
body.page-contacts .ctc-confirm-overlay{position:fixed;inset:0;background:rgba(15,23,41,.5);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;}
body.page-contacts .ctc-confirm-box{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-lg);}
body.page-contacts .ctc-confirm-box h3{margin-bottom:8px;font-size:1rem;}
body.page-contacts .ctc-confirm-box p{font-size:.85rem;color:var(--text-dim);margin-bottom:24px;}
body.page-contacts .ctc-confirm-btns{display:flex;justify-content:center;gap:10px;}
body.page-contacts .ctc-btn-danger{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#dc2626;border:1px solid #dc2626;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s;font-family:inherit;}
body.page-contacts .ctc-btn-danger:hover{background:#dc262612;}
body.page-contacts .ctc-preview-overlay{position:fixed;inset:0;background:rgba(15,23,41,.9);z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;animation:ctcFadeIn .2s ease;}
@keyframes ctcFadeIn{from{opacity:0;}to{opacity:1;}}
body.page-contacts .ctc-preview-overlay img{max-width:92vw;max-height:70vh;border-radius:8px;object-fit:contain;}
body.page-contacts .ctc-preview-name{color:#fff;font-size:1.1rem;font-weight:600;margin-top:16px;text-align:center;}
body.page-contacts .ctc-preview-hint{color:rgba(255,255,255,.6);font-size:.75rem;margin-top:6px;}
@media (min-width:769px){
  body.page-contacts .ctc-capture-area img{max-height:250px;}
}
@media (max-width:768px){
  body.page-contacts .ctc-stats{padding:0 16px 12px;gap:8px;}
  body.page-contacts .ctc-toolbar{padding:0 16px 12px;}
  body.page-contacts .ctc-grid{grid-template-columns:1fr;padding:0 16px 28px;}
  body.page-contacts .ctc-capture-row{grid-template-columns:1fr;}
  body.page-contacts .ctc-form-row{grid-template-columns:1fr;}
  body.page-contacts .ctc-modal{margin:0;border-radius:16px 16px 0 0;max-height:100vh;max-width:100%;}
  body.page-contacts .ctc-modal-overlay{align-items:flex-end;padding:0;}
}

/* ---- studio catalog (events & bookings) ---- */
.cat-cards{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px;}
.cat-card{background:var(--bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:10px 12px;}
.pg-bubble.agent .cat-card{background:var(--bg-soft,#f7f8fa);}
.cat-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cat-kind{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;}
.cat-kind.k-event{background:#ede9fe;color:#6d28d9;}
.cat-kind.k-service{background:#dbeafe;color:#1d4ed8;}
.cat-kind.k-product{background:#dcfce7;color:#15803d;}
.cat-name{font-weight:700;font-size:.88rem;flex:1;min-width:0;overflow-wrap:anywhere;}
.cat-chip{font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;}
.cat-chip.ok{background:#dcfce7;color:#15803d;}
.cat-chip.full{background:#fee2e2;color:#b91c1c;}
.cat-chip.booked{background:#dbeafe;color:#1d4ed8;}
.cat-chip.wait{background:#fef3c7;color:#b45309;}
.cat-chip.inactive{background:#e5e7eb;color:#6b7280;}
.cat-desc{font-size:.76rem;color:var(--text-dim,#6b7280);margin-top:4px;overflow-wrap:anywhere;}
.cat-meta{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:.72rem;color:var(--text-dim,#6b7280);}
.cat-avail{margin-top:6px;display:flex;flex-direction:column;gap:4px;}
.cat-slot-row{display:flex;align-items:center;gap:8px;font-size:.72rem;background:var(--bg-soft,#f7f8fa);border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:4px 8px;}
.cat-slot-row .cat-slot-time{flex:1;}
.cat-slot-row .cat-slot-left{color:var(--text-dim,#6b7280);}
.cat-slot-row.full{opacity:.7;}
.cat-mini-book{border:none;background:var(--primary,#2563eb);color:#fff;font-size:.66rem;font-weight:700;border-radius:6px;padding:3px 8px;cursor:pointer;}
.cat-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
.cat-act{border:1px solid var(--border,#e5e7eb);background:var(--bg,#fff);color:var(--text,#111);font-size:.72rem;font-weight:600;border-radius:8px;padding:4px 10px;cursor:pointer;}
.cat-act:hover{filter:brightness(.96);}
.cat-act.primary{background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);color:#fff;}
.cat-act.ghost{background:transparent;}
.cat-act.danger{color:#b91c1c;border-color:#fecaca;background:#fff;}
.cat-act:disabled{opacity:.5;cursor:default;}
.cat-card-msg{margin-top:6px;font-size:.72rem;font-weight:600;color:#15803d;}
.cat-card-msg.error{color:#b91c1c;}
.cat-notice-line{font-size:.8rem;font-weight:700;padding:8px 12px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;}
.cat-notice-line.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c;}

/* owner management panel */
.cat-mgr-head{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
.cat-mgr-form{display:flex;flex-direction:column;gap:6px;background:var(--bg-soft,#f7f8fa);border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:10px;margin-bottom:10px;}
.cat-mgr-form-title{font-weight:700;font-size:.82rem;}
.cat-f-row{display:flex;flex-direction:column;gap:3px;font-size:.72rem;}
.cat-f-row label{font-weight:600;color:var(--text-dim,#6b7280);}
.cat-f-row input,.cat-f-row select,.cat-f-row textarea{border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:6px 8px;font-size:.78rem;background:var(--bg,#fff);color:var(--text,#111);}
.cat-f-check{flex-direction:row;align-items:center;gap:6px;}
.cat-f-acts{display:flex;gap:8px;align-items:center;}
.cat-mgr-status{font-size:.72rem;font-weight:600;color:var(--primary,#2563eb);}
.cat-slots-edit{display:flex;flex-direction:column;gap:4px;}
.cat-slot-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:4px;align-items:center;}
.cat-slot-edit input{border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:5px 6px;font-size:.74rem;background:var(--bg,#fff);color:var(--text,#111);}
.cat-mgr-sec-title{font-weight:700;font-size:.8rem;margin:10px 0 6px;}
.cat-mgr-items,.cat-mgr-bookings{display:flex;flex-direction:column;gap:6px;overflow-y:auto;}
.cat-mgr-item,.cat-mgr-bk{border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:8px 10px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;}
.cat-mgr-item-main,.cat-mgr-bk-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.cat-mgr-item-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cat-mgr-name{font-weight:700;font-size:.8rem;overflow-wrap:anywhere;}
.cat-mgr-sub,.cat-mgr-bk-slot,.cat-mgr-bk-who{font-size:.7rem;color:var(--text-dim,#6b7280);}
.cat-mgr-mail{font-size:.66rem;}
.cat-mgr-item-acts,.cat-mgr-bk-side{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.cat-toggle{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--text-dim,#6b7280);cursor:pointer;}
.cat-mgr-empty,.cat-mgr-loading{font-size:.76rem;color:var(--text-faint,#9ca3af);padding:8px 2px;}
.cat-mgr-bk-item{font-weight:700;font-size:.78rem;}

/* unified AI listing panel (studio) */
.stl-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;}
.stl-quota{font-size:.68rem;font-weight:600;color:var(--text-dim,#6b7280);background:var(--bg-soft,#f7f8fa);border:1px solid var(--border,#e5e7eb);border-radius:99px;padding:4px 10px;}
.stl-gate{display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:.76rem;font-weight:600;color:#92400e;}
.stl-sec{font-weight:700;font-size:.76rem;color:var(--text-dim,#6b7280);margin:12px 0 6px;text-transform:uppercase;letter-spacing:.04em;}
.stl-rows{display:flex;flex-direction:column;gap:6px;}
.stl-row{border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;}
.stl-row-main{min-width:0;}
.stl-row-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.stl-kind{font-size:.66rem;font-weight:700;color:var(--text-dim,#6b7280);background:var(--bg-soft,#f7f8fa);border-radius:6px;padding:2px 7px;white-space:nowrap;}
.stl-name{font-weight:700;font-size:.8rem;overflow-wrap:anywhere;}
.stl-sub{font-size:.7rem;color:var(--text-dim,#6b7280);margin-top:3px;}
.stl-row-acts{display:flex;gap:6px;flex-wrap:wrap;}
.stl-mini{border:1px solid var(--border-strong,#d1d5db);background:var(--bg,#fff);color:var(--text-dim,#6b7280);border-radius:99px;padding:4px 11px;font:inherit;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s;}
.stl-mini:hover{border-color:var(--primary,#2563eb);color:var(--primary,#2563eb);}
.stl-mini.primary{border-color:var(--primary,#2563eb);color:var(--primary,#2563eb);}
.stl-mini:disabled{opacity:.5;cursor:default;}
.stl-empty{font-size:.76rem;color:var(--text-faint,#9ca3af);padding:10px 2px;line-height:1.6;}
.stl-ws-link{display:inline-block;margin-top:14px;font-size:.74rem;font-weight:700;color:var(--primary,#2563eb);text-decoration:none;}
.stl-ws-link:hover{text-decoration:underline;}
.stl-toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,14px);background:var(--teal-ink,#0f766e);color:#fff;font-size:.8rem;font-weight:600;padding:10px 18px;border-radius:99px;box-shadow:0 10px 26px rgba(15,23,41,.28);opacity:0;pointer-events:none;transition:all .25s;z-index:900;}
.stl-toast.is-on{opacity:1;transform:translate(-50%,0);}
.stl-toast.is-err{background:#b91c1c;}
.stl-back-types{align-self:flex-start;margin-bottom:2px;}

/* ===== Contact Detail & Chat pages (light theme) ===== */
body.page-contact-detail .ctc-hidden,body.page-contact-chat .ctc-hidden{display:none!important;}
body.page-contact-detail .ctc-stats,body.page-contact-chat .ctc-stats{display:flex;gap:10px;padding:0 24px 14px;max-width:1200px;margin:0 auto;overflow-x:auto;}
body.page-contact-detail .ctc-stat-chip,body.page-contact-chat .ctc-stat-chip{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:8px 16px;display:flex;align-items:center;gap:8px;font-size:.8rem;white-space:nowrap;box-shadow:var(--shadow-sm);}
body.page-contact-detail .ctc-stat-chip .count,body.page-contact-chat .ctc-stat-chip .count{font-weight:700;color:var(--primary);font-size:1rem;}
body.page-contact-detail .ctc-stat-chip .label,body.page-contact-chat .ctc-stat-chip .label{color:var(--text-dim);}
body.page-contact-detail .ctc-type-badge,body.page-contact-chat .ctc-type-badge{padding:3px 10px;border-radius:6px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
body.page-contact-detail .ctc-type-customer,body.page-contact-chat .ctc-type-customer{background:#5b5bf014;color:var(--primary);}
body.page-contact-detail .ctc-type-supplier,body.page-contact-chat .ctc-type-supplier{background:#2563eb14;color:#2563eb;}
body.page-contact-detail .ctc-type-friend,body.page-contact-chat .ctc-type-friend{background:#d9770614;color:#d97706;}
body.page-contact-detail .ctc-type-consultant,body.page-contact-chat .ctc-type-consultant{background:#7c3aed14;color:#7c3aed;}
body.page-contact-detail .ctc-icon-btn,body.page-contact-chat .ctc-icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;transition:all .2s;}
body.page-contact-chat .ctch-tb-msgs{min-height:180px;max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);}
body.page-contact-chat .ctch-tb-msg{max-width:85%;padding:8px 12px;border-radius:12px;font-size:.84rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
body.page-contact-chat .ctch-tb-msg.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px;}
body.page-contact-chat .ctch-tb-msg.assistant{align-self:flex-start;background:var(--bg-elev);border:1px solid var(--border);border-bottom-left-radius:4px;white-space:normal;}
body.page-contact-chat .ctch-tb-msg.assistant p{margin:0 0 6px;}
body.page-contact-chat .ctch-tb-msg.assistant p:last-child{margin-bottom:0;}
body.page-contact-chat .ctch-tb-msg.assistant ul,body.page-contact-chat .ctch-tb-msg.assistant ol{margin:0 0 6px;padding-left:18px;}
body.page-contact-chat .ctch-tb-msg.thinking{color:var(--text-faint);font-style:italic;}
body.page-contact-detail .ctc-icon-btn:hover,body.page-contact-chat .ctc-icon-btn:hover{border-color:var(--primary);color:var(--primary);}
body.page-contact-detail .ctc-icon-btn.danger:hover,body.page-contact-chat .ctc-icon-btn.danger:hover{border-color:#dc2626;color:#dc2626;}
body.page-contact-detail .ctc-modal-overlay,body.page-contact-chat .ctc-modal-overlay{position:fixed;inset:0;background:rgba(15,23,41,.5);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto;}
body.page-contact-detail .ctc-modal,body.page-contact-chat .ctc-modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:600px;margin:32px auto;box-shadow:var(--shadow-lg);animation:ctcSlideIn .2s ease-out;}
body.page-contact-detail .ctc-modal-header,body.page-contact-chat .ctc-modal-header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
body.page-contact-detail .ctc-modal-header h2,body.page-contact-chat .ctc-modal-header h2{font-size:1.05rem;font-weight:700;}
body.page-contact-detail .ctc-modal-close,body.page-contact-chat .ctc-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-soft);color:var(--text-dim);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;}
body.page-contact-detail .ctc-modal-close:hover,body.page-contact-chat .ctc-modal-close:hover{color:var(--text);}
body.page-contact-detail .ctc-modal-body,body.page-contact-chat .ctc-modal-body{padding:24px;}
body.page-contact-detail .ctc-modal-footer,body.page-contact-chat .ctc-modal-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}
body.page-contact-detail .ctc-form-group,body.page-contact-chat .ctc-form-group{margin-bottom:16px;}
body.page-contact-detail .ctc-form-group label,body.page-contact-chat .ctc-form-group label{display:block;font-size:.78rem;font-weight:600;color:var(--text-dim);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;}
body.page-contact-detail .ctc-input,body.page-contact-chat .ctc-input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border-strong);border-radius:9px;color:var(--text);font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s;box-sizing:border-box;}
body.page-contact-detail .ctc-input:focus,body.page-contact-chat .ctc-input:focus{border-color:var(--primary);}
body.page-contact-detail textarea.ctc-input,body.page-contact-chat textarea.ctc-input{resize:vertical;min-height:80px;}
body.page-contact-detail .ctc-form-row,body.page-contact-chat .ctc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
body.page-contact-detail .ctc-spinner,body.page-contact-chat .ctc-spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:ctcSpin .6s linear infinite;display:inline-block;}
body.page-contact-detail .ctc-toast,body.page-contact-chat .ctc-toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;padding:12px 24px;font-size:.85rem;z-index:2000;animation:ctcFadeInUp .3s ease;box-shadow:var(--shadow-lg);color:var(--text);}
body.page-contact-detail .ctc-toast.success,body.page-contact-chat .ctc-toast.success{border-color:#16a34a;color:#16a34a;}
body.page-contact-detail .ctc-toast.error,body.page-contact-chat .ctc-toast.error{border-color:#dc2626;color:#dc2626;}
body.page-contact-detail .ctc-toast.warning,body.page-contact-chat .ctc-toast.warning{border-color:#d97706;color:#d97706;}
body.page-contact-detail .ctc-toast.info,body.page-contact-chat .ctc-toast.info{border-color:var(--primary);color:var(--primary);}
body.page-contact-detail .ctc-confirm-overlay,body.page-contact-chat .ctc-confirm-overlay{position:fixed;inset:0;background:rgba(15,23,41,.5);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;}
body.page-contact-detail .ctc-confirm-box,body.page-contact-chat .ctc-confirm-box{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-lg);}
body.page-contact-detail .ctc-confirm-box h3,body.page-contact-chat .ctc-confirm-box h3{margin-bottom:8px;font-size:1rem;}
body.page-contact-detail .ctc-confirm-box p,body.page-contact-chat .ctc-confirm-box p{font-size:.85rem;color:var(--text-dim);margin-bottom:24px;}
body.page-contact-detail .ctc-confirm-btns,body.page-contact-chat .ctc-confirm-btns{display:flex;justify-content:center;gap:10px;}
body.page-contact-detail .ctc-btn-danger,body.page-contact-chat .ctc-btn-danger{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#dc2626;border:1px solid #dc2626;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s;font-family:inherit;}
body.page-contact-detail .ctc-btn-danger:hover,body.page-contact-chat .ctc-btn-danger:hover{background:#dc262612;}

/* --- detail page --- */
body.page-contact-detail .ctcd-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 24px 14px;max-width:1200px;margin:0 auto;}
body.page-contact-detail .ctcd-header-left{display:flex;align-items:center;gap:16px;min-width:0;}
body.page-contact-detail .ctcd-back{display:flex;align-items:center;gap:6px;color:var(--text-dim);text-decoration:none;font-size:.85rem;flex-shrink:0;transition:color .15s;}
body.page-contact-detail .ctcd-back:hover{color:var(--primary);}
body.page-contact-detail .ctcd-header-info{min-width:0;}
body.page-contact-detail .ctcd-name{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.page-contact-detail .ctcd-meta{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-dim);margin-top:2px;}
body.page-contact-detail .ctcd-header-actions{display:flex;gap:8px;flex-shrink:0;}
body.page-contact-detail .ctcd-badge{padding:3px 10px;border-radius:6px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;}
body.page-contact-detail .ctcd-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border);max-width:1200px;margin:0 auto;overflow-x:auto;}
body.page-contact-detail .ctcd-tab{padding:10px 18px;font-family:inherit;font-size:.85rem;font-weight:500;color:var(--text-dim);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;}
body.page-contact-detail .ctcd-tab:hover{color:var(--text);}
body.page-contact-detail .ctcd-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
body.page-contact-detail .ctcd-content{padding:20px 24px 40px;max-width:1200px;margin:0 auto;}
body.page-contact-detail .ctcd-panel{display:none;}
body.page-contact-detail .ctcd-panel.active{display:block;}
body.page-contact-detail .ctcd-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
body.page-contact-detail .ctcd-panel-head h3{font-size:1rem;font-weight:600;}
body.page-contact-detail .ctcd-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
body.page-contact-detail .ctcd-col{display:flex;flex-direction:column;gap:16px;}
body.page-contact-detail .ctcd-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);}
body.page-contact-detail .ctcd-card-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:14px;}
body.page-contact-detail .ctcd-info-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.85rem;}
body.page-contact-detail .ctcd-info-row:last-child{border-bottom:none;}
body.page-contact-detail .ctcd-info-label{color:var(--text-dim);width:110px;flex-shrink:0;font-size:.8rem;}
body.page-contact-detail .ctcd-info-value{word-break:break-word;}
body.page-contact-detail .ctcd-info-value a{color:var(--primary);text-decoration:none;}
body.page-contact-detail .ctcd-info-value a:hover{text-decoration:underline;}
body.page-contact-detail .ctcd-lifecycle-select{padding:6px 10px;background:var(--bg);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-family:inherit;font-size:.8rem;outline:none;cursor:pointer;}
body.page-contact-detail .ctcd-lifecycle-select:focus{border-color:var(--primary);}
body.page-contact-detail .ctcd-pipeline{display:flex;gap:0;margin-top:8px;}
body.page-contact-detail .ctcd-pipeline-stage{flex:1;text-align:center;padding:8px 4px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);}
body.page-contact-detail .ctcd-pipeline-stage:first-child{border-radius:8px 0 0 8px;}
body.page-contact-detail .ctcd-pipeline-stage:last-child{border-radius:0 8px 8px 0;}
body.page-contact-detail .ctcd-pipeline-stage + .ctcd-pipeline-stage{border-left:none;}
body.page-contact-detail .ctcd-tag-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:500;background:var(--primary-soft);color:var(--primary);margin:3px;}
body.page-contact-detail .ctcd-group-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:500;background:#2563eb14;color:#2563eb;margin:3px;}
body.page-contact-detail .ctcd-timeline{position:relative;padding-left:28px;}
body.page-contact-detail .ctcd-timeline::before{content:'';position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--border);}
body.page-contact-detail .ctcd-timeline-group{margin-bottom:24px;}
body.page-contact-detail .ctcd-timeline-date{font-size:.75rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;}
body.page-contact-detail .ctcd-timeline-item{position:relative;margin-bottom:14px;}
body.page-contact-detail .ctcd-timeline-item::before{content:'';position:absolute;left:-24px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--primary);border:2px solid var(--bg-elev);}
body.page-contact-detail .ctcd-timeline-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:var(--shadow-sm);}
body.page-contact-detail .ctcd-timeline-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
body.page-contact-detail .ctcd-timeline-subject{font-weight:600;font-size:.9rem;}
body.page-contact-detail .ctcd-sentiment{padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;margin-left:auto;}
body.page-contact-detail .ctcd-sentiment-positive{background:#16a34a14;color:#16a34a;}
body.page-contact-detail .ctcd-sentiment-neutral{background:#64748b14;color:var(--text-dim);}
body.page-contact-detail .ctcd-sentiment-negative{background:#dc262614;color:#dc2626;}
body.page-contact-detail .ctcd-sentiment-mixed{background:#d9770614;color:#d97706;}
body.page-contact-detail .ctcd-timeline-summary{font-size:.82rem;color:var(--text-dim);margin-bottom:6px;line-height:1.5;}
body.page-contact-detail .ctcd-timeline-actions{font-size:.78rem;color:var(--primary);}
body.page-contact-detail .ctcd-timeline-time{font-size:.72rem;color:var(--text-faint);margin-top:4px;}
body.page-contact-detail .ctcd-deal-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:12px;box-shadow:var(--shadow-sm);}
body.page-contact-detail .ctcd-deal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px;}
body.page-contact-detail .ctcd-deal-title{font-weight:600;font-size:.95rem;}
body.page-contact-detail .ctcd-deal-meta{display:flex;gap:24px;font-size:.82rem;color:var(--text-dim);flex-wrap:wrap;}
body.page-contact-detail .ctcd-deal-meta strong{color:var(--text);}
body.page-contact-detail .ctcd-note-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:12px;position:relative;box-shadow:var(--shadow-sm);}
body.page-contact-detail .ctcd-note-card.pinned{border-color:var(--primary);border-left:3px solid var(--primary);}
body.page-contact-detail .ctcd-note-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
body.page-contact-detail .ctcd-note-type{padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;}
body.page-contact-detail .ctcd-note-content{font-size:.85rem;line-height:1.6;}
body.page-contact-detail .ctcd-note-content p{margin:0 0 .4rem;}
body.page-contact-detail .ctcd-note-content p:last-child{margin-bottom:0;}
body.page-contact-detail .ctcd-note-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:.72rem;color:var(--text-dim);}
body.page-contact-detail .ctcd-note-actions{display:flex;gap:6px;}
body.page-contact-detail .ctcd-agent-status{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;font-size:.82rem;margin-bottom:12px;box-shadow:var(--shadow-sm);}
body.page-contact-detail .ctcd-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
body.page-contact-detail .ctcd-status-dot.enabled{background:#16a34a;}
body.page-contact-detail .ctcd-status-dot.disabled{background:var(--text-faint);}
body.page-contact-detail .ctcd-chat{display:flex;flex-direction:column;gap:12px;}
body.page-contact-detail .ctcd-chat-msg{max-width:75%;padding:12px 16px;border-radius:12px;font-size:.85rem;line-height:1.5;}
body.page-contact-detail .ctcd-chat-msg.agent{background:var(--bg-elev);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:4px;}
body.page-contact-detail .ctcd-chat-msg.contact{background:var(--primary-soft);border:1px solid #5b5bf026;align-self:flex-end;border-bottom-right-radius:4px;}
body.page-contact-detail .ctcd-chat-msg p{margin:0 0 .4rem;}
body.page-contact-detail .ctcd-chat-msg p:last-child{margin-bottom:0;}
body.page-contact-detail .ctcd-chat-sender{font-size:.7rem;font-weight:600;color:var(--text-dim);margin-bottom:4px;}
body.page-contact-detail .ctcd-chat-time{font-size:.65rem;color:var(--text-faint);margin-top:4px;}
body.page-contact-detail .ctcd-empty{text-align:center;padding:48px 32px;color:var(--text-dim);}
body.page-contact-detail .ctcd-empty-icon{font-size:2.5rem;margin-bottom:12px;}
body.page-contact-detail .ctcd-empty h3{font-size:1rem;margin-bottom:6px;color:var(--text);}
body.page-contact-detail .ctcd-empty p{font-size:.82rem;}
body.page-contact-detail .ctcd-mini-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
body.page-contact-detail .ctcd-mini-stat{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 16px;box-shadow:var(--shadow-sm);}
body.page-contact-detail .ctcd-mini-stat .num{font-size:1.2rem;font-weight:700;}
body.page-contact-detail .ctcd-mini-stat .lbl{font-size:.75rem;color:var(--text-dim);}
body.page-contact-detail .ctcd-pref-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);}
body.page-contact-detail .ctcd-pref-row:last-child{border-bottom:none;}
body.page-contact-detail .ctcd-pref-weight{font-size:.7rem;color:var(--primary);background:var(--primary-soft);padding:2px 6px;border-radius:4px;}
body.page-contact-detail .ctcd-pref-conf{font-size:.7rem;color:var(--text-dim);background:var(--bg-soft);padding:2px 6px;border-radius:4px;}
body.page-contact-detail .ctcd-table{width:100%;border-collapse:collapse;font-size:.82rem;}
body.page-contact-detail .ctcd-table thead tr{border-bottom:1px solid var(--border);color:var(--text-dim);}
body.page-contact-detail .ctcd-table th{text-align:left;padding:8px;font-weight:600;}
body.page-contact-detail .ctcd-table td{padding:8px;border-bottom:1px solid var(--border);}
body.page-contact-detail .ctcd-purchase-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin-bottom:10px;box-shadow:var(--shadow-sm);}

/* --- chat page --- */
body.page-contact-chat .ctch-header{display:flex;align-items:center;gap:12px;padding:10px 24px;border-bottom:1px solid var(--border);max-width:1200px;margin:0 auto;width:100%;}
body.page-contact-chat .ctch-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;color:#fff;}
body.page-contact-chat .ctch-header-info{min-width:0;}
body.page-contact-chat .ctch-header-info h2{font-size:.92rem;font-weight:600;}
body.page-contact-chat .ctch-header-info p{font-size:.72rem;color:var(--text-dim);}
body.page-contact-chat .ctch-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:var(--text-faint);}
body.page-contact-chat .ctch-status-dot.on{background:#16a34a;}
body.page-contact-chat .ctch-status-dot.off{background:var(--text-faint);}
body.page-contact-chat .ctch-header-actions{margin-left:auto;display:flex;gap:6px;align-items:center;}
body.page-contact-chat .ctch-header-btn{padding:6px 10px;border-radius:8px;font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none;}
body.page-contact-chat .ctch-header-btn:hover{border-color:var(--primary);color:var(--primary);}
body.page-contact-chat .ctch-toolbar{display:flex;gap:8px;align-items:center;padding:8px 24px;border-bottom:1px solid var(--border);max-width:1200px;margin:0 auto;width:100%;}
body.page-contact-chat .ctch-search{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:8px;padding:6px 10px;color:var(--text);font-size:.78rem;font-family:inherit;width:200px;outline:none;transition:border-color .2s;}
body.page-contact-chat .ctch-search:focus{border-color:var(--primary);}
body.page-contact-chat .ctch-filter{padding:5px 8px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-dim);font-size:.72rem;font-family:inherit;cursor:pointer;outline:none;}
body.page-contact-chat .ctch-filter:focus{border-color:var(--primary);}
body.page-contact-chat .ctch-toolbar-info{margin-left:auto;font-size:.7rem;color:var(--text-dim);}
body.page-contact-chat .ctch-area{display:flex;max-width:1200px;margin:0 auto;width:100%;position:relative;}
body.page-contact-chat .ctch-main{flex:1;display:flex;flex-direction:column;min-width:0;}
body.page-contact-chat .ctch-loading{display:flex;align-items:center;justify-content:center;padding:64px;}
body.page-contact-chat .ctch-loading .ctc-spinner{width:28px;height:28px;border-width:3px;}
body.page-contact-chat .ctch-messages{padding:16px 24px 24px;display:flex;flex-direction:column;gap:10px;min-height:300px;max-height:70vh;overflow-y:auto;}
body.page-contact-chat .ctch-date-divider{text-align:center;padding:6px 0;position:relative;}
body.page-contact-chat .ctch-date-divider span{background:var(--bg);padding:0 10px;font-size:.68rem;color:var(--text-dim);position:relative;z-index:1;}
body.page-contact-chat .ctch-date-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);}
body.page-contact-chat .ctch-msg{max-width:82%;padding:10px 14px;border-radius:10px;font-size:.85rem;line-height:1.5;word-break:break-word;position:relative;}
body.page-contact-chat .ctch-msg p{margin:0 0 .4rem;}
body.page-contact-chat .ctch-msg p:last-child{margin-bottom:0;}
body.page-contact-chat .ctch-msg ul,body.page-contact-chat .ctch-msg ol{padding-left:20px;margin-bottom:.4rem;}
body.page-contact-chat .ctch-msg strong{color:var(--primary);}
body.page-contact-chat .ctch-msg a{color:var(--primary);text-decoration:underline;}
body.page-contact-chat .ctch-msg.assistant{background:var(--bg-elev);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:4px;}
body.page-contact-chat .ctch-msg.user{background:var(--primary-soft);border:1px solid #5b5bf026;align-self:flex-end;border-bottom-right-radius:4px;}
body.page-contact-chat .ctch-msg-time{font-size:.62rem;color:var(--text-faint);margin-top:4px;}
body.page-contact-chat .ctch-msg.user .ctch-msg-time{text-align:right;}
body.page-contact-chat .ctch-msg-meta{font-size:.58rem;color:var(--text-faint);}
body.page-contact-chat .ctch-msg-actions{position:absolute;top:2px;right:4px;display:none;gap:2px;}
body.page-contact-chat .ctch-msg:hover .ctch-msg-actions{display:flex;}
body.page-contact-chat .ctch-msg-act{background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:.6rem;padding:1px 5px;cursor:pointer;transition:all .15s;}
body.page-contact-chat .ctch-msg-act:hover{color:var(--primary);border-color:var(--primary);}
body.page-contact-chat .ctch-tool-group{max-width:78%;align-self:flex-start;margin-bottom:4px;}
body.page-contact-chat .ctch-tool-item{background:var(--primary-soft);border:1px solid #5b5bf014;border-radius:8px;margin-bottom:5px;overflow:hidden;font-size:.78rem;}
body.page-contact-chat .ctch-tool-header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;transition:background .15s;user-select:none;}
body.page-contact-chat .ctch-tool-header:hover{background:#5b5bf00a;}
body.page-contact-chat .ctch-tool-icon{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.6rem;flex-shrink:0;background:#5b5bf014;color:var(--primary);}
body.page-contact-chat .ctch-tool-name{flex:1;font-weight:500;font-family:'IBM Plex Mono',monospace;font-size:.7rem;}
body.page-contact-chat .ctch-tool-badge{font-size:.58rem;padding:2px 6px;border-radius:3px;background:#5b5bf014;color:var(--primary);}
body.page-contact-chat .ctch-tool-chevron{color:var(--text-dim);transition:transform .2s;font-size:.65rem;}
body.page-contact-chat .ctch-tool-item.open .ctch-tool-chevron{transform:rotate(90deg);}
body.page-contact-chat .ctch-tool-body{display:none;padding:6px 10px 10px;border-top:1px solid #5b5bf00f;}
body.page-contact-chat .ctch-tool-item.open .ctch-tool-body{display:block;}
body.page-contact-chat .ctch-tool-section{margin-bottom:6px;}
body.page-contact-chat .ctch-tool-section:last-child{margin-bottom:0;}
body.page-contact-chat .ctch-tool-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:4px;font-weight:600;}
body.page-contact-chat .ctch-tool-json{background:var(--bg-soft);border-radius:5px;padding:6px;font-family:'IBM Plex Mono',monospace;font-size:.65rem;color:var(--text-dim);line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:180px;overflow-y:auto;}
body.page-contact-chat .ctch-empty{text-align:center;padding:48px 32px;color:var(--text-dim);}
body.page-contact-chat .ctch-empty h3{font-size:1rem;margin-bottom:6px;color:var(--text);}
body.page-contact-chat .ctch-empty p{font-size:.82rem;}
body.page-contact-chat .ctch-panel{width:320px;min-width:320px;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .2s,min-width .2s;}
body.page-contact-chat .ctch-panel.collapsed{width:0;min-width:0;border-left:none;overflow:hidden;}
body.page-contact-chat .ctch-panel-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;}
body.page-contact-chat .ctch-panel-tab{padding:8px 12px;font-size:.72rem;font-weight:500;color:var(--text-dim);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;font-family:inherit;}
body.page-contact-chat .ctch-panel-tab:hover{color:var(--text);}
body.page-contact-chat .ctch-panel-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
body.page-contact-chat .ctch-panel-content{flex:1;overflow-y:auto;padding:12px;max-height:70vh;}
body.page-contact-chat .ctch-panel-section{margin-bottom:16px;}
body.page-contact-chat .ctch-panel-title{font-size:.72rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;}
body.page-contact-chat .ctch-panel-row{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:.78rem;border-bottom:1px solid var(--border);}
body.page-contact-chat .ctch-panel-label{color:var(--text-dim);flex-shrink:0;}
body.page-contact-chat .ctch-panel-value{font-weight:500;text-align:right;word-break:break-word;}
body.page-contact-chat .ctch-panel-badge{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600;}
body.page-contact-chat .ctch-panel-badge.on{background:#16a34a14;color:#16a34a;}
body.page-contact-chat .ctch-panel-badge.off{background:var(--bg-soft);color:var(--text-dim);}
body.page-contact-chat .ctch-memory-item{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--border);gap:8px;}
body.page-contact-chat .ctch-memory-item:last-child{border-bottom:none;}
body.page-contact-chat .ctch-memory-content{font-size:.78rem;flex:1;line-height:1.4;}
body.page-contact-chat .ctch-memory-type{font-size:.6rem;color:var(--primary);background:var(--primary-soft);padding:2px 5px;border-radius:3px;white-space:nowrap;}
body.page-contact-chat .ctch-memory-del{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.75rem;padding:2px;opacity:.5;}
body.page-contact-chat .ctch-memory-del:hover{opacity:1;}
body.page-contact-chat .ctch-pref-item{padding:6px 0;border-bottom:1px solid var(--border);}
body.page-contact-chat .ctch-pref-key{font-size:.75rem;font-weight:500;}
body.page-contact-chat .ctch-pref-val{font-size:.7rem;color:var(--text-dim);margin-top:2px;}
body.page-contact-chat .ctch-config-group{margin-bottom:12px;}
body.page-contact-chat .ctch-config-label{font-size:.7rem;font-weight:500;color:var(--text-dim);margin-bottom:4px;}
body.page-contact-chat .ctch-config-input{width:100%;padding:7px 10px;background:var(--bg);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-size:.78rem;font-family:inherit;outline:none;box-sizing:border-box;}
body.page-contact-chat .ctch-config-input:focus{border-color:var(--primary);}
body.page-contact-chat .ctch-config-textarea{min-height:60px;resize:vertical;}
body.page-contact-chat .ctch-config-save{width:100%;padding:8px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;}
body.page-contact-chat .ctch-config-save:hover{background:var(--primary-dark);}

@media (max-width:768px){
  body.page-contact-detail .ctcd-grid{grid-template-columns:1fr;}
  body.page-contact-detail .ctc-form-row,body.page-contact-chat .ctc-form-row{grid-template-columns:1fr;}
  body.page-contact-detail .ctc-modal,body.page-contact-chat .ctc-modal{margin:0;border-radius:16px 16px 0 0;max-height:100vh;max-width:100%;}
  body.page-contact-detail .ctc-modal-overlay,body.page-contact-chat .ctc-modal-overlay{align-items:flex-end;padding:0;}
  body.page-contact-detail .ctcd-header{padding:0 16px 12px;}
  body.page-contact-detail .ctcd-header-actions{width:100%;justify-content:flex-end;}
  body.page-contact-detail .ctcd-tabs{padding:0 16px;}
  body.page-contact-detail .ctcd-content{padding:16px 16px 32px;}
  body.page-contact-chat .ctch-header,body.page-contact-chat .ctch-toolbar{padding-left:16px;padding-right:16px;}
  body.page-contact-chat .ctch-btn-label{display:none;}
  body.page-contact-chat .ctch-panel{position:fixed;right:0;top:0;bottom:0;z-index:400;width:300px;min-width:300px;background:var(--bg-elev);box-shadow:var(--shadow-lg);}
  body.page-contact-chat .ctch-panel.collapsed{width:0;min-width:0;}
  body.page-contact-chat .ctch-messages{padding:12px;}
  body.page-contact-chat .ctch-msg{max-width:92%;}
}

/* ===== Contact Chat — compose bar & quick actions ===== */
body.page-contact-chat .ctch-quick-actions{display:flex;gap:6px;padding:6px 24px;border-bottom:1px solid var(--border);max-width:1200px;margin:0 auto;width:100%;overflow-x:auto;}
body.page-contact-chat .ctch-qa-btn{padding:5px 10px;border-radius:8px;font-size:.72rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);white-space:nowrap;display:inline-flex;align-items:center;gap:5px;}
body.page-contact-chat .ctch-qa-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
body.page-contact-chat .ctch-compose{display:flex;gap:8px;align-items:flex-end;padding:10px 24px;border-top:1px solid var(--border);}
body.page-contact-chat .ctch-compose-mode{display:flex;align-items:center;gap:6px;padding:8px 24px 0;}
body.page-contact-chat .ctch-mode-btn{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);font-size:.74rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;}
body.page-contact-chat .ctch-mode-btn:hover{border-color:var(--primary);color:var(--primary);}
body.page-contact-chat .ctch-mode-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;}
body.page-contact-chat .ctch-mode-hint{font-size:.72rem;color:var(--text-faint);margin-left:6px;}
body.page-contact-chat .ctch-tb-msg.test{outline:1px dashed var(--border-strong);outline-offset:2px;}
body.page-contact-chat .ctch-test-badge{display:inline-block;margin-left:8px;font-size:.62rem;font-weight:700;color:var(--text-faint);vertical-align:middle;}
body.page-contact-chat .ctch-owner-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:8px;font-size:.6rem;font-weight:700;color:var(--accent);background:rgba(245,158,11,.12);vertical-align:middle;}
body.page-contact-chat .ctch-compose-input{flex:1;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;padding:9px 12px;color:var(--text);font-size:.85rem;font-family:inherit;outline:none;resize:none;min-height:38px;max-height:100px;transition:border-color .2s;box-sizing:border-box;}
body.page-contact-chat .ctch-compose-input:focus{border-color:var(--primary);}
body.page-contact-chat .ctch-compose-input::placeholder{color:var(--text-faint);}
body.page-contact-chat .ctch-compose-send{padding:9px 18px;border-radius:10px;background:var(--primary);color:#fff;border:none;font-weight:600;font-size:.82rem;font-family:inherit;cursor:pointer;transition:background .2s;white-space:nowrap;}
body.page-contact-chat .ctch-compose-send:hover{background:var(--primary-dark);}
body.page-contact-chat .ctch-compose-send:disabled{opacity:.4;cursor:not-allowed;}
@media (max-width:768px){
  body.page-contact-chat .ctch-quick-actions{padding:6px 16px;}
  body.page-contact-chat .ctch-compose{padding:8px 16px;}
}

.terms-sub-zh{margin-top:6px;}
.terms-toc{max-width:1120px;margin:44px auto 0;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:22px 26px;}
.terms-toc-title{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;color:var(--primary);text-transform:uppercase;margin-bottom:12px;}
.terms-toc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2px 28px;}
.terms-toc-list a{display:block;padding:4px 0;font-size:.84rem;color:var(--text-dim);text-decoration:none;transition:color .2s;}
.terms-toc-list a:hover{color:var(--primary);}
.terms-toc-list .n{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--primary);margin-right:8px;}
.terms-doc{max-width:1120px;margin:0 auto;}
.terms-section{padding:36px 0;border-top:1px solid var(--border);scroll-margin-top:96px;}
.terms-h-en{font-family:'DM Serif Display',serif;font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 4px;letter-spacing:-.01em;line-height:1.3;}
.terms-h-zh{font-family:'Noto Serif TC',serif;font-size:1.12rem;font-weight:700;color:var(--text-dim);margin:0 0 20px;}
.terms-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.terms-col-zh{border-left:1px solid var(--border);padding-left:40px;}
.terms-col-en p.cl,.terms-col-zh p.cl{font-size:.92rem;line-height:1.9;color:var(--text-dim);margin:0 0 13px;padding-left:46px;position:relative;}
.terms-col-en p.cl:last-child,.terms-col-zh p.cl:last-child{margin-bottom:0;}
.terms-col-en p.cl .num,.terms-col-zh p.cl .num{position:absolute;left:0;top:.15em;font-family:'IBM Plex Mono',monospace;font-size:.74rem;font-weight:600;color:var(--primary);}
.terms-col-zh p.cl{font-family:'Noto Sans TC',sans-serif;font-size:.9rem;}
.terms-key{background:rgba(216,179,87,.07);border:1px solid var(--primary);border-radius:var(--radius);padding:26px 28px;margin-top:8px;border-top:1px solid var(--primary);}
.terms-key .terms-h-en{color:var(--text);}
.auth-terms-group{margin:6px 0 20px;}
label.auth-terms{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;font-weight:500;line-height:1.65;color:var(--text-dim);cursor:pointer;margin-bottom:0;}
label.auth-terms input[type="checkbox"]{width:16px!important;height:16px;min-width:16px;padding:0;margin:3px 0 0;flex-shrink:0;accent-color:var(--primary);cursor:pointer;box-shadow:none;transition:none;}
label.auth-terms a{color:var(--primary);font-weight:600;}
label.auth-terms a:hover{text-decoration:underline;}
@media (max-width:900px){
  .terms-cols{grid-template-columns:1fr;gap:16px;}
  .terms-col-zh{border-left:none;padding-left:0;border-top:1px dashed var(--border);padding-top:16px;}
  .terms-toc-list{grid-template-columns:1fr;}
  .terms-key{padding:20px;}
  .terms-section{padding:28px 0;}
}

/* ---- STAMP SYSTEM (human decision-trace ledger) ---- */
.stamp-block{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:10px 0 4px;}
.stamp-sec{margin-top:14px;}
.stamp-status{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-dim);}
.stamp-status.stamped{color:var(--green);font-weight:700;}
.stamp-status .stamp-date{color:var(--text-faint);font-weight:500;font-size:.76rem;}
.stamp-warn{margin-top:6px;font-size:.78rem;color:var(--accent);font-weight:600;}
.stamp-hint{margin-top:8px;font-size:.76rem;color:var(--text-faint);line-height:1.5;}
.stamp-immutable{margin-top:8px;font-size:.74rem;color:var(--text-faint);}
.stamp-form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.stamp-reason{flex:1;min-width:160px;padding:7px 10px;font-size:.82rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elev);color:var(--text);}
.stamp-reason:focus{outline:none;border-color:var(--primary);}
.stamp-status-msg{display:block;margin-top:6px;font-size:.78rem;font-weight:600;color:var(--text-dim);}
.stamp-meta{margin-top:6px;font-size:.72rem;color:var(--text-faint);word-break:break-all;}
.stamp-meta code{font-family:'IBM Plex Mono',monospace;font-size:.7rem;}
.stamp-dot{display:inline-block;width:10px;height:10px;min-width:10px;border-radius:50%;box-shadow:0 0 0 3px rgba(0,0,0,.04);}
.stamp-dot.gold{background:radial-gradient(circle at 35% 30%,#ffe9a3,#d4a017);}
.stamp-dot.cyan{background:radial-gradient(circle at 35% 30%,#c9f6ff,#0e7490);}
.stamp-dot.rose{background:radial-gradient(circle at 35% 30%,#ffd6e7,#e11d48);}
.st-stamp-chip{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;color:var(--text-faint);border:1px dashed var(--border-strong);border-radius:100px;padding:2px 10px;margin-left:8px;}
.st-stamp-chip.stamped{color:var(--green);border:1px solid rgba(16,185,129,.4);background:rgba(16,185,129,.06);}
.st-stamp-block{margin-top:12px;}
.stamp-modal .st-form-row{display:flex;gap:8px;}
.stamp-modal .stamp-reason{flex:1;}
.doc-stamp-badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--text-faint);}
.doc-stamp-badge.stamped{color:var(--green);}
.doc-act.doc-stamp{color:#b9871e;border-color:#d8b357;}
.doc-act.doc-stamp:hover{background:rgba(216,179,87,.12);}
.wiki-stamps{max-width:760px;margin:18px auto;padding:0 18px;}
.wiki-stamps-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.wiki-stamps-title{font-weight:700;font-size:.95rem;}
.wiki-stamps-head .stamp-immutable{margin-top:0;}
.stamp-list{list-style:none;}
.stamp-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;}
.stamp-row>.stamp-dot{margin-top:5px;}
.stamp-row-main{flex:1;min-width:0;}
.stamp-row-name{font-weight:600;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stamp-row-sub{font-size:.74rem;color:var(--text-faint);margin-top:3px;}
.stamp-row-sub code{font-family:'IBM Plex Mono',monospace;font-size:.7rem;}
.stamp-row-note{font-size:.78rem;color:var(--text-dim);margin-top:4px;}
.stamp-vouched{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;color:var(--green);white-space:nowrap;}

.pg-resumed{align-self:center;text-align:center;color:var(--text-faint);font-size:.76rem;padding:2px 10px 10px;}

/* ---- COACH GUIDE (guided onboarding + floating coach bot) ---- */
.guide-card{position:fixed;left:20px;top:20px;z-index:2147483100;display:flex;align-items:flex-start;gap:10px;width:min(340px,calc(100vw - 24px));padding:12px 14px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);opacity:1;transform:translateY(0);transition:opacity .45s ease,transform .45s ease,left .15s ease,top .15s ease;}
.guide-card.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px);}
.guide-ava{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:var(--primary-soft);border:1px solid var(--border-strong);}
.guide-body{flex:1;min-width:0;}
.guide-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;}
.guide-step{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-family:'Space Grotesk',sans-serif;}
.guide-step.is-done{color:var(--green);}
.guide-dots{display:inline-flex;align-items:center;gap:4px;}
.guide-dot{width:6px;height:6px;border-radius:50%;background:var(--border-strong);}
.guide-dot.done{background:var(--green);}
.guide-dot.now{background:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);animation:guideDot 1.4s ease-in-out infinite;}
.guide-text{font-size:.84rem;line-height:1.5;color:var(--text);margin:0;}
.guide-skip{flex-shrink:0;border:none;background:none;font-family:inherit;font-size:.7rem;font-weight:600;color:var(--text-faint);cursor:pointer;text-decoration:underline;padding:2px 0 0 2px;}
.guide-skip:hover{color:var(--text-dim);}
.guide-form-err{margin:6px 0 0;font-size:.78rem;line-height:1.45;color:#c0392b;}
.guide-card::before{content:'';position:absolute;width:12px;height:12px;background:var(--bg-elev);border:1px solid var(--border-strong);}
.guide-card.g-ar-up::before{top:-7px;left:26px;border-right:none;border-bottom:none;}
.guide-card.g-ar-down::before{bottom:-7px;left:26px;border-left:none;border-top:none;}
.guide-card.g-ar-left::before{left:-7px;top:20px;border-top:none;border-right:none;}
.guide-card.g-ar-right::before{right:-7px;top:20px;border-bottom:none;border-left:none;}
.guide-card.no-ar::before{display:none;}

.coach-overlay{position:fixed;inset:0;z-index:2147483000;pointer-events:none;}
.coach-overlay[hidden]{display:none;}
.coach-spot{position:absolute;border-radius:12px;box-shadow:0 0 0 200vmax rgba(15,23,41,.48);transition:box-shadow .5s ease;}
.coach-spot::after{content:'';position:absolute;inset:-4px;border-radius:15px;border:3px solid var(--primary);animation:coachPulse 1.7s ease-in-out infinite;}
.coach-overlay.is-done .coach-spot{box-shadow:0 0 0 200vmax rgba(16,185,129,.16);}
.coach-overlay.is-done .coach-spot::after{border-color:var(--green);animation:none;box-shadow:0 0 0 4px rgba(16,185,129,.35),0 0 0 10px rgba(16,185,129,.12);}
.coach-arrow{position:absolute;font-size:20px;line-height:1;color:var(--primary);text-shadow:0 2px 8px rgba(15,23,41,.35);animation:coachArrow 1.1s ease-in-out infinite;}
.coach-arrow.is-below{transform:scaleY(-1);}
.coach-overlay.is-done .coach-arrow{color:var(--green);animation:none;}
@keyframes coachPulse{0%,100%{box-shadow:0 0 0 4px rgba(91,91,240,.6),0 0 0 9px rgba(91,91,240,.14);}50%{box-shadow:0 0 0 6px rgba(91,91,240,.9),0 0 0 16px rgba(91,91,240,.24);}}
@keyframes coachArrow{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}
.coach-arrow.is-below{animation:coachArrowB 1.1s ease-in-out infinite;}
@keyframes coachArrowB{0%,100%{transform:scaleY(-1) translateY(0);}50%{transform:scaleY(-1) translateY(7px);}}
@keyframes guideDot{0%,100%{opacity:1;}50%{opacity:.4;}}

.coach-bot{position:fixed;right:24px;bottom:24px;z-index:2147483200;width:56px;height:56px;border-radius:50%;background:var(--bg-elev);border:2px solid var(--primary);box-shadow:0 10px 26px rgba(15,23,41,.25);cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;padding:0;transition:transform .2s ease;}
.coach-bot:hover{transform:translateY(-2px) scale(1.04);}
.coach-bot:focus-visible{outline:3px solid var(--primary-soft);outline-offset:3px;}
.coach-bot.pos-br{right:24px;left:auto;}
.coach-bot.pos-bl{left:24px;right:auto;}
.coach-bot-ava{font-size:1.55rem;line-height:1;transition:opacity .3s ease,transform .3s ease;}
.coach-bot-check{position:absolute;inset:-2px;border-radius:50%;display:none;align-items:center;justify-content:center;background:var(--green);color:#fff;font-weight:800;font-size:1.5rem;border:2px solid #fff;}
.coach-bot.is-complete .coach-bot-check{display:flex;}
.coach-bot.is-complete .coach-bot-ava{opacity:0;transform:scale(.4);}
.coach-bot-badge{position:absolute;top:-7px;right:-10px;background:var(--primary);color:#fff;font-family:'Space Grotesk',sans-serif;font-size:.62rem;font-weight:700;border-radius:99px;padding:2px 7px;box-shadow:0 3px 10px rgba(91,91,240,.45);display:none;}
.coach-bot.is-active .coach-bot-badge{display:block;animation:guideDot 1.6s ease-in-out infinite;}
.coach-bot-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--primary);opacity:0;pointer-events:none;}
.coach-bot.is-idle .coach-bot-ring{opacity:.45;animation:coachBotRing 3.4s ease-out infinite;}
.coach-bot.is-active .coach-bot-ring{opacity:.8;animation:coachBotRing 2.4s ease-out infinite;}
.coach-bot.is-active .coach-bot-ring-2{animation-delay:1.2s;}
.coach-bot.is-quiet .coach-bot-ring,.coach-bot.is-complete .coach-bot-ring,.coach-bot.is-party .coach-bot-ring{animation:none;opacity:0;}
.coach-bot.is-party{animation:coachParty .7s ease-in-out infinite;}
@keyframes coachBotRing{0%{transform:scale(.85);opacity:.7;}75%{transform:scale(1.35);opacity:0;}100%{transform:scale(1.35);opacity:0;}}
@keyframes coachParty{0%,100%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-8px) rotate(4deg);}}

.coach-note{position:fixed;bottom:94px;right:24px;z-index:2147483300;max-width:min(78vw,340px);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px 14px;font-size:.8rem;line-height:1.45;color:var(--text);cursor:pointer;display:flex;gap:10px;align-items:center;animation:coachNoteIn .3s ease;}
.coach-note.pos-bl{left:24px;right:auto;}
.coach-note[hidden]{display:none;}
.coach-note::after{content:'';position:absolute;right:20px;bottom:-7px;width:12px;height:12px;background:var(--bg-elev);border:1px solid var(--border-strong);border-top:none;border-left:none;transform:rotate(45deg);}
.coach-note.pos-bl::after{right:auto;left:20px;}
.coach-note-txt{flex:1;min-width:0;}
.coach-note-cta{flex-shrink:0;color:var(--primary);font-weight:700;font-size:.74rem;white-space:nowrap;}
@keyframes coachNoteIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.coach-pop{position:fixed;bottom:94px;right:24px;z-index:2147483400;width:min(92vw,340px);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow-lg);padding:14px;animation:coachNoteIn .25s ease;}
.coach-pop.pos-bl{left:24px;right:auto;}
.coach-pop[hidden]{display:none;}
.coach-pop-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.coach-pop-ava{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;background:var(--primary-soft);border:1px solid var(--border-strong);flex-shrink:0;}
.coach-pop-title{flex:1;min-width:0;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--primary);font-family:'Space Grotesk',sans-serif;}
.coach-pop-x{border:none;background:none;font-family:inherit;font-size:.85rem;color:var(--text-faint);cursor:pointer;padding:4px;}
.coach-pop-x:hover{color:var(--text-dim);}
.coach-pop-body{font-size:.84rem;color:var(--text);line-height:1.5;}
.coach-pop-party{font-size:1.9rem;text-align:center;margin:2px 0 8px;}
.coach-pop-steps{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;}
.coach-pop-steps li{display:flex;gap:8px;align-items:baseline;font-size:.78rem;color:var(--text-dim);}
.coach-pop-steps li.done{color:var(--text);}
.coach-pop-steps li.done .q-check{color:var(--green);}
.coach-pop-steps .q-check{flex-shrink:0;font-weight:700;}
.coach-pop-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;}

@media (max-width:640px){
  .guide-card{left:12px!important;top:auto!important;bottom:12px;width:auto;right:12px;}
  .guide-card::before{display:none;}
  .coach-bot{width:46px;height:46px;}
  .coach-bot.pos-br{right:14px;}
  .coach-bot.pos-bl{left:14px;}
  .coach-note,.coach-pop{bottom:70px;right:14px;left:14px;width:auto;max-width:none;}
  .coach-note.pos-bl,.coach-pop.pos-bl{left:14px;}
}

/* --- floating buttons: shared minimize control (guide bot + strategist fab) --- */
.fb-min{position:absolute;top:-7px;left:-7px;width:22px;height:22px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-dim);font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:700;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(15,23,41,.28);z-index:3;transition:transform .15s,color .15s,border-color .15s;}
.fb-min:hover{color:var(--text);border-color:var(--primary);transform:scale(1.08);}
.fb-min:focus-visible{outline:2px solid var(--primary-soft);outline-offset:2px;}
.fb-min[hidden]{display:none;}
.strategist-fab,.coach-bot{transition:width .18s ease,height .18s ease,transform .2s ease;}
.strategist-fab.is-min,.coach-bot.is-min{width:16px;height:16px;min-width:16px;min-height:16px;padding:0;border-width:1px;box-shadow:0 2px 8px rgba(15,23,41,.2);cursor:pointer;}
.strategist-fab.is-min:hover,.coach-bot.is-min:hover{transform:none;}
.strategist-fab.is-min img,.strategist-fab.is-min .fab-badge,.coach-bot.is-min .coach-bot-ava,.coach-bot.is-min .coach-bot-badge,.coach-bot.is-min .coach-bot-check,.coach-bot.is-min .coach-bot-ring,.coach-bot.is-min .coach-bot-min{display:none;}
.coach-bot.is-min.is-party{animation:none;}
.strategist-fab.is-min::after,.coach-bot.is-min::after{content:'';position:absolute;inset:-13px;border-radius:50%;}
@media (max-width:760px){
  .strategist-fab-min{top:-6px;left:-6px;}
}
@media (max-width:640px){
  .coach-bot .coach-bot-min{top:-6px;left:-6px;}
  .coach-bot.is-min{left:22px;}
  .strategist-fab.is-min{width:14px;height:14px;min-width:14px;min-height:14px;}
}

.tour-root{position:fixed;inset:0;z-index:2147483500;pointer-events:none;}
.tour-shield{position:absolute;inset:0;pointer-events:auto;}
.tour-spot{position:absolute;border-radius:12px;box-shadow:0 0 0 200vmax rgba(10,12,18,.66);pointer-events:none;transition:top .35s ease,left .35s ease,width .35s ease,height .35s ease;}
.tour-bubble{position:absolute;max-width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:var(--bg-elev,#fff);color:var(--text,#141a22);border:1px solid var(--border-strong,#cfd4da);border-radius:14px;box-shadow:0 18px 48px rgba(10,12,18,.32);padding:16px 18px 14px;pointer-events:auto;transition:top .3s ease,left .3s ease;}
.tour-bubble.tour-below::after{content:'';position:absolute;top:-7px;left:50%;margin-left:-7px;border:7px solid transparent;border-top:0;border-bottom-color:var(--bg-elev,#fff);}
.tour-bubble.tour-above::after{content:'';position:absolute;bottom:-7px;left:50%;margin-left:-7px;border:7px solid transparent;border-bottom:0;border-top-color:var(--bg-elev,#fff);}
.tour-count{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--primary,#4f46e5);margin:0 0 6px;}
.tour-title{margin:0 0 6px;font-size:1.02rem;font-weight:800;color:var(--text,#141a22);}
.tour-text{margin:0 0 14px;font-size:.88rem;line-height:1.55;color:var(--text-dim,#5b6470);}
.tour-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.tour-actions .tour-btn:first-child{margin-right:auto;}
.tour-btn{padding:8px 14px;border-radius:10px;border:1px solid var(--border-strong,#cfd4da);background:var(--bg,#f6f7f9);color:var(--text,#141a22);font-size:.85rem;font-weight:600;cursor:pointer;}
.tour-btn:hover{border-color:var(--primary,#4f46e5);color:var(--primary,#4f46e5);}
.tour-btn:disabled{opacity:.45;cursor:default;}
.tour-btn:disabled:hover{border-color:var(--border-strong,#cfd4da);color:var(--text,#141a22);}
.tour-btn-primary{background:var(--primary,#4f46e5);border-color:var(--primary,#4f46e5);color:#fff;}
.tour-btn-primary:hover{color:#fff;filter:brightness(1.08);}
.tour-close{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-dim,#5b6470);font-size:1.15rem;line-height:1;border-radius:8px;cursor:pointer;}
.tour-close:hover{color:var(--text,#141a22);background:var(--bg,#f6f7f9);}
@media (prefers-reduced-motion:reduce){.tour-spot,.tour-bubble{transition:none!important;}}
.tour-count{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.tour-brand{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;}
.tour-bubble.is-done{border-color:var(--accent,#d9a441);text-align:center;}
.tour-bubble.is-done .tour-count{justify-content:center;}
.tour-done-icn{margin:2px 0 6px;font-size:2rem;line-height:1;}
.tour-done-msg{margin:0 0 12px;font-size:.95rem;font-weight:700;color:var(--text,#141a22);}
.tour-bubble.is-done .tour-actions{justify-content:center;}
.tour-bubble.is-done .tour-actions .tour-btn:first-child{margin-right:0;}
.tour-resume{position:fixed;right:16px;bottom:16px;z-index:2147483600;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 24px));background:var(--bg-elev,#fff);color:var(--text,#141a22);border:1px solid var(--border-strong,#cfd4da);border-radius:14px;box-shadow:0 18px 48px rgba(10,12,18,.32);padding:14px 16px;}
.tour-resume-text{margin:0;font-size:.88rem;line-height:1.55;color:var(--text,#141a22);}
.tour-resume-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
@media (max-width:640px){.tour-resume{left:12px;right:12px;bottom:12px;}.tour-resume-actions{justify-content:stretch;}.tour-resume-actions .tour-btn{flex:1;}}
.tour-fab{position:fixed;right:16px;bottom:16px;z-index:2147483400;display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:999px;border:1px solid var(--border-strong,#cfd4da);background:var(--bg-elev,#fff);color:var(--text,#141a22);font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 12px 32px rgba(10,12,18,.24);transition:border-color .2s ease,color .2s ease,transform .2s ease;}
.tour-fab:hover{border-color:var(--primary,#4f46e5);color:var(--primary,#4f46e5);transform:translateY(-1px);}
.tour-fab:focus-visible{outline:2px solid var(--primary,#4f46e5);outline-offset:2px;}
@media (max-width:640px){.tour-fab{right:12px;bottom:12px;padding:9px 14px;}}
/* --- studio floating stack (top→bottom: creator tour, ETAI blueprint, coach assistant) --- */
body.page-studio .st-bp-toggle{right:16px;bottom:16px;}
body.page-studio .tour-fab{right:16px;bottom:70px;}
body.page-studio .tour-resume{bottom:121px;}
body.page-studio .coach-note,body.page-studio .coach-pop{bottom:121px;}
body.page-studio .coach-bot,body.page-studio .coach-bot.pos-br{right:16px;bottom:16px;}
body.page-studio:has(.coach-bot) .st-bp-toggle{bottom:84px;}
body.page-studio:has(.coach-bot) .tour-fab{bottom:138px;}
body.page-studio:has(.coach-bot) .tour-resume,body.page-studio:has(.coach-bot) .coach-note,body.page-studio:has(.coach-bot) .coach-pop{bottom:189px;}
@media (max-width:640px){
body.page-studio .st-bp-toggle{right:12px;bottom:12px;}
body.page-studio .tour-fab{right:12px;bottom:64px;}
body.page-studio .coach-bot,body.page-studio .coach-bot.pos-br{right:12px;bottom:12px;}
body.page-studio:has(.coach-bot) .st-bp-toggle{bottom:68px;}
body.page-studio:has(.coach-bot) .tour-fab{bottom:120px;}
}
@keyframes tourBadgePop{0%{transform:scale(1);}45%{transform:scale(1.35);}100%{transform:scale(1);}}
@media (prefers-reduced-motion:no-preference){.badge-chip.just-earned{animation:tourBadgePop .55s ease;}}

/* --- Dashboard: a11y polish --- */
.tech-badge{display:inline-flex;align-items:center;font-family:'Space Grotesk',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:99px;line-height:1.4;}
.etai-empty .steps{margin-top:14px;}
.etai-empty .step{min-width:0;max-width:none;flex:1 1 190px;padding:20px 16px;}
.etai-empty .step.is-current{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft),var(--shadow-sm);}
.etai-empty .step.is-done{border-color:var(--green);background:rgba(16,185,129,.06);}
.etai-empty .step.is-done .step-num{color:var(--green);}
.etai-empty .step.is-locked{opacity:.62;}
.etai-empty .step.is-locked .step-num{color:var(--text-faint);}
.etai-empty .step p .btn-primary{margin-top:6px;}
.etai-empty-gate{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:9px 14px;}
.etai-empty .step .step-icon{font-size:1.8rem;}
.step-badges{display:flex;gap:6px;justify-content:center;margin-top:10px;}
.etai-state-sub{font-size:.7rem;color:var(--text-faint);line-height:1.4;margin-top:5px;}
.etai-row .agent-item-cta{margin-top:0;white-space:nowrap;}
.etai-row-cta{font-size:.78rem;}
#my-etais{scroll-margin-top:90px;}
#dashboard a:focus-visible,#dashboard button:focus-visible,#dashboard select:focus-visible,#dashboard input:focus-visible,#dashboard textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px;}
.etai-row:focus-visible,.etai-mbti:focus-visible,.nba-item a:focus-visible,.mp-dash-row:focus-visible,.pulse-item a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary),0 0 0 6px var(--primary-soft);border-radius:12px;position:relative;z-index:1;}
@media(max-width:640px){
  .etai-empty .steps{flex-direction:column;}
}

/* ---- studio beginner guided mode ---- */
.panel-body{position:relative;}
.panel-tab.beginner-locked{opacity:.45;filter:saturate(.4);}
.panel-body.beginner-locked{overflow:hidden;}
.beginner-lock{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:18px;background:var(--bg-elev);}
.beginner-lock-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;max-width:300px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:20px 18px;}
.beginner-lock-icn{font-size:1.6rem;line-height:1;}
.beginner-lock-t{font-weight:800;font-size:.9rem;color:var(--text);}
.beginner-lock-x{font-size:.78rem;color:var(--text-dim);line-height:1.5;}
.beginner-lock-acts{margin-top:4px;}
.beginner-lock-off{margin-top:8px;background:none;border:none;font-size:.72rem;color:var(--text-faint);text-decoration:underline;cursor:pointer;font-family:inherit;padding:4px;}
.beginner-lock-off:hover{color:var(--text-dim);}

.st-checklist{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:10px 10px 8px;margin-bottom:10px;}
.st-checklist-h{font-size:.74rem;font-weight:800;color:var(--text);letter-spacing:.02em;margin-bottom:6px;}
.st-checklist-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.st-check-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:none;border-radius:8px;font-size:.78rem;color:var(--text-dim);cursor:pointer;font-family:inherit;text-align:left;transition:background .15s;}
.st-check-item:hover{background:var(--bg-elev);}
.st-check-item.current{background:var(--bg-elev);color:var(--text);font-weight:700;box-shadow:inset 0 0 0 1px var(--border);}
.st-check-item.done{color:var(--text-faint);}
.st-check-n{flex:0 0 20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;background:var(--border);color:var(--text-dim);}
.st-check-item.current .st-check-n{background:var(--primary);color:#fff;}
.st-check-item.done .st-check-n{background:var(--primary-soft);color:var(--primary);}
.st-check-l{flex:1;}
.st-check-arrow{color:var(--primary);font-weight:800;}
.st-check-next{display:block;width:100%;margin-top:6px;padding:8px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit;}
.st-check-next:hover{filter:brightness(1.08);}
.st-check-off{display:block;width:100%;margin-top:4px;background:none;border:none;font-size:.7rem;color:var(--text-faint);text-decoration:underline;cursor:pointer;font-family:inherit;padding:4px;}
.st-check-off:hover{color:var(--text-dim);}

.st-spot-root{position:fixed;inset:0;z-index:1200;}
.st-spot-shield{position:fixed;inset:0;background:transparent;}
.st-spot-ring{position:fixed;z-index:1;border:3px solid var(--primary);border-radius:12px;box-shadow:0 0 0 2px rgba(255,255,255,.85),0 0 24px var(--primary-soft),0 0 0 9999px rgba(15,23,41,.6);cursor:pointer;animation:stSpotPulse 1.8s ease-in-out infinite;}
@keyframes stSpotPulse{0%,100%{box-shadow:0 0 0 2px rgba(255,255,255,.85),0 0 18px var(--primary-soft),0 0 0 9999px rgba(15,23,41,.6);}50%{box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 34px var(--primary-soft),0 0 0 9999px rgba(15,23,41,.6);}}
.st-spot-bubble{position:fixed;z-index:2;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:14px;}
.st-spot-count{font-size:.66rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.st-spot-title{font-size:.92rem;font-weight:800;color:var(--text);margin-bottom:4px;}
.st-spot-text{font-size:.8rem;color:var(--text-dim);line-height:1.55;margin-bottom:10px;}
.st-spot-acts{display:flex;gap:8px;justify-content:flex-end;align-items:center;}
.st-spot-skip{background:none;border:none;font-size:.74rem;color:var(--text-faint);text-decoration:underline;cursor:pointer;font-family:inherit;padding:4px;}
.st-spot-skip:hover{color:var(--text-dim);}

.mem-adv{margin-top:10px;}
.mem-adv-toggle{display:block;width:100%;background:none;border:1px dashed var(--border-strong);border-radius:8px;padding:7px;font-size:.72rem;font-weight:600;color:var(--text-faint);cursor:pointer;font-family:inherit;}
.mem-adv-toggle:hover{color:var(--text-dim);border-color:var(--text-faint);}
.mem-adv-toggle[aria-expanded="true"]{margin-bottom:8px;}

.pg-src-name{position:relative;z-index:1;font-size:.72rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;max-width:60%;}
.pg-src .pg-src-txt{flex:1;font-size:.68rem;color:var(--text-faint);}

/* ===== STUDIO — SHARE VIA API PANEL ===== */
.apishare{display:flex;flex-direction:column;gap:12px;font-size:.85rem;overflow-y:auto;}
.apishare-loading,.apishare-error{color:var(--text-dim);font-size:.82rem;padding:8px 2px;}
.apishare-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;padding:8px 10px;}
.apishare-off-title{font-weight:700;margin-bottom:8px;color:var(--text);}
.apishare-off-text{color:var(--text-dim);line-height:1.6;margin-bottom:12px;}
.apishare-state{display:flex;align-items:center;}
.apishare-state-chip{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:100px;padding:3px 10px;}
.apishare-field{display:flex;flex-direction:column;gap:6px;}
.apishare-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.apishare-field-label{font-size:.72rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;}
.apishare-key{display:block;font-family:ui-monospace,'IBM Plex Mono',monospace;font-size:.76rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:8px 10px;word-break:break-all;color:var(--text);}
.apishare-key-fresh{border-color:#bbf7d0;background:#f0fdf4;color:#14532d;}
.apishare-key-masked{letter-spacing:.08em;}
.apishare-once{font-size:.72rem;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:6px 9px;}
.apishare-note{font-size:.74rem;color:var(--text-faint);line-height:1.5;}
.apishare-nokey{color:var(--text-dim);background:var(--bg-soft);border:1px dashed var(--border-strong);border-radius:9px;padding:8px 10px;margin-bottom:8px;}
.apishare-quick-block{font-family:ui-monospace,'IBM Plex Mono',monospace;font-size:.74rem;line-height:1.7;background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:10px 12px;white-space:pre-wrap;word-break:break-all;color:var(--text);}
.apishare-caps{display:flex;flex-direction:column;gap:6px;}
.apishare-cap{display:flex;align-items:flex-start;gap:9px;padding:7px 9px;border:1px solid var(--border);border-radius:9px;cursor:pointer;background:var(--bg);}
.apishare-cap:hover{border-color:var(--border-strong);}
.apishare-cap input{margin-top:2px;accent-color:var(--primary);}
.apishare-cap-txt{display:flex;flex-direction:column;gap:1px;}
.apishare-cap-name{font-size:.8rem;font-weight:700;color:var(--text);}
.apishare-cap-desc{font-size:.72rem;color:var(--text-faint);}
.apishare-usage-row{font-size:.78rem;color:var(--text-dim);}
.apishare-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--border);margin-top:2px;padding-top:12px;}
.apishare-danger{color:#be123c;border-color:#fecdd3;}
.apishare-danger:hover{background:#fff1f2;border-color:#be123c;}

/* ===== STUDIO — MEMORY PANEL (composer, toolbar, cards, tools, advanced) ===== */
.mem-composer{flex-wrap:wrap;}
.mem-composer input{min-width:130px;flex:1 1 130px;}
select.mem-field{padding:8px 9px;border:1px solid var(--border-strong);border-radius:9px;font-size:.76rem;background:var(--bg);color:var(--text);font-family:inherit;cursor:pointer;flex:0 0 auto;}
select.mem-field:focus{outline:none;border-color:var(--primary);}
.mem-flag{background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;min-width:34px;padding:7px 8px;font-size:.9rem;cursor:pointer;color:var(--text-faint);line-height:1;font-family:inherit;}
.mem-flag:hover{border-color:var(--primary);}
.mem-flag[aria-pressed="true"]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);}
.mem-dup{display:flex;flex-direction:column;gap:3px;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;padding:7px 10px;font-size:.72rem;color:#92400e;margin-bottom:10px;}
.mem-dup-row b{font-weight:700;}
.mem-dup-note{color:#b45309;}
.mem-toolbar{display:flex;flex-direction:column;gap:7px;margin-bottom:10px;}
.mem-toolbar-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.mem-toolbar-row2{justify-content:space-between;}
.mem-search{flex:1;min-width:110px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:100px;font-size:.76rem;background:var(--bg);color:var(--text);font-family:inherit;}
.mem-search:focus{outline:none;border-color:var(--primary);}
.mem-tier-chips{display:flex;gap:4px;flex:0 0 auto;}
.mem-chip{background:none;border:1px solid var(--border);border-radius:100px;padding:4px 10px;font-size:.68rem;font-weight:700;color:var(--text-faint);cursor:pointer;font-family:inherit;white-space:nowrap;}
.mem-chip:hover{border-color:var(--border-strong);color:var(--text-dim);}
.mem-chip.on{background:var(--primary);border-color:var(--primary);color:#fff;}
.mem-chip.t-core.on{background:#7c3aed;border-color:#7c3aed;}
.mem-chip.t-knowledge.on{background:#0891b2;border-color:#0891b2;}
.mem-chip.t-ephemeral.on{background:#b45309;border-color:#b45309;}
.mem-cat-filter{flex:1;min-width:120px;}
.mem-count{font-size:.68rem;color:var(--text-faint);white-space:nowrap;flex:0 0 auto;}
.mem-tools{display:flex;gap:4px;position:relative;flex:0 0 auto;}
.mem-tool{background:none;border:1px solid var(--border);border-radius:8px;padding:4px 8px;font-size:.66rem;font-weight:600;color:var(--text-dim);cursor:pointer;font-family:inherit;white-space:nowrap;}
.mem-tool:hover{border-color:var(--primary);color:var(--primary);}
.mem-tool.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);}
.mem-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg);border:1px solid var(--border-strong);border-radius:9px;box-shadow:0 10px 28px rgba(2,6,23,.14);padding:4px;z-index:40;min-width:160px;}
.mem-menu button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:7px;padding:7px 10px;font-size:.74rem;color:var(--text);cursor:pointer;font-family:inherit;}
.mem-menu button:hover{background:var(--bg-soft);}
.mem-cards .mem-sec{list-style:none;}
.mem-sec-title{display:flex;align-items:center;gap:6px;font-size:.66rem;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:12px 0 6px;}
.mem-sec-title::after{content:'';flex:1;height:1px;background:var(--border);}
.mem-sec-n{background:var(--bg-soft);border:1px solid var(--border);border-radius:100px;font-size:.6rem;font-weight:700;padding:1px 7px;color:var(--text-faint);}
.mem-sec-list{list-style:none;display:flex;flex-direction:column;gap:6px;}
.mem-card{display:flex;align-items:flex-start;gap:8px;background:var(--bg-soft);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:10px;padding:8px 10px;font-size:.82rem;transition:border-color .15s,box-shadow .15s;}
.mem-card.tb-core{border-left-color:#7c3aed;}
.mem-card.tb-knowledge{border-left-color:#0891b2;}
.mem-card.tb-ephemeral{border-left-color:#b45309;}
.mem-card:hover{border-color:var(--border-strong);box-shadow:0 2px 10px rgba(2,6,23,.06);}
.mem-card.is-expired{opacity:.55;}
.mem-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft);}
.mem-check{display:flex;align-items:center;padding-top:8px;cursor:pointer;flex:0 0 auto;}
.mem-check input{accent-color:var(--primary);width:15px;height:15px;cursor:pointer;}
.mem-cards:not(.selecting) .mem-check{display:none;}
.mem-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.mem-card-title{font-weight:700;font-size:.82rem;color:var(--text);line-height:1.35;overflow-wrap:break-word;}
.mem-card-content{color:var(--text);line-height:1.45;overflow-wrap:break-word;}
.mem-card-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;}
.mem-badge{display:inline-flex;align-items:center;gap:3px;font-size:.6rem;font-weight:700;border-radius:100px;padding:2px 8px;background:var(--bg);border:1px solid var(--border);color:var(--text-faint);}
.mem-badge.tb-core{color:#6d28d9;border-color:#ddd6fe;background:#f5f3ff;}
.mem-badge.tb-knowledge{color:#0e7490;border-color:#a5f3fc;background:#ecfeff;}
.mem-badge.tb-ephemeral{color:#92400e;border-color:#fde68a;background:#fffbeb;}
.mem-badge.b-ver{color:#166534;border-color:#bbf7d0;background:#f0fdf4;}
.mem-badge.b-used{font-weight:500;}
.mem-card-acts{display:flex;gap:2px;flex:0 0 auto;}
.mem-act{background:none;border:none;color:var(--text-faint);font-size:.85rem;cursor:pointer;line-height:1;padding:4px 5px;border-radius:7px;font-family:inherit;}
.mem-act:hover{background:var(--bg);color:var(--text);}
.mem-act.on{color:var(--primary);}
.mem-act-del:hover{color:#ef4444;}
.mem-edit{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0;}
.mem-edit-ta{width:100%;resize:vertical;padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;font-family:inherit;font-size:.82rem;background:var(--bg);color:var(--text);box-sizing:border-box;}
.mem-edit-ta:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.mem-edit-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.mem-edit-row .grow{flex:1;}
.mem-adv-body{display:flex;flex-direction:column;gap:14px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 12px;}
.mem-adv-group{display:flex;flex-direction:column;gap:6px;}
.mem-adv-title{font-size:.74rem;font-weight:800;color:var(--text);}
.mem-adv-hint{font-size:.68rem;color:var(--text-faint);line-height:1.45;}
.mem-adv-actions{display:flex;align-items:center;gap:10px;}
.mem-policy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--border);}
.mem-policy-row:last-child{border-bottom:none;}
.mem-policy-tier{font-size:.74rem;font-weight:700;color:var(--text-dim);flex:0 0 auto;}
.mem-policy-modes{display:flex;gap:3px;background:var(--bg);border:1px solid var(--border);border-radius:100px;padding:3px;}
.mem-policy-mode{background:none;border:none;border-radius:100px;padding:3px 10px;font-size:.64rem;font-weight:700;color:var(--text-faint);cursor:pointer;font-family:inherit;white-space:nowrap;}
.mem-policy-mode.on{background:var(--primary);color:#fff;}
.mem-budget-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.74rem;color:var(--text-dim);}
.mem-budget-row input[type=number],.mem-budget-row select{padding:6px 9px;border:1px solid var(--border-strong);border-radius:8px;font-size:.74rem;background:var(--bg);color:var(--text);font-family:inherit;width:96px;}
.mem-modal{position:fixed;inset:0;background:rgba(2,6,23,.5);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;}
.mem-modal-card{background:var(--bg);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 24px 60px rgba(2,6,23,.28);max-width:420px;width:100%;padding:16px 18px;display:flex;flex-direction:column;gap:10px;max-height:80vh;overflow-y:auto;}
.mem-modal-title{font-size:.9rem;font-weight:800;color:var(--text);}
.mem-modal-body{display:flex;flex-direction:column;gap:8px;}
.mem-modal-hint,.mem-modal-note{font-size:.68rem;color:var(--text-faint);line-height:1.5;}
.mem-modal-acts{display:flex;justify-content:flex-end;gap:8px;padding-top:4px;}
.mem-import-ta{width:100%;resize:vertical;padding:9px 11px;border:1px solid var(--border-strong);border-radius:9px;font-family:ui-monospace,'IBM Plex Mono',monospace;font-size:.72rem;background:var(--bg);color:var(--text);box-sizing:border-box;}
.mem-import-ta:focus{outline:none;border-color:var(--primary);}
.mem-agent-list{display:flex;flex-direction:column;gap:5px;max-height:240px;overflow-y:auto;}
.mem-agent-opt{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;padding:8px 11px;cursor:pointer;font-size:.8rem;color:var(--text);}
.mem-agent-opt:hover{border-color:var(--border-strong);}
.mem-agent-opt input{accent-color:var(--primary);}

/* --- ThinkTank Academy --- */
#aca-lesson{padding-top:108px;min-height:100vh;background:var(--bg-soft);padding-bottom:56px;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
body.has-appbar #aca-lesson{padding-top:0;}
.aca-les-head{padding:0 24px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.aca-kicker{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-dark);margin:0 0 6px;}
.aca-les-head h1{font-family:'DM Serif Display','Noto Serif TC',serif;font-weight:500;font-size:1.6rem;color:var(--text);letter-spacing:-.01em;margin:0;}
.aca-les-sub{font-size:.88rem;color:var(--text-dim);margin-top:8px;max-width:680px;line-height:1.6;}
.aca-done-banner{margin:0 24px;font-size:.8rem;font-weight:700;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:10px 14px;}
.aca-stepper{list-style:none;margin:0 24px;padding:0;display:flex;gap:0;flex-wrap:wrap;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.aca-stepper li{flex:1;min-width:150px;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 12px;font-size:.76rem;font-weight:700;color:var(--text-faint);border-right:1px solid var(--border);background:var(--bg-soft);transition:color .2s,background .2s;}
.aca-stepper li:last-child{border-right:none;}
.aca-step-n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:99px;border:1px solid var(--border-strong);font-family:'Space Grotesk',sans-serif;font-size:.72rem;background:var(--bg);}
.aca-stepper li.is-active{color:var(--primary-dark);background:var(--primary-soft);}
.aca-stepper li.is-active .aca-step-n{border-color:var(--primary);color:var(--primary-dark);}
.aca-stepper li.is-done{color:#047857;background:#ecfdf5;}
.aca-stepper li.is-done .aca-step-n{border-color:#a7f3d0;color:#047857;}
.aca-block{margin:0 24px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);}
.aca-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.aca-block-head h2{font-size:1rem;font-weight:800;color:var(--text);margin:0;}
.aca-block-sub{font-size:.8rem;color:var(--text-dim);margin:0 0 14px;line-height:1.6;}
.aca-anim-step{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;color:var(--text-faint);}
.aca-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;}
.aca-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .15s,transform .15s;}
.aca-card:hover{border-color:var(--border-strong);transform:translateY(-1px);}
.aca-card-icon{font-size:1.5rem;margin:0 0 8px;}
.aca-card h3{font-size:.88rem;font-weight:800;color:var(--text);margin:0 0 6px;}
.aca-card-text{font-size:.78rem;color:var(--text-dim);line-height:1.65;margin:0;}
.aca-svg-wrap{background:linear-gradient(180deg,#fbfcff,#f4f6fd);border:1px solid var(--border);border-radius:var(--radius);padding:10px 8px 4px;}
.aca-svg{width:100%;height:auto;display:block;}
.aca-link{stroke:var(--border-strong);stroke-width:2;fill:none;}
.aca-arrow-head{fill:var(--border-strong);}
.aca-loop{stroke:#c7cbfb;stroke-width:2;stroke-dasharray:7 7;fill:none;transition:stroke .3s;}
.aca-loop.is-active{stroke:var(--primary);stroke-width:2.5;}
.aca-loop-lbl{font-size:12px;font-weight:700;fill:var(--text-faint);transition:fill .3s;}
.aca-loop-lbl.is-active{fill:var(--primary-dark);}
.aca-node circle{fill:#fff;stroke:var(--border-strong);stroke-width:2;transition:stroke .25s,filter .25s;}
.aca-node .aca-node-emoji{font-size:26px;text-anchor:middle;}
.aca-node .aca-node-lbl{font-size:12px;font-weight:700;fill:var(--text-dim);text-anchor:middle;}
.aca-node.is-active circle{stroke:var(--primary);stroke-width:3;filter:drop-shadow(0 0 8px rgba(91,91,240,.35));}
.aca-node.is-active .aca-node-lbl{fill:var(--primary-dark);}
.aca-node.is-seen circle{stroke:#6ee7b7;}
.aca-packet{fill:var(--accent);stroke:#fff;stroke-width:2;transition:transform 1.1s cubic-bezier(.45,.05,.35,1);transform:translate(100px,150px);}
.aca-packet.is-dim{opacity:.35;}
.aca-q-bubble{font-size:12.5px;font-weight:700;fill:var(--text);opacity:.85;}
.aca-anim-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 8px 4px;}
.aca-anim-controls{display:flex;gap:8px;flex-wrap:wrap;}
.aca-anim-progress{flex:1;min-width:160px;}
.aca-anim-progress .etai-meter{height:6px;}
.aca-caption{min-height:40px;margin:8px 4px 6px;font-size:.86rem;font-weight:600;color:var(--text);background:#fff;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;padding:9px 13px;line-height:1.55;}
.aca-quiz-body{display:flex;flex-direction:column;gap:14px;}
.aca-q{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin:0;background:var(--bg-soft);display:flex;flex-direction:column;gap:9px;transition:border-color .2s;}
.aca-q legend{font-size:.85rem;font-weight:800;color:var(--text);padding:0 6px;}
.aca-q.is-wrong{border-color:#fecaca;background:#fef7f7;}
.aca-opt{display:flex;align-items:flex-start;gap:9px;font-size:.8rem;color:var(--text-dim);line-height:1.55;cursor:pointer;border:1px solid var(--border);border-radius:9px;padding:8px 11px;background:#fff;transition:border-color .15s;}
.aca-opt:hover{border-color:var(--border-strong);}
.aca-opt input{accent-color:var(--primary);margin-top:3px;flex:0 0 auto;}
.aca-opt:has(input:checked){border-color:#c7cbfb;background:var(--primary-soft);color:var(--text);}
.aca-quiz-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.aca-quiz-note{font-size:.76rem;font-weight:700;color:var(--text-faint);min-height:1em;}
.aca-quiz-note.is-err{color:#dc2626;}
.aca-block.is-locked{position:relative;}
.aca-block.is-locked .aca-quiz-body{opacity:.35;pointer-events:none;filter:blur(1.5px);}
.aca-veil{display:none;position:absolute;inset:0;z-index:2;border-radius:var(--radius-lg);background:rgba(246,247,251,.55);backdrop-filter:blur(1px);}
.aca-block.is-locked .aca-veil{display:flex;align-items:center;justify-content:center;}
.aca-veil p{font-size:.82rem;font-weight:800;color:var(--text-dim);background:#fff;border:1px solid var(--border-strong);border-radius:99px;padding:10px 18px;box-shadow:var(--shadow-md);}
.aca-block.is-open .aca-veil{display:none;}
.aca-block.is-open .aca-quiz-body{opacity:1;pointer-events:auto;filter:none;}
.aca-done{margin:0 24px;text-align:center;background:linear-gradient(180deg,#fdfdf5,#f6fce9);border:1px solid #d9f2c8;border-radius:var(--radius-lg);padding:30px 24px;display:flex;flex-direction:column;gap:8px;align-items:center;}
.aca-done-icn{font-size:2.6rem;margin:0;animation:acaPop .5s ease;}
.aca-done h2{font-family:'DM Serif Display','Noto Serif TC',serif;font-size:1.4rem;color:var(--text);margin:0;}
.aca-done-badge{font-size:.88rem;font-weight:800;color:#047857;margin:0;}
.aca-done-milestone{font-size:.8rem;font-weight:700;color:var(--text-dim);margin:0;}
.aca-done-next{font-size:.78rem;color:var(--text-faint);margin:0;}
.aca-done-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center;}
.aca-done-tool{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:14px;padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;}
.aca-done-tool-hint{font-size:.8rem;font-weight:800;color:#b45309;}
@keyframes acaPop{0%{transform:scale(.4);opacity:0;}70%{transform:scale(1.12);}100%{transform:scale(1);opacity:1;}}
.aca-status-card{margin:24px auto;max-width:560px;text-align:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 28px;display:flex;flex-direction:column;gap:10px;align-items:center;}
.aca-status-icon{font-size:2.4rem;margin:0;}
.aca-status-card h1{font-family:'DM Serif Display','Noto Serif TC',serif;font-size:1.4rem;color:var(--text);margin:0;}
.aca-status-sub{font-size:.84rem;color:var(--text-dim);line-height:1.6;margin:0;}
.aca-status-lesson{font-size:.76rem;color:var(--text-faint);margin:0;}
.aca-status-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center;}
.aca-dash{display:flex;flex-direction:column;gap:12px;}
.aca-dash-mile{display:flex;align-items:center;gap:10px;}
.aca-dash-mile-count{font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:700;color:var(--text-dim);white-space:nowrap;}
.aca-dash-mile .etai-meter{width:150px;height:6px;}
.aca-cta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.aca-done-pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:99px;padding:7px 13px;}
.aca-note{font-size:.73rem;color:var(--text-faint);}
.aca-map-phase{display:flex;flex-direction:column;gap:7px;}
.aca-phase-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.aca-phase-title{font-size:.78rem;font-weight:800;color:var(--text);}
.aca-phase-count{font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;color:var(--text-faint);}
.aca-chips{display:flex;flex-wrap:wrap;gap:8px;}
.aca-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;border:1px solid var(--border);font-size:.73rem;font-weight:600;color:var(--text-dim);background:var(--bg-soft);text-decoration:none;max-width:100%;transition:border-color .15s,transform .15s;}
.aca-chip:hover{border-color:var(--border-strong);transform:translateY(-1px);}
.aca-chip .n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:99px;font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:700;background:#fff;border:1px solid var(--border-strong);color:var(--text-dim);}
.aca-chip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px;}
.aca-chip-st{font-size:.7rem;}
.aca-chip.is-done{background:#ecfdf5;border-color:#a7f3d0;color:#047857;}
.aca-chip.is-done .n{background:#047857;border-color:#047857;color:#fff;}
.aca-chip.is-current{background:var(--primary-soft);border-color:#c7cbfb;color:var(--primary-dark);}
.aca-chip.is-current .n{border-color:var(--primary);color:var(--primary-dark);}
.aca-chip.is-soon{color:var(--text-dim);}
.aca-chip.is-locked{color:var(--text-faint);opacity:.72;}
.aca-chip.is-build{cursor:pointer;font-family:inherit;background:#ecfdf5;border-color:#a7f3d0;color:#047857;padding:8px 14px;}
.aca-chip.is-build:hover{border-color:#047857;}
.aca-chip.is-build .n{background:#047857;border-color:#047857;color:#fff;}
.aca-chip.is-build .aca-chip-title{color:#047857;font-weight:800;}
.aca-chip.is-hands-on{cursor:pointer;font-family:inherit;text-decoration:none;background:#eef2ff;border-color:#c7d2fe;color:#4338ca;padding:8px 14px;}
.aca-chip.is-hands-on:hover{border-color:#4f46e5;}
.aca-chip.is-hands-on .n{background:#4f46e5;border-color:#4f46e5;color:#fff;}
.aca-chip.is-hands-on .aca-chip-hint{color:#4f46e5;}
.aca-chip.is-hands-on .aca-chip-title{color:#3730a3;font-weight:800;}
.aca-chip.has-hands-on .aca-chip-tool{font-size:.68rem;line-height:1;}
.aca-chip-next{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:.62rem;font-weight:800;line-height:1;padding:4px 9px;border-radius:99px;background:#fff;border:1px solid #a7f3d0;color:#047857;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s;}
.aca-chip-next:hover{border-color:#047857;background:#ecfdf5;}
.aca-hands-on-body{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.aca-hands-on-target,.aca-hands-on-done{font-size:.74rem;font-weight:700;border-radius:99px;padding:6px 12px;}
.aca-hands-on-target{color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);}
.aca-hands-on-done{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;}
.aca-hands-on-note{margin:10px 0 0;font-size:.73rem;color:var(--text-faint);}
.aca-chip-body{display:flex;flex-direction:column;gap:2px;min-width:0;align-items:flex-start;}
.aca-chip-hint{font-size:.62rem;font-weight:700;color:#059669;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;}
.aca-field-label{display:block;font-size:.78rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;}
.aca-persona{display:flex;flex-direction:column;gap:18px;}
.aca-tone-grid input{position:absolute;opacity:0;pointer-events:none;}
.aca-tone-grid .tone-option{cursor:pointer;}
.aca-tone-grid .tone-option:has(input:checked){background:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px rgba(91,91,240,.28);}
.aca-tone-grid .tone-option:has(input:checked) .tone-label{color:#fff;font-weight:700;}
.aca-persona-text{display:flex;flex-direction:column;gap:6px;}
.aca-persona-text textarea{font-family:inherit;font-size:.84rem;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);padding:10px 12px;resize:vertical;line-height:1.6;}
.aca-persona-text textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.aca-persona-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.aca-char-count{font-family:'Space Grotesk',sans-serif;font-size:.7rem;color:var(--text-faint);}
.aca-quiz-note.is-ok{color:#047857;}
.aca-task-steps{list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:0;}
.aca-task-steps li{font-size:.74rem;font-weight:700;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);border-radius:99px;padding:6px 12px;}
.aca-task-steps li.is-done{color:#047857;background:#ecfdf5;border-color:#a7f3d0;}
.aca-graph{display:grid;grid-template-columns:1fr 300px;gap:12px;}
.aca-graph-canvas{position:relative;height:420px;background:#0b1020;background-image:radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);background-size:24px 24px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.aca-graph-canvas .vg-canvas{cursor:grab;}
.aca-graph-legend{position:absolute;top:10px;left:12px;right:12px;z-index:2;pointer-events:none;}
.aca-graph-canvas .vg-hint{position:absolute;bottom:12px;left:12px;z-index:2;max-width:85%;font-size:.72rem;color:#cbd5e1;background:rgba(15,23,41,.7);padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);}
.aca-graph-canvas .vg-hint-sub{font-size:.68rem;color:rgba(203,213,225,.75);}
.aca-graph-detail{max-height:420px;overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px;}
.aca-demo-head{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.aca-demo-agent{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--primary-dark);background:var(--primary-soft);border:1px solid #c7cbfb;border-radius:99px;padding:6px 13px;}
.aca-demo-x{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;color:var(--text-faint);letter-spacing:.06em;}
.aca-demo-log{display:flex;flex-direction:column;gap:10px;max-height:340px;min-height:120px;overflow-y:auto;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px;}
.aca-msg{display:flex;gap:9px;align-items:flex-start;animation:acaPop .35s ease;}
.aca-msg .ava{width:30px;height:30px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-size:15px;background:#fff;border:1px solid var(--border-strong);flex:0 0 auto;}
.aca-msg-body{display:flex;flex-direction:column;gap:3px;max-width:82%;}
.aca-msg .who{font-size:.66rem;font-weight:800;color:var(--text-faint);}
.aca-msg .txt{font-size:.8rem;background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 11px;color:var(--text);line-height:1.55;}
.aca-msg.is-user{flex-direction:row-reverse;}
.aca-msg.is-user .aca-msg-body{align-items:flex-end;}
.aca-msg.is-user .txt{background:var(--primary-soft);border-color:#c7cbfb;}
.aca-msg.is-b .ava{background:#ecfeff;border-color:#a5f3fc;}
.aca-msg.is-tool .txt{font-size:.75rem;font-style:italic;color:#92400e;background:#fffbeb;border-color:#fde68a;}
.aca-done-phase{font-size:.84rem;font-weight:800;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:99px;padding:7px 15px;margin:4px 0 0;}
@media (max-width:720px){
  .aca-les-head,.aca-stepper,.aca-block,.aca-done,.aca-done-banner{margin-left:0;margin-right:0;}
  .aca-chip-title{max-width:120px;}
  .aca-chip-hint{max-width:150px;}
  .aca-q-bubble{font-size:10px;}
  .aca-node .aca-node-emoji{font-size:20px;}
  .aca-graph{grid-template-columns:1fr;}
  .aca-graph-canvas{height:320px;}
  .aca-graph-detail{max-height:220px;}
  .aca-msg-body{max-width:90%;}
  .aca-tone-grid{grid-template-columns:repeat(5,1fr);}
}

/* ThinkTank Academy certificate tiers */
.cert-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;}
.cert-rail.is-public{margin-top:14px;}
.cert-tier{position:relative;border-radius:12px;padding:16px;border:1px solid var(--border);background:var(--bg-elev);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;}
.cert-tier summary,.cert-tier-face{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;}
.cert-tier summary::-webkit-details-marker,.cert-tier-face::-webkit-details-marker{display:none;}
.cert-tier:not(.is-earned) .cert-tier-face{cursor:default;}
.cert-tier.is-earned:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.cert-medal{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25);}
.cert-tier-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.cert-tier-lv{font-family:'IBM Plex Mono',monospace;font-size:.64rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);}
.cert-tier-name{font-weight:800;font-size:.95rem;color:var(--text);}
.cert-tier-state{font-size:.72rem;font-weight:600;}
.cert-chevron{margin-left:auto;color:var(--text-faint);font-style:normal;transition:transform .18s ease;}
details.cert-tier[open] .cert-chevron{transform:rotate(180deg);}
.cert-tier.t1 .cert-medal{background:linear-gradient(135deg,#D99058,#B87333 55%,#7E4E24);box-shadow:0 2px 8px rgba(184,115,51,.4);}
.cert-tier.t1 .cert-tier-state{color:#B87333;}
.cert-tier.t1.is-earned{border-color:#D99058;background:linear-gradient(180deg,#FDF6EF,var(--bg-elev));}
.cert-tier.t2 .cert-medal{background:linear-gradient(135deg,#E8C874,#D8B357 45%,#B9871E);box-shadow:0 2px 8px rgba(185,135,30,.4);}
.cert-tier.t2 .cert-tier-state{color:#B9871E;}
.cert-tier.t2.is-earned{border-color:#D8B357;background:linear-gradient(180deg,#FBF4E0,var(--bg-elev));}
.cert-tier.t3 .cert-medal{background:linear-gradient(135deg,#F2F4F8,#C9D2DE 45%,#8E9BAB);box-shadow:0 2px 8px rgba(90,105,125,.45);color:#2A3240;}
.cert-tier.t3 .cert-tier-state{color:#5E7186;}
.cert-tier.t3.is-earned{border-color:#AEBEBC;background:radial-gradient(ellipse at 85% -20%,rgba(120,215,221,.16),transparent 55%),radial-gradient(ellipse at 10% 120%,rgba(185,125,145,.14),transparent 50%),linear-gradient(180deg,#161B26,var(--bg-elev) 78%);}
.cert-tier.t3.is-earned .cert-tier-name{color:#0E1219;}
.cert-tier.t3.is-earned .cert-detail-title{color:#10151f;}
.cert-tier.is-locked,.cert-tier.is-open{border-style:dashed;}
.cert-tier.is-locked{opacity:.6;filter:saturate(.35);}
.cert-tier.is-open .cert-medal{background:var(--border-strong);color:#fff;}
.cert-detail{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-strong);}
.cert-detail-title{font-family:var(--vd-serif,'DM Serif Display',serif);font-size:.98rem;font-weight:700;color:var(--text);margin-bottom:2px;}
.cert-detail-title-local{font-size:.8rem;color:var(--text-dim);margin-bottom:8px;}
.cert-facts{display:grid;gap:6px;margin:0 0 10px;}
.cert-facts>div{display:flex;justify-content:space-between;gap:10px;font-size:.78rem;}
.cert-facts dt{color:var(--text-faint);}
.cert-facts dd{margin:0;font-weight:600;color:var(--text);}
.cert-no{font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;}
.cert-proof-t{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0 0 6px;}
.cert-proof{margin:0;padding:0;list-style:none;display:grid;gap:4px;}
.cert-proof li{font-size:.76rem;color:var(--text-dim);padding-left:16px;position:relative;}
.cert-proof li::before{content:'✓';position:absolute;left:0;color:#B9871E;font-weight:700;}
.cert-progress{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-strong);display:grid;gap:6px;}
.cert-meter-row{display:flex;align-items:center;gap:10px;}
.cert-meter-count{font-family:'IBM Plex Mono',monospace;font-size:.78rem;font-weight:600;color:var(--text);white-space:nowrap;}
.cert-meter{flex:1;height:6px;border-radius:99px;background:var(--border);overflow:hidden;display:inline-block;}
.cert-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#D8B357,#B9871E);transition:width .3s ease;}
.cert-mix{font-size:.74rem;color:var(--text-dim);margin:0;}
.cert-remain{font-size:.74rem;font-weight:600;color:#B9871E;margin:0;}
.cert-req{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:3px;}
.cert-req li{font-size:.7rem;color:var(--text-faint);padding-left:14px;position:relative;}
.cert-req li::before{content:'·';position:absolute;left:2px;font-weight:800;}
.cert-next{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft,#f6f7fb);}
.cert-next-label{font-size:.8rem;font-weight:600;color:var(--text);}
.cert-none{margin:14px 0 0;font-size:.8rem;color:var(--text-faint);}
.cert-degraded{margin:10px 0 0;font-size:.72rem;color:var(--text-faint);}
.cert-chip{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 14px;border-radius:99px;font-size:.78rem;font-weight:800;color:#fff;letter-spacing:.02em;}
.cert-chip.t1{background:linear-gradient(120deg,#D99058,#B87333);}
.cert-chip.t2{background:linear-gradient(120deg,#D8B357,#B9871E);}
.cert-chip.t3{background:linear-gradient(120deg,#2A3240,#4A5A72);border:1px solid #C9D2DE;}
.member-hero{padding:34px 0 18px;}
.member-kicker{font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#B9871E;margin-bottom:6px;}
.member-name{font-size:2rem;margin:0 0 4px;}
.member-since{font-size:.8rem;color:var(--text-faint);margin:0;}
.member-cert-module{max-width:980px;}
@media (max-width:900px){.cert-rail{grid-template-columns:1fr;}}

/* --- doctors thinktank academy (dashboard) --- */
#dashGrid .dash-main-top{order:1;}
#dashGrid .ws-side{order:2;}
#dashGrid .dta-card{grid-column:1;justify-self:center;width:100%;max-width:100%;min-width:0;scroll-margin-top:84px;}
#dashGrid .dash-main-lower{order:4;grid-column:1;}
.dta-card{border-color:var(--teal-dim);box-shadow:var(--shadow-md);}
.dta-title{font-size:1.2rem;display:flex;align-items:center;gap:10px;}
.dta-logo{display:block;flex:0 0 auto;width:44px;height:44px;max-width:100%;object-fit:contain;border-radius:8px;}
.dta-name{min-width:0;overflow-wrap:anywhere;}
.dta-wrap{display:flex;flex-direction:column;gap:18px;}
.dta-cert{background:linear-gradient(180deg,#fdfaf0,#fffdf7);border:1px solid #ead9a8;border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:7px;}
.dta-cert-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.dta-cert-label{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8a6a1f;}
.dta-cert-tiers{display:flex;gap:6px;flex-wrap:wrap;}
.dta-tier{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:99px;border:1px solid var(--border);color:var(--text-faint);background:var(--bg-soft);}
.dta-tier.is-earned{color:#fff;border-color:transparent;}
.dta-tier.t1.is-earned{background:linear-gradient(120deg,#D99058,#B87333);}
.dta-tier.t2.is-earned{background:linear-gradient(120deg,#D8B357,#B9871E);}
.dta-tier.t3.is-earned{background:linear-gradient(120deg,#2A3240,#4A5A72);}
.dta-tier.is-now{color:#B9871E;border-color:#ead9a8;background:#fdf6e3;}
.dta-tier.is-locked{opacity:.55;}
.dta-cert-meter{display:flex;align-items:center;gap:10px;}
.dta-cert-count{font-family:'IBM Plex Mono',monospace;font-size:.78rem;font-weight:600;color:var(--text);white-space:nowrap;}
.dta-cert-meter .cert-meter{flex:1;height:8px;}
.dta-cert-mix{font-size:.74rem;color:var(--text-dim);margin:0;}
.dta-cert-remain{font-size:.82rem;font-weight:800;color:#8a6a1f;margin:0;}
.dta-cert-degraded{font-size:.72rem;color:var(--text-faint);margin:0;}
.dta-cert-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.dta-cert-mine summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.74rem;font-weight:700;color:var(--text-dim);list-style:none;}
.dta-cert-mine summary::-webkit-details-marker{display:none;}
.dta-cert-mine summary:hover{color:var(--teal-ink);}
.dta-cert-mine ul{margin:8px 0 0;padding:10px 12px;list-style:none;display:grid;gap:4px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;}
.dta-cert-mine li{font-size:.72rem;color:var(--text-dim);}
.dta-sec{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:84px;}
.dta-sec-fund{border-color:#c7cbfb;background:linear-gradient(180deg,var(--primary-soft),var(--bg-elev) 46%);}
.dta-sec-elect{border-style:dashed;background:transparent;}
.dta-sec-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.dta-sec-title{font-size:.95rem;font-weight:800;color:var(--text);display:inline-flex;align-items:center;gap:8px;margin:0;}
.dta-sec-dot{font-size:.8rem;line-height:1;}
.dta-sec-fund .dta-sec-dot{color:var(--primary);}
.dta-sec-elect .dta-sec-dot{color:var(--text-faint);}
.dta-start-here{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:800;color:var(--primary-dark);background:var(--bg-elev);border:1px solid #c7cbfb;border-radius:99px;padding:4px 10px;}
.dta-sec-count{margin-left:auto;font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;color:var(--text-faint);white-space:nowrap;}
.dta-sec-sub{font-size:.76rem;color:var(--text-dim);margin:0;}
.dta-sec-fund .dta-sec-sub{color:var(--primary-dark);}
.dta-sec-elect .aca-phase-title{color:var(--text-dim);}
.dta-sec-elect .aca-chip{opacity:.85;}
.dta-sec-elect .aca-chip.is-current{opacity:1;}
@media(max-width:1180px){
  #dashGrid .dash-main-top{order:1;}
  #dashGrid .dta-card{grid-column:auto;justify-self:center;width:100%;max-width:100%;min-width:0;}
  #dashGrid .dash-main-lower{order:3;}
  #dashGrid .ws-side{order:4;}
  .dta-card{scroll-margin-top:70px;}
}
@media(max-width:640px){
  .dta-cert-head{flex-direction:column;align-items:flex-start;}
  .dta-sec{padding:12px;}
  .dta-title{font-size:1.08rem;}
  .dta-logo{width:36px;height:36px;}
}

/* CONTACT PAGE — pearl editorial split (teal / gold brand language) */
body.page-contact{background:#FCFCF8;}
body.page-contact #page{padding:168px 0 128px;}
.contact-ed{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(44px,6vw,92px);align-items:start;}
.contact-ed-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#B9871E;margin-bottom:16px;}
.contact-ed-title{font-family:'DM Serif Display','Noto Serif TC',serif;font-weight:500;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.12;letter-spacing:-.01em;color:#173638;margin:0 0 20px;}
.contact-ed-rule{display:block;width:72px;height:2px;background:linear-gradient(90deg,#D8B357,#B9871E);margin-bottom:24px;}
.contact-ed-lede{font-size:1.02rem;line-height:1.85;color:#366466;max-width:46ch;margin:0;}
.contact-ed-panel{border-top:1px solid #D8B357;border-left:1px solid rgba(216,179,87,.45);padding-left:clamp(28px,4vw,52px);}
.contact-ed-item{display:flex;align-items:center;gap:20px;padding:26px 10px;border-bottom:1px solid #D8B357;border-radius:4px;transition:background-color .25s ease,padding .25s ease;}
.contact-ed-item:hover{background:rgba(216,179,87,.08);}
.contact-ed-num{font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.14em;color:#B9871E;flex:0 0 auto;}
.contact-ed-fields{min-width:0;flex:1;}
.contact-ed-label{font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#B9871E;margin:0 0 8px;}
.contact-ed-val{font-family:'IBM Plex Mono',monospace;font-size:.95rem;font-weight:500;letter-spacing:.01em;color:#173F40;overflow-wrap:anywhere;transition:color .2s ease;}
a.contact-ed-val:hover{color:#B9871E;}
.contact-ed-arrow{flex:0 0 auto;font-family:'IBM Plex Mono',monospace;font-size:1rem;color:#AEBEBC;transition:color .2s ease,transform .2s ease;}
.contact-ed-item:hover .contact-ed-arrow{color:#B9871E;transform:translateX(4px);}
@media(max-width:880px){
  body.page-contact #page{padding:150px 0 96px;}
  .contact-ed{grid-template-columns:1fr;gap:44px;}
  .contact-ed-lede{max-width:100%;}
  .contact-ed-panel{border-left:none;padding-left:0;}
  .contact-ed-item{padding:22px 6px;gap:14px;}
}

.pic3-dash-card{padding:18px 20px;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;}
.pic3-dash-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.pic3-dash-head h3{font-size:.95rem;margin:0;}
.pic3-dash-head p{font-size:.74rem;color:var(--text-faint);margin:2px 0 0;}
.pic3-dash-addr{font-family:'Space Grotesk',monospace;font-size:.72rem;word-break:break-all;}
.pic3-dash-balance{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;color:var(--text);}
.pic3-dash-balance small{font-size:.8rem;font-weight:600;color:var(--text-dim);margin-left:4px;}
.pic3-dash-note{font-size:.78rem;color:var(--text-faint);line-height:1.6;margin:8px 0 0;}
.pic3-dash-note strong{color:var(--text);}

/* --- master prompt generator --- */
.mpg-hero{display:flex;align-items:center;gap:14px;background:linear-gradient(120deg,var(--primary-soft),#fff 70%);border:1px solid var(--border-strong);border-radius:14px;padding:16px 18px;margin-bottom:14px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);}
.mpg-hero:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md,0 8px 20px rgba(20,20,60,.08));}
.mpg-hero:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.mpg-hero-icn{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;background:var(--primary);color:#fff;border-radius:12px;box-shadow:0 6px 14px rgba(91,91,240,.35);}
.mpg-hero-txt{flex:1;min-width:0;}
.mpg-hero-kicker{font-family:'Space Grotesk',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:3px;}
.mpg-hero-title{font-family:'DM Serif Display',serif;font-size:1.15rem;color:var(--text);line-height:1.2;margin-bottom:3px;}
.mpg-hero-sub{font-size:.78rem;color:var(--text-dim);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.mpg-hero-cta{flex:0 0 auto;font-weight:700;font-size:.82rem;color:var(--primary);white-space:nowrap;}
.mpg-panel{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow-y:auto;padding-right:4px;}
.mpg-h{font-size:.92rem;font-weight:700;color:var(--text);margin:0;}
.mpg-lbl{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:10px 0 5px;}
.mpg-goal,.mpg-other,.mpg-title{width:100%;border:1px solid var(--border-strong);border-radius:10px;padding:9px 11px;font-size:.85rem;font-family:inherit;background:var(--bg-elev);color:var(--text);}
.mpg-goal:focus,.mpg-other:focus,.mpg-title:focus{outline:none;border-color:var(--primary);}
.mpg-plats{display:flex;flex-wrap:wrap;gap:8px;}
.mpg-plat{border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-dim);border-radius:100px;padding:6px 14px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;}
.mpg-plat:hover{border-color:var(--primary);color:var(--primary);}
.mpg-plat.on{background:var(--primary);border-color:var(--primary);color:#fff;}
.mpg-other{margin-top:8px;}
.mpg-gen-btn{margin-top:12px;}
.mpg-note{font-size:.72rem;color:var(--text-faint);line-height:1.55;margin:8px 0 0;}
.mpg-msg{font-size:.78rem;color:var(--primary);background:var(--primary-soft);border-radius:8px;padding:8px 12px;}
.mpg-msg.bad{color:#b91c1c;background:#fee2e2;}
.mpg-chat-head{display:flex;align-items:center;gap:8px;}
.mpg-chat-meta{flex:1;min-width:0;display:flex;align-items:center;gap:8px;}
.mpg-chip{flex:0 0 auto;font-size:.68rem;font-weight:700;letter-spacing:.04em;background:var(--primary);color:#fff;border-radius:100px;padding:3px 10px;}
.mpg-chip-goal{font-size:.76rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mpg-cmsgs{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding:2px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);padding:10px;}
.mpg-cmsg{max-width:92%;border-radius:12px;padding:9px 12px;font-size:.8rem;line-height:1.55;}
.mpg-cmsg.me{align-self:flex-end;background:var(--primary);color:#fff;}
.mpg-cmsg:not(.me){align-self:flex-start;background:var(--bg-elev);border:1px solid var(--border);color:var(--text);}
.mpg-cmsg-body>*:first-child{margin-top:0;}
.mpg-cmsg-body>*:last-child{margin-bottom:0;}
.mpg-cmsg-body pre{background:rgba(91,91,240,.08);border:1px solid var(--border);border-radius:8px;padding:8px 10px;white-space:pre-wrap;word-break:break-word;font-size:.72rem;max-height:220px;overflow-y:auto;}
.mpg-cmsg.thinking{align-self:flex-start;color:var(--text-dim);background:var(--bg-elev);border:1px dashed var(--border-strong);}
.mpg-use{margin-top:6px;}
.mpg-cform{display:flex;gap:8px;}
.mpg-cform input{flex:1;border:1px solid var(--border-strong);border-radius:10px;padding:9px 11px;font-size:.85rem;font-family:inherit;background:var(--bg-elev);color:var(--text);}
.mpg-cform input:focus{outline:none;border-color:var(--primary);}
.mpg-draft-card{border:1px solid var(--primary);border-radius:14px;padding:14px;background:linear-gradient(150deg,var(--primary-soft),var(--bg-elev) 60%);}
.mpg-draft-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.mpg-draft-title{font-size:.88rem;font-weight:700;color:var(--text);margin:0;}
.mpg-draft-tools{display:flex;gap:6px;}
.mpg-draft-ta{width:100%;margin-top:4px;border:1px solid var(--border-strong);border-radius:10px;padding:10px 11px;font-size:.74rem;font-family:'IBM Plex Mono',monospace;line-height:1.6;background:var(--bg-elev);color:var(--text);white-space:pre-wrap;resize:vertical;}
.mpg-stamp-btn{margin-top:8px;}
.mpg-stamped{border:1px solid var(--border-strong);border-radius:14px;padding:14px;background:var(--bg-elev);}
.mpg-stamped-head{display:flex;align-items:center;justify-content:space-between;}
.mpg-stamped-sub{font-size:.78rem;color:var(--text-dim);line-height:1.55;margin:8px 0 10px;}
.mpg-proof-meta{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-soft);}
.mpg-meta-row{display:flex;align-items:baseline;gap:10px;padding:7px 12px;font-size:.76rem;border-bottom:1px solid var(--border);}
.mpg-meta-row:last-child{border-bottom:none;}
.mpg-meta-row>span{flex:0 0 auto;min-width:92px;font-weight:700;color:var(--text-dim);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;}
.mpg-meta-row>b{color:var(--text);word-break:break-word;}
.mpg-meta-row code{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--primary-dark);word-break:break-all;}
.mpg-proof-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.mpg-stamp-badge{display:inline-flex;align-items:center;gap:7px;font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-dark);border:1.5px solid var(--primary);border-radius:100px;padding:5px 14px;background:#fff;}
.mpg-stamp-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.mpg-lib-h{margin-top:4px;}
.mpg-lib-sub{font-size:.72rem;color:var(--text-faint);margin:0 0 8px;}
.mpg-empty{font-size:.76rem;color:var(--text-faint);margin:0;}
.mpg-lib-list{display:flex;flex-direction:column;gap:8px;}
.mpg-lib-item{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--bg-elev);}
.mpg-lib-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.mpg-lib-title{font-size:.8rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mpg-lib-top .mpg-chip{font-size:.6rem;padding:2px 9px;}
.mpg-lib-meta{display:flex;align-items:center;gap:10px;margin-top:4px;}
.mpg-lib-id{font-family:'IBM Plex Mono',monospace;font-size:.66rem;color:var(--text-dim);}
.mpg-lib-date{font-size:.68rem;color:var(--text-faint);}
.mpg-lib-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}

/* --- master prompt public proof page --- */
#mpgProof{padding:48px 0 72px;}
.mpg-proof-wrap{max-width:880px;margin:0 auto;padding:0 24px;}
.mpg-proof-card{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:20px;padding:36px 40px;box-shadow:var(--shadow-md,0 8px 24px rgba(20,20,60,.08));}
.mpg-proof-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.mpg-proof-brand{display:flex;align-items:center;gap:16px;}
.mpg-proof-brand img{height:52px;width:auto;}
.mpg-proof-kicker{font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin:0 0 4px;}
.mpg-proof-title{font-family:'DM Serif Display',serif;font-size:1.6rem;color:var(--text);margin:0;line-height:1.25;}
.mpg-proof-lead{font-size:.86rem;color:var(--text-dim);line-height:1.7;margin:18px 0 16px;max-width:640px;}
.mpg-proof-meta{margin:0 0 16px;}
.mpg-proof-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;}
.mpg-proof-body-title{font-family:'Space Grotesk',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0 0 10px;}
.mpg-proof-prompt{white-space:pre-wrap;word-break:break-word;font-family:'IBM Plex Mono',monospace;font-size:.76rem;line-height:1.7;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin:0;max-height:560px;overflow-y:auto;}
.mpg-proof-verify{font-size:.7rem;color:var(--text-faint);margin:10px 0 0;}

/* --- master prompt certificate --- */
#mpgCert{padding:24px 0 48px;}
.mpg-cert-toolbar{display:flex;justify-content:flex-end;gap:10px;max-width:1120px;margin:0 auto 16px;padding:0 24px;}
.mpg-cert-sheet{max-width:1120px;margin:0 auto;padding:0 24px;}
.mpg-cert-frame{position:relative;background:#fff;border:2px solid var(--primary);outline:1px solid var(--border-strong);outline-offset:6px;border-radius:6px;padding:52px 64px 40px;box-shadow:var(--shadow-md,0 8px 24px rgba(20,20,60,.08));}
.mpg-cert-head{text-align:center;border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:26px;}
.mpg-cert-logo{height:64px;width:auto;margin-bottom:12px;}
.mpg-cert-kicker{font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--primary);margin:0 0 8px;}
.mpg-cert-title{font-family:'DM Serif Display',serif;font-size:2.1rem;color:var(--text);margin:0 0 8px;}
.mpg-cert-sub{font-size:.84rem;color:var(--text-dim);margin:0;}
.mpg-cert-prompt-title{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--primary-dark);margin:0 0 4px;text-align:center;}
.mpg-cert-goal{text-align:center;font-size:.8rem;color:var(--text-dim);margin:0 0 22px;}
.mpg-cert-meta{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;margin-bottom:24px;}
.mpg-cert-cell{border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--bg-soft);}
.mpg-cert-cell-wide{grid-column:span 2;}
.mpg-cert-cell>span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;}
.mpg-cert-cell>b{font-size:.82rem;color:var(--text);word-break:break-word;}
.mpg-cert-hash{font-family:'IBM Plex Mono',monospace;font-size:.66rem !important;word-break:break-all;}
.mpg-cert-body{margin-bottom:26px;}
.mpg-cert-body-label{font-family:'Space Grotesk',sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px;}
.mpg-cert-excerpt{white-space:pre-wrap;word-break:break-word;font-family:'IBM Plex Mono',monospace;font-size:.68rem;line-height:1.65;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin:0;max-height:280px;overflow:hidden;}
.mpg-cert-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border-top:1px solid var(--border);padding-top:20px;}
.mpg-cert-brand{font-family:'Space Grotesk',sans-serif;font-size:.66rem;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase;word-break:break-all;}
.mpg-cert-seal{position:relative;width:112px;height:112px;flex:0 0 auto;border-radius:50%;border:2.5px solid var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--primary-dark);transform:rotate(-8deg);opacity:.9;}
.mpg-cert-seal::before{content:'';position:absolute;inset:7px;border-radius:50%;border:1px dashed var(--primary);}
.mpg-seal-top{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.18em;}
.mpg-seal-mid{font-size:.8rem;font-weight:800;letter-spacing:.1em;}
.mpg-seal-sub{font-family:'Space Grotesk',sans-serif;font-size:.5rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
@media print{
  body{background:#fff;}
  .mpg-cert-toolbar,#mpgNavbar,footer,.nav-actions,#navbar{display:none !important;}
  .mpg-cert-sheet{max-width:none;padding:0;}
  .mpg-cert-frame{box-shadow:none;border-width:2px;padding:40px 48px 32px;}
  .mpg-cert-excerpt{max-height:none;overflow:visible;}
}
@media (max-width:900px){
  .mpg-cert-frame{padding:32px 24px;}
  .mpg-cert-meta{grid-template-columns:1fr 1fr;}
  .mpg-proof-card{padding:24px 20px;}
  .mpg-hero-sub{display:none;}
}

/* DTTAC membership application form */
#dttac-page{max-width:960px;margin:0 auto;}
.dttac-head h1{font-size:1.5rem;font-weight:800;margin:0 0 4px;}
.dttac-sub{color:var(--text-dim);font-size:.9rem;margin:0 0 12px;}
.dttac-confidential{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:5px 12px;margin-bottom:10px;}
.dttac-hint{font-size:.8rem;color:var(--text-dim);line-height:1.6;margin:0 0 14px;}
.dttac-banner{display:flex;flex-direction:column;gap:6px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin-bottom:16px;}
.dttac-banner-row{font-size:.86rem;font-weight:600;}
.dttac-banner-row.dttac-st-pending{color:#b45309;}
.dttac-banner-row.dttac-st-approved{color:var(--green,#10b981);}
.dttac-banner-row.dttac-st-rejected{color:#dc2626;}
.dttac-banner-note{font-size:.82rem;color:var(--text-dim);white-space:pre-wrap;}
.dttac-banner-date{font-size:.74rem;color:var(--text-faint);}
.dttac-form fieldset{border:none;padding:0;margin:0;}
.dttac-form fieldset:disabled{opacity:.75;}
.dttac-sec{font-size:1rem;font-weight:800;margin:0 0 6px;}
.dttac-sec-note{font-size:.78rem;color:var(--text-dim);line-height:1.6;margin:0 0 14px;}
.dttac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.dttac-field{display:flex;flex-direction:column;gap:5px;font-size:.76rem;font-weight:600;color:var(--text-dim);}
.dttac-field-wide{margin-top:12px;width:100%;}
.dttac-field input,.dttac-field select,.dttac-field textarea{font-family:inherit;font-size:.85rem;color:var(--text);background:var(--bg);border:1px solid var(--border-strong,#d4d4d8);border-radius:9px;padding:9px 11px;width:100%;box-sizing:border-box;}
.dttac-field textarea{resize:vertical;line-height:1.55;}
.dttac-field input:focus,.dttac-field select:focus,.dttac-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft,rgba(91,91,240,.15));}
.dttac-radios{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;}
.dttac-radio,.dttac-check{display:flex;align-items:flex-start;gap:8px;font-size:.84rem;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:10px 12px;cursor:pointer;}
.dttac-radio:hover,.dttac-check:hover{border-color:var(--primary);}
.dttac-radio input,.dttac-check input{margin-top:2px;accent-color:var(--primary);}
.dttac-check{margin-bottom:8px;font-weight:600;}
.dttac-docs{display:flex;flex-direction:column;gap:10px;}
.dttac-doc{display:flex;flex-direction:column;gap:5px;background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:10px 12px;}
.dttac-doc-label{font-size:.8rem;font-weight:600;color:var(--text);}
.dttac-doc input[type=file]{font-size:.76rem;color:var(--text-faint);}
.dttac-doc-have{font-size:.76rem;color:var(--text-dim);}
.dttac-doc-chip{display:inline-flex;align-items:center;gap:3px;margin-right:6px;}
.dttac-doc-chip a{color:var(--primary);text-decoration:none;font-weight:600;}
.dttac-doc-chip button{border:none;background:var(--bg-soft);color:var(--text-faint);cursor:pointer;font-size:.68rem;padding:0 2px;}
.dttac-doc-chip button:hover{color:#dc2626;}
.dttac-fees{display:flex;flex-direction:column;gap:10px;}
.dttac-fee{display:grid;grid-template-columns:1fr auto;gap:4px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;padding:10px 12px;}
.dttac-fee-name{font-size:.82rem;font-weight:700;}
.dttac-fee-amt{font-size:.9rem;font-weight:800;color:#b45309;}
.dttac-fee-note{grid-column:1/-1;font-size:.74rem;color:var(--text-dim);line-height:1.5;}
.dttac-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap;}
.dttac-msg{font-size:.8rem;color:var(--green,#10b981);margin-right:auto;}
.dttac-msg-err{color:#dc2626;font-weight:600;}
.dttac-admin-detail{padding:10px 4px;}
.dttac-admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;}
.dttac-admin-cols b{display:block;font-size:.78rem;margin:10px 0 6px;color:var(--text);}
.dttac-admin-cols b:first-child{margin-top:0;}
.dttac-admin-dl{margin:0;}
.dttac-admin-dl dt{font-size:.72rem;font-weight:700;color:var(--text-dim);margin-top:8px;}
.dttac-admin-dl dd{margin:2px 0 0;font-size:.8rem;color:var(--text);white-space:pre-wrap;line-height:1.55;}
.dttac-admin-note{font-size:.78rem;color:var(--text);line-height:1.7;margin:4px 0 0;}
@media(max-width:760px){.dttac-admin-cols{grid-template-columns:1fr;}.dttac-fee{grid-template-columns:1fr;}}
