@layer cabinet {
  .guest-demo { --ui-bottom-space:0px; }
  .guest-demo .guest-brand { display:flex; align-items:center; gap:12px; color:var(--ui-label); text-decoration:none; }
  .guest-demo .guest-brand img { border-radius:13px; flex:none; }
  .guest-demo .guest-brand span { min-width:0; }
  .guest-demo .guest-brand b { display:block; font-size:1.3rem; }
  .guest-demo .guest-brand small { display:block; font-size:.8rem; line-height:1.4; color:var(--ui-secondary); }
  .guest-demo .guest-rail { display:flex; flex-direction:column; padding:28px 20px; gap:40px; }
  .guest-demo .guest-rail nav { display:grid; gap:8px; }
  .guest-demo .guest-rail nav a { display:block; padding:16px; border-radius:16px; font-size:.95rem; color:var(--ui-secondary); text-decoration:none; }
  .guest-demo .guest-rail nav .active { background:var(--ui-tint-wash); color:var(--violet-dark); font-weight:650; }
  .guest-demo .guest-rail > p { margin-top:auto; color:var(--ui-secondary); font-size:.8rem; }
  .guest-demo .guest-top { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:16px 24px; background:var(--ui-surface); border-bottom:1px solid var(--ui-border); font-size:.9rem; }
  .guest-demo .guest-top a { min-height:44px; display:flex; align-items:center; font-weight:600; }
  .guest-demo .guest-top > span { color:var(--ui-secondary); }
  .guest-demo .guest-main { max-width:1120px; margin:0 auto; }
  .guest-demo .guest-intro { max-width:760px; margin-bottom:28px; }
  .guest-demo .guest-intro h1 { font-size:clamp(1.75rem,3vw,2.6rem); line-height:1.15; margin:12px 0 16px; }
  .guest-demo .guest-intro p { color:var(--ui-secondary); margin:10px 0; }
  .guest-demo .guest-intro .guest-private { font-size:.85rem; }
  .guest-demo .guest-lesson { background:var(--ui-surface); border:1px solid var(--ui-border); border-radius:24px; padding:clamp(18px,3vw,32px); }
  .guest-demo .guest-progress { display:grid; gap:10px; margin-bottom:24px; font-size:.875rem; font-weight:600; color:var(--violet-dark); }
  .guest-demo .guest-progress progress { display:block; width:100%; height:8px; accent-color:var(--ui-tint); }
  .guest-demo .guest-concept { padding:22px; background:var(--ui-tint-wash); border-radius:18px; margin-bottom:28px; }
  .guest-demo .guest-concept > span { font-size:.8rem; font-weight:600; color:var(--violet-dark); }
  .guest-demo .guest-lesson h2 { font-size:1.3rem; line-height:1.35; margin:8px 0 12px; }
  .guest-demo .guest-concept p { margin:0; font-size:1rem; line-height:1.6; }
  .guest-demo .guest-formula { display:block; margin-top:16px; text-align:center; font-size:2.2rem; font-weight:600; letter-spacing:.03em; }
  .guest-demo .guest-task fieldset { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:0; padding:0; margin:20px 0; }
  .guest-demo .guest-task legend { font-size:.875rem; color:var(--ui-secondary); padding-bottom:10px; }
  .guest-demo .guest-task label { display:flex; gap:12px; align-items:center; padding:16px; border:1px solid var(--ui-border); border-radius:14px; cursor:pointer; }
  .guest-demo .guest-task label:has(:checked) { border-color:var(--ui-tint); background:var(--ui-tint-wash); }
  .guest-demo .guest-task input { width:22px; height:22px; min-height:0; flex:none; }
  .guest-demo .guest-task label span { font-size:1.2rem; }
  .guest-demo .guest-actions { display:flex; flex-wrap:wrap; gap:12px; }
  .guest-demo .guest-feedback { margin:24px 0 16px; padding:20px; border:1px solid var(--ui-border); border-left:4px solid var(--ui-tint); border-radius:14px; }
  .guest-demo .guest-feedback[data-kind="success"] { border-left-color:var(--ui-green); }
  .guest-demo .guest-feedback p { margin:8px 0 0; color:var(--ui-secondary); line-height:1.6; }
  .guest-demo .guest-finish { padding:16px 0; }
  .guest-demo .guest-finish p { margin:12px 0 20px; color:var(--ui-secondary); }
  .guest-demo .guest-finish .secondary-action { display:block; margin-top:16px; }
  .guest-demo .guest-account { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:28px; margin-top:32px; padding:28px; border-radius:24px; background:var(--ui-brand); color:#fff; }
  .guest-demo .guest-account .eyebrow { color:#d7ff58; }
  .guest-demo .guest-account h2 { color:#fff; font-size:1.5rem; line-height:1.3; margin:10px 0; }
  .guest-demo .guest-account p { font-size:.9rem; line-height:1.6; color:var(--ui-on-brand); }
  .guest-demo .guest-account-actions { display:grid; align-content:center; gap:12px; }
  .guest-demo .guest-account-actions > a:last-child { color:#fff; padding:10px 0; font-size:.875rem; }
  .guest-demo .guest-footer { display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; font-size:.875rem; }
  .guest-demo .guest-footer a { padding:10px 0; }
  .guest-demo :is(button,.button-link) { min-height:48px; white-space:normal; overflow-wrap:anywhere; }
  .guest-demo :is(p,h1,h2,a,span) { overflow-wrap:break-word; }
  .guest-demo :focus-visible { outline:3px solid var(--ui-tint); outline-offset:4px; }
  @media(max-width:820px) {
    .guest-demo .guest-top { padding:12px 18px; }
    .guest-demo .guest-account { grid-template-columns:minmax(0,1fr); padding:22px; }
  }
  @media(max-width:420px) {
    .guest-demo .guest-task fieldset { grid-template-columns:minmax(0,1fr); }
    .guest-demo .guest-task label { padding:12px 16px; }
    .guest-demo .guest-actions > button { width:100%; }
    .guest-demo .guest-concept { padding:16px; }
  }
}
