.composer-embedded{height:100%;min-height:0}.composer-preview .topbar,.composer-preview .composer-side,.composer-preview .composer-code,.composer-preview .splitter{display:none}.composer-preview .composer{grid-template-columns:minmax(0,1fr)}.composer-name{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.82rem;color:var(--muted)}.composer-name input{width:12rem;padding:.28rem .55rem;border-radius:8px}.composer{min-height:0;height:100%;display:grid;grid-template-columns:var(--side-width, 280px) 6px minmax(0,1fr) 6px var(--code-width, 340px);background:var(--paper)}.composer-side,.composer-code,.composer-canvas{min-height:0;min-width:0}.composer-side,.composer-code{overflow:auto;background:var(--sheet)}.composer-side{padding:.85rem .85rem 1.2rem;display:flex;flex-direction:column;gap:1rem;overflow:hidden}.composer-side .inspector{flex:0 0 auto;max-height:58%;overflow:auto;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.composer-side .composer-palette{flex:1 1 auto;min-height:0;overflow:auto}.composer-code{display:flex;flex-direction:column;padding:.85rem;gap:.6rem}.composer-block h2,.composer-code h2{margin:0 0 .35rem;font-size:.95rem}.composer-block .note,.composer-code .note{font-size:.8rem;line-height:1.4}.palette{display:grid;gap:.4rem;margin-top:.7rem}.palette-item{display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:.55rem;align-items:center;width:100%;padding:.35rem .45rem;border-radius:10px;text-align:left;color:var(--ink);font-weight:500;box-shadow:none}.palette-item strong,.palette-item small{display:block}.palette-item small{color:var(--muted);font-size:.75rem;font-weight:500}.palette-item.armed,.palette-item:hover{background:var(--accent-soft);border-color:var(--accent)}.palette-glyph{height:2.4rem;display:block}.palette-glyph .shape{height:100%;font-size:0}.composer-canvas{display:flex;flex-direction:column;min-height:0}.composer-zoom{display:flex;gap:.35rem;align-items:center;padding:.45rem .7rem;border-bottom:1px solid var(--line);background:var(--sheet)}.composer-zoom button{padding:.2rem .65rem;border-radius:8px;font-size:.82rem;box-shadow:none;color:var(--ink)}.composer-scroll{min-height:0;flex:1;overflow:auto;background-color:var(--paper);background-image:radial-gradient(circle,var(--line) 1px,transparent 1px);background-size:22px 22px}.composer-stage{margin:0 auto}.composer-scene{position:relative;transform-origin:top left}.composer-wires{position:absolute;inset:0;overflow:visible;pointer-events:none}.composer-flow-label{font-family:Avenir Next,Segoe UI,sans-serif;font-size:12px;font-weight:700;fill:#6a3d86}.composer-node.shape{position:absolute;cursor:grab;color:#16181d}.composer-node.is-fixed{cursor:default}.composer-node .composer-label{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.08rem;max-width:82%;text-align:center;line-height:1.15;font-size:.76rem;white-space:normal;overflow-wrap:anywhere}.composer-node.shape-decision .composer-label,.composer-node.shape-loop .composer-label{max-width:68%}.composer-label small{font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#5c4d78}.composer-slot{position:absolute;z-index:2;display:grid;place-items:center;padding:0;border-radius:999px;border:1px dashed var(--muted);background:color-mix(in srgb,var(--sheet) 92%,transparent);color:var(--muted);font-size:1rem;font-weight:650;box-shadow:none}.composer.is-dragging .composer-slot,.composer-slot:hover,.composer-slot.hot{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.palette-glyph .switch-title,.palette-glyph .switch-cases{display:none}.composer-code-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.composer-code-head h2{margin:0}.composer-code-head div{display:flex;gap:.35rem}.composer-code-head button{padding:.28rem .6rem;border-radius:8px;font-size:.78rem;box-shadow:none}.composer-code-view{margin:0;flex:1;min-height:12rem;overflow:auto;padding:.8rem;border:1px solid var(--line);border-radius:.6rem;background:var(--panel);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.5;white-space:pre}.composer-code-view .tok-keyword{color:var(--code-keyword);font-weight:650}.composer-code-view .tok-string{color:var(--code-string)}.composer-code-view .tok-comment{color:var(--code-comment);font-style:italic}.composer-code-view .tok-number{color:var(--code-number)}.composer-notes{margin:0;padding-left:1.1rem;color:var(--warn);font-size:.8rem}.composer-banner{margin:0;color:var(--warn);font-size:.82rem;line-height:1.4}.composer-modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#14101873}.composer-dialog{width:min(28rem,100%);display:grid;gap:.75rem;padding:1.05rem 1.15rem 1.15rem;border:1px solid var(--line);border-radius:16px;background:var(--sheet);box-shadow:0 18px 50px #1410182e}.composer-dialog h2{margin:0}.composer-dialog label{display:grid;gap:.28rem;font-size:.84rem}.composer-dialog input,.composer-dialog select{width:100%;padding:.4rem .55rem;border-radius:8px}.composer-check{display:flex!important;align-items:center;gap:.5rem}.composer-check input{width:auto}.composer-dialog-actions{display:flex;justify-content:flex-end;gap:.45rem}.inspector{display:grid;gap:.55rem}.inspector label{font-size:.82rem}.inspector input,.inspector select,.inspector textarea{width:100%;padding:.35rem .5rem;border-radius:8px}.inspector-actions{display:flex;flex-wrap:wrap;gap:.35rem}.inspector-actions button,.inspector-remove{padding:.32rem .6rem;border-radius:8px;font-size:.78rem;box-shadow:none}.inspector-remove{color:var(--danger)}.composer>.splitter{display:block}@media(max-width:820px){.composer{grid-template-columns:var(--side-width, 240px) 6px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 6px minmax(8rem,var(--code-height, 16rem))}.composer-side{grid-column:1;grid-row:1}.composer>.splitter:not(.splitter-row){grid-column:2;grid-row:1}.composer-canvas{grid-column:3;grid-row:1}.composer>.splitter-row{grid-column:1 / -1;grid-row:2}.composer-code{grid-column:1 / -1;grid-row:3}}.lab-practice{flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.lab-practice>.lab-body{flex:1 1 auto}.lab-body{min-height:0;overflow:hidden;display:grid;grid-template-columns:var(--lab-side, 22rem) 6px minmax(0,1fr) 6px var(--lab-code, 18rem);grid-template-rows:minmax(0,1fr) auto 6px minmax(5.5rem,var(--lab-output, 10rem))}.lab-stage{grid-column:3;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--paper)}.lab-stage .lab-controls{flex:0 0 auto;padding:.45rem .65rem;border-bottom:1px solid var(--line);background:var(--panel)}.lab-canvas-host{position:relative;flex:1 1 auto;min-height:0}.lab-canvas-host .lab-canvas{position:absolute;inset:0;height:auto}.lab-run-info{grid-column:3;grid-row:2}.lab-split-output{grid-column:3;grid-row:3}.lab-output-pane{grid-column:3;grid-row:4}.lab-split-code{grid-column:4;grid-row:1 / -1}.lab-code-pane{grid-column:5;grid-row:1 / 3}.lab-split-vars{grid-column:5;grid-row:3}.lab-vars-pane{grid-column:5;grid-row:4}.lab-split-side{grid-column:2;grid-row:1 / -1}.lab-canvas{min-width:0;min-height:0;height:100%}.lab-run-info{display:grid;gap:.15rem;margin:0;padding:.4rem .75rem;background:var(--accent-soft);border-top:1px solid var(--line);color:var(--ink);font-size:.82rem;line-height:1.35}.lab-run-info p{margin:0}.lab-code-pane,.lab-output-pane,.lab-vars-pane,.lab-side{min-width:0;min-height:0;overflow:auto;padding:.85rem;background:var(--panel);display:flex;flex-direction:column;align-content:start;gap:.75rem}.lab-side{grid-column:1;grid-row:1 / -1;display:grid}.lab-code-pane h2,.lab-output-pane h2,.lab-vars-pane h2,.lab-side h2{margin:0;font-size:.95rem;flex:0 0 auto}.lab-code-pane p,.lab-output-pane p,.lab-vars-pane p,.lab-side p{margin:0;color:var(--muted);line-height:1.45}.lab-body .splitter-row{cursor:row-resize}.lab-body .splitter-row:before{inset:-4px 0}.lab-body .splitter-row:after{inset:50% 0 auto;width:auto;height:1px}.lab-body .splitter-row:hover:after,.lab-body .splitter-row:focus-visible:after{width:auto;height:2px;margin-top:-1px;margin-left:0}.lab-controls{display:flex;flex-wrap:wrap;gap:.4rem}.lab-controls button{font-size:.82rem}.practice-save{display:grid;gap:.45rem}.practice-save form{display:flex;flex-wrap:wrap;gap:.4rem;align-items:end}.practice-save label{display:grid;gap:.2rem;flex:1;min-width:8rem;font-size:.82rem}.practice-save input{width:100%}.practice-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.practice-row{display:grid;gap:.25rem;padding:.7rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:1rem;background:color-mix(in srgb,var(--accent) 6%,var(--sheet))}.practice-row.is-open{background:var(--accent-soft)}.practice-row span{color:var(--muted);font-size:.78rem}.practice-actions{display:flex;flex-wrap:wrap;gap:.3rem}.practice-actions button{font-size:.78rem}.lab-code,.lab-output{margin:0;padding:.75rem;overflow:auto;max-height:18rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sheet);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.45;white-space:pre}.lab-code .tok-keyword{color:var(--code-keyword);font-weight:650}.lab-code .tok-string{color:var(--code-string)}.lab-code .tok-comment{color:var(--code-comment);font-style:italic}.lab-code .tok-number{color:var(--code-number)}.lab-code-pane .lab-code,.lab-output-pane .lab-output{flex:1 1 auto;min-height:0;max-height:none}.lab-output{max-height:8rem;min-height:2.4rem}.lab-line{display:block;border-radius:.25rem}.lab-line-active{background:var(--accent-soft)}.lab-gutter{display:inline-block;width:1.8rem;margin-right:.35rem;color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none}.lab-vars{margin:0;padding:0;list-style:none;display:grid;gap:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.lab-input{display:grid;gap:.45rem}.lab-input input{display:block;width:100%;margin-top:.3rem}.lab-diagnostics{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.lab-diagnostics li{margin:0;line-height:1.4}.lab-diagnostics .warning{color:var(--warn)}.lab{background:var(--paper)}.lab-challenge{flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.challenge-leave{display:flex;justify-content:flex-end;padding:.55rem 1.15rem 0}.challenge-leave button{border-radius:999px;font-weight:650;padding:.48rem .95rem;background:var(--sheet);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));white-space:nowrap}.challenge-leave button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--sheet))}.lab-main{min-height:0;overflow:auto;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--line) 80%,transparent) 1px,transparent 0) 0 0 / 22px 22px,var(--paper)}.enunciado{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem 1.25rem;background:var(--sheet);border-bottom:1px solid var(--line);border-left:6px solid var(--accent)}.enunciado-body{display:grid;gap:.35rem;min-width:0}.timer{display:grid;justify-items:center;gap:.15rem;margin:0;min-width:5.6rem;padding:.45rem .75rem;border-radius:.75rem;background:var(--accent-soft);color:var(--accent);font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.timer span{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.timer-low{background:var(--warn-bg);color:var(--warn)}.enunciado h2{margin:0;font-size:1.45rem;line-height:1.2;letter-spacing:-.02em}.enunciado-kicker{margin:0;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.enunciado-text{margin:.15rem 0 0;max-width:48rem;max-height:6.4rem;overflow:auto;color:var(--ink);font-size:1.08rem;line-height:1.5}.path-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.path-intro h2{max-width:36rem;font-size:1.15rem;font-weight:550}.path-count{display:grid;justify-items:end;margin:0;line-height:1}.path-count strong{font-size:1.8rem;letter-spacing:-.03em}.path-count span{margin-top:.25rem;color:var(--muted);font-size:.82rem}.path-list{list-style:none;margin:0;padding:1.1rem;display:grid;gap:.7rem}.path-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--sheet);box-shadow:0 1px #1018280a}.path-copy{min-width:0}.path-copy p{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:.35rem 0 0;color:var(--muted)}.path-index{width:2.15rem;height:2.15rem;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-variant-numeric:tabular-nums}.path-completed .path-index{background:var(--accent);color:var(--accent-ink)}.path-locked,.path-closed,.entry-withdrawn{opacity:.72}.path-scheduled .path-index,.path-closed .path-index{background:var(--panel);color:var(--muted)}.entry-item{display:grid;gap:.75rem;align-items:stretch;grid-template-columns:minmax(0,1fr)}.entry-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center}.entry-head .practice-actions{justify-content:flex-end}.schedule-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.55rem;align-items:end;margin-top:.65rem;min-width:0}.schedule-grid>*{min-width:0}.schedule-grid input{min-width:0;max-width:100%}.entry-settings{display:grid;gap:.75rem;min-width:0}.weight-fields{margin:0;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;min-width:0}.weight-fields legend{padding:0 .3rem;font-weight:650}.weight-fields p{margin:.25rem 0 .55rem}.weight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.55rem}.weight-grid input{min-width:0;width:100%}.activity-chip{padding:.12rem .45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700}.path-play{display:grid;grid-template-columns:minmax(0,1fr) 20rem;min-height:0;overflow:hidden}.stage-column{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);container-type:inline-size;container-name:stage}.stage-head{display:grid;gap:.35rem;min-width:0;align-content:start}.stage-head .note{padding:.65rem 1rem 0}.stage-pills{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:.35rem;padding:.75rem 1rem 0}.stage-pill{flex:0 0 auto;align-self:center;height:auto;padding:.28rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--sheet);color:var(--muted);font-size:.8rem;font-weight:650}.stage-current{color:var(--accent-ink);background:var(--accent);border-color:transparent}.stage-done{color:var(--ink);background:var(--accent-soft);border-color:transparent}.stage-panel,.mentor{min-height:0;overflow:auto;padding:1.1rem 1.15rem 1.4rem;display:grid;align-content:start;gap:.8rem}.result-layout{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:.85rem;align-items:start}.result-card{display:grid;gap:.55rem;justify-items:start;max-width:36rem;padding:1.15rem 1.2rem;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:1rem;background:color-mix(in srgb,var(--accent) 8%,var(--sheet))}.result-layout .result-card{max-width:none}.answer-card{display:grid;gap:.55rem;min-width:0;padding:1rem 1.05rem 1.1rem;border:1px solid var(--line);border-radius:1rem;background:var(--sheet)}.answer-card h2,.answer-card p{margin:0}.answer-card .lab-code{max-height:26rem;margin:0;overflow:auto}.answer-stage{height:26rem;min-height:16rem;overflow:hidden;border:1px solid var(--line);border-radius:.7rem;background:var(--paper)}.answer-stage .lab-canvas,.answer-stage .composer-shell,.answer-stage .composer{height:100%}.result-card h2,.result-card p,.result-card blockquote{margin:0}.result-score{font-size:2.4rem;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.result-card blockquote{padding-left:.75rem;border-left:3px solid var(--accent);color:var(--muted);line-height:1.45}.attempt-history{display:grid;gap:.55rem;margin-top:.4rem}.attempt-history h2{margin:0;font-size:.95rem}.attempt-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.attempt-list li{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--sheet)}.attempt-list time,.attempt-list span{color:var(--muted)}.stage-panel h2,.mentor h2,.stage-panel p,.mentor p{margin:0}.stage-form,.order-list,.hint-list,.case-list{display:grid;gap:.55rem;margin:0;padding:0}.stage-form label,.order-row{display:grid;gap:.3rem}.order-list{list-style:none}.order-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.7rem;background:var(--sheet)}.stage-form select,.stage-form input,.stage-form textarea{width:100%}.stage-canvas{height:24rem;min-height:16rem;border:1px solid var(--line);border-radius:.5rem;overflow:hidden}.stage-canvas.is-build{height:auto;min-height:10rem;flex:1 1 auto}.build-stage{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:.85rem;align-items:stretch;min-width:0;min-height:22rem;flex:1 1 auto;height:auto}@container stage (max-width: 46rem){.build-stage{grid-template-columns:1fr;min-height:0}.build-cases{max-height:16rem}.stage-canvas.is-build{min-height:16rem}}.stage-panel:has(.build-stage){display:flex;flex-direction:column;overflow:auto}.build-work,.build-cases{display:grid;gap:.7rem;min-width:0;min-height:0}.build-work{display:flex;flex-direction:column;min-width:0;min-height:16rem;height:auto;overflow:auto}.build-spec{margin:0;padding:0 0 .35rem 1.1rem;display:grid;gap:.2rem;border-bottom:1px solid var(--line);font-size:.84rem;line-height:1.35}.build-cases{overflow:auto;padding:.75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--sheet)}.build-cases h3{margin:0;font-size:.92rem}.build-cases .lab-output{max-height:8.5rem}.build-cases .case-list li{display:grid;gap:.2rem}.stage-canvas.is-build>.editor-host,.stage-canvas.is-build>.editor-host .cm-editor,.stage-canvas.is-build>.editor-host .cm-scroller{height:100%}.stage-canvas.is-build>.shell,.stage-canvas.is-build>.editor-host{height:100%;min-height:0}.stage-canvas .lab-canvas{height:100%}.mentor{background:var(--sheet);border-left:1px solid var(--line)}.stage-form label{padding:.7rem .75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--sheet)}.hint-list{list-style:decimal;padding-left:1.2rem}.hint-solution{border-left:3px solid var(--warn);padding-left:.6rem}.lab-phone-tabs{display:none}.roster-routes{display:grid;gap:1rem;align-content:start;padding:1.1rem}.community-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.7rem}.community-picker button{display:grid;justify-items:start;gap:.2rem;width:100%;padding:.95rem 1rem;text-align:left;color:var(--ink);border-radius:.9rem;box-shadow:none}.community-picker button span{color:var(--muted);font-size:.82rem;font-weight:550}.teacher-board{display:grid;gap:.9rem;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:1rem;background:var(--sheet)}.teacher-board header h2{margin:0;font-size:1.2rem}.teacher-board header p:last-child{margin:.35rem 0 0;max-width:40rem;color:var(--muted);line-height:1.45}.board-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.board-summary article{display:grid;gap:.15rem;padding:.75rem .9rem;border-radius:.85rem;background:color-mix(in srgb,var(--accent) 8%,var(--sheet))}.board-summary strong{font-size:1.55rem;line-height:1.1}.board-summary span,.board-percent{color:var(--muted);font-size:.82rem}.board-chart,.board-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.board-chart button,.board-card-main,.board-card li button{display:grid;align-items:center;width:100%;text-align:left;color:var(--ink);box-shadow:none;border-radius:.75rem}.board-chart button{grid-template-columns:minmax(6.5rem,11rem) minmax(0,1fr) 2.6rem;gap:.65rem;padding:.4rem .55rem}.board-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.board-track{display:block;height:.7rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,var(--panel))}.board-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.board-percent{text-align:right;font-variant-numeric:tabular-nums}.board-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.7rem}.board-card{display:grid;gap:.35rem;padding:.7rem;border:1px solid var(--line);border-radius:.9rem;background:color-mix(in srgb,var(--accent) 5%,var(--sheet))}.board-card-main{grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.35rem}.board-card-copy{display:grid;gap:.2rem;min-width:0}.board-card-copy strong{line-height:1.2}.board-ring{width:4.5rem;height:4.5rem}.board-ring-track,.board-ring-value{fill:none;stroke-width:6}.board-ring-track{stroke:color-mix(in srgb,var(--line) 75%,var(--panel))}.board-ring-value{stroke:var(--accent);stroke-linecap:round}.board-ring text{fill:var(--ink);font-size:13px;font-weight:700}.board-card li button{grid-template-columns:minmax(0,1fr) auto;gap:.35rem .55rem;padding:.4rem .5rem;font-weight:550;font-size:.82rem}.board-card li button>span:first-child{grid-column:1 / -1;line-height:1.3}@media(max-width:720px){.board-summary{grid-template-columns:1fr}.board-chart button{grid-template-columns:minmax(0,1fr) 2.6rem}.board-name{grid-column:1 / -1}.board-track{grid-column:1}}.roster-route{display:grid;gap:.85rem;padding:1rem 1rem .85rem;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:1rem;background:color-mix(in srgb,var(--accent) 8%,var(--sheet));box-shadow:0 1px #1018280a}.roster-route header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}.roster-download{display:grid;justify-items:end;gap:.45rem}.roster-route header h2{margin:0;font-size:1.15rem}.roster-route header p{margin:.3rem 0 0;max-width:42rem;color:var(--muted);line-height:1.45}.roster-route-progress{display:grid;gap:.35rem}.roster-route-progress p,.roster-meta{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.roster-heading-side{display:grid;justify-items:end;gap:.55rem}.roster-meter{height:.42rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,var(--panel))}.roster-meter>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.roster-banner{padding:1rem 1.1rem 0}.roster-empty{margin:1.1rem;padding:1.1rem 1.15rem;border:1px dashed var(--line);border-radius:.9rem;background:var(--sheet);color:var(--muted)}.roster-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.roster-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;width:100%;padding:.75rem .8rem;text-align:left;color:var(--ink);border-radius:.85rem;box-shadow:none}.roster-list button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.roster-avatar{width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:700}.roster-person{display:grid;gap:.28rem;min-width:0}.roster-person strong{line-height:1.2}.roster-tags{display:flex;flex-wrap:wrap;gap:.3rem}.roster-chip,.roster-mastery li{padding:.08rem .45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700}.roster-score{display:grid;justify-items:end;min-width:4.5rem;line-height:1.1}.roster-score strong{font-size:1.25rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.roster-score span{margin-top:.2rem;color:var(--muted);font-size:.75rem}.roster-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:end}.review-sheet{display:grid;gap:.9rem;align-content:start;padding:1.1rem 1.2rem 1.6rem}.review-sheet .enunciado{border:1px solid var(--line);border-radius:.85rem}.review-sheet .enunciado-text{max-height:none;max-width:none}.review-block h2{margin:0 0 .45rem;font-size:1.05rem}.review-block>p{margin:0 0 .45rem}.review-answers{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.review-answers li{display:flex;flex-wrap:wrap;gap:.45rem .8rem;align-items:baseline;padding:.55rem .75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--sheet)}.review-answers span{color:var(--muted)}.review-sheet .lab-code{max-height:28rem}.roster-state{padding:.22rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.roster-state-completed{background:var(--accent);color:var(--accent-ink)}.roster-state-available{background:var(--warn-bg);color:var(--warn)}.roster-state-locked,.roster-state-closed{background:var(--panel);color:var(--muted)}.roster-state-scheduled{background:var(--warn-bg);color:var(--warn)}.roster-mastery{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:1rem 1.1rem 0}.roster-mastery li{display:inline-flex;gap:.35rem;align-items:baseline}.roster-mastery li span{font-weight:650;opacity:.8}.route-groups{display:grid;gap:1rem;padding:0 1.1rem 1.1rem}.route-group{padding:1rem 1.05rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:1rem;background:color-mix(in srgb,var(--accent) 8%,var(--sheet))}.route-group:nth-child(2n){background:color-mix(in srgb,var(--accent) 13%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}.route-group .path-item{background:color-mix(in srgb,var(--accent) 4%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}.route-group header h3{margin:0;font-size:1.02rem}.route-group header p{margin:.2rem 0 .65rem;color:var(--muted)}.route-groups .path-list{padding:0}.route-board{display:grid;gap:.75rem;align-content:start;padding:1.1rem}.bank-board{align-content:start}.bank-filters{display:flex;flex-wrap:wrap;gap:.65rem;padding:1rem 1.1rem 0}.bank-filters label{display:grid;gap:.25rem;min-width:min(100%,12rem);font-size:.82rem;color:var(--muted)}.bank-filters input,.bank-filters select{min-width:12rem}.bank-toolbar{display:flex;align-items:end;gap:.5rem;flex-wrap:wrap}.bank-format{display:grid;gap:.85rem;margin:.85rem 1.1rem 0}.bank-format section{display:grid;gap:.35rem;padding:.85rem;border:1px solid var(--line);border-radius:.9rem}.bank-format header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.bank-format header span{display:flex;flex-wrap:wrap;gap:.45rem}.bank-format pre,.csv-columns{overflow:auto;white-space:pre-wrap}.bank-editor{margin:.85rem 1.1rem 0}.bank-list{display:grid;gap:.75rem}.bank-card{display:grid;gap:.55rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:.9rem;background:color-mix(in srgb,var(--accent) 4%,var(--sheet))}.bank-prompt{margin:0}.bank-block h4{margin:.35rem 0 .2rem;font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.bank-block p,.bank-block li{margin:0}.bank-block ul,.bank-block ol{margin:0;padding-left:1.15rem}.bank-block li span{color:var(--accent);font-weight:650}.bank-block pre{margin:0;padding:.65rem .75rem;overflow:auto;border-radius:.7rem;background:var(--panel);font-size:.82rem;white-space:pre-wrap}.route-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:center;width:100%;padding:1rem 1.05rem;text-align:left;color:var(--ink);border-radius:1rem;background:color-mix(in srgb,var(--accent) 8%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 26%,var(--line));box-shadow:0 1px #1018280a}.route-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.route-card-copy{display:grid;gap:.35rem;min-width:0}.route-card-copy strong{font-size:1.05rem;line-height:1.25}.route-card-copy>span:not(.roster-meter):not(.roster-meta){color:var(--muted);line-height:1.45}.path-switch{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem .75rem 0}.path-switch button[aria-selected=true]{background:var(--accent);color:var(--paper)}.path-editor{display:grid;gap:1rem;align-content:start;padding:1rem}.path-panel{padding:1rem 1.05rem 1.1rem;border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--sheet) 92%,var(--paper));box-shadow:0 1px #1018280a}.path-pick{display:grid;grid-template-columns:minmax(9rem,14rem) minmax(0,1fr);gap:.55rem}@media(max-width:720px){.path-pick{grid-template-columns:1fr}}.path-panel>h2{margin:0;font-size:1.05rem}.path-panel>p{margin:.25rem 0 0;color:var(--muted);line-height:1.45}.path-panel .roster-empty{margin:0}.path-section{display:grid;gap:.55rem}.path-tone-1{background:color-mix(in srgb,var(--accent) 8%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}.path-tone-1-action{background:color-mix(in srgb,var(--accent) 18%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.path-tone-2,.path-tone-2 .path-card{background:color-mix(in srgb,var(--accent) 13%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}.path-tone-2-action{background:color-mix(in srgb,var(--accent) 24%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.path-tone-3{background:color-mix(in srgb,var(--accent) 5%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 20%,var(--line));box-shadow:inset 4px 0 0 var(--accent)}.path-tone-3-action{background:color-mix(in srgb,var(--accent) 15%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 38%,var(--line));box-shadow:inset 4px 0 color-mix(in srgb,var(--accent) 72%,var(--sheet))}.path-tone-editor{background:color-mix(in srgb,var(--accent) 10%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.path-tone-entry{background:color-mix(in srgb,var(--accent) 4%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}.path-tone-entry-action{background:color-mix(in srgb,var(--accent) 12%,var(--sheet));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.path-tone-danger{background:color-mix(in srgb,var(--danger) 8%,var(--sheet));border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}.path-tone-danger>.practice-actions{margin-top:.75rem}.path-tone-danger-action{background:color-mix(in srgb,var(--danger) 15%,var(--sheet));border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.path-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:1rem}.path-tone-1-action{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.path-tone-2-action{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.path-tone-3-action{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.path-tone-entry-action{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.path-tone-danger-action{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.path-actions-stack{display:grid;grid-template-columns:minmax(0,1fr);justify-content:start;justify-items:stretch}.path-actions-label{flex:1 0 100%;margin:0;font-size:.72rem;font-weight:750;letter-spacing:.06em;text-align:center;text-transform:uppercase;color:var(--accent)}.path-tone-danger-action .path-actions-label{color:var(--danger)}.path-actions-stack .practice-actions,.path-actions-stack .assign-row{justify-content:flex-end}.path-editor .entry-item .schedule-grid{margin-top:0;width:100%}.path-editor .entry-item .schedule-grid input{width:100%}.path-intro button,.path-editor button:not(.path-card){border-radius:999px;font-weight:650;padding:.48rem .95rem;background:var(--sheet);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.path-intro button:hover,.path-editor button:not(.path-card):hover{background:color-mix(in srgb,var(--accent) 12%,var(--sheet))}.path-editor button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:0 8px 16px color-mix(in srgb,var(--accent) 28%,transparent)}.path-editor button.primary:hover{background:var(--accent);filter:brightness(1.08)}.path-editor button.danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--sheet));border-color:color-mix(in srgb,var(--danger) 45%,var(--line));box-shadow:none}.path-editor button.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,var(--sheet));filter:none}.challenge-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.challenge-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,12rem) auto;gap:.45rem;align-items:end}.challenge-item input,.challenge-item select{width:100%;min-width:0}.prompt-field{min-height:12rem;resize:vertical}.case-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:.8rem;background:color-mix(in srgb,var(--sheet) 88%,var(--paper))}.case-editor-head{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.case-editor-head p{margin:0;font-weight:700}.case-editor-head button{width:auto}.case-editor label{padding:0;border:0;background:transparent}.case-editor textarea{min-height:9rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.challenge-source{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:9rem}.block-picker{display:grid;gap:.75rem}.block-picker h4{margin:0;font-size:.92rem}.block-options{display:flex;flex-wrap:wrap;gap:.4rem}.block-options .check-line{width:auto}.hint-editor-list{display:grid;gap:.55rem}.hint-editor-list>p{margin:0;color:var(--muted)}.hint-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:end}.hint-editor button{width:auto}.path-board{display:grid;gap:.7rem}.path-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center;width:100%;padding:.95rem 1rem;text-align:left;color:var(--ink);border-radius:.9rem;background:var(--paper);box-shadow:none}.path-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.path-card-copy{display:grid;gap:.4rem;min-width:0}.path-card-title{display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:center}.path-card-title strong{font-size:1.05rem;line-height:1.25}.path-card-desc{color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.path-stats{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.45rem 0 0}.path-stats>span:not(.roster-state){padding:.12rem .5rem;border-radius:999px;background:var(--panel);color:var(--muted);font-size:.75rem;font-weight:650}.path-card-go{padding:.4rem .85rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.85rem;font-weight:700}.path-editor .path-list{padding:0}.path-editor .assign-row{display:flex;flex-wrap:wrap;align-items:end;gap:.55rem}.path-editor .assign-row label{flex:1 1 14rem;min-width:0}.path-editor .assign-row>button{width:auto;flex:0 0 auto;white-space:nowrap}.community-block{display:grid;gap:.35rem}.community-block-name{display:flex;flex-wrap:wrap;gap:.25rem .55rem;align-items:baseline;min-width:0}.community-block-name span{color:var(--muted);font-size:.82rem}.community-members,.assign-people{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.community-members{margin-left:1.7rem}.community-members li,.community-members-empty{margin:0;color:var(--muted);font-size:.85rem}.community-members li{display:flex;flex-wrap:wrap;gap:.2rem .7rem;align-items:baseline}.community-members strong{color:var(--ink);font-weight:650}.path-editor .assign-person{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.75rem;background:var(--paper)}.path-editor .assign-person>span{display:grid;gap:.1rem;min-width:0}.path-editor .assign-person button{width:auto;flex:0 0 auto;white-space:nowrap}.path-note{margin:0;padding:.65rem .75rem;border-radius:.7rem;background:var(--accent-soft);color:var(--ink)}.path-danger .practice-actions button:first-child{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.path-editor .stage-form{display:grid;gap:.55rem}.stage-form label.check-line{display:flex;align-items:center;gap:.55rem}.stage-form label.check-line input{width:1.05rem;height:1.05rem;padding:0;accent-color:var(--accent)}.assign-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:end}.assign-person{display:flex;justify-content:space-between;gap:.6rem;align-items:center}@media(max-width:900px){.lab-challenge{grid-template-rows:auto auto auto minmax(0,1fr)}.shell.lab .topbar{flex-direction:column;align-items:stretch;gap:.45rem;padding:.5rem .65rem}.shell.lab .brand{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.7rem;min-width:0}.shell.lab .actions{display:flex;flex-wrap:wrap;width:100%}.shell.lab .actions button{width:auto;min-width:0}.lab-practice .notice,.lab-practice .lab-phone-tabs{display:none}.lab-phone-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.3rem;padding:.4rem .5rem .15rem;flex:0 0 auto}.lab-phone-tabs button{min-width:0;padding:.42rem .15rem;font-size:.72rem;line-height:1.15;white-space:normal;text-align:center}.lab-phone-tabs button[aria-selected=true]{background:var(--accent);color:var(--paper)}.lab-practice .lab-body .splitter{display:none}.lab-practice .lab-body{display:flex;flex-direction:column;height:auto;overflow:auto}.lab-practice .lab-stage{flex:0 0 auto;height:46vh;min-height:18rem;overflow:hidden}.lab-practice .lab-run-info{flex:0 0 auto}.lab-practice .lab-output-pane,.lab-practice .lab-code-pane,.lab-practice .lab-vars-pane,.lab-practice .lab-side{flex:0 0 auto;height:16rem;min-height:12rem;overflow:auto;border-top:1px solid var(--line)}.lab-practice .lab-side{height:auto}.lab-stage .lab-controls{padding:.4rem .5rem}.lab-stage .lab-controls button{flex:1 1 30%;min-width:5.4rem;padding:.38rem .4rem}.lab-side{overflow:auto}.practice-save form{display:grid;grid-template-columns:1fr 1fr}.practice-save label{grid-column:1 / -1;min-width:0}.lab-challenge[data-phone=problema] .path-play,.lab-challenge[data-phone=construccion] .enunciado,.lab-challenge[data-phone=construccion] .mentor,.lab-challenge[data-phone=ayuda] .enunciado,.lab-challenge[data-phone=ayuda] .stage-column{display:none}}@media(max-width:800px){.path-play{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;overflow:auto}.result-layout,.build-stage{grid-template-columns:1fr;height:auto}.build-cases{max-height:14rem}.mentor{border-left:0;border-top:1px solid var(--line);max-height:40vh}.path-intro{align-items:start}.path-card{grid-template-columns:1fr;justify-items:start}.path-item{grid-template-columns:auto minmax(0,1fr)}.path-editor .entry-item{grid-template-columns:minmax(0,1fr)}.path-item button,.path-item .roster-state,.path-item .roster-actions{grid-column:2;justify-self:start}.entry-head{grid-template-columns:auto minmax(0,1fr)}.entry-head .practice-actions{grid-column:2;justify-content:start}.path-editor .assign-row>button{flex-basis:100%}.schedule-grid{grid-template-columns:1fr}.challenge-pair,.challenge-item,.case-editor,.hint-editor{grid-template-columns:minmax(0,1fr)}.route-card{grid-template-columns:1fr}.route-card .roster-score{justify-items:start}.roster-list button{grid-template-columns:auto minmax(0,1fr)}.roster-score,.roster-heading-side{grid-column:2;justify-items:start}.enunciado{flex-direction:column;align-items:stretch}.enunciado h2{font-size:1.2rem}.timer{width:fit-content}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{color-scheme:light;--paper: #eef1f6;--sheet: #ffffff;--panel: #f7f8fb;--ink: #16181d;--muted: #667085;--line: #e4e7ee;--rule: #4f46e5;--accent: #4f46e5;--accent-ink: #ffffff;--accent-soft: #eef0ff;--hover: #f2f4f8;--warn: #9a3412;--warn-bg: #fff7ed;--danger: #be123c;--shadow: 0 16px 40px rgba(16, 24, 40, .1);--code-keyword: #4338ca;--code-string: #0f766e;--code-comment: #8a93a3;--code-number: #c2410c;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--paper: #0e1014;--sheet: #171a21;--panel: #141820;--ink: #f2f4f8;--muted: #a1a8b5;--line: #2c313c;--rule: #818cf8;--accent: #818cf8;--accent-ink: #12141a;--accent-soft: rgba(129, 140, 248, .16);--hover: #222734;--warn: #fdba74;--warn-bg: #2a2118;--danger: #fb7185;--shadow: 0 16px 40px rgba(0, 0, 0, .35);--code-keyword: #a5b4fc;--code-string: #5eead4;--code-comment: #8b93a3;--code-number: #fdba74}*{box-sizing:border-box}html,body,#root{height:100%}#root{display:flex;flex-direction:column}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,input,select{border:1px solid var(--line);background:var(--sheet);color:var(--ink);border-radius:8px;transition:background .15s ease,border-color .15s ease,color .15s ease}button{padding:.48rem .95rem;cursor:pointer;border-radius:999px;font-weight:650;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--sheet))}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:650;box-shadow:0 8px 16px color-mix(in srgb,var(--accent) 28%,transparent)}button.primary:hover{background:var(--accent);filter:brightness(1.08)}button.danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--sheet));border-color:color-mix(in srgb,var(--danger) 45%,var(--line));box-shadow:none}button.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,var(--sheet));filter:none}input,select{padding:.45rem .65rem}input:focus,select:focus{border-color:var(--accent)}h1,h2{font-weight:650;letter-spacing:-.02em}.app-frame{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.app-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-main>.confirm-banner{flex:0 0 auto}.app-main>.auth,.app-frame>.auth,.app-main>.screen-slot,.app-main>.shell{flex:1 1 auto;min-height:0;height:auto}.app-legal{flex:0 0 auto;margin:0;padding:.32rem .85rem;border-top:1px solid var(--line);background:var(--sheet);color:var(--muted);font-size:.72rem;line-height:1.35;text-align:center}.auth{min-height:0;height:100%;display:grid;place-items:center;padding:2rem 1rem;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(79,70,229,.16),transparent 60%),var(--paper)}.card{width:min(26rem,100%);background:var(--sheet);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:1.6rem 1.5rem 1.4rem;display:grid;gap:.85rem}.card h1{margin:0;font-size:1.7rem}.logo{display:inline-flex;align-items:center;gap:.7rem;min-width:0}.logo-mark{width:2.35rem;height:2.35rem;flex:none;display:block}.logo-words{display:grid;justify-items:start;line-height:1;gap:.16rem}.logo-name{color:var(--ink);font-size:1.35rem;font-weight:750;letter-spacing:-.03em}.logo-sub{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.12em}.card .logo-mark{width:3.15rem;height:3.15rem}.card .logo-name{font-size:1.85rem}.card .logo-sub{font-size:.82rem}.loading-card{width:min(22rem,100%)}.loading-card p{margin:0;color:var(--muted)}.tabs{display:flex;gap:.15rem;padding:.2rem;background:var(--paper);border-radius:10px}.tabs button{flex:1;border-color:transparent;background:transparent;color:var(--muted);white-space:nowrap;padding:.42rem .4rem;font-size:.9rem;border-radius:999px;box-shadow:none}.tabs button:hover{background:var(--hover);color:var(--ink)}.tabs button[aria-selected=true],.tabs button[aria-selected=true]:hover{background:var(--sheet);color:var(--ink);border-color:transparent;font-weight:650;box-shadow:0 1px 2px #10182814}form{display:grid;gap:.55rem}label{display:grid;gap:.25rem;font-size:.92rem}.confirm-banner{margin:0;padding:.7rem 1rem;background:var(--accent-soft);color:var(--ink);text-align:center}.error{color:var(--danger);margin:0}.note{color:var(--muted);margin:0}.screen-slot{height:auto;min-height:0;display:flex;flex-direction:column}.screen-slot[hidden]{display:none!important}.shell{height:auto;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.shell>.workspace,.shell>.composer{flex:1 1 auto;min-height:0}.topbar,.notice{display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:.55rem 1rem;background:var(--sheet);border-bottom:1px solid var(--line)}.topbar{position:relative;z-index:4}.settings,.functions{position:relative}.functions-menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:5;width:min(26rem,72vw);max-height:min(70vh,32rem);overflow:auto;display:grid;gap:.65rem;padding:.9rem .95rem;background:var(--sheet);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.functions-menu h2{margin:0;font-size:.95rem;letter-spacing:-.02em;text-transform:none;color:var(--ink)}.functions-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.functions-menu li{display:grid;gap:.15rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.functions-menu li:last-child{padding-bottom:0;border-bottom:0}.functions-menu code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;font-weight:650}.functions-menu p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.35}.functions-menu h3{margin:.35rem 0 0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.manuals-menu{width:min(28rem,80vw)}.manual-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.manual-row span,.manual-dialog header span{display:flex;gap:.4rem;align-items:center}a.manual-download,button.manual-download{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:.28rem .55rem;color:var(--ink);background:var(--sheet);font:inherit;font-size:.82rem;font-weight:650;text-decoration:none}a.manual-download:hover,button.manual-download:hover{background:var(--hover)}.manual-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--ink) 28%,transparent)}.manual-dialog{width:min(52rem,100%);max-height:min(88vh,52rem);overflow:auto;display:grid;gap:.8rem;padding:1rem 1.15rem 1.4rem;background:var(--sheet);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.manual-dialog header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;position:sticky;top:-1rem;margin:-1rem -1.15rem 0;padding:.85rem 1.15rem;background:var(--sheet);border-bottom:1px solid var(--line)}.manual-dialog h2{margin:0;font-size:1.05rem}.manual-frame,.manual-status{width:100%;height:min(72vh,44rem);border:0;background:#fff}.manual-status{display:grid;place-items:center;margin:0;background:var(--sheet)}.manual-sheet{display:grid;gap:.7rem;line-height:1.5}.manual-sheet h1,.manual-sheet h2,.manual-sheet h3{margin:.4rem 0 0}.manual-sheet p,.manual-sheet li{margin:0}.manual-sheet img{max-width:100%;height:auto}.manual-sheet table{border-collapse:collapse;width:100%}.manual-sheet td,.manual-sheet th{border:1px solid var(--line);padding:.35rem .45rem;vertical-align:top}.communities-backdrop{position:fixed;inset:0;z-index:30;display:grid;background:var(--paper)}.communities-panel{width:100%;height:100%;max-height:none;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--sheet);border:0;border-radius:0;box-shadow:none}.communities-panel>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.communities-panel h2,.communities-panel h3,.communities-panel h4{margin:0;letter-spacing:-.02em;text-transform:none;color:var(--ink)}.communities-panel h2{font-size:1.05rem}.communities-panel h3{font-size:1rem}.communities-panel h4{font-size:.82rem;color:var(--muted);margin-top:.35rem}.communities-body{display:grid;grid-template-columns:16rem minmax(0,1fr);min-height:0}.communities-list,.communities-detail{padding:.9rem 1rem;display:grid;align-content:start;gap:.7rem;min-height:0}.communities-list{border-right:1px solid var(--line);overflow:hidden;align-content:stretch;grid-template-rows:auto minmax(0,1fr) auto}.communities-list form{display:grid;gap:.45rem}.communities-list>ul{overflow:auto;min-height:0;align-content:start}.communities-detail{overflow:auto;align-content:start;grid-template-rows:none}.community-head,.community-add,.community-roster,.community-teachers,.community-switches{display:grid;gap:.55rem;min-width:0}.community-add .people-results{align-content:start;container-type:inline-size}.member-scroll,.community-teachers{min-width:0;container-type:inline-size}.roster-tools{display:grid;gap:.35rem}.roster-tools input{width:100%}.member-pager{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.member-pager span{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.communities-list ul,.member-list,.people-results{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.communities-list li button{width:100%;display:grid;justify-items:start;gap:.1rem;text-align:left;color:var(--ink);border-radius:.85rem;box-shadow:none}.communities-list li button[aria-current=true]{background:var(--accent-soft);border-color:transparent;color:var(--ink)}.communities-list li span,.member-list small,.people-results small{color:var(--muted);font-size:.8rem}.communities-title{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.member-list li,.people-results li{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;min-width:0;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.85rem;background:color-mix(in srgb,var(--accent) 5%,var(--sheet))}.member-list li>span:not(.member-actions),.people-results li>span:not(.member-actions){display:grid;min-width:0}.member-list strong,.people-results strong{overflow:hidden;text-overflow:ellipsis}.member-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.45rem .7rem;min-width:0}.member-list,.people-results{gap:.65rem}.member-list li button,.people-results li button{flex:none;justify-self:start;white-space:nowrap}@container (min-width: 36rem){.member-list li,.people-results li{grid-template-columns:minmax(0,1fr) auto;align-items:center}.member-actions{flex-wrap:nowrap;justify-content:flex-end;min-width:max-content}.member-actions>*{flex:none}}.translation-switch{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.8rem}.translation-switch input{accent-color:var(--accent)}@media(max-width:720px){.communities-body{grid-template-columns:1fr;overflow:auto}.communities-list{border-right:0;border-bottom:1px solid var(--line);max-height:16rem;overflow:auto;grid-template-rows:auto auto auto}.communities-detail{overflow:visible}}.settings-menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:5;min-width:18.5rem;display:grid;gap:.7rem;padding:.85rem;background:var(--sheet);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.settings-menu button{width:100%}.settings-menu .note{margin:0;font-size:.78rem}.brand{display:flex;gap:.55rem;align-items:center}.brand h1{margin:0;display:flex;align-items:center;gap:.55rem;font-size:1.15rem}.topbar-editor .logo-mark{width:1.85rem;height:1.85rem}.topbar-editor .logo-name{font-size:1.02rem}.topbar-editor .logo-sub{font-size:.62rem;letter-spacing:.1em}.brand p{margin:0;color:var(--muted);font-size:.92rem}.topbar-editor{flex-wrap:wrap;padding:.4rem .85rem;background:linear-gradient(180deg,color-mix(in srgb,var(--sheet) 86%,var(--accent) 14%),var(--sheet))}.topbar-editor .brand{align-items:center;gap:.85rem}.topbar-editor .brand h1{font-size:1.05rem}.who{display:grid;justify-items:center;gap:.08rem;min-width:0}.avatar{width:2.15rem;height:2.15rem;display:grid;place-items:center;overflow:hidden;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.78rem;font-weight:750;box-shadow:0 0 0 3px var(--accent-soft)}button.avatar-button{padding:0;color:var(--accent-ink);background:var(--accent);border-color:transparent;box-shadow:0 0 0 3px var(--accent-soft)}button.avatar-button:hover{background:var(--accent);filter:brightness(1.06)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-dialog{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#10182873}.profile-card{width:min(26rem,100%);max-height:calc(100vh - 2rem);overflow:auto;display:grid;gap:.75rem;padding:1rem 1.1rem 1.15rem;background:var(--sheet);border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow)}.profile-card header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.profile-card h2{margin:0;font-size:1.05rem}.profile-card label,.profile-card fieldset{display:grid;gap:.3rem;margin:0;border:0;padding:0}.profile-card fieldset{gap:.55rem}.profile-card legend{font-weight:700}.profile-photo{display:flex;align-items:center;gap:.85rem}.profile-photo .avatar{width:4.4rem;height:4.4rem;flex:none;font-size:1.25rem}.profile-photo p{margin:0}.profile-photo-actions,.profile-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.45rem}.profile-card input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.who-name{max-width:8.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750;line-height:1.15}.who-role{color:var(--muted);font-size:.66rem;line-height:1}.standing{display:flex;gap:.4rem;align-items:stretch}.stat{display:grid;justify-items:center;align-content:center;gap:.02rem;min-width:3.5rem;padding:.22rem .45rem .28rem;border:1px solid var(--line);border-radius:12px;background:var(--sheet)}.stat strong{font-size:.82rem;line-height:1.1}.stat small{color:var(--muted);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase}.mark{width:1.05rem;height:1.05rem;display:block}.mark path,.mark circle{fill:currentColor}.mark circle[fill=none]{fill:none}.mark-none{color:var(--muted)}.mark-spark{color:#7c6cf0}.mark-star,.mark-gold{color:#d4a017}.mark-bolt{color:#f97316}.mark-crown{color:#c4841d}.mark-silver{color:#8b95a7}.mark-bronze{color:#c4844a}.mark-place{color:var(--accent)}.actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.topbar-editor .actions{gap:.12rem;padding:.16rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 78%,var(--sheet))}.topbar-editor .top-action,.topbar-editor .top-leave{border:0;background:transparent;color:var(--ink);border-radius:10px;padding:.38rem .62rem;font-size:.8rem;font-weight:650;box-shadow:none}.topbar-editor .top-action:hover,.topbar-editor .top-leave:hover{background:var(--hover)}.topbar-editor .top-action[aria-expanded=true],.topbar-editor .top-action[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.topbar-editor .top-leave{margin-left:.15rem;color:var(--danger)}.notice{color:var(--warn);background:var(--warn-bg);justify-content:flex-start;font-size:.88rem}.workspace{display:grid;grid-template-columns:var(--projects-width, 16rem) 6px minmax(0,1fr) 6px var(--diagram-width, 28rem);min-height:0;overflow:hidden}.workspace.projects-hidden{grid-template-columns:auto minmax(0,1fr) 6px var(--diagram-width, 28rem)}.workspace.projects-hidden .sidebar-body{display:none}.workspace:not(.projects-hidden) .sidebar{border-right:0}.workspace:not(.diagram-hidden) .diagram{border-left:0}.splitter{position:relative;z-index:2;width:100%;height:100%;padding:0;border:0;border-radius:0;cursor:col-resize;background:transparent;touch-action:none}.splitter:before{content:"";position:absolute;inset:0 -4px}.splitter:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line)}.splitter:hover,.splitter:focus-visible{background:transparent;outline:none}.splitter:hover:after,.splitter:focus-visible:after{width:2px;margin-left:-1px;background:var(--accent)}.splitter-row{cursor:row-resize}.splitter-row:before{inset:-4px 0}.splitter-row:after{inset:50% 0 auto;width:auto;height:1px}.splitter-row:hover:after,.splitter-row:focus-visible:after{width:auto;height:2px;margin-top:-1px;margin-left:0;background:var(--accent)}.sidebar-head,.diagram-title{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.sidebar .sidebar-head h2{margin:0}.sidebar,.panel{background:var(--sheet);border-right:1px solid var(--line);padding:.8rem;min-width:0;overflow:auto}.panel{background:var(--panel);border-right:0;border-top:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-content:start;gap:.45rem 1rem;min-height:0;height:100%;overflow:auto}.panel section{min-width:0;min-height:0;overflow:auto}.sidebar h2,.panel h2,.diagram-toolbar h2{margin:.2rem 0;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sidebar-body{display:grid;gap:.35rem;margin-top:.45rem}.student-review{display:grid;gap:.35rem;padding-bottom:.55rem;margin-bottom:.2rem;border-bottom:1px solid var(--line)}.student-review select{width:100%}.editor-host[data-readonly=true] .cm-content{cursor:default}.sidebar ul,.diagnostics{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.sidebar button,.diagnostics button{width:100%;text-align:left;background:transparent;color:var(--ink);border-color:transparent;border-radius:8px;box-shadow:none}.sidebar button:hover,.diagnostics button:hover{background:var(--hover)}.sidebar form button{border-radius:999px;border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--sheet);color:var(--accent);text-align:center;font-weight:650}.sidebar form button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--sheet))}.name-row{display:flex;align-items:center;gap:.2rem;min-width:0}.sidebar .name-row>button:first-child,.sidebar .name-row>.rename-input{width:auto;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rename-input{padding:.35rem .45rem}.sidebar button.mini{width:1.65rem;height:1.65rem;padding:0;flex:0 0 auto;text-align:center;line-height:1;color:var(--muted);border-radius:6px}.sidebar button.mini:hover{color:var(--ink);background:var(--hover)}button.fold{width:1.75rem;height:1.75rem;padding:0;flex:0 0 auto;text-align:center;font-size:1.2rem;line-height:1}.sidebar button[aria-current]{background:var(--accent-soft);color:var(--accent);border-color:transparent;font-weight:650}.sidebar button[aria-current]:hover{background:var(--accent-soft)}.stage{display:grid;grid-template-rows:auto minmax(9rem,1fr) auto 6px var(--console-height, 11rem);min-width:0;min-height:0;height:100%;overflow:hidden}.insight{display:grid;grid-template-rows:minmax(0,1fr) 6px var(--debug-height, 14rem);min-width:0;min-height:0;height:100%;overflow:hidden}.toolbar{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;padding:.42rem .7rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--sheet) 88%,var(--accent) 12%),var(--sheet))}.tool-group{display:flex;align-items:center;gap:.12rem;flex:0 0 auto;padding:.16rem;background:color-mix(in srgb,var(--paper) 82%,var(--sheet));border:1px solid var(--line);border-radius:12px}.toolbar button{flex:0 0 auto;border:0;background:transparent;border-radius:8px;padding:.28rem .55rem;font-size:.78rem;font-weight:650;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.toolbar button:hover{background:var(--hover)}.toolbar button.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #4f46e538}.toolbar button.primary:hover{background:var(--accent);filter:brightness(1.08)}.toolbar button.tool-debug{color:var(--accent);background:var(--accent-soft)}.toolbar button.tool-debug:hover{filter:brightness(.97)}.translate-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1.5rem;background:color-mix(in srgb,var(--ink) 35%,transparent)}.translate-dialog{display:flex;flex-direction:column;gap:.75rem;width:min(52rem,100%);height:min(32rem,100%);min-width:min(22rem,100%);min-height:min(16rem,100%);max-width:100%;max-height:100%;padding:1rem;overflow:hidden;resize:both;background:var(--sheet);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.translate-dialog.is-expanded{width:100%;height:100%;resize:none}.translate-dialog header,.translate-actions,.translate-tabs{display:flex;align-items:center;gap:.4rem}.translate-dialog header{justify-content:space-between}.translate-header-actions{display:flex;align-items:center;gap:.4rem}.translate-dialog h2,.translate-dialog p{margin:0}.translate-dialog p{color:var(--muted)}.translate-tabs{flex-wrap:wrap}.translate-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--ink)}.translate-dialog textarea{width:100%;flex:1;min-height:0;resize:none;overflow:auto;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);font:.92rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.translate-errors{margin:0;padding-left:1.1rem;color:var(--danger)}.foreign-screen>.foreign-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem 1rem;overflow:hidden}.foreign-actions,.foreign-tabs{display:flex;align-items:center;gap:.4rem}.foreign-tabs{flex-wrap:wrap}.foreign-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--ink)}.foreign-editor{flex:1 1 auto;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--sheet)}.foreign-editor .cm-editor{height:100%;min-height:0}.foreign-editor .cm-scroller{overflow:auto}.foreign-editor .cm-content{tab-size:4}.foreign-actions{flex:0 0 auto;flex-wrap:wrap}.foreign-actions label{display:flex;align-items:center;gap:.4rem;color:var(--muted)}.foreign-actions p{margin:0;color:var(--muted)}.foreign-actions input{width:min(24rem,70vw);padding:.4rem .55rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:.92rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.foreign-actions .primary{background:var(--accent);color:#fff}.foreign-attach{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:end;gap:.6rem}.foreign-attach label{display:flex;flex-direction:column;gap:.25rem;color:var(--muted)}.foreign-attach select,.language-source{padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:.92rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.language-source{width:100%;min-height:12rem;resize:vertical}.foreign-attach p{margin:0;color:var(--muted)}.foreign-output{flex:0 0 9rem;margin:0;overflow:auto;white-space:pre-wrap;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);font:.92rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.toolbar button.tool-save{margin-left:auto;border:1px solid var(--line);background:var(--sheet)}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.22rem .8rem;border-top:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:.78rem}.editor-host{min-height:0;height:100%;overflow:hidden;background:var(--sheet)}.editor-host .cm-editor{height:100%;min-height:0}.editor-host .cm-scroller{overflow:auto}.cm-breakpoint-gutter{width:1.15rem;cursor:pointer}.cm-breakpoint{color:var(--danger);font-size:.75rem}.cm-breakpoint-spacer{visibility:hidden;font-size:.75rem}.cm-debug-line{background:#c4554a38}.editor-host .cm-snippetField{background:color-mix(in srgb,var(--accent) 22%,transparent);border-radius:3px;box-shadow:inset 0 -2px 0 var(--accent)}.cm-snippetFieldPosition{border-left:2px solid var(--accent)}.cm-tooltip.cm-tooltip-autocomplete>ul{max-height:18rem;min-width:16rem}.cm-tooltip.cm-tooltip-autocomplete .cm-completionLabel{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.debug-grid{display:grid;gap:.35rem}.debug-grid h3{margin:.2rem 0 0;font-size:.95rem}.stack,.variables{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.variables li{display:flex;gap:.4rem;align-items:center;justify-content:space-between;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.stack button{width:100%;text-align:left;background:transparent;border-color:transparent}.stack button:hover{background:var(--hover)}.console-dock{min-height:0;display:flex;flex-direction:column;overflow:hidden}.console{margin:0;padding:.75rem .9rem;flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable;scrollbar-color:#3a4150 #12141a;background:#12141a;color:#e8eaf0;border-top:1px solid #2c313c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;line-height:1.5;white-space:pre-wrap}.console::-webkit-scrollbar{width:10px}.console::-webkit-scrollbar-track{background:#12141a}.console::-webkit-scrollbar-thumb{background:#3a4150;border-radius:6px}.input-row{display:flex;gap:.5rem;align-items:end;flex:0 0 auto;padding:.6rem .8rem;background:var(--sheet)}.input-row label{flex:1}.diagnostics button small{display:block;color:var(--muted)}.diagram{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;overflow:hidden;border-left:1px solid var(--line);background:var(--paper)}.diagram-toolbar{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;padding:.45rem .8rem;background:var(--sheet);border-bottom:1px solid var(--line)}.diagram-toolbar h2{margin:0}.diagram-toolbar button{flex:0 0 auto;border-radius:8px;padding:.28rem .55rem;font-size:.78rem;color:var(--ink);box-shadow:none}.diagram-toolbar button:hover{background:var(--hover)}.diagram-body{min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.workspace.diagram-hidden .diagram{grid-template-rows:auto;align-content:start;align-items:start}.workspace.diagram-hidden .diagram-toolbar{flex-wrap:nowrap;width:max-content}.diagram-canvas{min-height:0;flex:1}.diagram-canvas .react-flow{width:100%;height:100%;background:var(--paper)}.shape{position:relative;width:100%;height:100%;display:grid;place-items:center;color:#16181d;font-size:.82rem;line-height:1.15}.shape svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.shape .terminal{fill:#fff4c8;stroke:#e0a82a}.shape .process{fill:#fff8dc;stroke:#d4b03a}.shape .decision{fill:#f3e4fb;stroke:#a45cc0}.shape .switch{fill:#d4e4fb;stroke:#3d6eae}.shape .loop{fill:#efe6ff;stroke:#7d5cb8}.shape .output{fill:#e7f6d4;stroke:#67a83d}.shape .input{fill:#f8d4ea;stroke:#d45398}.shape span{position:relative;z-index:1;max-width:78%;text-align:center}.shape-decision span,.shape-loop span{max-width:52%}.shape-switch .switch-title{position:absolute;z-index:1;top:8%;left:16%;right:16%;height:48%;max-width:none;display:flex;align-items:center;justify-content:center;color:#1d3f73;font-weight:650}.shape-switch .switch-cases{position:absolute;z-index:1;left:0;right:0;bottom:0;height:30px;display:flex;align-items:center}.shape-switch .switch-cases span{max-width:none;flex:none;color:#1d3f73;font-weight:700;font-size:.75rem}.shape.active span{font-weight:650}.shape-join{opacity:0;pointer-events:none}.diagram-canvas .react-flow__node{background:transparent;border:none;padding:0;border-radius:0;box-shadow:none}.diagram-canvas .react-flow__handle{opacity:0;pointer-events:none;width:1px;height:1px;min-width:0;min-height:0;border:0;background:transparent}.diagram-canvas .react-flow__edges>svg:not(.react-flow__marker){overflow:visible;width:var(--flow-width, 8000px);height:var(--flow-height, 8000px)}.diagram-canvas .react-flow__edge-path{stroke:#c0392b}.diagram-canvas .react-flow__arrowhead path{fill:#c0392b;stroke:#c0392b}.edge-label{position:absolute;background:transparent;border:none;color:#6a3d86;font-weight:700;font-size:.75rem;padding:0;pointer-events:none}.diagram-print{display:none}@media print{.topbar,.notice,.sidebar,.panel,.toolbar,.editor-host,.status-bar,.console,.input-row,.diagram-toolbar,.diagram-canvas,.splitter{display:none!important}.shell,.workspace,.stage,.diagram{display:block!important;height:auto!important;overflow:visible!important}.diagram-print{display:block;width:100%;height:auto}}.zone-switch{display:none;align-items:center;gap:.2rem;padding:.16rem;border:1px solid var(--line);border-radius:12px;background:var(--sheet)}.zone-switch button{border:0;background:transparent;border-radius:8px;padding:.28rem .6rem;font-weight:650}.zone-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}@media(max-width:720px){.zone-switch{display:flex}.shell{height:auto;overflow:hidden}.workspace,.workspace.projects-hidden{grid-template-columns:minmax(0,1fr);overflow:hidden}.workspace[data-zone=editor]{grid-template-rows:minmax(0,34%) minmax(0,1fr)}.workspace[data-zone=diagram]{grid-template-rows:minmax(0,1fr)}.workspace>.splitter{display:none}.workspace[data-zone=editor] .insight,.workspace[data-zone=diagram] .sidebar,.workspace[data-zone=diagram] .stage{display:none}.workspace[data-zone=editor] .sidebar{height:100%;max-height:none;min-height:0;overflow:auto}.stage,.insight{height:100%;min-height:0;overflow:hidden}.stage{grid-template-rows:auto minmax(0,1fr) auto 6px minmax(3.25rem,.42fr)}.insight{grid-template-rows:minmax(0,1fr) 6px minmax(3.25rem,var(--debug-height, 14rem))}.toolbar{flex-wrap:nowrap;overflow-x:auto}}.shell>.account-only,.shell>.admin-home{flex:1 1 auto;min-height:0;overflow:auto}.account-only,.admin-home{padding:1.5rem;display:grid;gap:1.25rem;align-content:start}.account-card{width:min(36rem,100%)}.account-facts{display:grid;gap:.75rem;margin:0}.account-facts div{display:grid;gap:.15rem}.account-facts dt{color:var(--muted);font-size:.85rem}.account-facts dd{margin:0;font-weight:650}.admin-home{max-width:68rem}.admin-home .account-card{width:100%}.admin-head,.admin-search{display:flex;gap:.75rem;align-items:end;justify-content:space-between;flex-wrap:wrap}.admin-head .note{max-width:40rem}.admin-search{justify-content:flex-start}.admin-search input{width:min(18rem,100%)}.plan-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.plan-groups h3{margin:0 0 .4rem;font-size:.95rem;color:var(--muted)}.plan-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.plan-list button{width:100%;text-align:left;display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.plan-list button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--sheet))}.table-scroll{overflow-x:auto;background:var(--sheet);border:1px solid var(--line);border-radius:12px}.account-table{width:100%;border-collapse:collapse;background:var(--sheet)}.account-table th,.account-table td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}.account-table tr:last-child td{border-bottom:0}.account-table th{color:var(--muted);font-size:.75rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.account-table select{min-width:8rem}.session-time{font-variant-numeric:tabular-nums;font-weight:700}.admin-pager{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.check-row{display:flex;gap:.5rem;align-items:center}.signup-gates{display:grid;gap:.5rem;justify-items:start}.admin-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.35rem .75rem;margin:0;padding:.15rem 0 0;border:0}.feature-grid legend{grid-column:1 / -1;padding:0;font-weight:650}
