.demo-launcher{position:fixed;z-index:900;right:20px;bottom:20px;font:500 14px/1.4 Gilroy,Arial,sans-serif;color:#3d3d50}.demo-launcher>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;border-radius:24px;background:#3d3d50;color:#fff;padding:11px 17px;box-shadow:0 5px 20px #3d3d5033}.demo-launcher>summary::-webkit-details-marker{display:none}.demo-launcher>summary span:first-child{font-size:11px;color:#a8d5e1}.demo-launcher__menu{position:absolute;right:0;bottom:55px;width:min(310px,calc(100vw - 32px));padding:20px;max-height:calc(100vh - 100px);overflow:auto;border:1px solid #ebebef;border-radius:18px;background:#fff;box-shadow:0 12px 40px #29293924}.demo-launcher__menu strong{font-size:17px}.demo-launcher__menu p{margin:8px 0 12px;color:#777887;font-size:13px}.demo-launcher__menu a{display:flex;justify-content:space-between;gap:10px;padding:11px 8px;border-radius:8px;color:#3d3d50;text-decoration:none}.demo-launcher__menu a:hover,.demo-launcher__menu a:focus-visible{background:#f2f4f6}.demo-launcher__menu a span{color:#4b73a7}.demo-showcase{padding:28px 0 60px}.demo-showcase h1{margin:8px 0;font-size:30px}.demo-showcase__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.demo-showcase__intro{max-width:850px;color:#777887;line-height:1.5;margin:12px 0}.demo-showcase__roles{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.demo-showcase__roles a{padding:10px 16px;border-radius:20px;background:#f4f4f6;color:#3d3d50;text-decoration:none}.demo-showcase__roles a[aria-current=page]{background:#3d3d50;color:#fff}.demo-showcase__frame-wrap{overflow:auto;border:1px solid #e6e6eb;border-radius:16px}.demo-showcase__frame{display:block;width:100%;height:calc(100vh - 180px);min-height:650px;border:0;background:white}.demo-showcase__note{font-size:13px;color:#777887;line-height:1.5;margin:12px 0}.demo-showcase__note a{color:#4b73a7}@media(max-width:700px){.demo-launcher{right:12px;bottom:12px}.demo-showcase{padding-top:16px}.demo-showcase h1{font-size:26px}.demo-showcase__frame{height:75vh;min-height:600px;min-width:960px}.demo-showcase__roles a{font-size:13px;padding:9px 12px}}
.demo-launcher__badge{margin-left:4px;border-radius:12px;background:#ef7b70;color:#fff;font-size:11px;padding:2px 8px}
.demo-launcher__badge[hidden]{display:none}
.demo-presenter{border-bottom:1px solid #ebebef;margin-bottom:14px;padding-bottom:14px}
.demo-presenter__toggle{display:grid;gap:8px;margin:10px 0}
.demo-presenter__toggle label{display:flex;gap:6px;align-items:center;font-size:13px}
.demo-presenter__toggle select{border:1px solid #d9d9e0;border-radius:10px;padding:8px;font:inherit}
.demo-presenter [data-log]{margin:6px 0;padding-left:18px;max-height:120px;overflow:auto}
.demo-presenter [data-error]{color:#8a3730}
.demo-presenter__actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.demo-presenter__actions button{padding:7px 10px;font-size:13px}
.demo-presenter__link{border:0;background:none;color:#7e7e90;text-decoration:underline;cursor:pointer;font:inherit;padding:0}

/* The launcher is shared by public, account and admin layouts. Keep its controls independent of page styles. */
.demo-launcher, .demo-launcher * { box-sizing: border-box; }
.demo-launcher__menu { width: min(340px, calc(100vw - 24px)); padding: 18px; max-height: min(680px, calc(100dvh - 88px)); overscroll-behavior: contain; }
.demo-launcher__heading { display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; }
.demo-launcher__heading strong { font-size: 17px; line-height: 1.25; }
.demo-launcher__heading span { color: #777887; font-size: 12px; }
.demo-presenter { margin: 0 0 10px; padding: 0 0 12px; }
.demo-presenter__toggle { display: block; margin: 0; }
.demo-presenter__switch { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.demo-presenter__switch span { display: grid; gap: 2px; }
.demo-presenter__switch strong { font-size: 14px; }
.demo-presenter__switch small { font-size: 12px; color: #777887; font-weight: 400; }
.demo-presenter__switch input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: #4b73a7; }
.demo-presenter__settings { margin-top: 12px; }
.demo-presenter__settings label { display: block; margin-bottom: 4px; color: #777887; font-size: 12px; }
.demo-presenter__settings select { width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid #d9d9e0; border-radius: 9px; background: #fff; color: #3d3d50; font: inherit; font-size: 13px; }
.demo-presenter__controls[hidden], .demo-presenter__settings[hidden], .demo-presenter__error[hidden] { display: none; }
.demo-launcher__menu .demo-presenter__status, .demo-launcher__menu .demo-presenter__next, .demo-launcher__menu .demo-presenter__error { margin: 8px 0 0; font-size: 12px; line-height: 1.4; }
.demo-launcher__menu .demo-presenter__error { color: #a43d35; }
.demo-presenter__actions { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0 8px; }
.demo-presenter__button { width: auto; min-height: 34px; padding: 6px 10px; border: 1px solid #d9d9e0; border-radius: 9px; background: #fff; color: #3d3d50; cursor: pointer; font: inherit; font-size: 12px; line-height: 1.3; }
.demo-presenter__button--primary { border-color: #4b73a7; background: #4b73a7; color: #fff; }
.demo-presenter__button:hover { border-color: #4b73a7; }
.demo-presenter__log { margin: 6px 0; padding-left: 18px; max-height: 80px; overflow: auto; color: #777887; font-size: 12px; }
.demo-presenter__log:empty, .demo-presenter__next:empty { display: none; }
.demo-presenter__link { color: #667b9b; font-size: 12px; }
.demo-launcher__links details { border-bottom: 1px solid #f0f0f3; }
.demo-launcher__links details > summary { display: flex; align-items: center; justify-content: space-between; padding: 10px 2px; cursor: pointer; font-weight: 600; list-style: none; }
.demo-launcher__links details > summary::-webkit-details-marker { display: none; }
.demo-launcher__links details > summary::after { content: '+'; color: #7e7e90; font-size: 18px; font-weight: 400; }
.demo-launcher__links details[open] > summary::after { content: '−'; }
.demo-launcher__links details > div { padding: 0 0 6px 10px; }
.demo-launcher__menu .demo-launcher__links a { padding: 8px 10px; font-size: 13px; }
.demo-launcher__menu .demo-launcher__feed { margin-top: 4px; padding-left: 2px; }
.demo-launcher :focus-visible { outline: 2px solid #4b73a7; outline-offset: 3px; }
@media (max-width: 700px) { .demo-launcher__menu { max-height: calc(100dvh - 80px); } }
.demo-launcher__menu .demo-presenter__signin { margin: 5px 0 0; font-size: 12px; }
.demo-launcher__menu .demo-presenter__signin a { display: inline; padding: 0; color: #4b73a7; text-decoration: underline; }
.demo-presenter__reset-note { display: block; margin-top: 3px; color: #777887; font-size: 11px; line-height: 1.35; }
.demo-presenter__button:disabled, .demo-presenter__link:disabled { opacity: .55; cursor: wait; }
.presenter-cue { position: fixed; z-index: 901; left: 20px; bottom: 20px; max-width: min(420px, calc(100vw - 150px)); padding: 12px 16px; border-radius: 12px; background: #3d3d50; color: #fff; font: 600 14px/1.4 Gilroy, Arial, sans-serif; box-shadow: 0 6px 24px #29293933; }
.presenter-cue[hidden] { display: none; }
.presenter-highlight { outline: 4px solid #ef7b70 !important; outline-offset: 4px; box-shadow: 0 0 0 8px #ef7b7033 !important; }
@media (max-width: 700px) { .presenter-cue { left: 12px; bottom: 12px; font-size: 12px; max-width: calc(100vw - 135px); } }

.presenter-cue__actions { display:flex; gap:8px; margin-top:8px; }
.presenter-cue__actions button { min-height:38px; padding:7px 10px; border:1px solid #fff; border-radius:8px; background:#fff; color:#303044; font:600 13px/1.2 Arial,sans-serif; cursor:pointer; }
.presenter-cue__actions button:disabled { opacity:.6; cursor:wait; }
.presenter-cue__actions button[hidden] { display:none; }

.demo-presenter__replay[hidden] { display:none; }
.demo-launcher__menu .demo-presenter__replay p { margin:8px 0; font-size:12px; line-height:1.4; }

.demo-launcher__role{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:#f5f5f7;margin:4px 0 10px}
.demo-launcher__role span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#8b8b99}
.demo-launcher__role strong{font-size:15px;color:#3d3d50}
.demo-launcher__role a{color:#3973af;text-decoration:none;font-size:13px;padding:0}
