@font-face{font-family:Poppins;src:url('/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{font-family:Poppins,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#172143;background:#f7f9fc;font-synthesis:none;--blue:#2340B9;--green:#41AE8E;--ink:#172143;--muted:#68718a;--line:#e3e7f1;--paper:#fff;--red:#b9394c;--shadow:0 8px 40px #23357206,0 2px 5px #23357203}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}p,h1,h2,h3,h4{margin:0}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #41ae8e;outline-offset:4px}[hidden]{display:none!important}::selection{background:#d8f0e7;color:#17354a}
.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell{width:min(1220px,calc(100% - 96px));margin:auto}.topbar{min-height:102px;padding:23px max(48px,calc((100vw - 1220px)/2));display:flex;align-items:center;gap:28px;background:#ffffffdb;border-bottom:1px solid #e9edf4}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;flex-shrink:0}.brand-bubbles{width:55px;height:47px}.brand strong{display:block;font-size:25px;letter-spacing:-.8px;line-height:1.2;color:var(--blue);font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:500;margin-top:6px;color:#68718a}.header-label{margin-left:26px;padding-left:28px;border-left:1px solid var(--line);font-size:10px;letter-spacing:1.8px;font-weight:500;color:#77819a}.header-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.header-actions .text-button{font-size:12px}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:1.7px;line-height:1.8;color:var(--blue)}.button{display:inline-flex;gap:11px;justify-content:center;align-items:center;border:1px solid transparent;border-radius:13px;padding:14px 22px;min-height:52px;text-decoration:none;font-size:14px;line-height:1.5;font-weight:500;transition:background .15s,box-shadow .15s,transform .15s}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 5px 12px #2340b916}.button.primary:hover{background:#1b319c}.button.secondary{background:#fff;border-color:#dce2ef;color:var(--blue)}.button.secondary:hover{background:#f3f5fc;border-color:#bdc8e5}.button.danger{background:#b9394c;color:#fff}.button.small{min-height:43px;padding:10px 15px;font-size:12px;border-radius:10px}.full{width:100%}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 2px;background:transparent;border:0;font-size:13px;font-weight:500;color:var(--blue);text-decoration:none}.text-button:hover{text-decoration:underline}.text-link{color:var(--blue);font-size:13px;text-underline-offset:4px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:#f1f4fa;color:#64708a}.icon-button:hover{background:#e7edf7}.panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;color:var(--blue);border-radius:17px;background:#edf0fd}.feature-icon .icon{width:27px;height:27px}.muted,.quiet-note{color:var(--muted)}.quiet-note{font-size:12px;line-height:1.8}.centered{text-align:center}.page-footer{width:min(1220px,calc(100% - 96px));margin:50px auto 0;padding:28px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#838ca2}.page-footer strong{font-weight:400}.page-footer span{font-size:9px;letter-spacing:.6px}
/* A short, reassuring entrance for citizens. */
.landing{display:grid;grid-template-columns:1fr 460px;gap:90px;align-items:center;min-height:650px;padding-top:65px;padding-bottom:55px}.landing-intro{position:relative;padding-top:18px;min-height:450px}.landing h1{font-size:clamp(46px,5.3vw,70px);line-height:1.14;letter-spacing:-3.2px;font-weight:600;margin-top:25px}.landing h1 span{color:var(--blue)}.landing-intro>p{margin-top:24px;font-size:17px;color:#68718a;line-height:1.9}.welcome-card{padding:38px}.welcome-card h2{font-size:26px;font-weight:600;letter-spacing:-1px;line-height:1.3;margin-top:24px}.welcome-card>p:not(.quiet-note){font-size:13px;line-height:1.9;color:var(--muted);margin:15px 0 27px}.welcome-card .button{min-height:56px}.welcome-card>.quiet-note{text-align:center;margin-top:24px;font-size:10px}.or-divider{display:flex;align-items:center;gap:16px;font-size:10px;color:#97a0b4;margin:19px 0}.or-divider:before,.or-divider:after{content:'';height:1px;background:#edf0f6;flex:1}.bubble-decoration{position:relative;height:130px;width:330px;margin-top:37px}.bubble-decoration i{position:absolute;background:#e8edfe;border-radius:20px;width:110px;height:66px;left:0;top:0;transform:rotate(-5deg)}.bubble-decoration i:after{content:'';position:absolute;left:20px;bottom:-13px;border-top:17px solid #e8edfe;border-right:18px solid transparent}.bubble-decoration i:nth-child(2){left:113px;top:28px;background:#e2f3ed;width:123px;height:70px;transform:rotate(5deg)}.bubble-decoration i:nth-child(2):after{border-top-color:#e2f3ed}.bubble-decoration b{position:absolute;left:23px;top:19px;color:#7182c4;font-size:14px;font-weight:500;transform:rotate(-5deg)}.bubble-decoration b:nth-of-type(2){left:133px;top:49px;color:#508b79;transform:rotate(5deg)}.bubble-decoration b:nth-of-type(3){left:263px;top:84px;font-size:19px;color:#94a0bc;font-family:Arial,sans-serif;font-weight:400}.center-shell{max-width:650px;margin:65px auto;padding:0 24px}.access-card,.join-card{padding:44px;text-align:center}.access-card h1,.join-card h1{font-size:30px;letter-spacing:-1.1px;line-height:1.35;font-weight:600;margin:24px 0 17px}.access-card p,.join-card>p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:24px}.access-card .text-link{display:block;margin-top:28px}.join-card>.eyebrow{margin:4px 0 18px}.join-card h1{margin-top:0}.join-card>.text-button{margin-top:15px}.language-choice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 20px;min-height:66px;margin:25px 0 20px;border:1px solid #cbd5f2;border-radius:14px;background:#f8faff;color:var(--blue)}.language-choice>span{display:flex;gap:13px;align-items:center}.language-choice b{font-size:17px;font-weight:500}
/* Reader screen: the room, the language and the text. */
.room-shell{max-width:1120px;margin:0 auto;padding:39px 40px 55px}.room-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:28px}.room-heading h1{font-size:32px;line-height:1.35;letter-spacing:-1px;font-weight:600;margin:10px 0 14px;overflow-wrap:anywhere}.room-meta{display:flex;align-items:center;gap:18px;min-height:24px}.connection{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#8a7890}.connection>span{width:6px;height:6px;background:#c18d55;border-radius:50%}.connection.ready{color:#537d70}.connection.ready>span{background:var(--green)}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:500;color:#8a92a7;background:#f1f3f8;border:1px solid #e9edf3;border-radius:99px;padding:4px 9px;white-space:nowrap}.status i{width:5px;height:5px;border-radius:50%;background:currentColor}.status.live{background:#eaf7f2;color:#23795e;border-color:#d8ede5}.room-change{margin-top:16px;font-size:11px;flex-shrink:0}.caption-surface{border:1px solid var(--line);background:#fff;border-radius:25px;min-height:500px;box-shadow:var(--shadow);padding:27px 32px 33px}.caption-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.caption-label{font-size:11px;color:#929bb1}.caption-actions{display:flex;align-items:center;gap:10px}.language-pill{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:10px 13px;border:1px solid #d9e0f1;background:#f8faff;border-radius:11px;font-size:12px;color:var(--blue);max-width:240px}.language-pill .icon{width:16px;height:16px}.language-pill .icon:last-child{width:12px}.type-size{display:flex;align-items:baseline;justify-content:center;gap:3px;background:#f5f6fa;border:1px solid #e9edf3;min-height:42px;min-width:43px;border-radius:10px;font-size:11px;color:#7b849c}.type-size span{font-size:16px}.type-size[aria-pressed=true]{color:var(--blue);background:#eaf0ff;border-color:#b7c7f1}.captions{display:flex;flex-direction:column;gap:32px;min-height:365px;max-height:65dvh;overflow:auto;scrollbar-width:thin;scrollbar-color:#d5dced transparent;padding:0 5px 10px}.caption-block+.caption-block{padding-top:25px;border-top:1px solid #f0f2f7}.caption-speaker{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#7280a4;font-size:10px;font-weight:500;margin-bottom:12px}.caption-speaker:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green)}.caption-speaker>span{font-size:9px;font-weight:400;color:#9ba4b8}.caption-text{font-size:clamp(31px,3.6vw,43px);line-height:1.65;font-weight:400;letter-spacing:-.7px;color:#1a2855;overflow-wrap:anywhere;white-space:pre-line}.caption-text[dir=rtl]{font-family:Tahoma,Arial,sans-serif;line-height:1.85;letter-spacing:0;text-align:right}.caption-text:lang(zh){font-family:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;letter-spacing:0;line-height:1.85}.large-text .caption-text{font-size:clamp(40px,4.8vw,59px)}.provisional .caption-text{color:#394773}.caption-placeholder{margin:auto;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:430px;padding:30px 16px}.caption-placeholder h2{font-size:24px;font-weight:500;letter-spacing:-.6px;color:#a4acc0;margin:24px 0 12px;line-height:1.35}.caption-placeholder p{font-size:13px;line-height:1.85;color:#9aa3b9}.listening-dots{display:flex;gap:8px;align-items:center;justify-content:center;height:35px}.listening-dots i{width:12px;height:12px;background:#dce3f7;border-radius:50%}.listening-dots i:nth-child(2){background:#bbdfd3}.listening-dots.animated i{animation:listen 1.4s infinite}.listening-dots.animated i:nth-child(2){animation-delay:.17s}.listening-dots.animated i:nth-child(3){animation-delay:.34s}.reading-availability{padding:12px 15px;border:1px solid #dce5f4;background:#f5f8fe;border-radius:11px;font-size:12px;color:#637197;margin:0 0 20px;line-height:1.8}.caption-footnote{text-align:center;font-size:10px;color:#919bb3;margin-top:18px}.error-notice{color:#a2394c;background:#fff2f4;border:1px solid #f3d9df;padding:15px 18px;border-radius:12px;font-size:13px;line-height:1.8;margin-top:20px}.facilitator-view{padding-bottom:230px}.session-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;margin-bottom:22px}.session-controls strong{font-size:14px;font-weight:500}.session-controls p{font-size:11px;color:var(--muted);margin-top:5px}.control-actions{display:flex;gap:10px;flex-shrink:0}.control-actions .button{font-size:12px;min-height:45px;padding:10px 16px}.microphone-dock{position:fixed;z-index:10;bottom:0;left:0;right:0;background:#ffffffed;border-top:1px solid #dee5f2;backdrop-filter:blur(22px);padding:20px max(40px,calc((100vw - 1040px)/2)) max(14px,env(safe-area-inset-bottom))}.microphone-inner{display:flex;gap:25px;align-items:flex-end;justify-content:space-between}.source-field label{display:block;font-size:10px;color:#6b7895;margin-bottom:7px}.source-field select{border:1px solid #dae2f1;border-radius:11px;background:white;color:#40537e;min-height:48px;max-width:270px;padding:11px 14px;font-size:13px}.microphone-button{display:flex;justify-content:center;align-items:center;gap:12px;min-width:270px;min-height:58px;padding:15px 28px;border:1px solid var(--blue);border-radius:15px;font-size:15px;font-weight:500;color:white;background:var(--blue);transition:background .2s}.microphone-button.recording{background:#b9394c;border-color:#b9394c}.microphone-button:disabled{background:#f0f3fa;border-color:#e4e8f2;color:#7c89a8;opacity:1}.mic-hint{font-size:10px;color:#8691a9;margin:13px 0 4px;line-height:1.8;min-height:18px}.dock-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;color:#9da6b9;font-size:9px}.dock-footer .text-button{min-height:28px;font-size:9px;font-weight:400}.live-mic{display:flex;gap:3px;align-items:center;justify-content:center;height:22px}.live-mic i{background:#fff;height:10px;width:3px;border-radius:99px;animation:listen .8s infinite alternate}.live-mic i:nth-child(2){height:21px;animation-delay:.2s}.live-mic i:nth-child(3){height:14px;animation-delay:.4s}
/* Facilitation and administration keep the room actions together. */
.workspace{padding-top:43px;padding-bottom:30px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:36px}.workspace-heading h1{font-size:39px;font-weight:600;letter-spacing:-1.5px;line-height:1.25;margin-top:15px}.workspace-heading h1>span{color:var(--blue)}.workspace-heading p{font-size:12px;color:var(--muted);margin-top:18px}.access-label{font-size:12px;color:#5f6b89;background:#eef2fa;border:1px solid #e1e7f2;padding:10px 15px;border-radius:99px;max-width:250px;overflow-wrap:anywhere}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.room-card{text-align:left;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:24px;min-height:215px;transition:border-color .2s,transform .2s}.room-card:hover{border-color:#aabce8;transform:translateY(-2px)}.room-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.room-sequence{font-size:9px;letter-spacing:.5px;color:#8591aa}.room-card h3{font-size:20px;font-weight:500;letter-spacing:-.6px;line-height:1.4;margin:22px 0 8px;color:#263964}.room-card>p{font-size:11px;color:#939bb0}.card-arrow{display:flex;gap:9px;align-items:center;color:var(--blue);margin-top:auto;padding-top:23px;font-size:11px;font-weight:500}.card-arrow .icon{width:16px;height:16px}.empty-state{padding:34px;grid-column:1/-1}.empty-state h2{font-size:23px;letter-spacing:-.7px;font-weight:500}.empty-state p{font-size:13px;margin-top:14px;color:var(--muted)}.event-toolbar{padding:20px 25px;display:flex;justify-content:space-between;gap:25px;align-items:center}.event-toolbar label{font-size:10px;color:#7e8ba7;display:grid;gap:7px;min-width:min(360px,100%)}.event-toolbar select{background:transparent;border:0;color:#22396c;font-size:16px;font-weight:500;max-width:100%;padding:7px 25px 7px 0;min-height:40px}.admin-tabs{display:flex;gap:30px;border-bottom:1px solid #e0e7f3;margin-bottom:30px}.admin-tabs>button{border:0;border-bottom:3px solid transparent;color:#8993ac;background:transparent;padding:16px 0 14px;min-height:54px;font-size:12px;white-space:nowrap}.admin-tabs>button.selected{color:var(--blue);border-bottom-color:var(--blue)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 22px}.section-heading h2{font-size:22px;font-weight:500;letter-spacing:-.6px}.section-heading>.button{font-size:12px;min-height:45px;padding:12px 18px}.admin-room-list{display:grid;gap:12px}.admin-room{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 25px;border-radius:17px}.admin-room h3{font-size:18px;font-weight:500;letter-spacing:-.4px;line-height:1.5;margin:8px 0 5px}.admin-room p{font-size:11px;color:#8d96ad}.admin-room-actions{display:flex;gap:9px}.visibility-label{font-size:9px;color:#3b8c72;padding:2px 7px;border-radius:5px;background:#eef8f4}.visibility-label.hidden-room{color:#9a8290;background:#f5f0f3}.usage-panel{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#edf2fc;border:1px solid #dfe7f8;border-radius:19px;padding:25px 28px;margin-top:35px}.usage-panel>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.usage-panel .eyebrow{width:100%;font-size:9px}.usage-panel strong{font-weight:500;color:#354c88;font-size:25px;letter-spacing:-1px}.usage-panel #usage-cap{font-size:11px;color:#7c8cae}.archive-panel{padding:34px}.archive-panel h2{font-size:25px;letter-spacing:-1px;font-weight:500;margin-top:20px}.archive-panel p{font-size:13px;color:var(--muted);max-width:680px;margin-top:13px;line-height:1.9}.export-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.access-list{display:grid;gap:10px;margin-top:25px}.access-row{display:flex;justify-content:space-between;gap:20px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:20px 24px}.access-row strong{font-size:14px;font-weight:500}.access-row small{display:block;color:#8d98ae;font-size:11px;margin-top:5px}.danger-text{color:var(--red)}
/* Modals and the QR scanner always keep a manual way forward. */
.modal-backdrop{position:fixed;inset:0;z-index:50;background:#17243f55;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.modal{width:min(560px,100%);max-height:calc(100dvh - 50px);overflow:auto;background:#fff;border:1px solid #f4f6fc;border-radius:24px;padding:27px 30px 30px;box-shadow:0 35px 100px #0d1f4725;scrollbar-width:thin}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.modal-head h2{font-size:23px;font-weight:500;letter-spacing:-.8px;line-height:1.35}.modal-intro{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:23px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.form-field{display:grid;gap:8px;margin-bottom:20px;color:#677798;font-size:11px;font-weight:500}.form-field input,.form-field select,.copy-field{font-weight:400;width:100%;border:1px solid #dce3f1;border-radius:11px;min-height:49px;padding:12px 14px;background:#fbfcff;color:#243966;font-size:14px}.form-field input::placeholder{color:#a1aac0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-error{font-size:12px;line-height:1.8;color:var(--red);margin-top:15px}.checkbox-line{display:flex;align-items:center;gap:12px;font-size:12px;color:#637497;min-height:44px}.checkbox-line input,.language-checkboxes input{accent-color:var(--blue);width:17px;height:17px;flex-shrink:0}.language-settings{margin-top:17px;border-top:1px solid #edf0f7;padding-top:19px}.language-settings summary{font-size:12px;color:var(--blue);cursor:pointer;min-height:35px}.language-settings>p{font-size:10px;color:#8c98b0;line-height:1.8;margin:8px 0 18px}.language-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:300px;overflow:auto}.language-checkboxes label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e6ebf5;border-radius:9px;font-size:11px;color:#627197;cursor:pointer}.language-checkboxes small{display:block;color:#95a0b6;font-size:9px}.choose-room-list{display:grid;gap:9px;max-height:50dvh;overflow:auto;margin:15px 0 24px}.room-option{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;background:#fbfcff;border:1px solid #e0e7f3;border-radius:13px;padding:15px 18px;min-height:74px;color:var(--blue)}.room-option:hover{border-color:#a7bae9;background:#f5f8ff}.room-option strong{font-size:14px;font-weight:500;line-height:1.5}.room-option small{display:block;font-size:10px;color:#8e9ab4;margin-top:5px}.empty-note{font-size:12px;color:#8996b0;padding:25px 5px;line-height:1.9}.search-field{display:flex;align-items:center;gap:10px;border:1px solid #dce4f3;border-radius:12px;background:#fafcff;color:#7e8eaf;padding:0 13px;margin:0 0 20px}.search-field .icon{width:18px;height:18px}.search-field input{min-height:48px;background:transparent;border:0;width:100%;font-size:14px;color:#2e4273;outline-offset:0}.language-picker{display:grid;gap:8px;max-height:52dvh;overflow:auto}.language-option{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #e4e9f4;border-radius:12px;padding:13px 16px;background:white;text-align:left;min-height:68px;color:#637299}.language-option.selected{background:#eff4ff;border-color:#b4c6f1;color:var(--blue)}.language-option strong{display:block;font-weight:500;font-size:15px}.language-option small{display:block;font-size:10px;color:#94a0b8;margin-top:3px}.language-option .icon{width:16px;height:16px}.scanner-frame{position:relative;width:100%;aspect-ratio:1/1;max-height:49dvh;background:#14213c;border-radius:20px;overflow:hidden}.scanner-frame video{display:block;width:100%;height:100%;object-fit:cover}.scanner-guide{position:absolute;inset:17%;border:3px solid #ffffffbb;border-radius:16px;box-shadow:0 0 0 80px #0b193030;pointer-events:none}.scanner-status{font-size:11px;line-height:1.9;color:#7a88a5;margin:17px 0 22px;min-height:35px}.share-qr{margin:20px auto 25px;width:242px;height:242px;display:flex;align-items:center;justify-content:center;border:1px solid #e5ebf6;border-radius:20px;background:#fff;padding:10px;text-align:center;color:#8795b3;font-size:12px}.qr-image{width:100%;height:100%}.copy-field{font-size:11px;color:#7c8bb0;margin-bottom:17px;min-height:49px}.secret-link{resize:vertical;min-height:105px;overflow-wrap:anywhere}.diagnostic-text{width:100%;min-height:310px;border:1px solid #e1e7f3;border-radius:12px;padding:15px;font:11px/1.8 ui-monospace,Consolas,monospace;color:#607497;background:#f9fbff;resize:vertical;margin-bottom:18px}.toast-region{position:fixed;z-index:90;bottom:25px;left:50%;transform:translateX(-50%);display:grid;gap:10px;width:min(500px,calc(100% - 36px));pointer-events:none}.toast{background:#223b76ed;color:white;padding:15px 20px;border-radius:13px;font-size:12px;line-height:1.8;box-shadow:0 8px 35px #0c1c4925;animation:appear .2s}.toast.error{background:#a63a50ed}.spinner{display:inline-block;border:2px solid currentColor;border-right-color:transparent;opacity:.6;width:18px;height:18px;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.initial-loading{display:flex;align-items:center;justify-content:center;gap:15px;min-height:80dvh;color:#7c8bad;font-size:14px}.setup-main{max-width:790px;margin:55px auto;padding:0 28px 65px}.setup-main>h1{font-size:39px;font-weight:600;line-height:1.25;letter-spacing:-1.5px;margin:25px 0}.setup-main>.panel{padding:28px 30px;margin-top:24px}.setup-main h2{font-size:23px;font-weight:500;letter-spacing:-.7px;margin:10px 0 17px}.setup-main p,.setup-main li{font-size:13px;color:#7a89a5;line-height:1.95}.setup-main p+p{margin-top:13px}.setup-main ol{padding-left:22px;display:grid;gap:16px}.setup-main code{font-size:12px;background:#edf2fc;padding:2px 6px;border-radius:5px;color:var(--blue)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes listen{50%{transform:translateY(-4px);opacity:.6}}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.landing{gap:150px;grid-template-columns:1fr 480px}.landing h1{font-size:75px}.landing-intro{min-height:470px}}
@media(max-width:1050px){.shell{width:calc(100% - 60px)}.topbar{padding-left:30px;padding-right:30px}.landing{grid-template-columns:1fr 410px;gap:40px}.landing h1{font-size:56px}.landing-intro>p{font-size:15px}.welcome-card{padding:30px}.page-footer{width:calc(100% - 60px)}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-label{margin-left:10px;padding-left:20px}.workspace-heading h1{font-size:34px}.session-controls{align-items:flex-start}.control-actions{flex-direction:column}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.topbar{min-height:83px;padding:18px 21px;gap:14px}.brand-bubbles{width:44px;height:38px}.brand{gap:9px}.brand strong{font-size:21px}.brand small{font-size:6px;letter-spacing:1.5px;margin-top:5px}.header-label{margin-left:auto;padding-left:0;border:0;font-size:8px;letter-spacing:1px;text-align:right}.header-actions{gap:10px}.header-actions .text-button{font-size:9px}.header-actions .icon{width:17px;height:17px}.topbar:has(.header-actions) .header-label{display:none}.landing{grid-template-columns:1fr;gap:30px;padding-top:37px;min-height:0;padding-bottom:20px}.landing-intro{min-height:0;padding-top:0}.landing h1{font-size:49px;letter-spacing:-2.5px;line-height:1.15;margin-top:17px}.landing-intro>p{margin-top:18px;font-size:14px;line-height:1.8}.landing .eyebrow{max-width:300px;font-size:9px;letter-spacing:1.2px}.bubble-decoration{display:none}.welcome-card{padding:26px;border-radius:23px}.welcome-card .feature-icon{width:46px;height:46px;border-radius:14px}.welcome-card h2{font-size:23px;margin-top:18px}.welcome-card>p:not(.quiet-note){font-size:12px;margin:12px 0 23px}.welcome-card>.quiet-note{font-size:10px;margin-top:21px}.page-footer{width:calc(100% - 42px);margin-top:35px;flex-direction:column;gap:10px;padding:24px 0}.center-shell{margin-top:32px;padding:0 20px}.access-card,.join-card{padding:31px 25px}.access-card h1,.join-card h1{font-size:27px}.access-card p,.join-card>p{font-size:13px}.room-shell{padding:27px 18px 35px}.room-heading{margin-bottom:22px;gap:14px;flex-wrap:wrap}.room-heading .eyebrow{font-size:8px;letter-spacing:1.1px}.room-heading h1{font-size:26px;letter-spacing:-.9px;margin-top:9px}.room-change{margin-top:0;min-height:36px;font-size:10px;margin-left:auto}.caption-surface{padding:19px 18px 23px;border-radius:20px;min-height:460px}.caption-top{gap:10px;margin-bottom:25px}.caption-label{font-size:9px}.caption-actions{gap:7px}.language-pill{font-size:11px;min-height:43px;padding:10px;gap:6px;max-width:170px}.language-pill>.icon:first-child{display:none}.type-size{min-width:37px;min-height:42px}.captions{min-height:330px;max-height:65dvh;padding-left:1px;padding-right:1px;gap:28px}.caption-text{font-size:32px;line-height:1.7;letter-spacing:-.6px}.caption-speaker{font-size:9px;gap:8px;margin-bottom:13px}.caption-speaker>span{font-size:8px}.caption-placeholder{min-height:310px;padding:25px 13px}.caption-placeholder h2{font-size:23px}.caption-placeholder p{font-size:12px}.large-text .caption-text{font-size:41px}.caption-footnote{font-size:9px;margin:15px 13px 0}.reading-availability{padding:11px 13px;font-size:11px}.facilitator-view{padding-bottom:270px}.session-controls{padding:19px;display:grid;gap:17px;border-radius:18px}.control-actions{flex-direction:row;flex-wrap:wrap}.control-actions .button{font-size:11px;padding:10px 12px;flex:1}.session-controls strong{font-size:13px}.session-controls p{font-size:10px}.microphone-dock{padding:17px 20px max(10px,env(safe-area-inset-bottom))}.microphone-inner{display:grid;grid-template-columns:1fr;gap:13px}.source-field{display:flex;align-items:center;justify-content:space-between;gap:12px}.source-field label{margin:0;font-size:10px}.source-field select{font-size:16px;padding:10px;min-height:44px;width:min(245px,75%);max-width:none}.microphone-button{width:100%;min-width:0;min-height:59px;font-size:15px}.mic-hint{font-size:9px;margin-top:10px;line-height:1.8}.dock-footer{font-size:8px}.dock-footer .text-button{font-size:8px}.workspace{padding-top:30px}.workspace-heading{align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:25px}.workspace-heading h1{font-size:31px;letter-spacing:-1.2px;line-height:1.3;margin-top:12px}.workspace-heading .eyebrow{font-size:8px}.workspace-heading p{font-size:11px;margin-top:14px}.workspace-heading>.button{min-height:44px;font-size:11px;padding:11px 15px}.access-label{font-size:10px;padding:8px 12px}.room-grid{grid-template-columns:1fr;gap:13px}.room-card{padding:23px;min-height:195px;border-radius:19px}.room-card h3{font-size:22px;margin-top:19px}.room-card>p{font-size:11px}.event-toolbar{padding:17px 20px;flex-direction:column;gap:5px;align-items:flex-start;border-radius:18px}.event-toolbar label{min-width:0;width:100%}.event-toolbar select{font-size:15px;min-height:44px}.event-toolbar .text-button{font-size:10px;min-height:34px}.admin-tabs{gap:24px;margin-bottom:24px;overflow:auto}.admin-tabs>button{font-size:11px;min-height:50px;padding-top:10px}.section-heading h2{font-size:20px}.section-heading>.button{font-size:10px;padding:10px 13px;min-height:42px}.admin-room{padding:20px;align-items:flex-start;gap:19px;flex-wrap:wrap}.admin-room>div:first-child{width:100%}.admin-room h3{font-size:19px}.admin-room-actions{margin-left:auto}.usage-panel{padding:22px;gap:18px;border-radius:17px;flex-wrap:wrap}.usage-panel strong{font-size:24px}.usage-panel>.button{font-size:10px}.archive-panel{padding:25px}.archive-panel h2{font-size:25px}.archive-panel p{font-size:12px}.export-actions{gap:8px}.export-actions>.button{font-size:11px;padding:10px 13px;min-height:44px}.access-row{padding:17px 19px}.access-row strong{font-size:12px}.access-row small{font-size:9px}.access-row .text-button{font-size:10px}.modal-backdrop{padding:15px;align-items:center}.modal{padding:22px;max-height:calc(100dvh - 30px);border-radius:22px}.modal-head h2{font-size:21px;letter-spacing:-.8px}.modal-head{gap:15px}.modal-intro{font-size:11px}.form-field{font-size:10px}.form-field input,.form-field select{font-size:16px;min-height:49px}.form-row{gap:11px}.form-row .form-field{font-size:9px}.form-row .form-field select{font-size:14px}.modal-actions .button{font-size:12px;padding:12px 18px}.language-checkboxes{gap:6px}.language-checkboxes label{padding:9px;font-size:10px}.room-option{padding:14px 16px;min-height:72px}.room-option strong{font-size:13px}.room-option small{font-size:9px}.search-field input{font-size:16px}.language-option{min-height:68px;padding:13px 15px}.language-picker{max-height:49dvh}.scanner-frame{max-height:44dvh}.share-qr{width:225px;height:225px}.copy-field{font-size:12px}.setup-main{margin-top:35px;padding:0 22px 50px}.setup-main>h1{font-size:33px}.setup-main>.panel{padding:25px}.setup-main h2{font-size:22px}.setup-main p,.setup-main li{font-size:12px}}
@media(max-width:360px){.brand strong{font-size:19px}.brand-bubbles{width:40px}.header-label{font-size:7px}.landing h1{font-size:44px}.welcome-card{padding:23px}.caption-surface{padding:17px 15px}.language-pill{max-width:145px;font-size:10px}.caption-label{font-size:8px}.caption-text{font-size:30px}.type-size{min-width:32px}.modal{padding:18px}.modal-head h2{font-size:19px}.modal-actions .button{font-size:11px;padding:11px 14px}}
.more-languages{margin-top:17px}.more-languages summary{font-size:12px;color:var(--blue);cursor:pointer;min-height:44px;padding:10px 3px}.more-languages>.language-picker{margin-top:8px}
.language-option.in-use{background:#ebf8f2;border-color:var(--green);color:#216d54}.language-option.in-use:hover{background:#e1f3eb;border-color:#6cb99c}.language-option .language-usage{display:inline-block;font-size:9px;font-weight:500;line-height:1.6;margin-top:6px;padding:2px 7px;border-radius:5px;background:#d8eee4;color:#256e54}.language-selection-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.language-legend{font-size:11px;margin:0 0 16px;line-height:1.8}
.programme-group{margin:32px 0 38px}.programme-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:19px}.programme-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.programme-heading h2{font-size:25px;font-weight:500;letter-spacing:-.7px;margin-top:5px;line-height:1.35}.programme-heading>small{font-size:11px;color:#8c98af;white-space:nowrap}.programme-note{padding:20px 25px;margin:22px 0 18px;border-radius:17px}.programme-note strong{font-size:13px;font-weight:500;color:#43598d}.programme-note p{font-size:11px;color:#8896b0;line-height:1.9;margin-top:7px}.choose-room-group{display:grid;gap:9px}.choose-room-group+.choose-room-group{margin-top:14px}.choose-room-group h3{font-size:11px;font-weight:500;color:#7587ad;line-height:1.7;letter-spacing:.2px;margin:2px 3px 3px}
@media(max-width:760px){.programme-group{margin:27px 0 30px}.programme-heading{margin-bottom:15px;gap:16px}.programme-heading .eyebrow{font-size:8px}.programme-heading h2{font-size:22px}.programme-heading>small{font-size:10px}.programme-note{padding:18px 20px;margin:20px 0 15px}.programme-note strong{font-size:12px}.programme-note p{font-size:10px}.choose-room-group h3{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Interface language is separate from the live subtitle language. */
.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-left:auto;min-width:0}
.ui-language-switch{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;color:var(--blue);position:relative}
.ui-language-switch>.icon{width:17px;height:17px;pointer-events:none}
.ui-language-switch select{font:inherit;font-size:12px;font-weight:500;color:var(--blue);background:#f7f9ff;border:1px solid #dce3f1;border-radius:10px;min-height:44px;padding:9px 26px 9px 11px;max-width:155px;cursor:pointer}
.ui-language-switch select:focus-visible{outline:3px solid #2340b935;outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html:lang(zh){font-family:Poppins,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif}
html:lang(zh) .eyebrow,html:lang(zh) .header-label,html:lang(zh) .brand small{letter-spacing:.5px}
html:lang(zh) .landing h1,html:lang(zh) .workspace-heading h1,html:lang(zh) .room-heading h1{letter-spacing:0}
@media(max-width:760px){.topbar{flex-wrap:wrap}.topbar:has(.header-controls) .header-label{display:none}.header-controls{gap:10px;flex-wrap:wrap}.topbar .header-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.ui-language-switch select{font-size:14px;max-width:130px;padding-left:9px}.ui-language-switch>.icon{display:none}.topbar .header-actions .text-button{max-width:150px;text-align:center;line-height:1.5}html:lang(de) .control-actions .button{overflow-wrap:anywhere}}
@media(max-width:420px){.topbar{gap:10px}.topbar .header-actions{gap:6px}.topbar .header-actions>.text-button{font-size:9px;max-width:100px}.ui-language-switch select{max-width:112px;font-size:12px}}

.access-link-form{width:min(440px,100%);margin:24px auto 0;padding-top:24px;border-top:1px solid var(--line)}
.access-link-form .form-field{text-align:left;font-size:12px}
.access-link-form input{min-height:52px;font-size:14px;letter-spacing:.1px}
.access-link-form input:focus-visible{outline:3px solid #2340b935;outline-offset:2px;border-color:var(--blue)}
.access-link-form .button{width:100%}
.access-link-status{color:var(--red);font-size:12px;line-height:1.8;text-align:left;margin:12px 0 18px;overflow-wrap:anywhere}
.access-link-status:empty{display:none}
@media(max-width:760px){.access-link-form{margin-top:20px;padding-top:20px}.access-link-form input{font-size:16px}}
