@font-face{font-family:Cascadia Code;src:url(/eedd_visualizador/fonts/CascadiaCode.woff2) format("woff2");font-weight:200 700;font-display:swap}:root{color-scheme:light;--window: #f2ecdf;--paper: #fbf7ee;--paper-deep: #f1eadc;--ink: #28231c;--text: #28231c;--muted: #80786d;--line: rgba(91, 78, 60, .16);--border: rgba(91, 78, 60, .16);--editor: #fdfaf3;--shadow: 0 18px 50px rgba(78, 66, 48, .12);--shadow-soft: 0 8px 26px rgba(78, 66, 48, .1);--accent: #9b74b7;--accent-soft: #efe5f6;--cell-color: #9db6dc;--serif: "Iowan Old Style", "Palatino Linotype", "Baskerville", Georgia, serif;--note: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;--sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Cascadia Code", "Consolas", ui-monospace, monospace}*{box-sizing:border-box}html{background:radial-gradient(circle at 8% 6%,rgba(255,255,255,.78),transparent 26rem),linear-gradient(135deg,#f6f0e4,#efe7d8)}html,body,#root{height:100%;margin:0}body{color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.panel{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff9,#fff3),var(--paper);box-shadow:var(--shadow-soft);animation:rise-in .52s ease both}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px dashed rgba(87,78,64,.22);color:#3f345f;font-family:var(--note);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.app-shell{min-height:100%;padding:20px 22px 28px;background:linear-gradient(90deg,rgba(255,255,255,.4),transparent 28%,rgba(255,255,255,.4)),radial-gradient(circle at 50% 0%,var(--accent-soft),transparent 26rem),var(--window)}.topbar{max-width:1880px;margin:0 auto 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.brand h1{margin:0;font-family:var(--serif);font-weight:500;font-size:2.4rem;line-height:.95;color:var(--ink)}.brand p{margin:4px 0 0;font-family:var(--note);color:#66558f;font-size:1rem}.topbar__actions{display:flex;gap:8px}.pill-btn{font-family:var(--note);font-size:.9rem;color:#3f345f;background:#ffffff80;border:1px solid var(--line);border-radius:8px;padding:8px 16px;cursor:pointer;transition:all .18s ease}.pill-btn:hover{transform:translateY(-1px);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;color:#3f345f;border:none;border-radius:999px;cursor:pointer;transition:all .16s ease}.icon-btn:hover{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.editor-actions{display:flex;align-items:center;gap:6px}.editor-notice{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.02em;color:var(--accent);white-space:nowrap}.editor-copy-btn{position:absolute;top:6px;right:6px;z-index:4;background:color-mix(in srgb,var(--editor) 80%,transparent);opacity:.55}.editor-panel__body:hover .editor-copy-btn,.editor-copy-btn:focus-visible{opacity:1}.editor-panel__body--dragover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft) inset}.editor-drop-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:var(--sans);font-size:.85rem;font-weight:650;color:var(--accent);background:color-mix(in srgb,var(--editor) 72%,transparent);z-index:5}.app-grid{display:grid;grid-template-columns:minmax(560px,1fr) minmax(320px,400px);align-items:start;gap:20px;max-width:1880px;margin:0 auto}.workbench-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:18px;align-items:start}.editor-panel{display:flex;flex-direction:column;min-height:max(480px,56vh);padding:16px 16px 18px;overflow:hidden}.editor-panel__body{flex:1;min-height:0;position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden}.switcher{max-width:1880px;margin:0 auto 18px;padding:18px 20px;display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:20px;align-items:center}.switcher__eyebrow{font-family:var(--note);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:#66558f}.switcher__title{margin:2px 0 4px;font-family:var(--serif);font-weight:500;font-size:1.9rem;line-height:1;color:var(--ink)}.switcher__sub{margin:0;color:var(--muted);font-size:.9rem}.switcher__status{margin-top:8px}.switcher__status-chip{font-family:var(--note);font-size:.82rem;color:#3f345f;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:999px;padding:3px 12px}.switcher__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.spec-card{--card-accent: var(--line);display:flex;align-items:center;gap:10px;min-width:120px;text-align:left;background:#ffffff73;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;transition:all .18s ease}.spec-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.spec-card--active{background:var(--accent-soft);border-color:var(--card-accent);box-shadow:var(--shadow-soft)}.spec-card__dot{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:inset -2px -3px #3424502e,inset 2px 2px #fff6}.spec-card__icon{flex:none;display:inline-flex;align-items:center;justify-content:center}.spec-card__text{display:flex;flex-direction:column;min-width:0}.spec-card__name{font-family:var(--serif);font-size:.95rem;color:var(--ink);line-height:1.15}.spec-card__kind{font-family:var(--note);font-size:.7rem;color:var(--muted)}.stage-panel{position:relative;min-height:max(480px,56vh);padding:20px 22px;overflow:hidden}.stage-title{position:relative;z-index:5}.stage-title h2{margin:0;font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.05;color:var(--ink)}.stage-title p{margin:2px 0 0;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:.95rem;min-height:1.2em}.canvas-wrap{position:absolute;inset:84px 16px 16px;z-index:1}.canvas-wrap canvas{display:block;width:100%;height:100%;cursor:grab}.canvas-wrap canvas:active{cursor:grabbing}.stage-toolbar{position:absolute;z-index:6;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(84,74,58,.14);border-radius:10px;background:#fbf7eedb;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stage-toolbar--left{left:22px;bottom:22px}.stage-toolbar--right{right:22px;bottom:22px}.tbtn{display:flex;align-items:center;gap:6px;background:transparent;color:#3f345f;border:none;border-radius:6px;padding:0 10px;height:34px;font-family:var(--note);font-size:.82rem;white-space:nowrap;cursor:pointer;transition:all .16s ease}.tbtn svg{flex:none}.tbtn:hover:not(:disabled){background:#fff9;color:var(--accent)}.tbtn:disabled{opacity:.4;cursor:default}.tbtn--primary{color:var(--accent);font-weight:700}.tbtn-sep{width:1px;height:22px;background:var(--line)}.tb-speed{display:flex;align-items:center;gap:6px;color:var(--muted);padding:0 6px}.tb-speed input[type=range]{width:96px;accent-color:var(--accent)}@media(max-width:1240px){.tbtn span{display:none}.tbtn{padding:0 8px;min-width:34px;justify-content:center}}.stage-scrubber{position:absolute;z-index:5;left:22px;right:22px;bottom:68px;display:flex;flex-direction:column;gap:3px}.stage-scrubber input[type=range]{width:100%;accent-color:var(--accent)}.stage-scrubber__label{font-family:var(--note);font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock{padding:0;overflow:hidden;display:flex;flex-direction:column;position:relative}.dock__resize{height:12px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none;flex:none}.dock__grip{width:44px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--accent) 40%,var(--line))}.dock__resize:hover .dock__grip{background:var(--accent)}.dock__tabs{display:flex;gap:2px;padding:2px 12px 0;border-bottom:1px solid var(--line);flex:none}.dock__tab{background:transparent;color:var(--muted);border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;padding:8px 16px;font-family:var(--note);font-size:.92rem;cursor:pointer;transition:all .16s ease}.dock__tab:hover{color:var(--ink)}.dock__tab--active{color:#3f345f;background:var(--paper);border-color:var(--line)}.dock__body{flex:1;min-height:0;position:relative}.dock-pad{padding:14px 16px}.about__title{margin:0 0 4px;font-family:var(--serif);font-weight:500;font-size:1.3rem;color:var(--ink)}.about__aliases{margin:0 0 10px;font-size:12px;color:var(--muted);font-style:italic}.cm-host{position:absolute;inset:0}.cm-host .cm-editor{height:100%}.cm-host .cm-scroller{overflow:auto}.pseudocode{position:absolute;inset:0;margin:0;padding:8px 0;font-family:var(--mono);font-size:12px;line-height:1.55;overflow:auto}.pseudocode__line{padding:0 14px;white-space:pre;color:var(--ink)}.pseudocode__line--active{background:var(--accent-soft);border-left:3px solid var(--accent);padding-left:11px;font-weight:600}.pseudocode__empty{padding:0 14px;color:var(--muted)}.tutor__section-label{margin:14px 0 6px;font-family:var(--note);font-size:.85rem;letter-spacing:.02em;color:#66558f;text-transform:uppercase}.tutor__ops{margin:0;padding:0;list-style:none;display:grid;gap:8px}.tutor__ops code{display:block;color:var(--accent);font-family:var(--mono);font-size:.82rem}.tutor__ops span{font-size:.86rem;line-height:1.4;color:var(--ink)}.tutor__notes{margin:0;padding-left:18px}.tutor__notes li{font-size:.86rem;line-height:1.45;color:var(--muted);margin-bottom:4px}.tutor__empty{color:var(--muted);font-family:var(--serif);font-style:italic}.inspector{display:grid;gap:16px}.inspector__modebar{display:flex;align-items:center;justify-content:space-between;gap:12px}.inspector__mode-label{font-family:var(--note);font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.inspector__seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper-deep)}.inspector__seg-btn{background:transparent;border:none;padding:5px 12px;font-family:var(--note);font-size:.82rem;color:var(--muted);cursor:pointer;transition:all .14s ease}.inspector__seg-btn:hover{color:var(--ink)}.inspector__seg-btn--active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.inspector__section{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:color-mix(in srgb,var(--paper) 80%,white)}.inspector__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.inspector__section-title{margin:0 0 8px;font-family:var(--note);font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;color:#66558f}.inspector__clear{background:transparent;border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:.76rem;color:var(--muted);cursor:pointer}.inspector__clear:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.inspector__hint{margin:0;font-size:.86rem;line-height:1.45;color:var(--muted);font-style:italic}.inspector__fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 16px}.inspector__field{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted var(--line);padding-bottom:3px}.inspector__field-label{font-size:.82rem;color:var(--muted)}.inspector__field-value{font-family:var(--mono);font-size:.82rem;color:var(--ink);font-weight:600}.inspector__diff-group{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:.86rem;line-height:1.4;color:var(--ink)}.inspector__diff-group+.inspector__diff-group{border-top:1px dotted var(--line)}.inspector__diff-tag{flex:none;font-family:var(--mono);font-size:.74rem;font-weight:700;padding:1px 7px;border-radius:999px;color:#fff}.inspector__diff-group--add .inspector__diff-tag{background:#43a047}.inspector__diff-group--del .inspector__diff-tag{background:#ef5350}.inspector__diff-group--chg .inspector__diff-tag{background:var(--accent)}.inspector__diff-fields{margin:0;padding-left:16px;font-family:var(--mono);font-size:.8rem;color:var(--ink)}.inspector__diff-fields li{margin-bottom:2px}.inspector__invariants{display:grid;gap:7px}.inspector__inv{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;line-height:1.4}.inspector__inv-glyph{flex:none;width:1.1em;text-align:center;font-weight:700}.inspector__inv--ok .inspector__inv-glyph{color:#43a047}.inspector__inv--fail .inspector__inv-glyph{color:#ef5350}.inspector__inv--fail .inspector__inv-text{color:#c0392b}.inspector__inv--note{color:var(--muted);font-style:italic}.inspector__inv--note .inspector__inv-glyph{color:var(--accent);font-style:normal}.inspector__inv-detail{color:var(--muted);font-family:var(--mono);font-size:.78rem}.inspector__cost-summary{margin-top:10px;padding-top:8px;border-top:1px dotted var(--line);display:flex;flex-direction:column;gap:2px}.inspector__cost-label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.inspector__cost-value{font-family:var(--mono);font-size:.9rem;font-weight:600;color:var(--accent)}.inspector__callstack{display:grid;gap:3px;font-family:var(--mono);font-size:.82rem}.inspector__frame-row{display:block;width:100%;text-align:left;padding:4px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font-family:inherit;font-size:inherit;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer}button.inspector__frame-row:hover{background:color-mix(in srgb,var(--accent-soft) 60%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent)}div.inspector__frame-row{cursor:default;color:var(--muted)}.inspector__frame-row--active{background:var(--accent-soft);border-left:3px solid var(--accent);font-weight:700;color:#3f345f}.inspector__frame-row--pinned{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.modal-backdrop{position:fixed;inset:0;background:#30271c47;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:30}.modal{animation:scale-in .22s ease both;background:linear-gradient(180deg,#fff9,#fff3),var(--paper);border:1px solid var(--line);border-radius:10px;width:min(760px,92vw);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px dashed rgba(87,78,64,.22);font-family:var(--note);color:#3f345f;font-size:1.1rem;text-transform:uppercase}.modal__close{background:transparent;color:var(--muted);border:none;cursor:pointer;font-size:16px}.modal__body{overflow:auto;padding:8px 18px 18px}.tut-section{border-bottom:1px dashed rgba(87,78,64,.22);padding:14px 0}.tut-section h3{margin:0 0 4px;font-family:var(--serif);font-weight:500;font-size:1.3rem}.tut-aliases{margin:0 0 8px;font-size:12px;color:var(--muted);font-style:italic}.tut-ops{border-collapse:collapse;width:100%;font-size:13px;margin-bottom:8px}.tut-ops td{padding:3px 8px 3px 0;vertical-align:top}.tut-ops code{color:var(--accent);font-family:var(--mono);white-space:nowrap;font-size:.85rem}.tut-notes{margin:0 0 10px;padding-left:18px;font-size:13px;color:var(--muted)}.tut-example{display:flex;align-items:flex-start;gap:10px}.tut-example pre{flex:1;margin:0;background:var(--editor);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:var(--mono);font-size:12px;overflow-x:auto}.tut-load{flex:none;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:700}@media(max-width:1300px){.workbench-row{grid-template-columns:1fr}.editor-panel{min-height:360px}}@media(max-width:1100px){.app-grid{grid-template-columns:1fr}.switcher{grid-template-columns:1fr;gap:12px}}@media(max-width:700px){.stage-panel,.editor-panel{min-height:50vh}}:root{--window: #eee9df;--paper: #fffdf8;--paper-deep: #f4efe5;--ink: #25221d;--muted: #746e64;--line: rgba(57, 49, 39, .14);--shadow: 0 24px 70px rgba(65, 55, 40, .13);--shadow-soft: 0 8px 28px rgba(65, 55, 40, .08)}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px}.app-shell{padding:16px 20px 36px;background:radial-gradient(circle at 52% -8%,color-mix(in srgb,var(--accent-soft) 70%,white),transparent 34rem),linear-gradient(120deg,rgba(255,255,255,.38),transparent 42%),var(--window)}.topbar{max-width:1600px;margin-bottom:12px;align-items:center}.brand{display:flex;align-items:baseline;gap:14px}.brand h1{font-size:1.65rem;font-weight:600;letter-spacing:-.025em}.brand p{margin:0;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pill-btn{font-family:var(--sans);font-size:.8rem;font-weight:650;border-radius:999px;padding:7px 14px}.panel{border-radius:16px;box-shadow:var(--shadow-soft)}.switcher{max-width:1600px;margin-bottom:14px;padding:11px 12px 11px 18px;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}.switcher__eyebrow,.switcher__sub{display:none}.switcher__head{display:flex;align-items:baseline;gap:10px}.switcher__title{margin:0;font-size:1.18rem;white-space:nowrap}.switcher__status{margin:0}.switcher__status-chip{padding:3px 8px;font-family:var(--sans);font-size:.68rem;font-weight:700}.switcher__cards{gap:6px;padding:1px;width:100%;min-width:0}.spec-card{min-width:110px;gap:8px;padding:8px 10px;border-radius:10px;box-shadow:none}.spec-card:hover{transform:none;box-shadow:none;background:#fff}.spec-card--active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.spec-card__dot{width:9px;height:9px;box-shadow:none}.spec-card__icon svg{width:30px;height:30px}.spec-card__name{font-family:var(--sans);font-size:.76rem;font-weight:650}.spec-card__kind{display:none}.app-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:1600px}.workbench-row{grid-template-columns:minmax(560px,1fr) minmax(330px,390px);gap:16px}.stage-panel,.editor-panel{min-height:max(740px,72vh)}.stage-panel{padding:18px 20px}.stage-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.stage-title__eyebrow{display:block;margin-bottom:3px;color:var(--accent);font-size:.67rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.stage-title h2{font-size:1.4rem}.stage-title p{font-family:var(--sans);font-size:.82rem;font-style:normal}.canvas-wrap{inset:90px 16px 16px}.step-context{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:46%}.step-context__item,.step-context__hint{display:inline-flex;align-items:center;gap:6px;min-height:27px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#ffffffa3;color:var(--muted);font-size:.7rem;font-weight:650}.step-context__hint{font-weight:500}.step-context__swatch{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 8%,transparent)}.editor-panel{padding:16px}.panel-heading{margin-bottom:10px;padding-bottom:10px;font-family:var(--sans);font-size:.7rem;font-weight:750;letter-spacing:.1em;color:var(--accent)}.editor-panel__body{border-radius:10px;background:var(--editor)}.stage-toolbar{border-radius:999px}.stage-toolbar--left{left:50%;transform:translate(-50%)}.stage-toolbar--right{right:18px;top:88px;bottom:auto}.tbtn{border-radius:999px}.tbtn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.tbtn--active,.tbtn--primary:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.tb-font{display:flex;align-items:center;gap:6px;padding:0 5px;color:var(--muted);font-size:.68rem;font-weight:750}.tb-font input[type=range]{width:64px;accent-color:var(--accent)}@media(max-width:1240px){.tbtn--text-only span{display:inline}.tbtn--text-only{width:auto;padding-inline:8px}}.stage-scrubber{left:20px;right:20px}.dock{min-height:320px;background:var(--paper)}.dock__resize{height:10px}.dock__header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:6px 18px 12px;border-bottom:1px solid var(--line)}.dock__identity{display:flex;flex-direction:column;gap:2px}.dock__identity strong{font-family:var(--serif);font-size:1.16rem;font-weight:500}.dock__kicker,.algorithm-view__label{color:var(--accent);font-size:.65rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.dock__tabs{gap:4px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--paper-deep)}.dock__tab{border:0;border-radius:8px;padding:7px 12px;font-family:var(--sans);font-size:.75rem;font-weight:650}.dock__tab--active{border:0;background:#fff;box-shadow:0 2px 8px #41372814;color:var(--ink)}.algorithm-view{position:absolute;inset:0;display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0}.algorithm-view__nav{display:flex;flex-direction:column;gap:5px;padding:16px 12px;overflow-y:auto;border-right:1px solid var(--line);background:color-mix(in srgb,var(--paper-deep) 54%,white)}.algorithm-view__label{margin:0 8px 5px}.procedure-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-family:var(--mono);font-size:.74rem;text-align:left;cursor:pointer}.procedure-btn:hover{background:#ffffffb3;color:var(--ink)}.procedure-btn--active{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:0 3px 10px #4137280f}.procedure-btn--running:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--accent)}.procedure-btn small{margin-left:auto;color:var(--accent);font-family:var(--sans);font-size:.58rem;font-weight:750;text-transform:uppercase}.algorithm-view__tip{margin-top:auto;padding:12px 8px 2px;color:var(--muted);font-size:.68rem;line-height:1.45}.code-sheet{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fffdfa}.code-sheet__bar{display:flex;align-items:center;justify-content:space-between;flex:none;min-height:38px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.72rem}.code-sheet__language{padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:var(--sans);font-size:.62rem;font-weight:800}.pseudocode{position:relative;inset:auto;flex:1;margin:0;padding:10px 0 20px;font-size:12.5px;line-height:1.7;overflow:auto}.pseudocode__line{display:grid;grid-template-columns:46px minmax(max-content,1fr);min-height:22px;padding:0 18px 0 0;white-space:pre}.pseudocode__line--active{padding-left:0;border-left:3px solid var(--accent);background:linear-gradient(90deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 30%,transparent));font-weight:500}.pseudocode__number{padding-right:12px;color:#b0a99f;text-align:right;-webkit-user-select:none;user-select:none}.pseudocode__line--active .pseudocode__number{color:var(--accent);font-weight:700}.pseudocode code{font:inherit}.cpp-token--comment{color:#8b877d;font-style:italic}.cpp-token--keyword{color:#6d54a4}.cpp-token--type{color:#1b7880}.cpp-token--number{color:#a45d34}.cpp-token--string{color:#8b5b2e}.cpp-token--operator{color:var(--accent);font-weight:800}.dock-pad{max-width:920px;padding:24px 28px}.about__title{font-size:1.7rem}.tutor__ops{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tutor__ops li{padding:12px;border:1px solid var(--line);border-radius:10px;background:#ffffffa6}@media(max-width:1150px){.workbench-row{grid-template-columns:1fr}.stage-panel,.editor-panel{min-height:max(660px,68vh)}.editor-panel{min-height:340px}}@media(max-width:820px){.app-shell{padding-inline:10px}.brand p{display:none}.switcher{grid-template-columns:minmax(0,1fr)}.switcher__head{display:none}.dock__header{align-items:stretch;flex-direction:column;gap:10px}.dock__tabs{overflow-x:auto}.dock__tab{flex:1;white-space:nowrap}.algorithm-view{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.algorithm-view__nav{flex-direction:row;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.algorithm-view__label,.algorithm-view__tip{display:none}.procedure-btn{width:auto;white-space:nowrap}.step-context{display:none}}@media(max-width:500px){.brand h1{font-size:1.42rem}.stage-toolbar--right{display:none}.tb-speed input[type=range]{width:62px}.stage-toolbar--left{bottom:16px}.stage-scrubber{bottom:61px}}.stage-body{position:absolute;inset:90px 16px 16px;display:flex;gap:12px}.canvas-wrap{position:relative;inset:auto;flex:1 1 auto;min-width:0;min-height:0}.inspector-drawer{flex:0 0 340px;display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-soft);overflow:hidden}.inspector-drawer--collapsed{flex-basis:36px}.inspector-drawer__head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}.inspector-drawer__kicker{font-family:var(--note);font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}.inspector-drawer__toggle{background:transparent;border:1px solid var(--line);border-radius:6px;width:24px;height:24px;line-height:1;color:var(--muted);cursor:pointer}.inspector-drawer__toggle:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.inspector-drawer__body{flex:1;min-height:0;overflow-y:auto;padding:12px 12px 18px}.inspector-drawer__pill{flex:1;writing-mode:vertical-rl;background:transparent;border:none;cursor:pointer;color:var(--muted);font-family:var(--note);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 0}.inspector-drawer__pill:hover{color:var(--accent);background:var(--accent-soft)}.stage-panel{--drawer-w: 352px}.stage-panel--inspector-collapsed{--drawer-w: 48px}.stage-toolbar--right{right:calc(18px + var(--drawer-w))}.stage-scrubber{right:calc(20px + var(--drawer-w))}.stage-toolbar--left{left:calc((100% - var(--drawer-w)) / 2)}.inspector-drawer .inspector__modebar{flex-wrap:wrap;row-gap:8px}.inspector-drawer .inspector__mode-label{display:none}@media(max-width:700px){.inspector-drawer{position:absolute;top:0;right:0;bottom:0;width:min(320px,85%);z-index:7;box-shadow:var(--shadow)}.inspector-drawer--collapsed{width:36px}.stage-panel,.stage-panel--inspector-collapsed{--drawer-w: 44px}}.node-tooltip{position:absolute;transform:translate(-50%,calc(-100% - 10px));pointer-events:none;z-index:8;background:color-mix(in srgb,var(--paper) 92%,white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);padding:6px 10px;max-width:260px;white-space:nowrap}.node-tooltip__value{font-family:var(--mono);font-size:.86rem;font-weight:700;color:var(--ink)}.node-tooltip__line{font-family:var(--mono);font-size:.74rem;color:var(--muted)}.op-outcome{display:inline-block;margin-left:12px;vertical-align:3px;padding:1px 10px;font-family:var(--sans);font-style:normal;border-radius:999px;font-size:.82rem;font-weight:600;border:1px solid currentColor}.op-outcome--ok{color:#2e7d32;background:#e8f3e6}.op-outcome--none{color:#b3261e;background:#fbe7e5}
