.p5,.p5-canvas{font-family:var(--font-serif);color:var(--fg-1)}.p5-canvas{min-height:100vh;background:radial-gradient(circle at 88% -12%,rgba(15,118,110,.1),transparent 40%),radial-gradient(circle at -8% 14%,rgba(201,111,59,.07),transparent 34%),linear-gradient(180deg,var(--canvas-strong) 0,var(--canvas-deeper) 100%);font-size:14px;line-height:1.45;display:flex;flex-direction:column}.p5-canvas.flat{background:var(--canvas)}.p5-canvas.projector{background:linear-gradient(180deg,#0e1f23,#08151a);color:#e6f3f0;min-height:100vh}.p5-canvas.mobile{min-height:100vh;background:var(--canvas);display:flex;flex-direction:column}.p5 .brandlock-chrome{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-serif)}.p5 .brandlock-chrome .logo{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--teal-500),var(--teal-600));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:-.01em}.p5 .brandlock-chrome .name{font-size:14px;font-weight:700;letter-spacing:-.005em;color:var(--fg-1)}.p5 .brandlock-project{display:inline-flex;align-items:center;gap:18px;color:#f4fbf9}.p5 .brandlock-project .logo{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--teal-500),var(--teal-600));color:#fff;display:grid;place-items:center;font-size:36px;font-weight:800;letter-spacing:-.02em;box-shadow:0 12px 40px rgba(15,118,110,.4)}.p5 .brandlock-project .name{font-size:36px;font-weight:700;letter-spacing:-.01em;color:#f4fbf9}.p5 .live-pulse{position:relative;display:inline-flex;width:10px;height:10px;align-items:center;justify-content:center;flex-shrink:0}.p5 .live-pulse .dot{position:relative;z-index:2;width:8px;height:8px;box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.p5 .live-pulse .dot,.p5 .live-pulse .ring{border-radius:50%;background:var(--pulse-color,var(--teal-500))}.p5 .live-pulse .ring{position:absolute;inset:-2px;opacity:.5;animation:p5-live-pulse-ring 2s ease-out infinite}@keyframes p5-live-pulse-ring{0%{transform:scale(.6);opacity:.5}80%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}.p5 .speak-bars{display:inline-flex;align-items:center;gap:2px;height:18px;width:22px}.p5 .speak-bars .bar{flex:1;background:var(--teal-500);border-radius:1px;min-height:3px;align-self:center}.p5 .speak-bars.live .bar{animation:p5-speak-bar-bounce .9s ease-in-out infinite alternate}@keyframes p5-speak-bar-bounce{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.p5 .sparkbar{display:block;width:100%;height:4px;background:rgba(29,42,47,.08);border-radius:999px;overflow:hidden;position:relative}.p5 .sparkbar .fill{display:block;height:100%;border-radius:999px}.p5 .sparkbar.tone-teal .fill{background:var(--teal-500)}.p5 .sparkbar.tone-violet .fill{background:var(--violet-500)}.p5 .sparkbar.tone-amber .fill{background:var(--amber-600)}.p5 .sparkbar.tone-highlight .fill{background:var(--highlight)}.p5 .sparkbar.tone-rose .fill{background:var(--rose-600)}.p5 .mobile-status{height:44px;display:flex;align-items:flex-end;justify-content:space-between;padding:12px 28px 6px;font-size:14px;font-weight:600;font-family:var(--font-sans)}.p5 .mobile-status.tone-dark{color:#0f1c1f}.p5 .mobile-status.tone-light{color:#f4fbf9}.p5 .mobile-status .indicators{display:inline-flex;align-items:center;gap:6px}.p5 .mobile-status .signal-dots{display:inline-flex;gap:2px;align-items:flex-end}.p5 .mobile-status .signal-dots i{display:block;width:3px;background:currentColor;border-radius:1px}.p5 .mobile-status .signal-dots i:first-child{height:4px}.p5 .mobile-status .signal-dots i:nth-child(2){height:6px}.p5 .mobile-status .signal-dots i:nth-child(3){height:8px}.p5 .mobile-status .signal-dots i:nth-child(4){height:10px}.p5 .mobile-status .battery{position:relative;width:24px;height:11px;border:1px solid;border-radius:3px;padding:1px}.p5 .mobile-status .battery .cap{position:absolute;right:-3px;top:3px;width:2px;height:5px;background:currentColor;border-radius:0 1px 1px 0}.p5 .mobile-status .battery .fill{display:block;width:80%;height:100%;background:currentColor;border-radius:1px}.p5 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-serif);font-size:13px;font-weight:600;border-radius:10px;border:1px solid transparent;padding:8px 14px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;background:transparent;color:var(--fg-1)}.p5 .btn:disabled{opacity:.5;cursor:not-allowed}.p5 .btn .icon{width:16px;height:16px;flex-shrink:0}.p5 .btn-primary{background:var(--accent);color:var(--accent-contrast,#fff);border-color:var(--accent)}.p5 .btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.p5 .btn-primary.danger{background:var(--rose-600);border-color:var(--rose-600)}.p5 .btn-primary.danger:hover{background:#8a1414;border-color:#8a1414}.p5 .btn-ghost{background:transparent;color:var(--fg-1);border-color:var(--border-strong)}.p5 .btn-ghost:hover{background:rgba(29,42,47,.04)}.p5 .btn-soft{background:var(--accent-soft);color:var(--accent-strong);border-color:transparent}.p5 .btn-soft:hover{background:var(--teal-100)}.p5 .btn-icon{width:32px;height:32px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--fg-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.p5 .btn-icon:hover{background:rgba(29,42,47,.06);color:var(--fg-1)}.p5 .btn-icon .icon{width:16px;height:16px}.p5 .btn.lg{padding:10px 18px;font-size:14px;border-radius:12px}.p5 .btn.sm{padding:6px 10px;font-size:12px;border-radius:8px}.p5 .chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(29,42,47,.06);color:var(--fg-2);white-space:nowrap}.p5 .chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.p5 .chip.live{background:var(--teal-100);color:var(--teal-600)}.p5 .chip.attention{background:var(--highlight-100);color:var(--highlight)}.p5 .chip.danger{background:var(--rose-50);color:var(--rose-600)}.p5 .chip.ok{background:var(--emerald-50);color:var(--emerald-600)}.p5 .chip.violet{background:var(--violet-100);color:var(--violet-600)}.p5 .chip.recording{background:rgba(185,28,28,.1);color:var(--rose-600)}.p5 .cockpit{flex:1;display:flex;flex-direction:column;padding:18px 32px 32px}.p5 .cockpit-bar{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--border-subtle);margin-bottom:20px}.p5 .cockpit-bar .left{display:inline-flex;align-items:center;gap:16px}.p5 .cockpit-bar .crumb{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-2)}.p5 .cockpit-bar .crumb .sep{color:var(--fg-3)}.p5 .cockpit-bar .crumb .here{color:var(--fg-1);font-weight:600}.p5 .cockpit-bar .right{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--fg-2)}.p5 .hero{position:relative;border-radius:22px;overflow:hidden;padding:28px 32px 26px;color:#f4fbf9;background:linear-gradient(135deg,#0e514a,#126661 38%,#1c7d6e 70%,#2d9586)}.p5 .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% -10%,hsla(0,0%,100%,.12),transparent 38%),radial-gradient(circle at -10% 110%,rgba(201,111,59,.18),transparent 50%);pointer-events:none}.p5 .hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:stretch}.p5 .hero-left .hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,251,249,.7)}.p5 .hero-left .hero-eyebrow .chip{background:rgba(244,251,249,.16);color:#fff;letter-spacing:.04em}.p5 .hero-left h1{margin-top:12px;font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.012em;max-width:480px;text-wrap:balance;color:#fff}.p5 .hero-left .lede{margin-top:12px;font-size:14px;line-height:1.55;color:rgba(244,251,249,.82);max-width:480px}.p5 .hero-left .meta{margin-top:16px;display:inline-flex;align-items:center;gap:14px;font-size:12px;color:rgba(244,251,249,.72);flex-wrap:wrap}.p5 .hero-left .meta .dot{width:3px;height:3px;background:currentColor;border-radius:50%}.p5 .hero-left .actions{margin-top:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.p5 .hero-left .actions .btn-primary{background:#fff;color:var(--teal-600);border-color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}.p5 .hero-left .actions .btn-primary:hover{background:hsla(0,0%,100%,.92)}.p5 .hero-left .actions .btn-ghost{background:rgba(244,251,249,.1);border-color:rgba(244,251,249,.3);color:#fff}.p5 .hero-left .actions .btn-ghost:hover{background:rgba(244,251,249,.18)}.p5 .hero-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.p5 .hero-tile{border-radius:14px;background:rgba(244,251,249,.08);border:1px solid rgba(244,251,249,.14);padding:12px 14px;position:relative;display:flex;flex-direction:column;gap:4px}.p5 .hero-tile .label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,251,249,.62)}.p5 .hero-tile .value{font-size:26px;font-weight:700;letter-spacing:-.01em;color:#fff;font-feature-settings:"tnum"}.p5 .hero-tile .hint{font-size:11px;color:rgba(244,251,249,.6)}.p5 .hero-tile .delta{position:absolute;top:10px;right:12px;font-size:10px;font-weight:700;color:rgba(244,251,249,.55)}.p5 .hero-tile.attention{background:rgba(201,111,59,.18);border-color:rgba(201,111,59,.35)}.p5 .hero-tile.attention .value{color:#ffe1c9}.p5 .cockpit-cols{margin-top:16px;display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.p5 .cockpit-card{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:16px;padding:16px 18px}.p5 .cockpit-card .head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.p5 .cockpit-card .head .eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.p5 .cockpit-card .head .right{font-size:11px;color:var(--fg-2);display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;text-align:right}.p5 .cockpit-card h2{font-size:16px;font-weight:700;letter-spacing:-.005em;margin:0 0 4px;color:var(--fg-1)}.p5 .cockpit-card p.sub{font-size:12px;color:var(--fg-2);margin:0}.p5 .prep-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.p5 .prep-item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-subtle);background:rgba(255,252,248,.5)}.p5 .prep-item .check{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.p5 .prep-item.done .check{background:var(--emerald-50);color:var(--emerald-600)}.p5 .prep-item.done .check svg{width:12px;height:12px}.p5 .prep-item.todo .check{background:transparent;border:1.5px dashed var(--border-strong)}.p5 .prep-item.attn .check{background:var(--highlight-100);color:var(--highlight)}.p5 .prep-item.attn .check svg{width:11px;height:11px}.p5 .prep-item .body{font-size:13px;line-height:1.4;color:var(--fg-1)}.p5 .prep-item .body small{display:block;color:var(--fg-2);font-size:11px;margin-top:2px}.p5 .prep-item .action{font-size:11px;font-weight:600;color:var(--accent);cursor:pointer;background:transparent;border:0;font-family:inherit}.p5 .prep-item .action:hover{text-decoration:underline}.p5 .tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.p5 .tool-card{border:1px solid var(--border-subtle);border-radius:12px;padding:12px 14px;background:rgba(255,252,248,.5);display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:border-color .15s,background .15s;text-decoration:none;color:inherit;font-family:inherit;text-align:left}.p5 .tool-card:hover{border-color:var(--accent);background:var(--accent-soft)}.p5 .tool-card .glyph{width:28px;height:28px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:4px}.p5 .tool-card .glyph svg{width:16px;height:16px}.p5 .tool-card .label{font-size:13px;font-weight:600;color:var(--fg-1)}.p5 .tool-card .hint{font-size:11px;color:var(--fg-2)}.p5 .liveroom{flex:1;display:grid;grid-template-rows:56px 1fr;background:var(--canvas);font-family:var(--font-serif)}.p5 .lr-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:0 16px;background:rgba(255,252,248,.92);border-bottom:1px solid var(--border-subtle)}.p5 .lr-header .left{display:inline-flex;align-items:center;gap:14px}.p5 .lr-header .center{display:inline-flex;justify-content:center}.p5 .lr-header .right,.p5 .lr-header .session-meta{display:inline-flex;align-items:center;gap:10px}.p5 .lr-header .session-meta{font-size:13px;line-height:1.2}.p5 .lr-header .session-meta .course-code{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);padding:3px 7px;border-radius:5px;background:rgba(29,42,47,.06)}.p5 .lr-header .session-meta .title{font-size:14px;font-weight:600;color:var(--fg-1)}.p5 .lr-header .session-meta .sep{color:var(--fg-3)}.p5 .lr-header .session-meta .clock{font-size:12px;color:var(--fg-2);font-feature-settings:"tnum"}.p5 .lr-header .live-badge{display:inline-flex;align-items:center;gap:8px;background:var(--teal-100);color:var(--teal-600);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px 4px 8px;border-radius:999px}.p5 .lr-header .live-badge.recording{background:rgba(185,28,28,.1);color:var(--rose-600);min-width:108px;justify-content:center}.p5 .lr-header--no-center{grid-template-columns:auto 1fr}.p5 .lr-header--no-center .right{justify-self:end}.p5 .lr-banner{margin:8px 16px 0;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.4}.p5 .lr-banner.error{background:var(--rose-50);color:var(--rose-600);border:1px solid rgba(185,28,28,.2)}.p5 .lr-banner.info{background:var(--teal-50);color:var(--teal-600);border:1px solid var(--teal-100)}.p5 .lr-header .live-badge.ended,.p5 .lr-header .live-badge.scheduled{background:rgba(29,42,47,.06);color:var(--fg-2)}.p5 .mode-switcher{display:inline-flex;align-items:stretch;background:rgba(29,42,47,.04);border:1px solid var(--border-subtle);border-radius:10px;padding:2px;font-size:12px}.p5 .mode-switcher .mode{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;color:var(--fg-2);cursor:pointer;font-weight:600;white-space:nowrap;background:transparent;border:0;font-family:inherit}.p5 .mode-switcher .mode .icon{width:13px;height:13px}.p5 .mode-switcher .mode:hover{color:var(--fg-1)}.p5 .mode-switcher .mode.active{background:#fff;color:var(--accent-strong);box-shadow:0 1px 2px rgba(29,42,47,.06)}.p5 .mode-switcher .mode.active .icon{color:var(--accent)}.p5 .lr-body{position:relative;overflow:hidden}.p5 .lr-body.layout-a{display:grid;grid-template-columns:1fr 460px;gap:0}.p5 .lr-aside{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--border-subtle);background:rgba(255,252,248,.65);min-height:0}.p5 .lr-col{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.p5 .lr-col+.lr-col{border-left:1px solid var(--border-subtle)}.p5 .lr-col-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);background:rgba(255,252,248,.92);border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(6px)}.p5 .lr-col-head .label{display:inline-flex;align-items:center;gap:8px}.p5 .lr-col-head .label .swatch{width:8px;height:8px;border-radius:50%;background:var(--accent)}.p5 .lr-col-head .label .swatch.now{background:var(--teal-500)}.p5 .lr-col-head .label .swatch.tools{background:var(--highlight)}.p5 .lr-section{border-bottom:1px solid var(--border-subtle);padding:12px 14px}.p5 .lr-section:last-child{border-bottom:0}.p5 .lr-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.p5 .lr-section-head h3{font-size:12px;font-weight:700;color:var(--fg-1);display:inline-flex;align-items:center;gap:8px;margin:0}.p5 .lr-section-head h3 .icon{width:13px;height:13px;color:var(--fg-2)}.p5 .lr-section-head .count{font-size:11px;font-weight:700;color:var(--fg-2);font-feature-settings:"tnum"}.p5 .lr-section.suggested{background:rgba(15,118,110,.04)}.p5 .lr-section.suggested .lr-section-head h3:before{content:"";display:inline-block;width:3px;height:12px;background:var(--accent);border-radius:2px}.p5 .lr-section.dimmed{opacity:.55}.p5 .lr-main{flex:1;display:flex;flex-direction:column;min-height:0}.p5 .lr-main>.mode-switcher{margin:12px 24px 6px;align-self:flex-start}.p5 .lr-grid{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 320px 320px;gap:0;min-height:0}.p5 .lr-stage{padding:12px 24px 24px;overflow-y:auto}.p5 .lr-deck,.p5 .lr-stage{display:flex;flex-direction:column;min-height:0}.p5 .lr-deck{border:1px solid var(--ink-line);border-radius:12px;background:var(--color-paper);overflow:hidden}.p5 .lr-deck-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--ink-line)}.p5 .lr-deck-head .meta{min-width:0;display:flex;flex-direction:column;gap:2px}.p5 .lr-deck-head .meta .title{font-size:13px;font-weight:600;color:var(--fg-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p5 .lr-deck-head .meta .file{font-size:11px;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p5 .lr-deck-empty{padding:56px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;color:var(--fg-2);font-size:13px}.p5 .lr-deck-empty .glyph{width:56px;height:56px;border-radius:14px;background:var(--color-accent-soft);color:var(--color-accent);display:grid;place-items:center}.p5 .lr-deck-empty h3{margin:0;font-size:16px;font-weight:700;color:var(--fg-1)}.p5 .lr-deck-empty p{margin:0;max-width:480px;line-height:1.5}.p5 .lr-deck-frame{position:relative;flex:1;min-height:320px;background:var(--canvas-strong)}.p5 .lr-deck-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(15,32,38,.55);color:#f4fbf9}.p5 .lr-deck-overlay strong{font-size:18px;font-weight:700}.p5 .lr-deck-overlay span{font-size:12px;opacity:.85}.p5 .lr-deck-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--ink-line)}.p5 .lr-deck-foot .nav{display:inline-flex;align-items:center;gap:8px}.p5 .lr-deck-foot .nav .pos{min-width:64px;font-size:12px;color:var(--fg-2);font-feature-settings:"tnum";text-align:center}.p5 .lr-deck-foot .rec-controls{display:inline-flex;align-items:center;gap:8px}.p5 .lr-deck-foot .nav button,.p5 .lr-deck-foot .rec-controls select{font-family:inherit}.p5 .lr-pulse-count{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--fg-2);font-feature-settings:"tnum"}.p5 .lr-list{display:flex;flex-direction:column;gap:6px;font-size:12px}.p5 .lr-list .row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 10px;border-radius:8px;background:rgba(255,252,248,.85);border:1px solid var(--ink-line)}.p5 .lr-list .row .body{display:flex;flex-direction:column;gap:2px;min-width:0}.p5 .lr-list .row .body strong{font-size:12.5px;color:var(--fg-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p5 .lr-list .row .body span{font-size:11px;color:var(--fg-2)}.p5 .lr-list .row .actions{display:inline-flex;gap:4px;align-items:center}.p5 .lr-poll-bar{display:grid;grid-template-columns:1fr 56px;gap:8px;align-items:center;margin:4px 0}.p5 .lr-poll-bar .track{height:6px;border-radius:999px;background:rgba(29,42,47,.06);overflow:hidden}.p5 .lr-poll-bar .track .fill{display:block;height:100%;background:var(--color-accent);border-radius:999px}.p5 .lr-poll-bar .ct{font-size:11px;color:var(--fg-2);font-feature-settings:"tnum";text-align:right}.p5 .lr-stack{display:flex;flex-direction:column;gap:8px}.p5 .lr-stack .row-action{display:inline-flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;background:transparent;border:1px solid var(--ink-line);color:var(--fg-1);font-size:12.5px;font-family:inherit;cursor:pointer;text-align:left}.p5 .lr-stack .row-action:hover{background:rgba(29,42,47,.025)}.p5 .lr-stack .row-action[disabled]{opacity:.55;cursor:default}.p5 .lr-stack .row-action.danger{color:var(--rose-600);border-color:rgba(185,28,28,.2)}.p5 .lr-stack .row-action.danger:hover{background:var(--rose-50)}.p5 .lr-foot-note{margin-top:6px;font-size:11px;color:var(--fg-3);line-height:1.4}.p5 .lr-header .session-meta .meta{font-size:12px;color:var(--fg-2);font-feature-settings:"tnum"}.p5 .speaking-tile{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(15,118,110,.08),rgba(15,118,110,.02) 80%);border:1px solid rgba(15,118,110,.16)}.p5 .speaking-tile.idle{background:rgba(29,42,47,.03);border-color:var(--border-subtle)}.p5 .speaking-tile .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--teal-500),var(--teal-600));color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;position:relative}.p5 .speaking-tile .avatar.idle{background:rgba(29,42,47,.08);color:var(--fg-3)}.p5 .speaking-tile .avatar .pulse-ring{position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--teal-500);opacity:.5;animation:p5-live-pulse-ring 2.4s ease-out infinite}.p5 .speaking-tile .body{display:flex;flex-direction:column;gap:3px;min-width:0}.p5 .speaking-tile .name{font-size:13px;font-weight:600;color:var(--fg-1)}.p5 .speaking-tile .name.idle{color:var(--fg-3);font-style:italic;font-weight:500}.p5 .speaking-tile .meta{font-size:11px;color:var(--fg-2);display:inline-flex;align-items:center;gap:6px}.p5 .speaking-tile .meta .conf{font-feature-settings:"tnum"}.p5 .speaking-tile .right{display:flex;align-items:center;gap:8px}.p5 .privacy-foot{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--fg-2);cursor:pointer}.p5 .privacy-foot .icon{width:11px;height:11px;color:var(--teal-500)}.p5 .privacy-foot:hover{color:var(--fg-1)}.p5 .confusion{display:grid;grid-template-rows:auto auto;gap:10px}.p5 .confusion-bar{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.p5 .confusion-bar .label{font-size:12px;font-weight:600}.p5 .confusion-bar .value{font-size:13px;font-weight:700;font-feature-settings:"tnum";color:var(--fg-1)}.p5 .confusion .signals{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--fg-2)}.p5 .confusion .signals .s{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:4px 0}.p5 .confusion .signals .s .icon{width:12px;height:12px;color:var(--fg-3)}.p5 .confusion .signals .s.hot .icon{color:var(--highlight)}.p5 .confusion .signals .s .count{font-feature-settings:"tnum";font-weight:700;color:var(--fg-1)}.p5 .confusion-spike{margin-top:4px;display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;background:var(--highlight-100);color:#6b3a18;font-size:12px;line-height:1.4}.p5 .confusion-spike .icon{width:14px;height:14px;color:var(--highlight);flex-shrink:0;margin-top:1px}.p5 .confusion-spike strong{color:var(--highlight)}.p5 .projector-shell{flex:1;display:grid;grid-template-rows:auto 1fr auto;padding:32px 56px;gap:18px;color:#f4fbf9}.p5 .projector-shell .top{display:flex;align-items:center;justify-content:space-between}.p5 .projector-shell .top .meta{font-size:14px;color:rgba(244,251,249,.65);display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.p5 .projector-shell .top .meta .clock{font-size:14px;font-feature-settings:"tnum";color:rgba(244,251,249,.85)}.p5 .projector-shell .center{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.p5 .projector-shell .center .copy h1{font-size:64px;font-weight:700;letter-spacing:-.02em;line-height:1;text-wrap:balance;color:#f4fbf9}.p5 .projector-shell .center .copy h1 em{font-style:normal;color:var(--teal-500)}.p5 .projector-shell .center .copy .lede{margin-top:24px;font-size:22px;line-height:1.4;color:rgba(244,251,249,.78);max-width:460px}.p5 .projector-shell .center .copy .course{margin-top:36px;display:inline-flex;flex-direction:column;gap:4px;padding:18px 22px;border-radius:16px;background:rgba(244,251,249,.06);border:1px solid rgba(244,251,249,.14)}.p5 .projector-shell .center .copy .course .label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,251,249,.55)}.p5 .projector-shell .center .copy .course .name{font-size:26px;font-weight:700;letter-spacing:-.01em;color:#f4fbf9}.p5 .projector-shell .center .qrwrap{position:relative;justify-self:end;background:#fff;padding:32px;border-radius:28px;box-shadow:0 32px 80px rgba(0,0,0,.4)}.p5 .projector-shell .center .qrwrap .qrcode{width:360px;height:360px;border-radius:8px;display:grid;background:#fff}.p5 .projector-shell .center .qrwrap .qrlabel{margin-top:18px;text-align:center;font-size:13px;color:var(--fg-2);font-family:var(--font-mono);letter-spacing:.12em}.p5 .projector-shell .bottom{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:rgba(244,251,249,.55);flex-wrap:wrap;gap:12px}.p5 .projector-shell .bottom .rotate{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(244,251,249,.08)}.p5 .projector-shell .bottom .rotate .icon{width:14px;height:14px}.p5 .student-shell{flex:1;display:grid;grid-template-rows:52px 1fr;font-family:var(--font-serif);min-height:100vh}.p5 .student-header{display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(255,252,248,.92);border-bottom:1px solid var(--border-subtle)}.p5 .student-header .left{display:inline-flex;align-items:center;gap:14px}.p5 .student-header .right{display:inline-flex;align-items:center;gap:10px;font-size:12px}.p5 .student-header .session-meta{display:inline-flex;align-items:center;gap:10px;font-size:13px}.p5 .student-header .session-meta .course-code{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);padding:3px 7px;border-radius:5px;background:rgba(29,42,47,.06)}.p5 .student-header .session-meta .title{font-size:14px;font-weight:600;color:var(--fg-1)}.p5 .student-header .session-meta .sep{color:var(--fg-3)}.p5 .student-header .session-meta .clock{font-size:12px;color:var(--fg-2);font-feature-settings:"tnum"}.p5 .student-header .live-badge{display:inline-flex;align-items:center;gap:8px;background:var(--violet-100);color:var(--violet-600);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px 4px 8px;border-radius:999px}.p5 .student-body{display:grid;grid-template-columns:1fr 360px;min-height:0}.p5 .student-stage{padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}.p5 .student-stage .deck-frame{flex:1;border-radius:16px;overflow:hidden;background:#15212a;position:relative;min-height:360px}.p5 .student-stage .follow-pill{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,252,248,.92);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-600);z-index:2}.p5 .student-stage .student-deck-slide{position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(109,40,217,.18),transparent 60%),linear-gradient(180deg,#f4eedf,#efe6d2);display:flex;flex-direction:column;padding:36px 48px;color:#1d2a2f}.p5 .student-stage .student-deck-slide .deck-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--violet-600)}.p5 .student-stage .student-deck-slide h1{margin-top:10px;font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.012em;max-width:540px;color:var(--fg-1)}.p5 .student-stage .student-deck-slide ol{margin-top:24px;padding:0;display:flex;flex-direction:column;gap:10px;list-style:none}.p5 .student-stage .student-deck-slide ol li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:14.5px;line-height:1.4}.p5 .student-stage .student-deck-slide ol li:before{content:counter(p5sd);counter-increment:p5sd;font-size:11px;font-weight:700;background:rgba(109,40,217,.16);color:var(--violet-600);width:20px;height:20px;border-radius:50%;display:grid;place-items:center}.p5 .student-stage .student-deck-slide ol{counter-reset:p5sd}.p5 .student-stage .deck-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--fg-2);flex-wrap:wrap;gap:8px}.p5 .student-aside{border-left:1px solid var(--border-subtle);background:rgba(255,252,248,.65);padding:16px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.p5 .student-card{border:1px solid var(--border-subtle);border-radius:14px;background:rgba(255,252,248,.92);padding:14px}.p5 .student-card h3{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}.p5 .student-card h3 .icon{width:12px;height:12px}.p5 .hand-raise{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:14px;background:rgba(109,40,217,.06);border:1px solid rgba(109,40,217,.18);font-size:13px;cursor:pointer;width:100%;text-align:left;font-family:inherit;color:inherit}.p5 .hand-raise:hover{background:rgba(109,40,217,.1)}.p5 .hand-raise .glyph{width:36px;height:36px;border-radius:50%;background:var(--violet-100);color:var(--violet-600);display:grid;place-items:center}.p5 .hand-raise .glyph .icon{width:18px;height:18px}.p5 .hand-raise.raised{background:var(--violet-500);color:#fff;border-color:var(--violet-500)}.p5 .hand-raise.raised .glyph{background:hsla(0,0%,100%,.2);color:#fff}.p5 .hand-raise.raised .since{font-size:10px;opacity:.8;font-feature-settings:"tnum"}.p5 .hand-raise .body strong{font-size:14px;font-weight:700}.p5 .hand-raise .body .sub{font-size:11px;opacity:.8;margin-top:2px}.p5 .mic-array{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center}.p5 .mic-array .glyph{width:28px;height:28px;border-radius:8px;background:rgba(29,42,47,.05);color:var(--fg-2);display:grid;place-items:center}.p5 .mic-array .glyph .icon{width:14px;height:14px}.p5 .mic-array.on .glyph{background:var(--violet-100);color:var(--violet-500)}.p5 .mic-array .body .label{font-size:13px;font-weight:600;color:var(--fg-1)}.p5 .mic-array .body .sub{font-size:11px;color:var(--fg-2);margin-top:1px}.p5 .toggle{position:relative;width:36px;height:20px;border-radius:999px;background:rgba(29,42,47,.12);cursor:pointer;transition:background .15s;border:0;flex-shrink:0}.p5 .toggle:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s}.p5 .toggle.on{background:var(--violet-500)}.p5 .toggle.on:after{transform:translateX(16px)}.p5 .privacy-row{margin-top:10px;display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;background:rgba(29,42,47,.03);font-size:11px;line-height:1.45;color:var(--fg-2)}.p5 .privacy-row .icon{width:13px;height:13px;flex-shrink:0;margin-top:1px;color:var(--violet-500)}.p5 .student-poll{border:1px solid var(--violet-500);border-radius:16px;padding:16px;background:linear-gradient(180deg,var(--violet-50) 0,rgba(255,252,248,.92) 80%);box-shadow:0 8px 24px rgba(109,40,217,.1)}.p5 .student-poll .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.p5 .student-poll .head .label{gap:8px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.p5 .student-poll .head .label,.p5 .student-poll .head .timer{display:inline-flex;align-items:center;color:var(--violet-600)}.p5 .student-poll .head .timer{font-size:12px;font-weight:700;font-feature-settings:"tnum";gap:6px}.p5 .student-poll .head .timer .icon{width:12px;height:12px}.p5 .student-poll h2{font-size:16px;font-weight:600;line-height:1.3;margin:0 0 14px;color:var(--fg-1)}.p5 .student-poll .opts{display:flex;flex-direction:column;gap:6px}.p5 .student-poll .opt{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid var(--border-subtle);background:rgba(255,252,248,.92);font-size:13px;cursor:pointer;font-family:inherit;width:100%;text-align:left;color:inherit}.p5 .student-poll .opt:hover{border-color:var(--violet-500)}.p5 .student-poll .opt.selected{border-color:var(--violet-500);background:var(--violet-50)}.p5 .student-poll .opt .letter{width:22px;height:22px;border-radius:6px;background:rgba(29,42,47,.06);color:var(--fg-2);display:grid;place-items:center;font-size:11px;font-weight:700}.p5 .student-poll .opt.selected .letter{background:var(--violet-500);color:#fff}.p5 .student-poll .foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.p5 .student-poll .foot .submit{background:var(--violet-500);border-color:var(--violet-500);color:#fff}.p5 .student-poll .foot .submit:hover{background:var(--violet-600);border-color:var(--violet-600)}.p5 .q-compose{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.p5 .q-compose input{padding:8px 12px;border-radius:10px;border:1px solid var(--border-subtle);background:rgba(255,252,248,.92);font-family:inherit;font-size:13px;color:var(--fg-1)}.p5 .q-compose input::-moz-placeholder{color:var(--fg-3);font-style:italic}.p5 .q-compose input::placeholder{color:var(--fg-3);font-style:italic}.p5 .q-compose input:focus{outline:2px solid var(--violet-500);outline-offset:0;border-color:var(--violet-500)}.p5 .attend-shell{display:flex;flex-direction:column;gap:18px;flex:1;padding:0 0 24px}.p5 .attend-shell .head{display:flex;flex-direction:column;gap:6px;text-align:center;padding:28px 24px 0}.p5 .attend-shell .head .badge{align-self:center;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-500);margin-bottom:4px}.p5 .attend-shell .head h1{font-size:24px;font-weight:700;letter-spacing:-.01em;text-wrap:balance;color:var(--fg-1);margin:0}.p5 .attend-shell .head p{font-size:13px;color:var(--fg-2);margin:0}.p5 .attend-shell .course-card{margin:0 24px;border:1px solid var(--border-subtle);border-radius:16px;padding:18px;background:rgba(255,252,248,.92);display:flex;flex-direction:column;gap:12px}.p5 .attend-shell .course-card .row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;font-size:13px}.p5 .attend-shell .course-card .row .glyph{width:28px;height:28px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.p5 .attend-shell .course-card .row .glyph .icon{width:14px;height:14px}.p5 .attend-shell .course-card .row strong{font-weight:700;color:var(--fg-1)}.p5 .attend-shell .course-card .row small{color:var(--fg-2);display:block;font-size:11px}.p5 .attend-shell .you{margin-top:8px;padding-top:12px;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.p5 .attend-shell .you .who{font-size:13px;color:var(--fg-1)}.p5 .attend-shell .you .who small{color:var(--fg-2);display:block;font-size:11px}.p5 .attend-shell .actions{margin-top:auto;padding:0 24px;display:flex;flex-direction:column;gap:8px}.p5 .attend-shell .actions .btn{padding:14px;font-size:15px;border-radius:14px}.p5 .attend-shell .actions .privacy{font-size:11px;color:var(--fg-3);text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:5px}.p5 .attend-shell .actions .privacy .icon{width:11px;height:11px}.p5-canvas.proctor{min-height:100vh;flex-direction:column}.p5 .proctor-shell,.p5-canvas.proctor{background:#0e1f23;color:#e6f3f0;display:flex}.p5 .proctor-shell{flex:1;flex-direction:column}.p5 .proctor-shell .top{padding:18px 20px 14px;border-bottom:1px solid rgba(244,251,249,.08)}.p5 .proctor-shell .top .meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.p5 .proctor-shell .top .meta .badge{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(230,243,240,.55)}.p5 .proctor-shell .top h1{font-size:18px;font-weight:700;letter-spacing:-.005em;color:#fff;margin:0}.p5 .proctor-shell .top p{font-size:12px;color:rgba(230,243,240,.65);margin:4px 0 0}.p5 .proctor-shell .video{flex:1;margin:16px 20px;border-radius:16px;overflow:hidden;background:#050d10;position:relative;display:flex;align-items:center;justify-content:center;min-height:300px}.p5 .proctor-shell .video .videoframe{position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(255,240,220,.12),transparent 50%),linear-gradient(180deg,#2c1d12,#1a0f08)}.p5 .proctor-shell .video .videoframe video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.p5 .proctor-shell .video .vp-overlay{left:12px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}.p5 .proctor-shell .video .vp-frame-counter,.p5 .proctor-shell .video .vp-overlay{position:absolute;top:12px;padding:6px 10px;background:rgba(8,21,26,.7);backdrop-filter:blur(8px);font-size:11px;z-index:2}.p5 .proctor-shell .video .vp-frame-counter{right:12px;border-radius:8px;color:rgba(244,251,249,.85);font-feature-settings:"tnum"}.p5 .proctor-shell .stats{padding:0 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.p5 .proctor-shell .stat{border:1px solid rgba(244,251,249,.1);border-radius:12px;padding:10px 12px;background:rgba(244,251,249,.04)}.p5 .proctor-shell .stat .label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(230,243,240,.55)}.p5 .proctor-shell .stat .value{font-size:16px;font-weight:700;margin-top:2px;color:#fff;font-feature-settings:"tnum"}.p5 .proctor-shell .stat .value.ok{color:#7ad0bf}.p5 .proctor-shell .stat .value.warn{color:var(--highlight)}.p5 .proctor-shell .stat .value.bad{color:var(--rose-600)}.p5 .proctor-shell .stat .sub{font-size:10.5px;color:rgba(230,243,240,.55)}.p5 .proctor-shell .foot{padding:16px 20px 28px;display:flex;flex-direction:column;gap:10px}.p5 .proctor-shell .foot .sticky{display:inline-flex;align-items:flex-start;gap:8px;font-size:11px;color:rgba(230,243,240,.6);line-height:1.5}.p5 .proctor-shell .foot .sticky .icon{width:14px;height:14px;flex-shrink:0;color:rgba(230,243,240,.6);margin-top:1px}.p5 .proctor-shell .foot .btn-primary.danger{background:var(--rose-600);color:#fff;border-color:var(--rose-600)}.p5 .divider-soft{height:1px;background:var(--border-subtle);margin:8px 0}.p5 .empty-soft{font-size:12px;color:var(--fg-3);text-align:center;padding:14px 8px;font-style:italic}