:root{--bg: #ffffff;--bg-alt: #f4f5f7;--text: #1a1a1a;--text-muted: #6b7280;--border: #e5e7eb;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--usage-ok: #16a34a;--usage-warn: #eab308;--usage-high: #f97316;--usage-critical: #dc2626;--diff-add: #15803d;--diff-add-bg: rgba(22, 163, 74, .1);--diff-add-word: rgba(22, 163, 74, .28);--diff-del: #b91c1c;--diff-del-bg: rgba(220, 38, 38, .09);--diff-del-word: rgba(220, 38, 38, .24);--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--rm-fill-done: #daf0e2;--rm-fill-learning: #e0e9fc;--rm-fill-pending: #ffedd6;--rm-fill-deleting: #ffd8d8;--rm-canvas: #d5dbe4;--rm-canvas-dot: #c2cad6;--rm-node: #ffffff;--rm-node-border: #98a4b6;--rm-node-shadow: rgba(15, 23, 42, .1);--rm-node-stage: #f2f5f9;--rm-node-stage-border: #7f8fa6;--rm-edge: #7f8b9e;--rm-edge-main: #2563eb;--rm-fill-skipped: #e4e8ee;--rm-skipped-ink: #4b5563;--rm-group: #eaeff6;--rm-group-border: #93a1b6;--rm-link: #7c3aed;--rm-node-sub: #f5f8fc;--rm-node-sub-border: #a6b2c3}[data-theme=dark]{--bg: #111827;--bg-alt: #1f2937;color-scheme:dark;--text: #f3f4f6;--text-muted: #9ca3af;--border: #374151;--primary: #3b82f6;--primary-hover: #2563eb;--danger: #ef4444;--usage-ok: #4ade80;--usage-warn: #facc15;--usage-high: #fb923c;--usage-critical: #ef4444;--diff-add: #4ade80;--diff-add-bg: rgba(74, 222, 128, .12);--diff-add-word: rgba(74, 222, 128, .26);--diff-del: #f87171;--diff-del-bg: rgba(239, 68, 68, .14);--diff-del-word: rgba(239, 68, 68, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--rm-fill-done: #1e3d3a;--rm-fill-learning: #203150;--rm-fill-pending: #43392e;--rm-fill-deleting: #4c2d38;--rm-canvas: #0a0f1c;--rm-canvas-dot: #1b2434;--rm-node: #1f2937;--rm-node-border: #46566b;--rm-node-shadow: rgba(0, 0, 0, .5);--rm-node-stage: #152030;--rm-node-stage-border: #64748b;--rm-edge: #55657c;--rm-edge-main: #60a5fa;--rm-fill-skipped: #181d28;--rm-skipped-ink: #9ca3af;--rm-group: #131c2b;--rm-group-border: #3b4a66;--rm-link: #a78bfa;--rm-node-sub: #1a2334;--rm-node-sub-border: #3c4a61}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);transition:background .2s,color .2s}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;gap:24px;padding:4px 24px;background:var(--bg-alt);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.app-header .brand{position:relative;padding:6px 12px;border-radius:var(--radius);font-size:2rem;font-weight:700;background:linear-gradient(90deg,#0a317f,#0e4a8d 25%,#13a1b8 45%,#17b1bc 60%,#4eaba0,#d19c6c 80%,#fd9b43);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-decoration:none;white-space:nowrap}.app-header .brand:before{content:"";position:absolute;inset:0;border-radius:var(--radius);background:var(--bg);opacity:0;transition:opacity .15s ease;z-index:-1}.app-header .brand:hover:before,.app-header .brand:focus-visible:before{opacity:1}.app-nav{display:flex;gap:8px;flex:1;justify-content:center}.nav-link{color:var(--text-muted);text-decoration:none;padding:6px 12px;border-radius:var(--radius)}.nav-link:hover{background:var(--bg);color:var(--text)}.nav-link--active{color:var(--primary);font-weight:600}.app-header__controls{margin-left:auto;display:flex;align-items:center;gap:8px}.credits-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--bg-alt);color:var(--text);font-size:.85rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap}.credits-chip:hover{border-color:var(--accent, var(--text-muted));color:var(--text);text-decoration:none}.credits-chip svg{flex-shrink:0;color:var(--text-muted)}.credits-chip__value{font-variant-numeric:tabular-nums;min-width:1ch;text-align:center}.credits-balance{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border)}.credits-balance__main{min-width:0}.credits-balance__label{margin:0 0 4px;color:var(--text-muted);font-size:.9rem}.credits-balance__value{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.credits-balance__hint{margin:0;max-width:48ch;color:var(--text-muted);font-size:.85rem}.credits-balance-cell{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.credits-col-amount,.credits-col-balance{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.credits-amount--plus{color:var(--usage-ok);font-weight:600}.credits-amount--minus{color:var(--danger);font-weight:600}.credits-type{display:inline-block;padding:1px 7px;border:1px solid var(--border);border-radius:999px;font-size:.78rem}.credits-type--topup{border-color:var(--usage-ok)}.credits-type--refund{border-color:var(--primary);color:var(--primary)}.credits-type--spend{color:var(--text-muted)}.credits-action-label{display:block}.credits-action-key{display:block;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.credits-price-input{width:90px;text-align:right}.credits-price-field,.credits-param-field{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:3px 0}.credits-param-label{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.credits-default-hint{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.credits-example{font-size:.85rem;white-space:nowrap}.credits-price{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.88rem;white-space:nowrap}.credits-price svg{flex-shrink:0}.credits-price--block{margin:6px 0 0}.credits-price--inline{font-size:.82rem}.credits-price--short{color:var(--danger)}.credits-price__label{font-variant-numeric:tabular-nums}.credits-price__short{font-weight:600}.credits-usage{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.credits-usage__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.credits-usage__head h3{margin:0 0 4px;font-size:1rem}.credits-usage__switch{display:inline-flex;gap:6px}.credits-usage__switch .btn.is-active{border-color:var(--accent);color:var(--accent)}.credits-days-field{display:inline-flex;align-items:center;gap:8px}.credits-days-select{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:.9rem}.credits-unattributed{margin-top:14px;padding-top:10px;border-top:1px dashed var(--border)}.credits-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:1100px;margin:12px auto 0;padding:10px 14px;border:1px solid var(--danger);border-radius:8px;background:var(--bg-alt)}.credits-notice__actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.credits-notice a.btn{text-decoration:none}.dashboard__title{margin:0 0 24px;font-size:1.8rem;line-height:1.3}.dashboard__welcome{padding:24px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);font-size:1.05rem;line-height:1.6}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px}.muted{color:var(--text-muted)}.error-text{color:var(--danger)}.app-footer{padding:16px 24px;text-align:center;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem}.app-footer__build{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;opacity:.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);cursor:pointer;font-size:.9rem;text-decoration:none}.btn:hover{border-color:var(--primary)}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--ghost{background:transparent}.btn--danger{border-color:var(--danger);color:var(--danger)}.btn--success{background:#16a34a;border-color:#16a34a;color:#fff}.btn--success:hover{background:#15803d;border-color:#15803d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--google{width:100%;max-width:520px;background:linear-gradient(to right bottom,#191a1d,#444550,#747689);border-color:transparent;color:#fff}.btn--google:hover{background:linear-gradient(to right bottom,#2f3136,#8a8ca0);border-color:transparent;color:#fff}.login .btn--google{margin-bottom:10px}.btn--vk{width:100%;max-width:520px;background:#07f;border-color:#07f;color:#fff}.btn--vk:hover{background:#0063d6;border-color:#0063d6;color:#fff}.login{max-width:520px}.workspace-anonymous{max-width:520px;display:flex;flex-direction:column;gap:16px}.login .btn--google{display:flex}.login-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-muted);font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-note{color:var(--text-muted);font-size:.9rem}.auth-success{color:#16a34a;font-size:.95rem}.auth-blocked{max-width:520px;padding:18px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--bg-alt);display:flex;flex-direction:column;gap:14px;align-items:flex-start}.auth-blocked p{margin:0;line-height:1.5}.auth-actions{display:flex;gap:10px;margin:16px 0}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:.9rem}.form-hint{color:var(--text-muted);font-size:.78rem;font-weight:400}.form{display:flex;flex-direction:column;gap:14px;max-width:520px}.form label{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:.9rem}.form input,.form select,.form textarea{padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-size:1rem}.required-mark{color:var(--danger);font-weight:600}.form input.input--invalid{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.field-label--invalid{color:var(--danger)}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:90%;max-width:640px;max-height:85vh;overflow:auto;padding:20px}.modal--wide{max-width:1000px}.modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal__title{margin:0}.modal__footer{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.workspace-form{max-width:640px}.workspace-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:0}.workspace-tabs__tab{padding:9px 12px;white-space:nowrap;border:1px solid var(--border);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-alt);color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer}.workspace-tabs__tab:hover{color:var(--text);border-color:var(--primary)}.workspace-tabs__tab--active{background:var(--primary);border-color:var(--primary);color:#fff}.cv-block{display:flex;flex-direction:column;gap:8px;margin:14px 0}.cv-block__label{font-weight:500;font-size:.9rem}.cv-block__saved{display:flex;flex-direction:column;gap:8px}.cv-block__saved select{width:100%}.cv-block__saved .form-hint{display:block;line-height:1.45}.cv-block__saved .form-hint a{color:var(--primary)}.cv-block__textarea{width:100%;min-height:140px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.5;resize:vertical}.cv-block__upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cv-block__file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cv-block__file:disabled+.btn{opacity:.5;pointer-events:none}.cv-file-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0;padding:5px 6px 5px 10px;border:1px solid var(--primary);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-size:.9rem}.cv-file-chip__name{font-weight:500;min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-file-chip__size{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.cv-file-chip__remove{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);font-size:.85rem;line-height:1;cursor:pointer}.cv-file-chip__remove:hover{background:var(--danger-bg, rgba(220, 38, 38, .12));color:var(--danger)}.cv-file-chip__remove:disabled{opacity:.4;cursor:not-allowed}.cv-block__info{margin:0}.cv-preview-frame,.pdf-preview-frame{display:block;width:100%;height:68vh;min-height:420px;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:#fff}.cv-progress{margin-top:4px}.cv-progress__track{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}.cv-progress__fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:999px;transition:width .15s ease-out}.cv-progress__label{display:block;margin-top:4px;font-size:.8rem;color:var(--text-muted)}.cv-progress__timer{margin-left:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.cv-analysis{max-width:960px}.cv-analysis__form{display:flex;flex-direction:column;gap:22px}.cv-analysis__edit-notice{font-size:.85rem;color:var(--text-muted);background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.cv-analysis__scores{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--bg-alt)}.cv-analysis__scores h3{margin-top:0}.cv-analysis__savebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cv-analysis__title{flex:1 1 240px;min-width:200px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-family:inherit}.cv-library-empty{display:flex;flex-direction:column;gap:10px;align-items:flex-start;border:1px dashed var(--border);border-radius:var(--radius);padding:24px}.cv-library{display:flex;flex-direction:column;gap:14px}.cv-library__header{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:8px}.cv-library__header .error-text{margin:0 auto 0 0}.cv-score-chip{background:var(--primary);color:#fff;font-size:.72rem;font-weight:700;line-height:1.5;border-radius:999px;padding:1px 8px;white-space:nowrap}.cv-score-chip--current{background:var(--bg-alt);color:var(--text-muted);border:1px solid var(--border)}.cv-table__title{border:0;background:transparent;padding:0;font:inherit;font-weight:600;color:var(--primary);text-align:left;cursor:pointer}.cv-table__title:hover{text-decoration:underline}.cv-table__headline{display:block;margin-top:2px;font-size:.8rem;color:var(--text-muted)}.cv-table__score-col{width:90px}.cv-table__no-score{color:var(--text-muted)}.cv-table__actions-col{width:360px}.cv-table__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cv-table__actions .btn{padding:4px 8px;font-size:.78rem}@media(max-width:720px){.cv-table__actions-col{width:auto}.cv-table__actions{flex-direction:column;align-items:stretch}.cv-table__actions .btn{width:100%}}.cv-compare{display:flex;flex-direction:column;gap:14px}.cv-compare__scores{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cv-compare__side{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--bg-alt)}.cv-compare__side-title{display:flex;flex-direction:column;gap:2px;font-weight:700}.cv-compare__side-sub{font-weight:400;font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-compare__side .cv-improve__total{padding:0;border:none;background:none}.cv-compare__missing{margin:0;padding:8px 12px;color:var(--text-muted);background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius)}.cv-compare__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:2px;max-height:58vh;overflow-y:auto;padding-right:4px}.cv-compare__block{grid-column:1 / -1;margin-top:12px;padding-bottom:4px;border-bottom:1px solid var(--border);font-weight:700;font-size:.9rem}.cv-compare__block:first-child{margin-top:0}.cv-compare__block-label.is-changed{background:#facc154d;border-radius:3px;padding:0 2px}.cv-compare__cell{padding:3px 8px;border-radius:4px;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.cv-compare__cell.is-removed{color:var(--diff-del);background:var(--diff-del-bg)}.cv-compare__cell.is-added{color:var(--diff-add);background:var(--diff-add-bg)}.cv-compare__cell.is-changed{font-style:normal}.cv-compare__word{background:var(--diff-del-word);border-radius:3px;padding:0 1px}.cv-compare__cell.is-added .cv-compare__word{background:var(--diff-add-word)}@media(max-width:720px){.cv-compare__scores,.cv-compare__grid{column-gap:8px}.cv-compare__cell{font-size:.82rem;padding:3px 6px}}.cv-improve{display:flex;flex-direction:column;gap:14px;max-height:62vh;overflow-y:auto;padding-right:2px}.cv-improve__confirm-text{font-size:1.05rem;margin:0 0 8px}.cv-improve__total{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.cv-improve__total-num{font-size:2.4rem;font-weight:800;line-height:1;color:var(--primary)}.cv-improve__total-caption{display:flex;flex-direction:column}.cv-improve__total-caption small{color:var(--text-muted)}.cv-score-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cv-score-bar{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.cv-score-bar__head{display:flex;justify-content:space-between;gap:10px;font-weight:600;margin-bottom:6px}.cv-score-bar__value{color:var(--text-muted);font-weight:600}.cv-score-bar__track{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}.cv-score-bar__fill{height:100%;border-radius:999px;transition:width .3s ease}.cv-score-bar__fill.is-high{background:var(--primary)}.cv-score-bar__fill.is-mid{background:#f59e0b}.cv-score-bar__fill.is-low{background:var(--danger)}.cv-score-bar__comment{margin:8px 0 0;font-size:.88rem;color:var(--text-muted)}.cv-improve__recs{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border);padding-top:14px}.cv-improve__recs h4{margin:0}.cv-improve__recs>.form-hint{margin:-6px 0 0}.cv-improve-block{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.cv-improve-block__head{display:flex;flex-direction:column;gap:2px}.cv-improve-block__eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.cv-improve-block__label{font-weight:600}.cv-improve-textarea{width:100%;min-height:72px;padding:8px 10px;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);color:var(--text);font:inherit;resize:vertical;box-sizing:border-box}.app-main:has(.cv-layout){max-width:1340px}.cv-layout{display:grid;grid-template-columns:220px 1fr;column-gap:20px;row-gap:14px;align-items:start;margin-top:12px}.cv-sidebar{display:flex;flex-direction:column;gap:4px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:8px;position:sticky;top:16px}.cv-sidebar__item{text-align:left;padding:10px 14px;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text);cursor:pointer;font-size:.92rem}.cv-sidebar__item:hover{background:var(--bg)}.cv-sidebar__item--active,.cv-sidebar__item[aria-pressed=true]{background:var(--primary);color:#fff}.cv-content{min-width:0}.cv-section{padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);display:flex;flex-direction:column;gap:12px}.cv-section h3{margin:0;font-size:1.05rem}.cv-section__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cv-section__grid>.cv-field--full,.cv-section__grid>.stack-ac--full{grid-column:1 / -1}.cv-field{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.cv-field .field-title{font-weight:500;color:var(--text-muted);font-size:.85rem}.cv-field input,.cv-field select,.cv-field textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-family:inherit}.cv-field textarea{resize:vertical;min-height:70px}.cv-check{display:flex;align-items:center;gap:8px;font-size:.9rem;align-self:end;padding-bottom:9px}.cv-desc-block{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;padding:4px 0}.cv-desc-block .field-title{font-weight:500;color:var(--text-muted);font-size:.85rem}.cv-desc-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.cv-desc-row textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.5;resize:vertical;min-height:58px}.cv-desc-row__remove{line-height:1;padding:6px 9px;font-size:.7em}.cv-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--bg-alt);display:flex;flex-direction:column;gap:12px}.cv-card__head{display:flex;align-items:center;justify-content:space-between;font-weight:500}.cv-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.cv-langs{display:flex;flex-direction:column;gap:12px}.cv-lang-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px}.cv-lang-row__remove{line-height:1;font-size:.7em;padding:6px 9px;transform:translateY(10px)}@media(max-width:480px){.cv-lang-row{grid-template-columns:1fr;grid-template-areas:"lang" "level" "remove"}.cv-lang-row .cv-field:nth-child(1){grid-area:lang}.cv-lang-row .cv-field:nth-child(2){grid-area:level}.cv-lang-row__remove{grid-area:remove;justify-self:end;transform:none}}.cv-analysis .cv-block{max-width:640px}.job-url{display:flex;flex-direction:column;gap:6px;margin-top:4px}.job-url__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.job-url__input{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-family:inherit;font-size:.9rem}.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:50%;border:1px solid var(--border);background:var(--bg-alt);color:var(--text-muted);font-size:.75rem;line-height:1;cursor:help;-webkit-user-select:none;user-select:none}.info-tip__text{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;max-width:260px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;padding:8px 10px;font-size:.8rem;font-weight:400;line-height:1.45;color:var(--text);white-space:normal;z-index:20}.info-tip:hover .info-tip__text,.info-tip:focus .info-tip__text{display:block}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row label{display:inline;font-weight:400;font-size:.9rem}.advanced-fields{display:flex;flex-direction:column;gap:14px;margin-top:6px}.count-slider{font-weight:500;font-size:.9rem}.count-slider input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}.stack-ac{display:flex;flex-direction:column;gap:6px;position:relative}.stack-ac__label{font-weight:500;font-size:.9rem}.stack-ac__input-area{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.stack-ac__input-area input{flex:1;min-width:120px;border:none;outline:none;background:transparent;color:var(--text);padding:4px;font-size:.95rem}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--primary);color:#fff;border-radius:999px;padding:3px 8px;font-size:.8rem}.chip__remove{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;line-height:1;padding:0}.stack-ac__loading{color:var(--text-muted);font-size:.8rem;padding-right:4px}.stack-ac__dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;margin:2px 0 0;padding:4px;list-style:none;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:220px;overflow:auto}.stack-ac__dropdown button{width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:var(--text);border-radius:4px;cursor:pointer;font-size:.9rem}.stack-ac__dropdown button:hover{background:var(--bg-alt)}.combo{position:relative;display:flex;flex-direction:column;gap:6px}.combo__label{font-weight:500;font-size:.9rem}.combo__control{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.combo__control:focus-within{border-color:var(--primary)}.combo .combo__control input{flex:1;min-width:0;padding:10px;border:none;outline:none;background:transparent;color:var(--text);font-size:1rem}.combo__toggle{display:flex;align-items:center;justify-content:center;align-self:stretch;width:36px;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.combo__toggle:hover{color:var(--text)}.combo__caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transition:transform .15s ease}.combo__caret.is-open{transform:rotate(180deg)}.combo__hint{margin:0;font-size:.78rem}.combo__list{position:absolute;top:100%;left:0;right:0;z-index:30;margin:4px 0 0;padding:4px;list-style:none;max-height:260px;overflow:auto;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.combo__list--up{top:auto;bottom:100%;margin:0 0 4px}.combo__group{position:sticky;top:0;padding:6px 8px 4px;background:var(--bg);color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.combo__option{padding:8px 10px;border-radius:4px;font-size:.9rem;cursor:pointer}.combo__option--active{background:var(--bg-alt)}.combo__empty{padding:10px;font-size:.85rem}.warning-text{color:#b45309;font-size:.85rem}[data-theme=dark] .warning-text{color:#fbbf24}.banner{padding:10px 14px;margin:0 0 16px;border-radius:8px;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);font-size:.9rem}.banner--time{background:#f0ad4e1f;border-color:#f0ad4e73;color:var(--text)}.preview-list{margin:12px 0 0;padding-left:20px}.preview-list li{margin-bottom:8px}.bank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}@media(max-width:900px){.bank-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.bank-grid{grid-template-columns:1fr}}.bank-tile{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);box-shadow:var(--shadow);min-height:180px}.bank-tile__title{margin:0;font-size:1.05rem;cursor:pointer;color:var(--text)}.bank-tile__title:hover{color:var(--primary)}.bank-tile__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-muted);font-size:.85rem}.bank-tile__date{margin-left:auto}.bank-tile__stack{display:flex;flex-wrap:wrap;gap:6px}.bank-tile__owner{font-size:.78rem}.bank-tile__actions{display:flex;gap:8px;margin-top:auto}.bank-tile__delete{margin-left:auto}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#6b7280;border:1px solid transparent;color:#fff;font-size:.75rem}.badge--level{background:var(--primary);border-color:var(--primary);color:#fff}.badge--type{border-color:transparent;color:#fff}.badge--type-hr_screening{background:#7c3aed}.badge--type-tech_interview{background:#0891b2}.badge--type-cv_analysis{background:#16a34a}.badge--type-quiz{background:#ea580c}.bank-pagination{display:flex;align-items:center;gap:12px;margin-top:24px}.app-main:has(.bank){max-width:1340px}.bank-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start;margin-top:12px}.bank-sidebar{display:flex;flex-direction:column;gap:4px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:8px;position:sticky;top:16px}.bank-sidebar__item{text-align:left;padding:10px 14px;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text);cursor:pointer;font-size:.92rem}.bank-sidebar__item:hover{background:var(--bg)}.bank-sidebar__item--active,.bank-sidebar__item[aria-pressed=true]{background:var(--primary);color:#fff}.bank-content{min-width:0}.bank-content .bank-grid{margin-top:0}.bank-show-more{display:flex;justify-content:center;margin-top:20px}.bank-show-more .btn{min-width:180px}.bank-page-btn{min-width:40px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.bank-pagination{justify-content:center}.results-filter-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 14px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);font-size:.92rem}.results-score{background:var(--primary)}.results-score--low{background:var(--danger)}.results-score--mid{background:#d97706}.results-analyzing{margin:0;font-size:.85rem}.results-go-row{margin-top:12px}.results-report__meta{margin-bottom:14px;font-size:.9rem}.bank-section-title{margin:20px 0 8px;font-size:1.15rem}.bank-admin{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.bank-admin__toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.bank-admin__search{flex:1 1 260px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.bank-admin__sort{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.bank-authors-table{min-width:560px}.bank-author-name{font-weight:600}.bank-author-email{font-size:.78rem;overflow-wrap:anywhere}.bank-authors-row--expanded td{background:var(--bg)}.bank-authors-row--delete-pending td{background:#ff8c0024}.bank-authors-row--deleting td{background:#ff3c3c2e;transition:background .4s ease}.admin-row--delete-pending td,.admin-table .admin-row--delete-pending td{background:#ff8c0024}.admin-row--selected td,.admin-table .admin-row--selected td{background:#ff8c001f}.admin-row--deleting td,.admin-table .admin-row--deleting td{background:#ff3c3c2e;transition:background .4s ease}.bank-authors-row--selected td{background:#ff8c001f}.badge--role{background:var(--primary);border-color:var(--primary);color:#fff}.bank-admin__user-templates{margin-top:20px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.bank-admin__user-templates .bank-grid{margin-top:12px}.interview-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}@media(max-width:720px){.interview-layout{grid-template-columns:1fr}}.interview-sidebar{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:sticky;top:76px}.interview-sidebar__progress{font-size:.9rem;font-weight:600;margin:0 0 12px}.interview-timer{font-size:1.05rem;font-weight:700;margin:0 0 10px;padding:8px 10px;border-radius:8px;background:var(--bg-alt);border:1px solid var(--border);color:var(--primary);font-variant-numeric:tabular-nums}.interview-timer--urgent{color:#d64541;border-color:#d6454180;animation:timer-pulse 1.2s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.55}}.interview-progress-bar{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden;margin-bottom:14px}.interview-progress-bar__fill{height:100%;background:var(--primary);transition:width .2s ease}.question-nav{display:flex;flex-direction:column;gap:4px}.question-nav__item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;text-align:left;font-size:.9rem}.question-nav__item:hover{background:var(--bg)}.question-nav__item--active{background:var(--primary);color:#fff}.question-nav__num{font-weight:700}.question-nav__dot{margin-left:auto;width:12px;height:12px;border-radius:50%;background:var(--bg);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;flex-shrink:0}.question-nav__dot--typing{background:#eab308;border-color:#eab308}.question-nav__dot--saved{width:14px;height:14px;background:#16a34a;border-color:#16a34a}.question-nav__dot--saved:after{content:"✓";color:#fff;font-size:10px;font-weight:700}.interview-main{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:16px;min-height:320px}.interview-question-wrap h3{margin:0 0 12px;line-height:1.4;white-space:pre-wrap}.interview-answer{width:100%;min-height:160px;resize:vertical;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:1rem;font-family:inherit}.interview-answer:disabled{opacity:.7}.interview-answer-block{display:flex;flex-direction:column;gap:6px}.interview-answer-row{display:flex;gap:10px;align-items:flex-start}.interview-answer-row .interview-answer{flex:1}.voice-interim{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-muted);font-size:.9rem;font-style:italic;line-height:1.4;white-space:pre-wrap}.voice-interim--chat{margin-bottom:6px}.voice-interim__dot{flex-shrink:0;color:var(--danger);font-style:normal;font-size:.7rem;line-height:1.6;animation:voice-input-pulse-dot 1s ease-in-out infinite}@keyframes voice-input-pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.voice-input-btn{flex-shrink:0;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.voice-input-btn:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.voice-input-btn:disabled{opacity:.5;cursor:not-allowed}.voice-input-btn--listening{background:var(--danger);border-color:var(--danger);color:#fff;animation:voice-input-pulse 1.2s ease-in-out infinite}@keyframes voice-input-pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}.interview-nav-buttons{display:flex;justify-content:space-between;gap:8px}.interview-finish-row{display:flex;justify-content:flex-end;margin-top:8px}.interview-status{margin-top:16px}.chat{display:flex;flex-direction:column;gap:14px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.chat__header{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.chat__timer{margin:0}.chat__meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0;font-size:.95rem}.chat__meta-question{font-weight:700}.chat__meta-answered{color:var(--text-muted);font-size:.85rem}.chat__messages{display:flex;flex-direction:column;gap:12px;max-height:420px;min-height:240px;overflow-y:auto;padding:4px 2px}.chat__msg{display:flex;flex-direction:column;max-width:78%}.chat__msg--ai{align-self:flex-start;align-items:flex-start}.chat__msg--user{align-self:flex-end;align-items:flex-end}.chat__bubble{padding:10px 14px;border-radius:14px;background:var(--bg);border:1px solid var(--border);line-height:1.45;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.chat__msg--ai .chat__bubble{border-bottom-left-radius:4px}.chat__msg--user .chat__bubble{background:var(--primary);border-color:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat__bubble--typing{color:var(--text-muted);font-style:italic;animation:timer-pulse 1.2s ease-in-out infinite}.chat__who{font-size:.75rem;color:var(--text-muted);margin-top:3px;padding:0 4px}.chat__input-row{display:flex;gap:10px;align-items:flex-end}.chat__input{flex:1;min-height:70px;margin:0}.chat__send{flex-shrink:0;min-height:70px}.chat--report{background:transparent;border:none;padding:0;gap:10px;max-height:360px;overflow-y:auto}.interview-report{display:flex;flex-direction:column;gap:16px}.report-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:8px}.report-card--overall{background:var(--bg);border-color:var(--primary);border-width:2px;margin-bottom:4px}.report-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.report-card__q{margin:0;font-weight:600;line-height:1.4;white-space:pre-wrap}.report-score{padding:3px 10px;border-radius:999px;font-weight:700;font-size:.85rem;background:var(--primary);color:#fff;white-space:nowrap}.report-score--low{background:var(--danger)}.report-score--mid{background:#d97706}.report-block__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;margin:0 0 4px}.report-block__body{margin:0;white-space:pre-wrap;line-height:1.5}.report-a{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.quiz-options{display:flex;flex-direction:column;gap:8px}.quiz-options__hint{margin:0 0 4px;font-size:.85rem;color:var(--text-muted)}.quiz-option{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);cursor:pointer;line-height:1.45}.quiz-option--selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg-alt))}.quiz-option input{margin-top:3px}.quiz-option__letter{font-weight:700;color:var(--text-muted);flex-shrink:0}.quiz-option__text{flex:1}.quiz-summary{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;font-weight:700}.report-card--quiz-correct{border-color:#16a34a}.report-card--quiz-wrong{border-color:var(--danger)}.report-score--quiz-correct{background:#16a34a}.quiz-answers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.quiz-answers__item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);line-height:1.45}.quiz-answers__item--correct{border-color:#16a34a;background:color-mix(in srgb,#16a34a 10%,var(--bg))}.quiz-answers__item--correct-unpicked{border-color:#eab308;border-width:2px;background:color-mix(in srgb,#eab308 26%,var(--bg));font-weight:600}.quiz-answers__item--user-wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--bg))}.quiz-answers__item--user-correct{border-color:#16a34a;background:color-mix(in srgb,#16a34a 14%,var(--bg))}.quiz-answers__mark{margin-left:auto;flex-shrink:0;font-size:.8rem;font-weight:700;color:var(--text-muted)}.settings{display:flex;flex-direction:column;gap:20px;max-width:720px}.settings-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px}.settings-card h2{margin:0;font-size:1.1rem}.settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.settings-row label{font-weight:500;font-size:.9rem}.settings-hint{margin:0;color:var(--text-muted);font-size:.82rem}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.segmented button{padding:7px 16px;border:none;background:var(--bg);color:var(--text);cursor:pointer;font-size:.9rem}.segmented button[aria-pressed=true]{background:var(--primary);color:#fff}.interview-lang-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg)}.interview-lang-toggle__btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:none;background:transparent;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap}.interview-lang-toggle__btn+.interview-lang-toggle__btn{border-left:1px solid var(--border)}.interview-lang-toggle__btn:hover{background:var(--bg-alt)}.interview-lang-toggle__btn--active,.interview-lang-toggle__btn--active:hover{background:var(--primary);color:#fff}.interview-lang-toggle__flag{font-size:1.05rem;line-height:1}.workspace-lang{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.workspace-lang__label{font-size:.9rem;font-weight:600;color:var(--text)}.settings-admin{border-color:var(--danger)}.settings-danger-zone{display:flex;flex-wrap:wrap;gap:10px}.settings-success{color:#16a34a;font-size:.9rem;margin:0}[data-theme=dark] .settings-success{color:#4ade80}.user-menu{position:relative}.user-menu__trigger{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);cursor:pointer;font-size:.9rem;max-width:220px}.user-menu__trigger:hover{border-color:var(--primary)}.user-menu__avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none}.user-menu__avatar--initials{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:.78rem;font-weight:700}.user-menu__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__caret{color:var(--text-muted);font-size:.7rem;transition:transform .15s}.user-menu__caret--open{transform:rotate(180deg)}.user-menu__dropdown{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;padding:6px;display:flex;flex-direction:column;gap:2px;z-index:20}.user-menu__dropdown-head{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin-bottom:4px;border-bottom:1px solid var(--border)}.user-menu__dropdown-name{font-weight:600;font-size:.92rem}.user-menu__dropdown-email{color:var(--text-muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 10px;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text);font-size:.9rem;text-decoration:none;cursor:pointer}.user-menu__item svg{flex-shrink:0}.user-menu__item:hover{background:var(--bg);color:var(--primary)}.user-menu__item:last-child{border-top:1px solid var(--border);border-radius:0;margin-top:4px;color:var(--danger)}.profile{display:flex;flex-direction:column;gap:20px;max-width:1400px}.profile h1{margin:0}.profile-subtitle{margin:-12px 0 0;color:var(--text-muted);font-size:.95rem}.profile-card{max-width:620px;gap:16px}.profile-card__head{display:flex;align-items:center;gap:16px}.profile-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}.profile-avatar--initials{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:1.6rem;font-weight:700}.profile-card__name{margin:0;font-size:1.3rem}.profile-card__rows{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--border)}.profile-card__row{display:flex;justify-content:space-between;gap:16px;padding:10px 2px;border-bottom:1px solid var(--border);font-size:.92rem}.profile-card__row dt{color:var(--text-muted)}.profile-card__row dd{margin:0;text-align:right;word-break:break-word}.profile-card__display{display:flex;flex-direction:column;gap:8px;padding:12px 2px;border-bottom:1px solid var(--border)}.profile-card__display-label{color:var(--text-muted);font-size:.85rem}.profile-card__display-view{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-card__display-value{font-size:.95rem;font-weight:600}.profile-card__display-actions{display:flex;gap:8px;margin-top:4px}.badge--administrative{background:var(--primary);border-color:var(--primary);color:#fff;margin-left:8px;font-size:.68rem;vertical-align:middle}.app-main:has(.administration){max-width:1520px}.app-main:has(.profile){max-width:1400px}.administration{display:flex;flex-direction:column;gap:20px;max-width:1520px}.administration h1{margin:0}.administration__layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.admin-sidebar{display:flex;flex-direction:column;gap:4px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:8px;position:sticky;top:16px}.admin-sidebar__item{text-align:left;padding:10px 14px;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text);cursor:pointer;font-size:.92rem;display:flex;align-items:center;gap:9px}.admin-sidebar__item svg{flex-shrink:0}.admin-sidebar__item:hover{background:var(--bg)}.admin-sidebar__item--active,.admin-sidebar__item[aria-pressed=true]{background:var(--primary);color:#fff}.admin-content{min-width:0}.admin-panel{display:flex;flex-direction:column;gap:16px}.admin-panel__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.admin-panel__head h2,.admin-panel>h2{margin:0 0 2px;font-size:1.15rem}.storage-card__title{margin:0;font-size:1.05rem}.storage-summary{display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--text-muted);font-size:.9rem}.storage-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.storage-bar__used{min-width:0}.storage-bar__used--ok{background:var(--usage-ok)}.storage-bar__used--warn{background:var(--usage-warn)}.storage-bar__used--high{background:var(--usage-high)}.storage-bar__used--critical{background:var(--usage-critical)}.storage-bar__free{background:var(--bg-alt);flex:1}.storage-db-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:0}.admin-table th,.admin-table td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere}.admin-table thead th{background:var(--bg);position:sticky;top:0}.admin-table .admin-check-col{width:38px;text-align:center;padding-right:4px;padding-left:4px}.admin-table .admin-check-col input{margin:0;cursor:pointer}.admin-check-all{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-muted);cursor:pointer}.admin-check-all input{margin:0;cursor:pointer}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--bg)}.admin-sort{border:none;background:transparent;color:var(--text);font-weight:600;cursor:pointer;padding:2px 0;font-size:.88rem}.admin-sort__arrow{color:var(--primary)}.admin-cell-strong{font-weight:600;display:flex;align-items:center;gap:6px}.admin-table--users td.admin-cell-username{white-space:nowrap}.admin-cell-muted{color:var(--text-muted);font-size:.8rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-muted);margin-right:6px;vertical-align:middle}.status-dot--online{background:#16a34a;box-shadow:0 0 0 3px #16a34a33}[data-theme=dark] .status-dot--online{background:#4ade80;box-shadow:0 0 0 3px #4ade8040}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:600}.badge--admin{background:var(--primary);border-color:var(--primary);color:#fff}.badge--active{background:#16a34a;border-color:#16a34a;color:#fff}[data-theme=dark] .badge--active{background:#15803d;border-color:#15803d}.badge--pending{background:#d97706;border-color:#d97706;color:#fff}[data-theme=dark] .badge--pending{background:#f59e0b;border-color:#f59e0b}.badge--blocked,.badge--locked{background:var(--danger);border-color:var(--danger);color:#fff}[data-theme=dark] .badge--locked{background:#b91c1c;border-color:#b91c1c}.badge--group{background:var(--primary);border-color:var(--primary);color:#fff}.badge--system{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500;text-transform:uppercase;letter-spacing:.03em;font-size:.65rem}.admin-badge-list{display:flex;flex-wrap:wrap;gap:4px;max-width:320px}.admin-table--users{width:100%}.admin-table--users th,.admin-table--users td{white-space:normal}.admin-table--users th:nth-child(3),.admin-table--users td:nth-child(3){overflow-wrap:break-word}.admin-table--users th:nth-child(1),.admin-table--users td:nth-child(1),.admin-table--users th:nth-child(4),.admin-table--users td:nth-child(4),.admin-table--users th:nth-child(6),.admin-table--users td:nth-child(6),.admin-table--users th:nth-child(7),.admin-table--users td:nth-child(7),.admin-table--users th:nth-child(8),.admin-table--users td:nth-child(8){white-space:nowrap}.admin-table-wrap--fit{overflow:visible}.admin-table--fit{table-layout:fixed}.admin-table--fit th,.admin-table--fit td{overflow-wrap:anywhere}.form-check-group{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:6px;margin:0}.form-check-group legend{padding:0 6px;font-size:.82rem;font-weight:600;color:var(--text-muted)}.form-check-group .form-check{flex-direction:row;align-items:center;gap:8px;font-size:.9rem}.form-check-group .form-check input{width:auto}.group-member-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.admin-actions{display:flex;flex-wrap:wrap;gap:6px}.btn--sm{padding:4px 9px;font-size:.8rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form label.form-check{flex-direction:row;align-items:center;gap:8px}.form label.form-check input{width:auto}html,body{overflow-x:clip}@media(max-width:900px){.app-main{padding:20px}.bank-tile__actions{flex-wrap:wrap}.app-header{flex-wrap:wrap;gap:8px 16px;padding:4px 12px}.app-nav{order:3;flex-basis:100%;justify-content:center}.app-header__controls{order:2;margin-left:auto}}@media(max-width:700px){.nav-link{padding:6px 10px;font-size:.9rem}.app-main{padding:16px 12px}.modal{width:calc(100% - 32px);max-width:640px;padding:16px}.interview-question-wrap h3,.report-card__q,.report-block__body{overflow-wrap:anywhere}.interview-main{padding:16px}.interview-nav-buttons{flex-wrap:wrap}.chat__input-row{flex-direction:column;align-items:stretch}.chat__send{min-height:44px}.chat__msg{max-width:92%}.user-menu__trigger{max-width:170px}.user-menu__dropdown{min-width:200px}.administration__layout{grid-template-columns:1fr}.admin-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.bank-layout{grid-template-columns:1fr}.bank-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.cv-layout{grid-template-columns:1fr}.cv-sidebar{position:static;flex-direction:row;flex-wrap:wrap;order:1}.cv-library__header{order:2}.cv-content{order:3}.form-row{grid-template-columns:1fr}.profile-card__row{flex-direction:column;gap:2px}.profile-card__row dd{text-align:left}}@media(max-width:400px){.app-nav{flex-wrap:wrap}.nav-link{padding:6px 8px;font-size:.85rem}.brand{font-size:.95rem}}.interview-report-btn{margin-top:10px;display:inline-flex;align-items:center;gap:6px}.chat__report{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:0;border:none;background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer}.chat__report:hover{color:var(--danger);text-decoration:underline}.report-modal__hint{margin:0 0 12px;font-weight:600}.report-modal__question{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);padding:10px 12px;margin-bottom:14px}.report-modal__question p{margin:0;overflow-wrap:anywhere}.report-modal__label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.report-modal__field{display:block;font-weight:600}.report-modal__field textarea{width:100%;margin-top:6px;padding:8px;font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);resize:vertical}.reports-section{display:flex;flex-direction:column;gap:12px}.reports-tabs{display:flex;gap:6px}.reports-tab{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text-muted);font:inherit;font-size:.9rem;cursor:pointer}.reports-tab:hover{color:var(--text);border-color:var(--text-muted)}.reports-tab--active,.reports-tab--active:hover{border-color:var(--primary);background:var(--primary);color:#fff}.reports-col-id{width:56px}.reports-cell-id{font-weight:600;font-variant-numeric:tabular-nums}.admin-table--reports{table-layout:fixed;width:100%}.admin-table--reports .reports-col-check{width:38px}.admin-table--reports .reports-col-id{width:4.5%}.admin-table--reports .reports-col-user{width:13%}.admin-table--reports .reports-col-desc{width:16%}.admin-table--reports .reports-col-template{width:19%}.admin-table--reports .reports-col-created{width:19.5%}.admin-table--reports .reports-col-status{width:13%}.admin-table--reports .reports-col-actions{width:12%}.admin-table--reports .reports-col-nowrap,.admin-table--reports .reports-col-nowrap>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reports-desc{min-width:0}.reports-desc__text{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reports-desc--open .reports-desc__text{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}.reports-desc__toggle{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:0;border:none;background:transparent;color:var(--primary);font-size:.78rem;cursor:pointer}.reports-desc__toggle:hover{text-decoration:underline}.reports-desc__chevron{font-size:.7rem}.reports-desc__question{margin:6px 0 0;font-size:.78rem;font-style:italic;color:var(--text-muted);overflow-wrap:anywhere}.reports-desc__label{display:block;margin-bottom:2px;font-size:.7rem;font-style:normal;text-transform:uppercase;letter-spacing:.04em}.reports-status{padding:3px 9px;font:inherit;font-size:.8rem;font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;cursor:pointer}.reports-status:disabled{opacity:.6;cursor:progress}.reports-status--new{color:var(--text-muted);border-color:var(--border)}.reports-status--accepted,.reports-status--active{color:var(--usage-ok);border-color:var(--usage-ok);background:#16a34a14}.reports-status--rejected{color:var(--danger);border-color:var(--danger);background:#dc262614}.reports-status--fixed{color:var(--primary);border-color:var(--primary);background:#2563eb14}.reports-status--cancelled{color:var(--usage-warn);border-color:var(--usage-warn);background:#eab3081a}.reports-status--static{cursor:default}.reports-option--active{color:var(--usage-ok)}.reports-option--cancelled{color:var(--usage-warn)}[data-theme=dark] .reports-status{background-color:var(--bg-alt)}[data-theme=dark] .reports-status--accepted,[data-theme=dark] .reports-status--active{background-color:#254241}[data-theme=dark] .reports-status--rejected{background-color:#3c2d39}[data-theme=dark] .reports-status--fixed{background-color:#233552}[data-theme=dark] .reports-status--cancelled{background-color:#3e4032}[data-theme=dark] .reports-status option{background-color:var(--bg-alt)}.reports-total{margin:0}.prompts-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.prompts-filter{flex:1 1 260px;min-width:200px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.9rem}.prompts-count{color:var(--text-muted);font-size:.82rem;white-space:nowrap}.prompts-family{padding:0;gap:0}.prompts-family__head{display:flex;align-items:center;gap:10px;width:100%;padding:14px 18px;border:none;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.prompts-family__toggle{color:var(--text-muted);font-size:.8rem;width:12px}.prompts-family__title{font-weight:600;font-size:.98rem}.prompts-family__meta{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.prompts-family__badge{padding:2px 8px;border-radius:999px;background:var(--usage-warn);color:#1f2937;font-size:.72rem;font-weight:600}.prompts-family__body{display:flex;flex-direction:column;gap:16px;padding:4px 18px 18px;border-top:1px solid var(--border)}.prompt-block{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-left:3px solid transparent;border-radius:var(--radius);background:var(--bg)}.prompt-block--overridden{border-left-color:var(--usage-warn)}.prompt-block__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prompt-block__label{font-weight:500;font-size:.88rem}.prompt-block__key{color:var(--text-muted);font-size:.76rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.prompt-block__badge{margin-left:auto;padding:2px 8px;border-radius:999px;background:var(--usage-warn);color:#1f2937;font-size:.72rem;font-weight:600}.prompt-block__vars{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text-muted);font-size:.78rem}.prompt-block__vars code{padding:1px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-alt);color:var(--text);font-size:.76rem}.prompt-block__text{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;resize:vertical}.prompt-block__text:focus{outline:2px solid var(--primary);outline-offset:1px}.prompt-block__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prompt-block__actions{display:flex;gap:8px;flex-wrap:wrap}.prompt-block__notes{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.8rem}.prompt-block__ok{color:var(--usage-ok)}.cap-matrix{display:flex;flex-direction:column;gap:14px;margin-top:4px}.cap-group{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px 12px;background:var(--bg)}.cap-group__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.cap-group__title{font-weight:600;font-size:.88rem}.cap-row{display:flex;align-items:flex-start;gap:10px;padding:6px 4px;border-radius:6px;cursor:pointer}.cap-row:hover{background:var(--bg-alt)}.cap-row input{margin-top:3px;flex:0 0 auto}.cap-row--pinned{cursor:default;opacity:.85}.cap-row__text{display:flex;flex-direction:column;gap:2px;min-width:0}.cap-row__label{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:500}.cap-row__desc{color:var(--text-muted);font-size:.78rem;line-height:1.35}.cap-row__pin{padding:1px 7px;border-radius:999px;background:var(--usage-warn);color:#1f2937;font-size:.68rem;font-weight:600}.app-main:has(.progress){max-width:1400px}.progress{display:flex;flex-direction:column;gap:20px;max-width:1400px}.progress h1{margin:0}.progress-subtitle{margin:-12px 0 0;color:var(--text-muted);font-size:.95rem}@media(min-width:701px){.progress-layout{column-gap:20px;row-gap:0;padding-bottom:16px}.progress-layout .admin-content,.progress-layout .admin-content>.admin-panel{display:contents}.progress-layout .admin-panel__head{grid-column:1 / -1;grid-row:2;justify-content:flex-end;margin:0 0 16px;min-height:2.125rem}.progress-layout .progress-note{grid-column:1 / -1;grid-row:2;justify-self:start;align-self:center;margin:0;max-width:calc(100% - 12rem)}.progress-layout .admin-sidebar{grid-column:1;grid-row:3}.progress-layout .admin-table-wrap,.progress-layout .admin-panel>h3{grid-column:2;grid-row:3;min-width:0}.progress-layout .admin-panel>p.muted{grid-column:2;grid-row:4}.progress-layout .admin-panel>.bank-show-more{grid-column:2;grid-row:4;margin-top:36px}.progress-layout .admin-panel>.bank-pagination{grid-column:2;grid-row:5;margin-top:40px}}.progress-goal{justify-content:space-between;gap:10px}.progress-goal__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-goal__meta{flex-shrink:0;font-size:.75rem;opacity:.8}.progress-goal--delete-pending{background:#ff8c0024!important}.progress-goal--deleting{background:#ff3c3c2e!important;transition:background .4s ease}.progress-section{margin-bottom:16px}.progress-goal-row__top{display:flex;align-items:center;gap:10px}.progress-goals-table__goal{min-width:240px}.progress-goals-table__goal .progress-goal-row__desc{margin:6px 0 0}.progress-goals-table__goal .progress-goal-row__meta{margin:2px 0 0}.progress-goals-table__goal .progress-goal-row__bar{margin-top:6px}.progress-goals-table__level,.progress-goals-table__status{width:96px}.progress-goals-table__updated{width:132px;white-space:nowrap}.progress-goals-table__expand>td{padding-top:2px;padding-bottom:14px}.progress-goals-table__expand .progress-goal-row__skills{margin-top:0}.progress-goal-row__name{font-weight:600}.progress-goal-row__chevron{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:.7rem;line-height:1;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:5px;cursor:pointer}.progress-goal-row__chevron:hover{color:var(--text);border-color:var(--primary)}.progress-goal-row__skills{margin-top:8px;padding-top:10px;border-top:1px solid var(--border)}.progress-goal-row__toggle{background:none;border:0;padding:0;font:inherit;color:var(--primary);cursor:pointer;text-align:left}.progress-goal-row__toggle:hover .progress-goal-row__name{text-decoration:underline}.progress-goal-row__desc,.progress-goal-row__meta{margin:0;font-size:.85rem}.progress-goal-row__bar{opacity:0;transition:opacity .15s ease}.progress-goal-row:hover .progress-goal-row__bar,.progress-goal-row:focus-within .progress-goal-row__bar,.progress-goal-row.is-open .progress-goal-row__bar,.progress-goal-row.is-expanded .progress-goal-row__bar{opacity:1}@media(prefers-reduced-motion:reduce){.progress-goal-row__bar{transition:none}}.progress-actions{display:flex;gap:8px;flex-wrap:wrap}.progress-summary{margin:0 0 8px;font-weight:600}.progress-table td,.progress-table th{vertical-align:middle}.progress-table__actions{white-space:nowrap;text-align:right}.progress-table__actions>*+*{margin-left:6px}.btn--tiny{padding:3px 9px;font-size:.78rem;border-radius:6px;line-height:1.4}.progress-skill__name{font-weight:600}.progress-skill__category{font-size:.8rem}.progress-skill__cell{white-space:nowrap}.progress-tracked{display:flex;align-items:center;gap:6px;min-width:0}.progress-tracked--open{align-items:flex-start}.progress-tracked__text{flex:1 1 auto;min-width:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:.85rem;color:var(--text-muted)}.progress-tracked--open .progress-tracked__text{display:block;-webkit-line-clamp:unset;overflow:visible;text-overflow:clip}.progress-tracked__toggle{flex:0 0 auto;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;line-height:1;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:5px;cursor:pointer}.progress-tracked__toggle:hover{color:var(--text);border-color:var(--primary)}.progress-table__th-nowrap,.progress-table__last,.cell-date,.admin-table td.cell-date,.admin-table th.cell-date{white-space:nowrap}.cell-date__line{display:block;white-space:nowrap}.progress-table td.progress-table__interviews{text-align:center}.progress-ladder{display:inline-flex;gap:3px;vertical-align:middle;margin-right:8px}.progress-ladder__rung{width:14px;height:9px;border-radius:2px;background:var(--bg);border:1px solid var(--border)}.progress-ladder__rung.is-on{background:var(--primary);border-color:var(--primary)}.progress-ladder__rung.is-target{border:1px dashed var(--text-muted)}.progress-ladder__rung.is-on.is-target{border:1px dashed var(--text)}.progress-level-badge{font-size:.78rem;color:var(--text-muted)}.progress-level-badge--at{color:var(--diff-add);font-weight:600}.progress-level-badge--attempted{font-weight:600}.progress-runs-row td{background:var(--bg);padding:0}.progress-runs{width:100%;border-collapse:collapse;font-size:.82rem}.progress-runs th,.progress-runs td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border)}.progress-runs th{color:var(--text-muted);font-weight:600}.progress-result{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.75rem;border:1px solid transparent}.progress-result--pass{background:var(--diff-add-bg);border-color:var(--diff-add);color:var(--diff-add)}.progress-result--fail{background:var(--diff-del-bg);border-color:var(--diff-del);color:var(--diff-del)}.progress-empty{align-items:flex-start;max-width:720px}.progress-empty h2{margin:0;font-size:1.1rem}.progress-empty__library{font-size:.85rem}.progress-create{display:flex;flex-direction:column;gap:14px}.progress-create__intro{margin:0}.progress-create__types{border:1px solid var(--border);border-radius:10px;padding:10px 12px 12px;margin:0}.progress-create__types legend{padding:0 6px;font-size:.9rem;color:var(--text-muted)}.progress-create__type-row{display:flex;flex-wrap:wrap;gap:8px}.progress-create__type{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:.9rem}.progress-create__type input{width:auto;margin:0}.progress-create__type--on{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.progress-create__grid,.progress-create__stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.progress-create__grid label,.progress-create__stack>div{display:flex;flex-direction:column;gap:5px;min-width:0}.progress-create__tag-add{display:flex;gap:8px}.progress-create__tag-add input{flex:1;min-width:0}.progress-create__tags{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.progress-create__flags{display:flex;flex-wrap:wrap;gap:8px 18px}.progress-create__privacy,.progress-create__busy{margin:0}.progress-create__busy{color:var(--primary);font-size:.9rem}.progress-create__progress{margin-top:2px}.progress-create__progress .interview-progress-bar{margin-bottom:6px}.progress-create__label{display:block;font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}@media(max-width:720px){.progress-create__grid,.progress-create__stack{grid-template-columns:1fr}}.progress-skills-editor{display:flex;flex-direction:column;gap:8px}.field-label{font-size:.9rem;color:var(--text-muted)}.progress-skills-editor__add{display:flex;gap:8px}.progress-skills-editor__add input{flex:1;min-width:0}.progress-skills-editor__empty{margin:0;font-size:.85rem}.progress-skills-editor__suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem}.progress-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.progress-attach{display:flex;flex-direction:column;gap:16px}.progress-attach__block{display:flex;flex-direction:column;gap:8px}.progress-attach__block h4{margin:0;font-size:.95rem}.progress-attach__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-attach__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.progress-attach__list li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.progress-attach__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-attach__meta{font-size:.8rem;white-space:nowrap}.progress-attach__manual{display:flex;gap:8px}.progress-attach__manual select{flex:1;min-width:0}.progress-attach__note{margin:0;color:var(--diff-add);font-size:.85rem}.progress-attach__hint{margin:0;font-size:.8rem}@media(max-width:720px){.progress-table__actions{white-space:normal}.progress-table__actions>*+*{margin-left:0}.progress-table__actions .btn--tiny{margin:0 4px 4px 0}}.progress-skill-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.progress-skill-row{display:flex;align-items:center;gap:10px;padding:7px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.progress-skill-row__name{flex-shrink:0;font-weight:600}.progress-skill-row__links{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem}.progress-skill-row__link{display:inline-flex;align-items:center;gap:5px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-play{display:flex;align-items:center;justify-content:center;gap:4px;width:90px;margin:0 auto}.progress-play__start{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:#16a34a;font-size:.8rem;line-height:1;cursor:pointer}.progress-play__start:hover{background:color-mix(in srgb,#16a34a 14%,transparent)}.progress-play__start:focus-visible{outline:2px solid #16a34a;outline-offset:2px}.progress-play__start:disabled{cursor:progress;opacity:.55}.progress-play__detach{flex:none;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);font-size:.85rem;line-height:1;cursor:pointer}.progress-play__detach:hover{background:var(--danger-bg, rgba(220, 38, 38, .12));color:var(--danger)}.progress-play__detach:disabled{opacity:.4;cursor:progress}.progress-hover{display:inline-flex;align-items:center}.progress-hover__bubble{position:fixed;z-index:70;transform:translate(-50%,-100%);margin-top:-9px;width:max-content;max-width:320px;padding:5px 9px;background:var(--bg);color:var(--text);border:1px solid #16a34a;border-radius:var(--radius);box-shadow:0 6px 18px #0000002e;font-size:.8rem;line-height:1.4;text-align:left;pointer-events:none}.progress-hover__bubble:after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;margin-left:-4px;transform:rotate(45deg);background:var(--bg);border-right:1px solid #16a34a;border-bottom:1px solid #16a34a}.progress-note{margin:0 0 8px;color:var(--diff-add);font-size:.85rem}.progress-attached__item--new{border-radius:6px;box-shadow:0 0 0 2px var(--primary);animation:progress-new-pulse 1.6s ease-in-out 2}@keyframes progress-new-pulse{0%,to{box-shadow:0 0 0 2px var(--primary)}50%{box-shadow:0 0 0 4px var(--primary)}}.progress-bubble{position:fixed;z-index:60;transform:translateY(-100%);width:300px;padding:8px 26px 8px 10px;background:var(--bg);color:var(--text);border:1px solid var(--primary);border-radius:var(--radius);box-shadow:0 6px 18px #0000002e;font-size:.82rem;line-height:1.45;text-align:left}.progress-bubble__text{margin:0}.progress-bubble__close{position:absolute;top:2px;right:4px;padding:0 4px;border:none;background:none;color:var(--text-muted);font-size:1rem;line-height:1.1;cursor:pointer}.progress-bubble__close:hover{color:var(--text)}.progress-bubble__arrow{position:absolute;left:var(--bubble-arrow-x, 16px);top:100%;width:10px;height:10px;margin-top:-6px;background:var(--bg);border-right:1px solid var(--primary);border-bottom:1px solid var(--primary);transform:rotate(45deg)}.roadmaps{max-width:1100px;margin:0 auto}.app-main:has(.roadmaps--list){max-width:1520px}.roadmaps--list{max-width:1520px}.rm-subtitle{color:var(--text-muted);margin:-8px 0 16px}.rm-list__header{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:12px}.rm-nav{justify-content:space-between;gap:10px}.rm-nav__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-nav__count{flex-shrink:0;font-size:.75rem;opacity:.8}.rm-notice{margin:0 0 12px;padding:8px 12px;border-left:3px solid var(--primary);background:var(--bg-alt);border-radius:var(--radius);font-size:.85rem}.rm-empty{padding:24px;border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.rm-table__title-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rm-table__title{border:0;background:transparent;padding:0;font:inherit;font-weight:600;color:var(--primary);text-align:left;cursor:pointer}.rm-table__title:hover{text-decoration:underline}.rm-table__target{display:block;margin-top:2px;font-size:.8rem;color:var(--text-muted)}.rm-table__progress{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:150px;max-width:420px}.rm-table__bar{display:block;width:100%;margin-bottom:0}.rm-table__percent{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.rm-table__actions-col{width:210px}.rm-table__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rm-table__actions .btn{padding:4px 8px;font-size:.78rem}.rm-badge{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.rm-badge--ai{border-color:var(--primary);color:var(--primary)}.rm-badge--manual{border-color:var(--text-muted)}.rm-editor__bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.rm-dirty,.rm-mode{margin:0}.rm-report{display:inline-flex;align-items:center;gap:6px}.rm-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);margin-bottom:12px}.rm-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.rm-field--wide{grid-column:1 / -1}.rm-field__value{margin:0;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.rm-meta--read .rm-field>span{color:var(--text-muted)}.rm-field input,.rm-field select,.rm-field textarea{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:.9rem}.rm-progress{display:flex;align-items:center;gap:10px;margin-bottom:12px}.rm-progress .interview-progress-bar{flex:1}.rm-progress__label{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.rm-gen{margin-top:10px}.rm-gen__track{display:block;height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}.rm-gen__fill{display:block;position:relative;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-hover));transition:width .25s ease-out;overflow:hidden}.rm-gen__fill:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgb(255 255 255 / .35) 50%,transparent 65%);transform:translate(-100%);animation:rm-gen-shimmer 1.4s linear infinite}@keyframes rm-gen-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.rm-gen__fill:after{animation:none;display:none}}.rm-gen__head{display:flex;align-items:baseline;gap:8px;font-size:.8rem;color:var(--text-muted)}.rm-gen__pct,.rm-gen__timer{font-variant-numeric:tabular-nums}.rm-gen__timer{white-space:nowrap}.rm-gen__phases{margin-top:10px;display:flex;flex-direction:column;gap:6px}.rm-gen__phase{display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--text-muted)}.rm-gen__phase-label{flex:0 0 40%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-gen__track--phase{flex:1 1 auto;height:8px}.rm-gen__phase-pct{flex:0 0 46px;text-align:right;font-variant-numeric:tabular-nums}.rm-gen__phase.is-done .rm-gen__phase-label{color:var(--text)}.rm-gen__phase--compact{gap:8px;opacity:.72}.rm-gen__phase--compact .rm-gen__phase-label{flex:1 1 auto}.rm-gen__phase-check{flex:0 0 auto;color:var(--primary);font-weight:600}.rm-gen__cancelled{color:var(--text);font-weight:500}.rm-gen__summary{margin:12px 0 6px;font-size:.8rem;color:var(--text-muted)}.rm-gen__list{list-style:none;margin:0;padding:0;max-height:230px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.rm-gen__item+.rm-gen__item{border-top:1px solid var(--border)}.rm-gen__row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:0;color:var(--text);font:inherit;font-size:.82rem;text-align:left;cursor:pointer}.rm-gen__row:disabled{cursor:default}.rm-gen__item.is-running .rm-gen__row{background:var(--bg)}.rm-gen__glyph{flex:0 0 14px;text-align:center;color:var(--text-muted)}.rm-gen__item.is-done .rm-gen__glyph{color:var(--primary)}.rm-gen__item.is-running .rm-gen__glyph{color:var(--primary);animation:rm-gen-spin 1.6s linear infinite}@keyframes rm-gen-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rm-gen__item.is-running .rm-gen__glyph{animation:none}}.rm-gen__title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-gen__meta{flex:0 0 auto;color:var(--text-muted);font-size:.76rem;font-variant-numeric:tabular-nums;white-space:nowrap}.rm-gen__hint-mark{color:var(--warning, #d97706);cursor:help}.rm-gen__repeat-mark{color:var(--accent, #2563eb);cursor:help}.rm-gen__chevron{flex:0 0 10px;color:var(--text-muted)}.rm-gen__tools{list-style:none;margin:0;padding:4px 12px 10px 32px;font-size:.78rem;color:var(--text-muted)}.rm-gen__tools li{display:flex;gap:8px;padding:2px 0}.rm-gen__tools-topic{flex:0 0 45%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.rm-gen__tools-list{flex:1 1 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.rm-gen__fallback{margin:8px 0 0;padding:6px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}.rm-mode-switch{display:flex;gap:6px;margin-bottom:4px}.rm-mode-switch__item{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;font-size:.9rem;cursor:pointer}.rm-mode-switch__item.is-active{border-color:var(--primary);background:#2563eb1a;font-weight:600}.rm-outline{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px 12px}.rm-outline__toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.rm-tree{list-style:none;margin:0;padding:0}.rm-row{display:flex;align-items:center;gap:6px;padding:3px 4px 3px 0;border-radius:6px;transition:background .3s ease}.rm-row:hover{background:var(--bg-alt)}.rm-row--section .rm-row__title{font-weight:600}.rm-row--selected{background:#2563eb14}.rm-row--delete-pending{background:#ff8c0029}.rm-row--deleting{background:#ff3c3c33}.rm-row__state{display:flex;gap:1px;flex-shrink:0}.rm-state{width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-muted);font-size:.75rem;line-height:1;cursor:pointer}.rm-state:disabled{cursor:not-allowed}.rm-state.is-active.rm-state--done{border-color:var(--usage-ok);background:#16a34a29;color:var(--usage-ok)}.rm-state.is-active.rm-state--learning{border-color:var(--primary);background:#2563eb24;color:var(--primary)}.rm-state.is-active.rm-state--skipped{border-color:var(--text-muted);background:var(--bg-alt);color:var(--text-muted)}.rm-row__title{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:2px 4px;border:0;background:transparent;color:inherit;font:inherit;font-size:.9rem;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rm-row__badge{flex-shrink:0;font-size:.68rem;padding:1px 5px;border-radius:999px;background:var(--bg-alt);border:1px solid var(--border);color:var(--text-muted)}.rm-row__has-desc{flex-shrink:0;color:var(--primary);font-size:.7rem}.rm-row__title-input{flex:1;min-width:0;padding:2px 6px;border:1px solid var(--primary);border-radius:4px;background:var(--bg);color:var(--text);font:inherit;font-size:.9rem}.rm-row__actions{display:flex;gap:3px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.rm-row:hover .rm-row__actions,.rm-row:focus-within .rm-row__actions{opacity:1}.rm-act{padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-muted);font-size:.72rem;line-height:1.3;cursor:pointer;white-space:nowrap}.rm-act:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.rm-act:disabled{opacity:.4;cursor:not-allowed}.rm-act--danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.rm-details{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.rm-details__title{margin:0 0 8px;font-size:.95rem}.rm-details__field{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.rm-details__description{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:.88rem}.rm-details--read .rm-details__text{margin:0;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;white-space:pre-wrap;overflow-wrap:anywhere}.rm-details__label{font-size:.85rem;color:var(--text-muted)}.rm-details__subtopics{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.rm-details__subtopics ul{margin:0;padding-left:18px;font-size:.88rem}@media(max-width:720px){.rm-table__actions-col{width:auto}.rm-table__actions{flex-direction:column;align-items:stretch}.rm-table__actions .btn{width:100%}.rm-meta{grid-template-columns:minmax(0,1fr)}.rm-row__actions{opacity:1}}.rm-view-switch{display:flex;gap:4px;margin-left:auto}.rm-view-switch__item{padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:.82rem;cursor:pointer}.rm-view-switch__item.is-active{border-color:var(--primary);background:#2563eb1a;font-weight:600}.rm-graph{position:relative;height:520px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--rm-canvas);background-image:radial-gradient(var(--rm-canvas-dot) 1px,transparent 1px);background-size:22px 22px}.rm-graph--panning,.rm-graph--panning .rm-graph__svg{cursor:grabbing}.rm-graph--empty{height:auto;padding:18px;background:var(--bg);background-image:none}.rm-graph__svg{display:block;cursor:grab;-webkit-user-select:none;user-select:none}.rm-graph__controls{position:absolute;top:8px;right:8px;z-index:2;display:flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid var(--rm-node-border);border-radius:6px;background:var(--rm-node);box-shadow:var(--shadow)}.rm-graph__controls .btn{padding:2px 8px;font-size:.8rem}.rm-graph__controls .btn.is-on{border-color:var(--primary);color:var(--primary)}.rm-safe-zone{pointer-events:none}.rm-safe-zone__page{fill:var(--primary);fill-opacity:.025;stroke:var(--primary);stroke-opacity:.28;stroke-width:1;stroke-dasharray:2 4}.rm-safe-zone__page.is-alt{fill-opacity:.06}.rm-safe-zone__page-break{stroke:var(--primary);stroke-opacity:.55;stroke-width:1.5;stroke-dasharray:8 6}.rm-safe-zone__page-label{fill:var(--text-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.9;paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}.rm-safe-zone__hit{cursor:pointer}.rm-safe-zone__rect.is-selected{opacity:1;stroke-width:2}.rm-safe-zone__label.is-selected{fill:var(--primary);opacity:1}.rm-safe-zone__rect{fill:none;stroke:var(--primary);stroke-width:1.5;stroke-dasharray:8 6;opacity:.4}.rm-safe-zone__label{fill:var(--text-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.rm-safe-zone__cap{stroke:var(--bg);stroke-width:3px;stroke-linejoin:round;paint-order:stroke fill}.rm-graph__legend{position:absolute;left:10px;top:10px;display:flex;gap:12px;padding:4px 8px;border:1px solid var(--rm-node-border);border-radius:6px;background:var(--rm-node);font-size:.75rem;color:var(--text-muted)}.rm-legend__swatch{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px;border:1px solid var(--border)}.rm-legend__item--done .rm-legend__swatch{background:var(--rm-fill-done);border-color:var(--usage-ok)}.rm-legend__item--learning .rm-legend__swatch{background:var(--rm-fill-learning);border-color:var(--primary)}.rm-legend__item--skipped .rm-legend__swatch{background:var(--rm-fill-skipped);border-color:var(--text-muted)}.rm-gedge{fill:none;stroke:var(--rm-edge-color, var(--rm-edge));stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.rm-gedge--trunk{stroke:var(--rm-edge-color, var(--rm-edge-main));stroke-width:2.6}.rm-gedge--leaf{stroke-width:1.6;stroke-dasharray:.5 5}.rm-ggroup{fill:var(--rm-group-fill, var(--rm-group));stroke:var(--rm-group-stroke, var(--rm-group-border));stroke-width:1.2;pointer-events:none}.rm-gnode{cursor:pointer;outline:none}.rm-gnode__box{fill:var(--rm-node-fill, var(--rm-node));stroke:var(--rm-node-border);stroke-width:1.4;filter:drop-shadow(0 1px 2px var(--rm-node-shadow))}.rm-gnode--d1 .rm-gnode__box{fill:var(--rm-node-fill, var(--rm-node-stage));stroke:var(--rm-node-stage-border);stroke-width:1.8}.rm-gnode--d1 .rm-gnode__label{font-weight:600}.is-sub .rm-gnode__box{fill:var(--rm-node-fill, var(--rm-node-sub));stroke:var(--rm-node-sub-border);stroke-width:1.2;filter:none}.rm-gnode.is-sub .rm-gnode__label{font-size:11.5px}.rm-gnode__label{fill:var(--text);font-size:12.5px}.rm-gnode__count{fill:var(--text-muted);font-size:10px}.rm-gnode--done .rm-gnode__box{fill:var(--rm-node-fill, var(--rm-fill-done));stroke:var(--usage-ok)}.rm-gnode--done .rm-gnode__state{fill:var(--usage-ok)}.rm-gnode--learning .rm-gnode__box{fill:var(--rm-node-fill, var(--rm-fill-learning));stroke:var(--primary)}.rm-gnode--learning .rm-gnode__state{fill:var(--primary)}.rm-gnode--skipped .rm-gnode__box{fill:var(--rm-node-fill, var(--rm-fill-skipped));stroke:var(--text-muted)}.rm-gnode--skipped .rm-gnode__label{fill:var(--rm-skipped-ink)}.rm-gnode--skipped .rm-gnode__state{fill:var(--text-muted)}.rm-gnode:hover .rm-gnode__box{stroke-width:2.2}.rm-gnode.is-selected .rm-gnode__box{stroke:var(--primary);stroke-width:2.6}.rm-gnode.is-selected .rm-gnode__label{font-weight:600}.rm-gnode:focus-visible .rm-gnode__box{stroke:var(--primary);stroke-dasharray:5 3}.rm-gnode{cursor:grab}.rm-gnode.is-dragging{cursor:grabbing}.rm-gnode.is-dragging .rm-gnode__box{stroke:var(--primary);stroke-width:2.6;filter:drop-shadow(0 4px 8px rgba(0,0,0,.28))}.rm-gnode__port{fill:var(--bg);stroke:var(--primary);stroke-width:2;cursor:crosshair;opacity:.75}.rm-gnode:hover .rm-gnode__port,.rm-gnode__port.is-active{opacity:1;fill:var(--primary)}.rm-gnode__port--left,.rm-gnode__port--right{stroke-width:1.8}.rm-gnode__resize-hit{fill:transparent;cursor:col-resize}.rm-gnode__resize-bar{fill:var(--rm-edge, var(--text-muted));opacity:.5;pointer-events:none}.rm-gnode:hover .rm-gnode__resize-bar,.rm-gnode__resize-bar.is-active{fill:var(--primary);opacity:1}.rm-gnode__wbadge{fill:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;pointer-events:none}.rm-gnode.is-primary .rm-gnode__box{stroke:var(--primary);stroke-width:3.4}.rm-ggroup--user{fill:var(--rm-group-fill, var(--bg-alt));stroke:var(--rm-group-stroke, var(--primary));stroke-width:1.4;pointer-events:none}.rm-ggroup--b-dotted{stroke-dasharray:1.5 5.5;stroke-linecap:round}.rm-ggroup--b-dashed{stroke-dasharray:9 6}.rm-ggroup--b-thick{stroke-width:3}.rm-ggroup--b-none{stroke:none}.rm-ggroup.is-selected{stroke:var(--primary);stroke-width:2.6;stroke-dasharray:none}.rm-ggroup-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.rm-ggroup__title{font-size:12px;font-weight:600;fill:var(--text);pointer-events:none}.rm-ggroup__title--pick{pointer-events:auto;cursor:pointer}.rm-ggroup__title.is-selected{fill:var(--primary)}.rm-ggroup__remove{cursor:pointer}.rm-ggroup__remove circle{fill:var(--bg);stroke:var(--text-muted);stroke-width:1.2}.rm-ggroup__remove path{stroke:var(--text-muted);stroke-width:1.6;stroke-linecap:round;fill:none}.rm-ggroup__remove:hover circle{stroke:var(--danger, #d9534f)}.rm-ggroup__remove:hover path{stroke:var(--danger, #d9534f)}.rm-gedge--link{stroke:var(--rm-edge-color, var(--rm-link, #7c3aed));stroke-width:2}.rm-gedge--s-normal{stroke-dasharray:none}.rm-gedge--s-dotted{stroke-dasharray:1.5 5.5;stroke-linecap:round}.rm-gedge--s-dashed{stroke-dasharray:9 6}.rm-gedge--s-thick{stroke-width:5}.rm-gedge.is-selected{stroke:var(--primary);stroke-width:3.6;stroke-dasharray:none}.rm-gedge-hit{fill:none;stroke:transparent;stroke-width:16;cursor:pointer}.rm-gedge-part:hover .rm-gedge{stroke:var(--primary)}.rm-glink--h{stroke-dasharray:5 4}.rm-group-form{display:flex;flex-direction:column;gap:14px}.rm-line{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-alt)}.rm-line__title{margin:0;font-size:15px}.rm-line__from{margin:0}.rm-line__styles{display:flex;flex-wrap:wrap;gap:8px}.rm-line__style{position:relative;padding-bottom:12px}.rm-line__style:after{content:"";position:absolute;left:8px;right:8px;bottom:5px;height:0;border-top:2px solid var(--text-muted)}.rm-line__style[data-line-style=dotted]:after{border-top-style:dotted;border-top-width:3px}.rm-line__style[data-line-style=dashed]:after{border-top-style:dashed}.rm-line__style[data-line-style=thick]:after{border-top-width:5px;border-color:var(--text)}.rm-line__style[data-border-style=dotted]:after{border-top-style:dotted;border-top-width:3px}.rm-line__style[data-border-style=dashed]:after{border-top-style:dashed}.rm-line__style[data-border-style=thick]:after{border-top-width:5px;border-color:var(--text)}.rm-line__style[data-border-style=none]:after{border-top-color:var(--border);border-top-style:dotted;opacity:.5}.rm-line__style[data-line-shape=curved]:after{height:6px;bottom:3px;border-radius:50% 50% 0 0/100% 100% 0 0}.rm-line__style[data-line-shape=default]:after{border-top-style:dashed;border-top-color:var(--border)}.rm-line__style.is-active{border-color:var(--primary);color:var(--primary)}.rm-line__style.is-active:after{border-color:var(--primary)}.rm-line__actions{display:flex;gap:8px}.rm-color,.rm-width{display:flex;flex-direction:column;gap:6px}.rm-color__label,.rm-width__label{font-size:.85rem;color:var(--text-muted)}.rm-color__row,.rm-width__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rm-color__input{width:46px;height:30px;padding:2px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer}.rm-color__input:disabled{cursor:not-allowed;opacity:.6}.rm-color__value,.rm-width__value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--text-muted)}.rm-width__drawn{font-size:.78rem;color:var(--text-muted);opacity:.85}.rm-color__reset{padding:4px 10px;font-size:.8rem}.rm-gnode.is-link-target .rm-gnode__box{stroke:var(--primary);stroke-width:3;stroke-dasharray:none}.rm-gnode.is-link-invalid .rm-gnode__box{stroke:var(--danger, #d9534f);stroke-width:3;stroke-dasharray:6 3}.rm-glink{fill:none;stroke:var(--primary);stroke-width:2;stroke-dasharray:6 4;pointer-events:none}.rm-glink.is-invalid{stroke:var(--danger, #d9534f)}.rm-graph__note{position:sticky;bottom:12px;margin:0 auto;width:fit-content;max-width:90%;padding:8px 14px;border-left:3px solid var(--danger, #d9534f);background:var(--bg-alt);border-radius:var(--radius);font-size:.85rem}.rm-graph__hint{margin:0 0 8px}.rm-details__state{display:flex;align-items:center;gap:6px;margin-bottom:10px}.rm-details__state-label{font-size:.8rem;color:var(--text-muted)}.rm-graph__toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.rm-graph__select-hint{margin-top:8px}.rm-editor[data-roadmap-mode=edit] .rm-graph__toolbar~.rm-details,.rm-editor[data-roadmap-mode=edit] .rm-graph__toolbar~.rm-line,.rm-editor[data-roadmap-mode=edit] .rm-graph__toolbar~.rm-graph__select-hint{margin-top:0;margin-bottom:12px}.rm-details__actions,.rm-node-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:10px}.rm-details__actions .rm-act{border:1px solid var(--border);border-radius:6px}.rm-gnode.rm-gnode--delete-pending .rm-gnode__box{fill:var(--rm-fill-pending);stroke:#ff8c00}.rm-gnode.rm-gnode--deleting .rm-gnode__box{fill:var(--rm-fill-deleting);stroke:#ff3c3c}.rm-gnode-edit{position:absolute;z-index:3;padding:0 8px;border:2px solid var(--primary);border-radius:8px;background:var(--rm-node);color:var(--text);font-size:.8rem;font-family:inherit;box-shadow:var(--shadow)}.rm-gnode-edit:focus{outline:none}.rm-gnode-states{position:absolute;z-index:3;display:flex;align-items:center;gap:2px;padding:2px 6px 2px 3px;border:1px solid var(--rm-node-border);border-radius:999px;background:var(--rm-node);box-shadow:var(--shadow)}.rm-gnode-states__label{margin-left:4px;font-size:.72rem;color:var(--text-muted);white-space:nowrap;max-width:92px;overflow:hidden;text-overflow:ellipsis}@media(max-width:720px){.rm-graph{height:420px}.rm-graph__toolbar{flex-wrap:wrap}.rm-gnode-states__label{display:none}}
