@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+Khmer:wght@400;500;600;700&family=Noto+Sans+Khmer:wght@400;500;600;700&display=swap");
html[lang="km"], body.kiks-kh-ui { font-family: "Noto Serif Khmer", "Noto Sans Khmer", "Khmer OS Battambang", "Khmer OS Siemreap", "Khmer OS", serif; }
body.kiks-kh-ui { line-height: 1.75; word-break: normal; overflow-wrap: anywhere; }
body.kiks-kh-ui h1, body.kiks-kh-ui h2, body.kiks-kh-ui h3, body.kiks-kh-ui p, body.kiks-kh-ui a, body.kiks-kh-ui button, body.kiks-kh-ui li, body.kiks-kh-ui span, body.kiks-kh-ui div { letter-spacing: 0; }
body.kiks-kh-ui h1 { line-height: 1.35; }
body.kiks-kh-ui h2, body.kiks-kh-ui h3 { line-height: 1.45; }
body.kiks-kh-ui p, body.kiks-kh-ui li { line-height: 1.8; }
body.kiks-kh-ui .btn, body.kiks-kh-ui button, body.kiks-kh-ui a.btn { min-height: 44px; white-space: normal; line-height: 1.45; align-items: center; justify-content: center; }
.kiks-kh-guide { background:#fff; border:1px solid #E8E4DC; border-left:6px solid #14366A; border-radius:14px; padding:18px 20px; margin:0 0 18px; box-shadow:0 10px 25px rgba(20,54,106,.06); }
.kiks-kh-guide h2 { margin:0 0 8px; color:#14366A; font-size:20px; }
.kiks-kh-guide p { margin:0; color:#374151; font-size:14px; }
.kiks-kh-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.kiks-kh-tags span { display:inline-flex; border:1px solid #E5E7EB; background:#F8FAFC; border-radius:999px; padding:6px 10px; color:#374151; font-size:12px; line-height:1.45; }
.kiks-kh-lesson-title { display:block; color:#6B7280; font-size:.82em; margin-top:4px; line-height:1.55; }
@media(max-width:480px){ .kiks-kh-guide{padding:15px 16px}.kiks-kh-guide h2{font-size:18px} body.kiks-kh-ui .card, body.kiks-kh-ui .section, body.kiks-kh-ui .panel{min-width:0} }

.kiks-kh-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.kiks-kh-policy-card{background:#F8FAFC;border:1px solid #E5E7EB;border-radius:12px;padding:13px 14px;min-width:0}.kiks-kh-policy-card b{display:block;color:#14366A;font-size:13px;margin-bottom:5px;line-height:1.55}.kiks-kh-policy-card p{margin:0;color:#374151;font-size:12px;line-height:1.75}.kiks-kh-alert{border-left-color:#DC2626;background:#FFF7ED}.kiks-kh-support-scope{background:#F9FAFB;border:1px solid #E5E7EB;border-radius:12px;padding:14px;margin-top:14px}.kiks-kh-support-scope ul{margin:8px 0 0;padding-left:18px;line-height:1.8}.kiks-kh-support-scope li{margin:3px 0}.kiks-kh-small{font-size:12px;color:#6B7280;line-height:1.75}@media(max-width:640px){.kiks-kh-policy-grid{grid-template-columns:1fr}.kiks-kh-tags span{max-width:100%}.kiks-kh-guide{margin-bottom:14px}}

/* July1 Khmer-first learner UX refinements */
body.kiks-kh-ui { text-rendering: optimizeLegibility; }
body.kiks-kh-ui * { max-width: 100%; }
body.kiks-kh-ui .content, body.kiks-kh-ui .page, body.kiks-kh-ui .wrap { overflow-x: hidden; }
body.kiks-kh-ui .card, body.kiks-kh-ui .section, body.kiks-kh-ui .panel, body.kiks-kh-ui .qz, body.kiks-kh-ui .weak, body.kiks-kh-ui .弱点 { min-width: 0; overflow-wrap: anywhere; }
body.kiks-kh-ui .btn, body.kiks-kh-ui button, body.kiks-kh-ui a.btn { min-width: 0; padding-top: 10px; padding-bottom: 10px; height: auto; text-align: center; }
body.kiks-kh-ui .actions, body.kiks-kh-ui .行動s, body.kiks-kh-ui .cta { gap: 10px; }
.kiks-kh-focus-card { background:#fff; border:1px solid #D9E2F2; border-left:7px solid #14366A; border-radius:16px; padding:18px 20px; margin:0 0 16px; box-shadow:0 12px 30px rgba(20,54,106,.07); }
.kiks-kh-focus-card h2 { margin:0 0 8px; color:#14366A; font-size:21px; line-height:1.45; }
.kiks-kh-focus-card p { margin:0; color:#374151; font-size:14px; line-height:1.85; }
.kiks-kh-primary-cta { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.kiks-kh-primary-cta a, .kiks-kh-primary-cta button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border-radius:10px; padding:10px 16px; background:#14366A; color:#fff; text-decoration:none; font-weight:900; border:1px solid #14366A; line-height:1.45; }
.kiks-kh-primary-cta a.secondary { background:#fff; color:#14366A; }
.kiks-kh-step-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px; }
.kiks-kh-step { background:#F8FAFC; border:1px solid #E5E7EB; border-radius:13px; padding:13px 14px; min-width:0; }
.kiks-kh-step b { display:block; color:#14366A; font-size:13px; line-height:1.55; margin-bottom:4px; }
.kiks-kh-step span { display:block; color:#374151; font-size:12px; line-height:1.75; }
.kiks-kh-status-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0 16px; }
.kiks-kh-status-chip { border:1px solid #E5E7EB; background:#fff; border-radius:12px; padding:11px 12px; min-width:0; }
.kiks-kh-status-chip strong { display:block; color:#14366A; font-size:13px; line-height:1.5; }
.kiks-kh-status-chip span { display:block; color:#6B7280; font-size:12px; line-height:1.65; margin-top:3px; }
.kiks-kh-status-chip.available { border-left:5px solid #047857; }
.kiks-kh-status-chip.locked { border-left:5px solid #DC2626; background:#FFF7ED; }
.kiks-kh-status-chip.trial { border-left:5px solid #B45309; }
.kiks-kh-status-chip.done { border-left:5px solid #14366A; }
.kiks-kh-plan-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
.kiks-kh-plan-box { background:#fff; border:1px solid #E8E4DC; border-radius:14px; padding:15px; min-width:0; }
.kiks-kh-plan-box.primary { border-left:6px solid #14366A; }
.kiks-kh-plan-box.invite { border-left:6px solid #6B7280; background:#F8FAFC; }
.kiks-kh-plan-box h3 { margin:0 0 6px; color:#14366A; font-size:16px; line-height:1.45; }
.kiks-kh-plan-box p { margin:0; color:#374151; font-size:13px; line-height:1.8; }
.kiks-kh-warning-line { background:#FFF7ED; border:1px solid #FED7AA; border-left:6px solid #DC2626; border-radius:14px; padding:14px 16px; margin:14px 0; color:#7C2D12; font-size:13px; line-height:1.8; }
.kiks-kh-route-note { background:#F0FDF4; border:1px solid #BBF7D0; border-left:6px solid #047857; border-radius:14px; padding:14px 16px; margin:14px 0; color:#14532D; font-size:13px; line-height:1.8; }
.kiks-kh-compact-legend { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 16px; }
.kiks-kh-compact-legend span { display:inline-flex; align-items:center; min-height:30px; border-radius:999px; padding:5px 10px; background:#fff; border:1px solid #E5E7EB; color:#374151; font-size:12px; font-weight:800; line-height:1.45; }
@media(max-width:768px){
  .kiks-kh-step-list, .kiks-kh-status-strip, .kiks-kh-plan-summary { grid-template-columns:1fr; }
  .kiks-kh-focus-card { padding:16px; }
  .kiks-kh-primary-cta a, .kiks-kh-primary-cta button { width:100%; }
  body.kiks-kh-ui .grid, body.kiks-kh-ui .cards, body.kiks-kh-ui .nextGrid, body.kiks-kh-ui .guideGrid, body.kiks-kh-ui .contentPanel, body.kiks-kh-ui .vocabGrid { grid-template-columns:1fr !important; }
  body.kiks-kh-ui .topbar, body.kiks-kh-ui .top { flex-wrap:wrap; height:auto; min-height:56px; padding-top:10px; padding-bottom:10px; }
}
@media(max-width:420px){
  body.kiks-kh-ui .content, body.kiks-kh-ui .page, body.kiks-kh-ui .wrap { padding-left:14px !important; padding-right:14px !important; }
  .kiks-kh-guide, .kiks-kh-focus-card, .kiks-kh-policy-card, .kiks-kh-step, .kiks-kh-plan-box { border-radius:12px; }
}

/* Khmer readability pass for July1 launch */
body.kiks-kh-ui .app, body.kiks-kh-ui .page, body.kiks-kh-ui .content { color:#1A1F2C; }
body.kiks-kh-ui .weak, body.kiks-kh-ui .弱点, body.kiks-kh-ui .card, body.kiks-kh-ui .qz { border-radius:14px; }
body.kiks-kh-ui .弱点 { padding:20px !important; margin-top:18px !important; background:#fff; border:1px solid #E8E4DC; box-shadow:0 8px 24px rgba(20,54,106,.04); }
body.kiks-kh-ui .弱点-head { gap:14px; align-items:flex-start; }
body.kiks-kh-ui .弱点-title { color:#14366A; font-size:18px; line-height:1.55; }
body.kiks-kh-ui .弱点-list { gap:9px; }
body.kiks-kh-ui .弱点-item { min-width:0; padding:12px 13px; border-radius:12px; }
body.kiks-kh-ui .弱点-cat, body.kiks-kh-ui .弱点-desc { line-height:1.75; }
body.kiks-kh-ui #quickGrid, body.kiks-kh-ui #memberプレビューGrid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
body.kiks-kh-ui .qz { min-height:128px; }
.kiks-kh-dashboard-clean { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0 18px; }
.kiks-kh-dashboard-clean .kiks-kh-step { background:#fff; border-left:6px solid #14366A; }
@media(max-width:768px){ body.kiks-kh-ui #quickGrid, body.kiks-kh-ui #memberプレビューGrid, .kiks-kh-dashboard-clean { grid-template-columns:1fr !important; } body.kiks-kh-ui .弱点-head { flex-direction:column; } body.kiks-kh-ui .弱点-head .btn { width:100%; } body.kiks-kh-ui .qz { min-height:0; } }
@media(max-width:390px){ body.kiks-kh-ui .弱点 { padding:16px !important; } body.kiks-kh-ui .弱点-title { font-size:16px; } }
/* Second-pass publication quality: app-kh Dashboard */
.kiks-kh-dashboard-hero { background:linear-gradient(135deg,#14366A,#0F2A55); color:#fff; border-radius:22px; padding:28px; margin-bottom:18px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; box-shadow:0 18px 42px rgba(20,54,106,.18); }
.kiks-kh-dashboard-hero h1 { color:#fff !important; margin:4px 0 8px; line-height:1.35; }
.kiks-kh-dashboard-hero p { color:rgba(255,255,255,.9) !important; max-width:720px; line-height:1.85; }
.kiks-kh-dashboard-hero .eyebrow { color:rgba(255,255,255,.74); font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; }
body.kiks-kh-ui .cards { gap:14px !important; margin-bottom:18px; }
body.kiks-kh-ui .card { box-shadow:0 8px 24px rgba(20,54,106,.04); }
body.kiks-kh-ui .card-label { letter-spacing:.03em; }
body.kiks-kh-ui .recommend { border-radius:14px; }
body.kiks-kh-ui .proof { display:flex; flex-wrap:wrap; gap:8px; }
body.kiks-kh-ui .proof-item { line-height:1.6; }
@media(max-width:768px){ .kiks-kh-dashboard-hero { grid-template-columns:1fr; padding:22px 18px; border-radius:18px; } .kiks-kh-dashboard-hero .kiks-kh-primary-cta { width:100%; } body.kiks-kh-ui .cards { grid-template-columns:1fr !important; } }
@media(max-width:420px){ .kiks-kh-dashboard-hero { padding:20px 16px; } .kiks-kh-dashboard-hero h1 { font-size:26px !important; } }
/* Publication repair: unified Khmer learner shell across app-kh */
html[lang="km"] { background:#F6F4EE; }
body.kiks-kh-ui,
body.kiks-kh-publication-shell {
  background:#F6F4EE;
  color:#1A1F2C;
  font-family:"Noto Serif Khmer","Noto Sans Khmer","Khmer OS Battambang","Khmer OS Siemreap",serif;
  line-height:1.82;
  overflow-x:hidden;
}
body.kiks-kh-ui *,
body.kiks-kh-publication-shell * { box-sizing:border-box; }
body.kiks-kh-ui a,
body.kiks-kh-ui button { touch-action:manipulation; }
body.kiks-kh-ui .app,
body.kiks-kh-ui .layout,
body.kiks-kh-ui .shell,
body.kiks-sidebar-body {
  min-height:100vh;
}
body.kiks-sidebar-body {
  display:grid;
  grid-template-columns:264px minmax(0,1fr);
  align-items:start;
}
body.kiks-kh-ui .content,
body.kiks-kh-ui main,
body.kiks-kh-ui .page,
body.kiks-kh-ui .wrap,
body.kiks-kh-ui .container {
  width:100%;
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(14px,3vw,28px);
  padding-right:clamp(14px,3vw,28px);
  overflow-x:hidden;
}
body.kiks-kh-ui .content { padding-top:22px; padding-bottom:80px; }
body.kiks-kh-ui .page,
body.kiks-kh-ui .wrap,
body.kiks-kh-ui .container { padding-top:28px; padding-bottom:84px; }
body.kiks-kh-ui .topbar,
body.kiks-kh-ui .top,
body.kiks-kh-ui header,
body.kiks-kh-ui .header {
  min-width:0;
  gap:12px;
}
body.kiks-kh-ui .lang-switcher,
body.kiks-kh-ui .kiks-language-switcher,
body.kiks-kh-ui [data-language-switcher],
body.kiks-kh-ui .language-switcher {
  position:relative;
  z-index:8;
  max-width:100%;
  flex-wrap:wrap;
}
body.kiks-kh-ui .card,
body.kiks-kh-ui .panel,
body.kiks-kh-ui .section,
body.kiks-kh-ui .hero,
body.kiks-kh-ui .recommend,
body.kiks-kh-ui .qz,
body.kiks-kh-ui .weak,
body.kiks-kh-ui .弱点,
body.kiks-kh-ui .kiks-plan-status-card,
body.kiks-kh-ui .kiks-growth-card,
body.kiks-kh-ui .kiks-reminder-card,
body.kiks-kh-ui .kiks-points-card,
body.kiks-kh-ui .kiks-points-panel,
body.kiks-kh-ui .kiks-learner-id-card {
  background:#fff;
  border:1px solid #E8E4DC;
  border-radius:16px;
  box-shadow:0 10px 26px rgba(20,54,106,.045);
  min-width:0;
  overflow-wrap:anywhere;
}
body.kiks-kh-ui .card,
body.kiks-kh-ui .panel,
body.kiks-kh-ui .section,
body.kiks-kh-ui .qz,
body.kiks-kh-ui .kiks-plan-status-card,
body.kiks-kh-ui .kiks-growth-card,
body.kiks-kh-ui .kiks-reminder-card,
body.kiks-kh-ui .kiks-points-card,
body.kiks-kh-ui .kiks-points-panel,
body.kiks-kh-ui .kiks-learner-id-card { padding:18px; }
body.kiks-kh-ui h1,
body.kiks-kh-ui h2,
body.kiks-kh-ui h3,
body.kiks-kh-ui h4 { color:#14366A; line-height:1.42; margin-top:0; }
body.kiks-kh-ui p,
body.kiks-kh-ui li,
body.kiks-kh-ui span { line-height:1.82; }
body.kiks-kh-ui .btn,
body.kiks-kh-ui button,
body.kiks-kh-ui a.btn,
body.kiks-kh-ui .nav-item,
body.kiks-kh-ui .kiks-plan-cta {
  min-height:44px;
  border-radius:10px;
  white-space:normal;
  line-height:1.48;
  text-align:center;
}
body.kiks-kh-ui .grid,
body.kiks-kh-ui .cards,
body.kiks-kh-ui .nextGrid,
body.kiks-kh-ui .guideGrid,
body.kiks-kh-ui .contentPanel,
body.kiks-kh-ui .vocabGrid,
body.kiks-kh-ui .kiks-access-state-grid {
  min-width:0;
  gap:14px;
}
body.kiks-kh-ui .kiks-access-state-grid,
body.kiks-kh-ui .kiks-plan-grid,
body.kiks-kh-ui .kiks-growth-grid,
body.kiks-kh-ui .kiks-reminder-list,
body.kiks-kh-ui .kiks-points-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.kiks-kh-ui .kiks-access-cell,
body.kiks-kh-ui .kiks-plan-grid > div,
body.kiks-kh-ui .kiks-points-use span {
  min-width:0;
  border-radius:12px;
  line-height:1.72;
}
body.kiks-kh-ui .kiks-access-cell { padding:14px; border:1px solid #E5E7EB; background:#F8FAFC; }
body.kiks-kh-ui .kiks-access-cell.unlocked { border-left:5px solid #047857; }
body.kiks-kh-ui .kiks-access-cell.next { border-left:5px solid #14366A; }
body.kiks-kh-ui .kiks-access-cell.locked { border-left:5px solid #6B7280; background:#F9FAFB; }
body.kiks-kh-ui .kiks-points-use { display:flex; flex-wrap:wrap; gap:8px; }
body.kiks-kh-ui .kiks-points-use span { display:inline-flex; align-items:center; padding:7px 10px; background:#F8FAFC; border:1px solid #E5E7EB; font-size:12px; }
body.kiks-kh-ui .kiks-kh-invite-plan-pill,
body.kiks-kh-ui .kiks-plan-pill.gold,
body.kiks-kh-ui .kiks-plan-pill.platinum {
  background:#F3F4F6 !important;
  color:#374151 !important;
  border-color:#D1D5DB !important;
}
body.kiks-kh-ui .kiks-plan-status-card { border-left:6px solid #14366A; }
body.kiks-kh-ui .kiks-plan-status-card:has(.kiks-kh-invite-plan-pill) { border-left-color:#6B7280; background:#FAFAF7; }
body.kiks-kh-ui .kiks-learner-id-card { border-left:5px solid #64748B; margin:14px 0; }
body.kiks-kh-ui .kiks-reminder-head,
body.kiks-kh-ui .kiks-growth-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
body.kiks-kh-ui .kiks-reminder-sub,
body.kiks-kh-ui .kiks-growth-sub,
body.kiks-kh-ui .kiks-learner-id-inline { color:#6B7280; font-size:13px; }
body.kiks-kh-ui .kiks-shared-sidebar,
body.kiks-kh-ui .sidebar,
.kiks-shared-sidebar,
.sidebar {
  background:#fff;
  border-right:1px solid #E8E4DC;
  min-height:100vh;
  padding:18px 14px;
  box-shadow:10px 0 30px rgba(20,54,106,.035);
  overflow-x:hidden;
}
body.kiks-kh-ui .brand,
.kiks-shared-sidebar .brand,
.sidebar .brand { display:flex; gap:10px; align-items:center; margin-bottom:18px; min-width:0; }
body.kiks-kh-ui .brand-name,
.kiks-shared-sidebar .brand-name,
.sidebar .brand-name { color:#14366A; font-weight:900; letter-spacing:.02em; }
body.kiks-kh-ui .nav,
.kiks-shared-sidebar .nav,
.sidebar .nav { display:flex; flex-direction:column; gap:6px; }
body.kiks-kh-ui .nav-item,
.kiks-shared-sidebar .nav-item,
.sidebar .nav-item {
  display:flex;
  align-items:center;
  color:#374151;
  text-decoration:none;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  font-weight:800;
}
body.kiks-kh-ui .nav-item.active,
.kiks-shared-sidebar .nav-item.active,
.sidebar .nav-item.active {
  background:#EEF4FF;
  color:#14366A;
  border-color:#D9E2F2;
}
body.kiks-kh-ui .kiks-kh-sidebar-note,
.kiks-shared-sidebar .kiks-kh-sidebar-note,
.sidebar .kiks-kh-sidebar-note { margin-top:16px; }
@media(max-width:900px){
  body.kiks-sidebar-body { display:block; }
  body.kiks-kh-ui .app { display:block; }
  body.kiks-kh-ui .kiks-shared-sidebar,
  body.kiks-kh-ui .sidebar,
  .kiks-shared-sidebar,
  .sidebar {
    position:relative !important;
    width:auto !important;
    min-height:0;
    border-right:0;
    border-bottom:1px solid #E8E4DC;
    padding:14px;
  }
  body.kiks-kh-ui .nav,
  .kiks-shared-sidebar .nav,
  .sidebar .nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.kiks-kh-ui .nav-item,
  .kiks-shared-sidebar .nav-item,
  .sidebar .nav-item { justify-content:center; text-align:center; }
  body.kiks-kh-ui .content,
  body.kiks-kh-ui main,
  body.kiks-kh-ui .page,
  body.kiks-kh-ui .wrap,
  body.kiks-kh-ui .container { padding-top:18px; }
  body.kiks-kh-ui .kiks-access-state-grid,
  body.kiks-kh-ui .kiks-plan-grid,
  body.kiks-kh-ui .kiks-growth-grid,
  body.kiks-kh-ui .kiks-reminder-list,
  body.kiks-kh-ui .kiks-points-grid { grid-template-columns:1fr; }
}
@media(max-width:768px){
  body.kiks-kh-ui .grid,
  body.kiks-kh-ui .cards,
  body.kiks-kh-ui .nextGrid,
  body.kiks-kh-ui .guideGrid,
  body.kiks-kh-ui .contentPanel,
  body.kiks-kh-ui .vocabGrid,
  body.kiks-kh-ui .kiks-access-state-grid { grid-template-columns:1fr !important; }
  body.kiks-kh-ui .topbar,
  body.kiks-kh-ui .top,
  body.kiks-kh-ui header,
  body.kiks-kh-ui .header { flex-wrap:wrap; height:auto; align-items:flex-start; }
  body.kiks-kh-ui .lang-switcher,
  body.kiks-kh-ui .kiks-language-switcher,
  body.kiks-kh-ui [data-language-switcher],
  body.kiks-kh-ui .language-switcher { width:100%; justify-content:flex-start; margin-top:8px; }
}
@media(max-width:420px){
  body.kiks-kh-ui .content,
  body.kiks-kh-ui main,
  body.kiks-kh-ui .page,
  body.kiks-kh-ui .wrap,
  body.kiks-kh-ui .container { padding-left:14px !important; padding-right:14px !important; }
  body.kiks-kh-ui .card,
  body.kiks-kh-ui .panel,
  body.kiks-kh-ui .section,
  body.kiks-kh-ui .hero,
  body.kiks-kh-ui .kiks-plan-status-card,
  body.kiks-kh-ui .kiks-growth-card,
  body.kiks-kh-ui .kiks-reminder-card,
  body.kiks-kh-ui .kiks-points-panel { padding:16px; border-radius:14px; }
  body.kiks-kh-ui .nav,
  .kiks-shared-sidebar .nav,
  .sidebar .nav { grid-template-columns:1fr; }
}
/* Publication cleanup pass: sticky sidebar and stable language switcher */
@media (min-width: 1024px){
  body.kiks-sidebar-body,
  body.kiks-kh-ui.kiks-sidebar-body {
    display:grid;
    grid-template-columns:264px minmax(0,1fr);
    align-items:start;
  }
  body.kiks-kh-ui .kiks-shared-sidebar,
  body.kiks-kh-ui .sidebar,
  .kiks-shared-sidebar,
  .sidebar {
    position:sticky !important;
    top:0;
    height:100vh;
    max-height:100vh;
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:30;
  }
}
@media (min-width: 768px) and (max-width: 1023px){
  body.kiks-kh-ui .kiks-shared-sidebar,
  body.kiks-kh-ui .sidebar,
  .kiks-shared-sidebar,
  .sidebar {
    position:sticky !important;
    top:0;
    max-height:100vh;
    overflow-y:auto;
    z-index:25;
  }
}
body.kiks-kh-ui .topbar,
body.kiks-kh-ui .top,
body.kiks-kh-ui header,
body.kiks-kh-ui .header {
  position:relative;
  z-index:10;
  margin-bottom:18px;
}
body.kiks-kh-ui .kiks-language-switcher,
body.kiks-kh-ui .lang-switcher,
body.kiks-kh-ui [data-language-switcher],
body.kiks-kh-ui .language-switcher,
body.kiks-kh-ui .language-switch,
body.kiks-kh-ui .lang {
  position:relative !important;
  top:auto !important;
  right:auto !important;
  z-index:12;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-width:100%;
  margin-left:auto;
}
body.kiks-kh-ui .kiks-language-switcher a,
body.kiks-kh-ui .lang-switcher a,
body.kiks-kh-ui [data-language-switcher] a,
body.kiks-kh-ui .language-switcher a {
  min-height:34px;
  line-height:1.35;
  white-space:normal;
}
@media(max-width: 767px){
  body.kiks-kh-ui .kiks-shared-sidebar,
  body.kiks-kh-ui .sidebar,
  .kiks-shared-sidebar,
  .sidebar {
    position:relative !important;
    height:auto;
    max-height:none;
    overflow:visible;
    z-index:1;
  }
  body.kiks-kh-ui .kiks-language-switcher,
  body.kiks-kh-ui .lang-switcher,
  body.kiks-kh-ui [data-language-switcher],
  body.kiks-kh-ui .language-switcher,
  body.kiks-kh-ui .language-switch,
  body.kiks-kh-ui .lang {
    width:100%;
    margin-left:0;
    justify-content:flex-start;
    margin-top:10px;
  }
}
/* Final layout guard: existing app shell vs injected sidebar shell. */
@media (min-width: 901px){
  body.kiks-kh-ui:has(> .app) {
    display:block !important;
  }
  body.kiks-kh-ui > .app {
    display:grid !important;
    grid-template-columns:264px minmax(0, 1fr) !important;
    align-items:start;
    width:100%;
    min-height:100vh;
    overflow-x:hidden;
  }
  body.kiks-kh-ui > .app > .sidebar,
  body.kiks-kh-ui > .app > .kiks-shared-sidebar {
    grid-column:1;
    position:sticky !important;
    top:0 !important;
    height:100vh;
    overflow-y:auto;
  }
  body.kiks-kh-ui > .app > .main {
    grid-column:2;
    min-width:0;
    width:100%;
    overflow-x:hidden;
  }
  body.kiks-kh-ui > .app > .main > .content {
    width:100%;
    max-width:1120px;
    margin-left:auto;
    margin-right:auto;
  }
  body.kiks-sidebar-body:not(:has(> .app)) {
    display:grid !important;
    grid-template-columns:264px minmax(0, 1fr) !important;
    align-items:start;
    width:100%;
    overflow-x:hidden;
  }
  body.kiks-sidebar-body:not(:has(> .app)) > .kiks-shared-sidebar,
  body.kiks-sidebar-body:not(:has(> .app)) > .sidebar {
    grid-column:1;
    position:sticky !important;
    top:0 !important;
    height:100vh;
    overflow-y:auto;
  }
  body.kiks-sidebar-body:not(:has(> .app)) > .page,
  body.kiks-sidebar-body:not(:has(> .app)) > .wrap,
  body.kiks-sidebar-body:not(:has(> .app)) > main,
  body.kiks-sidebar-body:not(:has(> .app)) > .container {
    grid-column:2;
    min-width:0;
    width:100%;
    max-width:1120px;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden;
  }
}
@media (max-width: 900px){
  body.kiks-kh-ui > .app,
  body.kiks-sidebar-body:not(:has(> .app)) {
    display:block !important;
    overflow-x:hidden;
  }
  body.kiks-kh-ui > .app > .main,
  body.kiks-sidebar-body:not(:has(> .app)) > .page,
  body.kiks-sidebar-body:not(:has(> .app)) > .wrap,
  body.kiks-sidebar-body:not(:has(> .app)) > main,
  body.kiks-sidebar-body:not(:has(> .app)) > .container {
    width:100%;
    max-width:100%;
  }
}

/* Final desktop fixed sidebar for injected Khmer pages, including Pricing. */
@media (min-width: 1024px){
  body.kiks-sidebar-body:not(:has(> .app)) {
    display:block !important;
    padding-left:264px;
  }
  body.kiks-sidebar-body:not(:has(> .app)) > .kiks-shared-sidebar,
  body.kiks-sidebar-body:not(:has(> .app)) > .sidebar {
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    width:264px !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow-y:auto !important;
    z-index:30;
  }
  body.kiks-sidebar-body:not(:has(> .app)) > .page,
  body.kiks-sidebar-body:not(:has(> .app)) > .wrap,
  body.kiks-sidebar-body:not(:has(> .app)) > main,
  body.kiks-sidebar-body:not(:has(> .app)) > .container {
    width:min(100%, 1120px) !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
body.kiks-kh-ui .grid,
body.kiks-kh-ui .miniGrid,
body.kiks-kh-ui .compareGrid,
body.kiks-kh-ui .cards,
body.kiks-kh-ui .pricing-grid,
body.kiks-kh-ui .plan-grid {
  min-width:0;
}
body.kiks-kh-ui .card,
body.kiks-kh-ui .item,
body.kiks-kh-ui .compareCell,
body.kiks-kh-ui .弱点 {
  min-width:0;
  overflow-wrap:anywhere;
}
body.kiks-kh-ui .compareGrid,
body.kiks-kh-ui .miniGrid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
@media (max-width: 767px){
  body.kiks-kh-ui .compareGrid,
  body.kiks-kh-ui .miniGrid,
  body.kiks-kh-ui .grid {
    grid-template-columns:1fr !important;
  }
}

/* July1 final Pricing/sidebar stability: keep shared sidebar visible through full scroll. */
@media (min-width: 1024px){
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)){
    display:grid !important;
    grid-template-columns:264px minmax(0, 1fr) !important;
    align-items:start !important;
    padding-left:0 !important;
    min-height:100vh;
    overflow-x:hidden !important;
  }
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .kiks-shared-sidebar,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .sidebar{
    grid-column:1 !important;
    position:sticky !important;
    top:0 !important;
    align-self:start !important;
    width:264px !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow-y:auto !important;
    z-index:40 !important;
  }
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .page,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .wrap,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > main,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .container{
    grid-column:2 !important;
    width:min(100%, 1120px) !important;
    max-width:1120px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px){
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)){
    display:grid !important;
    grid-template-columns:220px minmax(0, 1fr) !important;
    align-items:start !important;
    overflow-x:hidden !important;
  }
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .kiks-shared-sidebar,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .sidebar{
    grid-column:1 !important;
    position:sticky !important;
    top:0 !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow-y:auto !important;
    z-index:35 !important;
  }
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .page,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .wrap,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > main,
  body.kiks-kh-ui.kiks-sidebar-body:not(:has(> .app)) > .container{
    grid-column:2 !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }
}
body.kiks-kh-ui .kiks-access-table,
body.kiks-kh-ui .tableWrap,
body.kiks-kh-ui .pricing-table,
body.kiks-kh-ui .compareWrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body.kiks-kh-ui table{
  max-width:100%;
  border-collapse:collapse;
}
body.kiks-kh-ui .kiks-points-panel,
body.kiks-kh-ui .kiks-reminder-panel,
body.kiks-kh-ui .kiks-growth-panel,
body.kiks-kh-ui .kiks-first-week,
body.kiks-kh-ui .kiks-plan-visibility,
body.kiks-kh-ui .kiks-route-steps{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}

/* July1 TrialSummary final repair: keep lower report readable and inside main content. */
body.kiks-kh-ui #skillBars,
body.kiks-kh-ui #roadmap,
body.kiks-kh-ui #lockedPreview,
body.kiks-kh-ui #compareWrap,
body.kiks-kh-ui #trialOnboardingCard,
body.kiks-kh-ui #trialPointWidget,
body.kiks-kh-ui #trialFirstWeekGuide,
body.kiks-kh-ui #trialSequentialUnlock,
body.kiks-kh-ui #trialHabitLoopCard {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}
body.kiks-kh-ui .skillRow,
body.kiks-kh-ui .roadItem,
body.kiks-kh-ui .lockedItem,
body.kiks-kh-ui .compareRow {
  min-width:0;
  overflow-wrap:anywhere;
}
body.kiks-kh-ui #roadmap,
body.kiks-kh-ui #lockedPreview {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.kiks-kh-ui #compareWrap,
body.kiks-kh-ui .compareWrap {
  display:flex;
  flex-direction:column;
  gap:12px;
}
body.kiks-kh-ui .compareRow {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
  align-items:stretch;
}
body.kiks-kh-ui .compareCell,
body.kiks-kh-ui .lockedPreview,
body.kiks-kh-ui .weaknessHint {
  min-width:0;
  line-height:1.75;
}
body.kiks-kh-ui .compareCell.before { background:#FAF7F0; color:#6B7280; }
body.kiks-kh-ui .compareCell.after { background:#F1F4FA; color:#1A1F2C; }
body.kiks-kh-ui .skillRow {
  display:grid;
  grid-template-columns:minmax(120px,.8fr) minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
body.kiks-kh-ui .skillRow.weakness .skillFill { background:#B45309; }
body.kiks-kh-ui .skillRow.weakness .skillVal { color:#B45309; }
body.kiks-kh-ui .lockBadge { word-break:keep-all; }
@media (max-width: 767px){
  body.kiks-kh-ui #roadmap,
  body.kiks-kh-ui #lockedPreview {
    grid-template-columns:1fr !important;
  }
  body.kiks-kh-ui .compareRow {
    grid-template-columns:1fr !important;
  }
  body.kiks-kh-ui .compareArrow {
    display:none !important;
  }
  body.kiks-kh-ui .skillRow {
    grid-template-columns:1fr !important;
  }
}

/* July1 contrast and TrialSummary final repair pass. */
body.kiks-kh-ui .kh-hero-panel,
body.kiks-kh-ui .kh-dashboard-v2 .kh-hero-panel {
  background: linear-gradient(135deg, #0F2A55 0%, #14366A 62%, #0B1F40 100%) !important;
}
body.kiks-kh-ui .kh-hero-panel h1,
body.kiks-kh-ui .kh-dashboard-v2 .kh-hero-panel h1 {
  color: #FFFFFF !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.34) !important;
  font-weight: 900 !important;
}
body.kiks-kh-ui .kh-hero-panel p,
body.kiks-kh-ui .kh-dashboard-v2 .kh-hero-panel p {
  color: rgba(255,255,255,.94) !important;
}
body.kiks-trial-summary-page .wrap {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}
body.kiks-trial-summary-page .grid,
body.kiks-trial-summary-page .miniGrid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
body.kiks-trial-summary-page #roadmap,
body.kiks-trial-summary-page #lockedPreview {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding-left: 0 !important;
}
body.kiks-trial-summary-page .card,
body.kiks-trial-summary-page .item,
body.kiks-trial-summary-page .lockedPreview,
body.kiks-trial-summary-page .compareCell,
body.kiks-trial-summary-page .weaknessHint,
body.kiks-trial-summary-page .skillRow,
body.kiks-trial-summary-page .roadItem,
body.kiks-trial-summary-page .lockedItem {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
body.kiks-trial-summary-page .skillRow {
  display: grid !important;
  grid-template-columns: minmax(120px,.8fr) minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}
body.kiks-trial-summary-page .compareRow {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}
body.kiks-trial-summary-page .lockedPreview,
body.kiks-trial-summary-page .weaknessHint,
body.kiks-trial-summary-page .compareCell {
  line-height: 1.78 !important;
}
@media (max-width: 767px) {
  body.kiks-trial-summary-page .grid,
  body.kiks-trial-summary-page .miniGrid,
  body.kiks-trial-summary-page #roadmap,
  body.kiks-trial-summary-page #lockedPreview,
  body.kiks-trial-summary-page .skillRow,
  body.kiks-trial-summary-page .compareRow {
    grid-template-columns: 1fr !important;
  }
  body.kiks-trial-summary-page .compareArrow {
    display: none !important;
  }
  body.kiks-trial-summary-page .wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* July1 launch-mode final polish: upper plans and TrialSummary density. */
body.kiks-kh-ui .kiks-plan-mini {
  overflow-wrap: anywhere;
}
body.kiks-kh-ui .kiks-plan-gold,
body.kiks-kh-ui .kiks-plan-platinum {
  opacity: .82;
  border-style: dashed !important;
}
body.kiks-trial-summary-page .wrap {
  max-width: 1040px !important;
}
body.kiks-trial-summary-page section.card,
body.kiks-trial-summary-page .kiks-plan-banner,
body.kiks-trial-summary-page .kiks-access-state,
body.kiks-trial-summary-page .kiks-access-map,
body.kiks-trial-summary-page .kiks-learning-route {
  margin-top: 18px !important;
}
body.kiks-trial-summary-page #roadmap,
body.kiks-trial-summary-page #lockedPreview {
  align-items: stretch !important;
}
body.kiks-trial-summary-page .lockedItem,
body.kiks-trial-summary-page .roadItem,
body.kiks-trial-summary-page .lockedPreview {
  padding: 14px 16px !important;
}
@media (max-width: 900px) {
  body.kiks-trial-summary-page .grid,
  body.kiks-trial-summary-page .miniGrid,
  body.kiks-trial-summary-page #roadmap,
  body.kiks-trial-summary-page #lockedPreview,
  body.kiks-trial-summary-page .compareRow {
    grid-template-columns: 1fr !important;
  }
}

/* July1 TrialSummary skill analysis safety fix: replace unstable radar layout with readable score cards. */
body.kiks-trial-summary-page #skillCard {
  overflow: visible !important;
}
body.kiks-trial-summary-page .radarGrid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-top: 16px !important;
}
body.kiks-trial-summary-page .radarWrap {
  display: none !important;
}
body.kiks-trial-summary-page #radar,
body.kiks-trial-summary-page .radarWrap svg,
body.kiks-trial-summary-page .radarWrap canvas {
  max-width: 100% !important;
  height: auto !important;
}
body.kiks-trial-summary-page #skillBars {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
body.kiks-trial-summary-page .skillRow {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "name value"
    "track track" !important;
  gap: 8px 12px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid var(--border, #E8E4DC) !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow: visible !important;
}
body.kiks-trial-summary-page .skillName,
body.kiks-trial-summary-page .radar-label,
body.kiks-trial-summary-page .score-label {
  grid-area: name !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
  line-height: 1.6 !important;
}
body.kiks-trial-summary-page .skillVal {
  grid-area: value !important;
  min-width: 36px !important;
  justify-self: end !important;
  text-align: right !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}
body.kiks-trial-summary-page .skillTrack {
  grid-area: track !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
body.kiks-trial-summary-page .roadmap,
body.kiks-trial-summary-page #roadmap,
body.kiks-trial-summary-page .lockedGrid,
body.kiks-trial-summary-page #lockedGrid,
body.kiks-trial-summary-page .compareList,
body.kiks-trial-summary-page #compareList {
  min-width: 0 !important;
  max-width: 100% !important;
}
@media (min-width: 1024px) {
  body.kiks-trial-summary-page #skillBars {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  body.kiks-trial-summary-page #skillBars,
  body.kiks-trial-summary-page .radarGrid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 480px) {
  body.kiks-trial-summary-page .skillRow {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 12px !important;
  }
}
