/* HAMOU MATH v46 — unified premium product shell
   Visual layer only. Existing IDs/routes/contracts are preserved. */
:root{
  --hm46-bg:#07101f;
  --hm46-surface:rgba(11,25,48,.88);
  --hm46-surface-2:rgba(17,38,70,.92);
  --hm46-line:rgba(95,180,255,.20);
  --hm46-text:#f5f9ff;
  --hm46-muted:#a9bad1;
  --hm46-blue:#19a7ff;
  --hm46-cyan:#35e2ff;
  --hm46-violet:#8b5cf6;
  --hm46-gold:#d9b45b;
  --hm46-radius:22px;
  --hm46-shadow:0 24px 80px rgba(0,0,0,.28);
}
html{background:var(--hm46-bg)!important}
body{
  min-height:100%;
  background:
    radial-gradient(900px 520px at 8% -12%,rgba(25,167,255,.17),transparent 62%),
    radial-gradient(820px 500px at 100% 0,rgba(139,92,246,.14),transparent 62%),
    linear-gradient(180deg,#071329 0%,#081526 48%,#06101e 100%)!important;
}
body:before{opacity:.07!important;background-size:42px 42px!important}
::selection{background:rgba(25,167,255,.30);color:#fff}

/* Navigation: one clear hierarchy */
#hamou-navbar,.topbar,.site-header,header{position:sticky;top:0;z-index:80}
#hamou-navbar .hm-top,.topbar,.site-header,header.topbar{
  background:rgba(5,16,34,.82)!important;
  border-bottom:1px solid rgba(82,181,255,.18)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(22px) saturate(150%)!important;
}
#hamou-navbar .hm-wrap,.navbar{max-width:1460px!important;min-height:72px!important}
.brand-badge,.math-badge,#hamou-navbar .hm-logo{
  border-radius:17px!important;
  background:linear-gradient(135deg,#078cff,#20dcff 62%,#8b5cf6)!important;
  box-shadow:0 12px 34px rgba(0,155,255,.26)!important;
}

/* Surfaces: fewer, stronger, consistent */
.card,.panel,.section,.hero-card,.function-card,.resource-card,.feature-card,.tool-card,
.dashboard-card,.workspace-card,.ai-card,.ai-panel,.solution-card,.auth-box,.banner{
  border:1px solid var(--hm46-line)!important;
  border-radius:var(--hm46-radius)!important;
  background:linear-gradient(145deg,rgba(12,31,59,.91),rgba(7,19,37,.93))!important;
  box-shadow:var(--hm46-shadow)!important;
  backdrop-filter:blur(16px)!important;
}
.card:hover,.function-card:hover,.resource-card:hover,.feature-card:hover,.tool-card:hover{
  border-color:rgba(53,226,255,.34)!important;
  transform:translateY(-2px);
  box-shadow:0 28px 90px rgba(0,116,255,.14)!important;
}

/* Hero: strong visual focal point, no repeated copy blocks */
.hero{padding:76px 0 48px!important}
.hero-grid{gap:24px!important}
.hero h1,.hm-hero h1{font-weight:950!important;line-height:1.04!important;letter-spacing:-.045em!important}
.hero h1 strong,.hero .accent,.hm-hero .accent{background:linear-gradient(90deg,#fff,#65e8ff 48%,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-card{position:relative;overflow:hidden!important}
.hero-card:before{content:"";position:absolute;inset:-45% auto auto -15%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(38,211,255,.25),transparent 66%);pointer-events:none}

/* Controls and selectors: premium but calm */
input,textarea,select,.input,.select{
  min-height:46px!important;
  background:rgba(5,19,38,.82)!important;
  border:1px solid rgba(87,178,255,.20)!important;
  border-radius:14px!important;
  color:#f7fbff!important;
}
select{cursor:pointer}
input:focus,textarea:focus,select:focus,.input:focus,.select:focus{
  border-color:rgba(53,226,255,.62)!important;
  box-shadow:0 0 0 4px rgba(25,167,255,.10),0 0 30px rgba(25,167,255,.07)!important;
}
label{font-weight:850!important;color:#e8f2ff!important}

button,.btn,.primary-btn,.secondary-btn,.success-btn,.danger-btn,a.btn,.hm-btn{
  min-height:44px;
  border-radius:14px!important;
  font-weight:900!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
.primary-btn,.btn-primary,.hm-btn-primary,.success-btn{
  background:linear-gradient(135deg,#078cff,#19cfff 60%,#7c5cff)!important;
  border:1px solid rgba(130,235,255,.28)!important;
  box-shadow:0 12px 30px rgba(0,139,255,.22)!important;
}
.secondary-btn{background:rgba(16,39,71,.92)!important;border:1px solid rgba(87,178,255,.20)!important;box-shadow:none!important}
button:hover,.btn:hover,.primary-btn:hover,.secondary-btn:hover,.success-btn:hover,a.btn:hover{transform:translateY(-2px)!important;filter:brightness(1.06)!important}

/* Teacher Studio workspace */
.wrap{width:min(1480px,calc(100% - 28px))!important;margin-inline:auto!important}
.wrap>.hero{border-radius:28px!important}
.lesson-plan-panel{
  border:1px solid rgba(53,226,255,.18)!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(10,32,61,.9),rgba(6,20,39,.9))!important;
}
.lesson-plan-list{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;gap:12px!important}
.lesson-plan-item{
  border:1px solid rgba(89,181,255,.16)!important;
  background:rgba(8,24,47,.78)!important;
  border-radius:16px!important;
}
.lesson-plan-item:hover,.lesson-plan-item.selected{border-color:rgba(53,226,255,.55)!important;background:linear-gradient(145deg,rgba(15,59,93,.8),rgba(13,34,67,.85))!important}
.lesson-plan-number{color:#4de6ff!important}

/* Status hierarchy */
.notice,.status,.lesson-plan-status,#officialGroundingStatus{border-radius:14px!important}
.status.ok{color:#53e6a5!important}.status.err{color:#ff829b!important}

/* Document preview: premium paper inside dark workspace */
.preview,.document-preview,.preview-shell{background:linear-gradient(180deg,#dfe7f1,#cbd6e3)!important;border:1px solid rgba(116,188,255,.22)!important;border-radius:22px!important;padding:28px!important}
.preview .hd-doc,.hd-preview .hd-doc,.preview-page,.document-page,.a4-page,.paper,.memo-page{
  background:#fff!important;color:#172033!important;
  box-shadow:0 24px 70px rgba(0,0,0,.26)!important;
  border:1px solid #d7dee8!important;
}

/* Data tables */
table{border-radius:16px!important;overflow:hidden!important;border:1px solid rgba(87,178,255,.18)!important}
th{font-weight:900!important}

/* Mathematics and variation tables */
.hd-math,.hd-formula{font-family:"Cambria Math","STIX Two Math","Noto Naskh Arabic",serif!important}
.hd-variation{margin:4mm 0 5mm;break-inside:avoid;page-break-inside:avoid;overflow-x:auto}
.hd-variation table{width:100%;border-collapse:collapse;background:#fff!important;color:#172033!important;border:1.2px solid #7b8798!important}
.hd-variation th,.hd-variation td{border:1px solid #9aa6b5!important;padding:7px 9px!important;text-align:center!important;vertical-align:middle!important;min-width:70px}
.hd-variation th{background:#eef2f6!important;color:#111827!important;font-weight:900!important}
.hd-variation .inc{color:#087a50!important;font-weight:900}.hd-variation .dec{color:#a3263a!important;font-weight:900}
.hd-graph{border-radius:16px!important;border:1px solid #cfd8e3!important;background:#fff!important;padding:4mm!important}

/* Reduce visual repetition in action groups */
.buttons{gap:9px!important}
.buttons+.buttons{margin-top:8px!important}

/* Mobile */
@media(max-width:900px){
  .wrap{width:calc(100% - 18px)!important}
  .hero{padding:48px 0 32px!important}
}
@media(max-width:640px){
  .wrap{width:calc(100% - 14px)!important}
  .card,.panel,.section,.hero-card,.function-card{border-radius:18px!important}
  .buttons{display:grid!important;grid-template-columns:1fr!important}
  .lesson-plan-list{grid-template-columns:1fr!important}
  .preview{padding:12px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
