:root{--color-bg:#eef1f6;--color-surface:#fff;--color-text:#1e2533;--color-text-muted:#5b6475;--color-border:#e1e6ee;--color-border-strong:#c9ced8;--color-hover:#f1f4f9;--color-accent:#3b5bdb;--color-accent-soft:#e8edfc;--color-accent-hover:#2f4ac0;--color-danger:#c92a2a;--color-danger-soft:#fff0f0;--color-success:#2b8a3e;--color-warning:#b35c00;--color-warning-soft:#fff4e6;--color-unity:#364fc7;--color-unity-soft:#e7ebff;--color-aiml:#862e9c;--color-aiml-soft:#f6e8fb;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:8px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280a, 0 1px 3px #1018280f;--shadow-md:0 8px 24px #1018281a;--card-bg:#fff;--card-border:#dce2eb;--card-pad:16px;--shadow-card:0 1px 2px #0f172a0d, 0 6px 16px -6px #0f172a14;--surface-sunken:#f6f8fb;--tint-blue:linear-gradient(160deg, #eef3ff 0%, #f7f9fe 60%);--tint-violet:linear-gradient(160deg, #f4f2fd 0%, #f8f8fc 60%);--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-title:1rem;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--content-max-width:1100px;--header-max-width:1480px;--header-height:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);background-image:radial-gradient(#1e293b0d 1px,#0000 1.2px),radial-gradient(1200px 560px at 0 -8%,#4f6bed1a,#0000 65%),linear-gradient(#e8edf7 0%,#eef1f6 420px 100%);background-size:22px 22px,auto,auto;background-attachment:fixed;margin:0;line-height:1.5}.empty-state{padding:var(--space-3);color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius);margin:0}.input,.select{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);min-height:36px;color:var(--color-text);font:inherit;padding:6px 10px}.button{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--color-surface);min-height:36px;color:var(--color-text);font:inherit;font-size:var(--text-base);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex;box-shadow:0 1px 1px #0f172a0a}.button:hover{border-color:var(--color-border-strong);background:var(--color-hover)}.button:disabled{cursor:not-allowed;opacity:.55}.button--primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff;box-shadow:0 1px 2px #3b5bdb4d}.button--primary:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.button--small{min-height:30px;font-size:var(--text-sm);padding:4px 10px}.button--danger{color:var(--color-danger)}.button--danger:hover{background:var(--color-danger-soft);border-color:#f1b5b5}.icon-button{border-radius:var(--radius);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-grid}.icon-button:hover{border-color:var(--card-border);background:var(--color-surface);color:var(--color-text)}.icon-button--danger:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:#f1b5b5}.icon-button svg{width:16px;height:16px}.button:focus-visible,.icon-button:focus-visible,.input:focus-visible,.select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-card)}.demo-chip{background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-xs);white-space:nowrap;border:1px dashed #e3b27a;border-radius:999px;align-items:center;gap:6px;padding:2px 4px 2px 8px;font-weight:600;display:inline-flex}.demo-chip__action{color:var(--color-warning);font:inherit;cursor:pointer;background:#ffffffb3;border:none;border-radius:999px;padding:1px 6px}.demo-chip__action:hover{background:#fff;text-decoration:underline}.demo-chip__action:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a.button{color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.demo-chip--plain{padding-right:8px}.layout{min-height:100vh}.layout__topbar{z-index:20;background:var(--color-surface);border-bottom:1px solid var(--card-border);position:sticky;top:0;box-shadow:0 1px 2px #0f172a0a}.layout__topbar-inner{align-items:center;gap:var(--space-4);max-width:var(--header-max-width);min-height:var(--header-height);padding:var(--space-2) var(--space-4);margin:0 auto;display:flex}.layout__brand{color:var(--color-text);letter-spacing:-.01em;white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;font-size:1.0625rem;font-weight:700;text-decoration:none;display:inline-flex}.layout__brand:before{content:"UW";color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#4c6ef5,#364fc7);border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.6875rem;font-weight:800;display:grid}.layout__nav-wrap{flex:1;min-width:0}.layout__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.layout__nav{gap:var(--space-1);scrollbar-width:none;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.layout__nav::-webkit-scrollbar{display:none}.layout__link{border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--text-base);white-space:nowrap;padding:7px 12px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:block;position:relative}.layout__link:hover{background:var(--color-hover);color:var(--color-text)}.layout__link:focus-visible,.layout__brand:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.layout__link--active,.layout__link--active:hover{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.layout__link--active:after{content:"";background:var(--color-accent);border-radius:2px;height:2px;position:absolute;bottom:2px;left:12px;right:12px}.layout__content{max-width:var(--content-max-width);padding:var(--space-5) var(--space-4);margin:0 auto}@media (width<=1100px){.layout__topbar-inner{align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-3) var(--space-1);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions""nav nav";display:grid}.layout__brand{text-overflow:ellipsis;grid-area:brand;overflow:hidden}.layout__actions{grid-area:actions}.layout__nav-wrap{margin:0 calc(-1 * var(--space-3));grid-area:nav}.layout__nav{padding:0 var(--space-3) var(--space-1)}}@media (width<=900px){.layout__content{padding:var(--space-4) var(--space-3)}}.modal{width:min(440px, calc(100vw - 2 * var(--space-3)));background:var(--color-surface);color:var(--color-text);border:none;border-radius:12px;padding:0;box-shadow:0 20px 50px #0f172a40}.modal::backdrop{background:#0f172a73}.modal__box{padding:var(--space-4)}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.modal__title{margin:0;font-size:1.125rem}.modal__close{border-radius:var(--radius);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.modal__close:hover{background:var(--color-hover);color:var(--color-text)}.modal__close:focus-visible{outline:2px solid var(--color-accent)}.modal--wide{width:min(600px, calc(100vw - 2 * var(--space-3)));max-height:calc(100vh - 2 * var(--space-4))}.add-task-dialog{gap:var(--space-3);flex-direction:column;display:flex}.add-task-dialog__row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.add-task-dialog__field{gap:var(--space-1);flex-direction:column;min-width:0;font-size:.875rem;display:flex}.add-task-dialog__field>span{color:var(--color-text-muted);font-weight:600}.add-task-dialog__field .input,.add-task-dialog__field .select{width:100%}.add-task-dialog__buttons{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1);display:flex}@media (width<=420px){.add-task-dialog__row{grid-template-columns:minmax(0,1fr)}}.add-task-dialog__optional{margin-left:var(--space-1);color:var(--color-text-muted);font-size:.75rem;font-style:normal;font-weight:400}.add-task-dialog__error{color:var(--color-danger);font-size:.8125rem}.add-task-dialog .input[aria-invalid=true]{border-color:var(--color-danger)}.backup{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.backup__text{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:.875rem}.backup__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.backup__message{margin:var(--space-2) 0 0;color:var(--color-success);font-size:.875rem}.backup__message--error{color:var(--color-danger)}.backup__migration,.backup__drive{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.backup__heading{margin:0 0 var(--space-2);font-size:1rem}.backup__status{margin:0 0 var(--space-3);padding-left:var(--space-3);color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.875rem}.backup__pending{color:var(--color-warning);font-weight:600}.more-menu{position:relative}.more-menu__button{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;place-items:center;font-size:1.25rem;line-height:1;display:grid}.more-menu__button:hover,.more-menu__button[aria-expanded=true]{background:var(--color-hover);color:var(--color-text)}.more-menu__button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.more-menu__panel{z-index:15;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:220px;color:var(--color-text-muted);box-shadow:var(--shadow-md);flex-direction:column;gap:2px;width:280px;padding:6px;font-size:.875rem;display:flex;position:absolute;top:calc(100% + 6px);right:0}.more-menu__item{padding:var(--space-2) 10px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:2px;text-decoration:none;display:flex}.more-menu__item:hover,.more-menu__item:focus-visible{background:var(--color-hover);outline:none}.more-menu__item:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent)}.more-menu__item-title{font-size:.875rem;font-weight:600}.more-menu__item-hint{color:var(--color-text-muted);font-size:.75rem}.sync-status{border-radius:var(--radius);color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:4px 8px}.sync-status:hover{background:var(--color-hover)}.sync-status:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sync-status--attention{color:var(--color-warning);font-weight:600}.sync-panel{font-size:var(--text-base);overflow-wrap:anywhere;flex-direction:column;gap:12px;display:flex}.sync-panel p,.sync-panel h3{margin:0}.sync-panel h3{font-size:var(--text-base)}.sync-panel__section{gap:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;padding-top:12px;display:flex}.sync-panel__error{color:var(--color-danger)}.sync-panel__hint{color:var(--color-text-muted);font-size:var(--text-xs)}.sync-panel__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sync-panel__compare{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.sync-panel__compare pre{max-height:180px;padding:var(--space-2);border-radius:var(--radius);background:var(--surface-sunken);font-size:var(--text-xs);white-space:pre-wrap;margin:4px 0 0;overflow:auto}.section{margin-bottom:var(--space-5)}.section__header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.section__heading{min-width:0}.section__title{margin:0;font-size:1.25rem;line-height:1.3}.section__summary{color:var(--color-text-muted);margin:2px 0 0;font-size:.875rem}.section__actions{gap:var(--space-2);flex-shrink:0;display:flex}.chat-row{align-items:flex-end;gap:var(--space-2);display:flex}.chat-row--user{justify-content:flex-end}.chat-avatar{background:var(--color-accent);color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:.625rem;font-weight:700;display:grid}.chat-bubble{max-width:86%;font-size:var(--text-base);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:14px;padding:8px 12px;line-height:1.5}.chat-bubble--user{background:var(--color-accent);color:#fff;border-bottom-right-radius:4px}.chat-bubble--assistant{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-bottom-left-radius:4px}.chat-bubble--assistant.chat-bubble--success{color:#1e6b31;background:#ebf7ee;border-color:#b2dfbd}.chat-bubble--assistant.chat-bubble--warning{background:var(--color-warning-soft);color:#8a4700;border-color:#f5d0a3}.chat-typing{gap:4px;padding:12px 14px;display:inline-flex}.chat-typing__dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-typing}.chat-typing__dot:nth-child(3){animation-delay:.15s}.chat-typing__dot:nth-child(4){animation-delay:.3s}@keyframes chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.chat-typing__dot{opacity:.6;animation:none}}.chat-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin-left:32px;padding:12px;font-size:.875rem;box-shadow:0 1px 2px #0f172a0d}.chat-card--confirmed{border-color:#b2dfbd}.chat-card--cancelled{opacity:.65}.chat-card__sample{margin:0 0 var(--space-2);padding:1px var(--space-2);background:var(--color-warning-soft);color:var(--color-warning);letter-spacing:.02em;border-radius:999px;font-size:.6875rem;font-weight:700;display:inline-block}.chat-card__sample--original{background:var(--color-hover);color:var(--color-text-muted)}.chat-card__head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.chat-card__title{margin:0;font-size:.9375rem;line-height:1.35}.chat-card__url{color:var(--color-accent);overflow-wrap:anywhere;margin-top:2px;font-size:.75rem;display:block}.chat-card__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 2px;font-size:.6875rem;font-weight:700}.chat-card__text{margin:0;line-height:1.45}.chat-card__points{flex-direction:column;gap:3px;margin:6px 0 0;padding-left:18px;line-height:1.4;display:flex}.chat-card__original{max-height:220px;padding:var(--space-2);background:var(--color-bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:6px 0 0;line-height:1.45;overflow:auto}.chat-card__actions{justify-content:flex-end;gap:var(--space-2);margin-top:12px;display:flex}.chat-card__resolved{color:var(--color-text-muted);text-align:right;margin:12px 0 0;font-size:.8125rem;font-weight:600}.chat-card__resolved--confirmed{color:var(--color-success)}.chat-card__question{margin:0 0 var(--space-2);font-weight:600}.chat-card__options{gap:var(--space-2);display:grid}.chat-option{padding:var(--space-2) 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:2px;display:flex}.chat-option span{color:var(--color-text-muted);font-size:.75rem}.chat-option:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft)}.chat-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.chat-option:disabled{cursor:default;opacity:.5}.chat-option--chosen,.chat-option--chosen:disabled{border-color:var(--color-accent);background:var(--color-accent-soft);opacity:1}.chat-input{border-top:1px solid var(--card-border);background:var(--color-surface);flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.chat-input__chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chat-chip{border:1px solid var(--card-border);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);cursor:pointer;border-radius:999px;padding:3px 10px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.chat-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.chat-chip--on,.chat-chip--on:hover{background:var(--color-accent-soft);color:var(--color-accent);border-color:#b8c5f5}.chat-input__sample{color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px;text-decoration:underline}.chat-input__sample:hover{color:var(--color-accent)}.chat-chip:focus-visible,.chat-input__sample:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-input__box{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:20px;align-items:flex-end;gap:6px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-input__box:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.chat-input__text{min-width:0;max-height:140px;color:var(--color-text);font:inherit;font-size:var(--text-base);resize:none;background:0 0;border:none;flex:1;padding:5px 0;line-height:1.45}.chat-input__text:focus{outline:none}.chat-input__send{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.chat-input__send svg{width:16px;height:16px}.chat-input__send:hover{background:var(--color-accent-hover)}.chat-input__send:disabled{background:var(--color-border-strong);cursor:not-allowed}.chat-input__send:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.category-badge{padding:1px var(--space-2);white-space:nowrap;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.6;display:inline-block}.category-badge--unity{background:var(--color-unity-soft);color:var(--color-unity)}.category-badge--aiml{background:var(--color-aiml-soft);color:var(--color-aiml)}.chatboard{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--surface-sunken);min-height:0;box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:clip}.chatboard__header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:48px;padding:8px 10px 8px var(--card-pad);border-bottom:1px solid var(--card-border);background:var(--color-surface);display:flex}.chatboard__heading{align-items:center;gap:6px var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.chatboard__title{font-size:var(--text-title);margin:0}.chatboard__demo{padding:1px var(--space-2);border:1px dashed var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning);letter-spacing:.02em;white-space:nowrap;border-radius:999px;font-size:.6875rem;font-weight:700}.chatboard__close{border-radius:var(--radius);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:1.5rem;line-height:1;display:none}.chatboard__close:hover{background:var(--color-hover);color:var(--color-text)}.chatboard__close:focus-visible{outline:2px solid var(--color-accent)}.chatboard__messages{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px 12px;display:flex;overflow-y:auto}.chatboard-launcher{display:none}@media (width>=1200px){.chatboard{height:calc(100vh - 100px);position:sticky;top:76px}}@media (width<=1199px){.chatboard{display:none}.chatboard--open{z-index:40;border-radius:0;width:min(440px,100%);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 30px #0f172a33}.chatboard__close{display:block}.chatboard-backdrop{z-index:35;background:#0f172a66;position:fixed;inset:0}.chatboard-launcher{z-index:30;right:var(--space-3);bottom:var(--space-3);background:var(--color-accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 6px 18px #3b5bdb59}.chatboard-launcher:hover{background:var(--color-accent-hover)}.chatboard-launcher:focus-visible{outline:3px solid var(--color-accent-soft);outline-offset:2px}}@media (width<=480px){.chatboard--open{width:100%;box-shadow:none}}.chatboard__tools{flex-shrink:0;align-items:center;gap:2px;display:flex}.chatboard__tools .icon-button:disabled{cursor:default;opacity:.4}.chatboard__tools .icon-button:disabled:hover{background:0 0;border-color:#0000}.chatboard__help-icon{border:1.8px solid;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.6875rem;font-weight:800;line-height:1;display:grid}.chatboard__help{padding:10px var(--card-pad) 12px;border-bottom:1px solid var(--card-border);background:var(--color-surface);font-size:var(--text-sm)}.chatboard__help-title{margin:0 0 4px;font-weight:700}.chatboard__help ol{color:var(--color-text);flex-direction:column;gap:2px;margin:0;padding-left:18px;display:flex}.chatboard__help-note{color:var(--color-text-muted);font-size:var(--text-xs);margin:6px 0 0}.video-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--color-hover);width:100%;display:block}.video-thumb--placeholder{color:var(--color-text-muted);background:linear-gradient(135deg, var(--color-hover), var(--color-border));place-items:center;display:grid}.compact-videos{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.compact-videos__divider{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;margin:4px 2px 0;font-weight:700;display:flex}.compact-videos__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.compact-video{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--surface-sunken);grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px;transition:border-color .15s,background-color .15s;display:grid}.compact-video:hover{border-color:var(--card-border);background:var(--color-surface)}.compact-video--sample{border-style:dashed;border-color:#d6dbe4}.compact-video__thumb{border-radius:6px;align-self:start;display:block;overflow:hidden;box-shadow:0 0 0 1px #0f172a0f}.compact-video__thumb .video-thumb--placeholder svg{width:22px;height:22px}.compact-video__body{flex-direction:column;gap:5px;min-width:0;display:flex}.compact-video__title{color:var(--color-text);font-size:var(--text-base);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;text-decoration:none;display:-webkit-box;overflow:hidden}a.compact-video__title:hover{color:var(--color-accent);text-decoration:underline}a.compact-video__title:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.compact-video--done .compact-video__title{color:var(--color-text-muted)}.compact-video__meta{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.compact-video__tag{background:var(--color-warning-soft);color:var(--color-warning);white-space:nowrap;border-radius:999px;padding:0 7px;font-size:.6875rem;font-weight:600;line-height:18px}.compact-video__time{color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;gap:2px 8px;margin:0;display:flex}.compact-video__time strong{color:var(--color-text);font-weight:600}.compact-video__progress{align-items:center;gap:8px;display:flex}.compact-video__bar{background:#e3e8f0;border-radius:999px;flex:1;height:6px;overflow:hidden}.compact-video__fill{border-radius:inherit;background:var(--color-accent);height:100%}.compact-video--done .compact-video__fill{background:var(--color-success)}.compact-video__percent{min-width:38px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.compact-video__actions{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-top:2px;display:flex}.compact-video__done{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:6px;display:flex}.compact-video__done input{width:15px;height:15px;accent-color:var(--color-success);cursor:pointer;margin:0}.compact-video--done .compact-video__done{color:var(--color-success);font-weight:600}.compact-video__link-button{color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-weight:600}.compact-video__link-button:hover{text-decoration:underline}.compact-video__link-button:focus-visible{outline:2px solid var(--color-accent);border-radius:4px}.compact-video__form{flex-wrap:wrap;gap:6px;display:flex}.compact-video__form .input{min-width:0;min-height:30px;font-size:var(--text-sm);flex:100px;padding:2px 8px}.compact-video__error{color:var(--color-danger);font-size:var(--text-xs);flex-basis:100%}.compact-videos__empty{background:var(--surface-sunken);border-color:var(--color-border);font-size:var(--text-base)}.history__controls{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.history__day{font-weight:600}.history__summary{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:.875rem}.history__list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin:0;padding:0;list-style:none}.history__item{align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap;min-height:44px;display:flex}.history__item+.history__item{border-top:1px solid var(--color-border)}.history__title{overflow-wrap:anywhere;font-weight:500}.history__tag{padding:1px var(--space-2);background:var(--color-hover);color:var(--color-text-muted);border-radius:999px;font-size:.75rem}.history__tag--deleted{background:var(--color-danger-soft);color:var(--color-danger)}.history__outcome{color:var(--color-warning);margin-left:auto;font-size:.8125rem;font-weight:600}.history__outcome--completed{color:var(--color-success)}.history__outcome--rescheduled{color:var(--color-text-muted)}.history__heading{margin:var(--space-3) 0 var(--space-2);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.875rem;font-weight:600}.history__detail{color:var(--color-text-muted);font-size:.8125rem}.history__outcome--watched{color:var(--color-accent)}.task-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.task+.task{border-top:1px solid var(--color-border)}.task__row{border-radius:var(--radius);align-items:center;gap:10px;padding:0 4px 0 8px;display:flex}.task__row:hover,.task--open .task__row{background:var(--surface-sunken)}.task__checkbox{width:17px;height:17px;accent-color:var(--color-success);cursor:pointer;flex-shrink:0;margin:0}.task__checkbox:disabled{cursor:not-allowed}.task__summary{min-width:0;min-height:38px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:5px 4px;display:flex}.task__summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--radius)}.task__title{min-width:0;font-size:var(--text-base);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.task--done .task__title{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.task__category{color:var(--color-text-muted);font-size:var(--text-xs);flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.task__category:before{content:"";border-radius:50%;width:7px;height:7px}.task__category--unity:before{background:var(--color-unity)}.task__category--aiml:before{background:var(--color-aiml)}.task__demo{color:#9a5b12;border:1px dashed #d9b98f;border-radius:999px;flex-shrink:0;padding:0 6px;font-size:.6875rem;font-weight:600;line-height:16px}.task__state{min-width:54px;color:var(--color-text-muted);font-size:var(--text-xs);text-align:right;flex-shrink:0}.task__state--done{color:var(--color-success);font-weight:600}.task__state--done:before{content:"✓ "}.task__chevron{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.task--open .task__chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.task__chevron{transition:none}}.task__details{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;padding:8px 12px 12px 35px;display:flex}.task__facts{font-size:var(--text-sm);flex-wrap:wrap;gap:6px 20px;margin:0;display:flex}.task__facts dt{color:var(--color-text-muted);font-size:var(--text-xs)}.task__facts dd{margin:0;font-weight:500}.task__carried{color:var(--color-warning);font-weight:500}.task__link{color:var(--color-accent);font-weight:600;text-decoration:none}.task__link:hover{text-decoration:underline}.task__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.task__actions{gap:6px;display:flex}.task__demo-note{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.task--editing{padding:10px 8px}.task-edit{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.task-edit__title{flex:220px;min-width:0}.task-edit__buttons{gap:var(--space-1);display:flex}@media (width<=480px){.task__category{gap:0;font-size:0}.task__title{-webkit-line-clamp:3;line-clamp:3}.task__summary{gap:6px}.task__state{min-width:0}.task__details{padding-left:12px}}.task-manager{padding:var(--card-pad);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-card)}.task-manager__header{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin-bottom:10px;display:flex}.task-manager__heading{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}.task-manager__title{font-size:var(--text-title);margin:0}.task-manager__progress{flex-wrap:wrap;gap:4px 6px;margin:0;display:flex}.task-manager__progress span{background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;padding:1px 8px;font-weight:600}.task-manager__date{color:var(--color-text-muted);font-size:var(--text-xs);margin:0 2px;font-weight:600}@media (width>=860px){.task-manager__scroll{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;max-height:380px;overflow-y:auto}}.task-tabs{border-radius:var(--radius);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:10px;padding:3px;display:grid}.task-tabs__tab{min-height:34px;color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-size:.875rem;font-weight:600;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.task-tabs__tab:hover{color:var(--color-text)}.task-tabs__tab--active,.task-tabs__tab--active:hover{background:var(--color-surface);color:var(--color-accent);box-shadow:0 1px 2px #0f172a14, 0 0 0 1px var(--card-border)}.task-tabs__tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.task-tabs__count{background:var(--color-hover);min-width:20px;color:var(--color-text-muted);border-radius:999px;padding:0 6px;font-size:.75rem;line-height:18px}.task-tabs__tab--active .task-tabs__count{background:var(--color-accent-soft);color:var(--color-accent)}.task-manager__panel{flex-direction:column;gap:8px;animation:.18s task-panel-in;display:flex}@keyframes task-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.task-manager__panel{animation:none}.task-tabs__tab{transition:none}}.task-manager__later{padding:var(--space-2) 12px;border-radius:var(--radius);background:var(--surface-sunken);font-size:.875rem}.task-manager__later-label{margin:0 0 var(--space-1);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.task-manager__later ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.task-manager__later li{justify-content:space-between;gap:var(--space-3);display:flex}.task-manager__later li>span:first-child{overflow-wrap:anywhere;min-width:0}.task-manager__later-date{color:var(--color-text-muted);flex-shrink:0}@media (width<=520px){.task-manager{padding:var(--space-3)}.task-manager__header{flex-wrap:wrap}}.time-dash{margin-bottom:var(--space-4);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.time-dash__pane{min-width:0;padding:12px var(--card-pad);background:var(--tint-blue);flex-direction:column;display:flex}.time-dash__pane--timer{border-left:1px solid var(--card-border);background:var(--tint-violet);text-align:center;align-items:center}.time-dash__eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.8125rem;font-weight:700}.time-dash__dateline{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;display:flex}.time-dash__date{margin:2px 0 0;font-size:1.0625rem;font-weight:700}.time-dash__now{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:0}.time-dash__caption{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;margin:8px 0 4px;font-weight:700}.time-dash__percents{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.time-dash__percent-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:3px;display:flex}.time-dash__percent-head strong{font-size:var(--text-base);font-variant-numeric:tabular-nums}.time-dash__bar{background:#e3e8f0;border-radius:999px;height:6px;overflow:hidden}.time-dash__bar-fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width .4s}.time-dash__timer-head{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;align-self:stretch;display:flex}.time-dash__title{margin:0;font-size:1rem}.time-dash__status{padding:1px var(--space-2);background:var(--color-hover);color:var(--color-text-muted);border-radius:999px;font-size:.75rem;font-weight:600}.time-dash__status--running{background:var(--color-accent-soft);color:var(--color-accent)}.time-dash__status--paused{background:var(--color-warning-soft);color:var(--color-warning)}.time-dash__status--finished{color:var(--color-success);background:#ebf7ee}.time-dash__clock{font-variant-numeric:tabular-nums;letter-spacing:.03em;margin:10px 0;font-size:2.125rem;font-weight:700;line-height:1}.time-dash__buttons{justify-content:center;gap:var(--space-2);display:flex}.time-dash__buttons .button{min-width:96px}.time-dash__finish{border-color:var(--color-success);color:var(--color-success)}.time-dash__result{margin:var(--space-3) 0 0;font-size:.875rem}.time-dash__total{color:var(--color-text-muted);margin:auto 0 0;padding-top:8px;font-size:.8125rem}.time-dash__error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:.8125rem}@media (prefers-reduced-motion:reduce){.time-dash__bar-fill{transition:none}}@container (width<=560px){.time-dash{grid-template-columns:minmax(0,1fr)}.time-dash__pane{padding:var(--space-3)}.time-dash__pane--timer{border-top:1px solid var(--color-border);border-left:none}.time-dash__clock{margin-top:10px;font-size:2rem}}.dashboard__alert{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-danger-soft);color:var(--color-danger);font-weight:600}.dashboard--with-chat{align-items:start;gap:20px;display:grid}.dashboard__center,.dashboard__videos,.dashboard__side{min-width:0}.dashboard__center{grid-area:center;container-type:inline-size}.dashboard__videos{grid-area:videos}.dashboard__side{flex-direction:column;grid-area:side;display:flex}.layout__content:has(.dashboard--with-chat){max-width:var(--header-max-width)}.layout__content:has(.dashboard--with-chat){padding-top:var(--space-4);padding-bottom:var(--space-4)}@media (width<=900px){.layout__content:has(.dashboard--with-chat){padding-top:var(--space-3)}}@media (width>=1200px){.dashboard--with-chat{grid-template-columns:clamp(290px,21vw,320px) minmax(0,1fr) clamp(320px,26vw,380px);grid-template-areas:"videos center side"}.dashboard__side{height:calc(100vh - 104px);position:sticky;top:80px}.dashboard__side .chatboard{flex:1;height:auto;position:static}}@media (width<=1199px){.dashboard__side{display:contents}}@media (width>=860px) and (width<=1199px){.dashboard--with-chat{grid-template-columns:clamp(250px,30vw,300px) minmax(0,1fr);grid-template-areas:"videos center"}}@media (width<=859px){.dashboard--with-chat{row-gap:var(--space-3);grid-template-columns:minmax(0,1fr);grid-template-areas:"center""videos"}}@media (width<=1199px){.dashboard--with-chat{padding-bottom:72px}}.dashboard__videos{padding:var(--card-pad);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-card)}.dashboard .section__title{font-size:var(--text-title)}.dashboard .section__header{margin-bottom:12px;padding-bottom:10px}.dashboard__videos .section{margin-bottom:0}.dashboard__center{flex-direction:column;gap:20px;display:flex}.dashboard__center>.time-dash{margin-bottom:0}.task-manager .empty-state{background:var(--surface-sunken);border-color:var(--color-border)}.dashboard .section__actions{align-items:center}.page-header{margin-bottom:var(--space-4)}.page-header__title{margin:0;font-size:1.75rem;line-height:1.2}.page-header__description{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.layout__content:has(.workshop){max-width:var(--header-max-width);padding:var(--space-4) var(--space-3)}.workshop__header{justify-content:space-between;align-items:flex-start;gap:12px var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.workshop__header .page-header{margin:0}.workshop__tools{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.workshop__search{flex:200px;width:260px;min-width:0}.workshop__status{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 12px}.workshop__error{color:var(--color-danger);font-size:var(--text-sm);margin:0 0 12px;font-weight:600}.workshop__empty{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.workshop__empty p{margin:0}.workshop__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.ws-box{min-width:0;padding:var(--card-pad);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-card)}.ws-box__header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ws-box__icon{border-radius:var(--radius);background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent);flex:none;place-items:center;display:inline-grid}.ws-box__icon svg,.ws-box__icon img{width:19px;height:19px}.ws-box__heading{flex:120px;min-width:0}.ws-box__title{font-size:var(--text-title);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:700;line-height:1.3;overflow:hidden}.ws-box__description{color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.ws-box__actions{flex:none;gap:4px;display:flex}.ws-box__hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.ws-box__account-help{color:var(--color-text-muted);font-size:var(--text-sm);flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;display:flex}.ws-box__account-help p{margin:0}.ws-box__tiles{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));margin:0;padding:0;list-style:none;display:grid}.ws-tile{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface-sunken);min-width:0;transition:border-color .15s,background-color .15s;display:flex;position:relative}.ws-tile:hover,.ws-tile:focus-within{border-color:var(--color-border-strong);background:var(--color-surface)}.ws-tile__main{align-items:center;gap:var(--space-2);border-radius:inherit;min-width:0;min-height:44px;color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:6px 10px;font-weight:600;text-decoration:none;display:flex}.ws-tile__main:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.ws-tile__main--static{cursor:default}.ws-tile__icon{color:var(--color-accent);flex:none;place-items:center;display:inline-grid}.ws-tile__icon svg,.ws-tile__icon img{width:17px;height:17px}.ws-tile__text{flex-direction:column;min-width:0;display:flex}.ws-tile__name{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.ws-tile__note{color:var(--color-warning);font-size:var(--text-xs);font-weight:500}.ws-tile--add{border-style:dashed;border-color:var(--color-border-strong);background:0 0}.ws-tile--add .ws-tile__main{color:var(--color-accent);justify-content:center}.ws-tile__controls{flex:none;align-items:center;gap:2px;padding-right:4px;display:flex}.ws-tile__controls .icon-button{width:26px;height:26px}.ws-tile__controls .icon-button svg{width:14px;height:14px}.ws-box__tiles.ws-box__tiles--logos{grid-template-columns:repeat(auto-fill,minmax(min(100%,104px),124px))}.ws-tile--logo{flex-direction:column}.ws-tile--logo .ws-tile__main{text-align:center;flex-direction:column;justify-content:center;gap:6px;padding:12px 6px 10px}.ws-tile--logo .ws-tile__icon{color:var(--color-text)}.ws-tile--logo .ws-tile__icon svg,.ws-tile--logo .ws-tile__icon img{width:32px;height:32px}.ws-tile--logo .ws-tile__text{font-size:var(--text-xs);align-items:center}.ws-tile--logo .ws-tile__controls{justify-content:center;padding:0 0 6px}.ws-form{flex-direction:column;gap:12px;display:flex}.ws-form__field{min-width:0;font-size:var(--text-base);flex-direction:column;gap:4px;font-weight:600;display:flex}.ws-form__field .input,.ws-form__field .select{width:100%;font-weight:400}.ws-form__icon-row{align-items:center;gap:var(--space-2);display:flex}.ws-form__icon-preview{border-radius:var(--radius);background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent);flex:none;place-items:center;display:inline-grid}.ws-form__icon-preview svg,.ws-form__icon-preview img{width:18px;height:18px}.ws-form__hint,.ws-form__error{font-size:var(--text-xs)}.ws-form__hint{color:var(--color-text-muted);font-weight:400}.ws-form__error,.ws-form__warning{color:var(--color-danger);font-weight:600}.ws-form__text,.ws-form__warning{font-size:var(--text-base);overflow-wrap:anywhere;margin:0}.ws-form__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.ws-form__check{align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:400;display:flex}@media (width<=860px){.workshop__grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.workshop__tools{width:100%}.ws-box__tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr))}}@media (prefers-reduced-motion:reduce){.ws-tile{transition:none}}.layout__content:has(.topics){max-width:var(--header-max-width);padding:var(--space-4) var(--space-3)}.topics__switch{width:fit-content;max-width:100%;margin-bottom:var(--space-3);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-card);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.topics__tab{border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--text-base);padding:6px 14px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s}.topics__tab:hover{background:var(--color-hover);color:var(--color-text)}.topics__tab--active,.topics__tab--active:hover{background:var(--color-accent-soft);color:var(--color-accent)}.topics__tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.topics__tab{transition:none}}.progress-bar{background:var(--color-border);border-radius:999px;overflow:hidden}.progress-bar--small{height:6px}.progress-bar--large{height:10px}.progress-bar__fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width .2s}.progress-bar__fill--complete{background:var(--color-success)}.mindmap{gap:var(--space-2);flex-direction:column;display:flex}.mindmap__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.mindmap__group{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.mindmap__icon{min-width:30px;padding-inline:0;font-size:1rem;line-height:1}.mindmap__zoom{min-width:3.5em;color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:center;font-size:.8125rem}.mindmap__canvas{border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);background-image:radial-gradient(var(--color-border) 1px, transparent 1px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-size:22px 22px;height:clamp(420px,72vh,820px);position:relative;overflow:hidden}.mindmap__canvas:active{cursor:grabbing}.mindmap__svg{width:100%;height:100%;display:block}.mindmap__world{transform-origin:0 0}.mindmap__world--smooth{transition:transform .3s}.mindmap__hint{right:var(--space-2);bottom:var(--space-2);padding:2px var(--space-2);color:var(--color-text-muted);pointer-events:none;background:#ffffffd9;border-radius:999px;margin:0;font-size:.75rem;position:absolute}.mm-edge{fill:none;stroke-width:1.75px;stroke-linecap:round;opacity:.75;transition:d .3s;animation:.3s mm-fade-in}.mm-edge--muted{stroke-dasharray:4 4;opacity:.45}.mm-node{transition:transform .3s;animation:.3s mm-fade-in}.mm-node--branch{cursor:pointer}.mm-node:focus{outline:none}.mm-node__box{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1px;transition:fill .15s,stroke .15s}.mm-node__label{fill:var(--color-text);font-size:12.5px;font-weight:500}.mm-node__caption{fill:currentColor;letter-spacing:.04em;opacity:.85;text-transform:uppercase;font-size:10.5px;font-weight:600}.mm-node--root .mm-node__box{fill:#1f2430;stroke:#1f2430}.mm-node--root .mm-node__label{fill:#fff;font-size:16px;font-weight:700}.mm-node--stage{color:#fff}.mm-node--stage .mm-node__box{fill:var(--accent);stroke:var(--accent)}.mm-node--stage .mm-node__label{fill:#fff;font-size:14px;font-weight:700}.mm-node--topic .mm-node__box{fill:var(--soft);stroke:var(--accent);stroke-width:1.25px}.mm-node--topic .mm-node__label{font-size:13px;font-weight:600}.mm-node--item .mm-node__box{stroke:var(--accent);stroke-opacity:.55}.mm-node--concept .mm-node__box{fill:var(--soft);stroke:var(--accent);stroke-opacity:.35}.mm-node--concept .mm-node__label{font-size:12px;font-weight:400}.mm-node--muted .mm-node__box{stroke-dasharray:4 3}.mm-node--muted .mm-node__label{fill:var(--color-text-muted)}.mm-node--stage.mm-node--muted .mm-node__label{fill:#fff}.mm-node--branch:hover .mm-node__box,.mm-node--branch:focus-visible .mm-node__box{stroke-width:2px;stroke-opacity:1}.mm-node--item.mm-node--branch:hover .mm-node__box,.mm-node--topic:hover .mm-node__box{fill:var(--soft)}.mm-node:focus-visible .mm-node__box{stroke:var(--color-accent);stroke-width:2.5px}.mm-node__badge circle{fill:#fff;stroke:var(--accent);stroke-width:1.25px}.mm-node--root .mm-node__badge circle{stroke:#fff}.mm-node__badge text{fill:var(--accent);font-size:10px;font-weight:700}.mm-node--root .mm-node__badge text{fill:#1f2430}@keyframes mm-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.mm-node,.mm-edge,.mindmap__world--smooth{transition:none;animation:none}}.mindmap__legend{align-items:center;gap:var(--space-1) var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;margin:0;font-size:.8125rem;display:flex}.mindmap__legend-item{align-items:center;gap:var(--space-1);display:inline-flex}.mindmap__swatch{border:1.5px solid var(--color-accent);border-radius:4px;width:22px;height:12px;display:inline-block}.mindmap__swatch--muted{border-style:dashed;border-color:var(--color-border-strong)}@media (width<=560px){.mindmap__canvas{height:clamp(380px,65vh,620px)}.mindmap__hint{left:var(--space-2);text-align:center}}.roadmap-badge{padding:0 var(--space-2);white-space:nowrap;vertical-align:1px;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1.7;display:inline-block}.roadmap-badge--later{background:var(--color-hover);color:var(--color-text-muted)}.roadmap-badge--elective{background:var(--color-aiml-soft);color:var(--color-aiml)}.roadmap-badge--differs{background:var(--color-warning-soft);color:var(--color-warning)}.roadmap-badge--unity6{background:var(--color-unity-soft);color:var(--color-unity)}.roadmap-badge--legacy{background:var(--color-danger-soft);color:var(--color-danger)}.topic{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);scroll-margin-top:calc(var(--header-height) + var(--space-3))}.topic:first-child{border-top:0}.topic--highlighted{animation:2s ease-out topic-highlight}@keyframes topic-highlight{0%{background:var(--color-accent-soft)}to{background:0 0}}.topic__row{align-items:start;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.topic__checkbox,.subtopic__checkbox{width:18px;height:18px;accent-color:var(--color-success);cursor:pointer;margin:3px 0 0}.topic__title{cursor:pointer;font-weight:600}.topic--done .topic__title{color:var(--color-text-muted)}.topic__badges{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;padding-top:2px;display:flex}.topic__count{min-width:3ch;color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right;padding-top:1px;font-size:.8125rem}.topic__note{margin:2px 0 0 calc(18px + var(--space-2));color:var(--color-warning);font-size:.8125rem}.topic__subtopics{margin:var(--space-1) 0 0 calc(18px + var(--space-2));padding:0;list-style:none}.subtopic{align-items:start;column-gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);padding:3px 0;font-size:.9375rem;display:grid}.subtopic__checkbox{width:16px;height:16px}.subtopic__title{cursor:pointer}.subtopic--done .subtopic__title{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.subtopic .topic__note{margin:0}.topic__docs{margin:var(--space-1) 0 0 calc(18px + var(--space-2));color:var(--color-text-muted);font-size:.8125rem}.topic__docs a{color:var(--color-accent)}@media (width<=560px){.topic{padding-inline:var(--space-2)}.topic__row{grid-template-columns:auto minmax(0,1fr) auto}.topic__badges{grid-area:2/2/auto/-1;justify-content:flex-start}}.stage{margin-bottom:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.stage__header{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) 140px;display:grid}.stage__header:hover{background:var(--color-hover)}.stage__header:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.stage__chevron{width:1ch;color:var(--color-text-muted)}.stage__heading{flex-direction:column;min-width:0;display:flex}.stage__label{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.stage__track{font-weight:500}.stage__title{font-size:1.0625rem;font-weight:600}.stage__progress{gap:var(--space-1);text-align:right;flex-direction:column;display:flex}.stage__percent{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.stage--complete .stage__percent{color:var(--color-success);font-weight:600}.stage__body{border-top:1px solid var(--color-border)}.stage__summary,.stage__meta{padding:var(--space-3) var(--space-3) 0;margin:0}.stage__meta{padding-top:var(--space-1);color:var(--color-text-muted);font-size:.875rem}.stage__topics{margin:var(--space-2) 0 0;border-top:1px solid var(--color-border);padding:0;list-style:none}.stage__footer{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);background:var(--color-bg);font-size:.9375rem}.stage__footer p{margin:var(--space-1) 0}@media (width<=560px){.stage__header{gap:var(--space-2);padding:var(--space-2) var(--space-3);grid-template-columns:auto minmax(0,1fr) 72px}}.roadmap__notice{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-danger-soft);color:var(--color-danger);font-weight:600}.roadmap__overview{align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;display:grid}.roadmap__overall-text{margin:0 0 var(--space-2);color:var(--color-text-muted)}.roadmap__overall-text strong{color:var(--color-text);font-size:1.25rem}.roadmap__next{align-items:center;gap:var(--space-3);display:flex}.roadmap__next-text{flex-direction:column;margin:0;font-weight:600;display:flex}.roadmap__next-label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.roadmap__filters{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.roadmap__search{flex:240px;min-width:0}.roadmap__check{align-items:center;gap:var(--space-1);cursor:pointer;font-size:.9375rem;display:inline-flex}.roadmap__check input{accent-color:var(--color-accent)}.roadmap__expand{gap:var(--space-2);margin-left:auto;display:inline-flex}@media (width<=720px){.roadmap__overview{gap:var(--space-3);grid-template-columns:1fr}.roadmap__next{justify-content:space-between}.roadmap__expand{margin-left:0}}.layout__content:has(.roadmap-layout){max-width:var(--header-max-width);padding:var(--space-4) var(--space-3)}.roadmap-layout{align-items:start;gap:var(--space-3);grid-template-columns:200px minmax(0,1fr);display:grid}.roadmap-layout__menu{top:calc(var(--header-height) + var(--space-3));position:sticky}.roadmap-layout__tabs{gap:var(--space-1);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex}.roadmap-layout__tab{width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:6px;font-weight:500}.roadmap-layout__tab:hover{background:var(--color-hover);color:var(--color-text)}.roadmap-layout__tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.roadmap-layout__tab--active,.roadmap-layout__tab--active:hover{border-left-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.roadmap-layout__content{min-width:0}@media (width<=760px){.roadmap-layout{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.roadmap-layout__menu{position:static}.roadmap-layout__tabs{padding:var(--space-1);flex-direction:row}.roadmap-layout__tab{padding:var(--space-2);text-align:center;border-bottom:3px solid #0000;border-left:0;flex:1 1 0}.roadmap-layout__tab--active,.roadmap-layout__tab--active:hover{border-bottom-color:var(--color-accent)}}.coming-soon{padding:var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius)}.coming-soon__badge{margin:0 0 var(--space-2);padding:2px var(--space-2);background:var(--color-accent-soft);color:var(--color-accent);border-radius:999px;font-size:.8125rem;font-weight:600;display:inline-block}.coming-soon__text{color:var(--color-text-muted);margin:0}.video-form{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:start;display:grid}.video-form__field{gap:var(--space-1);flex-direction:column;min-width:0;font-size:.875rem;display:flex}.video-form__field>span{color:var(--color-text-muted);font-weight:600}.video-form__field--wide{grid-column:1/-1}.video-form__field .input,.video-form__field .select{width:100%}.video-form__error{color:var(--color-danger)}.video-form__hint{color:var(--color-text-muted);font-style:normal;font-weight:400}.video-form__buttons{gap:var(--space-2);grid-column:1/-1;display:flex}.schedule-picker{gap:var(--space-1);flex-wrap:wrap;display:flex}.schedule-picker .select,.schedule-picker .input{flex:120px;min-width:0}.video-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.video-card__thumb-link{display:block}.video-card__body{padding:var(--space-3) var(--space-3) var(--space-3);flex-direction:column;flex:1;gap:10px;display:flex}.video-card__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.video-card__playlist{color:var(--color-text-muted);font-size:.75rem}.video-card__title{margin:0;font-size:1rem;line-height:1.35}.video-card__title a{color:var(--color-text);text-decoration:none}.video-card__title a:hover{color:var(--color-accent);text-decoration:underline}.video-card__stats{gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.video-card__stats>div:nth-child(2){text-align:center}.video-card__stats>div:last-child{text-align:right}.video-card__stats dt{color:var(--color-text-muted);font-size:.75rem}.video-card__stats dd{margin:0;font-weight:600}.video-card__progress{align-items:center;gap:var(--space-2);display:flex}.video-card__bar{background:var(--color-hover);border-radius:999px;flex:1;height:8px;overflow:hidden}.video-card__bar-fill{border-radius:inherit;background:var(--color-accent);height:100%}.video-card--done .video-card__bar-fill{background:var(--color-success)}.video-card__percent{text-align:right;min-width:44px;font-size:.875rem;font-weight:600}.video-card__complete{align-items:center;gap:var(--space-2);padding-top:var(--space-1);color:var(--color-text-muted);margin-top:auto;font-size:.875rem;display:flex}.video-card__complete input{width:16px;height:16px;accent-color:var(--color-success);margin:0}.video-card--done .video-card__complete{color:var(--color-success);font-weight:600}.video-card__thumb-link{position:relative}.video-card__resume{right:var(--space-2);bottom:var(--space-2);padding:2px var(--space-2);color:#fff;background:#000000bf;border-radius:4px;font-size:.75rem;font-weight:600;position:absolute}.video-card__carried{padding:1px var(--space-2);background:var(--color-warning-soft);color:var(--color-warning);border-radius:999px;font-size:.75rem;font-weight:600}.video-card__watched{gap:var(--space-1);flex-direction:column;font-size:.8125rem;display:flex}.video-card__watched label{color:var(--color-text-muted)}.video-card__watched-row{gap:var(--space-2);display:flex}.video-card__watched-row .input{flex:1;min-width:0;min-height:30px;padding:2px 8px}.video-card__error{color:var(--color-danger)}.video-card__complete input,.video-card__complete{cursor:pointer}.video-card__footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-wrap:wrap;font-size:.8125rem;display:flex}.video-card__footer .schedule-picker{flex:140px}.video-card__footer .select,.video-card__footer .input{min-height:30px;padding:2px 6px;font-size:.8125rem}.video-card__schedule{color:var(--color-text-muted)}.video-card__actions{gap:var(--space-1);display:flex}.video-card--editing{padding:var(--space-3);grid-column:1/-1}.video-card__edit-heading{margin:0 0 var(--space-3);font-size:1rem}.library__alert{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-danger-soft);color:var(--color-danger);font-weight:600}.library__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.library__summary{color:var(--color-text-muted);margin:0}.library__notice{margin:0 0 var(--space-3);color:var(--color-success);font-weight:600}.library__add{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.library__add-heading{margin:0 0 var(--space-3);font-size:1.125rem}.library__filters{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.library__search{flex:220px;min-width:0}.library__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;display:grid}.layout__content:has(>.vl){max-width:var(--header-max-width);padding:var(--space-4) var(--space-4) var(--space-5)}.vl{--vl-done:#2b8a3e;--vl-done-soft:#e6f6ea;--vl-doing:#b35c00;--vl-doing-soft:#fff1e0;--vl-todo-soft:#eef1f5;min-width:0}.vl-alert{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-danger-soft);color:var(--color-danger);font-weight:600}.vl-alert--warning{background:var(--color-warning-soft);color:var(--color-warning)}.vl-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.vl-header__title{margin:0;font-size:1.75rem;line-height:1.2}.vl-header__subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.vl-header__actions,.vl-view__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.vl-searchbar{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.vl-search{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);min-height:38px;color:var(--color-text-muted);flex:320px;padding:0 12px;display:flex}.vl-search:focus-within{outline:2px solid var(--color-accent);outline-offset:1px}.vl-search svg{flex-shrink:0;width:16px;height:16px}.vl-search__input{min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:none;flex:1}.vl-button--on,.vl-button--on:hover{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.vl-filters{gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2);border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface-sunken);flex-wrap:wrap;display:flex}.vl-layout{align-items:start;gap:var(--space-4);grid-template-columns:300px minmax(0,1fr);display:grid}.vl-main{min-width:0}.vl-view{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.vl-view__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.vl-view__title{margin:0;font-size:1.3rem;line-height:1.25}.vl-view__subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-base)}.vl-crumbs{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 2px}.vl-section-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-title);display:flex}.vl-section-title__link{font-size:var(--text-sm);margin-left:auto;font-weight:500}.vl-count{background:var(--vl-todo-soft);color:var(--color-text-muted);font-size:var(--text-xs);border-radius:999px;padding:0 8px;font-weight:600}.vl-link{color:var(--color-accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;text-decoration:none;display:inline-flex}.vl-link:hover{text-decoration:underline}.vl-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.vl-link svg{width:13px;height:13px}.vl-link--title{color:var(--color-text);font-weight:600}.button svg{width:14px;height:14px}.vl-creator-section{min-width:0}.vl-thumb{object-fit:cover;width:100%;height:100%;display:block}.vl-thumb--empty{color:var(--color-accent);background:linear-gradient(135deg,#e7ebff,#f6e8fb);place-items:center;display:grid}.vl-thumb--empty svg{width:32px;height:32px}.vl-chip{background:var(--vl-todo-soft);max-width:100%;color:var(--color-text);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:1px 8px;font-weight:500;display:inline-flex;overflow:hidden}.vl-chip--accent{background:var(--color-accent-soft);color:var(--color-accent)}.vl-chip--muted{color:var(--color-text-muted)}.vl-fav{flex-shrink:0}.vl-fav--on,.vl-fav--on:hover{color:#e8a400}.vl-move{display:inline-flex}.vl-progress{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0;display:flex}.vl-progress--empty{color:var(--color-text-muted);font-style:italic}.vl-progress__text{justify-content:space-between;gap:var(--space-2);display:flex}.vl-progress__muted,.vl-progress__note{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.vl-cat-summary{align-items:center;gap:var(--space-2) var(--space-4);padding:12px var(--card-pad);font-size:var(--text-base);flex-wrap:wrap;display:flex}.vl-cat-summary__progress{flex:220px;max-width:360px;margin-left:auto}.vl-category{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr) 240px;display:grid}.vl-category__content{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.vl-playlist-info{gap:var(--space-3) var(--space-4);padding:var(--card-pad);flex-wrap:wrap;display:flex}.vl-playlist-info__main{gap:var(--space-2);flex-direction:column;flex:320px;min-width:0;display:flex}.vl-playlist-info__progress{flex:0 300px}.vl-playlist-info__desc{margin:0}.vl-playlist-info__notes{border-radius:var(--radius);background:var(--surface-sunken);font-size:var(--text-sm);padding:8px 10px}.vl-playlist-info__notes p{white-space:pre-wrap;margin:2px 0 0}.vl-rows{margin:0;padding:4px;list-style:none}.vl-row{align-items:center;gap:var(--space-2);border-radius:var(--radius);padding:6px 8px;display:flex}.vl-row+.vl-row{border-top:1px solid var(--color-border)}.vl-row:hover{background:var(--surface-sunken)}.vl-row__num{width:24px;color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.vl-row__thumb{aspect-ratio:16/9;cursor:pointer;background:#0f172a;border:0;border-radius:6px;flex-shrink:0;width:96px;padding:0;overflow:hidden}.vl-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vl-row__meta{color:var(--color-text-muted);font-size:var(--text-xs)}.vl-row__tools{align-items:center;gap:2px;display:inline-flex}.vl-row--creator{padding:10px 12px}.vl-add-videos{padding:var(--card-pad)}.vl-workspace{gap:var(--space-3);flex-direction:column;display:flex}.vl-workspace__bar{align-items:center;gap:var(--space-2);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-card);padding:8px 10px;display:flex}.vl-workspace__heading{min-width:0;padding:0 var(--space-2);flex:1}.vl-workspace__crumb{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.vl-workspace__title{font-size:var(--text-title);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vl-workspace__grid{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr) 360px;display:grid}.vl-workspace__grid--full{grid-template-columns:minmax(0,1fr)}.vl-player__stage{border-radius:var(--radius-lg);aspect-ratio:16/9;box-shadow:var(--shadow-card);background:#000;position:relative;overflow:hidden}.vl-player__frame,.vl-player__frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.vl-player__problem{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4);color:#e5e7eb;text-align:center;background:#111827;flex-direction:column;display:flex;position:absolute;inset:0}.vl-player__problem p{max-width:460px;margin:0}.vl-player__problem .vl-player__code{margin-top:calc(-1 * var(--space-2));color:#9ca3af;font-size:var(--text-xs)}.vl-details{gap:var(--space-3);padding:var(--card-pad);flex-direction:column;display:flex}.vl-details__top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.vl-details__title{margin:0;font-size:1.15rem;line-height:1.3}.vl-details__meta{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 0 0}.vl-details__links{align-items:center;gap:var(--space-1);display:flex}.vl-details__controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.vl-details__spacer{flex:1}.vl-details__desc{color:var(--color-text-muted);font-size:var(--text-sm);white-space:pre-wrap;margin:0}.vl-segment{border:1px solid var(--card-border);background:var(--surface-sunken);border-radius:10px;padding:3px;display:inline-flex}.vl-segment__btn{color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 12px;font-weight:600}.vl-segment__btn:hover{color:var(--color-text)}.vl-segment__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.vl-segment__btn--on{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.vl-segment__btn--in-progress.vl-segment__btn--on{background:var(--vl-doing-soft);color:var(--vl-doing)}.vl-segment__btn--completed.vl-segment__btn--on{background:var(--vl-done);color:#fff}.vl-practice{color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.vl-practice .select{min-height:30px;font-size:var(--text-sm);padding:3px 8px}.vl-notes{gap:var(--space-2);padding:var(--card-pad);flex-direction:column;display:flex}.vl-notes__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.vl-notes__head .vl-section-title{margin:0}.vl-notes__state{color:var(--color-text-muted);font-size:var(--text-xs)}.vl-notes__text{min-height:140px}.vl-form{flex-direction:column;gap:14px;display:flex}.vl-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.vl-field{border:0;flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;display:flex}.vl-field__label{font-size:var(--text-sm);padding:0;font-weight:600}.vl-required{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500}.vl-field__row{gap:var(--space-2);display:flex}.vl-field__row .input{flex:1;min-width:0}.vl-field__hint{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.vl-field__error{color:var(--color-danger);font-size:var(--text-xs);margin:0;font-weight:600}.vl-textarea{resize:vertical;font-family:inherit;line-height:1.5}.vl-topics-pick__list{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--surface-sunken);flex-wrap:wrap;gap:4px 14px;max-height:150px;padding:8px 10px;display:flex;overflow-y:auto}.vl-check{font-size:var(--text-sm);cursor:pointer;align-items:flex-start;gap:6px;display:inline-flex}.vl-check input{margin-top:3px}.vl-check--sub{color:var(--color-text-muted)}.vl-check--sub:before{content:"↳"}.vl-form__error{border-radius:var(--radius);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--text-sm);margin:0;padding:8px 10px;font-weight:600}.vl-form__ok{border-radius:var(--radius);background:var(--vl-done-soft);color:var(--vl-done);font-size:var(--text-sm);margin:0;padding:8px 10px;font-weight:600}.vl-form__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.vl-form__actions .vl-field__hint{margin-right:auto}.vl-confirm{margin-bottom:var(--space-3);font-size:var(--text-base)}.vl-confirm p{margin:0 0 var(--space-2)}.vl-button--danger,.vl-button--danger:hover{border-color:var(--color-danger);background:var(--color-danger)}.vl-import__text{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:var(--text-sm)}.vl-import__example summary{color:var(--color-accent);font-size:var(--text-sm);cursor:pointer}.vl-import__example pre{border-radius:var(--radius);background:var(--surface-sunken);max-height:220px;font-size:var(--text-xs);margin:6px 0;padding:10px;overflow:auto}.vl-import__rows{border:1px solid var(--color-border);border-radius:var(--radius);max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.vl-import__row{gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:64px minmax(0,1fr) auto;padding:6px 10px;display:grid}.vl-import__row+.vl-import__row{border-top:1px solid var(--color-border)}.vl-import__kind{color:var(--color-text-muted);text-transform:capitalize}.vl-import__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vl-import__action{font-weight:600}.vl-import__row--new .vl-import__action{color:var(--vl-done)}.vl-import__row--duplicate .vl-import__action,.vl-import__row--invalid .vl-import__action{color:var(--color-text-muted)}.vl-import__row--needs-title .vl-import__action{color:var(--color-warning)}@media (width<=1200px){.vl-workspace__grid{grid-template-columns:minmax(0,1fr) 300px}.vl-category{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.layout__content:has(>.vl){padding:var(--space-3)}.vl-layout,.vl-workspace__grid{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.vl-form__grid{grid-template-columns:minmax(0,1fr)}.vl-row__thumb{display:none}.vl-row{flex-wrap:wrap}.vl-workspace__crumb{display:none}}.vl>.vl-search{margin-bottom:var(--space-3)}.vl-search--inline{flex:none;max-width:420px}.vl-chips{gap:var(--space-2);margin-bottom:var(--space-3);scrollbar-width:thin;padding-bottom:2px;display:flex;overflow-x:auto}.vl-chips__chip{border:1px solid var(--card-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 14px;font-weight:600}.vl-chips__chip:hover{border-color:var(--color-border-strong);background:var(--color-hover)}.vl-chips__chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vl-chips__chip--on,.vl-chips__chip--on:hover{border-color:var(--color-text);background:var(--color-text);color:#fff}.vl-menu{position:relative}.vl-menu__list{z-index:30;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--color-surface);min-width:220px;box-shadow:var(--shadow-md);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px)}.vl-menu__list--right{right:0}.vl-menu__list--left{left:0}.vl-menu__item{color:var(--color-text);font:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:7px 10px;display:flex}.vl-menu__item:hover,.vl-menu__item:focus-visible{background:var(--color-hover);outline:none}.vl-menu__check{width:14px;color:var(--color-accent);font-weight:700}.vl-menu__divider{border:0;border-top:1px solid var(--color-border);width:100%;margin:4px 0}.vl-tags{flex-wrap:wrap;gap:4px;display:flex}.vl-recommend-bar{border-radius:var(--radius);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-xs);border:1px dashed #e3b27a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-weight:600;display:flex}.vl-pside{top:calc(var(--header-height) + var(--space-3));max-height:calc(100vh - var(--header-height) - var(--space-4));flex-direction:column;display:flex;position:sticky;overflow:hidden}.vl-pside__heading{align-items:center;gap:var(--space-2);font-size:var(--text-title);margin:0;padding:12px 14px 8px;display:flex}.vl-pside__toggle{display:none}.vl-pside__empty{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;padding:0 14px 14px}.vl-pside__list{overscroll-behavior:contain;flex:1;margin:0;padding:0 6px 6px;list-style:none;overflow-y:auto}.vl-pside__item{border-radius:var(--radius);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:10px;padding:6px;display:flex}.vl-pside__item:hover{background:var(--color-hover)}.vl-pside__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.vl-pside__item--active,.vl-pside__item--active:hover{background:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--color-accent)}.vl-pside__thumb{aspect-ratio:16/9;background:#0f172a;border-radius:6px;flex-shrink:0;width:120px;overflow:hidden}.vl-pside__text{flex-direction:column;gap:1px;min-width:0;display:flex}.vl-pside__title{font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.vl-pside__item--active .vl-pside__title{color:var(--color-accent)}.vl-pside__meta{color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vl-cat-rows{gap:var(--space-3)}.vl-cat-row{padding-bottom:var(--space-4);border-bottom:1px solid var(--card-border)}.vl-cat-row:last-child{border-bottom:0}.vl-cat-row__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.vl-cat-row__title{align-items:center;gap:var(--space-2);margin:0;font-size:1.1rem;display:flex}.vl-cat-row__more{flex-shrink:0;font-weight:600}.vl-cat-row__empty{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.vl-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.vl-media{flex-direction:column;min-width:0;display:flex;position:relative}.vl-media__thumb{aspect-ratio:16/9;cursor:pointer;box-shadow:var(--shadow-sm);background:#0f172a;border:0;border-radius:10px;padding:0;display:block;position:relative;overflow:hidden}.vl-media__thumb:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.vl-media__thumb .vl-thumb{transition:transform .2s}.vl-media__thumb:hover .vl-thumb{transform:scale(1.03)}.vl-media__badge,.vl-media__kind{color:#fff;font-size:var(--text-xs);background:#0f172ad1;border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-weight:600;display:inline-flex;position:absolute}.vl-media__badge{bottom:6px;right:6px}.vl-media__kind{color:var(--color-text);background:#ffffffe6;top:6px;left:6px}.vl-media__badge svg{width:12px;height:12px}.vl-media__body{flex-direction:column;gap:2px;padding:8px 2px 0;display:flex}.vl-media__title{color:var(--color-text);font:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;-webkit-line-clamp:2;background:0 0;border:0;-webkit-box-orient:vertical;padding:0;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.vl-media__title:hover{color:var(--color-accent)}.vl-media__title:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.vl-media__creator{color:var(--color-text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vl-media__foot{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.vl-media__progress,.vl-media__muted{font-size:var(--text-xs)}.vl-media__progress{color:var(--vl-done);font-weight:600}.vl-media__muted{color:var(--color-text-muted)}.vl-media__fav{color:#e8a400;display:inline-flex}.vl-media__fav svg{width:14px;height:14px}.vl-media__save{align-self:flex-start;margin-top:6px}.vl-media__tools{border-radius:var(--radius);box-shadow:var(--shadow-sm);opacity:0;background:#fffffff2;gap:2px;padding:2px;transition:opacity .12s;display:flex;position:absolute;top:6px;right:6px}.vl-media:hover .vl-media__tools,.vl-media:focus-within .vl-media__tools{opacity:1}.vl-media__tools .icon-button{width:26px;height:26px}@media (hover:none){.vl-media__tools{opacity:1}}.vl-playlist-head{flex-wrap:nowrap}.vl-playlist-head__thumb{aspect-ratio:16/9;cursor:pointer;background:#0f172a;border:0;border-radius:10px;flex-shrink:0;width:240px;padding:0;overflow:hidden}.vl-playlist-head__thumb:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.vl-playlist-head__text{flex:1;min-width:0}.vl-playlist-head .vl-view__actions{align-self:flex-start}.vl-not-loaded{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.vl-not-loaded p{flex:320px;margin:0}@media (width<=1100px){.vl-layout{grid-template-columns:240px minmax(0,1fr)}.vl-pside__thumb{width:84px}.vl-playlist-head{flex-wrap:wrap}}@media (width<=900px){.vl-layout{grid-template-columns:minmax(0,1fr)}.vl-pside{max-height:none;position:static}.vl-pside__heading{display:none}.vl-pside__toggle{align-items:center;gap:var(--space-2);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 14px;font-weight:700;display:flex}.vl-pside__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.vl-pside__chevron{margin-left:auto;transition:transform .15s}.vl-pside--open .vl-pside__chevron{transform:rotate(180deg)}.vl-pside:not(.vl-pside--open) .vl-pside__list,.vl-pside:not(.vl-pside--open) .vl-pside__empty{display:none}.vl-pside__list{max-height:60vh}.vl-pside__thumb{width:112px}}@media (width<=600px){.vl-cards{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.vl-playlist-head__thumb{width:100%}.vl-media__kind{display:none}}@media (width<=380px){.vl-cards{grid-template-columns:minmax(0,1fr)}}.vl .vl-layout{gap:var(--space-3);grid-template-columns:280px minmax(0,1fr)}.vl .vl-layout--videos{grid-template-columns:280px minmax(0,1fr) 320px}.vl-vpanel{top:calc(var(--header-height) + var(--space-3));max-height:calc(100vh - var(--header-height) - var(--space-4));flex-direction:column;min-width:0;display:flex;position:sticky;overflow:hidden}.vl-vpanel__head{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;padding:12px 14px 10px;display:flex}.vl-vpanel__heading{align-items:center;gap:var(--space-2);font-size:var(--text-title);margin:0;display:flex}.vl .vl-vpanel>.vl-vpanel__heading{padding:12px 14px 4px}.vl-vpanel__playlist{color:var(--color-text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.vl-vpanel__empty{align-items:flex-start;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);flex-direction:column;margin:0;padding:14px;display:flex}.vl-vpanel__empty p{margin:0}.vl-vpanel__empty strong{color:var(--color-text)}.vl-vpanel__hint{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.vl-vpanel__hint code{font-size:.95em}.vl-vpanel__sync{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.vl-vpanel__list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:4px;list-style:none;overflow-y:auto}.vl-vpanel__item{border-radius:var(--radius);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:8px;padding:6px;display:flex}.vl-vpanel__item:hover{background:var(--color-hover)}.vl-vpanel__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.vl-vpanel__item--current,.vl-vpanel__item--current:hover{background:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--color-accent)}.vl-vpanel__num{width:22px;min-height:42px;color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;display:grid}.vl-vpanel__num svg{width:12px;height:12px;color:var(--color-accent)}.vl-vpanel__thumb{aspect-ratio:16/9;background:#0f172a;border-radius:6px;flex-shrink:0;width:96px;position:relative;overflow:hidden}.vl-vpanel__dur{color:#fff;background:#0f172ad9;border-radius:4px;padding:0 4px;font-size:.6875rem;font-weight:600;position:absolute;bottom:3px;right:3px}.vl-vpanel__text{flex-direction:column;gap:2px;min-width:0;display:flex}.vl-vpanel__title{font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.vl-vpanel__item--current .vl-vpanel__title{color:var(--color-accent)}.vl-vpanel__status{color:var(--color-text-muted);font-size:var(--text-xs)}.vl-vpanel__status--in-progress{color:var(--vl-doing);font-weight:600}.vl-vpanel__status--completed{color:var(--vl-done);font-weight:600}.vl-vpanel__foot{border-top:1px solid var(--color-border);flex-direction:column;gap:4px;padding:10px 14px 12px;display:flex}@media (width<=1400px){.vl .vl-layout{grid-template-columns:240px minmax(0,1fr)}.vl .vl-layout--videos{grid-template-columns:240px minmax(0,1fr) 280px}.vl-vpanel__thumb{width:80px}}@media (width<=1200px){.vl .vl-layout--videos{grid-template-columns:240px minmax(0,1fr)}.vl-vpanel{grid-column:2;max-height:520px;position:static}}@media (width<=900px){.vl .vl-layout,.vl .vl-layout--videos{grid-template-columns:minmax(0,1fr)}.vl-vpanel{grid-column:auto}}.resources{--res-tools:#0b7285;--res-tools-soft:#e3f6f8;--res-csharp:#5f3dc4;--res-csharp-soft:#efeafe;--res-dsa:#b35c00;--res-dsa-soft:#fff1e0;--res-others:#495057;--res-others-soft:#eceff3;min-width:0}.resources__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.resources__title{margin:0;font-size:1.75rem;line-height:1.2}.resources__description{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.resources__alert{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-danger-soft);color:var(--color-danger);font-weight:600}.resources__notice{margin:0 0 var(--space-3);color:var(--color-success);font-weight:600}.resource-pack{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius);background:var(--tint-blue);font-size:var(--text-base);border:1px solid #c9d4f8;flex-wrap:wrap;padding:10px 14px;display:flex}.resource-pack p{min-width:0;margin:0}.resource-pack__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.resource-pack__review{flex-direction:column;gap:14px;display:flex}.resource-pack__list{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.resource-pack__item{border-bottom:1px solid var(--color-border);font-size:var(--text-sm);flex-direction:column;gap:2px;padding:6px 0;display:flex}.resource-pack__item-head{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.resource-pack__url{color:var(--color-text-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.resource-pack__status{color:var(--color-success);font-size:var(--text-xs);font-weight:600}.resource-pack__item--skip .resource-pack__status{color:var(--color-warning)}.resources__controls{margin-bottom:var(--space-3);flex-direction:column;gap:12px;display:flex}.resources__search{display:block;position:relative}.resources__search svg{width:16px;height:16px;color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.resources__search .input{border-color:var(--card-border);width:100%;min-height:40px;box-shadow:var(--shadow-sm);padding-left:36px}.resources__filters{scrollbar-width:thin;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.resources__filter{border:1px solid var(--card-border);background:var(--color-surface);min-height:32px;color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 12px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.resources__filter:hover{border-color:var(--color-border-strong);background:var(--color-hover)}.resources__filter:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.resources__filter--active,.resources__filter--active:hover{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.resources__filter-count{background:var(--surface-sunken);min-width:18px;color:var(--color-text-muted);font-size:var(--text-xs);text-align:center;border-radius:999px;padding:0 5px}.resources__filter--active .resources__filter-count{color:#fff;background:#ffffff38}.resources__count{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 12px}.resources__empty p{margin:0}.resources__empty code{background:var(--surface-sunken);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:.85em}.resources__empty-hint{font-size:var(--text-sm);margin-top:var(--space-2)!important}.resources__confirm p{margin:0 0 var(--space-3)}.resource-badge{padding:1px var(--space-2);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;font-weight:700;line-height:1.6;display:inline-block}.resource-badge--tools{background:var(--res-tools-soft,#e3f6f8);color:var(--res-tools,#0b7285)}.resource-badge--unity{background:var(--color-unity-soft);color:var(--color-unity)}.resource-badge--csharp{background:var(--res-csharp-soft,#efeafe);color:var(--res-csharp,#5f3dc4)}.resource-badge--dsa{background:var(--res-dsa-soft,#fff1e0);color:var(--res-dsa,#b35c00)}.resource-badge--aiml{background:var(--color-aiml-soft);color:var(--color-aiml)}.resource-badge--others{background:var(--res-others-soft,#eceff3);color:var(--res-others,#495057)}.layout__content:has(>.resources){max-width:var(--header-max-width)}.resources{--split-ms:.32s;--split-ease:cubic-bezier(.22, .8, .24, 1);--topics-w:208px;--split-gap:16px}.resources__body{grid-template-columns:var(--topics-w) var(--split-gap) minmax(0, 1fr) 0px minmax(0, 0fr);transition:grid-template-columns var(--split-ms) var(--split-ease);align-items:start;display:grid}.resources--split .resources__body{grid-template-columns:var(--topics-w) var(--split-gap) minmax(0, 38fr) var(--split-gap) minmax(0, 62fr)}.resources__body>.topics--sidebar{grid-column:1}.resources__main{grid-column:3;min-width:0}.resources__body>.research-panel{grid-column:5}.topics--sidebar{top:calc(var(--resources-top,var(--header-height)) + var(--space-3));max-height:calc(100vh - var(--resources-top,var(--header-height)) - 2 * var(--space-3));max-height:calc(100dvh - var(--resources-top,var(--header-height)) - 2 * var(--space-3));border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;padding:12px 8px 8px;display:flex;position:sticky}.topics__heading{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 6px 8px;font-weight:700;display:flex}.topics__count{background:var(--surface-sunken);min-width:20px;font-size:var(--text-xs);letter-spacing:0;text-align:center;border-radius:999px;padding:0 6px}.topics__list{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.topics__item{width:100%;color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:left;overflow-wrap:anywhere;cursor:pointer;-webkit-line-clamp:2;line-clamp:2;background:0 0;border:none;border-left:3px solid #0000;border-radius:6px;-webkit-box-orient:vertical;padding:7px 10px;line-height:1.35;transition:background-color .15s,color .15s;display:-webkit-box;overflow:hidden}.topics__item:hover{background:var(--color-hover)}.topics__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.topics__item--active,.topics__item--active:hover{border-left-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.topics__empty{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 6px}.topics-menu{align-self:flex-start;max-width:100%;display:none;position:relative}.topics-menu__toggle{max-width:100%}.topics-menu__label{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.topics-menu__current{text-overflow:ellipsis;min-width:0;overflow:hidden}.topics-menu__chevron{color:var(--color-text-muted)}.topics--menu{z-index:25;width:min(320px, calc(100vw - 2 * var(--space-3)));border:1px solid var(--card-border);border-radius:var(--radius);background:var(--color-surface);max-height:min(60vh,420px);box-shadow:var(--shadow-md);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}@media (width<=1279px){.resources{--topics-w:184px;--split-gap:12px}}@media (width<=1099px){.resources__body>.topics--sidebar{display:none}.topics-menu{display:block}.resources__body{grid-template-columns:0 0 minmax(0,1fr) 0 minmax(0,0fr)}.resources--split .resources__body{grid-template-columns:0px 0px minmax(0, 45fr) var(--split-gap) minmax(0, 55fr)}}.resources__list{flex-direction:column;gap:12px;display:flex;container:resource-list/inline-size}.research-panel{top:calc(var(--resources-top,var(--header-height)) + var(--space-3));min-width:0;height:calc(100vh - var(--resources-top,var(--header-height)) - 2 * var(--space-3));height:calc(100dvh - var(--resources-top,var(--header-height)) - 2 * var(--space-3));visibility:hidden;transition:visibility 0s linear var(--split-ms);justify-content:flex-end;display:flex;position:sticky;overflow:hidden}.research-panel--open{visibility:visible;transition:visibility}.research-panel__inner{opacity:0;width:100%;min-width:300px;height:100%;transition:transform var(--split-ms) var(--split-ease), opacity calc(var(--split-ms) * .8) ease;flex-direction:column;flex:none;display:flex;overflow:hidden;transform:translate(40px)}.research-panel--open .research-panel__inner{opacity:1;transform:none}.research-panel__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:12px var(--space-3) 12px var(--space-4);border-bottom:1px solid var(--color-border);flex:none;display:flex}.research-panel__title{margin:0;font-size:1.0625rem}.research-panel__title:focus{outline:none}.research-panel__body{--explain-pad:var(--space-4);min-height:0;padding:var(--explain-pad) var(--explain-pad) 0;overscroll-behavior:contain;flex:1;overflow-y:auto}.research-panel__body .explain{animation:.18s research-swap}@keyframes research-swap{0%{opacity:0;transform:translateY(4px)}}@media (width<=759px){.resources__body,.resources--split .resources__body{grid-template-columns:0 0 minmax(0,1fr) 0 0}.research-panel{z-index:40;height:auto;transition:visibility 0s linear var(--split-ms), background-color var(--split-ms) ease;background:#0f172a00;position:fixed;inset:0}.research-panel--open{transition:visibility 0s, background-color var(--split-ms) ease;background:#0f172a66}.research-panel__inner{opacity:1;border:none;border-radius:0;min-width:0;transform:translate(100%)}.research-panel__body{--explain-pad:var(--space-3)}}html.resources-panel-locked{overflow:hidden}@media (prefers-reduced-motion:reduce){.resources,.resources__body,.research-panel,.research-panel__inner{--split-ms:0s;transition-duration:0s!important}.research-panel__body .explain{animation:none}}.resource-card{min-width:0;padding:14px var(--card-pad);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main tools""actions actions";gap:10px 12px;transition:box-shadow .3s,border-color .3s;display:grid}.resource-card--highlight{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft), var(--shadow-card)}.resource-card--active{border-color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-accent), var(--shadow-card)}.resource-card__main{flex-direction:column;grid-area:main;gap:6px;min-width:0;display:flex}.resource-card__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.resource-card__type{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.resource-card__tools{grid-area:tools;align-self:start;gap:2px;margin:-4px -6px 0 0;display:flex}.resource-card__title{font-size:var(--text-title);overflow-wrap:anywhere;margin:0;line-height:1.35}.resource-card__summary{color:var(--color-text);font-size:var(--text-base);-webkit-line-clamp:10;line-clamp:10;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.resource-card__summary--empty{color:var(--color-text-muted);font-style:italic}.resource-card__foot{flex-wrap:wrap;align-items:center;gap:4px 14px;min-width:0;display:flex}.resource-card__url{min-width:0;max-width:100%;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-card__tags{color:var(--color-accent);font-size:var(--text-xs);flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.resource-card__actions{gap:var(--space-2);border-top:1px solid var(--color-border);flex-wrap:wrap;grid-area:actions;padding-top:10px;display:flex}.resource-card__actions svg{width:14px;height:14px}.resource-card__actions span[aria-disabled=true]{cursor:default;opacity:.6}.resource-card__explain{background:var(--color-accent-soft);color:var(--color-accent);border-color:#c9d4f8}.resource-card__explain:hover,.resource-card__explain[aria-expanded=true]{border-color:var(--color-accent);background:#dde5fb}.resource-card__explain:disabled{opacity:.7}@container resource-list (width>=600px){.resource-card{gap:6px var(--space-4);padding:14px var(--card-pad) 14px 18px;grid-template-rows:auto 1fr;grid-template-areas:"main tools""main actions"}.resource-card__summary{-webkit-line-clamp:6;line-clamp:6}.resource-card__tools{justify-self:end}.resource-card__actions{border-top:none;flex-direction:column;align-self:end;padding-top:0}.resource-card__actions .button{width:100%}}.resource-form{flex-direction:column;gap:14px;display:flex}.resource-form__lead{color:var(--color-text-muted);margin:0}.resource-form__field{min-width:0;font-size:var(--text-base);flex-direction:column;gap:4px;font-weight:600;display:flex}.resource-form__field .input,.resource-form__field .select{width:100%;font-weight:400}.resource-form__textarea{resize:vertical;min-height:80px;line-height:1.5}.resource-form__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.resource-form__hint,.resource-form__error,.resource-form__ok,.resource-form__warn{font-size:var(--text-xs);font-weight:400}.resource-form__hint{color:var(--color-text-muted)}.resource-form__error{color:var(--color-danger);font-weight:600}.resource-form__ok{color:var(--color-success);font-weight:600}.resource-form__warn{color:var(--color-warning);font-weight:600}.resource-form__lookup{border-radius:var(--radius);background:var(--surface-sunken);color:var(--color-text-muted);font-size:var(--text-sm);padding:8px 12px}.resource-form__lookup:empty{display:none}.resource-form__lookup-failed{color:var(--color-warning)}.resource-form__duplicate{border-radius:var(--radius);background:var(--color-warning-soft);font-size:var(--text-sm);border:1px solid #f1c48b;padding:10px 12px}.resource-form__duplicate p{margin:0 0 var(--space-2)}.resource-form__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.resource-form__review{border-radius:var(--radius);background:var(--surface-sunken);font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0;padding:10px 12px;list-style:none;display:flex}.resource-form__mono{overflow-wrap:anywhere;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.explain{gap:var(--space-3);flex-direction:column;display:flex}.explain__head{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;display:flex}.explain__title{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.explain__summary{color:var(--color-text-muted);margin:0}.explain__provenance{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.explain__verification{border-left:3px solid var(--color-warning);background:var(--color-warning-soft);color:var(--color-text);font-size:var(--text-xs);border-radius:4px;margin:0;padding:6px 10px}.explain__source{align-items:center;gap:var(--space-2) 12px;flex-wrap:wrap;display:flex}.explain__message{color:var(--color-success);font-size:var(--text-sm);margin:0;font-weight:600}.explain__message--error{color:var(--color-warning)}.explain__empty{padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius);background:var(--surface-sunken);font-size:var(--text-base)}.explain__empty p{margin:0}.explain__empty p+p{margin-top:var(--space-2)}.explain__section-title{align-items:center;gap:var(--space-2);font-size:var(--text-title);margin:0 0 6px;display:flex}.explain__letter{background:var(--color-accent-soft);width:22px;height:22px;color:var(--color-accent);font-size:var(--text-xs);border-radius:6px;place-items:center;display:inline-grid}.explain__unavailable{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;font-style:italic}.explain__source-link{color:var(--color-accent);font-size:var(--text-base);overflow-wrap:anywhere}.explain__editor{flex-direction:column;gap:12px;display:flex}.explain__buttons{gap:var(--space-2);margin:0 calc(-1 * var(--explain-pad,var(--space-4))) calc(-1 * var(--explain-pad,var(--space-4)));padding:12px var(--explain-pad,var(--space-4));border-top:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.explain__close{margin-left:auto}.explanation-text{font-size:var(--text-base);overflow-wrap:anywhere;line-height:1.6}.explanation-text p,.explanation-text ul,.explanation-text pre{margin:0 0 var(--space-2)}.explanation-text>:last-child{margin-bottom:0}.explanation-text ul{padding-left:20px}.explanation-text pre{border-radius:var(--radius);color:#e9edf5;max-width:100%;font-size:var(--text-sm);background:#1e2533;padding:10px 12px;line-height:1.45;overflow-x:auto}.explanation-text a{color:var(--color-accent)}@media (width<=560px){.resources__header>.button{width:100%}.resource-form__row{grid-template-columns:minmax(0,1fr)}.explain__close{margin-left:0}}
