:root{color-scheme:light;--paper:#f3efe6;--ink:#1e1a16;--muted:#5e564c;--line:#d9d1c3;--panel:#fffcf7;--accent:#245c45;--accent-soft:#e4f0ea;--remove:#8a3d2f;--add:#1d5c38;--shadow:0 1px 0 rgba(30,26,22,0.04);font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--paper);color:var(--ink)}a,button{font:inherit;color:inherit}button{background:transparent;border:1px solid transparent;border-radius:999px;padding:.35rem .75rem;cursor:pointer}.languages button.selected,.subjects button.selected,.toggles button.selected,button.selected{background:var(--accent);color:white}.study{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.topbar{display:flex;align-items:stretch;padding:.4rem .9rem;border-bottom:1px solid var(--line);background:var(--panel)}.topbar button{white-space:nowrap}.brand-block{display:flex;flex-direction:column;align-items:stretch;gap:.28rem;width:100%;min-width:0}.brand-row{display:flex;align-items:center;width:100%;gap:.75rem;flex-wrap:wrap}.account-btn,.toggles .account-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border-radius:999px;border:1px solid var(--line);background:white;color:var(--ink);flex-shrink:0}.account-btn svg{width:.95rem;height:.95rem}.account-btn.expanded,.account-btn:hover{border-color:#1b7c98;color:#1b7c98}.account-btn.expanded{background:#e7f6fb}.progress-section{display:flex;flex-direction:column;gap:.35rem;width:100%;margin-top:.2rem}.metrics-bar{margin-top:.45rem;display:flex;align-items:center}.metrics-tab-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--line);background:white;color:var(--ink);font-size:.84rem;font-weight:500;cursor:pointer;transition:all .15s ease}.metrics-tab-btn.expanded,.metrics-tab-btn:hover{border-color:#1b7c98;color:#1b7c98}.metrics-tab-btn.expanded{background:#e7f6fb;font-weight:600}.metrics-tab-percent{font-weight:700;color:#15803d;background:#dcfce7;padding:.05rem .45rem;border-radius:999px;font-size:.76rem}.metrics-strength-preview{font-size:.78rem;color:var(--muted)}.metrics-chevron{font-size:.8rem;color:var(--muted)}.metrics-drawer{margin-top:.65rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 4px 14px rgba(30,26,22,.08);display:flex;flex-direction:column;gap:.75rem;max-height:26rem;overflow-y:auto}.metrics-drawer-header{display:flex;align-items:flex-start;gap:.8rem}.metrics-summary-wrap{flex:1 1;display:flex;flex-direction:column;gap:.4rem}.metrics-summary-stats{display:flex;flex-wrap:wrap;gap:.35rem .8rem;font-size:.8rem;color:var(--muted);align-items:center}.metrics-close-btn{padding:.2rem .45rem;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;font-size:.9rem;cursor:pointer;line-height:1}.metrics-close-btn:hover{color:var(--ink);background:#ede8df}.metrics-scope-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;padding:.45rem 0;border-top:1px solid var(--line);font-size:.82rem}.metrics-bar-label{font-weight:600;color:var(--muted);font-size:.8rem}.metrics-scope-tabs{display:flex;gap:.35rem}.metrics-scope-tabs button{font-size:.8rem;padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;background:white;color:var(--ink);cursor:pointer;transition:all .15s ease}.metrics-scope-tabs button:hover{border-color:#1b7c98}.metrics-scope-tabs button.selected{background:#1b7c98;color:white;border-color:#1b7c98;font-weight:600}.scope-active-indicator{font-size:.78rem;color:var(--muted);display:inline-flex;align-items:center;gap:.35rem;margin-left:auto}.scope-active-indicator strong{color:var(--ink)}.scope-clear-btn{font-size:.72rem;padding:.1rem .4rem;border:1px solid var(--line);border-radius:4px;background:white;color:#dc2626;cursor:pointer}.scope-clear-btn:hover{background:#fef2f2;border-color:#dc2626}.metrics-filter-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;padding-top:.35rem;border-top:1px solid var(--line)}.metrics-category-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.metrics-category-tabs button{font-size:.8rem;padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;background:white;color:var(--ink);cursor:pointer}.metrics-category-tabs button.selected{background:var(--accent);color:white;border-color:var(--accent)}.metrics-filter-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.metrics-sort-wrap{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted);font-weight:500}.metrics-sort-select{padding:.3rem .5rem;background:white;color:var(--ink);cursor:pointer}.metrics-search-input,.metrics-sort-select{border:1px solid var(--line);border-radius:8px;font-size:.82rem}.metrics-search-input{padding:.3rem .6rem;min-width:160px}.metrics-empty-message{grid-column:1/-1;text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.88rem}.metrics-concept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.6rem;gap:.6rem;margin-top:.2rem}.concept-card{display:flex;flex-direction:column;gap:.45rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:#fffcf7;text-align:left;cursor:pointer;transition:all .15s ease}.concept-card:hover{border-color:#1b7c98;box-shadow:0 2px 6px rgba(27,124,152,.12);transform:translateY(-1px)}.concept-card-top{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.concept-title{font-weight:600;font-size:.9rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.concept-category-badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;padding:.08rem .35rem;border-radius:4px;font-weight:600;flex-shrink:0}.concept-category-badge.structure{background:#f3e9fb;color:#6d4a93}.concept-category-badge.algorithm{background:#e7f6fb;color:#1b7c98}.concept-category-badge.system-design{background:#fef3c7;color:#92400e}.concept-category-badge.java{background:#fef2f2;color:#b91c1c}.concept-category-badge.spring{background:#f0fdf4;color:#15803d}.concept-card-body{justify-content:space-between;font-size:.78rem}.concept-card-body,.concept-stat{display:flex;align-items:center;gap:.4rem}.code-badge{font-size:.72rem;font-weight:600;padding:.08rem .35rem;border-radius:4px}.code-badge.completed{background:#dcfce7;color:#15803d}.code-badge.pending{background:#f5f0e6;color:var(--muted)}.examples-badge{color:var(--muted)}.strength-badge{font-size:.76rem;font-weight:700;padding:.12rem .45rem;border-radius:999px;white-space:nowrap}.strength-badge.zero{background:#f5f0e6;color:var(--muted)}.strength-badge.low{background:#e7f6fb;color:#1b7c98}.strength-badge.mid{background:#dcfce7;color:#15803d}.strength-badge.high{background:#fef3c7;color:#b45309}.progress-bar-wrap{width:100%;height:6px;background:#e5e0d6;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#1b7c98,#16a34a);border-radius:999px;transition:width .3s ease}.progress-stats{display:flex;flex-wrap:wrap;gap:.25rem .65rem;font-size:.78rem;color:var(--muted);align-items:center}.progress-pill{display:inline-flex;align-items:center;gap:.2rem;white-space:nowrap}.progress-pill.overall{color:#15803d;font-weight:600}.progress-pill.strength{color:#1b7c98;font-weight:600;background:#e7f6fb;padding:.05rem .45rem;border-radius:999px}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem .8rem;width:100%}.nav-chevron{display:none}.progress-nav-btn,.settings-nav-btn,.toggles .progress-nav-btn,.toggles .settings-nav-btn{display:inline-flex;align-items:center;gap:.28rem;padding:.16rem .5rem;border-radius:999px;border:1px solid var(--line);background:white;color:var(--ink);font-size:.76rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.progress-nav-btn:hover,.settings-nav-btn:hover,.toggles .progress-nav-btn:hover,.toggles .settings-nav-btn:hover{border-color:#1b7c98;color:#1b7c98}.progress-nav-btn.expanded,.settings-nav-btn.expanded,.toggles .progress-nav-btn.expanded,.toggles .settings-nav-btn.expanded{background:#e7f6fb;border-color:#1b7c98;color:#1b7c98;font-weight:600}.brand{font-family:Georgia,Iowan Old Style,serif;font-size:1.15rem}.languages,.row,.sheet-tabs,.subjects,.toggles{display:flex;gap:.3rem;align-items:center}.subjects button,.toggles button{padding:.16rem .5rem;font-size:.78rem;line-height:1.25}.row{gap:.45rem}.languages,.row{flex-wrap:wrap}.languages button{border:1px solid var(--line);background:white;color:var(--ink);min-height:2.25rem}.toggles{margin-left:auto;justify-content:flex-end;transition:margin .28s ease}.toggles a{text-decoration:none;border-bottom:1px solid var(--accent)}.body{flex:1 1;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr)}.body>*{min-height:0;min-width:0}.pane-resize{position:relative;cursor:col-resize;touch-action:none;background:var(--line)}.pane-resize:focus-visible,.pane-resize:hover{background:var(--accent)}.pane-resize:focus-visible{outline:none}.map{position:relative;min-width:0;min-height:0;overflow:hidden}.flow{position:absolute;inset:0}.panel{background:var(--panel);min-width:0;min-height:0;overflow:auto}.detail-body,.panel header{padding:.85rem 1rem}.panel header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--panel);border-bottom:1px solid var(--line)}.panel.details header{padding:.55rem 1rem .35rem}.panel.details header p{margin:.12rem 0 0;line-height:1.25}.detail-body h3,.panel h2{font-family:Georgia,Iowan Old Style,serif;font-weight:500;margin:0}.empty,.panel header p,.summary{color:var(--muted)}.label{color:var(--accent);font-weight:600}.empty{margin:.75rem 0;padding-left:1rem}.detail-body h3{margin:1.1rem 0 .35rem;font-size:1rem}.detail-body p{margin:.35rem 0;line-height:1.45}.links{list-style:none;margin:0;padding:.4rem 0 2rem}.links li{padding:.55rem 1rem;border-bottom:1px solid var(--line)}.links a{text-decoration:none}.links a:hover{text-decoration:underline}.implementations span,.links span{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem}.costs{display:flex;flex-direction:column;gap:.35rem;margin:.4rem 0 0}.practice-children{margin:.45rem 0 .15rem .75rem}.practice-used{margin:.35rem 0 .15rem}.practice-note{margin-top:.75rem}.note-toggle-btn{display:flex;align-items:center;gap:.45rem;width:100%;padding:.2rem 0;border:0;border-radius:4px;background:transparent;cursor:pointer;text-align:left}.note-toggle-btn:hover .label{text-decoration:underline}.note-toggle-btn .label{color:var(--accent);font-weight:600;font-size:.9rem}.note-toggle-btn .note-dot{color:var(--accent);font-size:.65rem}.note-toggle-btn .note-chevron{color:var(--muted);font-size:.85rem;margin-left:auto}.cost-row{display:flex;align-items:center;gap:.5rem;width:100%}.costs .cost-btn,.costs>.cost-item>button{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;flex:1 1;min-width:0;width:100%;min-height:2.75rem;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);text-align:left;padding:.55rem .7rem}.costs .cost-btn:after,.costs>.cost-item>button:after{content:"▸";color:var(--muted);font-size:.85rem}.costs .cost-btn[aria-expanded=true]:after,.costs>.cost-item>button[aria-expanded=true]:after{content:"▾"}.graph-shape{margin:.55rem 0 .75rem;font-size:.92rem}.graph-shape,.graph-shape label{display:flex;flex-direction:column;gap:.3rem}.graph-shape select{font:inherit;padding:.35rem .5rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}.representation-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.5rem;width:100%}.representation-card-header strong{display:inline!important;margin-top:0;white-space:nowrap}.representation-card-badges{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.representation-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.representation-select-label{display:flex;flex-direction:column;gap:.3rem;flex:1 1;min-width:180px}.representation-badges{gap:.35rem;margin-top:.9rem}.operation-strength-badge,.representation-badges{display:inline-flex;align-items:center;flex-shrink:0}.operation-strength-badge{justify-content:center;font-size:.74rem;font-weight:700;color:#15803d;background:#dcfce7;border:1px solid #86efac;padding:.08rem .45rem;border-radius:999px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:auto;min-width:2rem;box-sizing:border-box}.operation-strength-badge.zero{color:#78716c;background:#f5f5f4;border-color:#d6d3d1}.submit-success-banner{display:flex;align-items:center;gap:.45rem;background:#dcfce7;color:#15803d;border:1px solid #86efac;border-radius:8px;padding:.45rem .75rem;font-size:.85rem;font-weight:600;margin-bottom:.6rem}.submit-success-banner .success-icon{font-size:1rem;line-height:1}.btn-submit-code{margin-left:0;background:var(--accent);color:white;border:1px solid var(--accent);font-size:.78rem;font-weight:600;line-height:1.2;padding:.2rem .65rem;border-radius:999px;cursor:pointer;transition:all .15s ease}.btn-submit-code:hover{background:#1b4b37;border-color:#1b4b37}.costs .cost-btn.selected,.costs>.cost-item>button.selected{background:var(--accent-soft);color:var(--ink);border-color:var(--accent)}.costs .cost{margin-left:auto;padding:.05rem .45rem;border-radius:999px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.cost-metrics{margin-left:auto;display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.cost-metrics .cost{margin-left:0}.cost sub{font-size:.72em}.node-stats-header{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.node-stat-pill{font-size:.78rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;white-space:nowrap}.node-stat-pill.progress{background:#dcfce7;color:#15803d}.node-stat-pill.strength{background:#e7f6fb;color:#1b7c98}.practices{list-style:none;margin:.2rem 0 .8rem;padding:0}.practices li{padding:.4rem 0;border-bottom:1px solid var(--line)}.practices p{margin:.15rem 0 0}.cost-code{margin:.35rem 0 .5rem}.cost-task-summary{margin:0 0 .45rem;color:var(--muted);line-height:1.45}.cost-constant{color:#145c32;background:#d7f2e4}.cost-log{color:#0e5c50;background:#d4f3ec}.cost-linear{color:#7a5b08;background:#f8efc4}.cost-nlogn{color:#8a4b08;background:#fde3c2}.cost-quadratic{color:#8a3d2f;background:#f8d8d1}.cost-cubic{color:#7a2a22;background:#f6cfc8}.cost-exponential{color:#6e1616;background:#f3c6c6}.languages.versions{margin-top:.45rem}.metrics .range{display:block;margin-top:.2rem;color:var(--muted)}.network-region{width:100%;height:100%;box-sizing:border-box;border:1.5px solid #8a8175;border-radius:18px;background:rgba(255,252,247,.72);pointer-events:none}.react-flow__edges{z-index:1}.react-flow__edge{cursor:pointer}.react-flow .react-flow__edge.inactive{pointer-events:visibleStroke;cursor:pointer}.edge-tip{position:fixed;z-index:30;width:320px;padding:.45rem .6rem;background:#fffdf8;border:1px solid #cfc6b8;border-radius:8px;box-shadow:0 8px 24px rgba(30,26,22,.12);pointer-events:none}.edge-tip strong{display:block;font-size:.82rem}.edge-tip p{margin:.2rem 0 0;color:var(--ink);font-size:.8rem;line-height:1.35}.edge-why{margin-top:.45rem;padding-top:.35rem;border-top:1px solid var(--line)}.edge-why p{margin:.28rem 0 0}.react-flow__edgelabel-renderer{z-index:5}.edge-order{pointer-events:none;padding:0 .38rem;border:1px solid #8d8478;border-radius:999px;background:#fffdf8;color:#1e1a16;font-size:11px;line-height:1.45;box-shadow:0 0 0 2px var(--paper)}.edge-order,.network-region span{position:absolute;font-weight:600}.network-region span{top:0;left:16px;transform:translateY(-50%);padding:.08rem .55rem;border:1px solid #3d5c8a;border-radius:999px;background:#e4eef8;color:#1e3a6e;font-family:Georgia,Times New Roman,serif;font-size:.82rem;letter-spacing:.02em}.language-filter{margin-top:.85rem}.property-object{width:100%;box-sizing:border-box;padding:.45rem .55rem .55rem;background:var(--panel);border:1px solid #245c45;border-radius:12px;box-shadow:var(--shadow);cursor:pointer}.algorithm-object.selected,.property-menu-object.selected,.property-object.selected{box-shadow:inset 0 0 0 2px var(--accent),var(--shadow)}.property-object .hint{margin:0 0 .35rem}.property-table{width:100%;border-collapse:collapse;table-layout:fixed}.property-object .property-table:not(.linear-operations-table) th:first-child{width:42%}.property-table.has-formula th:first-child{width:30%}.property-table .formula{width:16%;text-align:left;white-space:nowrap;font-family:Georgia,Times New Roman,serif}.property-table thead button.sort-header{border:0;background:transparent;border-radius:0;min-height:0;padding:0;font-size:.68rem;font-weight:600;color:var(--muted);width:100%;text-align:inherit}.property-table thead th[aria-sort=ascending] button.sort-header,.property-table thead th[aria-sort=descending] button.sort-header{color:var(--accent)}.property-table td,.property-table th{padding:.35rem .3rem;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.property-table td:first-child,.property-table th:first-child{text-align:left;overflow:hidden;padding-right:.75rem}.property-table thead th{font-size:.68rem;font-weight:600;color:var(--muted)}.property-table:not(.linear-operations-table) td .cost{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:7.5rem;text-align:center}.property-table tbody tr{cursor:pointer}.property-table button.case{border:0;background:transparent;border-radius:0;padding:.15rem 0;min-height:0;text-align:left;color:var(--ink);white-space:nowrap}.property-table tr.selected td,.property-table tr.selected th{background:var(--accent-soft)}.property-table tr.selected button.case{font-weight:600}.algorithm-object{width:280px;box-sizing:border-box;padding:.45rem .55rem .55rem;background:var(--panel);border:1px solid #1b7c98;border-radius:12px;box-shadow:var(--shadow);cursor:pointer}.algorithm-list-title{margin:0 0 .15rem;font-weight:650}.algorithm-object .hint{margin:0 0 .35rem}.algorithm-section{margin:.45rem 0 .2rem;color:var(--muted);font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.algorithm-rows{display:flex;flex-direction:column}.algorithm-row-item{position:relative;width:100%}.algorithm-row-handle{position:absolute!important;right:-.55rem!important;top:50%!important;transform:translate(50%,-50%)!important;pointer-events:none!important}.algorithm-rows button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:36px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);text-align:left;padding:.2rem .15rem}.algorithm-catalog{margin:.35rem 0 .85rem;padding-left:1.25rem;list-style:disc}.algorithm-catalog.no-bullets{padding-left:0;list-style:none}.algorithm-catalog li{margin:.35rem 0;line-height:1.45}.detail-body h3.when-to-use-heading{font-size:1.08rem;font-weight:700;color:var(--accent);margin:1rem 0 .35rem}.catalog-item-btn{background:transparent;border:0;padding:0;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;text-align:left}.catalog-item-btn:hover{color:var(--accent);text-decoration:underline}.graph-properties{margin:.35rem 0 .85rem;padding-left:1.25rem;list-style:disc}.graph-properties li{margin:.4rem 0;line-height:1.45}.algorithm-rows button.selected{background:#e7f6fb;font-weight:650}.math-line{font-family:STIX Two Math,Cambria Math,Latin Modern Math,Georgia,Times New Roman,serif;font-size:1.35rem;line-height:2.1;margin:.2rem 0 .45rem}.math-line var{font-family:inherit}.math-line .math-call,.math-line var{font-style:italic}.math-line .eq{font-style:normal}.math-line .math-prose{font-family:Avenir Next,Segoe UI,sans-serif;font-size:.95rem;font-style:normal}.frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 .28em;font-size:.78em;line-height:1.15}.frac .num{border-bottom:1px solid;padding:0 .35em .12em}.frac .den{padding:.12em .35em 0}.math-inline sup,.math-line sup{font-size:.62em}.math-inline{font-family:STIX Two Math,Cambria Math,Latin Modern Math,Georgia,Times New Roman,serif;font-size:1.15rem}.math-inline var{font-style:italic;font-family:inherit}.mark{font-weight:700}.mark.yes{color:#145c32}.mark.no{color:#8a3d2f}.datatypes{list-style:none;margin:.45rem 0 0;padding:0}.datatypes li{padding:.55rem 0;border-bottom:1px solid var(--line)}.datatypes.selectable{display:flex;flex-direction:column;gap:.45rem;margin-top:.75rem}.datatypes.selectable li{min-width:0;max-width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:white;cursor:pointer;overflow-wrap:anywhere}.datatypes .qualified,.datatypes a,.datatypes strong{display:block;max-width:100%;margin-top:.15rem;overflow-wrap:anywhere}.datatypes strong{margin-top:0}.datatypes .qualified{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;color:var(--muted)}.datatypes.selectable li.picked{border-color:var(--accent);background:var(--accent-soft)}.datatypes.selectable li:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.datatypes a{text-decoration:underline;text-underline-offset:.12em}.datatypes a,.datatypes a .qualified{color:var(--accent)}.datatype-jump-section{margin-top:.65rem}.datatype-jump-section h4{margin:0 0 .35rem;font-size:.86rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.datatype-jumps{gap:.35rem;margin-top:.45rem}.datatype-jump,.datatype-jumps{display:flex;flex-direction:column}.datatype-jump{align-items:flex-start;gap:.15rem;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:.45rem .65rem}.datatype-jump span{color:var(--muted);font-size:.85rem;line-height:1.35}.implementations,.metrics{margin:.2rem 0 0;padding-left:1.1rem}.implementations p{margin:.15rem 0 .45rem}.implementations a,.text-link{color:var(--accent)}.text-link{border:0;padding:0;text-decoration:underline;border-radius:0}textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:.6rem;resize:vertical}.code-workspace-main{display:flex;align-items:flex-start;gap:.5rem;width:100%;margin:.85rem 0}.code-window-container{position:relative;flex:1 1;min-width:0;width:auto;margin:0}.code-window-container pre.snippet,.code-window-container textarea.code{margin:0}textarea.code{display:block;border:2px solid var(--line);margin:.85rem 0;padding:.75rem;transition:border-color .15s ease,box-shadow .15s ease}pre,textarea.code{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45}pre.snippet.function-view,textarea.code{width:100%;height:18rem;min-height:10rem;box-sizing:border-box}pre.snippet.function-view.maximized,textarea.code.maximized{height:36rem}pre.snippet.function-view{border:2px solid transparent}textarea.code.editing-saved{border-color:#1b7c98}textarea.code.editing-saved:focus,textarea.code.editing-saved:focus-visible{outline:none;border-color:#1b7c98;box-shadow:0 0 0 1px #1b7c98}pre.snippet{margin:.85rem 0}.code-window-actions{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex-shrink:0;width:2rem}.btn-edit-saved,.btn-window-action{display:inline-flex;align-items:center;gap:0;height:2rem;min-height:2rem;border-radius:6px;border:1px solid var(--line);background:white;color:var(--ink);font-size:.85rem;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.btn-edit-saved,.btn-window-action,.btn-window-action.btn-window-icon{justify-content:center;padding:0;width:2rem}.btn-edit-saved:hover,.btn-window-action:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn-save-custom{background:var(--accent);color:white;border-color:var(--accent)}.btn-reset-custom{color:#8a3d2f;background:transparent;border:1px solid var(--line);font-size:.8rem;padding:.35rem .65rem}.btn-reset-custom:hover{border-color:#8a3d2f;background:#fdf2f0}textarea.code.match-success{border-color:#16a34a}textarea.code.match-success:focus,textarea.code.match-success:focus-visible{outline:none;border-color:#16a34a;box-shadow:0 0 0 1px #16a34a}textarea.code.match-failure{border-color:#dc2626}textarea.code.match-failure:focus,textarea.code.match-failure:focus-visible{outline:none;border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.diff pre,pre.snippet{background:#1e1a16;color:#f6f1e7;padding:.75rem;border-radius:8px;overflow:auto}.diff pre{border:2px solid transparent;transition:border-color .15s ease}.diff.match-success pre{border-color:#16a34a}.diff.match-failure pre{border-color:#dc2626}.diff.match-success>p{color:#16a34a;font-weight:600}.diff.match-failure>p{color:#dc2626;font-weight:600}.diff .add{color:#b7e4c7}.diff .remove{color:#f4b8ae}.diff .same{color:#f6f1e7}.highlighted-editor-wrap{position:relative;display:grid}.highlighted-editor-wrap>pre.code-editor-backdrop,.highlighted-editor-wrap>textarea.highlighted-textarea{grid-area:1/1;margin:0!important;padding:.75rem!important;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;-moz-tab-size:4;tab-size:4;box-sizing:border-box;width:100%}.highlighted-editor-wrap>pre.code-editor-backdrop{pointer-events:none;z-index:1;overflow:hidden;border:2px solid transparent}.highlighted-editor-wrap>textarea.highlighted-textarea{position:relative;z-index:2;background:transparent!important;color:transparent!important;-webkit-text-fill-color:transparent}.highlighted-editor-wrap>textarea.highlighted-textarea::placeholder{color:#8c8276;-webkit-text-fill-color:#8c8276}pre.snippet .tok-comment{color:#8c8276;font-style:italic}pre.snippet .tok-keyword{color:#ff7b72;font-weight:600}pre.snippet .tok-string{color:#a5d6ff}pre.snippet .tok-number{color:#79c0ff}pre.snippet .tok-type{color:#ffa657}pre.snippet .tok-function{color:#d2a8ff}pre.snippet .tok-annotation{color:#e3b341}.code-workspace[data-theme=light] pre.snippet .tok-comment{color:#6e7781;font-style:italic}.code-workspace[data-theme=light] pre.snippet .tok-keyword{color:#cf222e;font-weight:600}.code-workspace[data-theme=light] pre.snippet .tok-string{color:#0a3069}.code-workspace[data-theme=light] pre.snippet .tok-number{color:#0550ae}.code-workspace[data-theme=light] pre.snippet .tok-type{color:#953800}.code-workspace[data-theme=light] pre.snippet .tok-function{color:#8250df}.code-workspace[data-theme=light] pre.snippet .tok-annotation{color:#7d4e00}.code-workspace[data-theme=monokai] pre.snippet .tok-comment{color:#75715e;font-style:italic}.code-workspace[data-theme=monokai] pre.snippet .tok-keyword{color:#f92672;font-weight:600}.code-workspace[data-theme=monokai] pre.snippet .tok-string{color:#e6db74}.code-workspace[data-theme=monokai] pre.snippet .tok-number{color:#ae81ff}.code-workspace[data-theme=monokai] pre.snippet .tok-type{color:#66d9ef}.code-workspace[data-theme=monokai] pre.snippet .tok-function{color:#a6e22e}.code-workspace[data-theme=monokai] pre.snippet .tok-annotation{color:#fd971f}.code-workspace[data-theme=dracula] pre.snippet .tok-comment{color:#6272a4;font-style:italic}.code-workspace[data-theme=dracula] pre.snippet .tok-keyword{color:#ff79c6;font-weight:600}.code-workspace[data-theme=dracula] pre.snippet .tok-string{color:#f1fa8c}.code-workspace[data-theme=dracula] pre.snippet .tok-number{color:#bd93f9}.code-workspace[data-theme=dracula] pre.snippet .tok-type{color:#8be9fd}.code-workspace[data-theme=dracula] pre.snippet .tok-function{color:#50fa7b}.code-workspace[data-theme=dracula] pre.snippet .tok-annotation{color:#ffb86c}.code-workspace[data-theme=solarized] pre.snippet .tok-comment{color:#586e75;font-style:italic}.code-workspace[data-theme=solarized] pre.snippet .tok-keyword{color:#859900;font-weight:600}.code-workspace[data-theme=solarized] pre.snippet .tok-string{color:#2aa198}.code-workspace[data-theme=solarized] pre.snippet .tok-number{color:#d33682}.code-workspace[data-theme=solarized] pre.snippet .tok-type{color:#b58900}.code-workspace[data-theme=solarized] pre.snippet .tok-function{color:#268bd2}.code-workspace[data-theme=solarized] pre.snippet .tok-annotation{color:#cb4b16}.code-workspace[data-theme=dark] .diff pre,.code-workspace[data-theme=dark] pre.snippet,.code-workspace[data-theme=dark] textarea.code{background:#1e1a16;color:#f6f1e7;border-color:#3e3832;caret-color:#22c55e}.code-workspace[data-theme=light] .diff pre,.code-workspace[data-theme=light] pre.snippet,.code-workspace[data-theme=light] textarea.code{background:#ffffff;color:#1e1a16;border-color:#d9d1c3;caret-color:#15803d}.code-workspace[data-theme=monokai] .diff pre,.code-workspace[data-theme=monokai] pre.snippet,.code-workspace[data-theme=monokai] textarea.code{background:#272822;color:#f8f8f2;border-color:#49483e;caret-color:#a6e22e}.code-workspace[data-theme=dracula] .diff pre,.code-workspace[data-theme=dracula] pre.snippet,.code-workspace[data-theme=dracula] textarea.code{background:#282a36;color:#f8f8f2;border-color:#44475a;caret-color:#50fa7b}.code-workspace[data-theme=solarized] .diff pre,.code-workspace[data-theme=solarized] pre.snippet,.code-workspace[data-theme=solarized] textarea.code{background:#002b36;color:#839496;border-color:#073642;caret-color:#2aa198}.code-workspace[data-font-size=small] pre,.code-workspace[data-font-size=small] textarea.code{font-size:.74rem!important}.code-workspace[data-font-size=medium] pre,.code-workspace[data-font-size=medium] textarea.code{font-size:.82rem!important}.code-workspace[data-font-size=large] pre,.code-workspace[data-font-size=large] textarea.code{font-size:.92rem!important}.cross-subject-jump{display:flex;flex-direction:column;gap:.25rem;margin:.65rem 0 .85rem;padding:.55rem .75rem;background:#f7f4ed;border:1px solid var(--line);border-radius:8px}.cross-jump-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.cross-jump-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem 0;border:0;border-radius:0;background:transparent;color:var(--accent);font-size:.88rem;font-weight:600;cursor:pointer;text-align:left}.cross-jump-btn:hover{text-decoration:underline}.btn-format-code{font-size:.78rem;font-weight:600;line-height:1.2;padding:.2rem .65rem}.settings-drawer{margin-top:.65rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 4px 14px rgba(30,26,22,.08);display:flex;flex-direction:column;gap:.85rem;max-height:28rem;overflow-y:auto}.settings-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.settings-drawer-header h3{margin:0;font-size:1.05rem;font-family:Georgia,Iowan Old Style,serif;font-weight:600}.account-profile{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.account-profile-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.account-profile-email{margin:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-profile button{border:1px solid var(--line);background:white;flex-shrink:0}.settings-close-btn{padding:.2rem .45rem;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;font-size:.9rem;cursor:pointer;line-height:1}.settings-close-btn:hover{color:var(--ink);background:#ede8df}.settings-section{display:flex;flex-direction:column;gap:.4rem}.settings-section-title{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.theme-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-gap:.5rem;gap:.5rem}.theme-option-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.45rem;border:1.5px solid var(--line);border-radius:8px;background:white;cursor:pointer;transition:all .15s ease}.theme-option-card.active,.theme-option-card:hover{border-color:var(--accent)}.theme-option-card.active{background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.theme-swatch{width:100%;height:2.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:SFMono-Regular,ui-monospace,monospace;font-size:.72rem;font-weight:600}.theme-name{font-size:.78rem;font-weight:600;color:var(--ink)}.settings-row-controls{display:flex;flex-wrap:wrap;gap:1.25rem}.segmented-group{display:inline-flex;align-items:center;background:#ede8df;border-radius:999px;padding:2px;gap:2px}.segmented-btn{font-size:.78rem;padding:.25rem .65rem;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease;line-height:1.2}.segmented-btn:hover{color:var(--ink)}.segmented-btn.active{background:white;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(30,26,22,.12)}.settings-preview-wrap{display:flex;flex-direction:column;gap:.35rem;padding-top:.35rem;border-top:1px solid var(--line)}.preview-box pre.snippet{height:auto!important;min-height:5rem!important;max-height:9rem;margin:0!important}.topic{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;min-width:0;padding:.45rem .6rem;background:white;border:1px solid #cfc6b8;border-radius:10px;box-shadow:var(--shadow);text-align:center}.topic-title{text-align:center;white-space:nowrap}.topic.exclusive .topic-title,.topic:has(.chevron) .topic-title{padding-inline:1.35rem}.topic.property{border-radius:8px;background:#eef6f1;border-color:#245c45}.topic.structure{border-radius:999px;background:#f3e9fb;border-color:#6d4a93}.topic.algorithm{border-radius:4px;background:#e7f6fb;border-color:#1b7c98}.topic.group{border-radius:14px;background:white;border-style:dashed;border-color:#8a8175}.topic.stage{background:transparent;border:0;box-shadow:none;min-width:0;padding:0;color:var(--muted);font-family:Georgia,Iowan Old Style,serif}.topic.exclusive{background:#fff6e8;border-color:#8a4b08;border-radius:4px;min-width:210px}.fork-mark{position:absolute;right:.4rem;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:#8a4b08;border:1px solid #e2c39a;border-radius:999px;padding:.05rem .35rem}.topic.selected{box-shadow:inset 0 0 0 2px var(--accent)}.react-flow__handle{width:6px;height:6px;background:#8d8478;border:0}.chevron{position:absolute;right:.35rem;left:auto;border:0;padding:0 .2rem;border-radius:4px;color:var(--muted)}.completed-badge{color:#16a34a;font-weight:700;font-size:.85rem}.algo-check{color:#16a34a;gap:.15rem}.algo-check,.algo-strength-badge{font-weight:700;display:inline-flex;align-items:center;margin-right:.35rem}.algo-strength-badge{justify-content:center;font-size:.68rem;border-radius:999px;padding:.02rem .35rem;line-height:1.2}.algo-strength-badge.zero{color:#78716c;background:#f5f5f4;border:1px solid #d6d3d1}.details-back{display:inline-flex;align-items:center;gap:.3rem;margin:0 0 .35rem;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:.82rem;cursor:pointer}.details-back:before{content:"‹"}.details-back:hover{text-decoration:underline}.details-header-top{justify-content:space-between;gap:.75rem}.details-header-top,.details-title-row{display:flex;align-items:center;min-width:0}.details-title-row{gap:.3rem;flex:1 1}.details-header-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0;margin-left:auto}.details-title-row h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-details-code{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;padding:0;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);cursor:pointer;transition:border-color .15s ease,color .15s ease}.btn-details-code:hover{border-color:var(--accent);color:var(--accent)}.btn-node-complete{font-size:.78rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--line);background:white;color:var(--ink);cursor:pointer;white-space:nowrap;transition:all .15s ease}.btn-node-complete:hover{border-color:#16a34a;color:#16a34a}.btn-node-complete.completed{background:#dcfce7;border-color:#16a34a;color:#15803d;font-weight:600}.filters{padding:.7rem 1rem 0}.examples input{width:100%;border:1px solid var(--line);border-radius:8px;padding:.4rem .55rem;background:white}.filters .choices{margin-top:.45rem}.examples .links{padding:.25rem 0 2rem}.catalog-list{list-style:none;margin:0;padding:.25rem 0 1rem}.catalog-list li{border-bottom:1px solid var(--line)}.catalog-list button.topic-row{width:100%;border:0;border-radius:0;text-align:left;padding:.7rem 1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;white-space:normal}.catalog-list button.topic-row.is-current{background:var(--accent-soft)}.catalog-list button.topic-row strong{font-weight:650}.catalog-list button.topic-row span{color:var(--muted);font-size:.88rem;line-height:1.35}.panel-lead{margin:.75rem 1rem .25rem;color:var(--muted);line-height:1.4}.panel-credit{margin:0 1rem 1.25rem;color:var(--muted);font-size:.82rem}.panel-credit a{color:var(--accent)}.examples .links li.problem-item{padding:.65rem .85rem;border-bottom:1px solid var(--line);transition:background-color .15s ease}.examples .links li.problem-item.strength-zero:nth-child(odd){background-color:#ffffff}.examples .links li.problem-item.strength-zero:nth-child(2n){background-color:#f7f3eb}.examples .links li.problem-item.strength-low:nth-child(odd){background-color:#eef7f2}.examples .links li.problem-item.strength-low:nth-child(2n){background-color:#e2f1e8}.examples .links li.problem-item.strength-mid:nth-child(odd){background-color:#d2edd9}.examples .links li.problem-item.strength-mid:nth-child(2n){background-color:#c4e5cd}.examples .links li.problem-item.strength-high:nth-child(odd){background-color:#b0dfbe}.examples .links li.problem-item.strength-high:nth-child(2n){background-color:#a0d6b0}.examples .links li.problem-item:hover{filter:brightness(.985)}.problem-row,.problem-title{display:flex;justify-content:space-between;gap:.5rem;align-items:center;min-width:0}.problem-title{flex:1 1;min-height:2.75rem;border:1px solid var(--line);border-radius:8px;background:white;padding:.45rem .65rem;text-align:left;overflow:hidden}.problem-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-chevron{color:var(--muted);font-size:.85rem;flex-shrink:0}.problem-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.35rem .6rem;margin-top:.35rem}.problem-meta>span{font-size:.8rem;color:var(--muted)}.solve-actions{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0;width:5.3rem}.open-link{flex-shrink:0}.btn-complete{font-size:.85rem;line-height:1;width:1.85rem;height:1.85rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:white;color:var(--muted);cursor:pointer;transition:all .15s ease}.btn-complete:hover{border-color:#16a34a;color:#16a34a}.btn-complete.completed{background:#dcfce7;border-color:#16a34a;color:#15803d;font-weight:700}.solve-count-display{font-size:.82rem;font-weight:600;color:#15803d;min-width:1.1rem;text-align:center;padding:0 .1rem}.btn-decrement:disabled,.solve-count-display.empty{visibility:hidden}.btn-decrement-slot{width:1.85rem;height:1.85rem;flex-shrink:0}.btn-decrement{font-size:.85rem;line-height:1;width:1.85rem;height:1.85rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:white;color:var(--muted);cursor:pointer;transition:all .15s ease}.btn-decrement:hover{color:#dc2626;border-color:#dc2626}.code-workspace .row{justify-content:flex-start;width:100%}.study-mode-slider{display:inline-flex;align-items:center;width:max-content;margin-right:0;background:#ede8df;border-radius:999px;padding:2px;gap:2px}.study-mode-slider .slider-option{font-size:.78rem;padding:.2rem .6rem;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease;line-height:1.2}.study-mode-slider .slider-option:hover{color:var(--ink)}.study-mode-slider .slider-option.active{background:white;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(30,26,22,.12)}.dp-overview{margin-top:.4rem}.dp-bullets{margin:.35rem 0 .85rem;padding-left:1.25rem;list-style:disc}.dp-bullets li{margin:.4rem 0;line-height:1.45}.property-menu-object{width:260px;box-sizing:border-box;padding:.45rem .55rem .55rem;background:var(--panel);border:1px solid #245c45;border-radius:12px;box-shadow:var(--shadow);cursor:pointer}.property-menu-title{margin:0 0 .35rem;font-weight:650;color:var(--ink);font-size:.88rem}.property-menu-rows{display:flex;flex-direction:column}.property-menu-rows button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:36px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);text-align:left;padding:.35rem .4rem;font-size:.84rem;cursor:pointer;transition:background .12s ease}.property-menu-rows button:last-child{border-bottom:0}.property-menu-rows button:hover{background:rgba(36,92,69,.06)}.property-menu-rows button.selected{background:#e7f2ed;font-weight:650;color:#145c32}.property-table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem;padding:0 .15rem}.property-table-title{font-size:.82rem;font-weight:650;color:var(--ink)}.complexity-toggle{display:inline-flex;align-items:center;gap:.2rem;background:var(--paper,#f7f6f2);padding:.15rem;border-radius:999px;border:1px solid var(--line)}.complexity-toggle button{font-size:.72rem;font-weight:600;padding:.18rem .65rem;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease;line-height:1.2}.complexity-toggle button:hover{color:var(--ink)}.complexity-toggle button.selected{background:#245c45;color:white;box-shadow:0 1px 2px rgba(0,0,0,.08)}.property-object .linear-operations-table{width:100%;border-collapse:collapse;table-layout:fixed}.property-object .linear-operations-table td:first-child,.property-object .linear-operations-table th:first-child{width:22%;padding-right:.6rem;text-align:left}.property-object .linear-operations-table td:not(:first-child),.property-object .linear-operations-table th:not(:first-child){width:13%;text-align:center}.property-object .linear-operations-table td{padding:.35rem .25rem;overflow:hidden}.linear-operations-table td .cost{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;min-width:3.8rem;max-width:88%;padding:.12rem .45rem;border-radius:999px;font-size:.76rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linear-operations-table td span.unsupported{color:#a8a29e;font-weight:500;font-size:.8rem}.table-options{display:flex;gap:.45rem;margin:.2rem 0 .6rem}.table-options button{font-size:.82rem;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--line);background:white;color:var(--ink);cursor:pointer;transition:all .15s ease}.table-options button.selected{background:var(--accent);color:white;border-color:var(--accent)}.operation-comparison-details{margin-top:.5rem}.operation-comparison-details .detail-explanation{margin:.5rem 0 .8rem;line-height:1.45;color:var(--ink)}.operation-structure-list{list-style:none;padding:0;margin:.4rem 0 0;display:flex;flex-direction:column;gap:.35rem}.operation-structure-list li{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:white;border:1px solid var(--line);border-radius:6px}.operation-structure-list .struct-name{font-weight:600}.operation-structure-list .unsupported{color:#a8a29e;font-size:.85rem}.steps{margin-top:.55rem;min-width:0}.steps fieldset{border:0;margin:.45rem 0 0;padding:0;min-width:0;width:100%}.steps legend{font-size:.78rem;color:var(--muted)}.step-legend-row{display:flex;align-items:center;gap:.65rem}.step-legend-row span{display:inline;margin:0}.multiple-inputs-toggle,.step-legend-row span{font-size:inherit;color:inherit;line-height:inherit}.multiple-inputs-toggle{display:inline-flex;align-items:center;gap:.35rem;font-weight:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;-webkit-user-select:none;-moz-user-select:none;user-select:none}.multiple-inputs-toggle input[type=checkbox]{cursor:pointer;accent-color:var(--accent);margin:0;transform:translateY(1px)}.sub-choice-group{margin-top:.35rem;padding-left:.5rem;border-left:2px solid var(--accent-soft)!important}.sub-sub-choice-group{margin-top:.35rem;padding-left:.85rem;border-left:2px solid #e2c39a!important}.choices{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.choices button{border:1px solid var(--line);background:white;color:var(--ink);font-size:.85rem;min-height:2.25rem;padding:.35rem .7rem}.choices button.selected{background:var(--accent-soft);color:var(--ink);border-color:var(--accent)}.hint{color:var(--muted);font-size:.8rem;margin:.3rem 0 0}.example-resources-section{margin-top:.85rem;padding-top:.45rem;border-top:1px solid var(--line)}.example-resources-section,.example-resources-section fieldset{min-width:0;max-width:100%;width:100%}.node-resources-section{margin-top:1.1rem;margin-bottom:.5rem;padding-top:.6rem;border-top:1px solid var(--line);min-width:0;max-width:100%}.resource-links-list{list-style:none;padding:0;margin:.45rem 0 .65rem;flex-direction:column;gap:.35rem;width:100%}.resource-link-item,.resource-links-list{display:flex;min-width:0;max-width:100%;box-sizing:border-box}.resource-link-item{align-items:center;gap:.5rem;padding:.4rem .6rem;background:white;border:1px solid var(--line);border-radius:6px;font-size:.85rem}.resource-link-anchor{display:inline-flex;align-items:center;gap:.35rem;flex:1 1;min-width:0;overflow:hidden;text-decoration:none;color:var(--ink)}.resource-link-anchor:hover .resource-link-title{text-decoration:underline;color:var(--accent)}.resource-link-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.resource-link-icon{font-size:.85rem;flex-shrink:0}.resource-tag-pill{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:4px;font-weight:600;white-space:nowrap;flex-shrink:0;max-width:5.5rem;overflow:hidden;text-overflow:ellipsis}.resource-tag-pill.algorithm{background:#e7f6fb;color:#1b7c98}.resource-tag-pill.structure{background:#f3e9fb;color:#6d4a93}.resource-delete-btn{background:transparent;border:0;padding:.1rem .3rem;color:var(--muted);cursor:pointer;font-size:.85rem;line-height:1;border-radius:4px;flex-shrink:0}.resource-delete-btn:hover{color:#dc2626;background:#fee2e2}.resource-hover-dialog{position:fixed;z-index:1000;max-width:320px;min-width:140px;padding:.45rem .65rem;background:#fffdf8;border:1px solid #cfc6b8;border-radius:8px;box-shadow:0 8px 24px rgba(30,26,22,.14);pointer-events:none;font-size:.82rem;line-height:1.4;color:var(--ink)}.resource-hover-dialog.above{transform:translateY(-100%)}.resource-hover-dialog.below{transform:translateY(0)}.resource-dialog-title{font-weight:600;color:var(--ink);word-break:break-word}.resource-dialog-url{margin-top:.2rem;font-size:.74rem;color:var(--muted);word-break:break-all}.resource-add-form{margin-top:.45rem;min-width:0;max-width:100%}.resource-form-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;min-width:0}.resource-tag-select-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted)}.resource-tag-select{font-size:.8rem;padding:.3rem .45rem}.resource-input,.resource-tag-select{border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}.resource-input{font-size:.82rem;padding:.32rem .55rem}.resource-input.title{flex:1 1;min-width:110px}.resource-input.url{flex:1.2 1;min-width:120px}.resource-add-btn{font-size:.8rem;padding:.32rem .65rem;border:1px solid var(--line);border-radius:6px;background:white;color:var(--accent);font-weight:600;cursor:pointer;white-space:nowrap}.resource-add-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.differ{gap:.45rem}.differ,.differ button{display:flex;flex-direction:column}.differ button{align-items:flex-start;gap:.15rem;width:100%;min-height:2.75rem;text-align:left;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:.55rem .7rem}.differ button.in-design{background:var(--accent-soft);color:var(--ink);border-color:var(--accent)}.differ button span{color:var(--muted);font-size:.85rem;line-height:1.35}.panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.choices button:active,.costs .cost-btn:active,.costs>.cost-item>button:active,.datatype-jump:active,.datatypes.selectable li:active,.differ button:active,.problem-title:active{background:var(--accent-soft)}@media (hover:hover) and (pointer:fine){.choices button:hover,.costs .cost-btn:hover,.costs>.cost-item>button:hover,.datatype-jump:hover,.datatypes.selectable li:hover,.differ button:hover,.problem-title:hover{border-color:var(--accent)}}img{max-width:100%;height:auto;margin-top:.8rem;border:1px solid var(--line);border-radius:8px}.app-frame{height:100dvh;display:flex;flex-direction:column}.app-frame .study{height:auto;flex:1 1;min-height:0}.import-banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.55rem .9rem;background:var(--accent-soft);border-bottom:1px solid var(--line)}.import-banner p{margin:0}.import-banner button{border:1px solid var(--accent);background:white;color:var(--accent)}.login{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.login form{width:min(100%,24rem);display:flex;flex-direction:column;gap:.85rem;padding:1.4rem;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.login h1{margin:0;font-family:Georgia,Iowan Old Style,serif;font-size:1.6rem;font-weight:500}.login p{margin:0;color:var(--muted)}.login label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.login input{font:inherit;color:var(--ink);background:white;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem}.login-submit{border:1px solid var(--accent);background:var(--accent);color:white;min-height:2.4rem}.login-submit:disabled{opacity:.7}.login-error{color:var(--remove)}@media (max-width:800px){.brand-row{justify-content:center}.brand{text-align:center}.nav-row{display:grid;grid-template-columns:1.7rem minmax(0,1fr) 1.7rem;grid-column-gap:.35rem;column-gap:.35rem;grid-row-gap:.28rem;row-gap:.28rem;align-items:center;justify-content:stretch}.nav-chevron{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:1px solid var(--line);border-radius:999px;background:white;color:var(--ink);font-size:1.05rem;line-height:1;flex-shrink:0}.nav-chevron[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.nav-chevron-start{grid-column:1;grid-row:1;justify-self:start}.nav-chevron-end{grid-column:3;grid-row:1;justify-self:end}.nav-row .subjects,.nav-row .toggles{display:none;grid-column:2;grid-row:1;flex-wrap:wrap;justify-content:center;margin-left:0;min-width:0}.nav-row.subjects-open .subjects,.nav-row.toggles-open .toggles{display:flex}.nav-row.subjects-open.toggles-open .subjects{grid-row:1}.nav-row.subjects-open.toggles-open .nav-chevron-end,.nav-row.subjects-open.toggles-open .toggles{grid-row:2}.pane-resize{display:none}.body{display:flex;flex-direction:column}.map{order:1;flex:1 1 auto;min-height:42dvh}.panel{order:2;flex:0 1 auto;max-height:46dvh;border:0;border-top:3px solid var(--muted);box-shadow:0 -4px 14px rgba(30,26,22,.12)}.sheet-details .examples,.sheet-examples .details,.sheet-topics .details{display:none}.study.hide-details.hide-examples .map{min-height:0}.study.code-maximized .panel{max-height:76dvh}.study.code-maximized .map{min-height:18dvh}}