@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";.iv-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:600;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:filter var(--dur-instant) var(--ease-standard),background var(--dur-instant) var(--ease-standard),border-color var(--dur-instant) var(--ease-standard),box-shadow var(--dur-instant) var(--ease-standard),transform var(--dur-instant) var(--ease-standard);-webkit-user-select:none;-moz-user-select:none;user-select:none}.iv-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-btn:disabled,.iv-btn[aria-disabled=true]{opacity:var(--op-disabled);cursor:not-allowed;box-shadow:none;pointer-events:none}.iv-btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.iv-btn--md{padding:11px 18px;font-size:14px;border-radius:var(--r-md)}.iv-btn--sm{padding:8px 13px;font-size:13px;border-radius:var(--r-sm)}.iv-btn--primary{background:var(--accent-grad);color:var(--on-accent);box-shadow:var(--shadow-accent)}.iv-btn--primary:hover:not(:disabled){filter:brightness(1.04)}.iv-btn--secondary{background:var(--surface-3);color:var(--text-body);border-color:var(--border-strong)}.iv-btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--surface-3) 100%,white 4%)}.iv-btn--ghost{background:transparent;color:var(--text-mid)}.iv-btn--ghost:hover:not(:disabled){background:var(--hover-tint);color:var(--text-hi)}.iv-btn--accent-bright{background:var(--accent-bright);color:var(--on-accent)}.iv-btn--accent-bright:hover:not(:disabled){filter:brightness(1.04)}.iv-btn--full{width:100%}.iv-field{display:flex;flex-direction:column;gap:var(--space-2)}.iv-field__label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-low)}.iv-input,.iv-textarea{width:100%;font-family:var(--font-sans);font-size:14px;color:var(--text-hi);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;transition:border-color var(--dur-instant) var(--ease-standard),box-shadow var(--dur-instant) var(--ease-standard)}.iv-textarea{resize:vertical;min-height:96px;line-height:1.55}.iv-input::-moz-placeholder,.iv-textarea::-moz-placeholder{color:var(--text-faint)}.iv-input::placeholder,.iv-textarea::placeholder{color:var(--text-faint)}.iv-input:hover:not(:disabled),.iv-textarea:hover:not(:disabled){border-color:var(--border-strong)}.iv-input:focus-visible,.iv-textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.iv-input:disabled,.iv-textarea:disabled{opacity:var(--op-disabled);cursor:not-allowed}.iv-input--error,.iv-textarea--error{border-color:var(--error)}.iv-field__help{font-size:12px;color:var(--text-low)}.iv-field__help--error{color:var(--error)}.iv-search{position:relative;display:flex;align-items:center}.iv-search__glyph{position:absolute;left:12px;display:flex;pointer-events:none;color:var(--text-faint)}.iv-search .iv-input{padding-left:34px}.iv-search__kbd{position:absolute;right:10px;font-family:var(--font-mono);font-size:11px;color:var(--text-mid);border:1px solid var(--border);border-radius:var(--r-xs);padding:2px 6px;pointer-events:none}.iv-card{background:var(--surface-card-grad);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.iv-card--pad{padding:20px}.iv-card--clickable{cursor:pointer;transition:background var(--dur-instant) var(--ease-standard),transform var(--dur-instant) var(--ease-standard)}.iv-card--clickable:hover{background-color:var(--hover-tint);transform:translateY(-1px)}.iv-card--clickable:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-card--hero{position:relative;border-radius:var(--r-xl);border-color:#ebd9b836;box-shadow:var(--shadow-hero);overflow:hidden}.iv-card--category{border-left-width:3px}.iv-card--selected{border-color:var(--accent)}.iv-metric{display:flex;flex-direction:column;gap:var(--space-1)}.iv-metric__label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-low)}.iv-metric__value{font-family:var(--font-mono);font-weight:600;font-size:26px;line-height:1;color:var(--text-hi);letter-spacing:-.02em}.iv-metric__row{display:flex;align-items:baseline;gap:var(--space-2)}.iv-metric__delta{font-family:var(--font-mono);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:3px}.iv-metric__delta--up{color:var(--success)}.iv-metric__delta--down{color:var(--error)}.iv-metric__delta--flat{color:var(--text-low)}.iv-metric__sub{font-size:12px;color:var(--text-mid)}.iv-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-sans);font-size:11px;font-weight:600;padding:3px 8px;border-radius:var(--r-xs);border:1px solid var(--border);color:var(--text-mid);background:var(--surface-2)}.iv-badge--high{color:var(--error);background:color-mix(in srgb,var(--error) 11%,transparent);border-color:color-mix(in srgb,var(--error) 30%,transparent)}.iv-badge--medium{color:var(--warning);background:color-mix(in srgb,var(--warning) 11%,transparent);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.iv-badge--low{color:var(--text-mid)}.iv-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:12px;font-weight:600;padding:5px 10px;border-radius:var(--r-xs);border:1px solid var(--border);color:var(--text-mid);background:var(--surface-2)}.iv-chip__dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.iv-chip__san{font-family:var(--font-mono)}.iv-chip--mq{color:var(--mq-color);background:color-mix(in srgb,var(--mq-color) 11%,transparent);border-color:color-mix(in srgb,var(--mq-color) 30%,transparent)}.iv-chip--mq.iv-chip--emph .iv-chip__dot{box-shadow:0 0 12px color-mix(in srgb,var(--mq-color) 55%,transparent)}.iv-seg{display:inline-flex;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.iv-seg__item{font-family:var(--font-sans);font-size:12px;font-weight:600;padding:5px 12px;border:none;border-radius:var(--r-xs);background:transparent;color:var(--text-mid);cursor:pointer;transition:background var(--dur-standard) var(--ease-standard),color var(--dur-standard) var(--ease-standard)}.iv-seg__item:hover:not([aria-checked=true]){color:var(--text-hi)}.iv-seg__item[aria-checked=true]{background:var(--accent);color:var(--on-accent)}.iv-seg__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--hairline)}.iv-tab{font-family:var(--font-sans);font-size:14px;font-weight:600;padding:10px 2px;background:none;border:none;cursor:pointer;color:var(--text-low);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-standard) var(--ease-standard),border-color var(--dur-standard) var(--ease-standard)}.iv-tab:hover{color:var(--text-mid)}.iv-tab[aria-selected=true]{color:var(--text-hi);border-bottom-color:var(--accent)}.iv-tab:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-xs)}.iv-dropdown{position:relative;display:inline-block}.iv-dropdown__menu{position:absolute;z-index:60;min-width:180px;margin-top:6px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:6px;display:flex;flex-direction:column;gap:2px}.iv-dropdown__item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--font-sans);font-size:13px;color:var(--text-body);padding:8px 10px;border:none;background:transparent;border-radius:var(--r-xs);cursor:pointer;text-align:left;width:100%}.iv-dropdown__item:hover{background:var(--hover-tint)}.iv-dropdown__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-dropdown__item--selected{color:var(--accent)}.iv-toggle{position:relative;width:40px;height:24px;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;padding:0;transition:background var(--dur-standard) var(--ease-standard);flex-shrink:0}.iv-toggle[aria-checked=true]{background:var(--accent)}.iv-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-toggle__knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-hi);transition:transform var(--dur-standard) var(--ease-standard)}.iv-toggle[aria-checked=true] .iv-toggle__knob{transform:translate(16px);background:var(--on-accent)}.iv-toggle:disabled{opacity:var(--op-disabled);cursor:not-allowed}.iv-scrim{position:fixed;inset:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.iv-dialog{width:100%;max-width:520px;max-height:90vh;overflow:auto;background:var(--surface-card-grad);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);padding:var(--space-6)}.iv-scrim--sheet{align-items:flex-end;padding:0}.iv-sheet{width:100%;max-height:88vh;overflow:auto;background:var(--surface-card-grad);border-top:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-pop);padding:var(--space-5) var(--space-5) var(--space-6)}.iv-sheet__handle{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto var(--space-4)}.iv-toast-region{position:fixed;z-index:200;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;max-width:380px}.iv-toast{display:flex;align-items:flex-start;gap:10px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:12px 14px;color:var(--text-body);font-size:13px;animation:ivPageIn var(--dur-standard) var(--ease-out)}.iv-toast__dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.iv-toast--success .iv-toast__dot{background:var(--success)}.iv-toast--error .iv-toast__dot{background:var(--error)}.iv-toast--info .iv-toast__dot{background:var(--info)}.iv-progress{width:100%;height:6px;background:var(--progress-track);border-radius:var(--r-pill);overflow:hidden}.iv-progress__fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width var(--dur-emphasis) var(--ease-out)}.iv-progress--success .iv-progress__fill{background:var(--success)}.iv-progress--glow .iv-progress__fill{box-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent)}.iv-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-elev);color:var(--text-mid);font-family:var(--font-sans);font-weight:600;overflow:hidden;border:1px solid var(--border)}.iv-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.iv-spinner{display:inline-block;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);animation:ivSpin .8s linear infinite}@keyframes ivSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.iv-spinner{animation-duration:2s}}.iv-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-3);padding:var(--space-10) var(--space-5)}.iv-state__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.iv-state--error .iv-state__icon{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error);border-color:color-mix(in srgb,var(--error) 28%,transparent)}.iv-state__title{font-size:16px;font-weight:600;color:var(--text-hi)}.iv-state__body{font-size:13px;color:var(--text-mid);max-width:380px;line-height:1.55}@media (pointer: coarse){.iv-btn,.iv-seg__item,.iv-tab,.iv-dropdown__item{min-height:44px}}.dash{max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--space-7) var(--space-12);display:flex;flex-direction:column;gap:var(--space-8)}.dash-greeting{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-2)}.dash-greeting__text{min-width:0}.dash-greeting__sub{color:var(--text-mid);margin-top:6px}.dash-greeting__actions{display:flex;gap:var(--space-3);flex-shrink:0}.dash-hero-row{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-5);align-items:stretch}.dash-hero-row>.iv-card{height:100%}.dash-rail{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}@media (max-width: 1279px){.dash-hero-row{grid-template-columns:1fr}}.dash-momentum{display:flex;align-items:center;gap:var(--space-4);width:100%;text-align:left;cursor:pointer;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4) var(--space-5)}.dash-momentum:hover{background:var(--hover-tint)}.dash-momentum:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dash-momentum__score{font-family:var(--font-mono);font-size:30px;font-weight:600;color:var(--accent);line-height:1;flex-shrink:0}.dash-momentum__body{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-momentum__verdict{color:var(--text-hi);font-size:16px;font-weight:600;display:inline-flex;align-items:baseline;gap:8px}.dash-momentum__delta{font-family:var(--font-mono);font-size:13px}.dash-momentum__meta{color:var(--text-low);font-size:13px;font-family:var(--font-mono)}.dash-planstrip__body{display:flex;flex-direction:column;gap:var(--space-3)}.dash-planstrip__item{display:flex;align-items:center;gap:var(--space-3);background:none;border:none;text-align:left;cursor:pointer;padding:8px;border-radius:var(--r-md);width:100%}.dash-planstrip__item:hover{background:var(--hover-tint)}.dash-planstrip__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dash-planstrip__icon{width:34px;height:34px;flex-shrink:0;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:var(--surface-2);border:1px solid var(--border);color:var(--mq-color, var(--text-body))}.dash-planstrip__text{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-planstrip__label{color:var(--text-hi);font-size:13px;font-weight:600}.dash-planstrip__sub{color:var(--text-low);font-size:12px}@media (max-width: 767px){.dash-planstrip__body{grid-template-columns:1fr}}.dash-row{display:grid;gap:var(--space-5)}.dash-row--score{grid-template-columns:320px 1fr}.dash-row--mid{grid-template-columns:1fr 360px}.dash-row--bottom{grid-template-columns:1.4fr 1fr}.dash-rightstack{display:flex;flex-direction:column;gap:var(--space-5)}.dash-card__head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-3)}.dash-card__titles{display:flex;flex-direction:column;gap:2px}.dash-card__title{color:var(--text-hi)}.dash-card__q{font-size:11px;color:var(--text-low);font-style:italic}.dash-link{color:var(--text-mid);font-size:13px;text-decoration:none;background:none;border:none;cursor:pointer}.dash-link:hover{color:var(--accent)}.dash-link:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-xs)}.dash-score{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.dash-score__top{display:flex;gap:var(--space-4);align-items:center}.dash-score__verdict{color:var(--text-hi);margin-bottom:var(--space-2)}.dash-score__drivers{display:flex;flex-direction:column;gap:4px}.dash-score__driver{font-size:12px;display:flex;align-items:baseline;gap:6px}.dash-score__driver--up{color:var(--success)}.dash-score__driver--down{color:var(--warning)}.dash-score__driver span{color:var(--text-mid)}.dash-score__metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.dash-score__next{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding:10px 12px;border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text-body);font-size:13px;width:100%;cursor:pointer;text-align:left}.dash-score__next:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.dash-score__next:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dash-score__next strong{color:var(--accent);font-weight:600}.dash-rating__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.dash-rating__nums{display:flex;align-items:baseline;gap:var(--space-3)}.dash-rating__value{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--text-body);letter-spacing:-.02em}.dash-rating__delta{font-family:var(--font-mono);font-size:14px;font-weight:600}.dash-rating__delta--up{color:var(--success)}.dash-rating__delta--down{color:var(--error)}.dash-rating__peak{font-family:var(--font-mono);font-size:12px;color:var(--text-low)}.dash-weakness{display:flex;flex-direction:column;gap:8px;padding:var(--space-4) 0;width:100%;background:none;border:none;text-align:left;cursor:pointer}.dash-weakness+.dash-weakness{border-top:1px solid var(--hairline)}.dash-weakness:hover .dash-weakness__name{color:var(--accent)}.dash-weakness:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}.dash-weakness__top{display:flex;align-items:center;gap:var(--space-3)}.dash-weakness__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:var(--r-md);font-size:17px;background:color-mix(in srgb,var(--mq-color, var(--accent)) 12%,transparent);color:var(--mq-color, var(--accent));border:1px solid color-mix(in srgb,var(--mq-color, var(--accent)) 26%,transparent)}.dash-weakness__name{color:var(--text-hi);font-size:14px;font-weight:600;flex:1;min-width:0}.dash-weakness__pct{font-family:var(--font-mono);font-size:13px;color:var(--text-body);font-weight:600}.dash-weakness__trend{font-size:11px;display:inline-flex;align-items:center;gap:3px}.dash-weakness__trend--improving{color:var(--success)}.dash-weakness__trend--worsening{color:var(--error)}.dash-weakness__trend--steady{color:var(--text-low)}.dash-weakness__why{color:var(--text-mid);font-size:12px;line-height:1.5;padding-left:46px}.dash-weakness__foot{display:flex;align-items:center;gap:var(--space-3);padding-left:46px}.dash-weakness__foot .iv-progress{flex:1}.dash-weakness__action{color:var(--accent);font-size:12px;font-weight:600;white-space:nowrap}.dash-focus__label{color:var(--accent);display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--space-2)}.dash-focus__title{color:var(--text-hi);margin-bottom:var(--space-2)}.dash-focus__rationale{color:var(--text-mid);font-size:13px;line-height:1.55;margin-bottom:var(--space-4)}.dash-focus__metrics{display:flex;gap:var(--space-5);margin-bottom:var(--space-4)}.dash-focus__cta{display:flex;align-items:center;gap:var(--space-3)}.dash-focus__time{color:var(--text-low);font-size:12px;font-family:var(--font-mono)}.dash-game{display:flex;align-items:center;gap:var(--space-3);padding:10px 0;text-decoration:none}.dash-game+.dash-game{border-top:1px solid var(--hairline)}.dash-game:hover{background:var(--hover-tint)}.dash-game:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}.dash-game__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-game__dot--win{background:var(--success);box-shadow:0 0 8px color-mix(in srgb,var(--success) 55%,transparent)}.dash-game__dot--loss{background:var(--error);box-shadow:0 0 8px color-mix(in srgb,var(--error) 55%,transparent)}.dash-game__dot--draw{background:var(--text-low)}.dash-game__main{flex:1;min-width:0}.dash-game__vs{color:var(--text-body);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-game__opening{color:var(--text-low);font-size:12px}.dash-game__eco{font-family:var(--font-mono);color:var(--text-faint)}.dash-game__acc{font-family:var(--font-mono);font-size:13px;color:var(--text-body);font-weight:600}.dash-game__time{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);white-space:nowrap}.dash-game__tag{font-size:11px;color:var(--text-mid)}.dash-coach__head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.dash-coach__mark{width:28px;height:28px;border-radius:var(--r-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#2e2920,#161310);color:var(--accent);font-size:14px}.dash-coach__label{color:var(--accent)}.dash-coach__text{color:var(--text-body);font-size:13px;line-height:1.55}.dash-coach__ctx{color:var(--text-low);font-size:11px;margin-top:var(--space-2)}.dash-roadmap{display:flex;flex-direction:column}.dash-roadmap__node{display:flex;gap:var(--space-3);padding-bottom:var(--space-5);position:relative}.dash-roadmap__node:last-child{padding-bottom:0}.dash-roadmap__node:not(:last-child):before{content:"";position:absolute;left:10px;top:24px;bottom:0;width:2px;background:var(--hairline)}.dash-roadmap__dot{width:21px;height:21px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;z-index:1;margin-top:1px}.dash-roadmap__dot--achieved{background:var(--success);color:var(--on-accent)}.dash-roadmap__dot--in_progress{background:color-mix(in srgb,var(--accent) 22%,transparent);border:2px solid var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 45%,transparent)}.dash-roadmap__dot--future{background:transparent;border:1px solid var(--border-strong)}.dash-roadmap__label{color:var(--text-body);font-size:14px;font-weight:500}.dash-roadmap__node--in_progress .dash-roadmap__label{color:var(--text-hi);font-weight:600}.dash-roadmap__detail{color:var(--text-low);font-size:12px;font-family:var(--font-mono);margin-top:2px}.dash-roadmap__node--future .dash-roadmap__label{color:var(--text-mid)}@media (max-width: 1023px){.dash-row--score,.dash-row--mid,.dash-row--bottom{grid-template-columns:1fr}}@media (max-width: 767px){.dash{padding:var(--space-5) var(--space-4) var(--space-12);gap:var(--space-6)}.dash-greeting__actions{width:100%;flex-direction:column-reverse}.dash-greeting__actions>*{width:100%}.dash-row--score,.dash-row--mid,.dash-row--bottom{display:contents}.dash-order-score{order:1}.dash-order-focus{order:2}.dash-order-rating{order:3}.dash-order-weak{order:4}.dash-order-recent{order:5}.dash-order-stack{order:6}}.ins{max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--space-7) var(--space-12);display:flex;flex-direction:column;gap:var(--space-6)}.ins-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.ins-head__text{min-width:0}.ins-status{color:var(--text-mid);margin:4px 0 0;font-size:14px}.ins-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-2)}.ins-card--wide,.ins-strength,.ins-streak{grid-column:span 2}.ins-card{display:flex;flex-direction:column;gap:var(--space-3)}.ins-grid--progress{grid-template-columns:2fr 1fr}@media (max-width: 1023px){.ins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-card--wide,.ins-strength,.ins-streak{grid-column:span 2}.ins-grid--progress{grid-template-columns:1fr}}@media (max-width: 639px){.ins-grid{grid-template-columns:1fr}.ins-card--wide,.ins-strength,.ins-streak{grid-column:span 1}.ins-strength__row .ins-strength__note{display:none}}.ins-metric__value{font-size:40px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--text-hi)}.ins-metric__label{color:var(--text-low)}.ins-metric__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.ins-divider{height:1px;background:var(--hairline);margin:var(--space-1) 0}.ins-break{color:var(--text-mid);font-size:14px;margin:0}.ins-break__n{color:var(--text-hi);font-weight:600;font-family:var(--font-mono);margin-right:4px}.ins-note{color:var(--text-mid);font-size:14px;margin:0}.ins-up{color:var(--success)}.ins-down{color:var(--error)}.ins-gauge{align-items:center;text-align:center}.ins-split{display:flex;height:34px;border-radius:var(--r-md);overflow:hidden;margin-top:var(--space-1)}.ins-split__seg{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden}.ins-split__seg--w{background:var(--accent);color:var(--on-accent)}.ins-split__seg--b{background:var(--surface-3);color:var(--text-hi)}.ins-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.ins-panel-head .iv-h3{color:var(--text-hi);margin:0}.ins-strength__primary{display:flex;align-items:center;gap:var(--space-4)}.ins-strength__primary .iv-progress{flex:1}.ins-strength__primary-meta{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.ins-strength__pct-lg{font-family:var(--font-mono);font-weight:700;color:var(--text-hi);font-size:15px}.ins-strength__note{color:var(--text-low);font-size:12px}.ins-strength__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.ins-strength__row{display:flex;align-items:center;gap:var(--space-3)}.ins-strength__row .iv-chip{min-width:48px;justify-content:center}.ins-strength__icon{color:var(--text-low);display:inline-flex;align-items:center}.ins-strength__label{color:var(--text-body);font-size:14px;font-weight:500}.ins-strength__row .ins-strength__note{margin-left:auto;text-align:right}.ins-heatmap{display:flex;flex-direction:column;gap:6px}.ins-heatmap__months{display:flex;padding-left:40px;color:var(--text-low);font-size:11px}.ins-heatmap__months span{flex:1 1 0}.ins-heatmap__grid{display:flex;flex-direction:column;gap:4px}.ins-heatmap__row{display:flex;align-items:center;gap:4px}.ins-heatmap__day{width:36px;flex-shrink:0;color:var(--text-low);font-size:11px}.ins-cell{width:15px;height:15px;border-radius:3px;flex-shrink:0}.ins-heatmap__row .ins-cell{flex:1 1 0;min-width:0;width:auto;aspect-ratio:1;height:auto}.ins-cell--l0{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--hairline)}.ins-cell--future{visibility:hidden}.ins-cell--l1{background:color-mix(in srgb,var(--accent) 32%,var(--surface-3))}.ins-cell--l2{background:color-mix(in srgb,var(--accent) 58%,var(--surface-2))}.ins-cell--l3{background:color-mix(in srgb,var(--accent) 82%,transparent)}.ins-cell--l4{background:var(--accent)}.ins-legend{display:flex;align-items:center;gap:6px;margin-top:var(--space-2)}.ins-legend .ins-cell{width:13px;height:13px}.ins-legend__label{color:var(--text-low);font-size:12px}.ins-opps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.ins-opp{display:flex;align-items:center;gap:var(--space-3);padding:6px 0}.ins-opp__meta{display:flex;flex-direction:column;min-width:0;flex:1}.ins-opp__name{color:var(--text-hi);font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ins-opp__sub{color:var(--text-low);font-size:12px}.ins-opp__record{font-family:var(--font-mono);font-size:13px;font-weight:600;flex-shrink:0}.ins-opp__record--win{color:var(--success)}.ins-opp__record--loss{color:var(--error)}.ins-opp__record--draw{color:var(--text-mid)}.iv-aw{max-width:var(--content-max);margin:0 auto;padding:var(--space-6) var(--space-7) var(--space-12);display:grid;grid-template-columns:minmax(0,700px) minmax(0,1fr);gap:var(--space-6);align-items:start}.iv-aw__board-col{display:flex;flex-direction:column;gap:var(--space-3);position:sticky;top:var(--space-4)}.iv-aw__stage{display:flex;gap:var(--space-3);align-items:stretch}.iv-aw__stage .iv-board{flex:1;min-width:0}.iv-aw__panel{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.iv-board{container-type:inline-size;position:relative;width:100%;aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--board-shadow);border:1px solid var(--border)}.iv-board__arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.iv-board__sq{position:relative;display:flex;align-items:center;justify-content:center}.iv-board__sq--light{background:var(--board-light)}.iv-board__sq--dark{background:var(--board-dark)}.iv-board__sq--last:after{content:"";position:absolute;inset:0;background:var(--board-lastmove);pointer-events:none}.iv-board__piece{font-size:9cqw;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:1}.iv-board__piece--w{color:var(--piece-white);text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 1px rgba(0,0,0,.4)}.iv-board__piece--b{color:var(--piece-black);text-shadow:0 1px 1px rgba(0,0,0,.3)}.iv-board__coord{position:absolute;font-family:var(--font-mono);font-size:2cqw;font-weight:600;opacity:.7;line-height:1}.iv-board__coord--rank{left:4%;top:3%}.iv-board__coord--file{right:4%;bottom:3%}.iv-board__sq--light .iv-board__coord{color:var(--board-dark)}.iv-board__sq--dark .iv-board__coord{color:var(--board-light)}.iv-board--mini{max-width:280px}.iv-board--interactive .iv-board__sq{cursor:pointer}.iv-board--interactive .iv-board__piece[draggable=true]{cursor:grab}.iv-board--interactive .iv-board__piece[draggable=true]:active{cursor:grabbing}.iv-board__sq--selected:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--accent) 45%,transparent);pointer-events:none}.iv-board__sq--target:after{content:"";position:absolute;inset:0;margin:auto;width:30%;height:30%;border-radius:50%;background:color-mix(in srgb,var(--accent) 55%,transparent);pointer-events:none;z-index:2}.iv-board__sq--capture:after{content:"";position:absolute;inset:8%;border-radius:50%;border:max(3px,.9cqw) solid color-mix(in srgb,var(--accent) 55%,transparent);pointer-events:none;z-index:0}.iv-board__promo{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(2px)}.iv-board__promo-btn{width:22%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;padding:0}.iv-board__promo-btn:hover{background:var(--surface-3);border-color:var(--accent)}.iv-board__promo-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-board__promo-btn .iv-board__piece{font-size:8cqw}.iv-board__promo-cancel{background:none;border:none;color:var(--text-low);cursor:pointer;font-size:16px;line-height:1;padding:4px 8px}.iv-board__promo-cancel:hover{color:var(--text-hi)}.iv-board__promo-cancel:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-explore{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--accent) 9%,var(--surface-1));border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--r-md)}.iv-explore__label{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:12px;white-space:nowrap}.iv-explore__line{flex:1;min-width:0;font-family:var(--font-mono);font-size:13px;color:var(--text-body);overflow-x:auto;white-space:nowrap}.iv-explore__actions{display:inline-flex;gap:6px;margin-left:auto}.iv-explore__btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-body);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.iv-explore__btn:hover{background:var(--surface-3)}.iv-explore__btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-explore__btn--primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.iv-engine{display:flex;flex-direction:column;gap:6px;padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md)}.iv-engine--on{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 6%,var(--surface-1))}.iv-engine__head{display:flex;align-items:center;gap:var(--space-3)}.iv-engine__toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0;color:var(--text-body);font-size:13px;font-weight:600;font-family:var(--font-sans)}.iv-engine__toggle:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}.iv-engine__switch{width:30px;height:18px;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border-strong);position:relative;transition:background var(--dur-instant) var(--ease-standard)}.iv-engine__switch:after{content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:var(--text-low);transition:transform var(--dur-instant) var(--ease-standard),background var(--dur-instant)}.iv-engine--on .iv-engine__switch{background:var(--accent);border-color:transparent}.iv-engine--on .iv-engine__switch:after{transform:translate(12px);background:var(--on-accent)}.iv-engine__eval{margin-left:auto;font-family:var(--font-mono);font-weight:600;color:var(--text-hi);font-size:14px}.iv-engine__depth{color:var(--text-low);font-weight:400;font-size:11px}.iv-engine__verdict{color:var(--text-body);font-size:13px;line-height:1.5;margin:0}.iv-engine__pv{color:var(--text-mid);font-family:var(--font-mono);font-size:12px;margin:0;overflow-x:auto;white-space:nowrap}.iv-engine__hint{color:var(--text-low);font-size:12px;margin:0}.iv-evalbar{display:flex;flex-direction:column;align-items:center;gap:6px;width:34px;flex-shrink:0}.iv-evalbar__num{font-family:var(--font-mono);font-size:11px;color:var(--text-mid);min-height:14px}.iv-evalbar__rail{position:relative;flex:1;width:11px;background:var(--piece-black);border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--border)}.iv-evalbar__white{position:absolute;left:0;right:0;bottom:0;background:var(--piece-white);transition:height var(--dur-standard) var(--ease-standard)}.iv-evalbar__indeterminate{position:absolute;inset:0;background:linear-gradient(180deg,var(--surface-3),var(--piece-black));animation:cmGlow 1.4s var(--ease-standard) infinite}@media (prefers-reduced-motion: reduce){.iv-evalbar__indeterminate{animation:none}}.iv-playerbar{display:flex;align-items:center;gap:var(--space-3);padding:8px 10px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md)}.iv-playerbar__name{color:var(--text-hi);font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-playerbar__you{font-size:10px;font-weight:600;color:var(--on-accent);background:var(--accent);border-radius:var(--r-pill);padding:1px 7px;flex-shrink:0}.iv-playerbar__meta{margin-left:auto;display:flex;align-items:center;gap:6px}.iv-playerbar__rating{font-family:var(--font-mono);font-size:13px;color:var(--text-body);font-weight:600}.iv-playerbar__color{color:var(--text-mid);font-size:12px}.iv-playerbar__clock{font-family:var(--font-mono);font-size:12px;color:var(--text-low);flex-shrink:0}.iv-controls{display:flex;align-items:center;gap:6px}.iv-controls__btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--border);color:var(--text-body);cursor:pointer;font-size:15px;transition:background var(--dur-instant) var(--ease-standard)}.iv-controls__btn:hover:not(:disabled){background:var(--surface-elev)}.iv-controls__btn:disabled{opacity:var(--op-disabled);cursor:not-allowed}.iv-controls__btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-controls__btn--primary{background:var(--accent-grad);color:var(--on-accent);border-color:transparent;box-shadow:var(--shadow-accent)}.iv-controls__btn--primary:hover:not(:disabled){filter:brightness(1.04)}.iv-controls__btn--ghost{background:transparent;width:auto;padding:0 12px;gap:4px;font-size:13px;font-weight:600;color:var(--text-mid);border-color:transparent}.iv-controls__btn--ghost:hover:not(:disabled){background:var(--hover-tint);color:var(--text-hi)}.iv-controls__spacer{flex:1}.iv-controls__material{font-family:var(--font-mono);font-size:12px;color:var(--text-low)}.iv-controls--mobile{width:100%}.iv-controls--mobile .iv-controls__btn--primary{flex:1}@media (pointer: coarse){.iv-controls__btn{min-width:44px;min-height:44px}}.iv-aw__tabcontent,.iv-aw__stats{display:flex;flex-direction:column;gap:var(--space-3)}.iv-aw__movelist{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-3);max-height:280px;overflow-y:auto}.iv-aw__accuracy{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.iv-aw__accuracy-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-4)}.iv-aw__counts{display:flex;flex-wrap:wrap;gap:6px}.iv-aw__count{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--r-xs);border:1px solid color-mix(in srgb,var(--mq-color) 30%,transparent);background:color-mix(in srgb,var(--mq-color) 11%,transparent);color:var(--mq-color);font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:default}.iv-aw__count-dot{width:7px;height:7px;border-radius:50%;background:currentcolor}.iv-aw__count-sym{opacity:.85}.iv-insight__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.iv-insight__best{margin-top:var(--space-3)}.iv-insight__divider{height:1px;background:var(--hairline);margin-bottom:var(--space-3)}.iv-insight__best-row{display:flex;align-items:center;gap:var(--space-3)}.iv-insight__best-eval{font-family:var(--font-mono);font-size:13px;color:var(--text-body);font-weight:600}.iv-insight__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.iv-ml{font-family:var(--font-mono);font-size:13px}.iv-ml__row{display:grid;grid-template-columns:36px 1fr 1fr;align-items:center;gap:4px;padding:1px 0}.iv-ml__num{color:var(--text-low);font-size:12px}.iv-ml__move{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid transparent;border-radius:var(--r-xs);background:none;color:var(--text-body);cursor:pointer;font-family:var(--font-mono);font-size:13px;text-align:left}.iv-ml__move:hover{background:var(--hover-tint)}.iv-ml__move:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-ml__move--active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent);color:var(--text-hi)}.iv-ml__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.iv-ml__sym{font-size:11px;color:var(--text-mid)}.iv-aw__timeline{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-3) var(--space-4)}.iv-aw__timeline-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.iv-aw__timeline-move{font-family:var(--font-mono);font-size:12px;color:var(--text-body);font-weight:600}.iv-aw__timeline-tp{margin-left:auto;display:flex;gap:4px}.iv-aw__tp-btn{font-size:11px;font-family:var(--font-mono);color:var(--mq-blunder);background:none;border:1px solid var(--border);border-radius:var(--r-xs);padding:2px 7px;cursor:pointer}.iv-aw__tp-btn:disabled{opacity:var(--op-disabled);cursor:not-allowed}.iv-aw__tp-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-coachnote{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md)}.iv-coachnote__mark{width:24px;height:24px;border-radius:var(--r-sm);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#2e2920,#161310);color:var(--accent);font-size:12px}.iv-coachnote__text{flex:1;min-width:0;font-size:13px;color:var(--text-mid);line-height:1.5}.iv-coach{display:flex;flex-direction:column;gap:var(--space-3)}.iv-coach__context{display:flex;flex-direction:column;gap:2px}.iv-coach__board{max-width:240px}.iv-coach__prompts{display:flex;flex-wrap:wrap;gap:6px}.iv-coach__chip{padding:5px 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-mid);font-size:12px;cursor:pointer}.iv-coach__chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-hi)}.iv-coach__chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-coach__input{display:flex;gap:var(--space-2);align-items:flex-start}.iv-coach__input>:first-child{flex:1}.iv-lines__row{display:flex;align-items:baseline;gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--hairline)}.iv-lines__rank{font-family:var(--font-mono);font-size:11px;color:var(--text-low)}.iv-lines__eval{font-family:var(--font-mono);font-size:13px;color:var(--text-hi);font-weight:600;min-width:40px}.iv-lines__pv{font-family:var(--font-mono);font-size:13px;color:var(--text-mid)}@media (max-width: 1023px){.iv-aw{grid-template-columns:1fr}.iv-aw__board-col{position:static;max-width:560px;margin:0 auto;width:100%}}@media (max-width: 767px){.iv-aw{padding:var(--space-4) var(--space-4) var(--space-12);gap:var(--space-4)}.iv-aw__movelist{max-height:220px}}.iv-improve{max-width:var(--content-max);margin:0 auto;padding:var(--space-7) var(--space-7) var(--space-12);display:flex;flex-direction:column;gap:var(--space-7)}.iv-imp-header__title{color:var(--text-hi)}.iv-imp-header__prov{color:var(--text-low);margin-top:4px}.iv-imp-row{display:grid;gap:var(--space-4)}.iv-imp-row--top{grid-template-columns:1.7fr 1fr}.iv-imp-planprogress{display:flex;flex-direction:column;gap:var(--space-4)}.iv-imp-row--bottom{grid-template-columns:1.4fr 1fr}.iv-imp-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.iv-imp-head__title{color:var(--text-hi)}.iv-imp-focus__label{color:var(--accent);display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--space-2)}.iv-imp-focus__title{color:var(--text-hi);margin-bottom:var(--space-2)}.iv-imp-focus__rationale{color:var(--text-mid);font-size:13px;line-height:1.55;margin-bottom:var(--space-4);max-width:56ch}.iv-imp-focus__progress{margin-bottom:var(--space-4)}.iv-imp-focus__progresslabel{display:flex;justify-content:space-between;font-size:12px;color:var(--text-low);margin-bottom:6px}.iv-imp-focus__metrics{display:flex;gap:var(--space-5);margin-bottom:var(--space-4)}.iv-imp-focus__cta{display:flex;align-items:center;gap:var(--space-3)}.iv-imp-order-skill{display:flex;flex-direction:column}.iv-imp-order-skill .iv-radar{flex:1;justify-content:center}.iv-radar{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.iv-radar__svg{max-width:400px}.iv-radar__label{font-family:var(--font-sans);font-size:11px;font-weight:600;fill:var(--text-mid)}.iv-radar__legend{display:flex;gap:var(--space-4);font-size:12px;color:var(--text-low)}.iv-radar__legend span{display:inline-flex;align-items:center;gap:6px}.iv-radar__swatch{width:14px;height:0;border-top:2px solid var(--accent);display:inline-block}.iv-radar__swatch--peers{border-top:2px dashed var(--text-faint)}.iv-imp-weak__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.iv-imp-cat{display:flex;flex-direction:column;gap:var(--space-3)}.iv-imp-cat--weakest{border-color:color-mix(in srgb,var(--error) 45%,transparent)}.iv-imp-cat__head{display:flex;align-items:center;gap:var(--space-3)}.iv-imp-cat__icon{width:34px;height:34px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;font-size:17px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-body);flex-shrink:0}.iv-imp-cat__name{color:var(--text-hi);font-size:15px;font-weight:600;flex:1}.iv-imp-cat__acc{font-family:var(--font-mono);font-size:12px;color:var(--text-low)}.iv-imp-sub{display:flex;align-items:center;gap:var(--space-3);width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:8px;border-radius:var(--r-sm)}.iv-imp-sub:hover{background:var(--hover-tint)}.iv-imp-sub:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-imp-sub__body{flex:1;min-width:0}.iv-imp-sub__name{color:var(--text-body);font-size:13px;font-weight:600}.iv-imp-sub__rec{color:var(--accent);font-size:12px;margin-top:2px}.iv-imp-sub__arrow{color:var(--text-faint)}.iv-imp-plan{display:flex;flex-direction:column}.iv-imp-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid transparent;border-radius:var(--r-md);width:100%;background:none;text-align:left;cursor:pointer}.iv-imp-item+.iv-imp-item{margin-top:6px}.iv-imp-item:hover{background:var(--hover-tint)}.iv-imp-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-imp-item--next{background:color-mix(in srgb,var(--mq-best) 12%,transparent);border-color:color-mix(in srgb,var(--mq-best) 32%,transparent)}.iv-imp-item--done{opacity:.6}.iv-imp-item__icon{width:30px;height:30px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;font-size:14px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-mid);flex-shrink:0}.iv-imp-item__body{flex:1;min-width:0}.iv-imp-item__title{color:var(--text-hi);font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.iv-imp-item__desc{color:var(--text-low);font-size:12px;margin-top:2px}.iv-imp-item__time{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);flex-shrink:0}.iv-imp-item__tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:1px 6px;border-radius:var(--r-pill)}.iv-imp-item__tag--next{background:var(--mq-best);color:var(--on-accent)}.iv-imp-item__tag--import{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.iv-imp-ms{display:flex;flex-direction:column}.iv-imp-ms__node{display:flex;gap:var(--space-3);padding-bottom:var(--space-4);position:relative}.iv-imp-ms__node:not(:last-child):before{content:"";position:absolute;left:10px;top:24px;bottom:0;width:2px;background:var(--hairline)}.iv-imp-ms__dot{width:21px;height:21px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;z-index:1}.iv-imp-ms__dot--achieved{background:var(--success);color:var(--on-accent)}.iv-imp-ms__dot--in_progress{background:color-mix(in srgb,var(--accent) 22%,transparent);border:2px solid var(--accent)}.iv-imp-ms__dot--future{background:transparent;border:1px solid var(--border-strong)}.iv-imp-ms__body{flex:1;min-width:0}.iv-imp-ms__label{color:var(--text-body);font-size:14px;font-weight:500}.iv-imp-ms__node--in_progress .iv-imp-ms__label{color:var(--text-hi);font-weight:600}.iv-imp-ms__meta{color:var(--text-low);font-size:12px;font-family:var(--font-mono);margin-top:2px}.iv-imp-ms__bar{margin-top:6px;max-width:220px}.iv-imp-viewswitch{margin-top:var(--space-4)}.iv-rm{display:flex;flex-direction:column;gap:var(--space-4)}.iv-rm__lead{color:var(--text-low)}.iv-rm__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.iv-rm__motifs{display:flex;flex-wrap:wrap;gap:6px}.iv-rm-chip{font-size:12px;padding:5px 10px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text-low);cursor:pointer}.iv-rm-chip:hover{background:var(--hover-tint);color:var(--text-body)}.iv-rm-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-rm-chip--on{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--accent)}.iv-rm__grid{display:grid;grid-template-columns:minmax(280px,38%) 1fr;gap:var(--space-4);align-items:start}.iv-rm__nomatch{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--text-low);border:1px dashed var(--border);border-radius:var(--r-lg)}.iv-rm__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:640px;overflow-y:auto}.iv-rm-row{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:var(--r-md);padding:13px var(--space-3);cursor:pointer}.iv-rm-row:hover{background:var(--hover-tint)}.iv-rm-row:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-rm-row--sel{background:var(--surface-2);border-color:var(--border)}.iv-rm-row__q{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:12px;color:var(--text-mid);min-width:30px}.iv-rm-row__body{flex:1;min-width:0}.iv-rm-row__top{display:flex;align-items:center;gap:8px;color:var(--text-hi);font-size:13px;font-weight:600;font-family:var(--font-mono)}.iv-rm-row__move{color:var(--text-low);font-weight:400;font-size:11px}.iv-rm-row__tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);font-family:var(--font-sans)}.iv-rm-row__sub{display:block;color:var(--text-low);font-size:12px;margin-top:2px}.iv-rm-q{display:inline-flex;align-items:center;gap:6px}.iv-rm-q__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.iv-rm-q__label{font-size:12px;font-weight:600;color:var(--text-body)}.iv-rm-detail{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:var(--space-5);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5)}.iv-rm-detail__body{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.iv-rm-detail__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.iv-rm-detail__phase{font-family:var(--font-mono);font-size:12px;color:var(--text-low)}.iv-rm-detail__moves{color:var(--text-body);font-size:14px}.iv-rm-detail__moves strong{font-family:var(--font-mono);color:var(--text-hi)}.iv-rm-detail__best{color:var(--mq-best)!important}.iv-rm-detail__cp{color:var(--text-low);font-family:var(--font-mono);font-size:12px}.iv-rm-detail__lesson{color:var(--text-mid);font-size:13px;line-height:1.55}.iv-rm-detail__cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:auto;padding-top:var(--space-2)}@media (max-width: 1023px){.iv-imp-row--top,.iv-imp-row--bottom,.iv-imp-weak__grid,.iv-rm__grid{grid-template-columns:1fr}.iv-rm-detail{grid-template-columns:1fr;order:-1}.iv-rm__list{max-height:none}}@media (max-width: 767px){.iv-improve{padding:var(--space-5) var(--space-4) var(--space-12);gap:var(--space-5)}.iv-imp-row--top,.iv-imp-row--bottom{display:contents}.iv-imp-order-focus{order:1}.iv-imp-order-weak{order:2}.iv-imp-order-plan{order:3}.iv-imp-order-ms{order:4}.iv-imp-order-skill{order:5}.iv-imp-focus__metrics{gap:var(--space-4)}}.iv-games,.iv-gimport{max-width:var(--content-max);margin:0 auto;padding:var(--space-7) var(--space-7) var(--space-12);display:flex;flex-direction:column;gap:var(--space-5)}.iv-games__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.iv-games__title{color:var(--text-hi)}.iv-games__sub{color:var(--text-low);margin-top:2px}.iv-games__actions{display:flex;gap:var(--space-3);align-items:center}.iv-games__insights{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.iv-games__collections{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.iv-coll{font-size:12px;padding:5px 11px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text-low);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.iv-coll:hover{background:var(--hover-tint);color:var(--text-body)}.iv-coll:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-coll--on{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--accent)}.iv-coll__count{color:var(--text-faint);font-family:var(--font-mono);font-size:11px}.iv-games__toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.iv-games__search{flex:1;min-width:200px}.iv-games__modes{display:inline-flex;gap:4px;margin-left:auto}.iv-mode{width:34px;height:34px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-1);color:var(--text-low);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.iv-mode--on{background:var(--surface-2);color:var(--text-hi);border-color:var(--border-strong)}.iv-mode:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-gtable{width:100%;border-collapse:collapse}.iv-gtable thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-low);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--hairline)}.iv-gtable th button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.iv-gtable th button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}.iv-gtable tbody tr{border-bottom:1px solid var(--hairline);cursor:pointer}.iv-gtable tbody tr:hover{background:var(--hover-tint)}.iv-gtable tbody tr:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.iv-gtable td{padding:14px 10px;font-size:13px;color:var(--text-body);vertical-align:middle}.iv-gtable__opp{color:var(--text-hi);font-weight:600}.iv-gtable__meta{color:var(--text-low);font-family:var(--font-mono);font-size:12px}.iv-gtable__fav{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:14px;padding:2px}.iv-gtable__fav--on{color:var(--accent)}.iv-gtable__fav:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}.iv-res{font-family:var(--font-mono);font-weight:600}.iv-res--win{color:var(--success)}.iv-res--loss{color:var(--error)}.iv-res--draw{color:var(--text-mid)}.iv-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.iv-status--analyzed{color:var(--success)}.iv-status--pending{color:var(--text-low)}.iv-improve-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--accent);margin-left:6px}.iv-gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.iv-gcard{display:flex;flex-direction:column;gap:6px;padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;text-align:left}.iv-gcard:hover{background:var(--hover-tint)}.iv-gcard:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iv-gcard__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.iv-gcard__opp{color:var(--text-hi);font-weight:600;font-size:14px}.iv-gcard__meta{color:var(--text-low);font-size:12px}.iv-games__more{display:flex;justify-content:center;padding:var(--space-4) 0}.iv-gimport__sources{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.iv-gimport__dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--space-9) var(--space-5);text-align:center;color:var(--text-low);background:var(--surface-1)}.iv-gimport__dropzone--over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-1))}.iv-gimport__preview{display:flex;flex-direction:column;gap:4px}.iv-prow{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1)}.iv-prow--invalid{border-color:color-mix(in srgb,var(--error) 40%,transparent)}.iv-prow--duplicate{opacity:.7}.iv-prow__body{flex:1;min-width:0}.iv-prow__title{color:var(--text-hi);font-size:13px;font-weight:600}.iv-prow__sub{color:var(--text-low);font-size:12px}.iv-gimport__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-top:var(--space-2)}.iv-gimport__progress{display:flex;flex-direction:column;gap:6px}.iv-gimport__progresslabel{font-size:12px;color:var(--text-low);font-family:var(--font-mono)}.iv-gimport__success{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg)}.iv-gimport__success-h{color:var(--text-hi)}@media (max-width: 1023px){.iv-games__insights{grid-template-columns:1fr}}@media (max-width: 767px){.iv-games,.iv-gimport{padding:var(--space-5) var(--space-4) var(--space-12);gap:var(--space-4)}.iv-games__insights{grid-template-columns:1fr}.iv-games__modes{display:none}}.ivs-shell{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;min-height:100vh;background:var(--bg-grad),var(--bg);color:var(--text-body);font-family:var(--font-sans)}.ivs-shell__body{display:flex;min-height:100vh}.ivs-shell__content{flex:1;min-width:0;overflow-x:hidden}.ivs-sidebar{width:232px;flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--surface-1);border-right:1px solid var(--hairline);padding:var(--space-4) var(--space-3)}.ivs-sidebar--collapsed{width:72px}.ivs-brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-4)}.ivs-brand__mark{font-size:20px;line-height:1;color:var(--accent)}.ivs-brand__name{font-weight:700;font-size:16px;color:var(--text-hi);letter-spacing:-.01em}.ivs-sidebar--collapsed .ivs-brand__name{display:none}.ivs-nav{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2)}.ivs-nav__group-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-low);padding:var(--space-4) var(--space-2) var(--space-2)}.ivs-navitem{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:9px 10px;border-radius:var(--r-md);border:1px solid transparent;color:var(--text-mid);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;background:none;text-align:left;transition:background var(--dur-instant) var(--ease-standard),color var(--dur-instant) var(--ease-standard)}.ivs-navitem:hover{background:var(--hover-tint);color:var(--text-hi)}.ivs-navitem:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ivs-navitem[aria-current=page]{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent);color:var(--text-hi)}.ivs-navitem__glyph{width:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ivs-navitem__badge{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--on-accent);background:var(--accent);border-radius:var(--r-pill);padding:0 6px}.ivs-sidebar--collapsed .ivs-navitem__label,.ivs-sidebar--collapsed .ivs-navitem__badge,.ivs-sidebar--collapsed .ivs-nav__group-label{display:none}.ivs-sidebar--collapsed .ivs-navitem{justify-content:center}.ivs-sidebar__search{margin:var(--space-2) 0}.ivs-sidebar__spacer{flex:1}.ivs-usermenu{position:relative}.ivs-usermenu--block{width:100%}.ivs-userblock{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:left;font:inherit;color:inherit}.ivs-userblock:hover{background:var(--surface-3)}.ivs-userblock:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ivs-userblock__meta{min-width:0}.ivs-userblock__name{font-size:13px;font-weight:600;color:var(--text-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ivs-userblock__sub{font-size:11px;color:var(--text-low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ivs-sidebar--collapsed .ivs-userblock__meta{display:none}.ivs-usermenu__pop{position:absolute;bottom:calc(100% + 6px);left:0;right:0;z-index:70;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.ivs-usermenu--icon .ivs-usermenu__pop{left:auto;right:0;min-width:180px;top:calc(100% + 6px);bottom:auto}.ivs-usermenu__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:9px 10px;border:none;background:none;border-radius:var(--r-xs);color:var(--text-body);font-family:var(--font-sans);font-size:13px;cursor:pointer;text-align:left;text-decoration:none}.ivs-usermenu__item:hover{background:var(--hover-tint);color:var(--text-hi)}.ivs-usermenu__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ivs-sidebar__collapse{width:100%;margin-bottom:var(--space-2)}.ivs-sidebar__themetoggle{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:9px 10px;margin-bottom:var(--space-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-mid);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;text-align:left;transition:background var(--dur-instant) var(--ease-standard),color var(--dur-instant) var(--ease-standard)}.ivs-sidebar__themetoggle:hover{background:var(--surface-3);color:var(--text-hi)}.ivs-sidebar__themetoggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ivs-sidebar--collapsed .ivs-sidebar__themetoggle{justify-content:center}.ivs-themetoggle__label{min-width:0}.ivs-skiplink{position:absolute;left:8px;top:-48px;z-index:300;background:var(--accent);color:var(--on-accent);font-family:var(--font-sans);font-size:13px;font-weight:600;padding:9px 14px;border-radius:var(--r-md);text-decoration:none;transition:top var(--dur-standard) var(--ease-standard)}.ivs-skiplink:focus{top:8px;outline:none;box-shadow:var(--focus-ring)}.ivs-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-4);background:var(--surface-1);border-bottom:1px solid var(--hairline)}.ivs-topbar__brand{display:flex;align-items:center;gap:var(--space-2);margin-right:auto}.ivs-iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text-mid);cursor:pointer}.ivs-iconbtn:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (pointer: coarse){.ivs-iconbtn{min-width:44px;min-height:44px}.ivs-navitem,.ivs-userblock,.ivs-usermenu__item,.ivs-cmdk__item{min-height:44px}}.ivs-bottombar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;height:64px;background:var(--surface-1);border-top:1px solid var(--hairline)}.ivs-bottombar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-low);text-decoration:none;font-size:11px;font-weight:600;background:none;border:none;cursor:pointer}.ivs-bottombar__item[aria-current=page]{color:var(--text-hi)}.ivs-bottombar__item[aria-current=page] .ivs-bottombar__glyph{color:var(--accent)}.ivs-bottombar__glyph{display:inline-flex;align-items:center;justify-content:center;line-height:1}.ivs-shell__content--mobile{padding-bottom:80px}.ivs-cmdk-scrim{position:fixed;inset:0;z-index:150;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.ivs-cmdk{width:100%;max-width:560px;background:var(--surface-card-grad);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);overflow:hidden}.ivs-cmdk__input{width:100%;border:none;background:transparent;color:var(--text-hi);font-family:var(--font-sans);font-size:16px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--hairline)}.ivs-cmdk__input:focus{outline:none}.ivs-cmdk__list{max-height:50vh;overflow:auto;padding:var(--space-2)}.ivs-cmdk__group{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-low);padding:var(--space-3) var(--space-3) var(--space-2)}.ivs-cmdk__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:10px 12px;border-radius:var(--r-md);border:none;background:none;color:var(--text-body);font-size:14px;cursor:pointer;text-align:left}.ivs-cmdk__item[aria-selected=true],.ivs-cmdk__item:hover{background:var(--hover-tint);color:var(--text-hi)}.ivs-cmdk__glyph{width:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-low);flex-shrink:0}.ivs-cmdk__empty{padding:var(--space-6);text-align:center;color:var(--text-low);font-size:13px}:root{--font-sans: "Onest", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-display: 44px;--fw-display: 700;--lh-display: 1.08;--tr-display: -.03em;--fs-h1: 34px;--fw-h1: 700;--lh-h1: 1;--tr-h1: -.02em;--fs-h2: 24px;--fw-h2: 700;--lh-h2: 1;--tr-h2: -.02em;--fs-h3: 18px;--fw-h3: 600;--lh-h3: 1.25;--tr-h3: -.01em;--fs-title: 16px;--fw-title: 600;--lh-title: 1.2;--tr-title: -.01em;--fs-body: 14px;--fw-body: 400;--lh-body: 1.55;--tr-body: 0;--fs-body-sm: 13px;--lh-body-sm: 1.5;--fs-label: 11px;--fw-label: 600;--lh-label: 1;--tr-label: .12em;--fs-caption: 12px;--fw-caption: 500;--lh-caption: 1.4;--fs-data: 13px;--fw-data: 600;--lh-data: 1;--tr-data: -.02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--r-xs: 6px;--r-sm: 7px;--r-md: 10px;--r-lg: 13px;--r-xl: 17px;--r-pill: 999px;--dur-instant: .12s;--dur-standard: .2s;--dur-emphasis: .32s;--ease-standard: cubic-bezier(.2, .7, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--op-disabled: .45;--op-hairline-fill: .018;--hover-tint: rgba(255, 255, 255, .04);--content-max: 1120px}:root,[data-theme=dark]{--bg: #0C0B0A;--bg-grad: radial-gradient(1100px 620px at 50% -8%, #16110c, #0C0B0A 58%);--surface-1: #131110;--surface-2: #161412;--surface-3: #1D1A17;--surface-elev: #242019;--surface-card-grad: linear-gradient(180deg, #1d1714, #131110);--hairline: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .12);--text-hi: #F6F3EE;--text-body: #E9E3D9;--text-mid: #B0A89D;--text-low: #8F877B;--text-faint: #726B61;--mq-brilliant: #6FBE85;--mq-best: #4FB6A8;--mq-good: #B4AB9C;--mq-inaccuracy:#E0AE45;--mq-mistake: #DD8442;--mq-blunder: #D85B4A;--success: #6FBE85;--warning: #E0AE45;--error: #D85B4A;--info: #7BA6C4;--piece-white: #FAF6EE;--piece-black: #2A251E;--board-lastmove: rgba(224, 178, 90, .3);--shadow-card: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 32px -18px rgba(0,0,0,.75);--shadow-hero: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 40px -22px rgba(0,0,0,.8);--shadow-pop: 0 20px 50px -12px rgba(0,0,0,.75);--shadow-accent: 0 6px 18px -8px var(--accent-glow);--board-shadow: 0 12px 40px -14px rgba(0,0,0,.6);--halo-cool-1: rgba(74, 150, 200, .11);--halo-cool-2: rgba(79, 182, 168, .08);--progress-track: #211d18}[data-theme=light]{--bg: #F4F1EA;--bg-grad: radial-gradient(1100px 620px at 50% -8%, #FBF9F4, #F4F1EA 58%);--surface-1: #FBF9F4;--surface-2: #EDE8DD;--surface-3: #E4DCCB;--surface-elev: #EDE8DD;--surface-card-grad: linear-gradient(180deg, #FBF9F4, #F4F1EA);--hairline: rgba(28, 24, 18, .07);--border: rgba(28, 24, 18, .1);--border-strong: rgba(28, 24, 18, .16);--text-hi: #211D17;--text-body: #2E2920;--text-mid: #5A5347;--text-low: #6E665A;--text-faint: #8A8275;--primary-deep: #3A332A;--shadow-card: inset 0 1px 0 rgba(255,255,255,.5), 0 10px 28px -18px rgba(28,24,18,.3);--shadow-hero: inset 0 1px 0 rgba(255,255,255,.6), 0 16px 36px -22px rgba(28,24,18,.34);--shadow-pop: 0 18px 44px -14px rgba(28,24,18,.28);--board-shadow: 0 10px 34px -16px rgba(28,24,18,.28);--piece-white: #FAF6EE;--piece-black: #2A251E;--progress-track: #E4DCCB}:root,[data-accent=ivory]{--accent: #EBD9B8;--accent-bright: #F6F3EE;--on-accent: #1A1814;--accent-grad: linear-gradient(135deg, #F6F3EE, #EBD9B8);--accent-glow: rgba(224, 178, 110, .12)}[data-accent=periwinkle]{--accent: #C7CCFF;--accent-bright: #F2F3FF;--on-accent: #16161E;--accent-grad: linear-gradient(135deg, #F2F3FF, #C7CCFF);--accent-glow: rgba(150, 158, 255, .12)}[data-accent=sage]{--accent: #BBD0B0;--accent-bright: #EEF4EA;--on-accent: #161A14;--accent-grad: linear-gradient(135deg, #EEF4EA, #BBD0B0);--accent-glow: rgba(140, 184, 124, .12)}[data-accent=clay]{--accent: #E3B79A;--accent-bright: #F7E9DF;--on-accent: #1C1611;--accent-grad: linear-gradient(135deg, #F7E9DF, #E3B79A);--accent-glow: rgba(214, 142, 102, .12)}[data-theme=light][data-accent=ivory]{--accent: #9E6F14;--accent-bright: #7F5A0F;--on-accent: #FBF9F4;--accent-grad: linear-gradient(135deg, #B0801F, #9E6F14);--accent-glow: rgba(158, 111, 20, .14)}[data-theme=light][data-accent=periwinkle]{--accent: #4B54C4;--accent-bright: #3D45AD;--on-accent: #FBF9F4;--accent-grad: linear-gradient(135deg, #5A63D6, #4B54C4);--accent-glow: rgba(75, 84, 196, .14)}[data-theme=light][data-accent=sage]{--accent: #4E7A3E;--accent-bright: #3F6631;--on-accent: #FBF9F4;--accent-grad: linear-gradient(135deg, #5C8C4A, #4E7A3E);--accent-glow: rgba(78, 122, 62, .14)}[data-theme=light][data-accent=clay]{--accent: #B0602C;--accent-bright: #994F22;--on-accent: #FBF9F4;--accent-grad: linear-gradient(135deg, #C26E36, #B0602C);--accent-glow: rgba(176, 96, 44, .14)}:root,[data-board=wood]{--board-light: #E7DDC8;--board-dark: #8A7C66}[data-board=slate]{--board-light: #D5D9DF;--board-dark: #6E7682}[data-board=tournament]{--board-light: #ECECD2;--board-dark: #6E8A5A}[data-density=cozy]{--content-max: 960px}:root,[data-density=comfortable]{--content-max: 1120px}[data-density=spacious]{--content-max: 1280px}:root{--focus-ring: 0 0 0 3px rgba(235, 217, 184, .12)}@media (prefers-reduced-motion: reduce){:root{--dur-instant: 0ms;--dur-standard: 0ms;--dur-emphasis: 0ms}}.iv-display{font-family:var(--font-sans);font-size:var(--fs-display);font-weight:var(--fw-display);line-height:var(--lh-display);letter-spacing:var(--tr-display)}.iv-h1{font-family:var(--font-sans);font-size:var(--fs-h1);font-weight:var(--fw-h1);line-height:var(--lh-h1);letter-spacing:var(--tr-h1)}.iv-h2{font-family:var(--font-sans);font-size:var(--fs-h2);font-weight:var(--fw-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2)}.iv-h3{font-family:var(--font-sans);font-size:var(--fs-h3);font-weight:var(--fw-h3);line-height:var(--lh-h3);letter-spacing:var(--tr-h3)}.iv-title{font-family:var(--font-sans);font-size:var(--fs-title);font-weight:var(--fw-title);line-height:var(--lh-title);letter-spacing:var(--tr-title)}.iv-body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body)}.iv-body-sm{font-family:var(--font-sans);font-size:var(--fs-body-sm);font-weight:var(--fw-body);line-height:var(--lh-body-sm)}.iv-label{font-family:var(--font-sans);font-size:var(--fs-label);font-weight:var(--fw-label);line-height:var(--lh-label);letter-spacing:var(--tr-label);text-transform:uppercase}.iv-caption{font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-caption);line-height:var(--lh-caption)}.iv-data{font-family:var(--font-mono);font-size:var(--fs-data);font-weight:var(--fw-data);line-height:var(--lh-data);letter-spacing:var(--tr-data)}.iv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes cmGlow{0%,to{opacity:.5}50%{opacity:.85}}@keyframes ivShimmer{0%{background-position:-150% 0}to{background-position:250% 0}}@keyframes ivPageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.iv-halo{position:absolute;pointer-events:none;background:radial-gradient(ellipse,var(--accent-glow),transparent 68%);animation:cmGlow 9s var(--ease-standard) infinite}.iv-headline-grad{background:linear-gradient(118deg,#FFFFFF 18%,#F4E7CF 52%,var(--accent) 96%);-webkit-background-clip:text;background-clip:text;color:transparent}.iv-skeleton{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:ivShimmer 1.2s linear infinite;border-radius:var(--r-md)}.iv-page-enter{animation:ivPageIn var(--dur-emphasis) var(--ease-out)}@media (prefers-reduced-motion: reduce){.iv-halo,.iv-skeleton,.iv-page-enter{animation:none}}.ivory-scope{--cm-bg-base: var(--bg);--cm-bg-surface: var(--surface-1);--cm-bg-elevated: var(--surface-2);--cm-bg-hover: var(--hover-tint);--cm-text-primary: var(--text-hi);--cm-text-secondary: var(--text-mid);--cm-text-muted: var(--text-low);--cm-text-inverse: var(--on-accent);--cm-border-subtle: var(--border);--cm-border-default: var(--border);--cm-border-strong: var(--border-strong);--cm-accent: var(--accent);--cm-accent-bright: var(--accent-bright);--cm-accent-strong: var(--accent-bright);--cm-accent-dim: var(--accent-glow);--cm-accent-ring: var(--accent-glow);--cm-success: var(--success);--cm-success-dim: rgba(111, 190, 133, .16);--cm-warning: var(--warning);--cm-warning-dim: rgba(224, 174, 69, .16);--cm-error: var(--error);--cm-error-bright: var(--error);--cm-error-dim: rgba(216, 91, 74, .16);--cm-board-light: var(--board-light);--cm-board-dark: var(--board-dark);--font-family-mono: var(--font-mono);background:var(--bg-grad);color:var(--text-body);font-family:var(--font-sans)}:root{--cm-bg-base: #0C0E12;--cm-bg-surface: #13161C;--cm-bg-elevated: #1A1D24;--cm-bg-hover: #20242D;--cm-bg-active: #262B35;--cm-border-subtle: #252830;--cm-border-default: #32363F;--cm-border-strong: #454A56;--cm-text-primary: #F1F3F6;--cm-text-secondary: #9499A5;--cm-text-muted: #828799;--cm-text-inverse: #FFFFFF;--cm-accent: #7B6CF6;--cm-accent-hover: #6A5BF0;--cm-accent-bright: #9385FB;--cm-accent-strong: #6A5BF0;--cm-accent-dim: rgba(123,108,246,.14);--cm-accent-ring: rgba(123,108,246,.42);--cm-secondary: #F2A93B;--cm-secondary-hover:#E89A2A;--cm-secondary-dim: rgba(242,169,59,.14);--cm-success: #3DB87A;--cm-success-dim: rgba(61,184,122,.12);--cm-error: #E8554A;--cm-error-dim: rgba(232,85,74,.12);--cm-error-bright: #F2685D;--cm-info: #4A90E2;--cm-info-dim: rgba(74,144,226,.12);--cm-warning: #F0A840;--cm-warning-dim: rgba(240,168,64,.12);--cm-board-light: #F0D9B5;--cm-board-dark: #B58863;--color-background: var(--cm-bg-base);--color-surface: var(--cm-bg-surface);--color-text: var(--cm-text-primary);--color-text-secondary: var(--cm-text-secondary);--color-primary: var(--cm-accent);--color-primary-hover: var(--cm-accent-hover);--color-primary-active: var(--cm-accent-hover);--color-secondary: var(--cm-bg-elevated);--color-secondary-hover: var(--cm-bg-hover);--color-secondary-active: var(--cm-bg-active);--color-border: var(--cm-border-default);--color-btn-primary-text: var(--cm-text-inverse);--color-card-border: var(--cm-border-subtle);--color-card-border-inner:var(--cm-border-subtle);--color-error: var(--cm-error);--color-success: var(--cm-success);--color-warning: var(--cm-warning);--color-info: var(--cm-info);--color-focus-ring: var(--cm-accent-ring);--color-brown-600: #B58863;--color-charcoal-700: var(--cm-bg-base);--color-charcoal-800: var(--cm-bg-surface);--color-gray-200: var(--cm-text-primary);--color-teal-300: var(--cm-accent);--color-teal-400: var(--cm-accent-hover);--color-teal-500: var(--cm-accent);--color-teal-600: var(--cm-accent-hover);--color-teal-700: var(--cm-accent-hover);--color-teal-800: var(--cm-accent);--color-bg-1: var(--cm-bg-elevated);--color-bg-2: var(--cm-bg-hover);--color-bg-3: var(--cm-success-dim);--color-bg-4: var(--cm-error-dim);--color-success-rgb: 61,184,122;--color-error-rgb: 232,85,74;--color-warning-rgb: 240,168,64;--color-info-rgb: 74,144,226;--color-teal-300-rgb: 123,108,246;--color-red-400-rgb: 232,85,74;--color-orange-400-rgb:240,168,64;--focus-ring: 0 0 0 3px var(--cm-accent-ring);--focus-outline: 2px solid var(--cm-accent);--status-bg-opacity: .15;--status-border-opacity: .25;--border-radius: 8px;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F1F3F6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F1F3F6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--font-family-base: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.12);--shadow-sm: 0 1px 3px rgba(0,0,0,.2), 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.25), 0 2px 4px -1px rgba(0,0,0,.15);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.3), 0 4px 6px -2px rgba(0,0,0,.15);--shadow-inset-sm: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.15);--elevation-1: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.32);--elevation-2: 0 24px 60px rgba(0,0,0,.5);--shadow-primary-glow: 0 6px 16px rgba(123,108,246,.4);--radius-xl: 16px;--radius-2xl: 22px;--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--dur-micro: .12s;--dur-base: .18s;--dur-panel: .24s;--dur-celebrate: .4s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}[data-color-scheme=dark]{--cm-bg-base: #0C0E12;--cm-bg-surface: #13161C;--cm-bg-elevated: #1A1D24;--cm-bg-hover: #20242D;--cm-bg-active: #262B35;--cm-border-subtle: #252830;--cm-border-default: #32363F;--cm-border-strong: #454A56;--cm-text-primary: #F1F3F6;--cm-text-secondary: #9499A5;--cm-text-muted: #828799;--cm-text-inverse: #FFFFFF;--cm-accent: #7B6CF6;--cm-accent-hover: #6A5BF0;--cm-accent-bright: #9385FB;--cm-accent-strong: #6A5BF0;--cm-accent-dim: rgba(123,108,246,.14);--cm-accent-ring: rgba(123,108,246,.42);--cm-secondary: #F2A93B;--cm-secondary-hover:#E89A2A;--cm-secondary-dim: rgba(242,169,59,.14);--cm-success: #3DB87A;--cm-success-dim: rgba(61,184,122,.12);--cm-error: #E8554A;--cm-error-dim: rgba(232,85,74,.12);--cm-error-bright: #F2685D;--cm-info: #4A90E2;--cm-info-dim: rgba(74,144,226,.12);--color-background: var(--cm-bg-base);--color-surface: var(--cm-bg-surface);--color-text: var(--cm-text-primary);--color-text-secondary: var(--cm-text-secondary);--color-primary: var(--cm-accent);--color-primary-hover: var(--cm-accent-hover);--color-primary-active: var(--cm-accent-hover);--color-secondary: var(--cm-bg-elevated);--color-secondary-hover: var(--cm-bg-hover);--color-secondary-active: var(--cm-bg-active);--color-border: var(--cm-border-default);--color-btn-primary-text: var(--cm-text-inverse);--color-card-border: var(--cm-border-subtle);--color-card-border-inner: var(--cm-border-subtle);--color-error: var(--cm-error);--color-success: var(--cm-success);--color-warning: var(--cm-warning);--color-info: var(--cm-info);--color-focus-ring: var(--cm-accent-ring);--color-bg-1: var(--cm-bg-elevated);--color-bg-2: var(--cm-bg-hover);--color-bg-3: var(--cm-success-dim);--color-bg-4: var(--cm-error-dim);--color-success-rgb: 61,184,122;--color-error-rgb: 232,85,74;--color-warning-rgb: 240,168,64;--color-teal-300-rgb: 123,108,246;--shadow-inset-sm: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.15)}[data-color-scheme=light]{--cm-bg-base: #F5F6F8;--cm-bg-surface: #FFFFFF;--cm-bg-elevated: #FFFFFF;--cm-bg-hover: #F0F1F4;--cm-bg-active: #E8EAF0;--cm-border-subtle: #E4E6EA;--cm-border-default: #D0D3DA;--cm-border-strong: #B8BCC5;--cm-text-primary: #0C0E12;--cm-text-secondary: #4A4F5C;--cm-text-muted: #6A6E78;--cm-text-inverse: #FFFFFF;--cm-accent: #5B54E8;--cm-accent-hover: #4A43DC;--cm-accent-bright: #5B54E8;--cm-accent-strong: #5B54E8;--cm-accent-dim: rgba(91,84,232,.1);--cm-accent-ring: rgba(91,84,232,.32);--cm-secondary: #E0922E;--cm-secondary-hover:#C87E22;--cm-secondary-dim: rgba(224,146,46,.12);--cm-success: #27A363;--cm-success-dim: rgba(39,163,99,.1);--cm-error: #D63B30;--cm-error-dim: rgba(214,59,48,.1);--cm-error-bright: #C0372B;--cm-info: #2B76D4;--cm-info-dim: rgba(43,118,212,.1);--cm-warning: #D4920A;--cm-warning-dim: rgba(212,146,10,.1);--color-background: var(--cm-bg-base);--color-surface: var(--cm-bg-surface);--color-text: var(--cm-text-primary);--color-text-secondary: var(--cm-text-secondary);--color-primary: var(--cm-accent);--color-primary-hover: var(--cm-accent-hover);--color-primary-active: var(--cm-accent-hover);--color-secondary: var(--cm-bg-hover);--color-secondary-hover: var(--cm-bg-active);--color-secondary-active: var(--cm-bg-active);--color-border: var(--cm-border-default);--color-btn-primary-text: var(--cm-text-inverse);--color-card-border: var(--cm-border-subtle);--color-card-border-inner: var(--cm-border-subtle);--color-error: var(--cm-error);--color-success: var(--cm-success);--color-warning: var(--cm-warning);--color-info: var(--cm-info);--color-focus-ring: var(--cm-accent-ring);--color-brown-600: #B58863;--color-charcoal-700: var(--cm-bg-base);--color-charcoal-800: var(--cm-bg-surface);--color-bg-1: var(--cm-bg-elevated);--color-bg-2: var(--cm-bg-hover);--color-bg-3: var(--cm-success-dim);--color-bg-4: var(--cm-error-dim);--color-success-rgb: 39,163,99;--color-error-rgb: 214,59,48;--color-warning-rgb: 212,146,10;--color-teal-300-rgb: 91,84,232;--shadow-inset-sm: inset 0 1px 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(0,0,0,.04);--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230C0E12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230C0E12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--cm-text-primary);background-color:var(--cm-bg-base);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--cm-text-primary);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--cm-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--cm-accent-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--cm-bg-elevated);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--cm-border-default)}pre code{background:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform 80ms ease;border:none;text-decoration:none;position:relative;gap:var(--space-6)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn--primary{background:var(--cm-accent-strong);color:var(--cm-text-inverse);border:1px solid transparent}.btn--primary:hover{background:var(--cm-accent-strong);filter:brightness(.92)}.btn--primary:active{background:var(--cm-accent-strong);filter:brightness(.85)}.btn--secondary{background:var(--cm-bg-elevated);color:var(--cm-text-primary);border:1px solid var(--cm-border-default)}.btn--secondary:hover{background:var(--cm-bg-hover);border-color:var(--cm-border-strong)}.btn--secondary:active{background:var(--cm-bg-active)}.btn--outline{background:transparent;color:var(--cm-text-primary);border:1px solid var(--cm-border-default)}.btn--outline:hover{background:var(--cm-bg-hover);border-color:var(--cm-border-strong)}.btn--ghost{background:transparent;color:var(--cm-text-secondary);border:1px solid transparent}.btn--ghost:hover{background:var(--cm-bg-hover);color:var(--cm-text-primary)}.btn--danger{background:var(--cm-error);color:#fff;border:1px solid transparent}.btn--danger:hover{filter:brightness(1.1)}.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.btn--full-width{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.form-control{display:block;width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--cm-text-primary);background-color:var(--cm-bg-surface);border:1px solid var(--cm-border-default);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);outline:none}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{padding:var(--space-8) var(--space-12);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-dark);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--cm-accent);box-shadow:0 0 0 3px var(--cm-accent-ring)}.form-control::-moz-placeholder{color:var(--cm-text-muted)}.form-control::placeholder{color:var(--cm-text-muted)}.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--cm-text-secondary);text-transform:uppercase;letter-spacing:.4px}.form-group{margin-bottom:var(--space-16)}.card{background-color:var(--cm-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--cm-border-subtle);box-shadow:var(--shadow-sm),inset 0 1px #ffffff0a;overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.card:hover{box-shadow:var(--shadow-md),inset 0 1px #ffffff0a;border-color:var(--cm-border-default)}.card__body{padding:var(--space-16)}.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--cm-border-subtle)}.status{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs)}.status--success{background:var(--cm-success-dim);color:var(--cm-success);border:1px solid rgba(61,184,122,.25)}.status--error{background:var(--cm-error-dim);color:var(--cm-error);border:1px solid rgba(232,85,74,.25)}.status--warning{background:var(--cm-warning-dim);color:var(--cm-warning);border:1px solid rgba(240,168,64,.25)}.status--info{background:var(--cm-info-dim);color:var(--cm-info);border:1px solid rgba(74,144,226,.25)}.badge{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-8);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge--success{background:var(--cm-success-dim);color:var(--cm-success)}.badge--error{background:var(--cm-error-dim);color:var(--cm-error)}.badge--neutral{background:var(--cm-bg-elevated);color:var(--cm-text-secondary);border:1px solid var(--cm-border-subtle)}.spinner{width:20px;height:20px;border:2px solid var(--cm-border-default);border-top-color:var(--cm-accent);border-radius:50%;animation:spin .7s linear infinite}.toast{position:fixed;bottom:24px;right:24px;z-index:10000;min-width:300px;max-width:420px;background:var(--cm-bg-elevated);border:1px solid var(--cm-border-default);border-radius:var(--radius-lg);padding:12px 16px;box-shadow:0 8px 24px #0000004d;display:flex;align-items:center;gap:10px;animation:slideInUp .25s ease-out}.toast--success{border-left:3px solid var(--cm-success)}.toast--error{border-left:3px solid var(--cm-error)}.eval-gauge{width:28px;border-radius:var(--radius-sm);border:1px solid var(--cm-border-default);overflow:hidden;position:relative}.move-history{font-family:var(--font-family-mono);font-size:13px}.move-btn{background:transparent;border:none;padding:2px 5px;border-radius:3px;cursor:pointer;color:var(--cm-text-primary);font-family:var(--font-family-mono);font-size:13px;transition:background var(--duration-fast),color var(--duration-fast)}.move-btn:hover{background:var(--cm-bg-hover)}.move-btn--active{background:var(--cm-accent-dim);color:var(--cm-accent);font-weight:600}.stat-card{background:var(--cm-bg-elevated);border:1px solid var(--cm-border-subtle);border-radius:var(--radius-md);padding:16px}.stat-value{display:block;font-size:28px;font-weight:700;color:var(--cm-text-primary);line-height:1.2}.stat-label{font-size:11px;font-weight:500;color:var(--cm-text-muted);text-transform:uppercase;letter-spacing:.4px}.app-header{height:56px;background:color-mix(in srgb,var(--cm-bg-surface) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--cm-border-subtle);display:flex;align-items:center;padding:0 20px;position:sticky;top:0;z-index:100;gap:8px}.app-sidebar{width:300px;flex-shrink:0;background:var(--cm-bg-surface);border-right:1px solid var(--cm-border-subtle);overflow-y:auto;height:100%}.app-main{flex:1;overflow:auto}.game-item{padding:10px 12px;border-radius:var(--radius-base);cursor:pointer;margin-bottom:2px;border:1px solid transparent;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);position:relative}.game-item:hover{background:var(--cm-bg-hover)}.game-item:hover .game-delete-btn{opacity:1!important}@media (hover: none){.game-delete-btn{opacity:.55!important}}.game-item--active{background:var(--cm-bg-active)!important;border-color:var(--cm-border-default)!important}.game-item--active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--cm-accent-strong);border-radius:0 2px 2px 0}.sq-light{background:var(--cm-board-light)}.sq-dark{background:var(--cm-board-dark)}.chat-container{display:flex;flex-direction:column;height:100%;background:var(--cm-bg-base)}.chat-header{padding:14px 20px;border-bottom:1px solid var(--cm-border-subtle);background:var(--cm-bg-surface)}.chat-messages{flex:1;padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.chat-input-area{padding:12px 16px;border-top:1px solid var(--cm-border-subtle);background:var(--cm-bg-surface)}.message{display:flex;gap:8px}.message.user{justify-content:flex-end}.message-content{padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.6;max-width:80%}.message.user .message-content{background:var(--cm-accent-strong);color:var(--cm-text-inverse);border-radius:12px 12px 2px;max-width:75%}.message.ai .message-content{background:var(--cm-bg-elevated);border:1px solid var(--cm-border-subtle);color:var(--cm-text-primary);border-radius:2px 12px 12px}.message-avatar{width:28px;height:28px;background:var(--cm-bg-elevated);border:1px solid var(--cm-border-default);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:2px}.input-group{display:flex;gap:var(--space-8)}.input-group .form-control{flex:1}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media (min-width: 640px){.container{max-width:var(--container-sm)}}@media (min-width: 768px){.container{max-width:var(--container-md)}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.p-0{padding:0}.min-h-screen{min-height:100vh}:focus-visible{outline:var(--focus-outline);outline-offset:2px}.loading{display:inline-block;width:18px;height:18px;border:2px solid var(--cm-border-default);border-radius:var(--radius-full);border-top-color:var(--cm-accent);animation:spin .7s linear infinite}.progress-bar{flex:1;height:6px;background:var(--cm-bg-elevated);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--cm-border-subtle)}.progress-fill{height:100%;background:var(--cm-accent-strong);border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-standard)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--cm-bg-elevated) 25%,var(--cm-bg-hover) 50%,var(--cm-bg-elevated) 75%);background-size:800px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:12px;width:100%;border-radius:var(--radius-sm)}.skeleton-title{height:14px;width:70%;border-radius:var(--radius-sm)}.skeleton-game-item{padding:10px 12px;border-radius:var(--radius-base);display:flex;flex-direction:column;gap:6px}.fade-up{animation:fadeInUp var(--duration-normal) var(--ease-standard) both}.fade-up-delay-1{animation-delay:60ms}.fade-up-delay-2{animation-delay:.12s}.fade-up-delay-3{animation-delay:.18s}.fade-up-delay-4{animation-delay:.24s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}.typing-indicator{display:flex;align-items:center;gap:3px;padding:10px 14px;background:var(--cm-bg-elevated);border:1px solid var(--cm-border-subtle);border-radius:2px 12px 12px;width:-moz-fit-content;width:fit-content}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--cm-text-muted);animation:typingBounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.18s}.typing-dot:nth-child(3){animation-delay:.36s}.app-container{min-height:100vh;background:var(--cm-bg-base);display:flex;flex-direction:column}.header-content{max-width:1400px;margin:0 auto;padding:0 var(--space-24);display:flex;justify-content:space-between;align-items:center}.logo h1{color:var(--cm-accent);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.main-nav{display:flex;gap:var(--space-8)}.nav-btn{padding:var(--space-6) var(--space-12);border:1px solid var(--cm-border-default);background:transparent;color:var(--cm-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.nav-btn:hover{border-color:var(--cm-border-strong);color:var(--cm-text-primary)}.nav-btn.active{background:var(--cm-accent-strong);color:var(--cm-text-inverse);border-color:transparent}@media (max-width: 560px){.chess-board-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}.chess-board{width:480px;height:480px;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border:1px solid var(--cm-border-subtle);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 0 0 3px var(--cm-bg-surface),0 0 0 4px var(--cm-border-subtle),0 16px 48px #0006,0 4px 12px #0003}.square{display:flex;align-items:center;justify-content:center;font-size:32px;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);position:relative}.square.light{background:var(--cm-board-light)}.square.dark{background:var(--cm-board-dark)}.square.selected{outline:3px solid var(--cm-accent);outline-offset:-3px}.square.move-highlight{outline:2px solid rgba(240,168,64,.6);outline-offset:-2px}.piece{-webkit-user-select:none;-moz-user-select:none;user-select:none}.game-list{margin:var(--space-8) 0}.game-info h4{margin:0 0 var(--space-4) 0;font-size:var(--font-size-md)}.game-meta{color:var(--cm-text-secondary);font-size:var(--font-size-sm)}.result-win{color:var(--cm-success);font-weight:var(--font-weight-bold)}.result-loss{color:var(--cm-error);font-weight:var(--font-weight-bold)}.result-draw{color:var(--cm-warning);font-weight:var(--font-weight-bold)}.move-item{display:inline-block;padding:var(--space-2) var(--space-6);margin:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.move-item:hover{background:var(--cm-bg-hover)}.move-item.active{background:var(--cm-accent-dim);color:var(--cm-accent);font-weight:600}.analysis-panel{background:var(--cm-bg-surface);padding:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--cm-border-subtle);max-height:600px;overflow-y:auto}.tooltip{position:relative;display:inline-block}.tooltip .tooltiptext{visibility:hidden;width:200px;background-color:var(--cm-bg-elevated);color:var(--cm-text-primary);border:1px solid var(--cm-border-default);text-align:center;border-radius:var(--radius-base);padding:var(--space-8);position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity var(--duration-fast);font-size:var(--font-size-sm)}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.piece.white.king:before{content:"♔"}.piece.white.queen:before{content:"♕"}.piece.white.rook:before{content:"♖"}.piece.white.bishop:before{content:"♗"}.piece.white.knight:before{content:"♘"}.piece.white.pawn:before{content:"♙"}.piece.black.king:before{content:"♚"}.piece.black.queen:before{content:"♛"}.piece.black.rook:before{content:"♜"}.piece.black.bishop:before{content:"♝"}.piece.black.knight:before{content:"♞"}.piece.black.pawn:before{content:"♟"}@media (max-width: 768px){.app-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--cm-border-subtle)}.chess-board{width:320px;height:320px}.square{font-size:20px}}.cm-panel{background:var(--cm-bg-elevated);border:1px solid var(--cm-border-subtle);border-radius:8px;padding:12px}.cm-section-label{font-size:11px;font-weight:600;color:var(--cm-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.cm-pill{padding:3px 9px;border-radius:5px;border:1px solid var(--cm-border-default);background:transparent;color:var(--cm-text-secondary);font-size:12px;cursor:pointer;transition:all .12s}.cm-pill:hover{border-color:var(--cm-border-strong);color:var(--cm-text-primary)}.cm-pill--active{border-color:var(--cm-accent);background:var(--cm-accent-dim);color:var(--cm-accent);font-weight:600}.cm-toggle-track{width:34px;height:18px;border-radius:9px;background:var(--cm-bg-hover);border:1px solid var(--cm-border-default);cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.cm-toggle-track--on{background:var(--cm-accent-strong)}.cm-toggle-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #0000004d}.cm-toggle-thumb--on{left:16px}.cm-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--cm-border-default);border-radius:6px;color:var(--cm-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.cm-nav-btn:hover{border-color:var(--cm-border-strong);color:var(--cm-text-primary)}.cm-btn-primary{padding:8px 14px;background:var(--cm-accent-strong);border:1px solid transparent;border-radius:7px;color:var(--cm-text-inverse);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px;font-family:inherit}.cm-btn-primary:hover{background:var(--cm-accent-hover)}.cm-btn-primary:disabled{background:var(--cm-bg-elevated);color:var(--cm-text-muted);cursor:not-allowed}.cm-btn-ghost{padding:6px 12px;background:var(--cm-bg-elevated);border:1px solid var(--cm-border-default);border-radius:7px;color:var(--cm-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.cm-btn-ghost:hover{border-color:var(--cm-border-strong);color:var(--cm-text-primary)}.cm-icon-btn{padding:6px 8px;background:var(--cm-bg-hover);border:1px solid var(--cm-border-default);border-radius:6px;cursor:pointer;color:var(--cm-text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.cm-icon-btn:hover{color:var(--cm-text-primary);border-color:var(--cm-border-strong)}.cm-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cm-eval-positive{color:#4ade80}.cm-eval-negative{color:#ef4444}.cm-eval-equal{color:var(--cm-text-primary)}.cm-eval-mate{color:var(--cm-warning)}.cm-text-input{width:100%;padding:7px 11px;background:var(--cm-bg-base);border:1px solid var(--cm-border-default);border-radius:7px;color:var(--cm-text-primary);font-size:13px;outline:none;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.cm-text-input:focus{border-color:var(--cm-accent)}.cm-text-input::-moz-placeholder{color:var(--cm-text-muted)}.cm-text-input::placeholder{color:var(--cm-text-muted)}.cm-move-row{display:flex;gap:2px;align-items:center;margin-bottom:1px}.cm-move-num{color:var(--cm-text-muted);width:26px;font-size:11px;flex-shrink:0}.gv-layout{display:flex;flex-direction:column}.gv-board-row{display:flex;gap:16px;padding:16px 20px;overflow:auto;flex-wrap:wrap;align-items:flex-start}.gv-right-panel{flex:1;min-width:240px;max-width:320px;display:flex;flex-direction:column;gap:10px}.gv-tabs,.gv-eval-bar{display:none}@media (max-width: 700px){.app-main-body{height:auto!important;min-height:calc(100vh - 56px);overflow-y:auto}.gv-board-row{flex-direction:column;padding:12px 12px 0;gap:0;flex-wrap:nowrap;align-items:center;overflow:visible}.gv-gauge-col{display:none!important}.gv-board-wrap{display:flex;justify-content:center;width:100%;padding-bottom:10px}.gv-eval-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--cm-bg-elevated);border-top:1px solid var(--cm-border-subtle);border-bottom:1px solid var(--cm-border-subtle);width:100%;box-sizing:border-box}.gv-right-panel{display:none!important}.gv-tabs{display:flex;width:100%;border-bottom:1px solid var(--cm-border-subtle);background:var(--cm-bg-surface);position:sticky;top:56px;z-index:10}.gv-tab-btn{flex:1;padding:10px 4px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--cm-text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px;font-family:inherit}.gv-tab-btn--active{color:var(--cm-accent);border-bottom-color:var(--cm-accent)}.gv-tab-content{display:flex;flex-direction:column;gap:8px;padding:12px;width:100%}.gv-movelist-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:1px 4px;font-family:var(--font-family-mono);font-size:13px}.gv-nav-row{display:flex;align-items:center;gap:6px;padding:10px 12px;background:var(--cm-bg-elevated);border-top:1px solid var(--cm-border-subtle);border-bottom:1px solid var(--cm-border-subtle);position:sticky;bottom:0;z-index:10}.toast{bottom:72px}}@media (max-width: 700px){.analyze-layout{flex-direction:column!important}.analyze-sidebar{width:100%!important;max-height:200px!important;border-right:none!important;border-bottom:1px solid var(--cm-border-subtle)!important}.analyze-board-area{padding:10px!important}}@media (max-width: 640px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}.stats-bottom-row{flex-direction:column!important}}@media (max-width: 700px){.app-header{padding:0 12px}}@media (max-width: 700px){.cm-modal-fullscreen{position:fixed!important;inset:0!important;margin:0!important;border-radius:0!important;max-width:100vw!important;max-height:100dvh!important;height:100dvh!important;overflow:auto}}@supports (padding-bottom: env(safe-area-inset-bottom)){.gv-nav-row{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.app-header{padding-top:env(safe-area-inset-top)}}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--cm-border-default);border-radius:999px;border:2px solid var(--cm-bg-base)}*::-webkit-scrollbar-thumb:hover{background:var(--cm-border-strong)}::-moz-selection{background:var(--cm-accent-dim);color:var(--cm-text-primary)}::selection{background:var(--cm-accent-dim);color:var(--cm-text-primary)}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--cm-accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){.fade-up,.fade-up-delay-1,.fade-up-delay-2,.fade-up-delay-3,.fade-up-delay-4{animation:none!important}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.pb-4{padding-bottom:1rem}.pt-4{padding-top:1rem}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:border-gray-700:is([data-color-scheme=dark] *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:bg-gray-800:is([data-color-scheme=dark] *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}
