
:root{
  --bg:#060d0b;
  --bg-2:#08110f;
  --bg-3:#0b1512;
  --surface:rgba(255,255,255,.045);
  --surface-2:rgba(255,255,255,.06);
  --surface-3:rgba(255,255,255,.03);
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.06);
  --text:#f4f7f5;
  --muted:#9cb0aa;
  --soft:#d7e4de;
  --accent:#99ecab;
  --accent-2:#67d48f;
  --accent-soft:rgba(153,236,171,.10);
  --accent-line:rgba(153,236,171,.20);
  --shadow:0 28px 80px rgba(0,0,0,.28);
  --shadow-soft:0 16px 42px rgba(0,0,0,.18);
  --radius:28px;
}
html[data-theme="light"]{
  --bg:#f4f8f5;
  --bg-2:#eef5f0;
  --bg-3:#ffffff;
  --surface:rgba(255,255,255,.88);
  --surface-2:rgba(255,255,255,.95);
  --surface-3:rgba(247,251,248,.92);
  --line:rgba(11,22,18,.09);
  --line-2:rgba(11,22,18,.06);
  --text:#0d1915;
  --muted:#5f736d;
  --soft:#22332d;
  --accent:#28b56f;
  --accent-2:#16935b;
  --accent-soft:rgba(40,181,111,.10);
  --accent-line:rgba(40,181,111,.18);
  --shadow:0 24px 70px rgba(22,39,32,.10);
  --shadow-soft:0 12px 34px rgba(22,39,32,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 10%, rgba(153,236,171,.12), transparent 24rem),
    radial-gradient(circle at 86% 6%, rgba(67,128,97,.11), transparent 25rem),
    linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 42%,var(--bg-3) 100%);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.shell{width:min(calc(100% - 34px),1180px);margin:auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;z-index:999;padding:8px 10px;border-radius:10px;background:#fff;color:#000}
.header{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-2);
  transition:background .25s ease,border-color .25s ease;
}
.header.scrolled{
  background:color-mix(in srgb, var(--bg) 90%, transparent);
  border-bottom-color:var(--line);
}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;letter-spacing:-.02em}
.brand img{
  width:40px;height:40px;border-radius:14px;object-fit:cover;background:var(--surface-2);
  border:1px solid var(--line);box-shadow:var(--shadow-soft)
}
.navlinks{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600;color:var(--muted)}
.navlinks a{position:relative}
.navlinks a:after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;border-radius:99px;
  background:var(--accent);transition:.2s ease
}
.navlinks a:hover{color:var(--text)}
.navlinks a:hover:after{width:100%}
.navtools{display:flex;align-items:center;gap:8px}
.tool-btn,.lang,.menu-btn{
  min-width:42px;height:42px;padding:0 14px;border-radius:14px;
  border:1px solid var(--line);background:var(--surface);
  display:grid;place-items:center;font-weight:700;color:var(--text);
}
.tool-btn:hover,.lang:hover,.menu-btn:hover{
  background:var(--surface-2);border-color:var(--accent-line)
}
.theme-icon{font-size:16px;line-height:1}
.menu-btn{display:none;cursor:pointer}
.mobilemenu{display:none;padding:10px 0 16px}
.mobilemenu.open{display:grid;gap:8px}
.mobilemenu a{
  padding:13px 14px;border-radius:14px;background:var(--surface);
  border:1px solid var(--line);color:var(--text);font-weight:600
}
.hero{padding:84px 0 70px;position:relative;overflow:hidden}
.simple-hero:before{
  content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  right:-90px;top:-110px;background:radial-gradient(circle,rgba(153,236,171,.12),rgba(153,236,171,0));
  filter:blur(18px);pointer-events:none;
}
.simple-hero .shell{position:relative;z-index:1}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border-radius:999px;
  background:var(--surface);border:1px solid var(--line);
  color:var(--text);font-size:12px;font-weight:700;backdrop-filter:blur(10px)
}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px var(--accent-soft)}
h1{
  margin:18px 0 18px;
  font-size:clamp(50px,6.4vw,80px);
  line-height:.95;
  letter-spacing:-.065em;
  font-weight:780;
  max-width:860px;
}
.lead{
  max-width:760px;
  font-size:19px;
  line-height:1.68;
  color:var(--muted)
}
.hero-actions,.product-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.btn{
  min-height:54px;padding:0 20px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;
  gap:8px;font-weight:700;border:1px solid transparent;transition:.2s ease;position:relative;overflow:hidden
}
.btn:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.22) 50%,transparent 80%);
  transform:translateX(-140%);transition:transform .65s ease;
}
.btn:hover:after{transform:translateX(140%)}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--text);color:var(--bg);box-shadow:var(--shadow-soft)}
.btn-primary:hover{background:color-mix(in srgb, var(--text) 92%, #fff)}
.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--text)}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.proof{
  min-height:94px;display:flex;flex-direction:column;justify-content:center;
  padding:16px 18px;border-radius:18px;background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:.22s ease
}
.proof:hover{transform:translateY(-3px);background:var(--surface-2);border-color:var(--accent-line)}
.proof b{display:block;font-size:18px;letter-spacing:-.02em}
.proof small{display:block;margin-top:4px;color:var(--muted)}
.section{padding:84px 0}
.page-anchor{scroll-margin-top:90px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}
.kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.title{font-size:clamp(36px,5vw,56px);line-height:1.04;letter-spacing:-.05em;margin:8px 0 0}
.section-head p{max-width:500px;font-size:16px;color:var(--muted);margin:0}
.statement,.product-card,.game-tile,.ai-box,.legal-card,.investor-callout,.status-row{
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.statement{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;
  padding:30px;border-radius:var(--radius);
  background:linear-gradient(180deg,var(--surface-2),var(--surface));
  border:1px solid var(--line);box-shadow:var(--shadow)
}
.statement:after{
  content:"";position:absolute;width:210px;height:210px;border-radius:50%;
  right:-70px;bottom:-120px;background:radial-gradient(circle,rgba(153,236,171,.10),rgba(153,236,171,0));
}
.statement strong{font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:-.045em}
.statement p{margin:0;color:var(--muted);font-size:17px}
.simple-products,.game-tiles,.legal-grid,.investor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.product-card,.game-tile,.legal-card,.investor-callout,.ai-box,.status-row,.mini-card{
  padding:26px;border-radius:28px;
  background:linear-gradient(180deg,var(--surface-2),var(--surface));
  border:1px solid var(--line);box-shadow:var(--shadow)
}
.product-card:hover,.game-tile:hover,.legal-card:hover,.ai-box:hover{transform:translateY(-4px);border-color:var(--accent-line)}
.product-card img{width:56px;height:56px;border-radius:18px}
.product-card h3,.game-tile h3{font-size:32px;margin:16px 0 8px;letter-spacing:-.045em}
.product-card h4{font-size:18px;color:var(--soft);margin:0 0 10px;font-weight:600}
.product-card p,.game-tile p,.ai-box p,.legal-card p,.legal-list small,.status-row small{color:var(--muted);margin:0;line-height:1.7}
.game-tile img{
  aspect-ratio:16/9;object-fit:cover;width:100%;
  border-radius:20px;border:1px solid var(--line);margin-bottom:18px
}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pill-row span{
  padding:7px 10px;border-radius:999px;background:var(--surface);
  border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--text)
}
.dark-section{
  background:
    radial-gradient(circle at 84% 12%, rgba(153,236,171,.10), transparent 22rem),
    linear-gradient(180deg,color-mix(in srgb,var(--bg) 98%, #0b1512), color-mix(in srgb,var(--bg-2) 98%, #101917));
  border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)
}
.ai-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ai-box{min-height:170px;display:flex;flex-direction:column;justify-content:flex-end}
.ai-box:before{
  content:"";width:34px;height:34px;border-radius:12px;margin-bottom:24px;
  background:linear-gradient(145deg,#c9f6cf,#76dca1);box-shadow:0 0 0 8px var(--accent-soft)
}
.ai-box:nth-child(2):before{border-radius:50%}
.ai-box:nth-child(3):before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:0}
.note{
  padding:16px 18px;border-radius:18px;
  background:var(--accent-soft);border:1px solid var(--accent-line);
  color:var(--text);font-size:14px;line-height:1.7
}
.legal-list{display:grid;gap:10px;margin-top:14px}
.legal-list div{
  padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)
}
.legal-list b{display:block}
.status-stack{display:grid;gap:12px}
.status-row{
  min-height:88px;display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:start;
  padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)
}
.status-row:hover{transform:translateY(-2px);border-color:var(--accent-line)}
.status-row .tag{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:800;
  background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line)
}
.status-row .tag.research{background:rgba(255,211,115,.10);color:#c89a22;border-color:rgba(255,211,115,.22)}
.investor-callout{
  display:grid;grid-template-columns:1.06fr .94fr;gap:24px;align-items:center;
  background:
    radial-gradient(circle at 90% 10%, rgba(153,236,171,.11), transparent 18rem),
    linear-gradient(160deg,color-mix(in srgb,var(--bg) 92%, #0b1613), color-mix(in srgb,var(--bg-2) 88%, #132622))
}
.cta-grid{display:grid;gap:10px}
.cta-box{padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.cta-box small{color:var(--muted)}
.subhero{padding:72px 0 38px}
.subhero h1{font-size:clamp(40px,5vw,60px)}
.subhero p{font-size:18px;max-width:760px;color:var(--muted)}
.mini-back{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-weight:600;color:var(--text)}
.footer{padding:48px 0 92px;border-top:1px solid var(--line-2);background:rgba(255,255,255,.015)}
.footer-grid{display:grid;grid-template-columns:1.4fr .6fr .6fr .6fr;gap:24px}
.footer h4{margin:0 0 10px}
.footer a{display:block;color:var(--muted);margin:8px 0;font-size:14px}
.footer a:hover{color:var(--text)}
.footnote{margin-top:28px;padding-top:16px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}
.mobile-cta{display:none}
.reveal{opacity:0;transform:translateY(18px)}
.reveal.show{opacity:1;transform:translateY(0);transition:all .55s cubic-bezier(.2,.8,.2,1)}
@media(max-width:980px){
  .navlinks{display:none}
  .menu-btn{display:grid}
  .proof-strip,.simple-products,.game-tiles,.legal-grid,.investor-grid,.ai-three,.footer-grid,.statement,.investor-callout{grid-template-columns:1fr}
}
@media(max-width:640px){
  body{padding-bottom:78px}
  .shell{width:min(calc(100% - 22px),1180px)}
  .nav{height:64px}
  .brand{font-size:15px}
  .brand img{width:37px;height:37px}
  .hero{padding:44px 0 56px}
  h1{font-size:43px;line-height:.98;letter-spacing:-.05em}
  .lead{font-size:17px}
  .proof{min-height:78px}
  .section{padding:64px 0}
  .section-head{display:block}
  .section-head p{margin-top:12px}
  .statement,.product-card,.game-tile,.legal-card,.investor-callout,.ai-box{padding:20px;border-radius:24px}
  .product-card h3,.game-tile h3{font-size:28px}
  .hero-actions,.product-actions{display:grid;grid-template-columns:1fr}
  .btn{width:100%}
  .status-row{grid-template-columns:1fr}
  .mobile-cta{
    position:fixed;left:9px;right:9px;bottom:9px;z-index:90;
    display:flex;align-items:center;justify-content:space-between;
    padding:8px 8px 8px 14px;border-radius:18px;
    background:color-mix(in srgb, var(--bg) 94%, transparent);border:1px solid var(--line);backdrop-filter:blur(18px);
    color:var(--text);box-shadow:0 20px 45px rgba(0,0,0,.18)
  }
  .mobile-cta small{display:block;color:var(--muted)}
  .mobile-cta a{padding:10px 14px;border-radius:12px;background:var(--text);color:var(--bg);font-weight:800}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}


/* ===== V3.0 — Douvi ID ===== */
.account-chip{
  min-height:42px;padding:0 14px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--surface);border:1px solid var(--line);
  color:var(--text);font-size:13px;font-weight:750;transition:.2s ease;
}
.account-chip:hover{border-color:var(--accent-line);background:var(--surface-2)}
.account-chip.is-signed-in:before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);
  margin-right:8px;box-shadow:0 0 0 5px var(--accent-soft);
}
.id-band{
  display:grid;grid-template-columns:.92fr 1.08fr;gap:22px;align-items:center;
  padding:30px;border-radius:30px;
  background:radial-gradient(circle at 88% 8%,rgba(153,236,171,.11),transparent 18rem),linear-gradient(155deg,var(--surface-2),var(--surface));
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.id-band h2{font-size:clamp(34px,4.8vw,54px);line-height:1.03;letter-spacing:-.05em;margin:8px 0 12px}
.id-band p{color:var(--muted);font-size:16px;line-height:1.65;max-width:610px}
.id-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.id-flow-card{padding:18px;border-radius:20px;background:var(--surface);border:1px solid var(--line);min-height:144px}
.id-flow-card .id-num{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--accent)}
.id-flow-card b{display:block;margin-top:20px;font-size:18px}
.id-flow-card small{display:block;margin-top:6px;color:var(--muted);line-height:1.5}
.id-page{padding:72px 0 90px}
.id-auth-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px}
.id-card{
  padding:28px;border-radius:28px;background:linear-gradient(180deg,var(--surface-2),var(--surface));
  border:1px solid var(--line);box-shadow:var(--shadow)
}
.id-card h1,.id-card h2{letter-spacing:-.045em}
.id-card h1{font-size:clamp(38px,5vw,58px);margin:12px 0}
.id-card h2{font-size:28px;margin:0 0 10px}
.id-card p{color:var(--muted);line-height:1.65}
.id-provider{
  width:100%;min-height:54px;padding:0 16px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid var(--line);background:var(--surface-2);
  color:var(--text);font-weight:750;cursor:pointer;
}
.id-provider:hover{border-color:var(--accent-line)}
.id-provider.is-disabled{opacity:.62}
.id-google{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:12px;font-weight:900}
.id-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:12px}
.id-divider:before,.id-divider:after{content:"";height:1px;background:var(--line);flex:1}
.id-form{display:grid;gap:10px}
.id-label{display:grid;gap:7px;font-size:13px;font-weight:700}
.id-input{width:100%;height:50px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:0 14px;outline:none}
.id-input:focus{border-color:var(--accent)}
.id-message{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--text);font-size:13px;line-height:1.55}
.id-note{font-size:12px!important;color:var(--muted)!important}
.id-benefits{display:grid;gap:10px;margin-top:18px}
.id-benefit{padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.id-benefit b{display:block}
.id-benefit small{display:block;margin-top:5px;color:var(--muted);line-height:1.55}
.id-profile-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.id-person{display:flex;align-items:center;gap:14px}
.id-avatar{
  width:64px;height:64px;border-radius:20px;display:grid;place-items:center;
  background:linear-gradient(145deg,#c9f6cf,#76dca1);color:#0a2a20;
  font-size:25px;font-weight:850;box-shadow:0 0 0 8px var(--accent-soft)
}
.id-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.id-product-list,.id-activity-list{display:grid;gap:10px;margin-top:14px}
.id-product-row,.id-activity{
  display:flex;align-items:center;gap:12px;padding:13px;border-radius:16px;
  background:var(--surface);border:1px solid var(--line)
}
.id-product-row img{width:42px;height:42px;border-radius:13px}
.id-product-row b,.id-activity b{display:block}
.id-product-row small,.id-activity small{display:block;margin-top:3px;color:var(--muted)}
.id-activity-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:850}
.id-empty{padding:16px;border-radius:16px;background:var(--surface);border:1px dashed var(--line);color:var(--muted)}
.id-state{
  display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,211,115,.10);
  color:#d4a63d;border:1px solid rgba(255,211,115,.20);font-size:10px;font-weight:850;letter-spacing:.05em
}
.id-game-callout{
  margin-top:18px;padding:16px;border-radius:18px;background:var(--accent-soft);
  border:1px solid var(--accent-line);display:flex;justify-content:space-between;align-items:center;gap:14px
}
.id-game-callout p{margin:0;color:var(--muted);font-size:13px}
.id-game-callout b{display:block;color:var(--text);margin-bottom:3px}
@media(max-width:980px){.id-band,.id-auth-grid,.id-profile-grid{grid-template-columns:1fr}}
@media(max-width:640px){
  .account-chip{min-width:42px;padding:0 10px;font-size:12px}
  .id-band,.id-card{padding:20px;border-radius:24px}
  .id-flow{grid-template-columns:1fr}
  .id-flow-card{min-height:auto}
  .id-game-callout{display:grid}
  .id-profile-head{align-items:flex-start}
}

/* ===== V3.1 — Real Auth ===== */
.id-message[data-kind="error"]{background:rgba(255,87,87,.09);border-color:rgba(255,87,87,.22)}
.id-message[data-kind="success"]{background:var(--accent-soft);border-color:var(--accent-line)}
.id-message[data-kind="warning"]{background:rgba(255,211,115,.10);border-color:rgba(255,211,115,.20)}
.id-account-meta{
  margin-top:14px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px
}
.id-account-meta span{color:var(--muted);overflow-wrap:anywhere}
.id-avatar.has-image{overflow:hidden;padding:0}
.id-avatar.has-image img{width:100%;height:100%;object-fit:cover}
.id-auth-spinner{
  width:42px;height:42px;border-radius:50%;margin:24px auto 0;
  border:3px solid var(--line);border-top-color:var(--accent);animation:douviSpin .8s linear infinite
}
@keyframes douviSpin{to{transform:rotate(360deg)}}


/* ===== V3.1.1 — Auth rate-limit UX ===== */
.id-form button:disabled,
.id-provider:disabled{
  opacity:.58;
  cursor:not-allowed;
  transform:none !important;
}
.id-form button.is-cooldown{
  background:var(--surface-2);
  color:var(--muted);
  border:1px solid var(--line);
}


/* ===== V3.2 — Production Auth UX ===== */
.production-auth-note{
  margin-top:16px;
  padding:12px 14px;
  border-radius:14px;
  background:var(--surface);
  border:1px solid var(--line);
}
.id-save-list{display:grid;gap:10px;margin-top:14px}
.id-save-row{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:12px;
  padding:14px;
  border-radius:16px;
  background:var(--surface);
  border:1px solid var(--line)
}
.id-save-icon{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:18px
}
.id-save-row b{display:block}
.id-save-row small{display:block;margin-top:3px;color:var(--muted)}
.id-save-version{
  padding:6px 8px;border-radius:999px;
  border:1px solid var(--line);
  color:var(--muted);font-size:11px;font-weight:800
}
@media(max-width:640px){
  .id-save-row{grid-template-columns:38px 1fr}
  .id-save-version{grid-column:2;justify-self:start}
}


/* ===== V3.3 — Auth Stability ===== */
.auth-priority-note{
  display:grid;
  gap:5px;
  margin:16px 0;
  padding:14px 15px;
  border-radius:16px;
  background:var(--accent-soft);
  border:1px solid var(--accent-line);
}
.auth-priority-note b{font-size:14px}
.auth-priority-note span{font-size:13px;line-height:1.55;color:var(--muted)}
.auth-priority-note small{font-size:11px;line-height:1.5;color:var(--muted)}
.id-message{
  min-height:0;
  transition:opacity .18s ease,border-color .18s ease,background .18s ease;
}
.id-message[data-kind="info"]{
  background:var(--surface);
  border-color:var(--line);
}
.id-form button[type="submit"]{
  transition:opacity .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}


/* ===== V3.4 — Critical Auth + Clean URL Fix ===== */
.auth-v34-note{
  margin-top:14px;
  line-height:1.55;
}
.id-message[data-kind="success"]{
  color:var(--text);
}
.id-message[data-kind="error"]{
  color:var(--text);
}

/* ===== V3.5 — User-facing Douvi ID ===== */
.auth-clean-page{min-height:calc(100vh - 72px);display:grid;align-items:center;padding:56px 0 72px;background:radial-gradient(circle at 20% 0%,var(--accent-soft),transparent 28rem),radial-gradient(circle at 88% 16%,rgba(98,212,143,.08),transparent 24rem)}
.auth-clean-wrap{display:flex;justify-content:center}
.auth-clean-card{width:min(100%,520px);padding:38px;border-radius:30px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}
.auth-brand-mark{width:64px;height:64px;margin:0 auto 12px}.auth-brand-mark img{width:100%;height:100%;border-radius:20px}
.auth-product-name{display:inline-block;margin-bottom:18px;font-size:13px;font-weight:800;color:var(--muted)}
.auth-clean-card h1{margin:0;font-size:clamp(36px,5vw,48px);line-height:1;letter-spacing:-.05em}
.auth-lead{margin:14px auto 26px;max-width:420px;color:var(--muted);line-height:1.65}
.auth-google-btn,.auth-primary-btn{width:100%;min-height:54px;border-radius:16px;border:1px solid var(--line);font:inherit;font-weight:800;cursor:pointer;transition:.2s ease}
.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--surface);color:var(--text)}
.auth-google-btn:hover{border-color:var(--accent-line);transform:translateY(-1px)}
.auth-google-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:12px;font-weight:900}
.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.auth-email-form{display:grid;gap:12px;text-align:left}.auth-email-form label{display:grid;gap:8px;font-size:13px;font-weight:750}
.auth-email-form input{width:100%;height:54px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:0 15px;outline:none;font:inherit}
.auth-email-form input:focus{border-color:var(--accent)}
.auth-primary-btn{background:var(--text);color:var(--bg);border-color:transparent}.auth-primary-btn:hover{transform:translateY(-1px)}
.auth-primary-btn:disabled,.auth-google-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.auth-otp-step{margin-top:18px;padding-top:20px;border-top:1px solid var(--line)}
.auth-otp-head h2{margin:0 0 6px;font-size:22px;letter-spacing:-.035em}.auth-otp-head p{margin:0 0 18px;color:var(--muted);font-size:13px}
.auth-otp-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}
.auth-otp-inputs input{width:100%;aspect-ratio:1/1;min-width:0;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:center;font-size:22px;font-weight:800;outline:none}
.auth-otp-inputs input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.auth-small{font-size:11px!important;color:var(--muted)!important;margin:12px 0 0!important}
.auth-message-clean{text-align:left;margin-top:14px}
.auth-guest-link{display:block;margin-top:18px;color:var(--muted);font-size:13px;font-weight:700}.auth-guest-link:hover{color:var(--text)}
.auth-privacy{margin:18px auto 0;color:var(--muted);font-size:11px;line-height:1.6}.auth-privacy a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){.auth-clean-page{padding:24px 0 42px;align-items:start}.auth-clean-card{padding:24px 18px;border-radius:24px}.auth-clean-card h1{font-size:36px}.auth-otp-inputs{gap:6px}.auth-otp-inputs input{border-radius:12px;font-size:20px}}

/* ===== V3.6 — Google + Rich Profile ===== */
.profile-page{padding:42px 0 90px}
.profile-signedout{max-width:620px;margin:60px auto;padding:36px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2);text-align:center;box-shadow:var(--shadow)}
.profile-signedout img{width:64px;height:64px;border-radius:20px;margin:0 auto 16px}.profile-signedout h1{font-size:42px;margin:0}.profile-signedout p{color:var(--muted)}
.profile-hero-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:var(--surface-2);box-shadow:var(--shadow)}
.profile-cover{height:150px;background:radial-gradient(circle at 20% 20%,rgba(153,236,171,.42),transparent 25rem),linear-gradient(115deg,#0a2a20,#143e30 48%,#78d99b)}
html[data-theme="light"] .profile-cover{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.55),transparent 20rem),linear-gradient(115deg,#bfe9cf,#8cd7aa 55%,#48c083)}
.profile-hero-body{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:end;padding:0 28px 28px;margin-top:-48px}
.profile-avatar-v36{width:112px;height:112px;border-radius:30px;border:6px solid var(--bg-3);background:linear-gradient(145deg,#baf4c8,#5fd58f);display:grid;place-items:center;overflow:hidden;color:#0a2a20;font-size:42px;font-weight:850;box-shadow:var(--shadow-soft)}
.profile-avatar-v36 img{width:100%;height:100%;object-fit:cover}.profile-identity{padding-top:56px}.profile-identity h1{margin:0;font-size:34px;letter-spacing:-.045em}.profile-username{margin-top:4px;color:var(--muted);font-weight:700}.profile-headline{margin:8px 0 0;color:var(--soft);font-weight:650}.profile-bio{max-width:680px;margin:8px 0 0;color:var(--muted);line-height:1.65}
.profile-hero-actions{display:flex;gap:9px;align-items:center}.profile-upload-btn{cursor:pointer}.profile-message{margin:0 28px 24px;padding:12px 14px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:13px}.profile-message[data-kind="error"]{background:rgba(255,87,87,.08);border-color:rgba(255,87,87,.2)}
.profile-layout-v36{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-top:18px}.profile-main-col{display:grid;gap:18px;min-width:0}.profile-side-col{min-width:0}.sticky-panel{position:sticky;top:90px}
.profile-panel{padding:24px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.profile-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.profile-panel h2{margin:6px 0 0;font-size:26px;letter-spacing:-.04em}
.profile-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-edit-grid label{display:grid;gap:7px;font-size:13px;font-weight:750}.profile-edit-grid input,.profile-edit-grid textarea,.profile-edit-grid select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;padding:0 13px;font:inherit;outline:none}.profile-edit-grid input,.profile-edit-grid select{height:50px}.profile-edit-grid textarea{padding-top:13px;resize:vertical;min-height:120px}.profile-edit-grid input:focus,.profile-edit-grid textarea:focus,.profile-edit-grid select:focus{border-color:var(--accent)}.span-2{grid-column:1/-1}
.username-field{height:50px;display:flex;align-items:center;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.username-field span{padding-left:13px;color:var(--muted);font-weight:800}.username-field input{border:0!important;background:transparent!important;height:48px!important;padding-left:4px!important}
.profile-toggle-box{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}.profile-toggle-box b{display:block;font-size:13px}.profile-toggle-box small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}
.profile-switch{position:relative;width:44px;height:26px;flex:0 0 44px}.profile-switch input{position:absolute;opacity:0}.profile-switch span{position:absolute;inset:0;border-radius:999px;background:rgba(127,127,127,.28);transition:.2s}.profile-switch span:after{content:"";position:absolute;width:20px;height:20px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:.2s}.profile-switch input:checked + span{background:var(--accent-2)}.profile-switch input:checked + span:after{transform:translateX(18px)}
.profile-facts{display:grid;gap:0}.profile-facts div{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid var(--line-2)}.profile-facts div:last-child{border-bottom:0}.profile-facts span{font-size:12px;color:var(--muted)}.profile-facts b{font-size:14px;overflow-wrap:anywhere}.profile-side-actions{display:grid;gap:9px;margin-top:18px}.profile-side-actions .btn{width:100%}.profile-side-actions .is-disabled{pointer-events:none;opacity:.45}
.profile-products-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-product-card{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:18px;transition:.2s}.profile-product-card:hover{border-color:var(--accent-line);transform:translateY(-2px)}.profile-product-card img{width:46px;height:46px;border-radius:14px}.profile-product-card b{display:block}.profile-product-card small{display:block;margin-top:4px;color:var(--muted)}.profile-product-card em{font-style:normal;color:var(--muted)}
.public-profile-page{padding:70px 0 100px}.public-profile-state{max-width:640px;margin:80px auto;padding:30px;border-radius:24px;background:var(--surface-2);border:1px solid var(--line);text-align:center;color:var(--muted)}
.public-profile-card{max-width:820px;margin:auto;border-radius:30px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow)}.public-profile-cover{height:190px;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.18),transparent 22rem),linear-gradient(115deg,#0a2a20,#266b4c,#8be3a9)}.public-profile-content{padding:0 34px 36px}.public-profile-avatar{width:128px;height:128px;margin-top:-64px;border-radius:34px;border:6px solid var(--bg-3);background:linear-gradient(145deg,#baf4c8,#5fd58f);display:grid;place-items:center;overflow:hidden;color:#0a2a20;font-size:44px;font-weight:850}.public-profile-avatar img{width:100%;height:100%;object-fit:cover}.public-profile-main{margin-top:18px}.public-profile-main h1{font-size:38px;margin:0;letter-spacing:-.05em}.public-profile-username{margin-top:4px;color:var(--muted);font-weight:750}.public-profile-headline{margin:13px 0 0;font-weight:700;color:var(--soft)}.public-profile-bio{margin:12px 0 0;max-width:680px;color:var(--muted);line-height:1.7}.public-profile-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;color:var(--muted);font-size:13px}.public-profile-meta a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.profile-layout-v36{grid-template-columns:1fr}.sticky-panel{position:static}.profile-hero-body{grid-template-columns:auto 1fr}.profile-hero-actions{grid-column:1/-1}.profile-products-grid{grid-template-columns:1fr}}
@media(max-width:640px){.profile-page{padding:22px 0 70px}.profile-cover{height:118px}.profile-hero-body{display:block;padding:0 18px 20px;margin-top:-45px}.profile-avatar-v36{width:94px;height:94px;border-radius:25px}.profile-identity{padding-top:14px}.profile-identity h1{font-size:29px}.profile-hero-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1fr}.profile-hero-actions .btn{width:100%}.profile-panel{padding:18px;border-radius:22px}.profile-edit-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.profile-toggle-box{grid-column:auto}.public-profile-page{padding:24px 0 70px}.public-profile-cover{height:130px}.public-profile-content{padding:0 20px 26px}.public-profile-avatar{width:102px;height:102px;margin-top:-51px;border-radius:28px}.public-profile-main h1{font-size:31px}}

/* ===== V3.7 — Protected signed-in games ===== */
.protected-game-body{margin:0;min-height:100vh;background:#050a08;overflow:hidden}
.game-gate-header{height:62px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);background:#07110f;color:#fff;position:relative;z-index:10}
.game-gate-header .brand{color:#fff}.game-gate-header .brand img{width:38px;height:38px}.game-gate-tools{display:flex;gap:8px;align-items:center}.game-account-link,.game-gate-header .lang{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:rgba(255,255,255,.82);font-size:12px;font-weight:750}
.protected-player{position:relative;height:calc(100vh - 62px);background:radial-gradient(circle at 50% 18%,#10251d,#040807 62%)}
.player-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:#fff;text-align:center}.player-loading img{width:58px;height:58px;border-radius:18px}.player-loading strong{font-size:22px}.player-loading span{color:rgba(255,255,255,.6);font-size:13px}
.player-login-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(calc(100% - 30px),430px);padding:30px;border-radius:26px;background:#0c1713;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px rgba(0,0,0,.45);color:#fff;text-align:center;z-index:4}.player-login-card img{width:62px;height:62px;border-radius:19px}.player-login-card h1{font-size:31px;letter-spacing:-.045em;margin:16px 0 8px}.player-login-card p{color:rgba(255,255,255,.62);line-height:1.6}.player-login-card .btn{width:100%;margin-top:10px}.player-back{display:block;margin-top:18px;color:rgba(255,255,255,.55);font-size:12px}
.protected-game-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;z-index:3}
.protected-player.is-playing .player-loading{display:none}
@media(max-width:640px){.game-gate-header{height:56px;padding:0 10px}.game-gate-header .brand span{display:none}.protected-player{height:calc(100vh - 56px)}}


/* ===== V4.0 — Douvi Mind ===== */
.mind-hub-page,.mind-game-page{min-height:100vh}
.mind-hub-hero{padding:78px 0 30px}
.mind-hub-hero h1,.mind-game-hero h1{max-width:860px}
.mind-disclaimer{max-width:760px;color:var(--muted);font-size:12px;line-height:1.65}
.mind-overview{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:28px}
.mind-overview>div{min-width:150px;padding:15px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.mind-overview span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.mind-overview strong{font-size:31px;letter-spacing:-.05em}.mind-overview small{color:var(--muted)}
.mind-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mind-tool-card{padding:24px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:.2s}
.mind-tool-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}
.mind-tool-top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:750}.mind-tool-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.mind-tool-card h2{font-size:30px;margin:22px 0 8px;letter-spacing:-.045em}.mind-tool-card p{color:var(--muted);line-height:1.6;min-height:76px}
.mind-tool-score{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin:8px 0 16px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.mind-tool-score span{font-size:11px;color:var(--muted)}.mind-tool-score strong{font-size:13px}
.mind-history-card{padding:25px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line)}
.mind-history-list{display:grid;gap:8px}.mind-history-row{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}
.mind-history-row b{display:block}.mind-history-row small{display:block;color:var(--muted);margin-top:3px}.mind-history-row strong{font-size:24px}
.mind-empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.mind-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mind-home-card{padding:22px;border-radius:24px;background:var(--surface-2);border:1px solid var(--line);transition:.2s}
.mind-home-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}.mind-home-card>span{font-size:11px;color:var(--accent);font-weight:850;letter-spacing:.1em}.mind-home-card h3{font-size:27px;margin:18px 0 7px}.mind-home-card p{color:var(--muted);min-height:44px}.mind-home-card b{font-size:13px}.mind-home-cta{margin-top:16px}
.mind-back{display:inline-block;margin-top:28px;color:var(--muted);font-size:13px;font-weight:700}
.mind-game-hero{padding:44px 0 24px}.mind-game-hero h1{font-size:clamp(44px,6vw,70px)}
.mind-meta{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:750}
.mind-gate,.mind-game-card{max-width:820px;margin:16px auto 80px;padding:28px;border-radius:28px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow)}
.mind-gate{text-align:center}.mind-gate img{width:62px;height:62px;border-radius:19px;margin:0 auto 14px}.mind-gate h2{font-size:30px;margin:0 0 8px}.mind-gate p{color:var(--muted);line-height:1.6;max-width:560px;margin:0 auto 18px}
.mind-intro{text-align:center;padding:20px 6px}.mind-intro-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:27px;color:var(--accent)}
.mind-intro h2{font-size:30px;margin:0 0 8px}.mind-intro p{color:var(--muted);line-height:1.6}
.mind-intro-points{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.mind-intro-points div{padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.mind-intro-points b{display:block;color:var(--accent);font-size:11px}.mind-intro-points span{display:block;margin-top:7px;font-weight:750}
.mind-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden;margin-bottom:24px}.mind-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .25s}
.mind-stage{text-align:center}.mind-stage>h2{font-size:30px;margin:0 0 8px}.mind-stage>p{color:var(--muted);margin:0 auto 22px}.mind-stage-body{display:grid;gap:12px;justify-items:center}
.brain-reaction{width:min(100%,520px);height:230px;border:1px solid var(--line);border-radius:25px;background:var(--surface);color:var(--text);font-size:34px;font-weight:850;cursor:pointer}.brain-reaction.ready{background:#79df9f;color:#082116;border-color:#79df9f}.brain-reaction.too-soon{background:rgba(255,100,100,.12)}
.memory-sequence{font-size:clamp(42px,8vw,72px);font-weight:850;letter-spacing:.13em;padding:34px}.memory-form,.math-form{width:min(100%,480px);display:grid;gap:10px}.memory-form input,.math-form input{height:58px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:center;font:inherit;font-size:24px;outline:none}.math-q{font-size:45px;font-weight:850;padding:20px}
.mind-answer{padding:15px 18px;border-radius:15px;font-weight:800}.mind-answer.correct{background:var(--accent-soft);color:var(--accent)}.mind-answer.wrong{background:rgba(255,90,90,.10)}
.mind-result{text-align:center}.mind-result h2{font-size:30px;margin:8px 0}.mind-result-main{display:flex;align-items:flex-end;justify-content:center;gap:7px;margin:12px 0}.mind-result-main strong{font-size:86px;line-height:.9;letter-spacing:-.07em}.mind-result-main span{color:var(--muted);padding-bottom:10px}.mind-result-band{font-size:16px;font-weight:750;margin:15px 0}
.mind-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.mind-result-grid div{padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.mind-result-grid span{display:block;color:var(--muted);font-size:11px}.mind-result-grid b{display:block;margin-top:6px;font-size:18px}
.mind-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.mind-save-state{min-height:22px;margin-top:15px;color:var(--muted);font-size:12px}.mind-save-state[data-state="saved"]{color:var(--accent)}.mind-save-state[data-state="error"]{color:#e7aa7a}
.logic-count{text-align:right;color:var(--muted);font-size:12px}.logic-question{font-size:clamp(27px,4vw,38px);max-width:680px;margin:16px auto 22px}.logic-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.logic-option{min-height:62px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:17px;font-weight:750;cursor:pointer}.logic-option:hover{border-color:var(--accent-line)}.logic-option.correct{background:var(--accent-soft);border-color:var(--accent-line)}.logic-option.wrong{background:rgba(255,80,80,.10);border-color:rgba(255,80,80,.18)}
.focus-topbar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.focus-topbar>div{padding:12px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}.focus-topbar span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.focus-topbar strong{font-size:27px}.focus-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.focus-cell{aspect-ratio:1/1;border-radius:15px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:29px;cursor:pointer;transition:.12s}.focus-cell:hover{border-color:var(--accent-line);transform:scale(1.025)}.focus-cell.wrong{background:rgba(255,80,80,.13)}
.mind-profile-overview{display:flex;gap:10px;margin-bottom:14px}.mind-profile-overview>div{flex:1;padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.mind-profile-overview span{display:block;color:var(--muted);font-size:11px}.mind-profile-overview strong{font-size:32px;letter-spacing:-.05em}.mind-profile-overview small{color:var(--muted)}
.mind-profile-list{display:grid;gap:8px}.mind-profile-row{display:flex;align-items:center;justify-content:space-between;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.mind-profile-row b{display:block}.mind-profile-row small{display:block;color:var(--muted);margin-top:3px}.mind-profile-row strong{font-size:24px}
@media(max-width:900px){.mind-tools-grid,.mind-home-grid{grid-template-columns:1fr}.mind-tool-card p{min-height:auto}.mind-result-grid{grid-template-columns:1fr 1fr}.mind-intro-points{grid-template-columns:1fr}}
@media(max-width:640px){.mind-hub-hero{padding-top:44px}.mind-game-hero{padding-top:28px}.mind-game-card,.mind-gate{padding:20px;border-radius:22px}.logic-options{grid-template-columns:1fr}.mind-result-main strong{font-size:70px}.mind-result-grid{grid-template-columns:1fr}.focus-grid{gap:5px}.focus-cell{border-radius:11px;font-size:22px}.profile-panel-head .btn{width:auto}}


/* ===== V4.1 — Douvi Money ===== */
.money-hub-page,.money-game-page{min-height:100vh}
.money-hub-hero{padding:78px 0 30px}
.money-hub-hero h1,.money-game-hero h1{max-width:900px}
.money-disclaimer{max-width:760px;color:var(--muted);font-size:12px;line-height:1.65}
.money-overview{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:28px}
.money-overview>div{min-width:150px;padding:15px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.money-overview span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.money-overview strong{font-size:31px;letter-spacing:-.05em}.money-overview small{color:var(--muted)}
.money-tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.money-tool-card{padding:26px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:.2s}
.money-tool-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}
.money-tool-top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:750}
.money-tool-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.money-tool-card h2{font-size:31px;margin:22px 0 8px;letter-spacing:-.045em}.money-tool-card p{color:var(--muted);line-height:1.65;min-height:76px}
.money-tool-score{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin:8px 0 16px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.money-tool-score span{font-size:11px;color:var(--muted)}.money-tool-score strong{font-size:13px}
.money-history-card{padding:25px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line)}
.money-history-list{display:grid;gap:8px}.money-history-row{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}
.money-history-row b{display:block}.money-history-row small{display:block;color:var(--muted);margin-top:3px}.money-history-row strong{font-size:24px}.money-empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.money-home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.money-home-card{padding:22px;border-radius:24px;background:var(--surface-2);border:1px solid var(--line);transition:.2s}
.money-home-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}.money-home-card>span{font-size:11px;color:var(--accent);font-weight:850;letter-spacing:.1em}.money-home-card h3{font-size:27px;margin:18px 0 7px}.money-home-card p{color:var(--muted);min-height:44px}.money-home-card b{font-size:13px}.money-home-cta{margin-top:16px}
.money-back{display:inline-block;margin-top:28px;color:var(--muted);font-size:13px;font-weight:700}
.money-game-hero{padding:44px 0 24px}.money-game-hero h1{font-size:clamp(44px,6vw,70px)}
.money-meta{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:750}
.money-gate,.money-game-card{max-width:850px;margin:16px auto 80px;padding:28px;border-radius:28px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow)}
.money-gate{text-align:center}.money-gate img{width:62px;height:62px;border-radius:19px;margin:0 auto 14px}.money-gate h2{font-size:30px;margin:0 0 8px}.money-gate p{color:var(--muted);line-height:1.6;max-width:560px;margin:0 auto 18px}
.money-intro{text-align:center;padding:20px 6px}.money-intro-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:27px;color:var(--accent)}
.money-intro h2{font-size:30px;margin:0 0 8px}.money-intro p{color:var(--muted);line-height:1.6;max-width:620px;margin:0 auto 20px}
.money-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden;margin-bottom:20px}.money-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .25s}
.money-count{text-align:right;color:var(--muted);font-size:12px}.money-stage>h2{font-size:clamp(27px,4vw,38px);max-width:720px;margin:18px auto 22px;text-align:center}
.money-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.money-option{min-height:66px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:17px;font-weight:750;cursor:pointer;padding:10px 14px}.money-option:hover{border-color:var(--accent-line)}.money-option.correct{background:var(--accent-soft);border-color:var(--accent-line)}.money-option.wrong{background:rgba(255,80,80,.10);border-color:rgba(255,80,80,.18)}
.money-result{text-align:center}.money-result h2{font-size:30px;margin:8px 0}.money-result-main{display:flex;align-items:flex-end;justify-content:center;gap:7px;margin:12px 0}.money-result-main strong{font-size:86px;line-height:.9;letter-spacing:-.07em}.money-result-main span{color:var(--muted);padding-bottom:10px}
.money-result-band{font-size:16px;font-weight:750;margin:15px 0}.money-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.money-result-grid div{padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.money-result-grid span{display:block;color:var(--muted);font-size:11px}.money-result-grid b{display:block;margin-top:6px;font-size:18px}
.money-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.money-save-state{min-height:22px;margin-top:15px;color:var(--muted);font-size:12px}.money-save-state[data-state="saved"]{color:var(--accent)}.money-save-state[data-state="error"]{color:#e7aa7a}
.survival-start-stats,.survival-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.survival-start-stats div,.survival-stats div{padding:13px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}.survival-start-stats span,.survival-stats span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.survival-start-stats b,.survival-stats strong{display:block;margin-top:5px;font-size:20px}
.survival-stats{grid-template-columns:repeat(5,1fr);margin-top:0}.survival-event{text-align:center;padding:18px 0}.survival-event h2{font-size:clamp(26px,4vw,38px);max-width:700px;margin:12px auto 20px}.survival-choices{display:grid;gap:9px;max-width:620px;margin:auto}.survival-choice{min-height:60px;border-radius:17px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:750;cursor:pointer;padding:10px 14px}.survival-choice:hover{border-color:var(--accent-line);transform:translateY(-1px)}
.money-profile-overview{display:flex;gap:10px;margin-bottom:14px}.money-profile-overview>div{flex:1;padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.money-profile-overview span{display:block;color:var(--muted);font-size:11px}.money-profile-overview strong{font-size:32px;letter-spacing:-.05em}.money-profile-overview small{color:var(--muted)}
.money-profile-list{display:grid;gap:8px}.money-profile-row{display:flex;align-items:center;justify-content:space-between;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.money-profile-row b{display:block}.money-profile-row small{display:block;color:var(--muted);margin-top:3px}.money-profile-row strong{font-size:24px}
.douvi-score-panel{background:radial-gradient(circle at 90% 0%,var(--accent-soft),transparent 18rem),var(--surface-2)}.douvi-score-wrap{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:stretch}.douvi-score-main{display:flex;align-items:flex-end;justify-content:center;padding:22px;border-radius:20px;background:var(--surface);border:1px solid var(--accent-line)}.douvi-score-main strong{font-size:62px;line-height:.9;letter-spacing:-.07em}.douvi-score-main span{color:var(--muted);padding-bottom:6px}.douvi-score-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.douvi-score-cats a{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:.2s}.douvi-score-cats a:hover{border-color:var(--accent-line)}.douvi-score-cats span{display:block;color:var(--muted);font-size:11px}.douvi-score-cats b{display:block;margin-top:7px;font-size:30px}
@media(max-width:900px){.money-tools-grid,.money-home-grid{grid-template-columns:1fr}.money-tool-card p{min-height:auto}.survival-stats{grid-template-columns:repeat(2,1fr)}.douvi-score-wrap{grid-template-columns:1fr}.douvi-score-cats{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.money-hub-hero{padding-top:44px}.money-game-hero{padding-top:28px}.money-game-card,.money-gate{padding:20px;border-radius:22px}.money-options{grid-template-columns:1fr}.money-result-main strong{font-size:70px}.money-result-grid{grid-template-columns:1fr}.survival-start-stats,.survival-stats{grid-template-columns:1fr 1fr}.douvi-score-cats{grid-template-columns:1fr}}


/* ===== V4.2 — Douvi Life ===== */
.life-hub-page,.life-game-page{min-height:100vh}
.life-hub-hero{padding:78px 0 30px}
.life-hub-hero h1,.life-game-hero h1{max-width:920px}
.life-disclaimer{max-width:780px;color:var(--muted);font-size:12px;line-height:1.65}
.life-overview{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:28px}
.life-overview>div{min-width:150px;padding:15px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.life-overview span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.life-overview strong{font-size:31px;letter-spacing:-.05em}.life-overview small{color:var(--muted)}
.life-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.life-tool-card{padding:25px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:.2s}
.life-tool-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}
.life-tool-top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:750}.life-tool-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.life-tool-card h2{font-size:30px;margin:22px 0 8px;letter-spacing:-.045em}.life-tool-card p{color:var(--muted);line-height:1.65;min-height:95px}
.life-tool-score{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin:8px 0 16px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.life-tool-score span{font-size:11px;color:var(--muted)}.life-tool-score strong{font-size:13px}
.life-history-card{padding:25px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line)}
.life-history-list{display:grid;gap:8px}.life-history-row{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}
.life-history-row b{display:block}.life-history-row small{display:block;color:var(--muted);margin-top:3px}.life-history-row strong{font-size:24px}.life-empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.life-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.life-home-card{padding:22px;border-radius:24px;background:var(--surface-2);border:1px solid var(--line);transition:.2s}
.life-home-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}.life-home-card>span{font-size:11px;color:var(--accent);font-weight:850;letter-spacing:.1em}.life-home-card h3{font-size:27px;margin:18px 0 7px}.life-home-card p{color:var(--muted);min-height:44px}.life-home-card b{font-size:13px}.life-home-cta{margin-top:16px}
.life-back{display:inline-block;margin-top:28px;color:var(--muted);font-size:13px;font-weight:700}
.life-game-hero{padding:44px 0 24px}.life-game-hero h1{font-size:clamp(44px,6vw,70px)}
.life-meta{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:750}
.life-gate,.life-game-card{max-width:850px;margin:16px auto 80px;padding:28px;border-radius:28px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow)}
.life-gate{text-align:center}.life-gate img{width:62px;height:62px;border-radius:19px;margin:0 auto 14px}.life-gate h2{font-size:30px;margin:0 0 8px}.life-gate p{color:var(--muted);line-height:1.6;max-width:560px;margin:0 auto 18px}
.life-intro{text-align:center;padding:20px 6px}.life-intro-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:27px;color:var(--accent)}
.life-intro h2{font-size:30px;margin:0 0 8px}.life-intro p{color:var(--muted);line-height:1.6;max-width:620px;margin:0 auto 20px}
.life-age-form{display:grid;grid-template-columns:160px auto;gap:10px;justify-content:center}.life-age-form input{height:52px;border-radius:15px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;text-align:center;font-size:21px;outline:none}
.life-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden;margin-bottom:20px}.life-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .25s}
.life-count{text-align:right;color:var(--muted);font-size:12px}.life-stage>h2{font-size:clamp(27px,4vw,38px);max-width:720px;margin:18px auto 22px;text-align:center}
.life-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.life-option{min-height:66px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:17px;font-weight:750;cursor:pointer;padding:10px 14px}.life-option:hover{border-color:var(--accent-line);transform:translateY(-1px)}
.life-result{text-align:center}.life-result h2{font-size:30px;margin:8px 0}.life-result-main,.life-age-main{display:flex;align-items:flex-end;justify-content:center;gap:7px;margin:12px 0}.life-result-main strong,.life-age-main strong{font-size:86px;line-height:.9;letter-spacing:-.07em}.life-result-main span,.life-age-main span{color:var(--muted);padding-bottom:10px}.life-result-score{font-size:15px;margin:10px 0}.life-result-score b{font-size:23px}
.life-result-band{font-size:16px;font-weight:750;margin:15px 0}.life-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}.life-result-grid div{padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.life-result-grid span{display:block;color:var(--muted);font-size:11px}.life-result-grid b{display:block;margin-top:6px;font-size:18px}
.life-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.life-save-state{min-height:22px;margin-top:15px;color:var(--muted);font-size:12px}.life-save-state[data-state="saved"]{color:var(--accent)}.life-save-state[data-state="error"]{color:#e7aa7a}
.habit-list{display:grid;gap:9px}.habit-row{display:grid;grid-template-columns:auto 32px 1fr;align-items:center;gap:10px;padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--surface);cursor:pointer}.habit-row input{position:absolute;opacity:0}.habit-checkmark{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:transparent;background:var(--surface-3);transition:.15s}.habit-row:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.habit-row input:checked + .habit-checkmark{background:var(--accent);border-color:var(--accent);color:#092416}.habit-row b{font-size:14px;line-height:1.45}.habit-finish{margin-top:18px}.habit-summary{display:inline-flex;gap:10px;align-items:center;margin:8px auto 18px;padding:12px 16px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}.habit-summary span{color:var(--muted);font-size:12px}.habit-summary b{font-size:21px}.habit-suggestion{max-width:580px;margin:0 auto 20px;color:var(--muted);line-height:1.65}
.life-profile-overview{display:flex;gap:10px;margin-bottom:14px}.life-profile-overview>div{flex:1;padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.life-profile-overview span{display:block;color:var(--muted);font-size:11px}.life-profile-overview strong{font-size:32px;letter-spacing:-.05em}.life-profile-overview small{color:var(--muted)}
.life-profile-list{display:grid;gap:8px}.life-profile-row{display:flex;align-items:center;justify-content:space-between;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.life-profile-row b{display:block}.life-profile-row small{display:block;color:var(--muted);margin-top:3px}.life-profile-row strong{font-size:24px}
.douvi-score-cats{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.life-tools-grid,.life-home-grid{grid-template-columns:1fr}.life-tool-card p{min-height:auto}.life-result-grid{grid-template-columns:1fr 1fr}.douvi-score-cats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.life-hub-hero{padding-top:44px}.life-game-hero{padding-top:28px}.life-game-card,.life-gate{padding:20px;border-radius:22px}.life-options{grid-template-columns:1fr}.life-age-form{grid-template-columns:1fr}.life-result-main strong,.life-age-main strong{font-size:70px}.life-result-grid{grid-template-columns:1fr}.douvi-score-cats{grid-template-columns:1fr}}


/* ===== V4.3 — Douvi Daily ===== */
.daily-hub-page,.daily-game-page,.lunar-page{min-height:100vh}
.daily-hub-hero{padding:78px 0 30px}.daily-hub-hero h1,.daily-game-hero h1,.lunar-hero h1{max-width:920px}
.daily-disclaimer{max-width:800px;color:var(--muted);font-size:12px;line-height:1.65}
.daily-overview{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:28px}
.daily-overview>div{min-width:150px;padding:15px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.daily-overview span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.daily-overview strong{font-size:31px;letter-spacing:-.05em}.daily-overview small{color:var(--muted)}
.daily-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.daily-tool-card{padding:25px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:.2s}.daily-tool-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}.daily-tool-card.is-complete{border-color:var(--accent-line)}
.daily-tool-top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:750}.daily-tool-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.daily-tool-card h2{font-size:30px;margin:22px 0 8px;letter-spacing:-.045em}.daily-tool-card p{color:var(--muted);line-height:1.65;min-height:95px}
.daily-tool-score{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin:8px 0 16px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.daily-tool-score span{font-size:11px;color:var(--muted)}.daily-tool-score strong{font-size:13px}
.daily-history-card{padding:25px;border-radius:26px;background:var(--surface-2);border:1px solid var(--line)}.daily-history-list{display:grid;gap:8px}.daily-history-row{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:15px;background:var(--surface);border:1px solid var(--line)}.daily-history-row b{display:block}.daily-history-row small{display:block;color:var(--muted);margin-top:3px}.daily-history-row strong{font-size:24px}.daily-empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.daily-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.daily-home-card{padding:22px;border-radius:24px;background:var(--surface-2);border:1px solid var(--line);transition:.2s}.daily-home-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}.daily-home-card>span{font-size:11px;color:var(--accent);font-weight:850;letter-spacing:.1em}.daily-home-card h3{font-size:27px;margin:18px 0 7px}.daily-home-card p{color:var(--muted);min-height:44px}.daily-home-card b{font-size:13px}.daily-home-cta{margin-top:16px}
.daily-back{display:inline-block;margin-top:28px;color:var(--muted);font-size:13px;font-weight:700}.daily-game-hero,.lunar-hero{padding:44px 0 24px}.daily-game-hero h1,.lunar-hero h1{font-size:clamp(44px,6vw,70px)}
.daily-meta{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:750}
.daily-gate,.daily-game-card{max-width:850px;margin:16px auto 80px;padding:28px;border-radius:28px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow)}.daily-gate{text-align:center}.daily-gate img{width:62px;height:62px;border-radius:19px;margin:0 auto 14px}.daily-gate h2{font-size:30px;margin:0 0 8px}.daily-gate p{color:var(--muted);line-height:1.6;max-width:560px;margin:0 auto 18px}
.daily-intro{text-align:center;padding:20px 6px}.daily-intro-icon,.daily-challenge-mark{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:27px;color:var(--accent)}.daily-intro h2{font-size:30px;margin:0 0 8px}.daily-intro p{color:var(--muted);line-height:1.6;max-width:620px;margin:0 auto 20px}
.daily-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden;margin-bottom:20px}.daily-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .25s}
.daily-stage-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:750}.daily-stage>h2,.daily-challenge-question{font-size:clamp(27px,4vw,38px);max-width:720px;margin:18px auto 22px;text-align:center}
.daily-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.daily-option{min-height:66px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:17px;font-weight:750;cursor:pointer;padding:10px 14px}.daily-option:hover{border-color:var(--accent-line);transform:translateY(-1px)}.daily-option.correct{background:var(--accent-soft);border-color:var(--accent-line)}.daily-option.wrong{background:rgba(255,80,80,.10);border-color:rgba(255,80,80,.18)}
.daily-feedback{min-height:48px;max-width:650px;margin:15px auto 0;text-align:center;color:var(--muted);line-height:1.55}
.daily-result{text-align:center}.daily-result h2{font-size:30px;margin:8px 0}.daily-result-main{display:flex;align-items:flex-end;justify-content:center;gap:7px;margin:12px 0}.daily-result-main strong{font-size:86px;line-height:.9;letter-spacing:-.07em}.daily-result-main span{color:var(--muted);padding-bottom:10px}.daily-result-band{font-size:16px;font-weight:750;margin:15px 0}.daily-result-grid{display:flex;justify-content:center;gap:8px;margin:22px 0}.daily-result-grid div{min-width:180px;padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.daily-result-grid span{display:block;color:var(--muted);font-size:11px}.daily-result-grid b{display:block;margin-top:6px;font-size:18px}.daily-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.daily-save-state{min-height:22px;margin-top:15px;color:var(--muted);font-size:12px}.daily-save-state[data-state="saved"]{color:var(--accent)}.daily-save-state[data-state="error"]{color:#e7aa7a}
.lunar-card{max-width:980px;margin:10px auto 90px;padding:26px;border-radius:28px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow)}.lunar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.lunar-controls input{height:44px;border-radius:13px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:0 12px;font:inherit}
.lunar-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lunar-solar-panel,.lunar-lunar-panel{padding:26px;border-radius:24px;border:1px solid var(--line);background:var(--surface)}.lunar-solar-panel>span,.lunar-lunar-panel>span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.lunar-solar-panel h2{font-size:clamp(28px,4vw,42px);margin:18px 0 8px;letter-spacing:-.045em}.lunar-solar-panel p,.lunar-lunar-panel p{color:var(--muted);margin:0}.lunar-big{font-size:clamp(56px,8vw,92px);font-weight:850;letter-spacing:-.07em;margin:10px 0 3px}.lunar-festival{display:inline-flex;margin-top:16px;padding:8px 11px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:12px;font-weight:800;color:var(--accent)}
.can-chi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.can-chi-grid>div{padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.can-chi-grid span{display:block;color:var(--muted);font-size:11px}.can-chi-grid b{display:block;margin-top:6px;font-size:17px}.lunar-range-warning{padding:12px;border-radius:14px;background:rgba(255,160,80,.09);border:1px solid rgba(255,160,80,.18)}
.daily-profile-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.daily-profile-overview>div{padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.daily-profile-overview span{display:block;color:var(--muted);font-size:11px}.daily-profile-overview strong{font-size:32px;letter-spacing:-.05em}.daily-profile-overview small{color:var(--muted)}
.daily-profile-list{display:grid;gap:8px}.daily-profile-row{display:flex;align-items:center;justify-content:space-between;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.daily-profile-row b{display:block}.daily-profile-row small{display:block;color:var(--muted);margin-top:3px}.daily-profile-row strong{font-size:24px}
.douvi-score-cats{grid-template-columns:repeat(4,1fr)}
@media(max-width:920px){.daily-tools-grid,.daily-home-grid{grid-template-columns:1fr}.daily-tool-card p{min-height:auto}.douvi-score-cats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.daily-hub-hero{padding-top:44px}.daily-game-hero,.lunar-hero{padding-top:28px}.daily-game-card,.daily-gate,.lunar-card{padding:20px;border-radius:22px}.daily-options{grid-template-columns:1fr}.daily-result-main strong{font-size:70px}.lunar-grid{grid-template-columns:1fr}.can-chi-grid{grid-template-columns:1fr}.daily-profile-overview{grid-template-columns:1fr}.douvi-score-cats{grid-template-columns:1fr}}


/* ===== V4.4 — Douvi Progression ===== */
.progress-page{min-height:100vh;padding:30px 0 90px}
.progress-status{min-height:24px;text-align:center;color:var(--muted);font-size:12px}
.progress-gate{max-width:520px;margin:90px auto;padding:32px;border-radius:28px;background:var(--surface-2);border:1px solid var(--line);text-align:center;box-shadow:var(--shadow)}
.progress-gate img{width:64px;height:64px;border-radius:19px;margin:0 auto 16px}.progress-gate h1{font-size:36px;line-height:1;letter-spacing:-.045em;margin:0 0 10px}.progress-gate p{color:var(--muted);line-height:1.65}
.progress-hero{display:grid;grid-template-columns:1fr minmax(330px,430px);gap:16px;align-items:stretch;margin:22px 0}
.progress-person{display:flex;align-items:center;gap:18px;padding:28px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2);box-shadow:var(--shadow-soft)}
.progress-person h1{font-size:clamp(38px,5vw,60px);margin:9px 0 10px}.progress-person .lead{font-size:15px;margin:0;max-width:600px}.progress-avatar{width:86px;height:86px;flex:0 0 86px;border-radius:26px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:34px;font-weight:850;overflow:hidden}.progress-avatar img{width:100%;height:100%;object-fit:cover}.progress-user-name{margin-top:12px;font-size:12px;color:var(--muted);font-weight:750}
.level-card{display:flex;align-items:center;gap:18px;padding:24px;border-radius:28px;border:1px solid var(--accent-line);background:radial-gradient(circle at 20% 10%,var(--accent-soft),transparent 16rem),var(--surface-2);box-shadow:var(--shadow-soft)}
.level-orbit{width:120px;height:120px;flex:0 0 120px;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid var(--accent-line);box-shadow:inset 0 0 0 9px var(--accent-soft)}.level-orbit span{font-size:9px;letter-spacing:.16em;color:var(--muted);font-weight:900}.level-orbit strong{font-size:48px;line-height:.9;letter-spacing:-.06em}
.level-copy{flex:1;min-width:0}.level-copy>b{font-size:20px}.level-copy>div:nth-of-type(1){margin-top:7px;color:var(--muted)}.level-copy>div:nth-of-type(1) strong{color:var(--text);font-size:23px}.level-copy small{display:block;margin-top:7px;color:var(--muted);font-size:10px}.xp-track,.progress-mini-track,.achievement-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden}.xp-track{margin-top:13px}.xp-track i,.progress-mini-track i,.achievement-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}
.progress-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.progress-panel{padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--surface-2);box-shadow:var(--shadow-soft);margin:14px 0}.progress-grid-two>.progress-panel{margin:0}
.progress-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.progress-panel-head h2{font-size:26px;letter-spacing:-.035em;margin:5px 0 0}.progress-panel-head>small{color:var(--muted);font-size:10px;max-width:230px;text-align:right}.score-big{font-size:40px;letter-spacing:-.06em}
.score-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.score-category-grid a{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);transition:.2s}.score-category-grid a:hover{border-color:var(--accent-line)}.score-category-grid span{display:block;color:var(--muted);font-size:10px}.score-category-grid b{display:block;margin-top:6px;font-size:27px}
.streak-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.streak-metrics>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.streak-metrics span{display:block;color:var(--muted);font-size:10px}.streak-metrics strong{display:inline-block;margin-top:6px;font-size:30px}.streak-metrics small{margin-left:4px;color:var(--muted);font-size:10px}
.next-quest-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;background:radial-gradient(circle at 80% 50%,var(--accent-soft),transparent 18rem),var(--surface-2)}.next-quest-panel h2{font-size:31px;margin:8px 0 6px}.next-quest-panel p{margin:0;color:var(--muted);line-height:1.55;max-width:650px}
.progress-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.progress-day{min-height:66px;padding:8px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:grid;align-content:space-between;transition:.15s}.progress-day span{min-height:14px;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:800}.progress-day b{font-size:15px}.progress-day small{font-size:9px;color:var(--muted)}.progress-day.level-2{background:var(--accent-soft);border-color:var(--accent-line)}.progress-day.level-3{background:color-mix(in srgb,var(--accent) 24%,var(--surface));border-color:var(--accent-line)}.progress-day.level-3 b{color:var(--text)}
.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.achievement-card{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.achievement-card.is-locked{opacity:.55}.achievement-card.is-unlocked{border-color:var(--accent-line);background:var(--accent-soft)}.achievement-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-2);font-size:17px;font-weight:850}.achievement-copy{flex:1;min-width:0}.achievement-top{display:flex;justify-content:space-between;gap:10px}.achievement-top b{font-size:13px}.achievement-top span{font-size:9px;color:var(--muted);white-space:nowrap}.achievement-copy p{margin:4px 0 10px;color:var(--muted);font-size:10px;line-height:1.45}.achievement-progress{height:4px}
.xp-source-list{display:grid;gap:8px}.xp-source-list>div{display:flex;align-items:center;justify-content:space-between;padding:13px;border-radius:15px;border:1px solid var(--line);background:var(--surface)}.xp-source-list span{color:var(--muted);font-size:11px}.xp-source-list strong{font-size:12px}.xp-source-list b{font-size:20px}.progress-note{color:var(--muted);font-size:10px;line-height:1.6}
.progress-recent{display:grid;gap:7px}.progress-recent-row{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.progress-recent-row b{display:block;font-size:12px}.progress-recent-row small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.progress-recent-row strong{font-size:20px}.progress-empty{padding:16px;border:1px dashed var(--line);border-radius:15px;color:var(--muted);font-size:11px}
.progress-mini-panel{background:radial-gradient(circle at 100% 0%,var(--accent-soft),transparent 14rem),var(--surface-2)}.progress-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.progress-mini-grid>div{padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.progress-mini-grid span{display:block;color:var(--muted);font-size:10px}.progress-mini-grid strong{display:block;margin-top:5px;font-size:25px}.progress-mini-track{margin-top:12px;height:5px}
@media(max-width:980px){.progress-hero{grid-template-columns:1fr}.progress-grid-two{grid-template-columns:1fr}.achievement-grid{grid-template-columns:1fr}.score-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.progress-page{padding-top:10px}.progress-person{align-items:flex-start;padding:20px}.progress-avatar{width:64px;height:64px;flex-basis:64px;border-radius:19px}.progress-person h1{font-size:34px}.level-card{padding:18px}.level-orbit{width:92px;height:92px;flex-basis:92px}.level-orbit strong{font-size:38px}.progress-panel{padding:18px}.score-category-grid,.streak-metrics,.progress-mini-grid{grid-template-columns:1fr 1fr}.progress-calendar{gap:4px}.progress-day{min-height:54px;padding:6px;border-radius:11px}.next-quest-panel{display:block}.next-quest-panel .btn{width:100%;margin-top:15px}.douvi-score-cats{grid-template-columns:repeat(2,1fr)}}


/* ===== V4.5 — Social Progression ===== */
.profile-panel-actions{display:flex;gap:7px;flex-wrap:wrap}
.mission-summary{display:flex;align-items:center;gap:8px}.mission-summary strong{font-size:23px}.mission-summary span{padding:7px 9px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:10px;font-weight:850;color:var(--accent)}
.daily-missions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.daily-mission{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--surface);transition:.2s}.daily-mission:hover{border-color:var(--accent-line);transform:translateY(-1px)}.daily-mission.is-complete{background:var(--accent-soft);border-color:var(--accent-line)}.mission-check{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);font-weight:850}.daily-mission.is-complete .mission-check{background:var(--accent);border-color:var(--accent);color:#092416}.mission-copy b{display:block;font-size:12px}.mission-copy small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.mission-reward{text-align:right}.mission-reward span{display:block;font-size:15px;font-weight:850}.mission-reward small{font-size:8px;color:var(--muted)}
.leaderboard-page{min-height:100vh;padding-bottom:90px}.leaderboard-hero{padding:78px 0 28px}.leaderboard-hero h1{font-size:clamp(48px,7vw,78px);max-width:900px}.leaderboard-privacy{color:var(--muted);font-size:11px}
.leaderboard-card{padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2);box-shadow:var(--shadow)}.leaderboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.leaderboard-tabs{display:flex;gap:6px;flex-wrap:wrap}.leaderboard-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:9px 12px;border-radius:999px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.leaderboard-tabs button.is-active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.leaderboard-state{min-height:20px;color:var(--muted);font-size:11px}.leaderboard-list{display:grid;gap:7px}.leaderboard-row{display:grid;grid-template-columns:42px 48px minmax(120px,1fr) minmax(280px,1.4fr) 92px;gap:11px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:var(--surface);transition:.18s}.leaderboard-row:hover{border-color:var(--accent-line);transform:translateY(-1px)}.leaderboard-row.top-1,.leaderboard-row.top-2,.leaderboard-row.top-3{background:linear-gradient(90deg,var(--accent-soft),var(--surface) 45%)}.leaderboard-rank{text-align:center;font-weight:850;font-size:15px}.leaderboard-avatar{width:42px;height:42px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);font-weight:850}.leaderboard-avatar img{width:100%;height:100%;object-fit:cover}.leaderboard-person b{display:block;font-size:12px}.leaderboard-person small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.leaderboard-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.leaderboard-categories span{padding:7px 8px;border-radius:11px;border:1px solid var(--line-2);background:var(--surface-2)}.leaderboard-categories i{display:block;color:var(--muted);font-size:7px;font-style:normal}.leaderboard-categories b{display:block;margin-top:3px;font-size:12px}.leaderboard-score{text-align:right}.leaderboard-score small{display:block;color:var(--muted);font-size:8px}.leaderboard-score strong{display:block;font-size:27px;letter-spacing:-.05em}.leaderboard-empty{padding:28px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.progress-events-host{position:fixed;right:18px;bottom:18px;z-index:9998;display:grid;gap:9px;pointer-events:none}.progress-xp-toast,.progress-achievement-toast{transform:translateY(15px);opacity:0;transition:.25s ease;border:1px solid var(--accent-line);background:color-mix(in srgb,var(--surface-2) 94%,transparent);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:17px}.progress-xp-toast.show,.progress-achievement-toast.show{transform:none;opacity:1}.progress-xp-toast{display:flex;align-items:center;gap:9px;padding:12px 15px}.progress-xp-toast span{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--accent)}.progress-xp-toast strong{font-size:22px}.progress-achievement-toast{display:flex;align-items:center;gap:11px;padding:13px 15px;min-width:250px}.progress-achievement-toast>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);font-size:17px}.progress-achievement-toast small{display:block;color:var(--accent);font-size:7px;letter-spacing:.13em;font-weight:900}.progress-achievement-toast strong{display:block;margin-top:3px;font-size:12px}
.level-up-overlay{position:fixed;inset:0;z-index:10000;background:rgba(1,8,6,.72);backdrop-filter:blur(12px);display:grid;place-items:center;padding:18px;opacity:0;transition:.25s}.level-up-overlay.show{opacity:1}.level-up-modal{position:relative;width:min(100%,430px);padding:32px;border:1px solid var(--accent-line);border-radius:30px;background:radial-gradient(circle at 50% 20%,var(--accent-soft),transparent 18rem),var(--surface-2);box-shadow:0 30px 100px rgba(0,0,0,.45);text-align:center;transform:scale(.92);transition:.3s}.level-up-overlay.show .level-up-modal{transform:scale(1)}.level-up-modal>button{position:absolute;right:14px;top:14px;width:35px;height:35px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:20px;cursor:pointer}.level-up-ring{width:150px;height:150px;margin:22px auto 16px;border-radius:50%;display:grid;place-content:center;border:1px solid var(--accent-line);box-shadow:inset 0 0 0 13px var(--accent-soft),0 0 70px var(--accent-soft)}.level-up-ring small{font-size:9px;letter-spacing:.16em;color:var(--muted);font-weight:900}.level-up-ring strong{font-size:65px;line-height:.9;letter-spacing:-.07em}.level-up-modal h2{font-size:40px;margin:0 0 8px}.level-up-modal p{color:var(--muted);margin:0 0 18px}
@media(max-width:900px){.daily-missions{grid-template-columns:1fr}.leaderboard-row{grid-template-columns:38px 44px 1fr 80px}.leaderboard-categories{display:none}}
@media(max-width:650px){.leaderboard-hero{padding-top:44px}.leaderboard-card{padding:15px;border-radius:22px}.leaderboard-toolbar{display:block}.leaderboard-toolbar>.btn{width:100%;margin-top:10px}.leaderboard-row{grid-template-columns:30px 40px 1fr 64px;padding:10px 9px}.leaderboard-score strong{font-size:22px}.progress-events-host{left:12px;right:12px;bottom:12px}.progress-xp-toast,.progress-achievement-toast{width:100%}.mission-summary{display:block;text-align:right}}


/* ===== V4.6 — Weekly League ===== */
.weekly-page{min-height:100vh;padding-bottom:90px}.weekly-hero{padding:78px 0 28px}.weekly-hero h1,.weekly-challenge-hero h1{font-size:clamp(48px,7vw,78px);max-width:920px}.weekly-countdown{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.weekly-countdown span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:850}.weekly-countdown strong{font-size:13px}
.my-weekly-card{display:grid;grid-template-columns:170px 1fr auto;gap:18px;align-items:center;padding:25px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2);box-shadow:var(--shadow);margin:12px 0 16px}.my-weekly-card[data-tier="silver"]{border-color:rgba(190,210,205,.45)}.my-weekly-card[data-tier="gold"]{border-color:rgba(240,205,105,.52)}.my-weekly-tier{height:135px;border-radius:25px;display:grid;place-content:center;text-align:center;border:1px solid var(--line);background:var(--surface)}.my-weekly-tier span{font-size:8px;letter-spacing:.16em;color:var(--muted);font-weight:900}.my-weekly-tier strong{font-size:31px;margin-top:6px}.my-weekly-card[data-tier="bronze"] .my-weekly-tier strong{color:#c99672}.my-weekly-card[data-tier="silver"] .my-weekly-tier strong{color:#c8ddd7}.my-weekly-card[data-tier="gold"] .my-weekly-tier strong{color:#f0cd69}.my-weekly-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.my-weekly-stats>div{padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.my-weekly-stats span{display:block;color:var(--muted);font-size:9px}.my-weekly-stats strong{display:block;margin-top:5px;font-size:23px}.tier-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden}.tier-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}.my-weekly-main>small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.my-weekly-actions{display:grid;gap:7px}
.league-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.tier-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2)}.tier-card span{display:block;font-size:11px;font-weight:850}.tier-card strong{display:block;margin-top:8px;font-size:29px}.tier-card small{display:block;margin-top:6px;color:var(--muted)}.tier-card.bronze strong{color:#c99672}.tier-card.silver strong{color:#c8ddd7}.tier-card.gold strong{color:#f0cd69}
.weekly-board{padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2);box-shadow:var(--shadow-soft)}.weekly-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.weekly-board-head h2{font-size:29px;margin:5px 0 0}.weekly-privacy{color:var(--muted);font-size:10px}.weekly-state{min-height:20px;color:var(--muted);font-size:11px}.weekly-list{display:grid;gap:7px}.weekly-row{display:grid;grid-template-columns:42px 46px minmax(140px,1fr) 95px 74px 110px;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:var(--surface);transition:.18s}.weekly-row:hover{border-color:var(--accent-line);transform:translateY(-1px)}.weekly-rank{text-align:center;font-weight:850}.weekly-avatar{width:42px;height:42px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);font-weight:850}.weekly-avatar img{width:100%;height:100%;object-fit:cover}.weekly-person b{display:block;font-size:12px}.weekly-person small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.weekly-tier span{display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-weight:850}.tier-bronze .weekly-tier span{color:#c99672}.tier-silver .weekly-tier span{color:#c8ddd7}.tier-gold .weekly-tier span{color:#f0cd69}.weekly-douvi{text-align:right}.weekly-douvi small,.weekly-points small{display:block;color:var(--muted);font-size:8px}.weekly-douvi b{font-size:15px}.weekly-points{text-align:right}.weekly-points strong{font-size:24px;letter-spacing:-.04em}.weekly-empty{padding:28px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.weekly-challenge-page{min-height:100vh;padding-bottom:90px}.weekly-challenge-hero{padding:44px 0 25px}.weekly-gate,.weekly-challenge-card{max-width:850px;margin:15px auto 80px;padding:28px;border-radius:28px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow)}.weekly-gate{text-align:center}.weekly-gate img{width:62px;height:62px;border-radius:19px;margin:0 auto 14px}.weekly-gate h2{font-size:30px;margin:0 0 8px}.weekly-gate p{color:var(--muted)}.weekly-intro{text-align:center;padding:20px}.weekly-challenge-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:29px;font-weight:900;color:var(--accent)}.weekly-intro h2{font-size:31px}.weekly-intro p{color:var(--muted);max-width:580px;margin:0 auto 19px}.weekly-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden}.weekly-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0}.weekly-test-meta{display:flex;justify-content:space-between;margin-top:17px;color:var(--muted);font-size:10px}.weekly-test>h2{font-size:clamp(27px,4vw,39px);max-width:720px;text-align:center;margin:22px auto}.weekly-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.weekly-option{min-height:66px;padding:10px 14px;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--text);font:inherit;font-weight:750;cursor:pointer}.weekly-option:hover{border-color:var(--accent-line)}.weekly-option.correct{background:var(--accent-soft);border-color:var(--accent-line)}.weekly-option.wrong{background:rgba(255,80,80,.10);border-color:rgba(255,80,80,.18)}.weekly-result{text-align:center}.weekly-result h2{font-size:30px}.weekly-result-main{display:flex;justify-content:center;align-items:flex-end;gap:7px}.weekly-result-main strong{font-size:88px;line-height:.9;letter-spacing:-.07em}.weekly-result-main span{color:var(--muted);padding-bottom:9px}.weekly-result-band{margin:15px 0;font-weight:800}.weekly-result-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.weekly-result-details>div{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.weekly-result-details span{display:block;color:var(--muted);font-size:9px}.weekly-result-details b{display:block;margin-top:5px;font-size:18px}.weekly-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.weekly-save-state{min-height:22px;margin-top:15px;color:var(--muted);font-size:11px}.weekly-save-state[data-state="saved"]{color:var(--accent)}.weekly-save-state[data-state="error"]{color:#e7aa7a}
.dashboard-weekly-card[data-tier="bronze"]{border-color:rgba(201,150,114,.25)}.dashboard-weekly-card[data-tier="silver"]{border-color:rgba(200,221,215,.3)}.dashboard-weekly-card[data-tier="gold"]{border-color:rgba(240,205,105,.35)}.dashboard-weekly-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dashboard-weekly-grid>div{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.dashboard-weekly-grid span{display:block;color:var(--muted);font-size:9px}.dashboard-weekly-grid strong{display:block;margin-top:5px;font-size:25px}.progress-share-button{grid-column:1/-1;justify-self:end;margin-top:-6px}
@media(max-width:920px){.my-weekly-card{grid-template-columns:130px 1fr}.my-weekly-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.weekly-row{grid-template-columns:36px 42px 1fr 90px}.weekly-tier,.weekly-douvi{display:none}.league-tiers{grid-template-columns:1fr}.dashboard-weekly-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.weekly-hero{padding-top:44px}.my-weekly-card{grid-template-columns:1fr;padding:18px}.my-weekly-tier{height:100px}.my-weekly-stats{grid-template-columns:1fr 1fr}.my-weekly-actions{grid-template-columns:1fr}.weekly-board{padding:15px}.weekly-row{grid-template-columns:28px 38px 1fr 72px;padding:10px 8px}.weekly-points strong{font-size:20px}.weekly-challenge-card,.weekly-gate{padding:20px;border-radius:22px}.weekly-options{grid-template-columns:1fr}.weekly-result-main strong{font-size:72px}.dashboard-weekly-grid{grid-template-columns:1fr}}

@media(max-width:680px){.progress-share-button{justify-self:stretch;width:100%;margin-top:0}}


/* ===== V4.7 — Seasons ===== */
.season-page{min-height:100vh;padding-bottom:90px}.season-hero{padding:78px 0 28px}.season-hero h1{font-size:clamp(48px,7vw,78px);max-width:930px}.season-countdown{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.season-countdown span{font-size:9px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.season-countdown strong{font-size:13px}
.my-season-card{display:grid;grid-template-columns:180px 1fr auto;gap:18px;align-items:center;padding:25px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2);box-shadow:var(--shadow);margin:12px 0 16px}.my-season-card[data-tier="silver"]{border-color:rgba(200,221,215,.40)}.my-season-card[data-tier="gold"]{border-color:rgba(240,205,105,.50)}.season-badge-large{height:145px;border-radius:27px;display:grid;place-content:center;text-align:center;border:1px solid var(--line);background:var(--surface)}.season-badge-large span{font-size:10px;letter-spacing:.15em;color:var(--muted);font-weight:900}.season-badge-large strong{font-size:33px;margin-top:7px}.my-season-card[data-tier="bronze"] .season-badge-large strong{color:#c99672}.my-season-card[data-tier="silver"] .season-badge-large strong{color:#c8ddd7}.my-season-card[data-tier="gold"] .season-badge-large strong{color:#f0cd69}.my-season-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.my-season-stats>div{padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.my-season-stats span{display:block;color:var(--muted);font-size:9px}.my-season-stats strong{display:block;margin-top:5px;font-size:21px}.season-progress{height:7px;border-radius:999px;background:var(--surface);overflow:hidden}.season-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}.season-movement{margin-top:8px;font-size:11px;font-weight:800}.my-season-main>small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.my-season-actions{display:grid;gap:7px}
.season-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.season-tier-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2)}.season-tier-card span{display:block;font-size:11px;font-weight:850}.season-tier-card strong{display:block;margin-top:8px;font-size:27px}.season-tier-card small{display:block;margin-top:6px;color:var(--muted)}.season-tier-card.bronze strong{color:#c99672}.season-tier-card.silver strong{color:#c8ddd7}.season-tier-card.gold strong{color:#f0cd69}
.season-explain{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.season-explain>div{padding:18px;border:1px solid var(--line);border-radius:19px;background:var(--surface)}.season-explain span{display:block;color:var(--accent);font-size:10px;font-weight:900}.season-explain b{display:block;margin-top:13px}.season-explain small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}
.season-board{padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2);box-shadow:var(--shadow-soft)}.season-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.season-board-head h2{font-size:29px;margin:5px 0 0}.season-privacy{color:var(--muted);font-size:10px}.season-state{min-height:20px;color:var(--muted);font-size:11px}.season-list{display:grid;gap:7px}.season-row{display:grid;grid-template-columns:42px 46px minmax(140px,1fr) 95px 74px 110px;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:var(--surface);transition:.18s}.season-row:hover{border-color:var(--accent-line);transform:translateY(-1px)}.season-rank{text-align:center;font-weight:850}.season-avatar{width:42px;height:42px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);font-weight:850}.season-avatar img{width:100%;height:100%;object-fit:cover}.season-person b{display:block;font-size:12px}.season-person small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.season-tier span{display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-weight:850}.tier-bronze .season-tier span{color:#c99672}.tier-silver .season-tier span{color:#c8ddd7}.tier-gold .season-tier span{color:#f0cd69}.season-douvi{text-align:right}.season-douvi small,.season-points small{display:block;color:var(--muted);font-size:8px}.season-douvi b{font-size:15px}.season-points{text-align:right}.season-points strong{font-size:24px;letter-spacing:-.04em}.season-empty{padding:28px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.dashboard-season-card[data-tier="bronze"]{border-color:rgba(201,150,114,.25)}.dashboard-season-card[data-tier="silver"]{border-color:rgba(200,221,215,.3)}.dashboard-season-card[data-tier="gold"]{border-color:rgba(240,205,105,.35)}.dashboard-season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dashboard-season-grid>div{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.dashboard-season-grid span{display:block;color:var(--muted);font-size:9px}.dashboard-season-grid strong{display:block;margin-top:5px;font-size:23px}.dashboard-season-movement{margin-top:10px;font-size:11px;font-weight:800}
.profile-season-badge{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.profile-season-badge>span{font-size:9px;color:var(--muted);font-weight:900;letter-spacing:.08em}.profile-season-badge>strong{font-size:14px}.profile-season-badge>a{margin-left:auto;font-size:9px;color:var(--muted)}.profile-season-badge[data-tier="bronze"]>strong{color:#c99672}.profile-season-badge[data-tier="silver"]>strong{color:#c8ddd7}.profile-season-badge[data-tier="gold"]>strong{color:#f0cd69}
.public-season-badge{display:inline-flex;align-items:center;gap:7px;margin-top:9px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.public-season-badge span,.public-season-badge small{font-size:8px;color:var(--muted)}.public-season-badge b{font-size:10px}.public-season-badge[data-tier="bronze"] b{color:#c99672}.public-season-badge[data-tier="silver"] b{color:#c8ddd7}.public-season-badge[data-tier="gold"] b{color:#f0cd69}
.achievement-share{margin-top:9px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:5px 9px;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.achievement-share:hover{border-color:var(--accent-line);color:var(--text)}
@media(max-width:930px){.my-season-card{grid-template-columns:140px 1fr}.my-season-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.my-season-stats{grid-template-columns:1fr 1fr}.season-row{grid-template-columns:36px 42px 1fr 90px}.season-tier,.season-douvi{display:none}.dashboard-season-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.season-hero{padding-top:44px}.my-season-card{grid-template-columns:1fr;padding:18px}.season-badge-large{height:105px}.my-season-actions{grid-template-columns:1fr}.season-tiers,.season-explain{grid-template-columns:1fr}.season-board{padding:15px}.season-row{grid-template-columns:28px 38px 1fr 72px;padding:10px 8px}.season-points strong{font-size:20px}.dashboard-season-grid{grid-template-columns:1fr 1fr}}


/* ===== V4.7.1 — Homepage UX Cleanup ===== */
.home-v471{overflow-x:hidden}
.home-v471 .home-header{z-index:300}
.home-v471 .home-nav{height:68px}
.home-v471 .home-public-nav{gap:30px}
.home-v471 .home-public-nav a{font-size:13px}
.home-v471 .home-navtools{flex-shrink:0}
.home-v471 .home-brand{white-space:nowrap}
.home-v471 .home-account-chip{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-v471 .home-mobile-menu{padding-top:8px;padding-bottom:14px}
.home-mobile-menu-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:5px}
.home-mobile-menu-tools button,.home-mobile-menu-tools a{
  min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);
  color:var(--text);font:inherit;font-size:12px;font-weight:750;display:flex;align-items:center;justify-content:center
}

.home-first-hero{position:relative;padding:96px 0 78px;overflow:hidden}
.home-first-hero:before{
  content:"";position:absolute;width:680px;height:680px;border-radius:50%;
  right:-280px;top:-270px;pointer-events:none;
  background:radial-gradient(circle,rgba(66,210,140,.16),rgba(66,210,140,0) 66%);
  filter:blur(10px)
}
.home-first-hero .shell{position:relative;z-index:1}
.home-first-hero h1{max-width:980px;font-size:clamp(55px,7vw,88px);line-height:.94;margin-top:22px}
.home-first-hero .lead{max-width:800px;font-size:20px}
.home-hero-actions{margin-top:30px}
.home-hero-trust{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--muted);font-size:11px;font-weight:700}
.home-hero-trust span{
  width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);
  border:1px solid var(--accent-line);color:var(--accent)
}

.home-member-welcome{padding:0 0 22px}
.home-welcome-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;
  padding:22px;border:1px solid var(--accent-line);border-radius:24px;
  background:radial-gradient(circle at 85% 20%,var(--accent-soft),transparent 18rem),var(--surface-2);
  box-shadow:var(--shadow-soft)
}
.home-welcome-copy h2{font-size:27px;margin:5px 0 5px;letter-spacing:-.035em}
.home-welcome-copy p{margin:0;color:var(--muted);font-size:12px}
.home-welcome-stats{display:grid;grid-template-columns:repeat(3,90px);gap:7px}
.home-welcome-stats>div{padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.home-welcome-stats span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.home-welcome-stats strong{display:block;margin-top:4px;font-size:21px}

.home-section-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:30px;align-items:end;margin-bottom:25px}
.home-section-head h2{font-size:clamp(36px,5vw,56px);line-height:1.02;letter-spacing:-.05em;margin:7px 0 0;max-width:770px}
.home-section-head>p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}

.home-try-section{padding-top:72px}
.home-try-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.home-try-card{
  min-height:275px;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--surface-2);
  display:flex;flex-direction:column;transition:.2s ease;box-shadow:var(--shadow-soft)
}
.home-try-card:hover{transform:translateY(-4px);border-color:var(--accent-line)}
.home-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-card-top>span{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.12em}
.home-card-top>small{padding:6px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px;font-weight:750}
.home-try-card h3{font-size:29px;line-height:1;margin:54px 0 9px;letter-spacing:-.045em}
.home-try-card p{margin:0;color:var(--muted);line-height:1.55;font-size:12px}
.home-try-card>b{margin-top:auto;padding-top:24px;font-size:11px}

.home-area-section{padding:0 0 42px}
.home-area-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface)}
.home-area{min-height:118px;padding:17px;border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;gap:7px;transition:.18s}
.home-area:last-child{border-right:0}
.home-area:hover{background:var(--surface-2)}
.home-area b{font-size:17px}
.home-area span{color:var(--muted);font-size:10px;line-height:1.45}
.home-area i{font-style:normal;color:var(--accent);font-size:12px}

.home-journey-section{padding-top:45px}
.home-journey-card{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;padding:30px;border:1px solid var(--line);
  border-radius:30px;background:radial-gradient(circle at 20% 20%,var(--accent-soft),transparent 21rem),var(--surface-2);
  box-shadow:var(--shadow)
}
.home-journey-copy h2{font-size:clamp(36px,5vw,54px);line-height:1.02;letter-spacing:-.05em;margin:9px 0 13px}
.home-journey-copy p{max-width:520px;color:var(--muted);line-height:1.65}
.home-journey-steps{display:grid;gap:7px}
.home-journey-step{display:grid;grid-template-columns:39px 1fr;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.home-journey-step>span{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:900}
.home-journey-step b{display:block;font-size:12px}
.home-journey-step small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}

.home-products-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-product-card{display:grid;grid-template-columns:92px 1fr;gap:20px;align-items:start;padding:24px;border:1px solid var(--line);border-radius:25px;background:var(--surface-2)}
.home-product-card>img{width:78px;height:78px;object-fit:cover;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.home-product-card span{font-size:9px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-weight:850}
.home-product-card h3{font-size:28px;margin:7px 0 7px}
.home-product-card p{margin:0;color:var(--muted);line-height:1.55;font-size:12px}
.home-product-card a{display:inline-block;margin-top:18px;font-size:11px;font-weight:800}

.home-play-section{background:color-mix(in srgb,var(--bg-2) 80%,var(--surface));border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.home-play-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-play-card{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:25px;background:var(--surface-2);transition:.2s}
.home-play-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}
.home-play-card img{width:110px;height:110px;object-fit:cover;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.home-play-card span{font-size:9px;color:var(--accent);letter-spacing:.14em;font-weight:900}
.home-play-card h3{font-size:28px;margin:7px 0}
.home-play-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.home-play-card b{display:block;margin-top:14px;font-size:11px}

.home-about-card{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;padding:30px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2)}
.home-about-card h2{font-size:clamp(34px,4.6vw,52px);line-height:1.03;letter-spacing:-.05em;margin:8px 0 12px}
.home-about-card p{color:var(--muted);line-height:1.65;max-width:650px}
.home-about-links{display:grid;align-content:center;gap:8px}
.home-about-links a{padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:11px;font-weight:800}
.home-footer-tag{color:var(--muted);margin-top:14px}

/* Signed-in account menu: dropdown on desktop, bottom sheet on mobile. */
.home-account-backdrop{
  position:fixed;inset:0;z-index:410;background:rgba(2,10,7,.32);backdrop-filter:blur(3px)
}
.home-account-panel{
  position:fixed;z-index:420;top:76px;right:max(18px,calc((100vw - 1180px)/2));
  width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 92px);overflow:auto;
  padding:16px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--bg-3) 96%,transparent);
  box-shadow:0 26px 90px rgba(0,0,0,.30);backdrop-filter:blur(22px)
}
.home-account-handle{display:none}
.home-account-head{display:grid;grid-template-columns:48px 1fr 35px;gap:11px;align-items:center;padding:4px 3px 13px;border-bottom:1px solid var(--line-2)}
.home-account-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:var(--accent-soft);border:1px solid var(--accent-line);font-weight:850}
.home-account-avatar img{width:100%;height:100%;object-fit:cover}
.home-account-person b{display:block;font-size:13px}
.home-account-person small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.home-account-close{width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:19px;cursor:pointer}
.home-account-progress{grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}
.home-account-progress:not([hidden]){display:grid}
.home-account-progress>div{padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.home-account-progress span{display:block;color:var(--muted);font-size:8px}
.home-account-progress strong{display:block;margin-top:3px;font-size:18px}
.home-account-links{display:grid;gap:5px}
.home-account-links>a{display:grid;grid-template-columns:34px 1fr 12px;gap:9px;align-items:center;padding:10px;border-radius:13px;transition:.15s}
.home-account-links>a:hover{background:var(--surface)}
.home-menu-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);font-size:10px;font-weight:900;color:var(--accent)}
.home-account-links b{display:block;font-size:11px}
.home-account-links small{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.home-account-links i{font-style:normal;color:var(--muted)}
.home-signout{width:100%;min-height:43px;margin-top:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.home-signout:hover{color:var(--text);border-color:var(--accent-line)}
body.home-account-open{overflow:hidden}

.home-member-nav{display:none}

@media(max-width:1100px){
  .home-v471 .home-public-nav{gap:18px}
}
@media(max-width:980px){
  .home-v471 .home-public-nav{display:none}
  .home-v471 .home-menu-btn{display:grid}
  .home-try-grid{grid-template-columns:1fr 1fr}
  .home-area-grid{grid-template-columns:1fr 1fr 1fr}
  .home-area{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .home-area:nth-child(3){border-right:0}
  .home-area:nth-last-child(-n+2){border-bottom:0}
  .home-journey-card{grid-template-columns:1fr}
  .home-products-grid,.home-play-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .home-v471{padding-bottom:0}
  .home-v471.has-home-member-nav{padding-bottom:78px}
  .home-v471 .home-nav{height:62px;gap:8px}
  .home-v471 .home-brand{gap:8px}
  .home-v471 .home-brand img{width:36px;height:36px;border-radius:12px}
  .home-v471 .home-brand span{font-size:14px}
  .home-v471 .home-theme,.home-v471 .home-lang{display:none}
  .home-v471 .home-account-chip{min-height:38px;max-width:120px;padding:0 10px;border-radius:12px;font-size:10px}
  .home-v471 .home-account-chip.is-signed-in:before{width:7px;height:7px;margin-right:6px;box-shadow:0 0 0 4px var(--accent-soft)}
  .home-v471 .home-menu-btn{min-width:38px;width:38px;height:38px;padding:0;border-radius:12px}
  .home-v471 .home-mobile-menu{position:absolute;left:0;right:0;top:62px;width:100%;padding:9px 11px 14px;background:color-mix(in srgb,var(--bg) 96%,transparent);border-bottom:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(20px)}
  .home-v471 .home-mobile-menu a{min-height:46px;padding:0 13px;display:flex;align-items:center}

  .home-first-hero{padding:48px 0 47px}
  .home-first-hero:before{width:420px;height:420px;right:-250px;top:-180px}
  .home-first-hero h1{font-size:45px;line-height:.96;letter-spacing:-.055em;margin:17px 0 16px}
  .home-first-hero .lead{font-size:16px;line-height:1.6}
  .home-hero-actions{display:grid;grid-template-columns:1fr;margin-top:23px}
  .home-hero-actions .btn{width:100%;min-height:50px}
  .home-hero-trust{font-size:10px}

  .home-member-welcome{padding-top:8px}
  .home-welcome-card{grid-template-columns:1fr;padding:18px;gap:14px}
  .home-welcome-stats{grid-template-columns:repeat(3,1fr)}
  .home-welcome-card>.btn{width:100%}

  .home-v471 .section{padding:54px 0}
  .home-section-head{display:block;margin-bottom:19px}
  .home-section-head h2{font-size:35px}
  .home-section-head>p{margin-top:10px}
  .home-try-section{padding-top:50px}
  .home-try-grid{grid-template-columns:1fr 1fr;gap:8px}
  .home-try-card{min-height:205px;padding:16px;border-radius:19px}
  .home-card-top>small{font-size:7px}
  .home-try-card h3{font-size:23px;margin:34px 0 7px}
  .home-try-card p{font-size:10px}
  .home-try-card>b{padding-top:15px;font-size:9px}

  .home-area-section{padding:0 0 28px}
  .home-area-grid{grid-template-columns:1fr}
  .home-area{min-height:78px;border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:13px 14px}
  .home-area:last-child{border-bottom:0}
  .home-area:nth-child(3){border-right:0}
  .home-area:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .home-area:last-child{border-bottom:0}
  .home-area b{font-size:15px}
  .home-area span{font-size:9px}
  .home-area i{grid-column:2;grid-row:1/-1;align-self:center}

  .home-journey-section{padding-top:30px!important}
  .home-journey-card{padding:19px;border-radius:23px}
  .home-journey-copy h2{font-size:35px}
  .home-journey-copy .btn{width:100%}
  .home-journey-step{padding:10px}

  .home-product-card{grid-template-columns:62px 1fr;padding:17px;gap:14px;border-radius:20px}
  .home-product-card>img{width:60px;height:60px;border-radius:16px}
  .home-product-card h3{font-size:23px}
  .home-play-card{grid-template-columns:78px 1fr;padding:16px;gap:14px;border-radius:20px}
  .home-play-card img{width:74px;height:74px;border-radius:17px}
  .home-play-card h3{font-size:22px}
  .home-about-card{grid-template-columns:1fr;padding:20px;border-radius:22px}
  .home-about-card h2{font-size:35px}

  .home-v471 .home-footer{padding-bottom:40px}
  .home-v471 .footer-grid{grid-template-columns:1fr 1fr;gap:18px}
  .home-v471 .footer-grid>div:first-child{grid-column:1/-1}

  .home-account-backdrop{background:rgba(1,7,5,.52)}
  .home-account-panel{
    top:auto;left:0;right:0;bottom:0;width:100%;max-height:min(83vh,760px);padding:9px 13px calc(14px + env(safe-area-inset-bottom));
    border-radius:24px 24px 0 0;border-left:0;border-right:0;border-bottom:0
  }
  .home-account-handle{display:block;width:42px;height:4px;border-radius:99px;background:var(--line);margin:2px auto 10px}
  .home-account-head{padding-bottom:10px}
  .home-account-links>a{padding:9px}
  .home-account-links small{display:none}

  .home-member-nav:not([hidden]){
    position:fixed;left:8px;right:8px;bottom:8px;z-index:380;
    display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px;
    border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--bg) 94%,transparent);
    box-shadow:0 18px 50px rgba(0,0,0,.25);backdrop-filter:blur(20px)
  }
  .home-member-nav a{min-height:51px;border-radius:14px;display:grid;place-items:center;align-content:center;gap:3px;color:var(--muted)}
  .home-member-nav a.is-active{background:var(--surface);color:var(--text)}
  .home-member-nav span{font-size:13px}
  .home-member-nav b{font-size:7px;font-weight:800}
}
@media(max-width:390px){
  .home-v471 .home-brand span{display:none}
  .home-v471 .home-account-chip{max-width:116px}
  .home-first-hero h1{font-size:40px}
  .home-try-grid{grid-template-columns:1fr}
  .home-try-card{min-height:180px}
  .home-try-card h3{margin-top:24px}
  .home-v471 .footer-grid{grid-template-columns:1fr}
  .home-v471 .footer-grid>div:first-child{grid-column:auto}
}


/* ===== V5.0 — Douvi Labs Brand Architecture ===== */
.labs-header{z-index:320}
.labs-nav{height:68px}
.labs-public-nav{gap:28px}
.labs-public-nav a{font-size:12px}
.labs-public-nav a.is-active{color:var(--text)}
.labs-public-nav a.is-active:after{content:"";display:block;height:2px;border-radius:99px;background:var(--accent);margin-top:6px}
.labs-account-chip{max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.labs-mobile-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:7px}
.labs-mobile-tools button,.labs-mobile-tools a{min-height:44px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;font-weight:750;display:flex;align-items:center;justify-content:center}

.labs-v5-hero{position:relative;padding:100px 0 82px;overflow:hidden}
.labs-v5-hero:after{content:"";position:absolute;width:760px;height:760px;border-radius:50%;right:-330px;top:-330px;background:radial-gradient(circle,rgba(71,224,151,.17),transparent 66%);pointer-events:none}
.labs-v5-hero .shell{position:relative;z-index:1}
.labs-v5-hero h1{max-width:1030px;font-size:clamp(58px,7.6vw,96px);line-height:.93;letter-spacing:-.065em;margin:23px 0 24px}
.labs-v5-hero .lead{max-width:790px;font-size:19px;line-height:1.65}
.labs-v5-hero-note{margin-top:20px;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:850}

.labs-v5-section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:end;margin-bottom:25px}
.labs-v5-section-head h2{font-size:clamp(38px,5.2vw,58px);line-height:1;letter-spacing:-.055em;margin:8px 0 0}
.labs-v5-section-head>p{margin:0;color:var(--muted);line-height:1.65}

.labs-v5-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.labs-v5-category{min-height:390px;padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--surface-2);display:flex;flex-direction:column;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
.labs-v5-category:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-130px;top:-130px;background:var(--accent-soft);pointer-events:none}
.labs-v5-category-top{display:flex;justify-content:space-between;position:relative;z-index:1}
.labs-v5-category-top span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em}
.labs-v5-category-top b{font-size:10px;letter-spacing:.14em;color:var(--accent)}
.labs-v5-category h3{font-size:35px;letter-spacing:-.05em;margin:70px 0 10px;position:relative;z-index:1}
.labs-v5-category>p{color:var(--muted);line-height:1.6;max-width:530px}
.labs-v5-current{margin-top:auto;padding-top:28px}
.labs-v5-current>small{display:block;margin-bottom:7px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.labs-v5-current>a{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.labs-v5-current strong{font-size:15px}
.labs-v5-current span{color:var(--muted);font-size:9px;text-align:right}
.labs-v5-category-link{display:inline-block;margin-top:14px;font-size:10px;font-weight:850}

.labs-v5-platform-card{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;padding:30px;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 78% 20%,var(--accent-soft),transparent 20rem),var(--surface-2);box-shadow:var(--shadow)}
.labs-v5-platform-card h2{font-size:clamp(38px,5vw,56px);line-height:1.02;letter-spacing:-.055em;margin:9px 0 13px}
.labs-v5-platform-card p{color:var(--muted);line-height:1.65;max-width:650px}
.labs-v5-platform-map{align-self:center;padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.platform-core{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--accent-line);border-radius:17px;background:var(--accent-soft)}
.platform-core img{width:42px;height:42px;border-radius:13px}
.platform-core b{font-size:17px}
.platform-items{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.platform-items span{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);font-size:10px;font-weight:750}

.labs-v5-ai-card{display:grid;grid-template-columns:95px 1fr auto;gap:22px;align-items:center;padding:25px;border:1px solid var(--line);border-radius:25px;background:var(--surface-2)}
.labs-v5-ai-mark{width:84px;height:84px;border-radius:23px;display:grid;place-items:center;border:1px solid var(--accent-line);background:var(--accent-soft);font-size:27px;font-weight:900;color:var(--accent)}
.labs-v5-ai-card h2{font-size:30px;margin:5px 0 5px}
.labs-v5-ai-card p{margin:0;color:var(--muted);line-height:1.55}

.labs-v5-about{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;padding:30px;border:1px solid var(--line);border-radius:28px;background:var(--surface-2)}
.labs-v5-about h2{font-size:clamp(38px,5vw,55px);line-height:1.02;letter-spacing:-.055em;margin:8px 0 12px}
.labs-v5-about p{color:var(--muted);line-height:1.65}
.labs-v5-about-links{display:grid;align-content:center;gap:7px}
.labs-v5-about-links a{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:11px;font-weight:800}
.labs-footer-tag{color:var(--muted);margin-top:13px}

/* Portfolio hubs */
.labs-hub-hero{padding:78px 0 32px}
.labs-hub-hero h1{font-size:clamp(50px,7vw,78px);max-width:980px;line-height:.96;letter-spacing:-.06em;margin:19px 0}
.labs-hub-hero .lead{max-width:800px;font-size:17px;line-height:1.65}
.labs-product-stack{display:grid;gap:10px}
.labs-product-row{display:grid;grid-template-columns:88px 1fr 35px;gap:20px;align-items:center;padding:23px;border:1px solid var(--line);border-radius:23px;background:var(--surface-2);transition:.2s}
.labs-product-row:hover{transform:translateY(-2px);border-color:var(--accent-line)}
.labs-product-icon{width:78px;height:78px;border-radius:20px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.labs-product-icon img{width:65px;height:65px;object-fit:contain}
.labs-product-row span{color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:850}
.labs-product-row h2{font-size:32px;margin:5px 0}
.labs-product-row p{margin:0;color:var(--muted)}
.labs-product-row i{font-style:normal;color:var(--accent);font-size:21px}
.labs-future-note{margin-top:15px;padding:18px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
.labs-future-note span{font-size:8px;letter-spacing:.12em;font-weight:900;color:var(--accent)}
.labs-future-note p{margin:7px 0 0}

.labs-game-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.labs-game-card{display:grid;grid-template-columns:135px 1fr;gap:20px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:25px;background:var(--surface-2);transition:.2s}
.labs-game-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}
.labs-game-card img{width:125px;height:125px;object-fit:cover;border-radius:24px;border:1px solid var(--line);background:var(--surface)}
.labs-game-card span{color:var(--accent);font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.labs-game-card h2{font-size:33px;margin:6px 0}
.labs-game-card p{color:var(--muted);line-height:1.55}
.labs-game-card b{font-size:10px}

.labs-experiment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.labs-experiment-card{min-height:260px;padding:22px;border:1px solid var(--line);border-radius:23px;background:var(--surface-2);display:flex;flex-direction:column;transition:.2s}
.labs-experiment-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}
.labs-experiment-card>span{color:var(--accent);font-size:9px;letter-spacing:.13em;font-weight:900}
.labs-experiment-card h2{font-size:29px;line-height:1.05;letter-spacing:-.04em;margin:48px 0 8px}
.labs-experiment-card p{color:var(--muted);line-height:1.55}
.labs-experiment-card b{margin-top:auto;font-size:10px}
.labs-experiment-note{margin-top:12px;padding:18px;border:1px dashed var(--line);border-radius:18px}
.labs-experiment-note p{margin:5px 0 0;color:var(--muted)}

.labs-principles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.labs-principles article{min-height:230px;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface-2)}
.labs-principles span{color:var(--accent);font-size:9px;font-weight:900}
.labs-principles h2{font-size:28px;margin:48px 0 8px}
.labs-principles p{color:var(--muted);line-height:1.55}

.labs-origin-strip{padding:12px 0;border-bottom:1px solid var(--line-2);background:var(--surface)}
.labs-origin-strip a{font-size:9px;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.game-origin-label{padding:9px 14px;text-align:center;border-bottom:1px solid var(--line-2);color:var(--muted);font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:900}

/* Global account drawer */
.labs-account-backdrop{position:fixed;inset:0;z-index:410;background:rgba(2,10,7,.34);backdrop-filter:blur(3px)}
.labs-account-panel{position:fixed;z-index:420;top:76px;right:max(18px,calc((100vw - 1180px)/2));width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 92px);overflow:auto;padding:16px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--bg-3) 96%,transparent);box-shadow:0 26px 90px rgba(0,0,0,.3);backdrop-filter:blur(22px)}
.labs-account-handle{display:none}
.labs-account-head{display:grid;grid-template-columns:48px 1fr 35px;gap:11px;align-items:center;padding:4px 3px 13px;border-bottom:1px solid var(--line-2)}
.labs-account-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:var(--accent-soft);border:1px solid var(--accent-line);font-weight:850}
.labs-account-avatar img{width:100%;height:100%;object-fit:cover}
.labs-account-person b{display:block;font-size:13px}.labs-account-person small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.labs-account-close{width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:19px;cursor:pointer}
.labs-account-progress{grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.labs-account-progress:not([hidden]){display:grid}
.labs-account-progress>div{padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.labs-account-progress span{display:block;color:var(--muted);font-size:8px}.labs-account-progress strong{display:block;margin-top:3px;font-size:18px}
.labs-account-links{display:grid;gap:5px}
.labs-account-links>a{display:grid;grid-template-columns:34px 1fr 12px;gap:9px;align-items:center;padding:10px;border-radius:13px;transition:.15s}
.labs-account-links>a:hover{background:var(--surface)}
.labs-menu-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);font-size:10px;font-weight:900;color:var(--accent)}
.labs-account-links b{display:block;font-size:11px}.labs-account-links small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.labs-account-links i{font-style:normal;color:var(--muted)}
.labs-signout{width:100%;min-height:43px;margin-top:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font:inherit;font-size:10px;font-weight:800;cursor:pointer}
body.labs-account-open{overflow:hidden}

@media(max-width:980px){
  .labs-public-nav{display:none}
  .labs-menu-btn{display:grid}
  .labs-v5-category-grid,.labs-game-grid,.labs-experiment-grid,.labs-principles{grid-template-columns:1fr}
  .labs-v5-platform-card{grid-template-columns:1fr}
}
@media(max-width:720px){
  .labs-nav{height:62px;gap:8px}
  .labs-brand img{width:36px;height:36px;border-radius:12px}
  .labs-brand span{font-size:14px}
  .labs-theme,.labs-lang{display:none}
  .labs-account-chip{min-height:38px;max-width:120px;padding:0 10px;border-radius:12px;font-size:10px}
  .labs-menu-btn{min-width:38px;width:38px;height:38px;padding:0;border-radius:12px}
  .labs-mobile-menu{position:absolute;left:0;right:0;top:62px;width:100%;padding:9px 11px 14px;background:color-mix(in srgb,var(--bg) 96%,transparent);border-bottom:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(20px)}
  .labs-mobile-menu a{min-height:46px;padding:0 13px;display:flex;align-items:center}

  .labs-v5-hero{padding:52px 0 48px}
  .labs-v5-hero h1{font-size:46px;line-height:.95;margin:17px 0}
  .labs-v5-hero .lead{font-size:15px}
  .labs-v5-hero .hero-actions{display:grid;grid-template-columns:1fr}
  .labs-v5-hero .btn{width:100%}
  .labs-v5-section-head{display:block}
  .labs-v5-section-head h2{font-size:35px}.labs-v5-section-head>p{margin-top:10px}

  .labs-v5-category{min-height:330px;padding:18px;border-radius:22px}
  .labs-v5-category h3{font-size:30px;margin-top:48px}
  .labs-v5-current>a{align-items:start;display:grid}
  .labs-v5-current span{text-align:left}
  .labs-v5-platform-card,.labs-v5-about{grid-template-columns:1fr;padding:20px;border-radius:23px}
  .labs-v5-platform-card h2,.labs-v5-about h2{font-size:35px}
  .labs-v5-ai-card{grid-template-columns:64px 1fr;padding:18px}.labs-v5-ai-mark{width:60px;height:60px;border-radius:17px;font-size:20px}.labs-v5-ai-card>.btn{grid-column:1/-1;width:100%}

  .labs-hub-hero{padding:48px 0 20px}.labs-hub-hero h1{font-size:43px}
  .labs-product-row{grid-template-columns:62px 1fr 20px;padding:16px;gap:13px}.labs-product-icon{width:58px;height:58px;border-radius:16px}.labs-product-icon img{width:48px;height:48px}.labs-product-row h2{font-size:24px}.labs-product-row p{font-size:10px}
  .labs-game-card{grid-template-columns:82px 1fr;padding:16px;gap:14px}.labs-game-card img{width:78px;height:78px;border-radius:18px}.labs-game-card h2{font-size:25px}
  .labs-experiment-card{min-height:210px;padding:17px}.labs-experiment-card h2{font-size:24px;margin-top:34px}
  .labs-principles article{min-height:190px;padding:17px}.labs-principles h2{font-size:24px;margin-top:35px}

  .labs-account-backdrop{background:rgba(1,7,5,.52)}
  .labs-account-panel{top:auto;left:0;right:0;bottom:0;width:100%;max-height:min(83vh,760px);padding:9px 13px calc(14px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border-left:0;border-right:0;border-bottom:0}
  .labs-account-handle{display:block;width:42px;height:4px;border-radius:99px;background:var(--line);margin:2px auto 10px}
  .labs-account-links small{display:none}
}
@media(max-width:390px){
  .labs-brand span{display:none}
  .labs-v5-hero h1{font-size:40px}
  .platform-items{grid-template-columns:1fr}
}


/* ===== V5.1 — Data-driven Portfolio System ===== */
.portfolio-hub-actions{margin-top:20px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.portfolio-loading,.portfolio-empty{grid-column:1/-1;padding:28px;border:1px dashed var(--line);border-radius:20px;color:var(--muted);text-align:center}
.portfolio-card{min-height:310px;padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--surface-2);display:flex;flex-direction:column;transition:.2s ease;box-shadow:var(--shadow-soft);overflow:hidden}
.portfolio-card:hover{transform:translateY(-3px);border-color:var(--accent-line)}
.portfolio-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.portfolio-visual{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);background:var(--surface);font-weight:900;font-size:16px;color:var(--accent)}
.portfolio-visual img{width:100%;height:100%;object-fit:cover}
.portfolio-status{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border-radius:999px;border:1px solid var(--line);font-size:7px;letter-spacing:.1em;font-weight:900}
.portfolio-status.is-live{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}
.portfolio-status.is-beta{color:#c9b3ff;background:rgba(160,120,255,.10);border-color:rgba(160,120,255,.20)}
.portfolio-status.is-experiment{color:#e9c989;background:rgba(233,201,137,.08);border-color:rgba(233,201,137,.18)}
.portfolio-status.is-research{color:#95c9ee;background:rgba(80,170,230,.08);border-color:rgba(80,170,230,.18)}
.portfolio-card-meta{display:flex;gap:8px;margin-top:35px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.portfolio-card-meta span+span:before{content:"·";margin-right:8px}
.portfolio-card h3{font-size:27px;line-height:1.02;letter-spacing:-.045em;margin:9px 0 8px}
.portfolio-card p{margin:0;color:var(--muted);line-height:1.55;font-size:11px}
.portfolio-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;color:var(--muted);font-size:9px}
.portfolio-card-foot b{color:var(--accent);font-size:16px}
.portfolio-filterbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}
.portfolio-filterbar button{min-height:37px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:9px;font-weight:850;cursor:pointer}
.portfolio-filterbar button.is-active{color:var(--text);background:var(--accent-soft);border-color:var(--accent-line)}

.portfolio-home-all{display:inline-block;margin-top:14px;font-size:10px;font-weight:850;color:var(--accent)}
.portfolio-home-latest{margin-top:auto;padding-top:28px}
.portfolio-latest-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.portfolio-latest-item .portfolio-visual{width:40px;height:40px;border-radius:12px;font-size:10px}
.portfolio-latest-item>span{min-width:0}
.portfolio-latest-item strong{display:block;font-size:12px}
.portfolio-latest-item small{display:block;margin-top:3px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portfolio-latest-item .portfolio-status{font-size:6px;min-height:23px;padding:0 7px}

/* Standardized work detail template */
.work-detail-hero{padding:60px 0 36px}
.work-back{display:inline-block;margin-bottom:25px;color:var(--muted);font-size:10px;font-weight:800}
.work-detail-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:center}
.work-detail-visual{width:220px;height:220px;border-radius:42px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 30% 20%,var(--accent-soft),transparent 12rem),var(--surface-2);box-shadow:var(--shadow);font-size:54px;font-weight:900;color:var(--accent)}
.work-detail-visual img{width:100%;height:100%;object-fit:cover}
.work-detail-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.work-detail-badges>span:not(.portfolio-status){display:inline-flex;min-height:27px;align-items:center;padding:0 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px;font-weight:800}
.work-detail-copy h1{font-size:clamp(50px,7vw,78px);margin:16px 0 8px}
.work-summary{font-size:20px;font-weight:750;margin:0 0 8px}
.work-detail-copy .lead{font-size:15px;max-width:760px}
.work-detail-panels{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}
.work-detail-panel{padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface-2)}
.work-detail-panel h2{font-size:29px;margin:8px 0 10px}
.work-detail-panel p{color:var(--muted);line-height:1.65}
.work-detail-panel dl{margin:13px 0 0}
.work-detail-panel dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-2)}
.work-detail-panel dl>div:last-child{border-bottom:0}
.work-detail-panel dt{color:var(--muted);font-size:9px}
.work-detail-panel dd{margin:0;font-size:11px;font-weight:750}
.work-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.work-tags span{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:8px;font-weight:750}

@media(max-width:980px){
  .portfolio-grid{grid-template-columns:1fr 1fr}
  .work-detail-grid{grid-template-columns:180px 1fr}.work-detail-visual{width:170px;height:170px;border-radius:34px}
}
@media(max-width:680px){
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-card{min-height:250px}
  .portfolio-card-meta{margin-top:26px}
  .work-detail-hero{padding-top:40px}
  .work-detail-grid{grid-template-columns:1fr;gap:20px}
  .work-detail-visual{width:112px;height:112px;border-radius:27px;font-size:30px}
  .work-detail-copy h1{font-size:46px}
  .work-summary{font-size:17px}
  .work-detail-copy .hero-actions{display:grid;grid-template-columns:1fr}.work-detail-copy .btn{width:100%}
  .work-detail-panels{grid-template-columns:1fr}
}
