:root{--ink:var(--style-primary);--green:var(--style-primary);--muted:var(--style-muted);--line:var(--style-line);--paper:var(--style-surface);--gold:var(--style-amber);font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.17;letter-spacing:-1px;font-weight:650}h2{font-size:23px;line-height:1.3;letter-spacing:-.4px}h3{font-size:16px;font-weight:600}p{color:var(--muted)}[hidden]{display:none!important}.icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}.avatar{width:43px;height:43px;flex-shrink:0;border-radius:50%}.quiet{color:var(--muted);font-size:13px}.eyebrow,.step-label{font-size:11px;font-weight:600;letter-spacing:1.7px;text-transform:uppercase}.eyebrow{color:var(--style-muted);display:block;margin-bottom:9px}
.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:var(--style-surface);gap:24px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:700;font-size:23px;line-height:1;letter-spacing:-.7px;flex-shrink:0}.brand img{width:35px;height:35px}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--style-muted);font-weight:500;margin-top:7px}.header-right{display:flex;gap:25px;align-items:center;min-width:0}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--green);text-decoration:none;font-size:13px}.text-link:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--style-surface);text-decoration:none;color:var(--green);font-size:13px;font-weight:600;line-height:1.4}.button:hover{background:var(--style-soft)}.primary{color:var(--style-surface);background:var(--green);border-color:var(--green)}.primary:hover{background:var(--style-primary)}.secondary{background:var(--style-surface)}.outline{border-color:var(--style-muted)}.wide{width:100%}.light{color:var(--green);background:var(--style-soft);border:0}.text-button{border:0;background:none;min-height:38px;padding:5px 0;color:var(--style-muted);font-size:12px;justify-content:flex-start}.text-button:hover{color:var(--green);background:none;text-decoration:underline}.small{font-size:12px;padding:8px 12px}.icon-button{width:42px;padding:0}.card{border:1px solid var(--line);border-radius:16px;background:var(--style-surface);padding:30px}.narrow{max-width:650px;margin:60px auto}.narrow .button{margin:22px 12px 0 0}.narrow p{margin-top:16px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;min-width:0}input,select{background:var(--style-surface);border:1px solid var(--style-line);border-radius:7px;padding:12px 13px;color:var(--ink);width:100%;min-width:0;font-size:14px;min-height:45px}input:focus,select:focus{outline:2px solid var(--style-muted);outline-offset:2px}input::placeholder{color:var(--style-muted);font-weight:400}.form-error{color:var(--style-danger);font-size:13px;line-height:1.5}.form-error:empty{display:none}.field-help{font-size:12px;line-height:1.65;font-weight:400}.check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:12px;font-weight:400}.check input{width:17px;height:17px;min-height:0;accent-color:var(--green)}.badge{display:inline-flex;padding:5px 9px;border-radius:5px;background:var(--style-soft);color:var(--style-primary-soft-text);font-size:11px;font-weight:600;align-self:flex-start}.badge.neutral,.badge.closed{color:var(--style-amber);background:var(--style-amber-soft)}
.welcome{max-width:1150px;margin:0 auto;min-height:calc(100dvh - 80px);padding:64px 36px;display:grid;grid-template-columns:1fr 410px;gap:100px;align-items:center}.welcome-story h1{font-size:66px;line-height:1.07;letter-spacing:-2px;font-weight:600;margin:20px 0 26px}.welcome-story h1 em{font-family:Georgia,serif;font-weight:400;color:var(--style-muted)}.welcome-story>p{font-size:16px;max-width:360px;line-height:1.75}.welcome-story>.quiet{font-size:11px}.story-nodes{display:flex;align-items:center;gap:8px;margin:36px 0 13px}.story-nodes .avatar{width:44px;height:44px}.story-nodes>span{color:var(--style-muted);font-size:27px}.join-card{background:var(--style-surface);border:1px solid var(--line);box-shadow:0 16px 45px color-mix(in srgb,var(--style-shadow) 6%,transparent);border-radius:20px;padding:36px}.join-card .step-label{color:var(--style-amber);font-size:9px}.join-card h2{margin:10px 0 10px;font-size:26px}.join-card>p{font-size:13px}.join-card form{display:grid;gap:20px;margin-top:26px}.join-card .code-input{font-size:29px;letter-spacing:10px;font-variant-numeric:tabular-nums;line-height:1.5;background:var(--style-surface)}.join-card .primary{min-height:49px}.join-card .no-account{text-align:center;font-size:11px;margin-top:21px}.session-preview{display:grid;gap:5px;margin-top:20px;padding:14px;border-radius:8px;background:var(--style-surface);font-size:12px}.session-preview span,.session-preview small{color:var(--muted)}.recent{margin-top:24px}.recent summary{font-size:12px;cursor:pointer;color:var(--muted)}.recent a{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);font-size:13px;padding:15px 0;text-decoration:none}.recent a:last-child{border:0}.recent a small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.prepare{max-width:1150px;margin:auto;padding:44px 32px 60px}.page-intro{margin-bottom:35px}.page-intro h1{margin-bottom:12px}.page-intro p{font-size:14px}.prepare-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:30px}.prepare form{display:grid;gap:22px}.section-title{display:flex;gap:15px;justify-content:space-between;align-items:center}.section-title>span{font-size:11px;color:var(--muted)}.topic-row{display:grid;gap:14px;padding:20px 44px 20px 16px;background:var(--style-surface);border:1px solid var(--line);border-radius:9px;position:relative;margin-bottom:12px}.topic-row>.icon-button{position:absolute;top:25px;right:8px;width:30px;min-height:30px;border:0;background:none;color:var(--style-muted)}.topic-row .check{font-size:11px}.guide-card{background:var(--style-soft);border-radius:16px;padding:30px}.guide-card .step-label{font-size:10px;color:var(--style-muted)}.guide-card ol{padding:0;list-style:none;counter-reset:steps;margin:28px 0 0}.guide-card li{counter-increment:steps;padding-left:37px;position:relative;margin-bottom:27px;color:var(--style-muted);font-size:13px;line-height:1.7}.guide-card li:last-child{margin-bottom:0}.guide-card li:before{content:counter(steps);position:absolute;top:0;left:0;display:grid;place-items:center;background:var(--style-line);border-radius:50%;width:25px;height:25px;color:var(--style-primary-soft-text);font-size:11px}.guide-card strong{display:block;color:var(--style-primary-soft-text);font-size:14px;margin-bottom:6px}
.host-main{max-width:1800px;margin:auto;padding:28px 34px}.host-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.host-heading h1{font-size:28px;overflow-wrap:anywhere}.meeting-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px}.access-column{display:flex;flex-direction:column;gap:18px;min-height:0}.access-card{background:var(--green);color:var(--style-surface);border-radius:14px;padding:23px;text-align:center}.access-card .step-label{color:var(--style-muted);font-size:9px}.session-code{font-size:54px;font-weight:450;letter-spacing:3px;font-variant-numeric:tabular-nums;margin:12px -5px 9px;line-height:1.15;white-space:nowrap}.session-code b{font-weight:450}.access-card>p{color:var(--style-line);font-size:11px}.join-address{display:block;color:var(--style-surface);font-size:12px;font-weight:600;overflow-wrap:anywhere;margin:13px 0 18px;text-decoration:none;line-height:1.8}.join-address span{display:block;font-weight:400;font-size:11px;color:var(--style-line)}.access-card .button{font-size:11px;min-height:39px}.access-card .access-note{margin-top:13px;font-size:10px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:16px 0;border:1px solid var(--line);background:var(--style-surface);border-radius:10px}.stat-grid>div{display:grid;text-align:center;gap:3px;border-right:1px solid var(--line)}.stat-grid>div:last-child{border:0}.stat-grid strong{font-size:26px;font-weight:550;line-height:1.2}.stat-grid span{font-size:10px;color:var(--muted)}.roster-card{border:1px solid var(--line);background:var(--style-surface);border-radius:12px;padding:18px;min-height:130px;flex:1;display:flex;flex-direction:column;max-height:280px}.roster-card h3{font-size:13px}#roster{overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;padding-top:18px;min-height:0}#roster>.quiet{grid-column:1/-1}.roster-person{display:flex;align-items:center;gap:7px;font-size:11px;min-width:0}.roster-person .avatar{width:28px;height:28px}.roster-person>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-card{border:1px solid var(--line);border-radius:15px;background:var(--style-surface);display:flex;flex-direction:column;min-height:600px;min-width:0;overflow:hidden}.live-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;gap:20px;border-bottom:1px solid var(--line)}.live-toolbar .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:4px}.live-toolbar h2{font-size:20px}.compact-label{font-size:10px;min-width:160px;max-width:240px;gap:5px}.compact-label select{font-size:12px;min-height:35px;padding:7px 10px}.live-map{position:relative;min-height:400px;flex:1;overflow:hidden;background-color:var(--style-canvas);background-image:radial-gradient(color-mix(in srgb,var(--style-line) 44%,transparent) .8px,transparent .8px);background-size:22px 22px}#live-graph{position:absolute;inset:0}.map-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:40px;pointer-events:none}.map-placeholder h3{font-size:20px;font-weight:500;margin-bottom:8px}.map-placeholder p{font-size:13px;max-width:300px}.map-placeholder .icon{width:50px;height:50px;color:var(--style-muted);margin-bottom:23px}.canvas-tools{position:absolute;bottom:15px;right:15px;display:flex;gap:3px;padding:4px;border:1px solid var(--line);background:color-mix(in srgb,var(--style-surface) 96%,transparent);border-radius:9px}.canvas-tools .button{min-height:35px;width:35px;border:0;background:none}.canvas-tools .button:hover{background:var(--style-soft)}.map-caption{padding:13px 20px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.map-caption span{white-space:nowrap}.host-actions{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:25px;padding:24px 0}.host-actions h3{font-size:16px;margin-bottom:5px}.host-actions p{font-size:12px;max-width:360px}.action-row{display:flex;gap:9px;flex-wrap:wrap}.host-actions .action-row{max-width:710px;justify-content:flex-end}.host-actions .button{font-size:11px}.sync{display:flex;align-items:center;gap:6px;color:var(--style-muted);font-size:10px}.sync:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--style-muted)}.sync.offline{color:var(--style-amber)}.sync.offline:before{background:var(--style-amber)}.projected{height:calc(100dvh - 80px);display:flex;flex-direction:column}.projected .meeting-layout{flex:1;min-height:0}.projected .live-card{min-height:0}.projected .live-map{min-height:180px}.projected .roster-card{max-height:none}.projected #host-actions{display:none}
.participant{max-width:890px;margin:auto;padding:34px 30px 50px}.participant-heading{margin-bottom:25px}.participant-heading h1{font-size:27px;margin-bottom:9px}.participant-heading p{font-size:13px}.me-tag{display:flex;align-items:center;gap:9px;font-size:13px;min-width:0}.me-tag>span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-tag .avatar{width:36px;height:36px}.participant-tabs{display:flex;gap:7px;padding:5px;border-radius:10px;background:var(--style-soft);margin-bottom:32px}.participant-tabs .button{flex:1;background:none;border:0;color:var(--style-muted);min-height:42px}.participant-tabs .active{background:var(--style-surface);color:var(--green);box-shadow:0 1px 5px color-mix(in srgb,var(--style-shadow) 8%,transparent)}.counter{background:var(--green);color:var(--style-surface);border-radius:20px;min-width:19px;padding:0 5px;font-size:11px}.content-intro{margin-bottom:24px}.content-intro h2{font-size:23px;margin-bottom:9px}.content-intro p{font-size:13px;line-height:1.7;max-width:620px}.search-field{position:relative;margin-bottom:20px}.search-field .icon{position:absolute;left:14px;top:14px;color:var(--style-muted);width:18px;height:18px}.search-field input{padding-left:42px}.people-list,.request-list{display:grid;gap:12px}.person-card{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:20px 22px;border:1px solid var(--line);background:var(--style-surface);border-radius:12px}.person-heading{display:flex;gap:13px;align-items:center;min-width:0}.person-heading h3{overflow-wrap:anywhere}.person-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px;max-width:60%}.person-actions .quiet{font-size:11px}.inline-form{display:flex;align-items:flex-end;gap:10px}.inline-form label{font-size:10px;gap:5px;font-weight:500}.inline-form select{width:145px;font-size:12px;padding:9px 11px;min-height:40px}.inline-form .button{min-height:40px}.request-card{padding:25px;background:var(--style-surface);border:1px solid var(--line);border-radius:12px}.request-card .person-heading{margin-bottom:19px}.request-card p{font-size:13px;line-height:1.7;margin:0 0 20px}.request-card .quiet{font-size:12px}.empty{text-align:center;border:1px dashed var(--style-line);border-radius:13px;padding:44px 20px;color:var(--style-muted)}.empty h3{font-size:21px;font-weight:500;color:var(--style-primary-soft-text);margin-bottom:8px}.empty p{font-size:13px}.empty>.icon{margin-bottom:15px;width:30px;height:30px}.empty .button{margin-top:22px}.theme-picker{max-width:100%;font-size:11px}.topic-rule{display:flex;gap:8px;align-items:flex-start;background:var(--style-soft);padding:13px 15px;border-radius:8px;font-size:12px;color:var(--style-muted);margin:15px 0 22px}.topic-rule .icon{width:17px;height:17px}.theme-membership{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:25px}.theme-membership .icon{width:17px;height:17px}.participant-foot{font-size:11px;color:var(--style-muted);margin:40px 0 0;text-align:center;border-top:1px solid var(--line);padding-top:20px}.closed-note{background:var(--style-amber-soft);color:var(--style-amber);padding:14px 17px;font-size:12px;border-radius:8px;margin:15px 0 25px}#message{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:13px 20px;background:var(--style-primary);color:var(--style-surface);border-radius:9px;font-size:13px;box-shadow:0 6px 35px color-mix(in srgb,var(--style-shadow) 13%,transparent);z-index:80;display:none}#message.visible{display:block}#message.error{background:var(--style-danger)}
/* El mismo dibujo de rostros y fuerzas que en el módulo de análisis. */
.network-svg{display:block;width:100%;height:100%;touch-action:none;user-select:none}.graph-edge{stroke:var(--style-muted);stroke-width:1.4;opacity:.75;pointer-events:none}.graph-node{cursor:grab;outline:none}.graph-node:active{cursor:grabbing}.node-ring{fill:var(--style-surface);stroke:var(--style-line);stroke-width:1.5}.node-halo{fill:var(--style-soft);stroke:none;opacity:0}.graph-node:focus-visible .node-halo{opacity:1}.graph-node:focus-visible .node-ring{stroke:var(--style-amber);stroke-width:3}.node-name{font-size:14px;fill:var(--style-primary-soft-text);paint-order:stroke;stroke:var(--style-canvas);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.node-pin{display:none;pointer-events:none}.is-fixed .node-pin{display:block}.node-pin circle{fill:var(--style-primary);stroke:var(--style-surface);stroke-width:1.5}.node-pin path{fill:none;stroke:var(--style-surface);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1500px){.projected .session-code{font-size:62px}.projected .meeting-layout{grid-template-columns:330px minmax(0,1fr)}}
@media(max-width:1000px){.site-header{padding:0 25px}.welcome{gap:45px;grid-template-columns:1fr 380px;padding:45px 30px}.welcome-story h1{font-size:55px}.meeting-layout{grid-template-columns:250px minmax(0,1fr);gap:18px}.host-main{padding:22px}.access-card{padding:20px}.session-code{font-size:46px}.live-toolbar{padding:18px;flex-wrap:wrap;gap:14px}.live-toolbar h2{font-size:18px}.compact-label{max-width:none;width:100%}.host-actions{flex-direction:column;align-items:flex-start;gap:17px}.host-actions .action-row{justify-content:flex-start}.prepare-grid{gap:22px}.guide-card{padding:22px}.card{padding:24px}}
@media(max-width:700px){.site-header{height:68px;padding:0 17px;gap:12px}.brand{font-size:20px;gap:8px}.brand img{width:30px;height:30px}.brand small{font-size:8px}.header-right{gap:10px}.header-right .text-link{font-size:11px;max-width:130px;line-height:1.5}.header-right .text-link .icon{width:15px}.welcome{display:flex;flex-direction:column;gap:27px;padding:31px 20px 45px;min-height:0;align-items:stretch;max-width:480px}.welcome-story h1{font-size:39px;letter-spacing:-1px;margin:11px 0 15px}.welcome-story h1 br{display:none}.welcome-story h1 br:after{content:' '}.welcome-story h1 em{display:block}.welcome-story>p{font-size:13px;line-height:1.65;max-width:none}.welcome-story .eyebrow{font-size:9px}.story-nodes,.welcome-story>.quiet{display:none}.join-card{padding:25px;border-radius:15px}.join-card h2{font-size:24px}.join-card form{gap:17px;margin-top:24px}.join-card input{font-size:16px}.join-card .code-input{font-size:28px}.join-card .field-help{font-size:11px}.prepare{padding:28px 18px 45px}.page-intro h1{font-size:30px}.page-intro p{font-size:13px}.prepare-grid{display:flex;flex-direction:column}.prepare .card{padding:22px}.prepare input{font-size:16px}.prepare .guide-card{display:none}.prepare .topic-row{padding-left:12px}.host-main{padding:20px 14px}.host-heading{margin-bottom:20px;align-items:flex-start;gap:14px}.host-heading h1{font-size:23px}.host-heading .badge{font-size:9px;max-width:95px}.meeting-layout{display:flex;flex-direction:column;gap:18px}.access-column{display:grid;grid-template-columns:1fr 1fr;gap:13px}.access-column>#access-card{grid-row:span 2}.access-card{padding:18px 13px}.session-code{font-size:34px;letter-spacing:1px;margin:13px 0}.access-card .step-label{font-size:8px}.access-card .join-address{font-size:10px}.access-card .button{font-size:10px;padding:8px 7px}.access-card .button .icon{width:14px}.access-card>p{font-size:10px}.stat-grid{padding:12px 0}.stat-grid strong{font-size:20px}.stat-grid span{font-size:8px}.roster-card{padding:12px;min-height:0;max-height:190px}#roster{grid-template-columns:1fr;gap:8px;padding-top:10px}.roster-card h3{font-size:11px}.roster-card .section-title>span{font-size:8px}.roster-person .avatar{width:24px;height:24px}.live-card{min-height:430px}.live-toolbar{padding:17px}.live-map{min-height:320px}.map-caption{font-size:9px;padding:10px 13px;flex-wrap:wrap;gap:5px}.host-actions{margin-top:15px;padding:15px 0}.host-actions .button{font-size:10px;flex:1}.host-actions .action-row{width:100%}.host-actions p{font-size:11px}.projected{height:auto}.projected .live-map{min-height:350px}.projected .roster-card{max-height:190px}.header-right>.sync{display:none}.participant{padding:26px 17px 35px}.participant-heading h1{font-size:24px}.participant-heading p{font-size:12px}.me-tag{gap:7px;font-size:11px}.me-tag>span{max-width:110px}.me-tag .avatar{width:32px;height:32px}.participant-tabs{gap:1px;margin-bottom:26px}.participant-tabs .button{font-size:12px;padding:10px 8px}.content-intro h2{font-size:22px}.content-intro p{font-size:12px}.person-card{padding:18px;align-items:flex-start;gap:17px;flex-direction:column}.person-actions{max-width:100%;width:100%}.person-heading h3{font-size:15px}.person-heading .avatar{width:39px;height:39px}.inline-form{width:100%;flex-wrap:wrap;gap:9px}.inline-form select{width:100%;min-width:116px;font-size:16px;min-height:44px}.inline-form label{flex:1}.inline-form .button{min-height:44px;font-size:11px}.request-card{padding:21px 18px}.request-card p{font-size:12px}.request-card>.inline-form>select{width:100%}.request-card .action-row .button{font-size:11px}.request-card .person-heading .quiet{font-size:11px}.theme-picker select{font-size:16px}.search-field input{font-size:16px}.topic-rule{font-size:11px}.narrow{margin:30px 17px}.narrow h1{font-size:26px}.narrow h2{font-size:22px}.narrow p{font-size:13px}#message{bottom:14px;font-size:12px;max-width:calc(100% - 22px);padding:12px 15px}}
@media(max-width:360px){.site-header{padding:0 13px}.brand{font-size:18px}.welcome{padding:26px 14px 35px}.join-card{padding:22px}.session-code{font-size:29px}.access-card{padding:15px 10px}.access-card .step-label{letter-spacing:.8px}.access-card .button{font-size:9px;gap:5px}.stat-grid{grid-template-columns:1fr}.stat-grid>div{display:flex;align-items:baseline;justify-content:center;gap:6px;border:0}.stat-grid strong{font-size:17px}.roster-card{max-height:146px}.host-main{padding:18px 10px}.host-heading h1{font-size:21px}.host-heading .eyebrow{font-size:9px}}
@media(max-height:650px) and (min-width:701px){.site-header{height:57px}.projected{height:calc(100dvh - 57px);padding:14px 20px}.projected .host-heading{margin-bottom:12px}.projected .host-heading h1{font-size:22px}.projected .access-column{gap:10px}.projected .access-card{padding:14px}.projected .access-card .session-code{font-size:43px;margin:8px 0}.projected .access-card .access-note{display:none}.projected .join-address{margin:7px 0 11px}.projected .access-card>p{font-size:10px}.projected .stat-grid{padding:9px 0}.projected .stat-grid strong{font-size:21px}.projected .live-toolbar{padding:13px 18px;flex-wrap:nowrap}.projected .compact-label{max-width:180px;min-width:120px}.projected .roster-card{min-height:55px}.projected #roster{padding-top:8px;gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.recent>p{margin:13px 0 18px}.recent>label.button{cursor:pointer}

/* Acceso proyectado y reglas de grupos · 0.2 */
.access-qr{max-width:174px;margin:14px auto;background:var(--style-surface);border-radius:12px;overflow:hidden}.access-qr svg,.big-qr svg{width:100%;height:auto;display:block}.access-card .button{margin-top:9px}.group-rules,.meeting-settings fieldset{border:1px solid var(--style-line);border-radius:12px;padding:18px;margin:20px 0}.group-rules legend,.meeting-settings legend{padding:0 6px;font-weight:650}.topic-row{grid-template-columns:1fr auto}.topic-row>label{grid-column:1}.topic-row>.button{grid-column:2;grid-row:1}.availability-card{padding:24px;background:var(--style-surface);border-radius:18px;margin:24px 0}.availability-card p{margin:10px 0 16px}.canvas-tools [aria-pressed="true"]{background:var(--style-line);color:var(--style-primary)}
dialog::backdrop{background:color-mix(in srgb,var(--style-shadow) 66%,transparent)}.meeting-settings{border:0;border-radius:20px;padding:24px;width:min(620px,94vw);max-height:90dvh;overflow:auto}.meeting-settings form{display:grid;gap:8px}.access-fullscreen{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(22px,4vw,64px);border:0;background:var(--style-surface);color:var(--style-primary);box-sizing:border-box}.access-fullscreen[open]{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:4vw}.close-access{position:absolute;right:20px;top:16px;z-index:1}.big-qr{width:min(74vh,54vw);max-width:100%;justify-self:center;background:var(--style-surface);line-height:0}.big-code{display:block;font-size:clamp(45px,8vw,140px);font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1.3}.big-link{display:block;overflow-wrap:anywhere;font-size:clamp(16px,2vw,32px);margin:16px 0}.big-access-copy h1{font-size:clamp(25px,3vw,48px);line-height:1.15}.big-access-copy p{font-size:clamp(16px,1.6vw,26px)}
@media(max-width:700px){.access-fullscreen[open]{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:54px 18px 16px;overflow:auto}.big-qr{width:min(80vw,49dvh)}.big-access-copy{text-align:center}.big-access-copy h1{font-size:24px;margin:3px}.big-access-copy .eyebrow{display:none}.big-code{font-size:42px;line-height:1.1}.big-link{font-size:15px;margin:5px 0}.big-access-copy p{font-size:14px;margin:5px}.close-access{top:8px;right:10px}}

body.meeting-dialog-open{overflow:hidden}

/* Shared module navigation, theme colours and face gallery. */
.module-menu{position:relative;flex-shrink:0}.module-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.module-menu summary::-webkit-details-marker{display:none}.module-menu summary small{display:block;font:10px/1.2 system-ui;letter-spacing:.08em;color:var(--style-primary-soft-text)}.module-menu summary>.icon{width:14px;height:14px}.module-menu-lead{display:inline-flex;align-items:center;gap:6px;padding-right:8px;border-right:1px solid var(--style-line);color:var(--style-muted);font:600 12px/1 system-ui;letter-spacing:0}.module-menu-lead .icon{width:19px;height:19px}.module-title{min-width:0}.module-menu nav{position:absolute;z-index:180;top:calc(100% + 12px);left:0;background:var(--style-surface);border:1px solid var(--style-line);box-shadow:0 12px 35px color-mix(in srgb,var(--style-shadow) 15%,transparent);border-radius:14px;min-width:180px;padding:8px}.module-menu nav a{display:block;padding:12px;text-decoration:none;color:var(--style-primary);border-radius:8px;font:500 15px system-ui}.module-menu nav a:hover,.module-menu nav a[aria-current]{background:var(--style-soft)}
.avatar-picker,.color-picker{border:0;padding:0;margin:12px 0;min-width:0}.avatar-picker legend,.color-picker legend{font-size:13px;margin-bottom:10px;font-weight:600}.avatar-picker>div,.color-picker>div{display:flex;flex-wrap:wrap;gap:7px}.avatar-picker label,.color-picker label{position:relative!important;display:inline-flex!important;cursor:pointer;margin:0!important;padding:3px!important}.avatar-picker input,.color-picker input{position:absolute;opacity:0;width:1px;height:1px}.avatar-picker .avatar{width:42px;height:42px;border:2px solid transparent;border-radius:50%;padding:2px}.color-picker span{display:block;width:28px;height:28px;border-radius:50%;border:3px solid var(--style-surface)}.avatar-picker input:checked+.avatar,.color-picker input:checked+span{outline:2px solid var(--style-primary);outline-offset:2px}.avatar-picker input:focus-visible+.avatar,.color-picker input:focus-visible+span{outline:3px solid var(--style-blue);outline-offset:2px}.meeting-return{display:flex;align-items:center;gap:5px;color:var(--style-primary);font-size:12px;text-decoration:none;border:1px solid var(--style-line);border-radius:20px;padding:8px}.meeting-return .icon{width:17px;height:17px}.meeting-copy{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;padding:14px;margin:10px 0;border:1px solid var(--style-line);border-radius:12px;background:var(--style-surface);color:var(--style-ink)}.meeting-copy span{font-size:12px}.theme-role-ring{fill:none;stroke-width:3;pointer-events:none}.me-tag{background:none;border:0;color:inherit;cursor:pointer}
@media(max-width:600px){.meeting-return{padding:6px;max-width:85px;font-size:10px}.module-menu .module-title{font-size:15px}.module-menu-lead{padding-right:4px;border-right:0}.module-menu-lead>span{display:none}.avatar-picker .avatar{width:38px;height:38px}.workspace-account{gap:4px!important}}

/* Los temas ocupan una sola columna, también con el selector de color. */
.topic-row{grid-template-columns:minmax(0,1fr);padding:18px 16px;gap:12px;min-width:0}
.topic-checks{min-width:0;border:1px solid var(--line);border-radius:9px;padding:12px;margin:0;display:grid;gap:10px}
.topic-checks legend{font-size:13px;font-weight:600;padding:0 5px}
.topic-row>.topic-checks{grid-column:1 / -1}
.topic-row>label,.topic-row>.color-picker{grid-column:1 / -1;min-width:0}
.topic-row>label:first-child{padding-right:36px}
.topic-row>.button{grid-column:auto;grid-row:auto;top:13px;right:8px}
.topic-row .check,.check{font-size:13px;line-height:1.45;min-height:44px;align-items:center;cursor:pointer}
.check input{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:0}
.check span{min-width:0;overflow-wrap:anywhere}
.meeting-settings .color-picker{border:0;padding:0;margin:12px 0}
.avatar-picker input,.color-picker input{min-height:0;pointer-events:none}
.color-picker label{min-width:40px;min-height:40px;align-items:center;justify-content:center}
@media(max-width:700px){.prepare .card{padding:18px 14px}.prepare .topic-row{padding:16px 12px}.group-rules,.meeting-settings fieldset{padding:12px}.meeting-settings .color-picker{padding:0}.topic-row>label:first-child{padding-right:0}.topic-row>label:first-child>input{margin-top:12px}.topic-row>.button{top:6px;right:6px}.topic-row .check{font-size:13px}}
.participant-navigation{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 24px}.participant-map{max-width:1440px;margin:auto;padding:24px 32px}.participant-map .live-map{height:65dvh;min-height:340px}.participant-map .live-toolbar{flex-wrap:wrap;gap:12px}.participant-map .closed-note{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.participant-map .compact-label{max-width:100%}
@media(max-width:700px){.participant-map{padding:20px 12px}.participant-map .live-toolbar{padding:16px}.participant-map .live-map{height:60dvh}.participant-navigation .button{flex:1 1 200px}.participant-map .live-toolbar h2{font-size:20px}.participant-map .compact-label{width:100%}}

.auth-card{margin:48px auto;padding:28px;max-width:530px}.auth-card form{display:grid;gap:16px}.auth-card h1{font-size:34px}.auth-card label{display:grid;gap:8px}.auth-card .auth-links{font-size:13px}.auth-card .auth-links a{color:var(--green)}.auth-success{padding:14px 16px;border-radius:10px;background:var(--style-soft);color:var(--style-primary-soft-text);line-height:1.65}.account-name{font-size:12px}.frequency-title{display:flex;gap:8px;align-items:center}.help-button{border:1px solid var(--style-muted);background:var(--style-surface);border-radius:50%;width:28px;height:28px;cursor:pointer;color:var(--style-primary)}.theme-availability{display:grid;gap:12px;border:1px solid var(--style-line);background:var(--style-surface);padding:18px;border-radius:14px;margin:20px 0}.theme-availability .badge{justify-self:start}.theme-availability summary{cursor:pointer;font-size:13px;padding:10px 0}.theme-availability form{display:grid;gap:12px;margin-top:12px}.header-right{flex-wrap:wrap}.auth-card input{min-width:0}@media(max-width:600px){.auth-card{margin:24px 12px;padding:20px}.account-name{max-width:120px}.header-right .button{padding:8px}.theme-availability{padding:16px}}

/* Acceso: en móvil, la marca y las opciones ocupan filas separadas. */
@media(max-width:700px) and (orientation:portrait){
  .site-header.auth-header{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:12px 17px 14px;gap:10px}
  .auth-header>.module-menu{min-width:0}
  .auth-header .header-right{width:100%;display:grid;grid-template-columns:40px auto minmax(0,1fr);align-items:center;gap:10px}
  .auth-header .style-mode-toggle{width:40px;min-width:40px;height:40px;padding:8px}
  .auth-header .header-right>.text-link{min-width:0;max-width:none;font-size:12px;line-height:1.35}
  .auth-header .header-right>.text-link:last-child{justify-self:end;text-align:right}
}
@media(max-width:360px) and (orientation:portrait){
  .site-header.auth-header{padding-inline:13px}
  .auth-header .header-right{gap:8px}
}

.nomination-cap{padding:12px 14px;border:1px solid var(--style-line);border-radius:10px;background:var(--style-surface);font-size:14px;font-weight:600;line-height:1.5;color:var(--style-primary);}

/* Names are painted after every avatar and never intercept node gestures. */
.graph-labels{pointer-events:none}.graph-label.dim-node{opacity:.28}

.create-meeting-actions{display:grid;gap:12px}.create-meeting-actions .button{min-height:48px}

/* Cabecera de organización: filas estables en vertical y una línea en horizontal. */
.profile-access{display:inline-flex;align-items:center;gap:9px;min-width:0;flex-shrink:0;padding:2px;border:0;border-radius:24px;background:transparent;color:var(--style-primary);font:600 12px/1.2 "Segoe UI",Arial,sans-serif;text-decoration:none}
.profile-access:hover .profile-name{text-decoration:underline}.profile-avatar{position:relative;display:inline-flex;flex:0 0 auto}.profile-access .avatar{width:38px;height:38px}.profile-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organizer-profile-mark{position:absolute;right:-5px;bottom:-4px;display:block;width:20px;height:20px;color:var(--style-amber);filter:drop-shadow(0 0 1px var(--style-surface)) drop-shadow(0 0 1px var(--style-surface))}.organizer-profile-mark .icon{display:block;width:20px;height:20px;stroke-width:2.4}
.site-header.organizer-header{height:auto;min-height:80px;padding-top:12px;padding-bottom:12px}
.organizer-header .header-right{min-width:0;gap:16px}
.organizer-account{display:flex;align-items:center;gap:12px;min-width:0}
.account-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.account-actions .button{white-space:nowrap}
.invite-label-compact{display:none}
@media(max-width:1000px) and (orientation:landscape){
  .site-header.organizer-header{min-height:68px;padding:10px 14px;gap:10px;flex-wrap:nowrap}
  .organizer-header .header-right{flex:1 1 auto;flex-wrap:nowrap;gap:8px}
  .organizer-header .brand{gap:7px}
  .organizer-header .brand img{width:30px;height:30px}
  .organizer-header .module-menu .module-title{font-size:15px}
  .organizer-header .style-mode-toggle{width:40px;min-width:40px;height:40px;padding:8px;flex-shrink:0}
  .organizer-header .style-mode-toggle span{display:none!important}
  .organizer-account{flex:1 1 auto;justify-content:flex-end;gap:8px}
  .profile-name{max-width:120px}
  .invite-label-full{display:none}
  .invite-label-compact{display:inline}
  .account-actions{gap:6px}
  .account-actions .button{min-height:40px;padding:8px;font-size:12px}
  .organizer-header .header-right>.sync{flex:0 1 86px;min-width:0;max-width:86px;font-size:9px}
  .organizer-header .header-right>.text-link{flex:0 1 80px;min-width:0;max-width:80px;font-size:10px}
}
@media(max-width:700px) and (orientation:portrait){
  .site-header.organizer-header{display:grid;grid-template-columns:minmax(0,1fr) 40px 38px;min-height:68px;padding:12px 17px;column-gap:9px;row-gap:10px}
  .organizer-header>.module-menu{grid-column:1;grid-row:1}
  .organizer-header .header-right{display:contents}
  .organizer-header .style-mode-toggle{grid-column:2;grid-row:1;justify-self:end}
  .organizer-account{display:contents}
  .organizer-account .profile-access{grid-column:3;grid-row:1;justify-self:end}
  .profile-name,.invite-label-full{display:none}
  .profile-access .avatar{width:34px;height:34px}
  .invite-label-compact{display:inline}
  .account-actions{grid-column:1 / -1;grid-row:2;justify-self:end;gap:8px}
  .account-actions .button{min-height:44px;padding:9px 12px}
  .organizer-header .header-right>.sync{grid-column:1;grid-row:3;min-width:0;font-size:10px}
  .organizer-header .header-right>.text-link{grid-column:2 / 4;grid-row:3;justify-self:end;font-size:11px}
}
@media(max-width:360px) and (orientation:portrait){.site-header.organizer-header{padding-inline:13px}}

/* La cabecera de participante conserva el mismo acceso estable al perfil, sin marca de organización. */
.site-header.participant-header{height:auto;min-height:80px;padding-top:12px;padding-bottom:12px}
.participant-header .header-right{min-width:0;gap:16px}
.participant-account{display:flex;align-items:center;min-width:0}
@media(max-width:1000px) and (orientation:landscape){
  .site-header.participant-header{min-height:68px;padding:10px 14px;gap:10px;flex-wrap:nowrap}
  .participant-header .header-right{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;gap:8px}
  .participant-header .style-mode-toggle{width:40px;min-width:40px;height:40px;padding:8px}
  .participant-header .style-mode-toggle span{display:none!important}
  .participant-header .header-right>.sync{flex:0 1 86px;min-width:0;max-width:86px;font-size:9px}
}
@media(max-width:700px) and (orientation:portrait){
  .site-header.participant-header{display:grid;grid-template-columns:minmax(0,1fr) 40px 38px;min-height:68px;padding:12px 17px;column-gap:9px;row-gap:8px}
  .participant-header>.module-menu{grid-column:1;grid-row:1}
  .participant-header .header-right{display:contents}
  .participant-header .style-mode-toggle{grid-column:2;grid-row:1;justify-self:end;width:40px;min-width:40px;height:40px;padding:8px}
  .participant-header .style-mode-toggle span{display:none!important}
  .participant-account{display:contents}
  .participant-account .profile-access{grid-column:3;grid-row:1;justify-self:end}
  .participant-header .header-right>.sync{grid-column:1 / -1;grid-row:2;min-width:0;font-size:10px}
}
@media(max-width:360px) and (orientation:portrait){.site-header.participant-header{padding-inline:13px}}

.meeting-catalog-section+ .meeting-catalog-section{border-top:1px solid var(--border,#ddd);margin-top:20px;padding-top:12px}.meeting-catalog-row,.meeting-trash-row{display:flex;align-items:center;gap:10px}.recent .meeting-catalog-row>a{flex:1;min-width:0}.meeting-trash-row{padding:12px 0;border-bottom:1px solid var(--border,#ddd)}.meeting-trash-row span{flex:1;min-width:0}.meeting-trash-row small{display:block}.button.danger{background:#aa3038;color:white}.meeting-catalog-row>.button{flex-shrink:0}

.meeting-description,.theme-explanation{font-size:14px;line-height:1.5;color:var(--style-muted);overflow-wrap:anywhere}
.recent a small{display:block;margin-top:3px}
body.meeting-map-is-fullscreen{overflow:hidden}
.live-card.meeting-map-fullscreen{position:fixed!important;inset:0;z-index:1000;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;min-height:0;border:0;border-radius:0;margin:0;display:flex;flex-direction:column;box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--style-canvas)}
.live-card.meeting-map-fullscreen .live-toolbar{flex-shrink:0;padding:12px 16px;gap:8px}
.live-card.meeting-map-fullscreen .live-map{height:auto!important;min-height:0!important;flex:1}
.live-card.meeting-map-fullscreen #live-graph{inset:0}
.live-card.meeting-map-fullscreen .network-svg{width:100%;height:100%;max-height:none;min-height:0;display:block}
.live-card.meeting-map-fullscreen .map-caption{flex-shrink:0;padding:7px 12px}
.live-card.meeting-map-fullscreen .canvas-tools{bottom:10px}
@media(max-width:700px){.live-card.meeting-map-fullscreen .live-toolbar{padding:8px 10px;flex-wrap:nowrap}.live-card.meeting-map-fullscreen .live-toolbar .eyebrow{display:none}.live-card.meeting-map-fullscreen .live-toolbar h2{font-size:14px;margin:0}.live-card.meeting-map-fullscreen .compact-label{font-size:10px;max-width:48%;min-width:0}.live-card.meeting-map-fullscreen .map-caption{font-size:9px;padding:5px 8px}.live-card.meeting-map-fullscreen .canvas-tools .icon-button{min-height:36px;width:36px}}

/* Alta: aviso previo y recuperación visible sin alterar el perfil existente. */
.join-warning{border:1px solid var(--style-amber);background:color-mix(in srgb,var(--style-amber) 9%,var(--style-surface));padding:16px;border-radius:12px;display:grid;gap:8px}
.join-warning[hidden]{display:none}.join-warning p{margin:0;font-size:13px;line-height:1.5}.join-warning .action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.join-warning .button{white-space:normal}
.roster-person{flex-wrap:wrap}.roster-person>[data-action="participant-recovery"]{margin-left:35px;min-height:32px;font-size:11px}
.personal-access-url{font-size:12px;overflow-wrap:anywhere}.session-preview .button{margin-top:7px;white-space:normal}

/* Las participaciones anteriores son accesos visibles al entrar, sin desplegable. */
.previous-meetings{border:1px solid color-mix(in srgb,var(--style-amber) 55%,var(--line));background:color-mix(in srgb,var(--style-amber) 7%,var(--style-surface));border-radius:14px;padding:18px;margin-bottom:26px}
.join-card .previous-meetings h2{font-size:20px;margin:0 0 6px}.previous-meetings>p{margin:0 0 13px;font-size:13px;color:var(--style-muted)}
.previous-meetings-list{display:grid;gap:9px;max-height:min(340px,45dvh);overflow-y:auto;overscroll-behavior:contain}
.previous-meeting-access{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;min-height:64px;background:var(--style-surface);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--style-text)}
.previous-meeting-access:hover{border-color:var(--style-amber)}.previous-meeting-access:focus-visible{outline:3px solid var(--style-amber);outline-offset:2px}
.previous-meeting-access>span{display:grid;gap:5px;min-width:0}.previous-meeting-access strong{font-size:15px;overflow-wrap:anywhere}.previous-meeting-access small{font-size:12px;color:var(--style-muted)}.previous-meeting-access .icon{flex:none}
@media(max-width:600px){.previous-meetings{padding:15px}.join-card .previous-meetings h2{font-size:19px}.previous-meeting-access{min-height:68px}}



/* Nominar: el selector identifica el tema activo con su propio color. */
.theme-picker #participant-theme{border:3px solid var(--active-theme-color,var(--line));font-weight:600}

/* Gestión recuperable de participantes, solo en la pantalla de organización. */
.host-main:not(.projected) #roster{grid-template-columns:1fr}
.roster-person>span{flex:1;white-space:normal;overflow-wrap:anywhere}
.roster-actions{display:flex;flex-wrap:wrap;gap:4px 10px;flex-basis:100%;padding-left:35px}
.roster-actions .button{min-height:44px;font-size:11px;padding:6px 0;text-align:left;justify-content:flex-start}
.roster-actions .participant-remove{color:var(--style-danger)}
.removed-participants{display:grid;gap:12px;margin:20px 0}
.removed-participant{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.removed-participant>span{flex:1;min-width:0;overflow-wrap:anywhere}
.removed-participant small{display:block;font-size:11px;color:var(--style-muted);margin-top:4px}
.removed-participant .avatar{flex:none;width:36px;height:36px}
@media(max-width:400px){.removed-participant{flex-wrap:wrap}.removed-participant>.button{margin-left:48px}}
.proposal-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;border:2px solid var(--style-amber);border-radius:16px;padding:20px;background:var(--style-soft);margin:16px 0;text-decoration:none;overflow-wrap:anywhere}.proposal-notice>span:first-child{min-width:0}.proposal-notice strong{display:block;font-size:18px}.proposal-notice small{display:block;margin-top:8px}.proposal-notice p{font-size:14px;margin-top:8px}.proposal-notice .button{flex-shrink:0}.closed-proposals-card{padding:24px;background:var(--style-soft);border:1px solid var(--style-line);border-radius:18px}.closed-proposals-card h2{font-size:23px;margin:10px 0}.closed-proposals-card p{margin:14px 0}.proposal-notification-settings{border-top:1px solid var(--style-line);margin-top:28px;padding-top:20px}.proposal-notification-settings h2{font-size:18px;margin-bottom:14px}.proposal-notification-settings p{font-size:13px;margin-top:10px}.home-proposal-notices{margin-bottom:22px}@media(max-width:600px){.proposal-notice{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.proposal-notice .button{width:100%}}
