.coi-warning-banner[data-v-57aa1dcf]{display:grid}.coi-warning-banner__surface[data-v-57aa1dcf]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-4);border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-danger-soft),var(--color-surface)),var(--color-surface);box-shadow:var(--shadow-soft)}.coi-warning-banner__icon[data-v-57aa1dcf]{width:2.8rem;height:2.8rem;display:grid;place-items:center;border-radius:999px;color:var(--color-danger);background:var(--color-danger-soft)}.coi-warning-banner__icon svg[data-v-57aa1dcf]{width:1.35rem;height:1.35rem}.coi-warning-banner__copy[data-v-57aa1dcf]{display:grid;gap:.25rem;min-width:0}.coi-warning-banner__eyebrow[data-v-57aa1dcf]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-danger)}.coi-warning-banner__title[data-v-57aa1dcf]{margin:0;font-size:1.05rem;line-height:1.25;font-weight:800;letter-spacing:-.02em}.coi-warning-banner__message[data-v-57aa1dcf],.coi-warning-banner__details[data-v-57aa1dcf]{margin:0;color:var(--color-text-muted);line-height:1.5}.coi-warning-banner__actions[data-v-57aa1dcf]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.coi-warning-banner__button[data-v-57aa1dcf]{min-height:44px;padding:0 .95rem;border:1px solid var(--color-danger-border);border-radius:999px;background:var(--color-surface);color:inherit;font-weight:700;cursor:pointer}.coi-warning-banner__button--primary[data-v-57aa1dcf]{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-text-inverse)}.coi-warning-banner__button--ghost[data-v-57aa1dcf]{width:2.75rem;padding:0;font-size:1.2rem;line-height:1;background:transparent}@media(max-width:720px){.coi-warning-banner__surface[data-v-57aa1dcf]{grid-template-columns:1fr}.coi-warning-banner__actions[data-v-57aa1dcf]{justify-content:flex-start}}.last-pdf-banner[data-v-56291302]{display:grid;gap:.75rem}.last-pdf-banner__surface[data-v-56291302]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--color-accent-border);border-radius:1rem;background:linear-gradient(135deg,var(--color-surface),var(--color-surface-muted)),var(--color-surface);box-shadow:var(--shadow-soft)}.last-pdf-banner__copy[data-v-56291302]{display:grid;gap:.25rem;min-width:0}.last-pdf-banner__eyebrow[data-v-56291302]{margin:0;font-size:var(--font-sm);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.last-pdf-banner__title[data-v-56291302]{margin:0;font-size:1rem;line-height:1.35}.last-pdf-banner__message[data-v-56291302]{margin:0;color:var(--color-text-muted);line-height:1.45}.last-pdf-banner__actions[data-v-56291302]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.last-pdf-banner__button[data-v-56291302]{min-height:44px;padding:0 .95rem;border:1px solid var(--color-accent-border);border-radius:.75rem;background:var(--color-surface-muted);color:var(--color-text);font-weight:600}.last-pdf-banner__button--primary[data-v-56291302]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.last-pdf-banner__button--ghost[data-v-56291302]{background:transparent}@media(max-width:640px){.last-pdf-banner__surface[data-v-56291302]{flex-direction:column;align-items:flex-start}.last-pdf-banner__actions[data-v-56291302]{width:100%;justify-content:flex-start}}.pdf-viewer[data-v-098cdf87]{display:grid;gap:clamp(.65rem,.8vw,.9rem);min-width:0;outline:none}.pdf-viewer:focus-visible .pdf-viewer__canvas-shell[data-v-098cdf87]{box-shadow:0 0 0 3px var(--color-accent-ring),var(--shadow-floating)}.pdf-viewer__header[data-v-098cdf87]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.pdf-viewer__header-center[data-v-098cdf87]{order:3;flex:1 0 100%;display:flex;justify-content:center;min-width:0}.pdf-viewer__header-center[data-v-098cdf87]:empty{display:none}.pdf-viewer__identity[data-v-098cdf87]{display:grid;gap:.12rem;min-width:0}.pdf-viewer__eyebrow[data-v-098cdf87]{font-size:var(--font-sm);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.pdf-viewer__title[data-v-098cdf87]{margin:0;font-size:1rem;line-height:1.35;max-width:min(82ch,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-viewer__meta[data-v-098cdf87]{font-size:.92rem;font-weight:600;color:var(--color-text-muted)}.pdf-viewer__actions[data-v-098cdf87]{display:inline-flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;min-width:0}.pdf-viewer__zoom[data-v-098cdf87]{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.pdf-viewer__zoom-label[data-v-098cdf87]{font-size:var(--font-sm);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-soft)}.pdf-viewer__zoom-select[data-v-098cdf87]{min-height:2rem;padding:0 2rem 0 .7rem;border:1px solid var(--color-border-strong);border-radius:.55rem;background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);font-weight:800;cursor:pointer}.pdf-viewer__zoom-select[data-v-098cdf87]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pdf-viewer__stage[data-v-098cdf87]{min-width:0;overflow:hidden}.pdf-viewer__canvas-shell[data-v-098cdf87]{position:relative;width:100%;min-width:0;min-height:clamp(24rem,calc(100dvh - 13rem),68rem);padding:clamp(.75rem,.9vw,1.1rem);border-radius:.9rem;border:1px solid var(--color-accent-border);background:radial-gradient(circle at top left,var(--color-panel-glow),transparent 35%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);box-shadow:var(--shadow-soft);overflow:auto;-webkit-overflow-scrolling:touch}.pdf-viewer__canvas-frame[data-v-098cdf87]{position:relative;display:block;width:max-content;max-width:none;margin-inline:auto;line-height:0}.pdf-viewer__canvas[data-v-098cdf87]{display:block;max-width:none;border-radius:.45rem;background:var(--color-surface);box-shadow:0 1px 2px #0f172a14}.pdf-viewer__empty[data-v-098cdf87],.pdf-viewer__loading[data-v-098cdf87]{position:absolute;inset:1rem;display:grid;place-content:center;gap:.4rem;padding:2rem;text-align:center;border-radius:.95rem;background:var(--color-panel-wash);color:var(--color-text-muted)}.pdf-viewer__empty[data-v-098cdf87]{justify-items:center;max-width:44rem;margin-inline:auto}.pdf-viewer__empty-eyebrow[data-v-098cdf87]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.pdf-viewer__empty-title[data-v-098cdf87]{margin:0;font-size:clamp(1.1rem,.95rem + .4vw,1.45rem);font-weight:800;color:var(--color-text)}.pdf-viewer__empty-copy[data-v-098cdf87]{margin:0;max-width:54ch;line-height:1.45}.pdf-viewer__empty-list[data-v-098cdf87]{margin:0;padding-left:1.2rem;max-width:54ch;text-align:left;line-height:1.5;display:grid;gap:.35rem}.pdf-viewer__empty-list li[data-v-098cdf87]{margin:0}.pdf-viewer__empty-footnote[data-v-098cdf87]{margin:0;max-width:54ch;font-size:var(--font-sm);color:var(--color-text-soft)}.pdf-viewer__loading[data-v-098cdf87]{font-weight:700;color:var(--color-accent)}.pdf-viewer__floating[data-v-098cdf87]{position:absolute;top:50%;transform:translateY(-50%);z-index:50;width:48px;height:64px;border:none;border-radius:12px;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 16px #00000026;cursor:pointer;opacity:.4;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:var(--color-text)}.pdf-viewer__floating svg[data-v-098cdf87]{width:28px;height:28px}.pdf-viewer__floating[data-v-098cdf87]:hover:not(:disabled){opacity:1;transform:translateY(-50%) scale(1.05);box-shadow:0 8px 24px #0003;background:#fffffff2}.pdf-viewer__floating[data-v-098cdf87]:active:not(:disabled){transform:translateY(-50%) scale(.95)}.pdf-viewer__floating[data-v-098cdf87]:disabled{cursor:default}.pdf-viewer__floating--prev[data-v-098cdf87]{left:12px}.pdf-viewer__floating--next[data-v-098cdf87]{right:12px}.is-hidden[data-v-098cdf87]{visibility:hidden;pointer-events:none}@media(hover:none){.pdf-viewer__floating[data-v-098cdf87]{opacity:.7;width:44px;height:56px}.pdf-viewer__floating svg[data-v-098cdf87]{width:24px;height:24px}}@media(max-width:480px){.pdf-viewer__title[data-v-098cdf87]{white-space:normal}.pdf-viewer__actions[data-v-098cdf87]{width:100%;justify-content:space-between}.pdf-viewer__zoom[data-v-098cdf87]{justify-content:flex-end}.pdf-viewer__canvas-shell[data-v-098cdf87]{padding:.75rem;min-height:min(62dvh,32rem)}.pdf-viewer__floating[data-v-098cdf87]{width:36px;height:48px}.pdf-viewer__floating svg[data-v-098cdf87]{width:20px;height:20px}.pdf-viewer__floating--prev[data-v-098cdf87]{left:4px}.pdf-viewer__floating--next[data-v-098cdf87]{right:4px}}.pdf-page-nav[data-v-8bb941f9]{display:grid;gap:.75rem;min-width:0}.page-thumbnail-strip[data-v-8bb941f9]{display:flex;gap:10px;padding:12px 14px;overflow-x:auto;overflow-y:hidden;background:linear-gradient(180deg,var(--color-surface-muted) 0%,var(--color-surface-strong) 100%);border:1px solid var(--color-border);border-radius:.65rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-text-muted) transparent}.page-thumbnail-strip[data-v-8bb941f9]::-webkit-scrollbar{height:6px}.page-thumbnail-strip[data-v-8bb941f9]::-webkit-scrollbar-track{background:transparent}.page-thumbnail-strip[data-v-8bb941f9]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.page-thumbnail-strip[data-v-8bb941f9]::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.page-thumbnail[data-v-8bb941f9]{flex:0 0 auto;width:58px;height:78px;border:2px solid var(--color-border);border-radius:8px;background:var(--color-bg-elevated) center/cover no-repeat;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.page-thumbnail[data-v-8bb941f9]:hover{transform:translateY(-2px) scale(1.05);border-color:var(--color-accent-border);box-shadow:0 4px 12px var(--color-neutral-border)}.page-thumbnail--active[data-v-8bb941f9]{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring),0 4px 12px var(--color-accent-ring);transform:translateY(-2px)}.page-thumbnail--active[data-v-8bb941f9]:hover{transform:translateY(-2px) scale(1.02)}.page-thumbnail-label[data-v-8bb941f9]{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font:600 10px/1 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--color-text);background:var(--color-panel-wash-strong);padding:2px 6px;border-radius:4px;pointer-events:none}.page-thumbnail--active .page-thumbnail-label[data-v-8bb941f9]{background:var(--color-accent)}@media(max-width:768px){.page-thumbnail-strip[data-v-8bb941f9]{padding:10px 12px;gap:6px;border-radius:.55rem}.page-thumbnail[data-v-8bb941f9]{width:40px;height:54px}.page-thumbnail-label[data-v-8bb941f9]{font-size:var(--font-xs);padding:1px 4px}}.corner-handles[data-v-d5b5093c]{position:absolute;inset:0;pointer-events:none}.corner-handles__handle[data-v-d5b5093c]{position:absolute;display:grid;place-items:center;width:2.1rem;height:2.1rem;padding:0;border:0;border-radius:999px;background:transparent;color:var(--color-success-strong);transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;cursor:grab}.corner-handles__handle[data-v-d5b5093c]:disabled{cursor:default}.corner-handles__handle.is-active .corner-handles__dot[data-v-d5b5093c],.corner-handles__handle.is-dragging .corner-handles__dot[data-v-d5b5093c]{transform:scale(1.08);box-shadow:0 0 0 2px #09201140,0 0 0 7px var(--color-detection-primary-soft)}.corner-handles__dot[data-v-d5b5093c]{width:.95rem;height:.95rem;border-radius:999px;background:linear-gradient(135deg,var(--color-surface),var(--color-detection-primary));border:2px solid var(--color-success-strong);box-shadow:0 1px 6px #0000002e,0 0 0 1px #ffffffb8 inset;transition:transform .16s ease,box-shadow .16s ease}.corner-handles__coords[data-v-d5b5093c]{position:absolute;left:50%;top:calc(100% + .3rem);transform:translate(-50%);padding:.18rem .35rem;border-radius:.4rem;background:var(--color-detection-label-bg);color:var(--color-detection-label-text);font-size:var(--font-xs);font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #050a0738}.sr-only[data-v-d5b5093c]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.detection-overlay[data-v-10bacf4f]{position:absolute;inset:0;pointer-events:none}.detection-overlay--interactive[data-v-10bacf4f]{isolation:isolate}.detection-overlay__frame[data-v-10bacf4f]{position:absolute;overflow:visible}.detection-overlay__frame--debug[data-v-10bacf4f]{filter:saturate(1.05)}.detection-overlay__vector[data-v-10bacf4f]{position:absolute;inset:0;overflow:visible}.detection-overlay__quad[data-v-10bacf4f]{fill:none;stroke:var(--color-detection-primary);stroke-width:2.2;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.detection-overlay__quad--debug[data-v-10bacf4f]{fill:var(--color-detection-secondary-soft);stroke:var(--color-detection-secondary);stroke-dasharray:7 5}.detection-overlay__grid[data-v-10bacf4f]{fill:none;stroke:var(--color-detection-primary-border);stroke-width:1.1;vector-effect:non-scaling-stroke}.detection-overlay__grid--debug[data-v-10bacf4f]{stroke:var(--color-detection-secondary)}.detection-overlay__label[data-v-10bacf4f]{position:absolute;display:grid;gap:.2rem;padding:.35rem .5rem;border-radius:.75rem;background:var(--color-detection-label-bg);color:var(--color-detection-label-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detection-overlay__delete[data-v-10bacf4f]{position:absolute;z-index:3;display:inline-grid;place-items:center;width:1.45rem;height:1.45rem;padding:0;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:#dc2626;color:#fff;box-shadow:0 .25rem .8rem #7f1d1d5c;cursor:pointer;font-size:.9rem;font-weight:900;line-height:1;pointer-events:auto;transform:translate(-50%,-50%)}.detection-overlay__delete[data-v-10bacf4f]:hover{background:#b91c1c}.detection-overlay__delete[data-v-10bacf4f]:focus-visible{outline:3px solid rgba(248,113,113,.55);outline-offset:2px}.detection-overlay__label--debug[data-v-10bacf4f]{background:var(--color-overlay-backdrop-strong)}.detection-overlay__label-title[data-v-10bacf4f]{font-size:var(--font-sm);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.detection-overlay__label-hint[data-v-10bacf4f]{font-size:var(--font-sm);color:var(--color-dark-text-muted);max-width:18rem}.detection-overlay__meta[data-v-10bacf4f]{position:absolute;right:.5rem;top:.5rem;display:grid;justify-items:end;gap:.45rem}.detection-overlay__badge[data-v-10bacf4f],.detection-overlay__debug-pill[data-v-10bacf4f]{display:inline-flex;align-items:center;gap:.45rem;min-height:1.85rem;padding:.25rem .55rem;border-radius:999px;background:var(--color-detection-label-bg);color:var(--color-detection-label-text);font-size:var(--font-sm);font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detection-overlay__badge[data-v-10bacf4f]{background:var(--color-detection-primary-soft);color:var(--color-detection-label-text)}.detection-overlay__debug-pill[data-v-10bacf4f]{max-width:min(22rem,54vw)}.detection-overlay__debug-pill strong[data-v-10bacf4f]{font-size:var(--font-xs);letter-spacing:.12em;text-transform:uppercase}.detection-overlay__debug-pill span[data-v-10bacf4f]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-dark-text-muted)}@media(max-width:740px){.detection-overlay__label-hint[data-v-10bacf4f]{max-width:12rem}}.pdf-overlay-actions[data-v-ef792baa]{position:absolute;z-index:60;width:min(340px,calc(100% - 24px));padding:.9rem 1rem;border:1px solid rgba(19,30,42,.18);border-radius:16px;background:#fffdf8f0;box-shadow:0 20px 44px #131e2a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.pdf-detected-board-button[data-v-ef792baa]{position:absolute;z-index:42;display:flex;align-items:flex-start;justify-content:flex-start;min-width:44px;min-height:44px;margin:0;padding:0;overflow:hidden;border:2px solid rgba(24,105,170,.96);border-radius:4px;background:#1869aa0f;color:#102130;cursor:pointer;pointer-events:auto}.pdf-detected-board-button--review[data-v-ef792baa]{border-color:#b45b1c;background:#b45b1c1a}.pdf-detected-board-button--active[data-v-ef792baa],.pdf-detected-board-button[data-v-ef792baa]:focus-visible{outline:3px solid #102130;outline-offset:-3px;background:#1021301f}.pdf-detected-board-button__label[data-v-ef792baa]{max-width:calc(100% - .45rem);margin:.22rem;padding:.16rem .32rem;overflow:hidden;border-radius:4px;background:#fffdf8f2;color:#102130;font-size:.72rem;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.pdf-overlay-actions--sticky[data-v-ef792baa]{position:sticky;z-index:70}.pdf-overlay-actions__head[data-v-ef792baa]{display:grid;gap:.2rem}.pdf-overlay-actions__title[data-v-ef792baa]{min-width:0;color:#102130;font-size:.98rem;line-height:1.2}.pdf-overlay-actions__meta[data-v-ef792baa]{color:#102130a6;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:0}.pdf-overlay-actions__message[data-v-ef792baa]{margin:.55rem 0 0;color:#102130d6;font-size:.84rem;line-height:1.35}.pdf-overlay-actions__progress[data-v-ef792baa]{height:.42rem;margin-top:.7rem;overflow:hidden;border-radius:999px;background:#1021301f}.pdf-overlay-actions__progress-fill[data-v-ef792baa]{display:block;height:100%;border-radius:inherit;background:#c55f2f;transition:width .16s ease-out}.pdf-overlay-actions__buttons[data-v-ef792baa]{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.pdf-overlay-actions__button[data-v-ef792baa]{border:1px solid rgba(16,33,48,.15);border-radius:999px;background:#ffffffeb;color:#102130;font:inherit;font-size:.83rem;font-weight:600;padding:.48rem .8rem;cursor:pointer}.pdf-overlay-actions__button--primary[data-v-ef792baa]{background:#102130;border-color:#102130;color:#fffaf2}.pdf-overlay-actions__button--accent[data-v-ef792baa]{background:#c55f2f;border-color:#c55f2f;color:#fffaf2}.pdf-overlay-actions__button[data-v-ef792baa]:disabled{opacity:.55;cursor:default}@media(max-width:720px){.pdf-overlay-actions[data-v-ef792baa]{width:min(320px,calc(100% - 16px));padding:.8rem .9rem}.pdf-overlay-actions--sticky[data-v-ef792baa]{top:.6rem}}.legacy-shell--embedded[data-v-0dc61285]{min-height:0;padding-top:0}.legacy-shell--embedded .app-shell__main[data-v-0dc61285]{padding:0}.legacy-shell__toolbar-host--hidden[data-v-0dc61285]{display:none}.contour-workspace-shell__title[data-v-0dc61285]{color:var(--umi-muted);font-size:var(--font-sm);font-weight:650;white-space:nowrap}.contour-workspace-shell__topbar-actions[data-v-0dc61285]{display:flex;align-items:center;gap:.75rem;min-width:0;margin-left:auto}@media(max-width:740px){.contour-workspace-shell__title[data-v-0dc61285]{display:none}.contour-workspace-shell__topbar-actions[data-v-0dc61285]{width:100%;margin-left:0;justify-content:space-between}.legacy-shell__theme-control[data-v-0dc61285]{position:absolute;top:.45rem;right:max(.55rem,env(safe-area-inset-right))}.legacy-shell__brand[data-v-0dc61285]{padding-right:3.25rem}}.contour-comparison__overview[data-v-6bcc5c03]{align-self:stretch;margin-inline:.7rem;flex-shrink:0;display:flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}.contour-comparison__overview input[data-v-6bcc5c03]{width:20px;height:20px;accent-color:var(--umi-accent, #2563eb)}.contour-comparison[data-v-6bcc5c03]{display:grid;gap:1rem;padding:clamp(.9rem,2vw,1.35rem);border:1px solid rgba(148,163,184,.35);border-radius:1rem;background:#fff;color:#172033}.contour-comparison__header[data-v-6bcc5c03]{display:flex;align-items:start;justify-content:space-between;gap:1rem}.contour-comparison__header-status[data-v-6bcc5c03]{display:grid;justify-items:end;gap:.45rem;flex:0 0 auto}.contour-comparison__eyebrow[data-v-6bcc5c03]{margin:0 0 .2rem;color:#2563eb;font-size:.76rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.contour-comparison h2[data-v-6bcc5c03]{margin:0;font-size:clamp(1.08rem,2vw,1.35rem)}.contour-comparison__hint[data-v-6bcc5c03]{max-width:48rem;margin:.4rem 0 0;color:#526079;font-size:.92rem;line-height:1.45}.contour-comparison__progress[data-v-6bcc5c03]{flex:0 0 auto;margin:0;padding:.35rem .6rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.82rem;font-weight:650}.contour-comparison__count[data-v-6bcc5c03]{margin:0;color:#526079;font-size:.82rem;font-weight:650}.contour-comparison__content[data-v-6bcc5c03]{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(15rem,.8fr);gap:1rem;align-items:start}.contour-comparison__viewer[data-v-6bcc5c03]{display:flex;flex-direction:column;align-items:center;min-width:0;border:1px solid #d9e1ed;border-radius:.8rem;overflow:auto;background:#e9eef6}.contour-comparison__canvas[data-v-6bcc5c03]{flex-shrink:0;position:relative;width:100%;min-height:0}.contour-comparison__canvas--empty[data-v-6bcc5c03]{display:grid;place-items:center}.contour-comparison__image[data-v-6bcc5c03],.contour-comparison__overlay[data-v-6bcc5c03]{display:block;width:100%;height:100%}.contour-comparison__image[data-v-6bcc5c03]{object-fit:contain}.contour-comparison__overlay[data-v-6bcc5c03]{position:absolute;inset:0;pointer-events:none}.contour-comparison__outline[data-v-6bcc5c03]{pointer-events:auto;cursor:pointer;stroke-width:3;vector-effect:non-scaling-stroke;transition:fill .12s ease,stroke-width .12s ease}.contour-comparison__outline[data-v-6bcc5c03]:focus{outline:none;stroke-width:5}.contour-comparison__outline--selected[data-v-6bcc5c03]{stroke-width:5}.contour-comparison__marker[data-v-6bcc5c03]{pointer-events:none;font-weight:800;font-size:14px;text-anchor:middle;fill:#fff;paint-order:stroke;stroke:#0f172a47;stroke-width:1px}.contour-comparison__grid[data-v-6bcc5c03]{fill:none;stroke:#fffffff5;stroke-width:1.3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(15,23,42,.65))}.contour-comparison__empty-image[data-v-6bcc5c03]{margin:1rem;color:#64748b;text-align:center}.contour-comparison__choices[data-v-6bcc5c03]{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:.5rem;max-height:min(58vh,38rem);min-height:0}.contour-comparison__candidate-scroller[data-v-6bcc5c03]{display:grid;align-content:start;gap:.5rem;min-height:0;overflow:auto;padding-right:.2rem;overscroll-behavior:contain}.contour-comparison__candidate-scroller[data-v-6bcc5c03]:focus-visible{outline:3px solid rgba(37,99,235,.38);outline-offset:2px;border-radius:.7rem}.contour-comparison__choice[data-v-6bcc5c03]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.6rem;width:100%;padding:.7rem;border:1px solid #d9e1ed;border-radius:.7rem;background:#fff;color:inherit;cursor:pointer;text-align:left}.contour-comparison__choice[data-v-6bcc5c03]:hover{border-color:#93c5fd;background:#f8fbff}.contour-comparison__choice[data-v-6bcc5c03]:focus-visible,.contour-comparison__action[data-v-6bcc5c03]:focus-visible{outline:3px solid rgba(37,99,235,.38);outline-offset:2px}.contour-comparison__choice--selected[data-v-6bcc5c03]{border-color:#2563eb;background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb}.contour-comparison__number[data-v-6bcc5c03]{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--contour-color, #475569);color:#fff;font-size:.84rem;font-weight:800}.contour-comparison__choice-copy[data-v-6bcc5c03]{display:grid;gap:.12rem;min-width:0}.contour-comparison__choice strong[data-v-6bcc5c03]{font-size:.9rem}.contour-comparison__choice small[data-v-6bcc5c03]{color:#5b6980;font-size:.78rem;line-height:1.3}.contour-comparison__status[data-v-6bcc5c03]{align-self:center;color:#2563eb;font-size:.74rem;font-weight:700}.contour-comparison__no-candidates[data-v-6bcc5c03]{margin:.4rem 0;color:#64748b;font-size:.88rem}.contour-comparison__status-list[data-v-6bcc5c03]{display:grid;gap:.25rem;margin-top:.25rem;padding:.65rem;border-radius:.7rem;background:#f8fafc;color:#4b5a71;font-size:.78rem}.contour-comparison__status-list p[data-v-6bcc5c03]{margin:0}.contour-comparison__actions[data-v-6bcc5c03]{display:flex;flex-wrap:wrap;gap:.55rem}.contour-comparison__actions--sidebar[data-v-6bcc5c03]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.35rem}.contour-comparison__actions--sidebar .contour-comparison__action[data-v-6bcc5c03]{width:100%}.contour-comparison__model-review .contour-comparison__action[data-v-6bcc5c03]{min-height:44px}.contour-comparison__action[data-v-6bcc5c03]{min-height:2.5rem;padding:.5rem .8rem;border:1px solid #b9c5d8;border-radius:.6rem;background:#fff;color:#1e293b;cursor:pointer;font-weight:700}.contour-comparison__action[data-v-6bcc5c03]:hover:not(:disabled){border-color:#2563eb;background:#eff6ff}.contour-comparison__action--primary[data-v-6bcc5c03]{border-color:#1d4ed8;background:#2563eb;color:#fff}.contour-comparison__action--primary[data-v-6bcc5c03]:hover:not(:disabled){background:#1d4ed8}.contour-comparison__action[data-v-6bcc5c03]:disabled{cursor:not-allowed;opacity:.52}.contour-comparison__trained-status[data-v-6bcc5c03]{margin:.1rem 0 0;color:#1d4ed8;font-size:.8rem;line-height:1.35}.contour-comparison__model-review[data-v-6bcc5c03]{display:grid;gap:.75rem}.contour-comparison__model-review-status[data-v-6bcc5c03]{margin:0;padding:.7rem;border-radius:.7rem;background:#f8fafc;color:#4b5a71;font-size:.88rem;line-height:1.4}@media(max-width:760px){.contour-comparison__header[data-v-6bcc5c03],.contour-comparison__content[data-v-6bcc5c03]{grid-template-columns:1fr;display:grid}.contour-comparison__header-status[data-v-6bcc5c03]{justify-items:start}.contour-comparison__progress[data-v-6bcc5c03]{justify-self:start}.contour-comparison__choices[data-v-6bcc5c03]{max-height:none}.contour-comparison__candidate-scroller[data-v-6bcc5c03]{max-height:min(44vh,24rem)}.contour-comparison__choice[data-v-6bcc5c03]{grid-template-columns:auto minmax(0,1fr)}.contour-comparison__choice-copy[data-v-6bcc5c03]{overflow-wrap:anywhere}.contour-comparison__status[data-v-6bcc5c03]{grid-column:2;grid-row:2;justify-self:start;white-space:normal}.contour-comparison__actions[data-v-6bcc5c03]{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:420px){.contour-comparison__actions[data-v-6bcc5c03]{grid-template-columns:1fr}.contour-comparison__choice[data-v-6bcc5c03]{padding:.6rem}}@media(min-width:761px)and (max-height:560px){.contour-comparison__choices[data-v-6bcc5c03]{max-height:none}.contour-comparison__candidate-scroller[data-v-6bcc5c03]{min-height:7rem;max-height:12rem}}@media(prefers-color-scheme:dark){.contour-comparison[data-v-6bcc5c03]{border-color:#475569;background:#172033;color:#f8fafc}.contour-comparison__hint[data-v-6bcc5c03],.contour-comparison__count[data-v-6bcc5c03],.contour-comparison__choice small[data-v-6bcc5c03],.contour-comparison__no-candidates[data-v-6bcc5c03]{color:#cbd5e1}.contour-comparison__progress[data-v-6bcc5c03]{background:#172554;color:#bfdbfe}.contour-comparison__viewer[data-v-6bcc5c03]{border-color:#475569;background:#0f172a}.contour-comparison__choice[data-v-6bcc5c03],.contour-comparison__action[data-v-6bcc5c03]{border-color:#475569;background:#1e293b;color:#f8fafc}.contour-comparison__choice[data-v-6bcc5c03]:hover,.contour-comparison__action[data-v-6bcc5c03]:hover:not(:disabled){border-color:#60a5fa;background:#24344d}.contour-comparison__choice--selected[data-v-6bcc5c03]{border-color:#60a5fa;background:#172554;box-shadow:inset 0 0 0 1px #60a5fa}.contour-comparison__status-list[data-v-6bcc5c03],.contour-comparison__model-review-status[data-v-6bcc5c03]{background:#1e293b;color:#cbd5e1}.contour-comparison__trained-status[data-v-6bcc5c03]{color:#bfdbfe}}.contour-comparison__count[data-v-6bcc5c03],.contour-comparison__eyebrow[data-v-6bcc5c03]{color:var(--umi-muted)}.contour-comparison__model-review-status[data-v-6bcc5c03]{background:var(--umi-surface);color:var(--umi-ink)}.cm-chessboard .arrow-warning .arrow-head{fill:orange;fill-rule:nonzero}.cm-chessboard .arrow-warning .arrow-line{stroke:orange;stroke-linecap:round;opacity:.6}.cm-chessboard .arrow-danger .arrow-head{fill:red;fill-rule:nonzero}.cm-chessboard .arrow-danger .arrow-line{stroke:red;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-success .arrow-head{fill:green;fill-rule:nonzero}.cm-chessboard .arrow-success .arrow-line{stroke:green;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-info .arrow-head{fill:#00f;fill-rule:nonzero}.cm-chessboard .arrow-info .arrow-line{stroke:#00f;stroke-linecap:butt;opacity:.4}.cm-chessboard .arrow-secondary .arrow-head{fill:#666;fill-rule:nonzero}.cm-chessboard .arrow-secondary .arrow-line{stroke:#666;stroke-linecap:butt;opacity:.5}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .markers .marker.marker-frame{stroke:#000;stroke-width:1.8px;opacity:.5}.cm-chessboard .markers .marker.marker-frame-primary,.cm-chessboard .markers .marker.marker-frame-info{stroke:#00f;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-danger{stroke:red;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-warning{stroke:orange;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-circle{stroke:#000;stroke-width:3px;opacity:.3}.cm-chessboard .markers .marker.marker-circle-primary,.cm-chessboard .markers .marker.marker-circle-info{stroke:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-info-filled{stroke:#00f;fill:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger{stroke:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger-filled{stroke:red;fill:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning{stroke:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning-filled{stroke:orange;fill:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success{stroke:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success-filled{stroke:green;fill:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-square{fill:#000;opacity:.11}.cm-chessboard .markers .marker.marker-dot,.cm-chessboard .markers .marker.marker-bevel{fill:#000;opacity:.2}:root{--legacy-board-light: #eef4ff;--legacy-board-dark: #7276c9;--legacy-board-ink-dark: #27345f;--legacy-board-ink-light: #f7faff;--legacy-board-last-move: rgba(129, 140, 248, .34);--legacy-board-dest: rgba(56, 189, 248, .3);--legacy-board-dest-occupied: rgba(56, 189, 248, .22);--legacy-board-check: rgba(180, 35, 24, .58);--legacy-board-best: rgba(4, 120, 87, .86);--legacy-board-draw: rgba(37, 99, 235, .7)}.cm-chessboard.chessboard-js{overflow:visible}.cm-chessboard.chessboard-js .board .square.white{fill:var(--legacy-board-light)}.cm-chessboard.chessboard-js .board .square.black{fill:var(--legacy-board-dark)}.cm-chessboard.chessboard-js .board .square{transition:fill .16s ease}.cm-chessboard.chessboard-js.border-type-none .board .border{fill:var(--legacy-board-dark);stroke-width:0}.cm-chessboard.chessboard-js .coordinates .coordinate{font-size:13px!important;font-weight:700;letter-spacing:.01em}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:var(--legacy-board-dark)}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:var(--legacy-board-light)}.cm-chessboard .markers .marker.marker-square{fill:var(--legacy-board-last-move);opacity:1}.cm-chessboard .markers .marker.marker-dot{fill:var(--legacy-board-dest);opacity:1}.cm-chessboard .markers .marker.marker-bevel{fill:var(--legacy-board-dest-occupied);opacity:1}.cm-chessboard .markers .marker.marker-frame-danger{stroke:var(--legacy-board-check);stroke-width:2.2px;opacity:1}.cm-chessboard .arrow-success .arrow-head,.cm-chessboard .arrow-success .arrow-line{fill:var(--legacy-board-best);stroke:var(--legacy-board-best);opacity:.95}.cm-chessboard .arrow-success .arrow-line{stroke-width:6px}.cm-chessboard .arrow-info .arrow-head,.cm-chessboard .arrow-info .arrow-line{fill:var(--legacy-board-draw);stroke:var(--legacy-board-draw);opacity:.7}.cm-chessboard .arrow-info .arrow-line{stroke-width:5px}.square-exception-review[data-v-e63d7554]{box-sizing:border-box;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));color:var(--color-text)}.square-exception-review__backdrop[data-v-e63d7554]{position:fixed;inset:0;z-index:0;border:0;background:transparent;cursor:default}.square-exception-review__surface[data-v-e63d7554]{position:relative;z-index:1;width:min(1180px,100%);min-height:min(420px,100%);max-height:100%}.square-exception-review__content[data-v-e63d7554]{display:grid;gap:12px;min-height:0;overflow:auto;padding:14px 16px;background:var(--color-bg)}.square-exception-review__header[data-v-e63d7554]{position:relative}.square-exception-review__close[data-v-e63d7554],.square-exception-review__button[data-v-e63d7554],.square-exception-review__text-button[data-v-e63d7554],.square-exception-review__choices button[data-v-e63d7554]{min-height:36px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:700;cursor:pointer}.square-exception-review__close[data-v-e63d7554],.square-exception-review__button[data-v-e63d7554]{padding:7px 11px}.square-exception-review__close[data-v-e63d7554]:hover,.square-exception-review__button[data-v-e63d7554]:hover,.square-exception-review__text-button[data-v-e63d7554]:hover,.square-exception-review__choices button[data-v-e63d7554]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.square-exception-review button[data-v-e63d7554]:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.square-exception-review button[data-v-e63d7554]:disabled{cursor:not-allowed;opacity:.62}.square-exception-review__notice[data-v-e63d7554],.square-exception-review__outcome[data-v-e63d7554]{margin:0;padding:10px 12px;border:1px solid var(--color-info-border);border-radius:9px;background:var(--color-info-soft);color:var(--color-text)}.square-exception-review__notice.is-error[data-v-e63d7554],.square-exception-review__outcome.is-failed[data-v-e63d7554]{border-color:var(--color-danger-border);background:var(--color-danger-soft)}.square-exception-review__outcome[data-v-e63d7554]{display:grid;gap:4px}.square-exception-review__outcome.is-passed[data-v-e63d7554]{border-color:var(--color-success-border);background:var(--color-success-soft)}.square-exception-review__outcome.is-waiting[data-v-e63d7554]{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.square-exception-review__outcome-actions[data-v-e63d7554],.square-exception-review__footer>div[data-v-e63d7554]{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.square-exception-review__candidates[data-v-e63d7554]{display:grid;gap:8px;margin-top:4px}.square-exception-review__candidates>p[data-v-e63d7554]{margin:0;color:var(--color-text-muted);font-size:.82rem}.square-exception-review__candidate[data-v-e63d7554]{display:grid;grid-template-columns:128px minmax(0,1fr);gap:9px;overflow:hidden;border:1px solid var(--color-warning-border);border-radius:8px;background:var(--color-surface)}.square-exception-review__candidate img[data-v-e63d7554],.square-exception-review__candidate-missing[data-v-e63d7554]{display:block;width:128px;height:96px;object-fit:cover;background:var(--color-surface-muted)}.square-exception-review__candidate-missing[data-v-e63d7554]{display:grid;place-items:center;color:var(--color-text-muted);font-size:.72rem;text-align:center}.square-exception-review__candidate>div[data-v-e63d7554]:last-child{display:grid;align-content:center;justify-items:start;gap:4px;min-width:0;padding:7px 8px 7px 0}.square-exception-review__candidate span[data-v-e63d7554]{color:var(--color-text-muted);font-size:.78rem}.square-exception-review__boards[data-v-e63d7554]{display:flex;flex-wrap:wrap;gap:7px}.square-exception-review__board-tab[data-v-e63d7554]{display:grid;gap:2px;min-width:140px;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.square-exception-review__board-tab small[data-v-e63d7554]{color:var(--color-text-muted);font-size:.76rem}.square-exception-review__board-tab.is-active[data-v-e63d7554]{border-color:var(--color-accent);background:var(--color-accent-soft)}.square-exception-review__board-tab.is-holdout[data-v-e63d7554]{border-left:4px solid var(--color-warning)}.square-exception-review__review-area[data-v-e63d7554]{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.square-exception-review__board-heading[data-v-e63d7554]{display:flex;align-items:center;justify-content:space-between;gap:10px}.square-exception-review__board-heading>div[data-v-e63d7554]{display:grid;gap:2px;min-width:0}.square-exception-review__board-heading span[data-v-e63d7554]{overflow:hidden;color:var(--color-text-muted);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.square-exception-review__text-button[data-v-e63d7554]{padding:6px 9px;white-space:nowrap}.square-exception-review__board-body[data-v-e63d7554]{display:grid;grid-template-columns:minmax(230px,.88fr) minmax(0,1.12fr);gap:14px;align-items:start}.square-exception-review__crop-wrap[data-v-e63d7554]{margin:0;border:1px solid var(--color-border-strong);background:var(--color-surface-muted)}.square-exception-review__crop[data-v-e63d7554]{display:block;width:100%;max-height:min(560px,48vh);object-fit:contain}.square-exception-review__missing-crop[data-v-e63d7554]{display:grid;min-height:240px;place-items:center;color:var(--color-text-muted)}.square-exception-review__editor[data-v-e63d7554]{display:grid;gap:10px;min-width:0}.square-exception-review__exception-list[data-v-e63d7554]{display:grid;gap:7px}.square-exception-review__exception-list>p[data-v-e63d7554]{display:grid;gap:2px;margin:0;color:var(--color-text-muted)}.square-exception-review__exception-list>p strong[data-v-e63d7554]{color:var(--color-text)}.square-exception-review__exception[data-v-e63d7554]{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;align-items:stretch;padding:6px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.square-exception-review__exception.is-selected[data-v-e63d7554]{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-ring)}.square-exception-review__exception>span[data-v-e63d7554]:last-child{display:grid;gap:2px;min-width:0}.square-exception-review__exception small[data-v-e63d7554],.square-exception-review__exception em[data-v-e63d7554]{overflow:hidden;color:var(--color-text-muted);font-size:.76rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.square-exception-review__exception em[data-v-e63d7554]{color:var(--color-warning-strong)}.square-exception-review__confirmed[data-v-e63d7554]{display:inline-block;margin-left:4px;padding:1px 4px;border-radius:999px;background:var(--color-success-soft);color:var(--color-success-strong);font-size:.66rem}.square-exception-review__square-preview[data-v-e63d7554]{position:relative;min-height:48px;overflow:hidden;border-radius:4px;background-color:var(--color-surface-muted);background-repeat:no-repeat}.square-exception-review__square-preview b[data-v-e63d7554]{position:absolute;top:3px;left:3px;padding:1px 3px;border-radius:3px;background:var(--color-text);color:var(--color-text-inverse);font-size:.68rem}.square-exception-review__empty[data-v-e63d7554]{padding:12px;border:1px dashed var(--color-border-strong);border-radius:8px}.square-exception-review__grid-scroll[data-v-e63d7554]{display:flex;justify-content:center;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:var(--color-border-strong) transparent}.square-exception-review__grid-scroll[data-v-e63d7554]:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.square-exception-review__grid[data-v-e63d7554]{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;width:min(100%,520px);margin:auto}.square-exception-review__square[data-v-e63d7554]{position:relative;aspect-ratio:1;min-width:0;overflow:hidden;border:1px solid var(--color-border-strong);background-color:var(--color-surface-muted);background-repeat:no-repeat;color:var(--color-text);cursor:pointer}.square-exception-review__square>span[data-v-e63d7554]{position:absolute;top:2px;left:2px;padding:1px 3px;background:color-mix(in srgb,var(--color-text) 72%,transparent);color:var(--color-text-inverse);font:800 .54rem/1 ui-monospace,monospace}.square-exception-review__square>i[data-v-e63d7554]{position:absolute;right:4px;bottom:1px;color:var(--color-text);font-size:1.05rem;font-style:normal;text-shadow:0 1px var(--color-surface)}.square-exception-review__square.is-selected[data-v-e63d7554]{outline:3px solid var(--color-accent);outline-offset:-3px;z-index:1}.square-exception-review__square.is-flagged[data-v-e63d7554]{box-shadow:inset 0 0 0 3px var(--color-warning)}.square-exception-review__square.is-corrected[data-v-e63d7554]{box-shadow:inset 0 0 0 3px var(--color-success)}.square-exception-review__decision[data-v-e63d7554]{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.square-exception-review__decision>div[data-v-e63d7554]:first-child{display:grid;gap:2px}.square-exception-review__decision span[data-v-e63d7554],.square-exception-review__decision small[data-v-e63d7554]{color:var(--color-text-muted);font-size:.75rem}.square-exception-review__choices[data-v-e63d7554]{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.square-exception-review__choices button[data-v-e63d7554]{min-height:31px;padding:4px 7px;font-size:.77rem}.square-exception-review__choices button.is-current[data-v-e63d7554]{border-color:var(--color-success);background:var(--color-success-soft)}kbd[data-v-e63d7554]{padding:1px 3px;border:1px solid var(--color-border-strong);border-radius:3px;background:var(--color-surface);color:var(--color-text-muted);font:.68rem ui-monospace,monospace}.square-exception-review__board-actions[data-v-e63d7554]{display:flex;justify-content:flex-end}.square-exception-review__button.is-primary[data-v-e63d7554]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.square-exception-review__button.is-primary[data-v-e63d7554]:hover{background:var(--color-accent-strong)}.square-exception-review__footer[data-v-e63d7554]{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--color-border);background:var(--color-surface)}.square-exception-review__footer-status[data-v-e63d7554]{color:var(--color-text-muted);font-size:.78rem}@media(any-pointer:coarse),(max-width:720px){.square-exception-review button[data-v-e63d7554]:not(.square-exception-review__backdrop){min-height:44px;touch-action:manipulation}.square-exception-review__grid-scroll[data-v-e63d7554]{justify-content:flex-start;-webkit-overflow-scrolling:touch}.square-exception-review__grid[data-v-e63d7554]{grid-template-columns:repeat(8,44px);width:max-content;margin:0}.square-exception-review__square[data-v-e63d7554]{width:44px;min-width:44px}}@media(max-width:720px){.square-exception-review__surface[data-v-e63d7554]{width:100%;max-height:100%}.square-exception-review__content[data-v-e63d7554]{padding:11px}.square-exception-review__board-body[data-v-e63d7554]{grid-template-columns:1fr}.square-exception-review__crop[data-v-e63d7554]{max-height:36vh}.square-exception-review__decision[data-v-e63d7554]{grid-template-columns:1fr}.square-exception-review__choices[data-v-e63d7554]{justify-content:flex-start}.square-exception-review__footer[data-v-e63d7554]{align-items:flex-start;flex-direction:column}}@media(max-width:390px){.square-exception-review__header[data-v-e63d7554]{grid-template-columns:1fr}.square-exception-review__close[data-v-e63d7554]{justify-self:start}.square-exception-review__board-heading[data-v-e63d7554]{align-items:flex-start;flex-direction:column}.square-exception-review__board-tab[data-v-e63d7554]{min-width:calc(50% - 4px);flex:1}.square-exception-review__exception[data-v-e63d7554]{grid-template-columns:46px minmax(0,1fr)}.square-exception-review__choices button[data-v-e63d7554]{flex:1 1 calc(50% - 5px)}.square-exception-review__candidate[data-v-e63d7554]{grid-template-columns:88px minmax(0,1fr)}.square-exception-review__candidate img[data-v-e63d7554],.square-exception-review__candidate-missing[data-v-e63d7554]{width:88px;height:82px}}@media(max-height:520px)and (orientation:landscape){.square-exception-review__content[data-v-e63d7554]{padding-block:8px}.square-exception-review__crop[data-v-e63d7554]{max-height:38vh}.square-exception-review__outcome[data-v-e63d7554]{padding:7px 9px}}.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;font-size:7px;cursor:default}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;font-size:7px;cursor:default}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;font-size:7px;cursor:default}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;font-size:7px;cursor:default}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;font-size:7px;cursor:default}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;font-size:7px;cursor:default}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;font-size:7px;cursor:default}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.family-trainer-surface{color-scheme:light;--font-xs: clamp(13px, .8125rem + .12vw, 14px);--font-sm: clamp(14px, .875rem + .14vw, 15px);--font-base: clamp(16px, 1rem + .12vw, 18px);--font-lg: clamp(18px, 1.125rem + .18vw, 21px);--font-xl: clamp(21px, 1.3125rem + .28vw, 25px);--font-2xl: clamp(24px, 1.5rem + .35vw, 30px);--space-1: clamp(4px, .5vw, 8px);--space-2: clamp(8px, 1vw, 12px);--space-3: clamp(12px, 1.2vw, 16px);--space-4: clamp(14px, 1.5vw, 20px);--space-5: clamp(18px, 2vw, 28px);--space-6: clamp(22px, 2.8vw, 40px);--touch-target: clamp(44px, 3vw, 50px);--touch-target-sm: clamp(40px, 2.4vw, 44px);--radius-sm: .45rem;--radius-md: .75rem;--radius-lg: 1rem;--color-bg: #f3f6f8;--color-bg-elevated: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #eef3f7;--color-surface-strong: #e3eaf2;--color-text: #121826;--color-text-muted: #536173;--color-text-soft: #6b7788;--color-text-inverse: #ffffff;--color-accent: #2563eb;--color-accent-strong: #1d4ed8;--color-accent-soft: rgba(37, 99, 235, .12);--color-accent-softer: rgba(37, 99, 235, .07);--color-accent-border: rgba(37, 99, 235, .28);--color-accent-ring: rgba(37, 99, 235, .24);--color-info: #0369a1;--color-info-strong: #075985;--color-info-soft: rgba(3, 105, 161, .12);--color-info-border: rgba(3, 105, 161, .28);--color-success: #047857;--color-success-strong: #065f46;--color-success-soft: rgba(4, 120, 87, .12);--color-success-border: rgba(4, 120, 87, .28);--color-warning: #b45309;--color-warning-strong: #92400e;--color-warning-soft: rgba(180, 83, 9, .12);--color-warning-border: rgba(180, 83, 9, .28);--color-danger: #b42318;--color-danger-strong: #8f1d14;--color-danger-soft: rgba(180, 35, 24, .12);--color-danger-border: rgba(180, 35, 24, .28);--color-focus-ring: rgba(37, 99, 235, .28);--color-border: #d5dee8;--color-border-strong: #aebcca;--color-panel-divider: #e4ebf2;--color-panel-glow: rgba(37, 99, 235, .1);--color-panel-wash: rgba(238, 243, 247, .78);--color-panel-wash-strong: rgba(248, 250, 252, .96);--color-neutral-soft: rgba(18, 24, 38, .05);--color-neutral-border: rgba(18, 24, 38, .12);--color-neutral-border-strong: rgba(18, 24, 38, .18);--color-overlay-backdrop: rgba(18, 24, 38, .56);--color-overlay-backdrop-strong: rgba(8, 13, 24, .74);--color-action-guided: #1d4ed8;--color-action-guided-strong: #1e3a8a;--color-action-guided-soft: rgba(29, 78, 216, .08);--color-action-manual: #b45309;--color-action-manual-strong: #92400e;--color-action-manual-soft: rgba(180, 83, 9, .08);--color-action-square: #0f766e;--color-action-square-strong: #115e59;--color-action-square-soft: rgba(15, 118, 110, .08);--color-action-piece: #c2410c;--color-action-piece-strong: #9a3412;--color-action-piece-soft: rgba(194, 65, 12, .08);--shadow-soft: 0 10px 22px rgba(18, 24, 38, .06);--shadow-pane: 0 1px 2px rgba(18, 24, 38, .04), 0 10px 30px rgba(18, 24, 38, .05);--shadow-floating: 0 14px 32px rgba(18, 24, 38, .14);--topbar-height: clamp(56px, 5vw, 64px);--workspace-gap: clamp(10px, 1vw, 16px);--workspace-pad: clamp(10px, 1vw, 16px);--workspace-max-width: 1920px;--results-max-width: 1420px;--board-card-max-width: 1380px;--board-card-rail-width: clamp(320px, 30vw, 390px);--board-preview-size: clamp(224px, 22vw, 296px);--ink: var(--color-text);--muted: var(--color-text-muted);--paper: var(--color-bg);--panel: var(--color-surface);--line: var(--color-border);--accent: var(--color-accent);--accent-dark: var(--color-accent-strong);--ok: var(--color-success);--warn: var(--color-warning);--fail: var(--color-danger);--shadow: var(--shadow-floating)}.family-trainer-surface,.family-trainer-surface *{box-sizing:border-box}.family-trainer-surface{margin:0;min-height:100dvh;overflow-x:hidden;color:var(--color-text);background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg) 28%,var(--color-surface-strong) 100%);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-base);line-height:1.52;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.contour-lab-modal-open,body.lw-open{overflow:hidden}.family-trainer-surface main{width:min(100%,calc(100vw - 32px));margin:0 auto;padding:24px 0 48px;max-width:var(--workspace-max-width)}.app-shell{min-height:100dvh;display:block}#results.results-shell{display:grid;gap:var(--space-3);width:min(100%,var(--results-max-width));margin-inline:auto;align-items:start}.results-card{display:grid;gap:0;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-pane);overflow:hidden}.legacy-shell__topbar{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:clamp(12px,1.1vw,16px) clamp(12px,1.5vw,22px);border-bottom:1px solid var(--color-border);background:#ffffffeb;box-shadow:0 1px #0f172a0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legacy-shell__brand-copy h1{margin:0;font-size:clamp(1.15rem,.95rem + .6vw,1.45rem);line-height:1.1;font-weight:800;letter-spacing:-.01em;color:var(--color-text)}.legacy-shell__brand-copy p{margin:.35rem 0 0;max-width:52rem;color:var(--color-text-muted);font-size:var(--font-sm);line-height:1.45}.legacy-shell__nav{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin-left:auto;align-items:center}.legacy-shell__nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:0 .95rem;border:1px solid var(--color-border);border-radius:999px;background:#ffffffe0;color:var(--color-text);text-decoration:none;font-weight:700;font-size:var(--font-sm);transition:background-color .12s ease,border-color .12s ease,color .12s ease;cursor:pointer}.legacy-shell__nav-link:hover{border-color:var(--color-accent-border);color:var(--color-accent)}.legacy-shell__nav-link.danger-button{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger-strong)}.legacy-shell__nav-link.danger-button:hover{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}.legacy-shell .legacy-workspace__pill,.legacy-workspace__pill{min-height:var(--touch-target-sm);padding:0 .95rem;border:1px solid var(--color-border-strong);border-radius:.6rem;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-sm);font-weight:700;line-height:1;text-transform:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.legacy-shell .legacy-workspace__pill:hover,.legacy-workspace__pill:hover{background:var(--color-surface-muted);border-color:var(--color-accent-border);color:var(--color-text)}.legacy-shell .legacy-workspace__pill:focus-visible,.legacy-workspace__pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.legacy-shell .legacy-workspace__pill:disabled,.legacy-workspace__pill:disabled{opacity:.5;cursor:not-allowed}.legacy-shell .legacy-workspace__pill--primary,.legacy-workspace__pill--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.legacy-shell .legacy-workspace__pill--primary:hover,.legacy-workspace__pill--primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-text-inverse)}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7f9fceb;box-shadow:var(--shadow-soft)}h1{margin:0;font-size:clamp(1.4rem,.95rem + 1.4vw,2.1rem);line-height:1.1;letter-spacing:-.01em;font-weight:800;color:var(--color-text)}.toolbar p{max-width:820px;margin:8px 0 0;color:var(--color-text-muted);font-size:var(--font-sm);line-height:1.5}.file-button{display:inline-flex;align-items:center;min-height:var(--touch-target-sm);padding:0 .95rem;border:1px solid var(--color-accent);border-radius:999px;background:var(--color-accent);color:var(--color-text-inverse);cursor:pointer;font-weight:700;font-size:var(--font-sm);transition:background-color .12s ease,border-color .12s ease,transform .12s ease;position:relative}.file-button:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.file-button input,.hidden-file-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.toolbar-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-end}.text-link{display:inline-flex;align-items:center;min-height:var(--touch-target-sm);padding:0 .85rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);text-decoration:none;font-weight:700;font-size:var(--font-sm);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.text-link:hover{border-color:var(--color-accent-border);color:var(--color-accent)}.status-bar{margin:0;padding:.7rem clamp(12px,1.5vw,22px);border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:var(--color-panel-wash-strong);color:var(--color-text-muted);font-size:var(--font-sm);font-weight:600}.training-panel{display:grid;gap:12px;margin-top:var(--space-3);padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft)}.training-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flow-step{display:flex;align-items:center;gap:8px;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-xs);font-weight:700;line-height:1.2;text-transform:uppercase}.flow-step span:last-child{min-width:0;overflow-wrap:anywhere}.step-index{display:inline-grid;flex:0 0 auto;place-items:center;width:22px;height:22px;border-radius:999px;border:1px solid var(--color-accent-strong);background:var(--color-accent);color:var(--color-text-inverse);font-size:.7rem;font-weight:800}.training-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.primary-controls{padding-bottom:12px;border-bottom:1px solid var(--color-panel-divider)}.primary-controls button:first-child{background:var(--color-accent);border-color:var(--color-accent-strong);color:var(--color-text-inverse)}.primary-controls button:first-child:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-text-inverse)}.number-control{display:inline-flex;align-items:center;gap:8px;min-height:36px;color:var(--color-text-muted);font-size:var(--font-xs);font-weight:700;line-height:1;text-transform:uppercase}.number-control input{width:64px;min-height:36px;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);padding:0 8px;font-size:var(--font-xs);font-weight:700;line-height:1}.train-stats,.train-progress{color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px}.review-sample{display:grid;gap:6px;padding:8px;border:1px solid var(--line);background:#fff}.review-sample canvas{width:48px;height:48px;border:1px solid var(--line);image-rendering:pixelated}.sample-label{color:var(--ink);font:800 .72rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.sample-controls{display:grid;grid-template-columns:1fr 1fr;gap:4px}.sample-controls button{min-height:28px;padding:0 6px;font-size:.62rem}.sample-controls button:disabled{opacity:.44;cursor:not-allowed}.results{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin-top:0;width:100%;max-width:none;margin-inline:0;padding:var(--space-3);justify-items:center;align-items:start}.card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,var(--board-card-rail-width));gap:clamp(14px,1.6vw,22px);width:min(100%,var(--board-card-max-width));padding:clamp(16px,1.4vw,22px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-pane);align-items:start}.card.card--pending{background:var(--color-panel-wash);border-style:dashed}.card header{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;color:var(--color-text)}.meta{margin-top:4px;color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600}.badge{border:1px solid var(--color-border);background:var(--color-surface);padding:4px 10px;font-size:var(--font-xs);font-weight:800;line-height:1;text-transform:uppercase;white-space:nowrap;border-radius:999px;color:var(--color-text-muted)}.badge.detected{color:var(--color-success-strong);background:var(--color-success-soft);border-color:var(--color-success-border)}.badge.refine{color:var(--color-warning-strong);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.badge.failed{color:var(--color-danger-strong);background:var(--color-danger-soft);border-color:var(--color-danger-border)}canvas[data-mcp-clickable=true]{cursor:pointer}.viewer{grid-column:1;position:relative;width:100%;min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-self:start}.viewer canvas{display:block;width:100%;height:auto}.card-side-rail{grid-column:2;display:grid;gap:12px;align-content:start;min-width:0}.review-panel{grid-column:1 / -1;display:none;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-soft)}.review-panel.active{display:flex}.action-button>.review-panel{width:100%;box-sizing:border-box}.action-button>.review-panel.active{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}.action-button>.review-panel .review-buttons{width:100%;justify-content:flex-start}.action-button>.review-panel .review-buttons button{flex:1 1 0}.manual-contour-panel,.empty-calibration-panel{grid-column:1 / -1;display:none;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-soft)}.manual-contour-panel.active,.empty-calibration-panel.active{display:flex}.review-copy,.manual-contour-copy{min-width:0;color:var(--color-text);font-size:var(--font-sm);font-weight:600;overflow-wrap:anywhere}.review-title,.manual-contour-title{display:block;text-transform:uppercase;font-size:var(--font-xs);letter-spacing:.04em}.review-title{color:var(--color-warning-strong)}.manual-contour-title{color:var(--color-info-strong)}.review-buttons,.manual-contour-buttons{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}.crop-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;min-width:0;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg,#f8fafcf5,#eef3f7eb);box-shadow:inset 0 1px #ffffffb8}.crop-row[data-label-mode=true]{grid-template-columns:minmax(0,1fr)}.crop-board-column{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:6px;min-width:0}.debug-text-toggle{pointer-events:auto;padding:3px 8px;border:1px solid rgba(23,21,18,.32);border-radius:4px;background:#fffdf8e6;color:var(--muted);font:800 .62rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.debug-text-toggle:hover{background:#fffdf8;color:var(--ink);border-color:#1715128c}.debug-text-toggle[data-active=true]{background:#9e241a1f;color:var(--accent-dark);border-color:#9e241a8c}.mini-board{width:var(--board-preview-size);height:var(--board-preview-size);border:1px solid var(--line);background:#fff;image-rendering:auto}.mini-board[hidden]{display:none}.mini-board-surface{width:var(--board-preview-size);height:var(--board-preview-size);border:1px solid var(--line);background:#fff;box-sizing:border-box}.mini-board-surface[hidden]{display:none}.mini-board-wrap{position:relative;width:var(--board-preview-size);height:var(--board-preview-size);margin-bottom:32px;overflow:visible}.mini-board-wrap[data-interactive=true]{cursor:pointer}.mini-board-wrap[data-interactive=true] .mini-board,.mini-board-wrap[data-interactive=true] .mini-board-surface{cursor:pointer;box-shadow:0 0 #176f9f00;transition:box-shadow .12s ease,transform .12s ease}.mini-board-wrap[data-interactive=true]:hover .mini-board,.mini-board-wrap[data-interactive=true]:focus-visible .mini-board,.mini-board-wrap[data-interactive=true]:hover .mini-board-surface,.mini-board-wrap[data-interactive=true]:focus-visible .mini-board-surface{box-shadow:0 0 0 3px #176f9f33;transform:translateY(-1px)}.mini-board-status{position:absolute;top:calc(100% + 8px);left:0;z-index:2;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:24px;padding:0 8px;border:1px solid rgba(23,21,18,.18);background:#fffdf8e6;color:var(--ink);font:800 .62rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}.mini-board-status__provenance,.mini-board-status__fen,.training-label-review-board__provenance{display:inline-flex;align-items:center;min-width:0;padding-left:6px;border-left:1px solid rgba(23,21,18,.14);color:#4a443de0;overflow-wrap:anywhere;text-transform:uppercase}.mini-board-status__provenance[hidden],.mini-board-status__fen[hidden],.training-label-review-board__provenance[hidden]{display:none}.crop-row[data-label-mode=true] .mini-board-wrap{width:min(100%,360px);height:auto;margin-bottom:0;aspect-ratio:1}.mini-board-wrap .mini-board:not([hidden]){display:block}.mini-board-wrap .mini-board-surface:not([hidden]){display:block}.mini-board-wrap[data-preview-mode=recognized] .mini-board,.mini-board-wrap[data-preview-mode=recognized] .mini-board-surface,.mini-board-wrap[data-preview-mode=occupancy] .mini-board{border-color:#1715123d;box-shadow:inset 0 0 0 1px #fffdf861}.mini-board-wrap[data-preview-mode=recognized] .mini-board-status{background:#fff7e2f0;border-color:#9e241a38;color:var(--accent-dark)}.mini-board-wrap[data-preview-mode=occupancy] .mini-board-status{background:#ecf9f6f0;border-color:#176f9f38;color:var(--accent)}.crop-row[data-label-mode=true] .mini-board,.crop-row[data-label-mode=true] .mini-board-surface{width:100%;height:auto;aspect-ratio:1}.chessboard-surface{overflow:hidden;background:#fff}.chessboard-surface .cm-chessboard{width:100%;height:100%}.chessboard-surface .cm-chessboard .board .square.chessboard-surface__selected-square{stroke:#1a73e8;stroke-width:1.45%}.diagnostics{min-width:0;padding:10px 12px;border:1px dashed var(--color-neutral-border-strong);border-radius:var(--radius-sm);background:#ffffffb8;color:var(--muted);font:600 .76rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.crop-row:not([data-debug-visible=true]) .diagnostics{display:none}.diagnostics[data-tone=alert]{padding:10px 12px;border-left:4px solid var(--fail);background:#9b1c1c17;color:var(--fail);font-weight:800;box-shadow:inset 0 0 0 1px #9b1c1c1f}.diagnostics-alert{display:grid;gap:10px}.diagnostics-alert__title{font-weight:900}.diagnostics-alert__actions{display:flex;flex-wrap:wrap;gap:8px}.diagnostics-alert__chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid transparent;border-radius:999px;color:#fffdf8;font:800 .72rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.02em}.diagnostics-alert__step{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 6px;border-radius:999px;background:#fffdf838;border:1px solid rgba(255,253,248,.45);color:#fffdf8;font-size:.68rem;line-height:1}.diagnostics-alert__label{white-space:nowrap}.diagnostics-alert__chip--perfect{background:#0f766e;border-color:#115e59}.diagnostics-alert__chip--fix{background:var(--accent);border-color:var(--accent-dark)}.diagnostics-alert__chip--manual{background:var(--warn);border-color:#7f4a00}.diagnostics-alert__chip--labels{background:var(--ok);border-color:#185336}.diagnostics-alert__hint{color:color-mix(in srgb,var(--fail) 78%,var(--ink));font-weight:700}.square-editor{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:clamp(10px,1.8vw,24px);background:var(--color-overlay-backdrop-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.square-editor[hidden]{display:none}.square-editor__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}.square-editor__surface{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1500px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:clamp(12px,1.6vw,18px);overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-floating)}.square-editor-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.square-editor-toolbar__copy{display:grid;gap:5px;min-width:0}.square-editor-toolbar__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.square-editor-title{color:var(--color-text);font-size:var(--font-sm);font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere}.square-editor-subtitle{color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.square-editor-toolbar__actions button{min-height:32px;padding:0 10px;font-size:var(--font-xs)}.square-editor-toolbar__actions button:last-child{background:var(--color-text);border-color:var(--color-text);color:var(--color-text-inverse)}.square-editor-toolbar__actions button:last-child:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.square-editor__scroll{display:grid;gap:12px;min-height:0;overflow:auto;padding-right:2px}.square-editor-current-board{display:grid;min-width:0}.square-editor-current-board:empty{display:none}.square-editor-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,360px);border:1px solid var(--ink);background:var(--ink);gap:1px}.square-editor-overlay{display:none;position:absolute;inset:0;width:100%;border:1px solid rgba(23,21,18,.72);background:transparent;gap:0;z-index:2}.mini-board-wrap[data-label-mode=true] .square-editor-overlay{display:grid}.square-label-cell{display:grid;place-items:center;aspect-ratio:1;min-height:0;border:0;padding:0;color:var(--ink);font:900 clamp(.62rem,2.2vw,.88rem)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.square-editor-overlay .square-label-cell{align-items:start;justify-items:end;padding:2px;border:1px solid rgba(255,253,248,.34);background:transparent!important;color:var(--ink);font-size:0;text-shadow:none;cursor:pointer}.square-label-cell:nth-child(16n+1),.square-label-cell:nth-child(16n+3),.square-label-cell:nth-child(16n+5),.square-label-cell:nth-child(16n+7),.square-label-cell:nth-child(16n+10),.square-label-cell:nth-child(16n+12),.square-label-cell:nth-child(16n+14),.square-label-cell:nth-child(16n+16){background:#f2dfb8}.square-label-cell:nth-child(16n+2),.square-label-cell:nth-child(16n+4),.square-label-cell:nth-child(16n+6),.square-label-cell:nth-child(16n+8),.square-label-cell:nth-child(16n+9),.square-label-cell:nth-child(16n+11),.square-label-cell:nth-child(16n+13),.square-label-cell:nth-child(16n+15){background:#b48755}.square-label-cell[data-label=light_piece_on_light],.square-label-cell[data-label=light_piece_on_dark]{color:#7a4a00;text-shadow:0 1px 0 rgba(255,255,255,.72)}.square-editor-overlay .square-label-cell[data-label=light_piece_on_light],.square-editor-overlay .square-label-cell[data-label=light_piece_on_dark]{color:#5b3400}.square-label-cell[data-label=dark_piece_on_light],.square-label-cell[data-label=dark_piece_on_dark]{color:#111;text-shadow:0 1px 0 rgba(255,255,255,.42)}.square-editor-overlay .square-label-cell[data-label=dark_piece_on_light],.square-editor-overlay .square-label-cell[data-label=dark_piece_on_dark]{color:#fffdf8}.square-label-cell[data-label=occupied]{color:var(--fail);text-shadow:0 1px 0 rgba(255,255,255,.58)}.square-editor-overlay .square-label-cell[data-label=occupied]{color:#fffdf8}.square-editor-overlay .square-label-cell[data-label=empty_light],.square-editor-overlay .square-label-cell[data-label=empty_dark],.square-editor-overlay .square-label-cell[data-label=light_piece_on_light],.square-editor-overlay .square-label-cell[data-label=dark_piece_on_light],.square-editor-overlay .square-label-cell[data-label=light_piece_on_dark],.square-editor-overlay .square-label-cell[data-label=dark_piece_on_dark],.square-editor-overlay .square-label-cell[data-label=occupied]{color:var(--ink)}.square-editor-overlay .square-label-cell[data-label=empty_light]:before,.square-editor-overlay .square-label-cell[data-label=empty_dark]:before,.square-editor-overlay .square-label-cell[data-label=light_piece_on_light]:before,.square-editor-overlay .square-label-cell[data-label=dark_piece_on_light]:before,.square-editor-overlay .square-label-cell[data-label=light_piece_on_dark]:before,.square-editor-overlay .square-label-cell[data-label=dark_piece_on_dark]:before,.square-editor-overlay .square-label-cell[data-label=occupied]:before{content:attr(data-label-short);display:grid;place-items:center;width:clamp(18px,5.8vw,24px);height:clamp(18px,5.8vw,24px);border:1px solid rgba(23,21,18,.36);border-radius:999px;background:#fffdf8c7;box-shadow:0 4px 12px #1715122e;font:900 clamp(.8rem,2.4vw,1rem)/1 "Segoe UI Symbol","Noto Sans Symbols 2",serif}.square-editor-overlay .square-label-cell[data-label=empty_light]:before,.square-editor-overlay .square-label-cell[data-label=empty_dark]:before{background:#fffdf8e6;color:#4f4133}.square-editor-overlay .square-label-cell[data-label=light_piece_on_light]:before,.square-editor-overlay .square-label-cell[data-label=light_piece_on_dark]:before{background:#fff0c8;color:#5b3400}.square-editor-overlay .square-label-cell[data-label=dark_piece_on_light]:before,.square-editor-overlay .square-label-cell[data-label=dark_piece_on_dark]:before{background:#201a14;color:#fffdf8}.square-editor-overlay .square-label-cell[data-label=occupied]:before{background:#9b1c1c;color:#fffdf8}.square-label-cell[data-manual=true]{box-shadow:inset 0 0 0 2px var(--accent)}.square-editor-overlay .square-label-cell[data-manual=true]{box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 4px #fffdf8e0}.square-label-cell[data-selected=true]{outline:3px solid var(--accent);outline-offset:-3px}.square-label-cell:hover{background:var(--ink);color:var(--panel)}.square-editor-overlay .square-label-cell:hover,.square-editor-overlay .square-label-cell:focus-visible{background:#17151229!important;color:inherit;outline:2px solid #fffdf8;outline-offset:-4px}.square-label-popover{position:absolute;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(38px,1fr));gap:6px;min-width:198px;padding:8px;border:1px solid rgba(23,21,18,.14);border-radius:16px;background:linear-gradient(180deg,#fffdf8fa,#f5ebd9f5);box-shadow:0 18px 38px #1715123d,0 1px #ffffffb8 inset;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(-50%,calc(-100% - 8px))}.square-label-popover[hidden]{display:none}.square-label-popover[data-placement=below]{transform:translate(-50%,8px)}.square-label-popover__title{grid-column:1 / -1;color:var(--muted);font:900 .54rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase}.square-label-popover button{display:grid;place-items:center;min-height:42px;padding:0;border:1px solid rgba(23,21,18,.12);border-radius:12px;background:#fffdf8eb;color:#5f5142;font:900 1.28rem/1 Segoe UI Symbol,"Noto Sans Symbols 2",serif;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;white-space:nowrap}.square-label-popover button[data-type=empty]{background:linear-gradient(135deg,#fffdf8,#ece2d2);color:#6b5a49}.square-label-popover button[data-type=white]{background:linear-gradient(150deg,#fff6d9,#d6ab3a);color:#fff7e4;text-shadow:-1px 0 #171512,1px 0 #171512,0 -1px #171512,0 1px #171512}.square-label-popover button[data-type=black]{background:linear-gradient(150deg,#504335,#171512);color:#fff7ea;text-shadow:0 1px 1px rgba(0,0,0,.45)}.square-label-popover button:hover,.square-label-popover button:focus-visible{transform:translateY(-1px);border-color:#1a73e866;box-shadow:0 10px 18px #1715122e;outline:none}.square-label-popover button[data-selected=true]{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e847,0 10px 18px #1715122e}.square-label-popover button:disabled{opacity:.44;cursor:not-allowed;transform:none;box-shadow:none}.inline-training-tools{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--color-panel-divider)}.inline-training-tools[hidden]{display:none}.inline-style-key,.inline-training-status{color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.square-editor .inline-training-tools{gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.square-editor[data-busy=true] .square-editor__surface{border-color:var(--color-accent);background:var(--color-accent-softer)}.square-editor[data-busy=true] .inline-training-status{color:var(--color-text);font-weight:800}.inline-training-progress{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-wash-strong)}.inline-training-progress[hidden]{display:none}.inline-training-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--color-text);font-size:var(--font-xs);font-weight:700;line-height:1;text-transform:uppercase}.inline-training-progress__meta span{min-width:0;overflow-wrap:anywhere}.inline-training-progress__track{height:8px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.inline-training-progress__fill{width:0%;height:100%;background:linear-gradient(90deg,var(--color-accent-strong),var(--color-accent));transition:width .18s ease}.inline-training-runtime-notes{display:grid;gap:8px}.inline-training-runtime-notes[hidden]{display:none}.inline-training-runtime-note{margin:0;padding:8px 10px;border:1px solid var(--color-info-border);border-radius:var(--radius-sm);background:var(--color-info-soft);color:var(--color-info-strong);font-size:var(--font-xs);font-weight:700;line-height:1.45;overflow-wrap:anywhere}.inline-training-runtime-note.is-warning{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning-strong)}.inline-training-runtime-note[hidden]{display:none}.inline-training-mode{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--color-accent-border);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-text);font-size:var(--font-xs);font-weight:600;line-height:1.5}.inline-training-mode[hidden]{display:none}.inline-training-mode-actions{display:flex;flex-wrap:wrap;gap:8px}.inline-training-mode-actions button{border-color:var(--color-accent-border)}.inline-training-prefs{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-wash);color:var(--color-text);font-size:var(--font-xs);font-weight:600;line-height:1.5}.inline-training-prefs__field{display:grid;gap:3px;min-width:0}.inline-training-prefs__field>span{text-transform:uppercase;font-size:.7rem;letter-spacing:.04em;color:var(--color-text-muted)}.inline-training-prefs__field select{padding:4px 6px;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface);color:var(--color-text);font-size:var(--font-xs);font-weight:600;line-height:1.2}.inline-training-mode-actions button:first-child{background:var(--color-accent);border-color:var(--color-accent-strong);color:var(--color-text-inverse)}.inline-training-mode-actions button:first-child:hover{background:var(--color-accent-strong);color:var(--color-text-inverse)}.inline-training-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-training-actions button:first-child{background:var(--color-accent);border-color:var(--color-accent-strong);color:var(--color-text-inverse)}.inline-training-actions button:first-child:hover{background:var(--color-accent-strong);color:var(--color-text-inverse)}.detected-board-review-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}.detected-board-review-modal__backdrop{position:absolute;inset:0;border:0;background:#110f0d9e;cursor:pointer}.detected-board-review-modal__surface{position:relative;z-index:1;display:grid;gap:16px;width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;border-radius:18px;border:1px solid rgba(23,21,18,.14);background:linear-gradient(180deg,#fffdf8fa,#faf5edfa);box-shadow:0 28px 70px #110f0d4d;overflow:auto}.detected-board-review-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.detected-board-review-modal__header>div{display:grid;gap:4px}.detected-board-review-modal__title{color:var(--ink);font:900 1rem/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase}.detected-board-review-modal__subtitle{color:var(--muted);font:600 .8rem/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.detected-board-review-modal__close{border:1px solid rgba(23,21,18,.12);border-radius:999px;background:#ffffffbd;color:var(--ink);font:700 .72rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;cursor:pointer}.detected-board-review-modal__body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;align-items:start}.detected-board-review-modal__panel{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(23,21,18,.1);border-radius:14px;background:#ffffff9e;box-shadow:inset 0 1px #ffffffb8}.detected-board-review-modal__panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font:700 .66rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase}.detected-board-review-modal__panel-header strong{color:var(--ink);font-size:.74rem}.detected-board-review-modal__figure{margin:0;display:grid;place-items:center;padding:10px;border-radius:12px;background:#ffffffdb;border:1px solid rgba(23,21,18,.08)}.detected-board-review-modal__image{display:block;width:min(100%,420px);height:auto;border-radius:10px;box-shadow:0 10px 24px #1715121f}.detected-board-review-modal__grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}.detected-board-review__grid-square[data-selected=true]{outline:3px solid rgba(26,115,232,.96);outline-offset:-2px;box-shadow:inset 0 0 0 2px #fffdf8d1,0 0 0 1px #110f0d1f;z-index:18}.detected-board-review__grid-square[data-multi-selected=true]:not([data-selected=true]){outline:2px solid rgba(25,135,84,.88);outline-offset:-2px;z-index:12}.detected-board-review__grid-square[data-selected=true] .training-label-review-square__name-badge{opacity:1;transform:translateY(0)}.detected-board-review-modal__board{display:grid;justify-items:center;width:100%;min-height:320px}.detected-board-review-modal__board.chessboard-surface,.detected-board-review-modal__board .chessboard-surface{margin-inline:auto}.detected-board-review-modal__fen{display:grid;gap:6px;padding:12px;border-radius:12px;border:1px solid rgba(23,21,18,.08);background:#fcf8f2f0}.detected-board-review-modal__fen span,.detected-board-review-modal__selection strong{color:var(--muted);font:800 .62rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase}.detected-board-review-modal__fen code{display:block;overflow-wrap:anywhere;color:var(--ink);font:700 .78rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.detected-board-review-modal__side-to-move,.detected-board-review-modal__board-orientation{display:grid;gap:8px;padding:12px;border-radius:12px;border:1px solid rgba(23,21,18,.08);background:#ffffffc2}.detected-board-review-modal__side-to-move>span,.detected-board-review-modal__board-orientation>span{color:var(--muted);font:800 .62rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase}.detected-board-review-modal__side-to-move-buttons,.detected-board-review-modal__board-orientation-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detected-board-review-modal__side-to-move-button,.detected-board-review-modal__board-orientation-button{border:1px solid rgba(23,21,18,.12);border-radius:999px;padding:10px 12px;background:#ffffffe0;color:var(--ink);font:700 .7rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.detected-board-review-modal__side-to-move-button[data-selected=true],.detected-board-review-modal__board-orientation-button[data-selected=true]{border-color:#1a73e857;background:#1a73e81f;color:#112e66f5;box-shadow:inset 0 0 0 1px #1a73e814}.detected-board-review-modal__selection{display:grid;gap:5px;padding:12px;border-radius:12px;border:1px solid rgba(23,21,18,.08);background:#ffffffc2}.detected-board-review-modal__selection span{color:var(--ink);font:600 .78rem/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.detected-board-review__palette{max-width:none;margin-top:0}.detected-board-review__palette .lw-piece-palette__section[data-section=white] .lw-piece-palette__items,.detected-board-review__palette .lw-piece-palette__section[data-section=black] .lw-piece-palette__items{grid-template-columns:repeat(6,minmax(0,1fr))}.detected-board-review-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.detected-board-review-modal__status{color:var(--muted);font:700 .7rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:1.4em}.detected-board-review-modal__actions{display:inline-flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.detected-board-review-modal__actions .legacy-workspace__pill{min-width:104px}.inline-training-review{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:14px;background:var(--color-overlay-backdrop-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.inline-training-review[hidden]{display:none}.inline-training-review[aria-busy=true]{cursor:progress}.inline-training-review__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}.inline-training-review__surface{position:relative;z-index:1;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;width:min(1280px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:12px;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-floating)}.inline-training-review__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.inline-training-review__header>div{display:grid;gap:4px;min-width:0}.inline-training-review__title{color:var(--color-text);font-size:var(--font-sm);font-weight:800;line-height:1.2;text-transform:uppercase}.inline-training-review__header span[data-inline-training-review-summary]{color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.inline-training-review__actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.inline-training-review__actions button{min-height:28px;padding:0 10px;font-size:var(--font-xs)}.inline-training-review__actions button:nth-child(2){background:var(--color-accent);border-color:var(--color-accent-strong);color:var(--color-text-inverse)}.inline-training-review__actions button:nth-child(2):hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.inline-training-review__metrics{display:grid;gap:10px}.inline-training-review__metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:6px}.inline-training-review__metric{display:grid;gap:3px;min-width:0;padding:7px 8px;border:1px solid rgba(23,21,18,.22);background:#fffdf8;color:var(--muted);font:800 .58rem/1.15 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.inline-training-review__metric strong{min-width:0;color:var(--ink);font-size:.78rem;overflow-wrap:anywhere;text-transform:none}.inline-training-review__boards{display:grid;gap:10px;min-height:0;overflow:auto;padding-right:2px}.training-label-review-board{display:grid;gap:7px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.training-label-review-board[data-current=true]{border-color:var(--color-accent);background:var(--color-accent-softer)}.training-label-review-board__header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;color:var(--muted);font:800 .66rem/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.training-label-review-board__title-group{display:grid;gap:3px;min-width:0;flex:1 1 220px}.training-label-review-board__header strong,.training-label-review-board__header span{min-width:0;overflow-wrap:anywhere}.training-label-review-board__header strong{color:var(--ink)}.training-label-review-board__provenance{flex:0 1 auto;max-width:min(100%,24rem);padding-top:1px}.review-guidance-strip{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;align-items:start}.review-guidance-strip--single{grid-template-columns:minmax(0,1fr)}.review-guidance-card{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft)}.lw-content .review-guidance-card{padding:8px;gap:6px}.piece-coverage-panel__heading,.review-focus-card__heading{display:flex;justify-content:space-between;gap:8px;align-items:baseline;color:var(--muted);font:800 .62rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.piece-coverage-panel__heading strong,.review-focus-card__heading strong{color:var(--ink);font-size:.72rem}.piece-coverage-panel__copy{margin:0;color:var(--muted);font:700 .66rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.piece-coverage-panel{gap:8px}.piece-coverage-panel__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.piece-coverage-panel__tile{display:grid;gap:4px;justify-items:center;align-content:center;min-height:74px;padding:8px 6px;border:1px solid rgba(23,21,18,.18);background:#fffdf8c7;text-align:center}.piece-coverage-panel__tile.is-collected{border-color:#0f54336b;background:linear-gradient(180deg,#e8f5eefa,#cae9d8f5);box-shadow:inset 0 0 0 1px #0f543324}.piece-coverage-panel__tile.is-missing{border-style:dashed;color:var(--muted);background:linear-gradient(180deg,#fffdf8fa,#f1eadfeb)}.piece-coverage-panel__glyph{font:900 1.2rem/1 Segoe UI Symbol,"Noto Sans Symbols 2",serif;color:var(--ink)}.piece-coverage-panel__glyph[data-piece-slot$=B]{font-size:1.38rem}.piece-coverage-panel__glyph[data-piece-slot$=P]{font-size:1.02rem}.piece-coverage-panel__slot{color:var(--ink);font:900 .66rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.piece-coverage-panel__state{color:var(--muted);font:700 .54rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.piece-coverage-panel__actions{display:flex;justify-content:flex-start}.piece-coverage-panel__action-btn{min-width:0}.piece-coverage-panel__slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.piece-coverage-panel__slot-card{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid rgba(23,21,18,.18);background:#fffdf8c7}.piece-coverage-panel__slot-card.is-collected{border-color:#0f54336b;background:linear-gradient(180deg,#e8f5eefa,#cae9d8f5);box-shadow:inset 0 0 0 1px #0f543324}.piece-coverage-panel__slot-card.is-missing{border-style:dashed;background:linear-gradient(180deg,#fffdf8fa,#f1eadfeb)}.piece-coverage-panel__slot-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start}.piece-coverage-panel__slot-badge{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#fffdf8d6;color:var(--ink);font:900 1.1rem/1 Segoe UI Symbol,"Noto Sans Symbols 2",serif;box-shadow:inset 0 0 0 1px #1715121f}.piece-coverage-panel__slot-badge[data-piece-slot$=B]{font-size:1.28rem}.piece-coverage-panel__slot-badge[data-piece-slot$=P]{font-size:.92rem}.piece-coverage-panel__slot-badge[data-piece-slot=emptyLight],.piece-coverage-panel__slot-badge[data-piece-slot=emptyDark]{color:transparent;text-shadow:none;border-radius:6px;box-shadow:inset 0 0 0 1px #17151238,0 1px 2px #1715121f}.piece-coverage-panel__slot-badge[data-piece-slot=emptyLight]{background:#f0d9b5}.piece-coverage-panel__slot-badge[data-piece-slot=emptyDark]{background:#b58863}.piece-coverage-panel__slot-meta{display:grid;gap:2px;min-width:0;color:var(--muted);font:700 .58rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.piece-coverage-panel__slot-meta strong{color:var(--ink);font-size:.7rem}.piece-coverage-panel__examples{display:grid;gap:6px;min-width:0}.piece-coverage-panel__example{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:start;min-width:0;padding:6px;border:1px solid rgba(23,21,18,.14);background:#fffdf8d1}.piece-coverage-panel__example[data-accepted=false]{opacity:.68;border-style:dashed}.piece-coverage-panel__example--empty{grid-template-columns:1fr;color:var(--muted);font:700 .6rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.piece-coverage-panel__example-target{display:grid;gap:2px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.piece-coverage-panel__example-target:hover .piece-coverage-panel__example-name,.piece-coverage-panel__example-target:focus-visible .piece-coverage-panel__example-name{text-decoration:underline}.piece-coverage-panel__example-name{color:var(--ink);font:800 .62rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-coverage-panel__example-meta{color:var(--muted);font:700 .54rem/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-coverage-panel__example-action{align-self:center;padding:6px 8px;border:1px solid rgba(23,21,18,.14);background:#fffdf8f0;color:var(--ink);font:700 .56rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;cursor:pointer}.piece-coverage-panel__example-action:hover,.piece-coverage-panel__example-action:focus-visible{background:var(--ink);color:#fffdf8}.piece-coverage-panel__slot-grid--compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.lw-content .piece-coverage-panel__slot-grid--compact{gap:4px}.piece-coverage-panel__slot-card--compact{gap:6px;padding:8px}.lw-content .piece-coverage-panel__slot-card--compact{gap:4px;padding:6px}.piece-coverage-panel__slot-card--compact .piece-coverage-panel__slot-head{gap:6px;align-items:center}.piece-coverage-panel__slot-card--compact .piece-coverage-panel__slot-badge{width:24px;height:24px;border-radius:8px;font-size:.96rem}.piece-coverage-panel__slot-card--compact .piece-coverage-panel__slot-badge[data-piece-slot$=B]{font-size:1.12rem}.piece-coverage-panel__slot-card--compact .piece-coverage-panel__slot-badge[data-piece-slot$=P]{font-size:.82rem}.piece-coverage-panel__slot-card--compact .piece-coverage-panel__slot-meta{gap:1px;font-size:.52rem}.piece-coverage-panel__slot-card--compact .piece-coverage-panel__slot-meta strong{font-size:.62rem}.piece-coverage-panel__thumb-strip{display:flex;flex-wrap:nowrap;gap:6px;align-items:flex-start;min-width:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.piece-coverage-panel__thumb{position:relative;display:grid;gap:4px;width:56px}.lw-content .piece-coverage-panel__thumb{width:44px}.piece-coverage-panel__thumb-target{position:relative;display:block;width:100%;aspect-ratio:1;padding:0;border:1px solid rgba(23,21,18,.16);background:#fffdf8e6;cursor:pointer;overflow:hidden}.piece-coverage-panel__thumb-target:hover,.piece-coverage-panel__thumb-target:focus-visible{border-color:#11573d80;box-shadow:0 0 0 1px #11573d2e}.piece-coverage-panel__thumb-remove{position:absolute;top:2px;right:2px;z-index:1;display:grid;place-items:center;width:14px;height:14px;padding:0;border:1px solid rgba(140,22,22,.78);border-radius:999px;background:#be2727f5;color:#fffdf8;font:900 .55rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer;box-shadow:0 1px 2px #17151247}.piece-coverage-panel__thumb-remove:hover,.piece-coverage-panel__thumb-remove:focus-visible{background:#8c1616fa;border-color:#630e0eeb}.piece-coverage-panel__thumb-crop{display:block;width:100%;height:100%;background-repeat:no-repeat;background-color:#fffdf8}.piece-coverage-panel__thumb-tag{position:absolute;left:2px;bottom:2px;padding:1px 4px;background:#fffdf8eb;color:var(--ink);font:800 .48rem/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;box-shadow:inset 0 0 0 1px #1715121f}.piece-coverage-panel__slot-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:fit-content;min-width:0;padding:3px 6px;border:1px solid rgba(23,21,18,.14);background:#fffdf8f0;color:var(--ink);font:700 .48rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;cursor:pointer}.piece-coverage-panel__slot-action:hover,.piece-coverage-panel__slot-action:focus-visible{background:var(--ink);color:#fffdf8}.piece-coverage-panel__slot-action:disabled{cursor:default;opacity:.5}.piece-coverage-panel__slot-action:disabled:hover,.piece-coverage-panel__slot-action:disabled:focus-visible{background:#fffdf8f0;color:var(--ink)}.piece-coverage-panel__slot-action-icon{color:#be2727;font-size:.7rem;line-height:1}.piece-coverage-panel__slot-action:disabled .piece-coverage-panel__slot-action-icon{color:#be27279e}.piece-coverage-panel__slot-action-label{letter-spacing:.04em}.piece-coverage-panel__thumb-empty{display:grid;place-items:center;min-width:48px;min-height:48px;padding:4px;border:1px dashed rgba(23,21,18,.16);background:#fffdf8d1;color:var(--muted);font:700 .48rem/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.review-focus-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.review-focus-card__chip{display:grid;gap:3px;min-width:0;padding:8px 10px;border:1px solid rgba(23,21,18,.14);background:linear-gradient(180deg,#f0f7fff5,#e3effcf0);color:#1a3a5c;font:800 .58rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.review-focus-card__chip strong{color:var(--ink);font-size:.74rem;overflow-wrap:anywhere;text-transform:none}.review-focus-card__list{display:grid;gap:6px}.review-focus-card__item{padding:7px 9px;border-left:3px solid rgba(211,63,47,.72);background:#fff6e0bd;color:var(--ink);font:700 .64rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.training-label-review-grid{display:grid;grid-template-columns:repeat(8,minmax(34px,1fr));gap:2px}.training-label-review-square{position:relative;display:block;min-width:0;aspect-ratio:1;appearance:none;padding:0;overflow:hidden;border:1px solid rgba(23,21,18,.35);cursor:pointer;box-sizing:border-box;font:inherit;text-align:left;isolation:isolate;transition:outline .1s ease-in-out}.training-label-review-square:hover,.training-label-review-square:focus-within{outline:2.5px solid #1a73e8;outline-offset:-2.5px;z-index:10}.training-label-review-square[data-picker-open=true]{outline:3px solid rgba(26,115,232,.92);outline-offset:-2px;box-shadow:0 0 0 2px #fffdf8c7 inset;z-index:14}.training-label-review-square[data-review-priority=occupied]{box-shadow:inset 0 0 0 2px #ffdf3af5,inset 0 0 0 4px #1715126b}.training-label-review-square[data-review-priority=problem]{box-shadow:inset 0 0 0 2px #e67700f5,inset 0 0 0 4px #fffdf8c7,0 0 0 1px #17151261}.training-label-review-square[data-parity=light]{background:#f0d9b5!important}.training-label-review-square[data-parity=dark]{background:#b58863!important;border-color:#1715127a}.training-label-review-square__crop{position:absolute;inset:0;background-repeat:no-repeat;background-color:transparent!important;opacity:.82;mix-blend-mode:multiply;pointer-events:none}.training-label-review-square__name-badge{position:absolute;top:2px;left:2px;z-index:6;background:#171512a6;color:#fff;font:800 .46rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:1px 3px;border-radius:999px;pointer-events:none;text-transform:uppercase;box-shadow:0 1px 2px #00000026;opacity:0;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease}.training-label-review-square:hover .training-label-review-square__name-badge,.training-label-review-square:focus-visible .training-label-review-square__name-badge,.training-label-review-square:focus-within .training-label-review-square__name-badge,.training-label-review-square[data-picker-open=true] .training-label-review-square__name-badge,.training-label-review-square[data-wizard-autofilled=true] .training-label-review-square__name-badge,.training-label-review-square[data-wizard-corrected=true] .training-label-review-square__name-badge,.training-label-review-square[data-accepted=false] .training-label-review-square__name-badge{opacity:1;transform:translateY(0)}.training-label-review-square__glyph{position:absolute;inset:14%;z-index:6;display:grid;place-items:center;pointer-events:none;border-radius:50%;font:900 clamp(1.05rem,2.2vw,2rem)/1 "Segoe UI Symbol","Noto Sans Symbols 2",serif}.training-label-review-square[data-piece-slot$=B] .training-label-review-square__glyph{font-size:clamp(1.2rem,2.6vw,2.32rem)}.training-label-review-square[data-piece-slot$=P] .training-label-review-square__glyph{font-size:clamp(.92rem,2vw,1.72rem)}.training-label-review-square__glyph.is-light-piece{color:#fff7e4;background:linear-gradient(150deg,#fff6d9,#d6ab3a);box-shadow:0 1px 2px #17151247,inset 0 0 0 1px #1715121f;text-shadow:-1px 0 #171512,1px 0 #171512,0 -1px #171512,0 1px #171512}.training-label-review-square__glyph.is-dark-piece{color:#171512;background:#fffffff5;box-shadow:0 1px 2px #1715122e,inset 0 0 0 1px #1715121f;text-shadow:-1px 0 rgba(255,253,248,.72),1px 0 rgba(255,253,248,.72),0 -1px rgba(255,253,248,.72),0 1px rgba(255,253,248,.72)}.training-label-review-square__glyph.is-light-empty{color:#1f1710;background:#fff8eaf5;box-shadow:0 1px 3px #1715122e,inset 0 0 0 1px #1715121f}.training-label-review-square__glyph.is-dark-empty{color:#fff7ea;background:#171512f0;box-shadow:0 1px 3px #1715123d,inset 0 0 0 1px #fffdf824}.training-label-review-square:has(.training-label-review-square__glyph) .training-label-review-square__crop{opacity:.8;mix-blend-mode:normal}.training-label-review-square__empty{position:absolute;inset:0;z-index:5;display:grid;place-items:center;pointer-events:none;color:#34281cc7;font:900 clamp(1rem,2vw,1.5rem)/1 "Segoe UI Symbol","Noto Sans Symbols 2",serif;text-shadow:0 1px 0 rgba(255,253,248,.88)}.training-label-review-square__cross{position:absolute;inset:12%;z-index:5;pointer-events:none}.training-label-review-square__cross:before,.training-label-review-square__cross:after{content:"";position:absolute;left:0;top:50%;width:100%;height:0;border-top-width:clamp(3px,.6vw,5px);border-top-style:solid;transform-origin:center}.training-label-review-square__cross:before{transform:rotate(45deg)}.training-label-review-square__cross:after{transform:rotate(-45deg)}.training-label-review-square__cross.is-light-piece:before,.training-label-review-square__cross.is-light-piece:after{border-color:#ffd43b;filter:drop-shadow(0 0 2px rgba(255,212,59,.9)) drop-shadow(0 0 1px rgba(255,255,255,.85))}.training-label-review-square__cross.is-dark-piece:before,.training-label-review-square__cross.is-dark-piece:after{border-color:#111;filter:drop-shadow(0 0 2px rgba(17,17,17,.9)) drop-shadow(0 0 1px rgba(255,255,255,.85))}.slick-square-popover-backdrop{position:fixed;inset:0;z-index:1600;background:transparent;cursor:default}.slick-square-popover{position:fixed;z-index:1601;--slick-picker-translate-x: 0px;width:min(340px,calc(100vw - 24px));max-height:none;overflow:visible;padding:10px;display:grid;gap:8px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);box-sizing:border-box;transform:translate(var(--slick-picker-translate-x));-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);animation:slickPopoverScaleIn .12s cubic-bezier(.34,1.56,.64,1)}.slick-square-popover[data-placement=bottom-sheet]{--slick-picker-translate-x: -50%;left:50%!important;top:auto!important;right:auto;bottom:max(12px,env(safe-area-inset-bottom,12px));width:min(360px,calc(100vw - 24px));max-height:min(42vh,320px);overflow-y:auto;border-radius:18px 18px 12px 12px}.lw-picker-dock{width:100%;max-width:min(100%,360px);margin-top:10px;justify-self:center}.lw-picker-dock[hidden]{display:none!important}.slick-square-popover--docked{position:static;z-index:auto;width:100%;max-width:100%;max-height:none;overflow:visible;transform:none;animation:none;margin:0;box-shadow:0 10px 24px #0c0a0824,0 0 0 1px #1715121f inset}@keyframes slickPopoverScaleIn{0%{transform:translate(var(--slick-picker-translate-x)) scale(.94) translateY(4px);opacity:0}to{transform:translate(var(--slick-picker-translate-x)) scale(1) translateY(0);opacity:1}}.slick-square-popover__title{font:900 .58rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);letter-spacing:.1em;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid rgba(23,21,18,.1)}.slick-square-popover__section{display:grid;gap:4px}.slick-square-popover__section-title{font:800 .5rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.slick-square-popover__section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.slick-square-popover__section[data-section=white] .slick-square-popover__section-grid,.slick-square-popover__section[data-section=black] .slick-square-popover__section-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.slick-square-popover__section[data-section=review-later] .slick-square-popover__section-grid,.slick-square-popover__section-grid.is-empty{grid-template-columns:1fr}.slick-square-popover__option{position:relative;min-height:48px;padding:5px 4px 4px;border:1px solid rgba(23,21,18,.12);border-radius:12px;background:#fffdf8c7;color:#3c4043;cursor:pointer;box-sizing:border-box;display:grid;align-content:center;justify-items:center;gap:4px;text-align:center;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;width:100%;aspect-ratio:1;box-shadow:0 8px 16px #17151214}.slick-square-popover__section-grid.is-empty .slick-square-popover__option{aspect-ratio:auto;min-height:38px}.slick-square-popover__marker{display:grid;place-items:center;font:900 clamp(1.35rem,4.5vw,1.9rem)/1 "Segoe UI Symbol","Noto Sans Symbols 2",serif}.slick-square-popover__option[data-slot-id$=B] .slick-square-popover__marker{transform:scale(1.14)}.slick-square-popover__option[data-slot-id$=P] .slick-square-popover__marker{transform:scale(.86)}.slick-square-popover__marker[data-kind=text]{font:800 .66rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}.slick-square-popover__label{display:block;max-width:100%;font:800 .58rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:currentColor;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.slick-square-popover__option[data-type=white] .slick-square-popover__label,.slick-square-popover__option[data-type=black] .slick-square-popover__label{display:none}.slick-square-popover__option[data-type=empty]{background:linear-gradient(145deg,#fffdf8f5,#ece2d2f0);color:#6b5a49}.slick-square-popover__option[data-type=empty] .slick-square-popover__label{display:none}.slick-square-popover__option[data-type=empty] .slick-square-popover__marker{text-shadow:0 1px 0 rgba(255,253,248,.92)}.slick-square-popover__option[data-type=empty]:hover{background:linear-gradient(145deg,#fffdf8fa,#e8dbc7f5)}.slick-square-popover__option[data-type=white]{background:linear-gradient(150deg,#fff6d9fa,#d6ab3af5);color:#fff7e4}.slick-square-popover__option[data-type=white] .slick-square-popover__marker{color:#fff8e8;text-shadow:-1.5px 0 #171512,1.5px 0 #171512,0 -1.5px #171512,0 1.5px #171512,0 0 4px rgba(23,21,18,.55)}.slick-square-popover__option[data-type=white]:hover{background:linear-gradient(150deg,#fff1c4fa,#cb9c28f5)}.slick-square-popover__option[data-type=black]{background:linear-gradient(150deg,#4f4233f5,#171512fa);color:#fff7ea}.slick-square-popover__option[data-type=black] .slick-square-popover__marker{color:#fffdf8;text-shadow:-1px 0 rgba(0,0,0,.65),1px 0 rgba(0,0,0,.65),0 0 3px rgba(0,0,0,.35)}.slick-square-popover__option[data-type=review]{min-height:40px;aspect-ratio:auto}.slick-square-popover__option[data-type=review] .slick-square-popover__marker{font:900 1.1rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.slick-square-popover__option[data-type=black]:hover{background:linear-gradient(150deg,#5e4c39f5,#201a14fa)}.slick-square-popover__option:hover,.slick-square-popover__option:focus-visible{transform:translateY(-1px) scale(1.02);border-color:#1a73e857;box-shadow:0 12px 22px #17151229;outline:none}.slick-square-popover__option[data-selected=true]{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e847,0 12px 22px #17151229}.slick-square-popover__tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:4px;border-top:1px solid rgba(23,21,18,.1)}.slick-square-popover__tool{min-height:36px;border:1px solid rgba(23,21,18,.12);border-radius:10px;background:#fffdf8eb;color:#3c4043;font:800 .56rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;box-shadow:0 8px 16px #17151214}.slick-square-popover__tool:hover,.slick-square-popover__tool:focus-visible{transform:translateY(-1px);border-color:#1a73e857;box-shadow:0 12px 22px #17151229;outline:none}.slick-square-popover__tool:disabled{cursor:default;color:#3c404394;background:#efebe4db;box-shadow:none;transform:none}@media(max-width:720px){.slick-square-popover[data-placement=bottom-sheet] .slick-square-popover__section-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.slick-square-popover[data-placement=bottom-sheet] .slick-square-popover__section-grid.is-empty{grid-template-columns:1fr}}.lw-piece-palette{width:100%;max-width:min(100%,360px);margin-top:8px;padding:6px 8px 8px;border-radius:10px;background:#fffdf8f5;border:1px solid rgba(23,21,18,.09);box-shadow:0 3px 10px #0c0a0812}.lw-board-area .lw-piece-palette{margin-top:4px;padding:4px 6px 6px}.lw-piece-palette__header{font:700 .52rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;text-align:center;opacity:.85}.lw-piece-palette__sections{display:flex;flex-direction:column;gap:5px}.lw-board-area .lw-piece-palette__header{margin-bottom:2px;font-size:.48rem}.lw-board-area .lw-piece-palette__sections{gap:3px}.lw-piece-palette__section{display:grid;gap:3px}.lw-piece-palette__section-title{font:700 .46rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-left:2px}.lw-piece-palette__items{display:grid;gap:4px}.lw-piece-palette__section[data-section=empty] .lw-piece-palette__items,.lw-piece-palette__section[data-section=review-later] .lw-piece-palette__items{grid-template-columns:1fr}.lw-piece-palette.is-piece-mode .lw-piece-palette__section[data-section=white] .lw-piece-palette__items,.lw-piece-palette.is-piece-mode .lw-piece-palette__section[data-section=black] .lw-piece-palette__items{grid-template-columns:repeat(7,minmax(0,1fr))}.lw-piece-palette.is-square-mode .lw-piece-palette__section[data-section=white] .lw-piece-palette__items,.lw-piece-palette.is-square-mode .lw-piece-palette__section[data-section=black] .lw-piece-palette__items{grid-template-columns:1fr}.lw-piece-palette__item{min-height:34px;aspect-ratio:auto;padding:3px 2px 2px;border-radius:8px;box-shadow:0 3px 8px #1715120f}.lw-board-area .lw-piece-palette__item{min-height:28px;padding:2px 1px 1px}.lw-piece-palette__item .slick-square-popover__marker{font-size:1.05rem;line-height:1}.lw-piece-palette__item[data-slot-id=emptyLight] .slick-square-popover__marker,.lw-piece-palette__item[data-slot-id=emptyDark] .slick-square-popover__marker{width:1.12rem;height:1.12rem;border-radius:4px;color:transparent;text-shadow:none;box-shadow:inset 0 0 0 1px #17151247,0 1px 2px #17151229}.lw-piece-palette__item[data-slot-id=emptyLight] .slick-square-popover__marker{background:#f0d9b5}.lw-piece-palette__item[data-slot-id=emptyDark] .slick-square-popover__marker{background:#b58863}.lw-piece-palette__item.is-selected{outline:2px solid #1a73e8;outline-offset:-1px;box-shadow:0 0 0 3px #1a73e838,0 4px 10px #1715121f;transform:translateY(-1px) scale(1.02)}.lw-piece-palette__item.dragging{opacity:.6}.lw-square-brush-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;margin:8px 0 12px;border:1px solid rgba(23,21,18,.12);border-radius:12px;background:linear-gradient(180deg,#fffdf8f5,#f4ede0f0);box-shadow:0 6px 14px #1715120f}.lw-square-brush-strip.has-brush{border-color:#1a73e857;box-shadow:0 0 0 2px #1a73e82e,0 8px 18px #1715121a}.lw-square-brush-strip__label{flex:1 1 220px;font:800 .62rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;color:#171512b3}.lw-square-brush-strip__chips{display:flex;gap:6px;flex:0 0 auto}.lw-square-brush-strip__chip{width:64px;height:56px;padding:4px 2px;min-height:56px;aspect-ratio:auto;cursor:pointer}.lw-square-brush-strip__chip.is-active{outline:2px solid #1a73e8;outline-offset:-1px;box-shadow:0 0 0 3px #1a73e838,0 8px 16px #17151229;transform:translateY(-1px) scale(1.02)}.lw-square-brush-strip__clear{flex:0 0 auto;min-height:32px;padding:6px 12px;border:1px solid rgba(23,21,18,.16);border-radius:10px;background:#fffdf8eb;color:#3c4043;font:800 .58rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;box-shadow:0 6px 12px #17151214}.lw-square-brush-strip__clear:hover:not(:disabled),.lw-square-brush-strip__clear:focus-visible{transform:translateY(-1px);border-color:#1a73e857;box-shadow:0 10px 18px #17151229;outline:none}.lw-square-brush-strip__clear:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}@media(max-width:720px){.lw-square-brush-strip{gap:8px;padding:8px 10px}.lw-square-brush-strip__label{flex:1 1 100%;font-size:.56rem}.lw-square-brush-strip__chip{width:56px;height:50px;min-height:50px}}.training-label-review-square.drop-target{outline:2px dashed #1a73e8;outline-offset:-2px;background-color:#1a73e80f}.training-label-review-square__meta{position:absolute;left:2px;right:2px;bottom:2px;display:flex;justify-content:space-between;gap:2px;min-height:15px;padding:2px 3px;background:#fffdf8e6;color:var(--ink);font:900 .5rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.training-label-review-square[data-label=light_piece_on_light] .training-label-review-square__meta,.training-label-review-square[data-label=light_piece_on_dark] .training-label-review-square__meta{background:#fff0c8eb;color:#5b3400}.training-label-review-square[data-label=dark_piece_on_light] .training-label-review-square__meta,.training-label-review-square[data-label=dark_piece_on_dark] .training-label-review-square__meta{background:#201a14e0;color:#fffdf8}.square-editor .training-label-review-board{gap:14px;padding:16px;background:#fffdf8;box-shadow:inset 0 0 0 1px #17151214}.square-editor .training-label-review-board__body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.95fr);gap:18px;align-items:start}.square-editor .training-label-review-board__figure{margin:0;min-width:0;display:grid;align-content:start}.square-editor .training-label-review-board__image{display:block;width:100%;max-height:min(72vh,900px);object-fit:contain;border:1px solid rgba(23,21,18,.36);background:#fffdf8}.square-editor .training-label-review-board__grid-pane{min-width:0;display:grid;justify-items:center;overflow:visible}.square-editor .training-label-review-grid{width:min(100%,620px);max-width:100%;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.square-editor .training-label-review-square{width:100%;min-height:0}.square-editor .training-label-review-square__meta{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:32px;gap:2px 4px;align-items:center;font-size:.52rem}.square-editor .training-label-review-square__meta span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.square-editor .training-label-review-square__meta span:nth-child(3){grid-column:1 / -1;color:var(--muted);text-align:right}.inline-training-review .training-label-review-board{gap:8px;padding:10px;background:#fffdf8}.inline-training-review .training-label-review-board__body{display:grid;grid-template-columns:minmax(260px,1.05fr) minmax(0,1fr);gap:10px;align-items:start}.inline-training-review .training-label-review-board__figure{margin:0;min-width:0}.inline-training-review .training-label-review-board__image{display:block;width:100%;max-height:calc(100vh - 190px);object-fit:contain;border:1px solid rgba(23,21,18,.36);background:#fffdf8}.inline-training-review .training-label-review-board__grid-pane{min-width:0;overflow:hidden}.inline-training-review .training-label-review-grid{width:100%;max-width:min(100%,calc(100vh - 240px));grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}.inline-training-review .training-label-review-square{width:100%;min-height:0}.inline-training-review .training-label-review-square[data-accepted=false]{opacity:.58}.inline-training-review .training-label-review-square[data-accepted=false]:after{content:none}.inline-training-review .training-label-review-square__meta{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:30px;gap:1px 4px;align-items:center;font-size:.48rem}.inline-training-review .training-label-review-square__meta span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.inline-training-review .training-label-review-square__meta span:nth-child(3){grid-column:1 / -1;color:var(--muted);text-align:right}.inline-training-review .training-label-review-square[data-accepted=false] .training-label-review-square__meta span:nth-child(3){color:var(--fail)}@media(max-width:980px){.square-editor__surface{width:min(100%,calc(100vw - 20px));max-height:calc(100vh - 20px)}.square-editor .training-label-review-board__body,.inline-training-review .training-label-review-board__body{grid-template-columns:1fr}.square-editor .training-label-review-board__image,.inline-training-review .training-label-review-board__image{max-height:58vh}}@media(max-width:620px){.square-editor,.inline-training-review{padding:6px}.square-editor__surface,.inline-training-review__surface{width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:8px}.square-editor-toolbar,.inline-training-review__header{grid-template-columns:1fr}.square-editor-toolbar__actions,.inline-training-review__actions{justify-content:stretch}.square-editor-toolbar__actions button,.inline-training-review__actions button{flex:1 1 120px}.square-editor__scroll{padding-right:0}.square-editor .training-label-review-board{padding:10px}.inline-training-review .training-label-review-grid{max-width:100%}.square-editor .training-label-review-grid{width:100%}}.inline-training-debug{grid-column:1 / -1;margin-top:10px;border:1px dashed rgba(23,21,18,.32);background:#fffdf8d1;color:var(--muted);font:700 .66rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.inline-training-debug summary{cursor:pointer;padding:8px;color:var(--ink);text-transform:uppercase}.inline-training-debug__actions{display:flex;justify-content:flex-end;padding:0 8px 8px}.inline-training-debug__actions button{min-height:28px;padding:0 8px;font-size:.62rem}.inline-training-debug pre{max-height:260px;margin:0;padding:8px;overflow:auto;border-top:1px dashed rgba(23,21,18,.2);white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:grid;gap:12px;align-items:start;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffeb;box-shadow:inset 0 1px #ffffffc7}.action-buttons{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.action-buttons--secondary{padding:0 14px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffeb;box-shadow:inset 0 1px #ffffffc7}.action-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.action-button__hint{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-xs);font-weight:500;line-height:1.4;color:var(--color-text-muted);max-width:none;text-transform:none;letter-spacing:normal}.action-buttons .legacy-workspace__pill{width:100%;justify-content:flex-start}.action-buttons [data-action=guided]{background:var(--color-action-guided);border-color:var(--color-action-guided-strong);color:var(--color-text-inverse)}.action-buttons [data-action=guided]:hover:not(:disabled){background:var(--color-action-guided-strong);border-color:var(--color-action-guided-strong);color:var(--color-text-inverse)}.action-buttons [data-action=set-contour]{background:var(--color-action-manual);border-color:var(--color-action-manual-strong);color:var(--color-text-inverse)}.action-buttons [data-action=set-contour]:hover:not(:disabled){background:var(--color-action-manual-strong);border-color:var(--color-action-manual-strong);color:var(--color-text-inverse)}.action-buttons [data-action=correct-square-labels]{background:var(--color-action-square);border-color:var(--color-action-square-strong);color:var(--color-text-inverse)}.action-buttons [data-action=correct-square-labels]:hover:not(:disabled){background:var(--color-action-square-strong);border-color:var(--color-action-square-strong);color:var(--color-text-inverse)}.action-buttons [data-action=correct-piece-labels]{background:var(--color-action-piece);border-color:var(--color-action-piece-strong);color:var(--color-text-inverse)}.action-buttons [data-action=correct-piece-labels]:hover:not(:disabled){background:var(--color-action-piece-strong);border-color:var(--color-action-piece-strong);color:var(--color-text-inverse)}.action-buttons--secondary [data-action=calibrate-empty-squares]{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-strong)}.action-buttons--secondary [data-action=calibrate-empty-squares]:hover:not(:disabled){background:var(--color-info);border-color:var(--color-info);color:var(--color-text-inverse)}button{min-height:var(--touch-target-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:0 .85rem;border-radius:.6rem;font:inherit;font-size:var(--font-sm);font-weight:700;line-height:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}button:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button.danger-button{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger-strong)}button.danger-button:hover{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}button:disabled{cursor:default;opacity:.55}button[data-busy=true]{cursor:wait}@media(max-width:760px){.toolbar{grid-template-columns:1fr}.toolbar-actions{justify-content:flex-start}.training-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.square-editor-toolbar,.results{grid-template-columns:1fr}}@media(max-width:480px){.family-trainer-surface main{width:min(100vw - 20px,1480px);padding-top:18px}.crop-row{grid-template-columns:1fr}.mini-board,.mini-board-wrap{width:min(100%,280px);height:auto;aspect-ratio:1}.training-flow{grid-template-columns:1fr}}@media(max-width:1120px){.card{grid-template-columns:minmax(0,1fr)}.viewer,.card-side-rail{grid-column:1}}@media(max-width:820px){.card{padding:14px}.card header{grid-template-columns:1fr}.review-panel,.manual-contour-panel,.empty-calibration-panel{flex-direction:column;align-items:stretch}.review-buttons,.manual-contour-buttons{width:100%}.review-buttons button,.manual-contour-buttons button{flex:1 1 140px}}@media(max-width:768px){.legacy-shell__topbar{gap:.75rem;flex-wrap:wrap;padding-inline:.85rem}.legacy-shell__nav{width:100%;margin-left:0}.legacy-shell__nav-link{flex:1 1 0}.app-shell__main{padding:.55rem}}@media(max-width:480px){#results .legacy-shell__topbar{align-items:stretch}#results .legacy-shell__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}#results .legacy-shell__nav-link{min-width:0;min-height:var(--touch-target);padding:.45rem .6rem;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere}}.lw-modal{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-backdrop-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:lwFadeIn .16s ease}@keyframes lwFadeIn{0%{opacity:0}to{opacity:1}}.lw-surface{display:flex;flex-direction:column;width:min(1380px,calc(100vw - 24px));min-height:min(420px,calc(100vh - 32px));max-height:calc(100vh - 32px);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);overflow:hidden;animation:lwSlideUp .2s cubic-bezier(.34,1.2,.64,1)}@keyframes lwSlideUp{0%{transform:translateY(22px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.lw-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.lw-header__info{display:grid;gap:4px;min-width:0}.lw-header__title{font-size:var(--font-sm);font-weight:800;line-height:1.2;color:var(--color-text);text-transform:uppercase;letter-spacing:.02em}.lw-header__subtitle{font-size:var(--font-xs);font-weight:600;line-height:1.5;color:var(--color-text-muted)}.lw-header__dots{display:flex;gap:7px;align-items:center;padding-top:6px}.lw-header__dot{width:9px;height:9px;border-radius:50%;background:var(--color-border);display:inline-block;transition:background .2s,transform .15s}.lw-header__dot.is-active{background:var(--color-accent);transform:scale(1.3)}.lw-header__dot.is-done{background:var(--color-success-strong)}.lw-header__actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.lw-close-btn{min-height:30px;padding:0 10px;font-size:var(--font-xs);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;font-weight:700;line-height:1;text-transform:uppercase;border-radius:999px}.lw-close-btn:hover{background:var(--color-text);border-color:var(--color-text);color:var(--color-text-inverse)}.lw-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.lw-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0}.lw-footer__status{font-size:var(--font-xs);font-weight:600;line-height:1.5;color:var(--color-text-muted);flex:1;min-width:0;letter-spacing:.01em}.lw-footer__btns{display:flex;gap:10px;align-items:center}.lw-footer-btn{position:relative;min-height:44px;padding:6px 18px;border:1px solid var(--color-border-strong);border-radius:.6rem;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--font-xs);font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.02em;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.lw-footer-btn:hover{background:var(--color-surface-muted);border-color:var(--color-accent-border)}.lw-footer-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.lw-footer-btn:disabled,.lw-footer-btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.35);box-shadow:none}.lw-footer-btn:disabled:hover,.lw-footer-btn[disabled]:hover{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.lw-footer-btn--primary{background:var(--color-accent);border-color:var(--color-accent-strong);color:var(--color-text-inverse);box-shadow:0 1px #ffffff14 inset}.lw-footer-btn--primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-text-inverse)}.lw-footer-btn--cta{background:var(--color-success);border-color:var(--color-success-strong);color:var(--color-text-inverse);box-shadow:0 1px #ffffff1a inset}.lw-footer-btn--cta:hover{background:var(--color-success-strong);border-color:var(--color-success-strong);color:var(--color-text-inverse)}.lw-footer-btn--danger{background:#be2727eb;border-color:#8c1616c7;color:#fffdf8}.lw-footer-btn--danger:hover{background:#8c1616f5;border-color:#6e1010e6;color:#fffdf8}.lw-footer-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.lw-footer-btn--secondary:hover{background:var(--color-surface-muted);border-color:var(--color-accent-border);color:var(--color-text)}.lw-footer-btn--retrain{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:4px 18px 4px 16px}.lw-retrain-main{font-size:.72rem;letter-spacing:.3px}.lw-retrain-sub{font-size:.58rem;line-height:1.2;text-transform:none;opacity:.9;font-weight:500;letter-spacing:.2px;white-space:nowrap}.lw-footer-btn--done{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:4px 18px 4px 16px}.lw-done-main{font-size:.72rem;letter-spacing:.3px}.lw-done-sub{font-size:.58rem;line-height:1.2;text-transform:none;opacity:.9;font-weight:500;letter-spacing:.2px;white-space:nowrap}.lw-why-banner{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;background:var(--color-accent-soft);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);font-size:var(--font-xs);font-weight:600;line-height:1.5;color:var(--color-info-strong)}.lw-why-banner strong{color:var(--color-text)}.lw-why-banner span{padding:4px 8px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-info-border)}.lw-guidance-strip{position:sticky;top:0;z-index:4;padding:0 0 2px;background:linear-gradient(180deg,#fffdf8fa,#fffdf8e6)}.lw-review-tools{position:sticky;top:0;z-index:6;display:grid;gap:8px;padding:0 0 10px;background:linear-gradient(180deg,#fffdf8fe,#fffdf8f5 82%,#fffdf800)}.lw-review-tools .lw-guidance-strip{position:static;padding:0;background:transparent}.lw-review-tools .lw-square-brush-strip{margin:0}.lw-board-area .training-label-review-board{gap:10px;padding:10px;background:#fffdf8;box-shadow:inset 0 0 0 1px #17151214}.lw-board-area .training-label-review-board__body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.95fr);gap:12px;align-items:start}.lw-board-area .training-label-review-board__figure{margin:0;min-width:0;display:grid;align-content:start}.lw-board-area .training-label-review-board__image{display:block;width:100%;max-height:min(440px,calc(100vh - 340px));object-fit:contain;border:1px solid rgba(23,21,18,.36);background:#fffdf8}.lw-board-area .training-label-review-board__grid-pane{min-width:0;display:grid;justify-items:center;gap:0;overflow:visible}.lw-board-area .training-label-review-grid{width:min(100%,380px);max-width:100%;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.lw-board-area .training-label-review-square{width:100%;min-height:0}.lw-board-area .training-label-review-square__glyph{inset:12%;font-size:clamp(1.18rem,2.55vw,2.16rem)}.lw-board-area .training-label-review-square[data-piece-slot$=B] .training-label-review-square__glyph{font-size:clamp(1.34rem,2.95vw,2.46rem)}.lw-board-area .training-label-review-square[data-piece-slot$=P] .training-label-review-square__glyph{font-size:clamp(1rem,2.18vw,1.78rem)}.lw-verify-step .training-label-review-square__glyph.is-light-piece{color:#fff7e4;background:linear-gradient(150deg,#fff6d9,#d6ab3a);box-shadow:0 1px 3px #17151257,inset 0 0 0 1px #1715121f;text-shadow:-1px 0 #171512,1px 0 #171512,0 -1px #171512,0 1px #171512}.lw-verify-step .training-label-review-square__glyph.is-dark-piece{color:#171512;background:#fffffffa;box-shadow:0 1px 3px #17151233,inset 0 0 0 1px #1715121f;text-shadow:-1px 0 rgba(255,253,248,.7),1px 0 rgba(255,253,248,.7),0 -1px rgba(255,253,248,.7),0 1px rgba(255,253,248,.7)}.lw-verify-step .training-label-review-square__glyph.is-light-empty{color:#1f1710;background:#fff8eafa;box-shadow:0 1px 3px #1715122e,inset 0 0 0 1px #1715121f}.lw-verify-step .training-label-review-square__glyph.is-dark-empty{color:#fff7ea;background:#171512f5;box-shadow:0 1px 3px #17151238,inset 0 0 0 1px #fffdf824}.lw-verify-step .training-label-review-square[data-variant=full][data-piece-slot^=w]:after,.lw-verify-step .training-label-review-square[data-variant=full][data-piece-slot^=b]:after{content:attr(data-piece-slot);position:absolute;right:2px;bottom:2px;z-index:7;padding:1px 4px;border-radius:999px;font:800 .48rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.03em;pointer-events:none;box-shadow:0 1px 2px #1715122e}.lw-verify-step .training-label-review-square[data-variant=full][data-piece-slot^=w]:after{background:#fff8eaf5;color:#171512;border:1px solid rgba(23,21,18,.16)}.lw-verify-step .training-label-review-square[data-variant=full][data-piece-slot^=b]:after{background:#171512eb;color:#fff7ea;border:1px solid rgba(255,253,248,.16)}.lw-verify-step .training-label-review-square:has(.training-label-review-square__glyph) .training-label-review-square__crop{opacity:.8}.lw-board-area .training-label-review-square__meta{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:28px;gap:2px 4px;align-items:center;font-size:.5rem}.lw-board-area .training-label-review-square[data-wizard-corrected=true]{outline:2.5px solid #e67700;outline-offset:-1px;z-index:2}.lw-board-area .training-label-review-square[data-wizard-autofilled=true]{outline:2px dashed #1a73e8;outline-offset:-1px;box-shadow:inset 0 0 0 1px #fffdf894;z-index:1}.lw-board-area .training-label-review-square[data-wizard-autofilled=true] .training-label-review-square__name-badge{background:#1a73e8e0}.lw-board-area .training-label-review-square[data-wizard-model-predicted=true]{outline:2px solid #0d9488;outline-offset:-1px;box-shadow:inset 0 0 0 1px #fffdf894;z-index:1}.lw-board-area .training-label-review-square[data-wizard-model-predicted=true] .training-label-review-square__name-badge{background:#0d9488e0}.lw-board-area .training-label-review-square[data-accepted=false]{opacity:.58;outline-style:dashed}.lw-verify-guidance{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.lw-board-step{display:flex;flex-direction:column;gap:12px}.lw-review-step{display:flex;flex-direction:column;gap:0}.lw-review-intro{margin:0 0 14px;padding:8px 12px;background:#f0f7ff;border:1px solid #b8d4f8;font:600 .72rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#1a3a5c}.lw-review-intro.is-warning{background:#fff7ed;border-color:#fdba74;color:#7c2d12}.lw-review-sep{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0 6px;border-top:2px solid rgba(23,21,18,.15);margin-top:20px}.lw-review-step .lw-review-sep:first-of-type{border-top:none;margin-top:0;padding-top:0}.lw-review-sep strong{font:800 .72rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lw-review-sep__badge{font:700 .64rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);white-space:nowrap;flex-shrink:0}.lw-training-step{display:flex;flex-direction:column;gap:20px;padding:24px 0 16px;min-height:240px;justify-content:flex-start}.lw-train-status{font:700 .82rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);min-height:40px;word-break:break-all}.lw-train-runtime-notes{display:grid;gap:8px}.lw-train-runtime-note{margin:0;padding:8px 10px;border:1px solid var(--color-info-border);border-radius:var(--radius-sm);background:var(--color-info-soft);color:var(--color-info-strong);font:700 .72rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lw-train-runtime-note.is-warning{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning-strong)}.lw-train-runtime-note[hidden]{display:none}.lw-train-track{position:relative;height:18px;background:var(--line);border-radius:4px;overflow:hidden}.lw-train-bar{height:100%;background:var(--ok);border-radius:4px;transition:width .4s ease;background-image:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(255,255,255,.2) 8px,rgba(255,255,255,.2) 16px);animation:lwTrainStripe 1.2s linear infinite;position:relative;z-index:0}.lw-train-epoch-bar{position:absolute;top:0;left:0;height:100%;width:0%;background:#23744b8c;border-radius:4px;transition:width .18s linear;pointer-events:none;z-index:1}.lw-train-bar.is-done{animation:none;background-image:none}@keyframes lwTrainStripe{0%{background-position:0 0}to{background-position:56px 0}}.lw-train-heading{margin:0;font:700 .82rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink)}.lw-train-note{margin:0;font:600 .72rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}.lw-train-result{padding:5px 8px;font:700 .68rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border-radius:2px}.lw-train-result.is-ok{background:#e8f5ee;color:#1a4a30}.lw-train-result.is-error{background:#fdecea;color:#a50000}@media(max-width:900px){.detected-board-review-modal{padding:16px}.detected-board-review-modal__surface{width:min(100vw - 16px,960px);max-height:calc(100dvh - 16px);padding:16px}.detected-board-review-modal__body{grid-template-columns:1fr}.detected-board-review-modal__board{min-height:0}.review-guidance-strip{grid-template-columns:1fr}.piece-coverage-panel__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.piece-coverage-panel__slot-grid{grid-template-columns:1fr}.piece-coverage-panel__slot-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}.lw-board-area .training-label-review-board__body{grid-template-columns:1fr}.lw-board-area .training-label-review-board__image{max-height:42vw}.lw-board-area .training-label-review-grid{width:100%;max-width:min(100%,360px)}}@media(max-width:600px){.detected-board-review-modal{padding:10px}.detected-board-review-modal__surface{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:14px}.detected-board-review-modal__header,.detected-board-review-modal__footer{grid-template-columns:1fr;display:grid}.detected-board-review-modal__actions{width:100%}.detected-board-review-modal__actions .legacy-workspace__pill{flex:1 1 0}.detected-board-review-modal__side-to-move-buttons,.detected-board-review-modal__board-orientation-buttons{grid-template-columns:1fr}.detected-board-review__palette .lw-piece-palette__section[data-section=white] .lw-piece-palette__items,.detected-board-review__palette .lw-piece-palette__section[data-section=black] .lw-piece-palette__items{grid-template-columns:repeat(4,minmax(0,1fr))}.piece-coverage-panel__grid,.piece-coverage-panel__slot-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.piece-coverage-panel__example{grid-template-columns:1fr}.piece-coverage-panel__thumb,.piece-coverage-panel__thumb-empty{min-width:42px;width:42px}.piece-coverage-panel__thumb-target{min-width:42px;width:100%;min-height:42px}.review-focus-card__stats{grid-template-columns:1fr}.lw-surface{width:calc(100vw - 8px);max-height:calc(100vh - 8px);border-radius:3px}.lw-header{padding:8px 10px}.lw-content{padding:10px}}.lw-template-review-overlay{position:fixed;inset:0;z-index:1600;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-backdrop-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:lwFadeIn .16s ease}.lw-template-review-surface{display:flex;flex-direction:column;width:min(1100px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);overflow:hidden;animation:lwSlideUp .2s cubic-bezier(.34,1.2,.64,1)}.lw-template-review-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.lw-template-review-header__info{display:grid;gap:4px;min-width:0}.lw-template-review-header__title{font:900 .82rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);text-transform:uppercase}.lw-template-review-header__subtitle{font:600 .72rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}.lw-template-review-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:14px}.lw-template-review-summary{display:grid;gap:8px;padding:12px;border:1px solid rgba(23,21,18,.18);background:#fffdf8f0;box-shadow:0 8px 22px #17151214}.lw-template-review-summary__heading{display:flex;justify-content:space-between;gap:8px;align-items:baseline;color:var(--muted);font:800 .62rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.lw-template-review-summary__heading strong{color:var(--ink);font-size:.72rem}.lw-template-review-summary__stats{display:flex;flex-wrap:wrap;gap:8px}.lw-template-review-summary__chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font:700 .58rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.lw-template-review-summary__chip.is-kept{background:#0f54331f;color:#0f5433;border:1px solid rgba(15,84,51,.24)}.lw-template-review-summary__chip.is-removed{background:#be27271f;color:#8b1616;border:1px solid rgba(190,39,39,.24)}.lw-template-review-summary__chip.is-warning{background:#cc91001f;color:#7a5700;border:1px solid rgba(204,145,0,.24)}.lw-template-review-summary__chip.is-selected-remove{background:#be272729;color:#8b1616;border:1px solid rgba(190,39,39,.34)}.lw-template-review-summary__hint{color:#8b1616;font:800 .58rem/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.lw-template-review-group{display:grid;gap:8px;padding:10px;border:1px solid rgba(23,21,18,.18);background:#fffdf8c7}.lw-template-review-group__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.lw-template-review-group__badge{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#fffdf8d6;color:var(--ink);font:900 1rem/1 Segoe UI Symbol,"Noto Sans Symbols 2",serif;box-shadow:inset 0 0 0 1px #1715121f}.lw-template-review-group__badge[data-piece-slot$=B]{font-size:1.12rem}.lw-template-review-group__badge[data-piece-slot$=P]{font-size:.86rem}.lw-template-review-group__meta{display:grid;gap:2px;min-width:0;color:var(--muted);font:700 .58rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.lw-template-review-group__meta strong{color:var(--ink);font-size:.7rem}.lw-template-review-group__thumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.lw-template-review-thumb{display:flex;flex-direction:column;gap:4px;width:110px;padding:6px;border:1px solid rgba(23,21,18,.14);background:#fffdf8eb;transition:border-color .15s,background .15s}.lw-template-review-thumb.has-warnings{border-color:#cc91005c}.lw-template-review-thumb.is-selected-for-removal{border-color:#be2727c7;background:#be27271a;box-shadow:0 0 0 2px #be272738}.lw-template-review-thumb__target{position:relative;display:block;width:100%;aspect-ratio:1;padding:0;border:1px solid rgba(23,21,18,.16);background:#fffdf8e6;cursor:default;overflow:hidden}.lw-template-review-overlay[data-intent=final-publish] .lw-template-review-thumb__target{cursor:pointer}.lw-template-review-thumb.is-selected-for-removal .lw-template-review-thumb__target{border-color:#be2727e6;box-shadow:inset 0 0 0 3px #be2727b3}.lw-template-review-thumb__crop{display:block;width:100%;height:100%;background-repeat:no-repeat;background-color:#fffdf8}.lw-template-review-thumb__tag{position:absolute;left:2px;bottom:2px;padding:1px 4px;background:#fffdf8eb;color:var(--ink);font:800 .48rem/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;box-shadow:inset 0 0 0 1px #1715121f}.lw-template-review-thumb__selected-badge{position:absolute;inset:auto 4px 4px;display:none;padding:3px 4px;background:#be2727f0;color:#fffdf8;font:900 .48rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;text-align:center;box-shadow:0 1px 4px #1715124d}.lw-template-review-thumb.is-selected-for-removal .lw-template-review-thumb__selected-badge{display:block}.lw-template-review-thumb__info{display:flex;gap:4px;align-items:baseline;min-width:0}.lw-template-review-thumb__label{color:var(--ink);font:800 .52rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.lw-template-review-thumb__source{color:var(--muted);font:700 .48rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lw-template-review-thumb__warnings{display:grid;gap:2px}.lw-template-review-thumb__warning{padding:1px 4px;border-radius:2px;font:700 .46rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.lw-template-review-thumb__warning--duplicate{background:#be27271a;color:#8b1616;border:1px solid rgba(190,39,39,.2)}.lw-template-review-thumb__warning--low-confidence,.lw-template-review-thumb__warning--review-flagged{background:#cc91001a;color:#7a5700;border:1px solid rgba(204,145,0,.2)}.lw-template-review-thumb__warning--conflict{background:#be27271a;color:#8b1616;border:1px solid rgba(190,39,39,.2)}.lw-template-review-thumb__actions{display:flex;gap:3px;flex-wrap:wrap}.lw-template-review-thumb__action{padding:2px 5px;border:1px solid rgba(23,21,18,.14);background:#fffdf8f0;color:var(--ink);font:700 .48rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;cursor:pointer;transition:background .12s,color .12s}.lw-template-review-thumb__action:hover,.lw-template-review-thumb__action:focus-visible{background:var(--ink);color:#fffdf8}.lw-template-review-thumb__action:disabled{cursor:default;opacity:.4}.lw-template-review-thumb__action:disabled:hover,.lw-template-review-thumb__action:disabled:focus-visible{background:#fffdf8f0;color:var(--ink)}.lw-template-review-thumb__action--remove:hover,.lw-template-review-thumb__action--remove:focus-visible{background:#be2727eb;border-color:#8c1616c7;color:#fffdf8}.lw-template-review-thumb__action--move:hover,.lw-template-review-thumb__action--move:focus-visible{background:#cc9100e0;border-color:#7a5700c7;color:#fffdf8}.lw-template-review-picker{display:grid;gap:12px;padding:16px}.lw-template-review-picker__title{font:800 .72rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);text-transform:uppercase}.lw-template-review-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.lw-template-review-picker__option{display:grid;gap:2px;place-items:center;padding:8px 4px;border:1px solid rgba(23,21,18,.18);background:#fffdf8f0;cursor:pointer;transition:background .12s,border-color .12s}.lw-template-review-picker__option:hover,.lw-template-review-picker__option:focus-visible{background:var(--ink);border-color:var(--ink);color:#fffdf8}.lw-template-review-picker__glyph{font:900 1.1rem/1 Segoe UI Symbol,"Noto Sans Symbols 2",serif;color:inherit}.lw-template-review-picker__glyph[data-piece-slot$=B]{font-size:1.28rem}.lw-template-review-picker__glyph[data-piece-slot$=P]{font-size:.92rem}.lw-template-review-picker__label{font:700 .48rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;color:inherit}.lw-template-review-picker__cancel{padding:6px 12px;border:1px solid rgba(23,21,18,.3);background:transparent;color:var(--muted);font:800 .62rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;cursor:pointer;justify-self:start}.lw-template-review-picker__cancel:hover{background:var(--ink);color:#fffdf8}.lw-template-review-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fffdf8;border-top:1px solid rgba(23,21,18,.14);flex-shrink:0}.lw-footer-btn--review-templates{min-height:44px;padding:4px 18px 4px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;background:#cc91000d;border:1px solid rgba(204,145,0,.28);border-left:3px solid rgba(204,145,0,.5);color:#7a5700}.lw-footer-btn--review-templates:hover{background:#cc91001f;border-color:#cc91008c;color:#5a4000}.lw-review-templates-main{font-size:.7rem;letter-spacing:.2px}.lw-review-templates-sub{font-size:.58rem;line-height:1.2;text-transform:none;opacity:.85;font-weight:500;letter-spacing:.2px;white-space:nowrap}.family-trainer-surface{color-scheme:light;--color-bg: var(--umi-canvas);--color-bg-elevated: var(--umi-canvas);--color-surface: var(--umi-surface);--color-surface-muted: var(--umi-surface-subtle);--color-surface-strong: var(--umi-surface-subtle);--color-text: var(--umi-ink);--color-text-muted: var(--umi-muted);--color-text-soft: var(--umi-muted);--color-text-inverse: var(--umi-on-accent);--color-accent: var(--umi-accent);--color-accent-strong: var(--umi-accent-hover);--color-accent-soft: var(--umi-accent-soft);--color-accent-softer: color-mix(in srgb, var(--umi-accent-soft) 58%, transparent);--color-accent-border: color-mix(in srgb, var(--umi-accent) 34%, var(--umi-line));--color-accent-ring: color-mix(in srgb, var(--umi-focus) 28%, transparent);--color-info: var(--umi-accent);--color-info-strong: var(--umi-accent-hover);--color-info-soft: var(--umi-accent-soft);--color-info-border: color-mix(in srgb, var(--umi-accent) 30%, var(--umi-line));--color-success: var(--umi-success);--color-success-strong: var(--umi-success);--color-success-soft: var(--umi-success-soft);--color-success-border: color-mix(in srgb, var(--umi-success) 34%, var(--umi-line));--color-warning: var(--umi-warning);--color-warning-strong: var(--umi-warning);--color-warning-soft: var(--umi-warning-soft);--color-warning-border: color-mix(in srgb, var(--umi-warning) 36%, var(--umi-line));--color-danger: var(--umi-danger);--color-danger-strong: var(--umi-danger);--color-danger-soft: var(--umi-danger-soft);--color-danger-border: color-mix(in srgb, var(--umi-danger) 36%, var(--umi-line));--color-focus-ring: var(--umi-focus);--color-border: var(--umi-line);--color-border-strong: color-mix(in srgb, var(--umi-ink) 24%, var(--umi-line));--color-panel-divider: var(--umi-line);--color-panel-glow: var(--umi-accent-soft);--color-panel-wash: var(--umi-surface-subtle);--color-panel-wash-strong: var(--umi-surface);--color-neutral-soft: color-mix(in srgb, var(--umi-ink) 5%, transparent);--color-neutral-border: color-mix(in srgb, var(--umi-ink) 13%, transparent);--color-neutral-border-strong: color-mix(in srgb, var(--umi-ink) 22%, transparent);--color-overlay-backdrop: var(--umi-overlay);--color-overlay-backdrop-strong: var(--umi-overlay);--shadow-soft: var(--umi-shadow-sm);--shadow-pane: var(--umi-shadow-sm);--shadow-floating: var(--umi-shadow-lg);--ink: var(--umi-ink);--muted: var(--umi-muted);--paper: var(--umi-canvas);--panel: var(--umi-surface);--line: var(--umi-line);--accent: var(--umi-accent);--accent-dark: var(--umi-accent-hover);--ok: var(--umi-success);--warn: var(--umi-warning);--fail: var(--umi-danger);--shadow: var(--umi-shadow-lg);font-family:var(--umi-font, "Segoe UI", sans-serif);background:var(--umi-canvas);color:var(--umi-ink)}html[data-theme=dark] .family-trainer-surface{color-scheme:dark}.family-trainer-surface .results-card,.family-trainer-surface .contour-card,.family-trainer-surface .card,.family-trainer-surface .panel,.family-trainer-surface .diagnostics,.family-trainer-surface .toolbar,.family-trainer-surface .lw-modal__panel,.family-trainer-surface .lw-dialog,.family-trainer-surface .lw-template-review,.family-trainer-surface .training-label-review,.family-trainer-surface .piece-wizard,.family-trainer-surface .square-wizard{border-color:var(--umi-line)!important;background-color:var(--umi-surface)!important;color:var(--umi-ink)!important;box-shadow:var(--umi-shadow-sm)}.family-trainer-surface :is(input,textarea,select){border-color:var(--umi-line)!important;background:var(--umi-surface)!important;color:var(--umi-ink)!important}.family-trainer-surface :is(button,input,textarea,select):disabled{opacity:1!important;color:var(--umi-muted)!important;background:var(--umi-surface-subtle)!important}.family-trainer-surface .modal-overlay,.family-trainer-surface .lw-modal,.family-trainer-surface .lw-dialog-backdrop,.family-trainer-surface .training-label-review-modal{background:var(--color-overlay-backdrop)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.family-trainer-surface :is(.btn-primary,.primary,.is-primary,.lw-footer-btn--cta){background:var(--umi-accent)!important;border-color:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.family-trainer-surface :is(.danger,.is-danger,.lw-footer-btn--danger){background:var(--umi-danger-soft)!important;border-color:color-mix(in srgb,var(--umi-danger) 34%,var(--umi-line))!important;color:var(--umi-danger)!important}.family-trainer-surface :is(.legacy-workspace__pill--primary,.primary-controls button:first-child,.lw-footer-btn--primary){border-color:var(--umi-accent)!important;background:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.family-trainer-surface :is(.legacy-workspace__pill--primary,.primary-controls button:first-child,.lw-footer-btn--primary):is(:hover,:focus-visible):not(:disabled){border-color:var(--umi-accent-hover)!important;background:var(--umi-accent-hover)!important;color:var(--umi-on-accent)!important}.family-trainer-surface :is(.lw-footer-btn--cta){border-color:var(--umi-success)!important;background:var(--umi-success)!important;color:var(--umi-on-accent)!important}.family-trainer-surface :is(.lw-footer-btn--danger){border-color:var(--umi-danger)!important;background:var(--umi-danger)!important;color:var(--umi-on-accent)!important}.family-trainer-surface :is(.lw-footer-btn--danger):is(:hover,:focus-visible):not(:disabled),.family-trainer-surface :is(.piece-coverage-panel__thumb-remove):is(:hover,:focus-visible),.family-trainer-surface :is(.lw-template-review-thumb__action--remove):is(:hover,:focus-visible){border-color:var(--umi-danger)!important;background:var(--umi-danger)!important;color:var(--umi-on-accent)!important}.family-trainer-surface :is(.lw-template-review-thumb__action--move):is(:hover,:focus-visible){border-color:var(--umi-warning)!important;background:var(--umi-warning)!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=guided]{border-color:var(--umi-accent)!important;background:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=guided]:is(:hover,:focus-visible):not(:disabled){border-color:var(--umi-accent-hover)!important;background:var(--umi-accent-hover)!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=set-contour]{border-color:var(--umi-analysis)!important;background:var(--umi-analysis)!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=set-contour]:is(:hover,:focus-visible):not(:disabled){border-color:var(--umi-analysis-action)!important;background:var(--umi-analysis-action)!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=correct-square-labels]{border-color:var(--umi-success)!important;background:var(--umi-success)!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=correct-square-labels]:is(:hover,:focus-visible):not(:disabled){border-color:color-mix(in srgb,var(--umi-success) 84%,var(--umi-ink))!important;background:color-mix(in srgb,var(--umi-success) 84%,var(--umi-ink))!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=correct-piece-labels]{border-color:var(--umi-warning)!important;background:var(--umi-warning)!important;color:var(--umi-on-accent)!important}.family-trainer-surface .action-buttons [data-action=correct-piece-labels]:is(:hover,:focus-visible):not(:disabled){border-color:color-mix(in srgb,var(--umi-warning) 84%,var(--umi-ink))!important;background:color-mix(in srgb,var(--umi-warning) 84%,var(--umi-ink))!important;color:var(--umi-on-accent)!important}.family-training-shell[data-v-b6e6f9f8]{display:grid;gap:1rem}.family-training-shell--trainer[data-v-b6e6f9f8]{min-height:0}.family-training-shell--runtime-host[data-v-b6e6f9f8]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.family-training-shell__summary[data-v-b6e6f9f8]{display:grid;gap:.9rem;padding:1rem;border:1px solid rgba(15,23,42,.12);border-radius:1rem;background:#fffffff0}.family-training-shell__eyebrow-row[data-v-b6e6f9f8]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.family-training-shell__eyebrow[data-v-b6e6f9f8]{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2563ebe0}.family-training-shell__status-pill[data-v-b6e6f9f8]{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .75rem;border-radius:999px;font-size:.82rem;font-weight:700;background:#0f172a14;color:#0f172acc}.family-training-shell__status-pill[data-status=ready][data-v-b6e6f9f8]{background:#16a34a1f;color:#15803d}.family-training-shell__status-pill[data-status=training][data-v-b6e6f9f8]{background:#2563eb1f;color:#1d4ed8}.family-training-shell__status-pill[data-status=review][data-v-b6e6f9f8]{background:#d9770624;color:#b45309}.family-training-shell__status-pill[data-status=bootstrap][data-v-b6e6f9f8]{background:#0f172a14;color:#0f172acc}.family-training-shell__title[data-v-b6e6f9f8]{margin:0;font-size:1.2rem;line-height:1.25}.family-training-shell__copy[data-v-b6e6f9f8],.family-training-shell__note[data-v-b6e6f9f8]{margin:0;color:#0f172ad1}.family-training-shell__progress[data-v-b6e6f9f8]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.family-training-shell__progress>div[data-v-b6e6f9f8]{display:grid;gap:.2rem;padding:.8rem;border-radius:.9rem;background:#0f172a0d}.family-training-shell__progress strong[data-v-b6e6f9f8]{font-size:1rem}.family-training-shell__progress span[data-v-b6e6f9f8]{font-size:.82rem;color:#0f172a9e}.family-training-shell__review-actions[data-v-b6e6f9f8]{display:flex;gap:.75rem;flex-wrap:wrap}.family-training-shell__button[data-v-b6e6f9f8]{min-height:2.8rem;padding:.7rem 1rem;border:1px solid rgba(15,23,42,.12);border-radius:.85rem;background:#fff;color:#0f172aeb;font:inherit;font-weight:700;cursor:pointer}.family-training-shell__button[data-v-b6e6f9f8]:disabled{opacity:.65;cursor:progress}.family-training-shell__button--primary[data-v-b6e6f9f8]{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.family-training-shell__notes[data-v-b6e6f9f8]{display:grid;gap:.45rem}.family-training-shell__note--muted[data-v-b6e6f9f8]{color:#0f172a94}.family-training-shell__note--error[data-v-b6e6f9f8]{color:#b91c1c}.family-training-shell__workspace[data-v-b6e6f9f8]{position:relative;min-height:22rem}.family-training-shell__surface[data-v-b6e6f9f8]{border:1px solid rgba(15,23,42,.12);border-radius:1rem;overflow:hidden;background:#f3f6f8}.family-training-shell__workspace-overlay[data-v-b6e6f9f8]{position:absolute;inset:0;display:grid;place-items:center;padding:1.5rem;background:#f8fafce6;color:#0f172ab8;text-align:center;pointer-events:none}@media(max-width:1100px){.family-training-shell__progress[data-v-b6e6f9f8]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.family-training-shell__progress[data-v-b6e6f9f8]{grid-template-columns:1fr}}.family-contour-review__completed[data-v-8e6cfd0d]{margin:0;color:var(--umi-ink);font-weight:700}.family-contour-review__body[data-v-8e6cfd0d]{min-height:0;overflow:auto;display:grid;align-content:start;gap:1rem}.family-contour-review[data-v-8e6cfd0d]{position:fixed;inset:0;z-index:720;display:grid;padding:1rem;background:#0f172a9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.family-contour-review__panel[data-v-8e6cfd0d]{width:min(100%,1360px);height:min(100%,calc(100vh - 2rem));margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;padding:1rem;border-radius:1.1rem;border:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#f8fafcfa,#f1f5f9fa);box-shadow:0 30px 80px #0f172a57;overflow:hidden}.family-contour-review__panel[data-v-8e6cfd0d]:focus{outline:none}.family-contour-review__header[data-v-8e6cfd0d]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.family-contour-review__copy[data-v-8e6cfd0d]{display:grid;gap:.45rem}.family-contour-review__copy h2[data-v-8e6cfd0d],.family-contour-review__copy p[data-v-8e6cfd0d]{margin:0}.family-contour-review__proposal-copy[data-v-8e6cfd0d]{color:#1e40af!important;font-weight:650}.family-contour-review__actions[data-v-8e6cfd0d]{display:flex;align-items:flex-start;gap:.6rem}.family-contour-review__confirm[data-v-8e6cfd0d]{min-height:2.5rem;padding:0 .95rem;border:1px solid rgba(29,78,216,.22);border-radius:.8rem;background:#1d4ed8;color:#fff;font:inherit;font-weight:750;cursor:pointer}.family-contour-review__confirm[data-v-8e6cfd0d]:disabled{cursor:progress;opacity:.65}.family-contour-review__copy p[data-v-8e6cfd0d]{color:var(--umi-muted);line-height:1.45}.family-contour-review__eyebrow[data-v-8e6cfd0d]{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--umi-accent)}.family-contour-review__close[data-v-8e6cfd0d]{min-height:2.5rem;padding:0 .95rem;border:1px solid rgba(15,23,42,.12);border-radius:.8rem;background:#ffffffeb;font:inherit;font-weight:700;cursor:pointer}.family-contour-review__close[data-v-8e6cfd0d]:disabled{cursor:progress;opacity:.65}@media(max-width:900px){.family-contour-review__panel[data-v-8e6cfd0d]{width:100%;height:100%;padding:.85rem}.family-contour-review__header[data-v-8e6cfd0d]{flex-direction:column}.family-contour-review__actions[data-v-8e6cfd0d]{width:100%;flex-wrap:wrap}}.recognition-detection-panel[data-v-ffbee051]{display:grid;gap:1rem;min-width:0;container-type:inline-size;padding:clamp(.9rem,1.2vw,1.1rem);border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-floating)}.recognition-detection-panel__header[data-v-ffbee051],.recognition-detection-panel__crop-header[data-v-ffbee051],.recognition-detection-panel__actions[data-v-ffbee051]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.recognition-detection-panel__header[data-v-ffbee051]{border-bottom:1px solid var(--color-border);padding-bottom:.85rem}.recognition-detection-panel__header>div[data-v-ffbee051]{display:grid;gap:.35rem;min-width:0}.recognition-detection-panel__eyebrow[data-v-ffbee051],.recognition-detection-panel__header h2[data-v-ffbee051],.recognition-detection-panel__header p[data-v-ffbee051]{margin:0}.recognition-detection-panel__eyebrow[data-v-ffbee051]{color:var(--color-accent);font-size:var(--font-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.recognition-detection-panel__header h2[data-v-ffbee051]{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.2}.recognition-detection-panel__header p[data-v-ffbee051]{color:var(--color-text-muted);line-height:1.45}.recognition-detection-panel__status[data-v-ffbee051]{flex:0 0 auto;min-height:1.9rem;display:inline-flex;align-items:center;padding:0 .6rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);font-size:var(--font-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.recognition-detection-panel__status--result[data-v-ffbee051]{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.recognition-detection-panel__status--warning[data-v-ffbee051]{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning)}.recognition-detection-panel__status--error[data-v-ffbee051]{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.recognition-detection-panel__dashboard[data-v-ffbee051]{display:grid;gap:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border)}.recognition-detection-panel__dashboard-header[data-v-ffbee051],.recognition-detection-panel__saved-contours-header[data-v-ffbee051],.recognition-detection-panel__stage-step-head[data-v-ffbee051],.recognition-detection-panel__stage-meta[data-v-ffbee051]{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.recognition-detection-panel__dashboard-header>div[data-v-ffbee051],.recognition-detection-panel__stage-step[data-v-ffbee051],.recognition-detection-panel__saved-contour-copy[data-v-ffbee051]{min-width:0}.recognition-detection-panel__dashboard-header>div[data-v-ffbee051],.recognition-detection-panel__stage-step[data-v-ffbee051]{display:grid;gap:.25rem}.recognition-detection-panel__dashboard-header strong[data-v-ffbee051],.recognition-detection-panel__saved-contours-header strong[data-v-ffbee051],.recognition-detection-panel__stage-step strong[data-v-ffbee051],.recognition-detection-panel__saved-contour strong[data-v-ffbee051]{color:var(--color-text)}.recognition-detection-panel__dashboard-header span[data-v-ffbee051],.recognition-detection-panel__saved-contours-header span[data-v-ffbee051],.recognition-detection-panel__stage-step p[data-v-ffbee051],.recognition-detection-panel__stage-meta span[data-v-ffbee051],.recognition-detection-panel__saved-contours p[data-v-ffbee051],.recognition-detection-panel__saved-contour small[data-v-ffbee051],.recognition-detection-panel__saved-contour-thumb span[data-v-ffbee051]{color:var(--color-text-muted)}.recognition-detection-panel__dashboard-header span[data-v-ffbee051],.recognition-detection-panel__stage-meta span[data-v-ffbee051],.recognition-detection-panel__saved-contour small[data-v-ffbee051]{font-size:var(--font-xs);font-weight:750}.recognition-detection-panel__stage-rail[data-v-ffbee051]{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.5rem}.recognition-detection-panel__stage-step[data-v-ffbee051]{position:relative;align-content:start;min-height:10.25rem;padding:.65rem;border:1px solid var(--color-border);border-radius:.45rem;background:color-mix(in srgb,var(--color-surface) 86%,var(--color-surface-muted))}.recognition-detection-panel__stage-step--current[data-v-ffbee051]{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 20%,transparent)}.recognition-detection-panel__stage-step--ready[data-v-ffbee051]{background:color-mix(in srgb,var(--color-success-soft) 34%,var(--color-surface))}.recognition-detection-panel__stage-step--active[data-v-ffbee051]{background:color-mix(in srgb,var(--color-accent-soft) 34%,var(--color-surface))}.recognition-detection-panel__stage-step--running[data-v-ffbee051]{background:color-mix(in srgb,var(--color-warning-soft) 28%,var(--color-surface))}.recognition-detection-panel__stage-step--error[data-v-ffbee051]{background:color-mix(in srgb,var(--color-danger-soft) 32%,var(--color-surface))}.recognition-detection-panel__stage-step-head span[data-v-ffbee051],.recognition-detection-panel__stage-step-head em[data-v-ffbee051]{font-size:var(--font-xs);font-weight:850;text-transform:uppercase}.recognition-detection-panel__stage-step-head span[data-v-ffbee051]{color:var(--color-text);letter-spacing:0}.recognition-detection-panel__stage-step-head em[data-v-ffbee051]{flex:0 0 auto;font-style:normal;color:var(--color-text-muted)}.recognition-detection-panel__stage-step p[data-v-ffbee051],.recognition-detection-panel__saved-contours p[data-v-ffbee051]{margin:0;line-height:1.35}.recognition-detection-panel__stage-progress[data-v-ffbee051]{overflow:hidden;height:.35rem;border-radius:999px;background:color-mix(in srgb,var(--color-border) 72%,transparent)}.recognition-detection-panel__stage-progress span[data-v-ffbee051]{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.recognition-detection-panel__stage-actions[data-v-ffbee051]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.recognition-detection-panel__saved-contours[data-v-ffbee051]{display:grid;gap:.55rem}.recognition-detection-panel__saved-contour-list[data-v-ffbee051]{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.45rem}.recognition-detection-panel__saved-contour[data-v-ffbee051]{min-width:0;display:grid;gap:.45rem;padding:.4rem;border:1px solid var(--color-border);border-radius:.45rem;background:var(--color-surface);text-align:left}.recognition-detection-panel__saved-contour-main[data-v-ffbee051]{min-width:0;display:grid;grid-template-columns:2.7rem minmax(0,1fr);align-items:center;gap:.5rem;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.recognition-detection-panel__saved-contour-thumb[data-v-ffbee051]{overflow:hidden;display:grid;place-items:center;width:2.7rem;aspect-ratio:1;border-radius:.3rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-surface-muted) 80%,var(--color-border)),var(--color-surface))}.recognition-detection-panel__saved-contour-thumb img[data-v-ffbee051]{width:100%;height:100%;object-fit:cover}.recognition-detection-panel__saved-contour-thumb span[data-v-ffbee051]{font-size:var(--font-sm);font-weight:850}.recognition-detection-panel__saved-contour strong[data-v-ffbee051],.recognition-detection-panel__saved-contour small[data-v-ffbee051]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recognition-detection-panel__saved-contour-actions[data-v-ffbee051]{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}@media(hover:hover){.recognition-detection-panel__saved-contour[data-v-ffbee051]:hover{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 14%,transparent)}}.recognition-detection-panel__tabs[data-v-ffbee051]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.25rem;border:1px solid var(--color-border);border-radius:.55rem;background:var(--color-surface-muted)}.recognition-detection-panel__tab[data-v-ffbee051]{min-width:0;min-height:2.25rem;padding:0 .7rem;border:1px solid transparent;border-radius:.4rem;background:transparent;color:var(--color-text-muted);font-weight:850;cursor:pointer}.recognition-detection-panel__tab--active[data-v-ffbee051]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:0 .35rem 1rem #0f172a14}.recognition-detection-panel__boards[data-v-ffbee051]{display:grid;gap:.5rem;padding:.65rem;border:1px solid var(--color-border);border-radius:.5rem;background:color-mix(in srgb,var(--color-surface-muted) 82%,var(--color-surface))}.recognition-detection-panel__boards-header[data-v-ffbee051],.recognition-detection-panel__board-row[data-v-ffbee051],.recognition-detection-panel__board-actions[data-v-ffbee051]{display:flex;align-items:center;gap:.5rem}.recognition-detection-panel__boards-header[data-v-ffbee051]{justify-content:space-between;color:var(--color-text);font-size:var(--font-sm)}.recognition-detection-panel__boards-header span[data-v-ffbee051]{color:var(--color-text-muted);font-size:var(--font-xs);font-weight:850}.recognition-detection-panel__board-list[data-v-ffbee051]{display:grid;gap:.4rem}.recognition-detection-panel__board-row[data-v-ffbee051]{justify-content:space-between;min-width:0;padding:.5rem;border:1px solid var(--color-border);border-radius:.45rem;background:var(--color-surface)}.recognition-detection-panel__board-row--active[data-v-ffbee051]{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 16%,transparent)}.recognition-detection-panel__board-meta[data-v-ffbee051]{display:grid;gap:.15rem;min-width:0}.recognition-detection-panel__board-meta strong[data-v-ffbee051],.recognition-detection-panel__board-meta span[data-v-ffbee051]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recognition-detection-panel__board-meta strong[data-v-ffbee051]{color:var(--color-text);font-size:var(--font-sm)}.recognition-detection-panel__board-meta span[data-v-ffbee051]{color:var(--color-text-muted);font-size:var(--font-xs);font-weight:700}.recognition-detection-panel__board-actions[data-v-ffbee051]{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.recognition-detection-panel__stage-tabs[data-v-ffbee051]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;padding:.2rem;border:1px solid var(--color-border);border-radius:.45rem;background:color-mix(in srgb,var(--color-surface-muted) 74%,var(--color-surface))}.recognition-detection-panel__stage-tab[data-v-ffbee051]{min-width:0;min-height:1.95rem;padding:0 .5rem;border:1px solid transparent;border-radius:.32rem;background:transparent;color:var(--color-text-muted);font-size:var(--font-xs);font-weight:850;cursor:pointer}.recognition-detection-panel__stage-tab--active[data-v-ffbee051]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:0 .25rem .75rem #0f172a14}.recognition-detection-panel__tab-panel[data-v-ffbee051]{min-width:0}.recognition-detection-panel__auto[data-v-ffbee051]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:center;min-height:12rem;padding:1rem;border:1px dashed var(--color-border);border-radius:.5rem;background:var(--color-surface-muted)}.recognition-detection-panel__auto strong[data-v-ffbee051],.recognition-detection-panel__auto p[data-v-ffbee051]{margin:0}.recognition-detection-panel__auto p[data-v-ffbee051]{margin-top:.25rem;color:var(--color-text-muted);line-height:1.45}.recognition-detection-panel__auto-meta[data-v-ffbee051]{margin-top:.55rem;color:var(--color-text-muted);font-size:var(--font-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.recognition-detection-panel__auto-actions[data-v-ffbee051]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.recognition-detection-panel__contour-preview[data-v-ffbee051]{display:grid;gap:.45rem;margin:.8rem 0 0;max-width:18rem}.recognition-detection-panel__contour-preview--large[data-v-ffbee051]{width:min(100%,34rem);max-width:none;justify-self:center;margin:0 0 .8rem}.recognition-detection-panel__contour-preview img[data-v-ffbee051]{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:3px solid var(--color-accent);border-radius:.55rem;background:var(--color-surface);box-shadow:0 0 0 1px #ffffffe6,0 0 0 5px color-mix(in srgb,var(--color-accent) 16%,transparent)}.recognition-detection-panel__contour-preview figcaption[data-v-ffbee051]{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;color:var(--color-text-muted);font-size:var(--font-xs)}.recognition-detection-panel__contour-preview figcaption strong[data-v-ffbee051]{color:var(--color-text)}.recognition-detection-panel__contour-preview figcaption span[data-v-ffbee051]{text-align:right}.recognition-detection-panel__auto-mark[data-v-ffbee051]{position:relative;width:4.5rem;aspect-ratio:1;border:2px solid var(--color-border-strong);border-radius:.45rem;background:linear-gradient(90deg,transparent 49%,var(--color-border) 49% 51%,transparent 51%),linear-gradient(0deg,transparent 49%,var(--color-border) 49% 51%,transparent 51%)}.recognition-detection-panel__auto-mark span[data-v-ffbee051]{position:absolute;width:.55rem;aspect-ratio:1;border-radius:999px;background:var(--color-accent)}.recognition-detection-panel__auto-mark span[data-v-ffbee051]:nth-child(1){left:-.3rem;top:-.3rem}.recognition-detection-panel__auto-mark span[data-v-ffbee051]:nth-child(2){right:-.3rem;top:-.3rem}.recognition-detection-panel__auto-mark span[data-v-ffbee051]:nth-child(3){right:-.3rem;bottom:-.3rem}.recognition-detection-panel__auto-mark span[data-v-ffbee051]:nth-child(4){left:-.3rem;bottom:-.3rem}.recognition-detection-panel__stage[data-v-ffbee051]{display:grid;justify-items:stretch;min-width:0}.recognition-detection-panel__crop[data-v-ffbee051]{display:grid;gap:.55rem}.recognition-detection-panel__crop--auto[data-v-ffbee051]{max-width:18rem;margin-top:.8rem}.recognition-detection-panel__crop--selected[data-v-ffbee051]{width:min(100%,34rem);justify-self:center}.recognition-detection-panel__crop-header[data-v-ffbee051]{align-items:center;color:var(--color-text-muted);font-size:var(--font-sm)}.recognition-detection-panel__crop-header strong[data-v-ffbee051]{color:var(--color-text)}.recognition-detection-panel__capture-frame[data-v-ffbee051]{padding:.2rem;border:3px solid var(--color-accent);border-radius:.55rem;background:var(--color-surface);box-shadow:0 0 0 1px #ffffffe6,0 0 0 5px color-mix(in srgb,var(--color-accent) 16%,transparent)}.recognition-detection-panel__grid[data-v-ffbee051]{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:.35rem;background:var(--color-surface-muted)}.recognition-detection-panel__square[data-v-ffbee051]{position:relative;min-width:0;aspect-ratio:1;overflow:hidden}.recognition-detection-panel__square--light[data-v-ffbee051]{background:color-mix(in srgb,var(--trainer-board-light, #eef4ff) 78%,white)}.recognition-detection-panel__square--dark[data-v-ffbee051]{background:color-mix(in srgb,var(--trainer-board-dark, #7276c9) 80%,black)}.recognition-detection-panel__square--review[data-v-ffbee051]{box-shadow:inset 0 0 0 2px var(--color-warning)}.recognition-detection-panel__square--candidate[data-v-ffbee051]:after{content:"";position:absolute;inset:0;background:#0f172a14;pointer-events:none}.recognition-detection-panel__square-image[data-v-ffbee051]{width:100%;height:100%;object-fit:cover;display:block}.recognition-detection-panel__glyph[data-v-ffbee051],.recognition-detection-panel__cross[data-v-ffbee051],.recognition-detection-panel__piece-marker[data-v-ffbee051],.recognition-detection-panel__notation[data-v-ffbee051]{position:absolute;pointer-events:none}.recognition-detection-panel__cross[data-v-ffbee051]{inset:18%;z-index:2}.recognition-detection-panel__cross[data-v-ffbee051]:before,.recognition-detection-panel__cross[data-v-ffbee051]:after{content:"";position:absolute;left:50%;top:-8%;width:clamp(.16rem,.45vw,.28rem);height:116%;border-radius:999px;background:var(--color-success);box-shadow:0 0 0 1px #ffffffdb,0 .12rem .3rem #0f172a59;transform-origin:center}.recognition-detection-panel__cross[data-v-ffbee051]:before{transform:translate(-50%) rotate(45deg)}.recognition-detection-panel__cross[data-v-ffbee051]:after{transform:translate(-50%) rotate(-45deg)}.recognition-detection-panel__piece-marker[data-v-ffbee051]{inset:7%;z-index:2;display:block;border-radius:999px;border:1px solid rgb(255 255 255 / .78);box-shadow:0 .18rem .45rem #0f172a57,inset 0 0 0 1px #0f172a2e}.recognition-detection-panel__square--piece-white .recognition-detection-panel__piece-marker[data-v-ffbee051]{background:#f8fafc}.recognition-detection-panel__square--piece-black .recognition-detection-panel__piece-marker[data-v-ffbee051]{background:#111827}.recognition-detection-panel__square--piece-unknown .recognition-detection-panel__piece-marker[data-v-ffbee051]{background:var(--color-warning)}.recognition-detection-panel__square--piece-neutral .recognition-detection-panel__piece-marker[data-v-ffbee051]{background:linear-gradient(135deg,#64748bf2,#e2e8f0f2)}.recognition-detection-panel__glyph[data-v-ffbee051]{inset:0;display:grid;place-items:center;color:#0f172a;font-size:clamp(.9rem,2vw,1.35rem);font-weight:900;text-shadow:0 1px 2px rgb(255 255 255 / .85)}.recognition-detection-panel__notation[data-v-ffbee051]{left:.18rem;bottom:.12rem;color:#0f172ab8;font-size:.58rem;font-weight:800}.recognition-detection-panel__empty[data-v-ffbee051]{display:grid;place-items:center;min-height:12rem;border:1px dashed var(--color-border);border-radius:.5rem;background:var(--color-surface-muted)}.recognition-detection-panel__empty span[data-v-ffbee051]{width:4.5rem;aspect-ratio:1;border:2px solid var(--color-border-strong);border-radius:.35rem;background:linear-gradient(90deg,transparent 49%,var(--color-border) 49% 51%,transparent 51%),linear-gradient(0deg,transparent 49%,var(--color-border) 49% 51%,transparent 51%)}.recognition-detection-panel__fen[data-v-ffbee051]{display:grid;gap:.35rem;min-width:0}.recognition-detection-panel__fen span[data-v-ffbee051]{color:var(--color-text-muted);font-size:var(--font-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.recognition-detection-panel__fen code[data-v-ffbee051]{display:block;overflow-wrap:anywhere;padding:.65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-sm)}.recognition-detection-panel__review[data-v-ffbee051]{display:grid;gap:.45rem;padding:.7rem;border:1px solid var(--color-warning-border);border-radius:.45rem;background:var(--color-warning-soft)}.recognition-detection-panel__chips[data-v-ffbee051]{display:flex;flex-wrap:wrap;gap:.35rem}.recognition-detection-panel__chips span[data-v-ffbee051]{min-height:1.65rem;display:inline-flex;align-items:center;padding:0 .5rem;border-radius:999px;background:var(--color-surface);font-size:var(--font-xs);font-weight:800}.recognition-detection-panel__actions[data-v-ffbee051]{flex-wrap:wrap}.recognition-detection-panel__button[data-v-ffbee051]{min-height:2.35rem;padding:0 .8rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);font-weight:800;cursor:pointer}.recognition-detection-panel__button--compact[data-v-ffbee051]{min-height:2rem;padding:0 .6rem;border-radius:.4rem;font-size:var(--font-xs)}.recognition-detection-panel__button--primary[data-v-ffbee051]{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.recognition-detection-panel__button--danger[data-v-ffbee051]{border-color:color-mix(in srgb,var(--color-danger) 62%,var(--color-border));background:color-mix(in srgb,var(--color-danger-soft) 72%,var(--color-surface));color:var(--color-danger)}.recognition-detection-panel__button[data-v-ffbee051]:disabled{cursor:not-allowed;opacity:.55}@container (min-width: 760px){.recognition-detection-panel__stage-rail[data-v-ffbee051],.recognition-detection-panel__saved-contour-list[data-v-ffbee051]{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.recognition-detection-panel__auto[data-v-ffbee051]{align-items:start}.recognition-detection-panel__auto>div[data-v-ffbee051]{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,38%);gap:.85rem 1rem;align-items:start}.recognition-detection-panel__auto>div>strong[data-v-ffbee051],.recognition-detection-panel__auto>div>p[data-v-ffbee051],.recognition-detection-panel__auto-meta[data-v-ffbee051],.recognition-detection-panel__auto-actions[data-v-ffbee051]{grid-column:1}.recognition-detection-panel__auto .recognition-detection-panel__contour-preview[data-v-ffbee051],.recognition-detection-panel__crop--auto[data-v-ffbee051]{grid-column:2;grid-row:span 4;width:100%;max-width:none;margin-top:0}.recognition-detection-panel__stage[data-v-ffbee051]{grid-template-columns:minmax(16rem,.9fr) minmax(0,1.1fr);gap:1rem;align-items:start}.recognition-detection-panel__contour-preview--large[data-v-ffbee051],.recognition-detection-panel__crop--selected[data-v-ffbee051]{width:100%;max-width:none;justify-self:stretch}.recognition-detection-panel__stage>.recognition-detection-panel__crop--selected[data-v-ffbee051]:first-child{grid-column:1 / -1}.recognition-detection-panel__empty[data-v-ffbee051]{grid-column:1 / -1}}@container (min-width: 1120px){.recognition-detection-panel__dashboard[data-v-ffbee051]{gap:1rem}.recognition-detection-panel__stage-rail[data-v-ffbee051],.recognition-detection-panel__saved-contour-list[data-v-ffbee051]{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.recognition-detection-panel__stage[data-v-ffbee051]{grid-template-columns:minmax(18rem,28rem) minmax(0,1fr)}}@media(max-width:720px){.recognition-detection-panel__header[data-v-ffbee051],.recognition-detection-panel__dashboard-header[data-v-ffbee051],.recognition-detection-panel__actions[data-v-ffbee051]{align-items:stretch}.recognition-detection-panel__stage-rail[data-v-ffbee051],.recognition-detection-panel__auto[data-v-ffbee051]{grid-template-columns:1fr}.recognition-detection-panel__auto-mark[data-v-ffbee051]{justify-self:center}.recognition-detection-panel__actions[data-v-ffbee051]>*{flex:1 1 9rem}}@container (max-width: 520px){.recognition-detection-panel__header[data-v-ffbee051],.recognition-detection-panel__crop-header[data-v-ffbee051],.recognition-detection-panel__actions[data-v-ffbee051]{display:grid;grid-template-columns:1fr;justify-content:stretch}.recognition-detection-panel__status[data-v-ffbee051]{justify-self:start}.recognition-detection-panel__board-row[data-v-ffbee051]{align-items:stretch;display:grid;grid-template-columns:1fr}.recognition-detection-panel__dashboard-header[data-v-ffbee051],.recognition-detection-panel__stage-meta[data-v-ffbee051]{display:grid;grid-template-columns:1fr;justify-content:stretch}.recognition-detection-panel__stage-rail[data-v-ffbee051],.recognition-detection-panel__saved-contour-list[data-v-ffbee051]{grid-template-columns:1fr}.recognition-detection-panel__board-actions[data-v-ffbee051]{justify-content:stretch}.recognition-detection-panel__board-actions[data-v-ffbee051]>*{flex:1 1 7rem}.recognition-detection-panel__auto[data-v-ffbee051]{grid-template-columns:1fr;min-height:auto}.recognition-detection-panel__auto-mark[data-v-ffbee051]{justify-self:center}.recognition-detection-panel__contour-preview[data-v-ffbee051],.recognition-detection-panel__contour-preview--large[data-v-ffbee051],.recognition-detection-panel__crop--auto[data-v-ffbee051],.recognition-detection-panel__crop--selected[data-v-ffbee051]{width:100%;max-width:none}.recognition-detection-panel__actions[data-v-ffbee051]>*,.recognition-detection-panel__auto-actions[data-v-ffbee051]>*,.recognition-detection-panel__stage-actions[data-v-ffbee051]>*{flex:1 1 9rem}}.chessboard-wrapper[data-v-e04e2ed7]{width:100%;height:100%;min-height:320px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.chessboard-wrapper__board[data-v-e04e2ed7]{width:100%;height:100%;min-height:320px;overflow:hidden;touch-action:none}.chessboard-wrapper[data-v-e04e2ed7] .cm-chessboard{width:100%;height:100%;display:block;touch-action:none}.eval-bar[data-v-48baa1a8]{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.45rem;width:clamp(1.65rem,2vw,2rem);min-height:clamp(22rem,38vw,34rem);padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text)}.eval-bar__score[data-v-48baa1a8]{position:absolute;z-index:3;left:50%;top:clamp(.15rem,var(--score-position),calc(100% - 1.5rem));transform:translate(-50%,-50%);min-width:2.7rem;padding:.18rem .3rem;border:1px solid rgba(18,24,38,.16);border-radius:.35rem;background:#f8fafcf0;box-shadow:0 2px 8px #12182629;color:#111827;font-size:var(--font-sm);font-weight:800;line-height:1.05;text-align:center;white-space:nowrap}.eval-bar__status[data-v-48baa1a8]{justify-self:center;width:100%;padding:.18rem .1rem;border-radius:.3rem;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-muted);font-size:var(--font-xs);font-weight:800;letter-spacing:.05em;line-height:1;text-align:center;text-transform:uppercase}.eval-bar__status--mate[data-v-48baa1a8]{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.eval-bar__status--advantage[data-v-48baa1a8]{background:var(--color-info-soft);border-color:var(--color-info-border)}.eval-bar__status--disadvantage[data-v-48baa1a8]{background:var(--color-neutral-soft);border-color:var(--color-neutral-border)}.eval-bar__gauge[data-v-48baa1a8]{display:block;min-height:0}.eval-bar__track[data-v-48baa1a8]{position:relative;width:100%;height:100%;min-height:0;border-radius:.28rem;background:#111827;border:1px solid rgba(18,24,38,.32);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,0 1px 3px #1218262e}.eval-bar__track[data-v-48baa1a8]:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 34%,rgba(0,0,0,.12)),linear-gradient(180deg,rgba(255,255,255,.08),transparent 18%,rgba(0,0,0,.08));pointer-events:none}.eval-bar__segment[data-v-48baa1a8]{position:absolute;left:0;right:0;transition:height .18s ease,width .18s ease}.eval-bar__segment--black[data-v-48baa1a8]{top:0;height:var(--segment-size);background:#0b1220}.eval-bar__segment--white[data-v-48baa1a8]{bottom:0;height:var(--segment-size);background:#f8fafc}.eval-bar__pivot[data-v-48baa1a8]{position:absolute;z-index:2;left:0;right:0;top:calc(50% - 1px);height:2px;background:#2563eb57}@media(max-width:860px){.eval-bar[data-v-48baa1a8]{width:100%;min-height:auto;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:none;align-items:center}.eval-bar__gauge[data-v-48baa1a8]{min-width:0}.eval-bar__track[data-v-48baa1a8]{min-height:1.25rem;height:1.25rem}.eval-bar__segment[data-v-48baa1a8]{top:0;bottom:0;height:auto}.eval-bar__segment--black[data-v-48baa1a8]{left:auto;right:0;width:var(--segment-size)}.eval-bar__segment--white[data-v-48baa1a8]{left:0;right:auto;width:var(--segment-size)}.eval-bar__score[data-v-48baa1a8]{top:50%;left:clamp(1.35rem,calc(100% - var(--score-position)),calc(100% - 1.35rem))}.eval-bar__pivot[data-v-48baa1a8]{top:0;bottom:0;left:calc(50% - 1px);right:auto;width:2px;height:auto}.eval-bar__status[data-v-48baa1a8]{width:auto;min-width:2.1rem;padding:.32rem .38rem}}.move-list[data-v-790dd932]{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%),var(--color-surface);box-shadow:var(--shadow-soft)}.move-list__header[data-v-790dd932]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.move-list__copy[data-v-790dd932]{display:grid;gap:.2rem}.move-list__eyebrow[data-v-790dd932]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.move-list__title[data-v-790dd932]{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.move-list__actions[data-v-790dd932]{display:inline-flex;flex-wrap:wrap;gap:.4rem}.move-list__nav[data-v-790dd932]{width:2.4rem;height:2.4rem;border:1px solid var(--color-neutral-border);border-radius:999px;background:var(--color-surface);color:inherit;cursor:pointer}.move-list__nav[data-v-790dd932]:disabled{opacity:.45;cursor:not-allowed}.move-list__table[data-v-790dd932]{display:grid;gap:.55rem}.move-list__row[data-v-790dd932]{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);align-items:start}.move-list__number[data-v-790dd932]{min-width:2.75rem;padding-top:.55rem;font-weight:800;color:var(--color-text-muted)}.move-list__slot[data-v-790dd932]{display:grid;gap:.35rem;min-width:0}.move-list__move[data-v-790dd932]{display:inline-flex;align-items:center;justify-content:flex-start;width:100%;min-height:2.7rem;padding:.45rem .7rem;border:1px solid var(--color-neutral-border);border-radius:.9rem;background:var(--color-surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.move-list__move[data-v-790dd932]:hover,.move-list__move[data-v-790dd932]:focus-visible{transform:translateY(-1px);border-color:var(--color-accent-border);box-shadow:var(--shadow-soft);outline:none}.move-list__move--current[data-v-790dd932]{border-color:var(--color-accent);background:linear-gradient(180deg,var(--color-accent-soft),var(--color-surface)),var(--color-surface)}.move-list__move--past[data-v-790dd932]{background:var(--color-accent-softer)}.move-list__move--future[data-v-790dd932]{opacity:.88}.move-list__move--start[data-v-790dd932]{justify-content:center;font-weight:800}.move-list__empty-slot[data-v-790dd932]{min-height:2.7rem}.move-list__variations[data-v-790dd932]{display:flex;flex-wrap:wrap;gap:.35rem}.move-list__variation[data-v-790dd932]{min-height:1.9rem;padding:.25rem .55rem;border:1px solid var(--color-neutral-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-sm);font-weight:700;cursor:pointer}.move-list__empty[data-v-790dd932]{padding:var(--space-4);border:1px dashed var(--color-neutral-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-panel-wash-strong)}@media(pointer:coarse){.move-list__nav[data-v-790dd932]{width:44px;height:44px}.move-list__variation[data-v-790dd932]{min-height:44px;padding-inline:.8rem}}@media(max-width:760px){.move-list__row[data-v-790dd932]{grid-template-columns:auto 1fr}.move-list__row[data-v-790dd932]>:nth-child(3){grid-column:2}}.pv-lines[data-v-c45d6820]{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%),var(--color-surface);box-shadow:var(--shadow-soft)}.pv-lines__header[data-v-c45d6820]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.pv-lines__copy[data-v-c45d6820]{display:grid;gap:.2rem}.pv-lines__eyebrow[data-v-c45d6820]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.pv-lines__title[data-v-c45d6820]{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.pv-lines__count[data-v-c45d6820]{min-width:2rem;text-align:center;padding:.3rem .55rem;border-radius:999px;background:var(--color-accent-softer);border:1px solid var(--color-accent-border);font-size:var(--font-sm);font-weight:700;color:var(--color-accent-strong)}.pv-lines__list[data-v-c45d6820]{display:grid;gap:var(--space-2)}.pv-lines__row[data-v-c45d6820]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;width:100%;min-height:4.1rem;padding:var(--space-3);border:1px solid var(--color-neutral-border);border-radius:var(--radius-md);background:var(--color-surface);color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.pv-lines__row[data-v-c45d6820]:hover,.pv-lines__row[data-v-c45d6820]:focus-visible{transform:translateY(-1px);border-color:var(--color-accent-border);box-shadow:var(--shadow-soft);outline:none}.pv-lines__row--best[data-v-c45d6820]{background:linear-gradient(180deg,var(--color-accent-soft),var(--color-surface)),var(--color-surface);border-color:var(--color-accent-border)}.pv-lines__row--mate[data-v-c45d6820]{background:linear-gradient(180deg,var(--color-danger-soft),var(--color-surface)),var(--color-surface);border-color:var(--color-danger-border)}.pv-lines__meta[data-v-c45d6820]{display:grid;gap:.35rem;justify-items:start;align-content:start}.pv-lines__badge[data-v-c45d6820]{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;padding:.25rem .55rem;border-radius:999px;background:var(--color-neutral-soft);color:var(--color-text-muted);font-size:var(--font-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pv-lines__badge--best[data-v-c45d6820]{background:var(--color-accent-soft);color:var(--color-accent-strong)}.pv-lines__depth[data-v-c45d6820]{font-size:var(--font-sm);color:var(--color-text-muted);font-weight:600}.pv-lines__body[data-v-c45d6820]{display:grid;gap:.3rem;min-width:0}.pv-lines__score[data-v-c45d6820]{margin:0;font-size:.95rem;font-weight:800}.pv-lines__moves[data-v-c45d6820]{margin:0;color:var(--color-text-muted);line-height:1.45;overflow-wrap:anywhere}.pv-lines__empty[data-v-c45d6820]{padding:var(--space-4);border:1px dashed var(--color-neutral-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-panel-wash-strong)}@media(max-width:680px){.pv-lines__row[data-v-c45d6820]{grid-template-columns:1fr}}.edit-mode-palette[data-v-be40df7e]{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%),var(--color-surface);box-shadow:var(--shadow-soft)}.edit-mode-palette__header[data-v-be40df7e]{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.edit-mode-palette__copy[data-v-be40df7e]{display:grid;gap:.25rem;min-width:0}.edit-mode-palette__eyebrow[data-v-be40df7e]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.edit-mode-palette__title[data-v-be40df7e]{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.edit-mode-palette__description[data-v-be40df7e]{margin:0;color:var(--color-text-muted);line-height:1.45}.edit-mode-palette__summary[data-v-be40df7e]{display:grid;gap:.2rem;justify-items:end;padding:.65rem .8rem;border-radius:var(--radius-md);background:var(--color-accent-softer);border:1px solid var(--color-accent-border)}.edit-mode-palette__summary-label[data-v-be40df7e]{font-size:var(--font-xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.edit-mode-palette__summary-value[data-v-be40df7e]{font-size:.95rem}.edit-mode-palette__grid[data-v-be40df7e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.edit-mode-palette__piece[data-v-be40df7e]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:4.3rem;padding:.8rem .9rem;border:1px solid var(--color-neutral-border);border-radius:1rem;background:var(--color-surface);color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.edit-mode-palette__piece[data-v-be40df7e]:hover,.edit-mode-palette__piece[data-v-be40df7e]:focus-visible{transform:translateY(-1px);border-color:var(--color-accent-border);box-shadow:var(--shadow-soft);outline:none}.edit-mode-palette__piece--selected[data-v-be40df7e]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-ring) inset}.edit-mode-palette__piece--disabled[data-v-be40df7e]{opacity:.55;cursor:not-allowed}.edit-mode-palette__piece--light[data-v-be40df7e]{background:linear-gradient(180deg,var(--color-piece-light),var(--color-piece-light-muted))}.edit-mode-palette__piece--dark[data-v-be40df7e]{background:linear-gradient(180deg,var(--color-piece-dark),var(--color-piece-dark-muted));color:var(--color-text-inverse)}.edit-mode-palette__piece--accent[data-v-be40df7e]{background:linear-gradient(180deg,var(--color-accent-soft),rgba(255,255,255,.98))}.edit-mode-palette__piece--warning[data-v-be40df7e]{background:linear-gradient(180deg,var(--color-warning-soft),var(--color-surface))}.edit-mode-palette__glyph[data-v-be40df7e]{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:1.45rem;flex:0 0 auto}.edit-mode-palette__piece--dark .edit-mode-palette__glyph[data-v-be40df7e]{background:#ffffff1f;color:var(--color-text-inverse)}.edit-mode-palette__body[data-v-be40df7e]{display:grid;gap:.2rem;min-width:0}.edit-mode-palette__label[data-v-be40df7e]{font-weight:800}.edit-mode-palette__hint[data-v-be40df7e]{color:inherit;opacity:.76;line-height:1.4}.edit-mode-palette__badge[data-v-be40df7e]{justify-self:end;align-self:center;padding:.25rem .5rem;border-radius:999px;background:var(--color-neutral-soft);color:var(--color-text-muted);font-size:var(--font-sm);font-weight:700;text-transform:uppercase}.edit-mode-palette__actions[data-v-be40df7e]{display:flex;flex-wrap:wrap;gap:.55rem}.edit-mode-palette__action[data-v-be40df7e]{min-height:44px;padding:0 .95rem;border:1px solid var(--color-neutral-border-strong);border-radius:999px;background:var(--color-accent);color:var(--color-text-inverse);font-weight:700;cursor:pointer}.edit-mode-palette__action--ghost[data-v-be40df7e]{background:transparent;color:inherit}.edit-mode-palette__action[data-v-be40df7e]:disabled{opacity:.55;cursor:not-allowed}@media(max-width:720px){.edit-mode-palette__grid[data-v-be40df7e]{grid-template-columns:1fr}.edit-mode-palette__header[data-v-be40df7e]{flex-direction:column}.edit-mode-palette__summary[data-v-be40df7e]{justify-items:start}}.fen-bar[data-v-d4f60450]{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%),var(--color-surface);box-shadow:var(--shadow-soft)}.fen-bar__header[data-v-d4f60450]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.fen-bar__copy[data-v-d4f60450]{display:grid;gap:.2rem}.fen-bar__eyebrow[data-v-d4f60450]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.fen-bar__title[data-v-d4f60450]{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.fen-bar__status[data-v-d4f60450]{flex:0 0 auto;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--color-accent-border);background:var(--color-accent-softer);font-size:var(--font-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-strong)}.fen-bar__form[data-v-d4f60450]{display:grid;gap:var(--space-2)}.fen-bar__label[data-v-d4f60450]{font-size:var(--font-sm);font-weight:700;color:var(--color-text)}.fen-bar__input[data-v-d4f60450]{width:100%;min-height:6.5rem;padding:.85rem .95rem;border:1px solid var(--color-neutral-border);border-radius:var(--radius-md);background:var(--color-surface);color:inherit;font:inherit;line-height:1.5;resize:vertical}.fen-bar__input[data-v-d4f60450]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.fen-bar__input[readonly][data-v-d4f60450]{background:var(--color-surface-muted)}.fen-bar__hint[data-v-d4f60450]{margin:0;color:var(--color-text-muted);font-size:var(--font-sm);line-height:1.45}.fen-bar__actions[data-v-d4f60450]{display:flex;flex-wrap:wrap;gap:.55rem}.fen-bar__button[data-v-d4f60450]{min-height:44px;padding:0 .95rem;border:1px solid var(--color-neutral-border-strong);border-radius:999px;background:var(--color-surface);color:inherit;font-weight:700;cursor:pointer}.fen-bar__button--primary[data-v-d4f60450]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.fen-bar__button--ghost[data-v-d4f60450]{background:transparent}.fen-bar__button[data-v-d4f60450]:disabled{opacity:.55;cursor:not-allowed}.engine-settings-panel[data-v-039f7644]{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:radial-gradient(circle at top right,var(--color-accent-soft),transparent 36%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);box-shadow:var(--shadow-soft)}.engine-settings-panel__header[data-v-039f7644]{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.engine-settings-panel__copy[data-v-039f7644]{display:grid;gap:.2rem;min-width:0}.engine-settings-panel__eyebrow[data-v-039f7644]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.engine-settings-panel__title[data-v-039f7644]{margin:0;font-size:1.1rem;font-weight:800;letter-spacing:-.02em}.engine-settings-panel__description[data-v-039f7644]{margin:0;color:var(--color-text-muted);line-height:1.45}.engine-settings-panel__status[data-v-039f7644]{display:grid;gap:.25rem;justify-items:end}.engine-settings-panel__status-chip[data-v-039f7644]{padding:.3rem .6rem;border-radius:999px;border:1px solid var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--font-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.engine-settings-panel__status-chip--good[data-v-039f7644]{background:var(--color-success-soft);color:var(--color-success)}.engine-settings-panel__status-chip--warn[data-v-039f7644]{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.engine-settings-panel__status-chip--busy[data-v-039f7644]{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning)}.engine-settings-panel__meta[data-v-039f7644]{font-size:var(--font-sm);color:var(--color-text-muted)}.engine-settings-panel__runtime[data-v-039f7644]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.engine-settings-panel__runtime-card[data-v-039f7644]{display:grid;gap:.18rem;padding:.7rem .8rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-panel-wash-strong)}.engine-settings-panel__runtime-label[data-v-039f7644]{font-size:var(--font-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.engine-settings-panel__runtime-value[data-v-039f7644]{font-size:.96rem}.engine-settings-panel__grid[data-v-039f7644]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.engine-settings-panel__section[data-v-039f7644]{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-wash-strong)}.engine-settings-panel__section-head[data-v-039f7644]{display:grid;gap:.2rem}.engine-settings-panel__section-head h4[data-v-039f7644]{margin:0;font-size:.98rem}.engine-settings-panel__section-head p[data-v-039f7644]{margin:0;color:var(--color-text-muted);line-height:1.45}.engine-settings-panel__button-row[data-v-039f7644],.engine-settings-panel__toggle-row[data-v-039f7644]{display:flex;flex-wrap:wrap;gap:.5rem}.engine-settings-panel__toggle-row--wrap[data-v-039f7644]{align-items:center}.engine-settings-panel__button[data-v-039f7644],.engine-settings-panel__toggle[data-v-039f7644]{min-height:44px;padding:0 .95rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:inherit;font-weight:700;cursor:pointer}.engine-settings-panel__button--primary[data-v-039f7644]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.engine-settings-panel__button--warning[data-v-039f7644]{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.engine-settings-panel__toggle[data-v-039f7644]{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.engine-settings-panel__toggle--field[data-v-039f7644]{justify-content:space-between;width:100%;text-align:left;border-radius:1rem}.engine-settings-panel__toggle--active[data-v-039f7644]{border-color:var(--color-accent);background:var(--color-accent-soft)}.engine-settings-panel__toggle-label[data-v-039f7644]{min-width:0}.engine-settings-panel__toggle-state[data-v-039f7644]{font-size:var(--font-sm);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.engine-settings-panel__status-copy[data-v-039f7644]{display:grid;gap:.25rem;color:var(--color-text-muted);line-height:1.45}.engine-settings-panel__status-copy--emphasis[data-v-039f7644]{color:var(--color-accent-strong);font-weight:700}.engine-settings-panel__form-grid[data-v-039f7644]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.engine-settings-panel__field[data-v-039f7644]{display:grid;gap:.35rem}.engine-settings-panel__field span[data-v-039f7644]{font-size:var(--font-sm);font-weight:700}.engine-settings-panel__field input[data-v-039f7644],.engine-settings-panel__field select[data-v-039f7644],.engine-settings-panel__number[data-v-039f7644]{width:100%;min-height:44px;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface);color:inherit;font:inherit}.engine-settings-panel__field input[data-v-039f7644]:focus-visible,.engine-settings-panel__field select[data-v-039f7644]:focus-visible,.engine-settings-panel__number[data-v-039f7644]:focus-visible,.engine-settings-panel__range[data-v-039f7644]:focus-visible,.engine-settings-panel__button[data-v-039f7644]:focus-visible,.engine-settings-panel__toggle[data-v-039f7644]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.engine-settings-panel__field--wide[data-v-039f7644]{grid-column:1 / -1}.engine-settings-panel__board-theme[data-v-039f7644]{display:grid;gap:var(--space-2);padding:.75rem;border:1px solid var(--color-accent-border);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-accent-softer),var(--color-surface))}.engine-settings-panel__board-preview[data-v-039f7644]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,10rem);aspect-ratio:1 / 1;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:.65rem;background:var(--preview-board-light);box-shadow:inset 0 0 0 1px #ffffff6b}.engine-settings-panel__board-preview-square[data-v-039f7644]{background:var(--preview-board-light)}.engine-settings-panel__board-preview-square--dark[data-v-039f7644]{background:var(--preview-board-dark)}.engine-settings-panel__color-grid[data-v-039f7644]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.engine-settings-panel__field--color input[type=color][data-v-039f7644]{padding:.25rem;cursor:pointer}.engine-settings-panel__preset-row[data-v-039f7644]{display:flex;flex-wrap:wrap;gap:.45rem}.engine-settings-panel__preset[data-v-039f7644]{display:inline-flex;align-items:center;gap:.45rem;min-height:2.35rem;padding:.35rem .65rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:inherit;font:inherit;font-weight:700;cursor:pointer}.engine-settings-panel__preset-swatch[data-v-039f7644]{width:1.25rem;height:1.25rem;border:1px solid var(--color-border-strong);border-radius:999px;background:linear-gradient(135deg,var(--preset-light) 0 50%,var(--preset-dark) 50% 100%)}.engine-settings-panel__preset[data-v-039f7644]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.engine-settings-panel__toggle-grid[data-v-039f7644]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.engine-settings-panel__rating[data-v-039f7644]{display:grid;gap:var(--space-2)}.engine-settings-panel__range[data-v-039f7644]{width:100%}.engine-settings-panel__rating-meta[data-v-039f7644]{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.engine-settings-panel__number[data-v-039f7644]{width:8rem}.engine-settings-panel__rating-label[data-v-039f7644]{color:var(--color-text-muted);font-size:var(--font-sm)}@media(max-width:980px){.engine-settings-panel__runtime[data-v-039f7644],.engine-settings-panel__grid[data-v-039f7644]{grid-template-columns:1fr}}@media(max-width:680px){.engine-settings-panel__header[data-v-039f7644]{flex-direction:column}.engine-settings-panel__status[data-v-039f7644]{justify-items:start}.engine-settings-panel__form-grid[data-v-039f7644],.engine-settings-panel__toggle-grid[data-v-039f7644],.engine-settings-panel__color-grid[data-v-039f7644]{grid-template-columns:1fr}}.board-comments-panel[data-v-7ae21771]{display:grid;gap:1rem;width:100%;min-width:0;container-type:inline-size;padding:1.1rem;border:1px solid var(--color-border);border-radius:1.25rem;background:radial-gradient(circle at top right,var(--color-panel-glow),transparent 32%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);box-shadow:var(--shadow-soft)}.board-comments-panel__header[data-v-7ae21771],.board-comments-panel__context[data-v-7ae21771],.board-comments-panel__composer[data-v-7ae21771],.board-comments-panel__card[data-v-7ae21771],.board-comments-panel__list-item[data-v-7ae21771]{display:grid;gap:.75rem;min-width:0}.board-comments-panel__header[data-v-7ae21771]{grid-template-columns:minmax(0,1fr) auto;align-items:start}.board-comments-panel__eyebrow[data-v-7ae21771],.board-comments-panel__card-eyebrow[data-v-7ae21771],.board-comments-panel__context-label[data-v-7ae21771],.board-comments-panel__list-scope[data-v-7ae21771]{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:var(--font-sm);font-weight:700;color:var(--color-text-soft)}.board-comments-panel__title[data-v-7ae21771],.board-comments-panel__card h3[data-v-7ae21771]{margin:0;color:var(--color-text)}.board-comments-panel__lede[data-v-7ae21771],.board-comments-panel__empty[data-v-7ae21771],.board-comments-panel__error[data-v-7ae21771],.board-comments-panel__list-text[data-v-7ae21771]{margin:0;color:var(--color-text-muted);line-height:1.45}.board-comments-panel__actions[data-v-7ae21771],.board-comments-panel__composer-actions[data-v-7ae21771],.board-comments-panel__card-header[data-v-7ae21771]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.board-comments-panel__context[data-v-7ae21771]{grid-template-columns:repeat(4,minmax(0,1fr))}.board-comments-panel__context-item[data-v-7ae21771]{display:grid;gap:.2rem;padding:.75rem .85rem;border-radius:1rem;background:var(--color-panel-wash-strong);border:1px solid var(--color-border)}.board-comments-panel__context-item strong[data-v-7ae21771]{color:var(--color-text)}.board-comments-panel__composer[data-v-7ae21771]{padding:.95rem;border-radius:1rem;background:var(--color-neutral-soft);border:1px solid var(--color-neutral-border)}.board-comments-panel__field[data-v-7ae21771]{display:grid;gap:.5rem}.board-comments-panel__field span[data-v-7ae21771]{font-size:.92rem;font-weight:600;color:var(--color-text)}.board-comments-panel__field textarea[data-v-7ae21771]{width:100%;min-height:5.5rem;resize:vertical;padding:.8rem .9rem;border-radius:.9rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit}.board-comments-panel__grid[data-v-7ae21771]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.board-comments-panel__card[data-v-7ae21771]{padding:.95rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-panel-wash-strong)}.board-comments-panel__pill[data-v-7ae21771]{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;min-height:2rem;padding:0 .7rem;border-radius:999px;background:var(--color-text);color:var(--color-surface);font-weight:700;font-size:var(--font-sm)}.board-comments-panel__list[data-v-7ae21771]{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.board-comments-panel__list-item[data-v-7ae21771]{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:.75rem .8rem;border-radius:.9rem;border:1px solid var(--color-border);background:var(--color-surface-muted)}.board-comments-panel__list-item.is-current-position[data-v-7ae21771]{border-color:var(--color-accent-border);background:linear-gradient(180deg,var(--color-accent-soft),var(--color-surface))}.board-comments-panel__list-text[data-v-7ae21771]{color:var(--color-text)}.board-comments-panel__inline-button[data-v-7ae21771],.board-comments-panel__button[data-v-7ae21771]{min-height:42px;padding:0 .9rem;border-radius:.85rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600}.board-comments-panel__button--primary[data-v-7ae21771]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.board-comments-panel__button--ghost[data-v-7ae21771]{background:transparent}.board-comments-panel__button[data-v-7ae21771]:disabled,.board-comments-panel__inline-button[data-v-7ae21771]:disabled{opacity:.55}.board-comments-panel__error[data-v-7ae21771]{color:var(--color-danger)}@media(max-width:960px){.board-comments-panel__header[data-v-7ae21771],.board-comments-panel__grid[data-v-7ae21771],.board-comments-panel__context[data-v-7ae21771]{grid-template-columns:1fr}.board-comments-panel__actions[data-v-7ae21771],.board-comments-panel__composer-actions[data-v-7ae21771],.board-comments-panel__card-header[data-v-7ae21771]{justify-content:flex-start}}@container (max-width: 460px){.board-comments-panel__header[data-v-7ae21771],.board-comments-panel__grid[data-v-7ae21771],.board-comments-panel__context[data-v-7ae21771],.board-comments-panel__list-item[data-v-7ae21771]{grid-template-columns:1fr}.board-comments-panel__actions[data-v-7ae21771],.board-comments-panel__composer-actions[data-v-7ae21771],.board-comments-panel__card-header[data-v-7ae21771]{justify-content:flex-start}.board-comments-panel__actions[data-v-7ae21771],.board-comments-panel__composer-actions[data-v-7ae21771]{align-items:stretch}.board-comments-panel__button[data-v-7ae21771]{width:100%}}.cloud-panel[data-v-b3cc577a]{display:grid;gap:1rem;padding:1rem;position:relative;overflow:hidden;border:1px solid var(--color-accent-border);border-radius:1rem;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 14%,transparent),transparent 42%),linear-gradient(135deg,var(--color-surface),var(--color-surface-muted)),var(--color-surface);box-shadow:var(--shadow-soft)}.cloud-panel[data-v-b3cc577a]:before{content:"";position:absolute;inset:auto -6rem -7rem auto;width:14rem;height:14rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 12%,transparent);filter:blur(18px);pointer-events:none}.cloud-panel__header[data-v-b3cc577a],.cloud-panel__section-header[data-v-b3cc577a],.cloud-panel__actions[data-v-b3cc577a]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cloud-panel__header-copy[data-v-b3cc577a],.cloud-panel__section-intro[data-v-b3cc577a],.cloud-panel__card-head[data-v-b3cc577a]{display:flex;align-items:flex-start;gap:.85rem}.cloud-panel__eyebrow[data-v-b3cc577a]{margin:0;font-size:var(--font-sm);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.cloud-panel__title[data-v-b3cc577a],.cloud-panel__section-header h3[data-v-b3cc577a],.cloud-panel__current-doc[data-v-b3cc577a],.cloud-panel__card-head h3[data-v-b3cc577a],.cloud-panel__metric-line strong[data-v-b3cc577a]{margin:0}.cloud-panel__subtitle[data-v-b3cc577a],.cloud-panel__section-intro p[data-v-b3cc577a],.cloud-panel__card-detail[data-v-b3cc577a],.cloud-panel__detail[data-v-b3cc577a],.cloud-panel__empty[data-v-b3cc577a],.cloud-panel__notice[data-v-b3cc577a],.cloud-panel__error[data-v-b3cc577a],.cloud-panel__list-copy span[data-v-b3cc577a]{margin:0;color:var(--color-text-muted)}.cloud-panel__icon-badge[data-v-b3cc577a]{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex:0 0 auto;border-radius:.85rem;border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--color-accent-border));background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));color:var(--color-accent)}.cloud-panel__icon-badge svg[data-v-b3cc577a]{width:1.15rem;height:1.15rem}.cloud-panel__icon-badge--hero[data-v-b3cc577a]{width:3rem;height:3rem;border-radius:1rem}.cloud-panel__surface[data-v-b3cc577a]{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--color-accent-border);border-radius:.9rem;background:color-mix(in srgb,var(--color-surface-muted) 92%,white)}.cloud-panel__surface--hero[data-v-b3cc577a]{gap:1rem}.cloud-panel__boundary-callout[data-v-b3cc577a]{display:grid;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--color-accent-border);border-radius:.85rem;background:color-mix(in srgb,var(--color-surface) 88%,white)}.cloud-panel__boundary-callout--warn[data-v-b3cc577a]{border-color:color-mix(in srgb,#b45309 28%,var(--color-accent-border));background:#fff7edf5}.cloud-panel__callout-eyebrow[data-v-b3cc577a]{margin:0 0 .25rem;font-size:var(--font-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.cloud-panel__hero-grid[data-v-b3cc577a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.cloud-panel__hero-card[data-v-b3cc577a]{display:grid;gap:.7rem;padding:1rem;border:1px solid color-mix(in srgb,var(--color-accent-border) 88%,white);border-radius:.95rem;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 84%,white),var(--color-surface));box-shadow:0 10px 24px color-mix(in srgb,var(--color-accent) 6%,transparent)}.cloud-panel__hero-card--storage[data-v-b3cc577a]{gap:.9rem}.cloud-panel__card-label[data-v-b3cc577a]{margin:0 0 .15rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.cloud-panel__metric-line[data-v-b3cc577a]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cloud-panel__meter-block[data-v-b3cc577a]{display:grid;gap:.45rem}.cloud-panel__progress[data-v-b3cc577a]{width:100%;height:.7rem;accent-color:var(--color-accent)}.cloud-panel__meter[data-v-b3cc577a]{position:relative;width:100%;height:.7rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface-muted))}.cloud-panel__meter--muted[data-v-b3cc577a]{background:color-mix(in srgb,var(--color-text-muted) 15%,var(--color-surface-muted))}.cloud-panel__meter-fill[data-v-b3cc577a]{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),color-mix(in srgb,var(--color-accent) 55%,white))}.cloud-panel__meter-fill--muted[data-v-b3cc577a]{background:linear-gradient(90deg,color-mix(in srgb,var(--color-text) 58%,white),color-mix(in srgb,var(--color-accent) 42%,white))}.cloud-panel__pill[data-v-b3cc577a]{display:inline-flex;align-items:center;min-height:2rem;padding:0 .7rem;border:1px solid var(--color-accent-border);border-radius:999px;background:var(--color-surface);font-size:.8rem;font-weight:700}.cloud-panel__pill--ready[data-v-b3cc577a]{border-color:color-mix(in srgb,var(--color-accent) 30%,var(--color-accent-border));color:var(--color-accent)}.cloud-panel__pill--warn[data-v-b3cc577a]{border-color:color-mix(in srgb,#d08a2b 44%,var(--color-accent-border));background:color-mix(in srgb,#d08a2b 12%,var(--color-surface));color:#8a4b05}.cloud-panel__pill--muted[data-v-b3cc577a]{color:var(--color-text-muted)}.cloud-panel__field[data-v-b3cc577a]{display:grid;gap:.5rem}.cloud-panel__token-input[data-v-b3cc577a]{width:100%;padding:.8rem;border:1px solid var(--color-accent-border);border-radius:.8rem;background:var(--color-surface);color:var(--color-text)}.cloud-panel__button[data-v-b3cc577a]{min-height:42px;padding:0 .9rem;border:1px solid var(--color-accent-border);border-radius:.75rem;background:var(--color-surface);color:var(--color-text);font-weight:600}.cloud-panel__button--primary[data-v-b3cc577a]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.cloud-panel__button--ghost[data-v-b3cc577a]{background:transparent}.cloud-panel__button[data-v-b3cc577a]:disabled{opacity:.6;cursor:default}.cloud-panel__list[data-v-b3cc577a]{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.cloud-panel__list-item[data-v-b3cc577a]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem;border:1px solid var(--color-accent-border);border-radius:.8rem;background:var(--color-surface)}.cloud-panel__list-copy[data-v-b3cc577a]{display:grid;gap:.2rem}@media(max-width:700px){.cloud-panel__header[data-v-b3cc577a]{align-items:flex-start}.cloud-panel__metric-line[data-v-b3cc577a],.cloud-panel__list-item[data-v-b3cc577a]{flex-direction:column;align-items:flex-start}}.mobile-tab-bar[data-v-3cc615a0]{display:grid;gap:.7rem;padding:.8rem;border:1px solid var(--color-neutral-border);border-radius:1rem;background:linear-gradient(135deg,var(--color-surface),var(--color-surface-muted)),radial-gradient(circle at top left,var(--color-panel-glow),transparent 36%);box-shadow:var(--shadow-floating);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.mobile-tab-bar__status[data-v-3cc615a0]{display:grid;gap:.12rem;align-content:start}.mobile-tab-bar__eyebrow[data-v-3cc615a0]{font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.mobile-tab-bar__title[data-v-3cc615a0]{font-size:.98rem;line-height:1.2;color:var(--color-text)}.mobile-tab-bar__subtitle[data-v-3cc615a0]{font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.35}.mobile-tab-bar__tabs[data-v-3cc615a0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.mobile-tab-bar__tab[data-v-3cc615a0]{min-height:56px;border:1px solid var(--color-neutral-border-strong);border-radius:.95rem;background:var(--color-panel-wash-strong);color:var(--color-text);cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:center;padding:.65rem .75rem;text-align:left;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.mobile-tab-bar__tab[data-v-3cc615a0]:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.mobile-tab-bar__tab[data-v-3cc615a0]:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.mobile-tab-bar__tab--active[data-v-3cc615a0]{border-color:var(--color-accent);background:linear-gradient(135deg,var(--color-surface),var(--color-surface-muted));color:var(--color-text);box-shadow:0 16px 28px var(--color-accent-border)}.mobile-tab-bar__icon[data-v-3cc615a0]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--color-accent-soft);font-size:1rem}.mobile-tab-bar__tab--active .mobile-tab-bar__icon[data-v-3cc615a0]{background:var(--color-accent-soft)}.mobile-tab-bar__copy[data-v-3cc615a0]{display:grid;min-width:0}.mobile-tab-bar__label[data-v-3cc615a0]{font-weight:800;line-height:1.15}.mobile-tab-bar__hint[data-v-3cc615a0]{font-size:var(--font-sm);line-height:1.25;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis}.mobile-tab-bar__tab--active .mobile-tab-bar__hint[data-v-3cc615a0]{color:var(--color-text-muted)}.mobile-tab-bar--compact .mobile-tab-bar__status[data-v-3cc615a0]{display:none}.mobile-tab-bar--compact[data-v-3cc615a0]{gap:.45rem;padding:.5rem .55rem;border-radius:.9rem;box-shadow:var(--shadow-floating)}.mobile-tab-bar--compact .mobile-tab-bar__tabs[data-v-3cc615a0]{gap:.35rem}.mobile-tab-bar--compact .mobile-tab-bar__tab[data-v-3cc615a0]{min-height:var(--touch-target);gap:.45rem;padding:.45rem .55rem;border-radius:.8rem}.mobile-tab-bar--compact .mobile-tab-bar__icon[data-v-3cc615a0]{width:1.6rem;height:1.6rem;font-size:var(--font-xs);font-weight:800}.mobile-tab-bar--compact .mobile-tab-bar__label[data-v-3cc615a0]{font-size:var(--font-sm)}.mobile-tab-bar--compact .mobile-tab-bar__hint[data-v-3cc615a0]{display:none}@media(max-width:640px){.mobile-tab-bar[data-v-3cc615a0]{padding:.7rem;border-radius:1rem}.mobile-tab-bar__tabs[data-v-3cc615a0]{gap:.4rem}.mobile-tab-bar__tab[data-v-3cc615a0]{min-height:52px;padding:.6rem .68rem}.mobile-tab-bar__hint[data-v-3cc615a0]{display:none}}@media(min-width:1025px){.mobile-tab-bar[data-v-3cc615a0]{position:relative}}.practice-color-modal[data-v-27756e9f]{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.practice-color-modal__card[data-v-27756e9f]{width:min(100%,42rem);display:grid;gap:var(--space-3);padding:var(--space-5);border-radius:1.35rem;border:1px solid var(--color-accent-border);background:radial-gradient(circle at top right,var(--color-panel-glow),transparent 38%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);box-shadow:var(--shadow-floating);outline:none}.practice-color-modal__header[data-v-27756e9f]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.practice-color-modal__copy[data-v-27756e9f]{display:grid;gap:.2rem}.practice-color-modal__eyebrow[data-v-27756e9f]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.practice-color-modal__title[data-v-27756e9f]{margin:0;font-family:"Bree Serif",Georgia,serif;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.15}.practice-color-modal__close[data-v-27756e9f]{min-width:2.75rem;min-height:2.75rem;border:1px solid var(--color-neutral-border);border-radius:999px;background:var(--color-surface);color:inherit;font-size:1.25rem;cursor:pointer}.practice-color-modal__description[data-v-27756e9f]{margin:0;color:var(--color-text-muted);line-height:1.55}.practice-color-modal__choices[data-v-27756e9f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.practice-color-modal__choice[data-v-27756e9f]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:7.6rem;padding:var(--space-4);border:1px solid var(--color-neutral-border);border-radius:1rem;background:var(--color-surface);color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.practice-color-modal__choice[data-v-27756e9f]:hover,.practice-color-modal__choice[data-v-27756e9f]:focus-visible{transform:translateY(-1px);border-color:var(--color-accent-border);box-shadow:var(--shadow-soft);outline:none}.practice-color-modal__choice--selected[data-v-27756e9f]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-ring) inset}.practice-color-modal__choice--white[data-v-27756e9f]{background:linear-gradient(180deg,var(--color-piece-light),var(--color-piece-light-muted)),var(--color-surface)}.practice-color-modal__choice--black[data-v-27756e9f]{background:linear-gradient(180deg,var(--color-piece-dark),var(--color-piece-dark-muted)),var(--color-piece-dark);color:var(--color-text-inverse)}.practice-color-modal__choice-chip[data-v-27756e9f]{display:grid;place-items:center;width:3rem;height:3rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:1.55rem;flex:0 0 auto}.practice-color-modal__choice--black .practice-color-modal__choice-chip[data-v-27756e9f]{background:#ffffff1f;color:var(--color-text-inverse)}.practice-color-modal__choice-body[data-v-27756e9f]{display:grid;gap:.25rem}.practice-color-modal__choice-title[data-v-27756e9f]{font-size:1rem;font-weight:800}.practice-color-modal__choice-hint[data-v-27756e9f]{color:inherit;opacity:.78;line-height:1.45}.practice-color-modal__footer[data-v-27756e9f]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.practice-color-modal__footer-copy[data-v-27756e9f]{margin:0;color:var(--color-text-muted);line-height:1.45}.practice-color-modal__ghost[data-v-27756e9f]{min-height:44px;padding:0 .95rem;border:1px solid var(--color-neutral-border);border-radius:999px;background:transparent;color:inherit;font-weight:700;cursor:pointer}@media(max-width:720px){.practice-color-modal__choices[data-v-27756e9f]{grid-template-columns:1fr}.practice-color-modal__footer[data-v-27756e9f]{flex-direction:column;align-items:flex-start}}.promotion-modal[data-v-8a21c97b]{position:fixed;inset:0;z-index:51;display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.promotion-modal__card[data-v-8a21c97b]{width:min(100%,34rem);display:grid;gap:var(--space-3);padding:var(--space-5);border-radius:1.35rem;border:1px solid var(--color-accent-border);background:radial-gradient(circle at top left,var(--color-panel-glow),transparent 34%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);box-shadow:var(--shadow-floating);outline:none}.promotion-modal__header[data-v-8a21c97b]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.promotion-modal__copy[data-v-8a21c97b]{display:grid;gap:.2rem}.promotion-modal__eyebrow[data-v-8a21c97b]{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.promotion-modal__title[data-v-8a21c97b]{margin:0;font-family:"Bree Serif",Georgia,serif;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.15}.promotion-modal__context[data-v-8a21c97b]{margin:0;color:var(--color-text-muted);font-size:.9rem}.promotion-modal__close[data-v-8a21c97b]{min-width:2.75rem;min-height:2.75rem;border:1px solid var(--color-neutral-border);border-radius:999px;background:var(--color-surface);color:inherit;font-size:1.25rem;cursor:pointer}.promotion-modal__description[data-v-8a21c97b]{margin:0;color:var(--color-text-muted);line-height:1.55}.promotion-modal__grid[data-v-8a21c97b]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.promotion-modal__option[data-v-8a21c97b]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:6.8rem;padding:var(--space-4);border:1px solid var(--color-neutral-border);border-radius:1rem;background:var(--color-surface);color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.promotion-modal__option[data-v-8a21c97b]:hover,.promotion-modal__option[data-v-8a21c97b]:focus-visible{transform:translateY(-1px);border-color:var(--color-accent-border);box-shadow:var(--shadow-soft);outline:none}.promotion-modal__option--selected[data-v-8a21c97b]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-ring) inset}.promotion-modal__glyph[data-v-8a21c97b]{display:grid;place-items:center;width:3rem;height:3rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:1.65rem;flex:0 0 auto}.promotion-modal__body[data-v-8a21c97b]{display:grid;gap:.25rem}.promotion-modal__name[data-v-8a21c97b]{font-size:1rem;font-weight:800}.promotion-modal__hint[data-v-8a21c97b]{color:var(--color-text-muted);line-height:1.45}.promotion-modal__footer[data-v-8a21c97b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.promotion-modal__footer-copy[data-v-8a21c97b]{margin:0;color:var(--color-text-muted);line-height:1.45}.promotion-modal__ghost[data-v-8a21c97b]{min-height:44px;padding:0 .95rem;border:1px solid var(--color-neutral-border);border-radius:999px;background:transparent;color:inherit;font-weight:700;cursor:pointer}@media(max-width:640px){.promotion-modal__grid[data-v-8a21c97b]{grid-template-columns:1fr}.promotion-modal__footer[data-v-8a21c97b]{flex-direction:column;align-items:flex-start}}.notes-modal[data-v-38c97c0c]{position:fixed;inset:0;z-index:700;display:grid;place-items:center;padding:1rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.notes-modal__card[data-v-38c97c0c]{position:relative;width:min(62rem,calc(100vw - 1.5rem));max-height:min(90vh,60rem);overflow:auto;border-radius:1.5rem;border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);color:var(--color-text);box-shadow:var(--shadow-floating)}.notes-modal__card--comments[data-v-38c97c0c]{padding:1.2rem}.notes-modal__close[data-v-38c97c0c]{position:absolute;top:.9rem;right:.9rem;width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:1.35rem}.notes-modal__header[data-v-38c97c0c],.notes-modal__composer[data-v-38c97c0c],.notes-modal__body[data-v-38c97c0c],.notes-modal__footer[data-v-38c97c0c],.notes-modal__item[data-v-38c97c0c]{display:grid;gap:.9rem}.notes-modal__header[data-v-38c97c0c]{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding-right:3rem}.notes-modal__eyebrow[data-v-38c97c0c],.notes-modal__item-eyebrow[data-v-38c97c0c]{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:var(--font-sm);font-weight:700;color:var(--color-text-soft)}.notes-modal__title[data-v-38c97c0c],.notes-modal__section-head h3[data-v-38c97c0c],.notes-modal__item-title[data-v-38c97c0c]{margin:0;color:var(--color-text)}.notes-modal__description[data-v-38c97c0c],.notes-modal__footer-copy[data-v-38c97c0c],.notes-modal__empty[data-v-38c97c0c],.notes-modal__item-meta[data-v-38c97c0c]{margin:0;color:var(--color-text-muted);line-height:1.5}.notes-modal__stats[data-v-38c97c0c]{display:grid;gap:.5rem;justify-items:end}.notes-modal__stat[data-v-38c97c0c]{display:inline-flex;gap:.35rem;align-items:baseline;padding:.4rem .7rem;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border)}.notes-modal__stat strong[data-v-38c97c0c]{color:var(--color-text)}.notes-modal__composer[data-v-38c97c0c],.notes-modal__item[data-v-38c97c0c],.notes-modal__section-head[data-v-38c97c0c]{padding:.95rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-surface)}.notes-modal__field[data-v-38c97c0c]{display:grid;gap:.5rem}.notes-modal__field span[data-v-38c97c0c]{font-weight:600;color:var(--color-text)}.notes-modal__field textarea[data-v-38c97c0c]{width:100%;resize:vertical;min-height:5.5rem;padding:.85rem .95rem;border-radius:.9rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit}.notes-modal__actions[data-v-38c97c0c]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.notes-modal__actions--item[data-v-38c97c0c]{justify-content:flex-start}.notes-modal__button[data-v-38c97c0c]{min-height:42px;padding:0 .95rem;border-radius:.85rem;border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-weight:600}.notes-modal__button--primary[data-v-38c97c0c]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.notes-modal__button--danger[data-v-38c97c0c]{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger-strong)}.notes-modal__button--ghost[data-v-38c97c0c]{background:transparent}.notes-modal__button[data-v-38c97c0c]:disabled{opacity:.55}.notes-modal__body[data-v-38c97c0c]{margin-top:.95rem}.notes-modal__section-head[data-v-38c97c0c]{display:flex;align-items:center;justify-content:space-between}.notes-modal__item[data-v-38c97c0c]{margin-top:.8rem}.notes-modal__item--current[data-v-38c97c0c]{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.notes-modal__item--global[data-v-38c97c0c]{border-color:var(--color-success-border)}.notes-modal__item--docless[data-v-38c97c0c]{border-color:var(--color-warning-border)}.notes-modal__item-head[data-v-38c97c0c]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:start}.notes-modal__badge[data-v-38c97c0c]{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-size:var(--font-sm);font-weight:700;background:#ffffff14;color:var(--color-dark-text)}.notes-modal__badge--current[data-v-38c97c0c]{background:var(--color-accent-ring);color:var(--color-text-inverse)}.notes-modal__item-meta[data-v-38c97c0c]{display:flex;flex-wrap:wrap;gap:.75rem;font-size:var(--font-sm)}.notes-modal__error[data-v-38c97c0c]{margin:.95rem 1.2rem 1.2rem;color:var(--color-danger)}@media(max-width:720px){.notes-modal__card[data-v-38c97c0c]{width:min(100vw - 1rem,62rem)}.notes-modal__header[data-v-38c97c0c]{grid-template-columns:1fr}.notes-modal__stats[data-v-38c97c0c]{justify-items:start}}.notes-modal[data-v-e00d78c8]{position:fixed;inset:0;z-index:700;display:grid;place-items:center;padding:1rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.notes-modal__card[data-v-e00d78c8]{position:relative;width:min(62rem,calc(100vw - 1.5rem));max-height:min(90vh,60rem);overflow:auto;border-radius:1.5rem;border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);color:var(--color-text);box-shadow:var(--shadow-floating)}.notes-modal__card--study[data-v-e00d78c8]{padding:1.2rem}.notes-modal__close[data-v-e00d78c8]{position:absolute;top:.9rem;right:.9rem;width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:1.35rem}.notes-modal__header[data-v-e00d78c8],.notes-modal__composer[data-v-e00d78c8],.notes-modal__body[data-v-e00d78c8],.notes-modal__footer[data-v-e00d78c8],.notes-modal__item[data-v-e00d78c8],.notes-modal__export[data-v-e00d78c8]{display:grid;gap:.9rem}.notes-modal__header[data-v-e00d78c8]{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding-right:3rem}.notes-modal__eyebrow[data-v-e00d78c8],.notes-modal__item-eyebrow[data-v-e00d78c8]{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:var(--font-sm);font-weight:700;color:var(--color-text-soft)}.notes-modal__title[data-v-e00d78c8],.notes-modal__section-head h3[data-v-e00d78c8],.notes-modal__item-title[data-v-e00d78c8]{margin:0;color:var(--color-text)}.notes-modal__description[data-v-e00d78c8],.notes-modal__footer-copy[data-v-e00d78c8],.notes-modal__empty[data-v-e00d78c8],.notes-modal__item-meta[data-v-e00d78c8]{margin:0;color:var(--color-text-muted);line-height:1.5}.notes-modal__stats[data-v-e00d78c8]{display:grid;gap:.5rem;justify-items:end}.notes-modal__stat[data-v-e00d78c8]{display:inline-flex;gap:.35rem;align-items:baseline;padding:.4rem .7rem;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border)}.notes-modal__stat strong[data-v-e00d78c8]{color:var(--color-text-inverse)}.notes-modal__composer[data-v-e00d78c8],.notes-modal__item[data-v-e00d78c8],.notes-modal__section-head[data-v-e00d78c8],.notes-modal__export[data-v-e00d78c8]{padding:.95rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-surface)}.notes-modal__composer-grid[data-v-e00d78c8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.notes-modal__field[data-v-e00d78c8]{display:grid;gap:.5rem}.notes-modal__field span[data-v-e00d78c8]{font-weight:600;color:var(--color-text)}.notes-modal__field input[data-v-e00d78c8],.notes-modal__field textarea[data-v-e00d78c8],.notes-modal__export-output[data-v-e00d78c8]{width:100%;resize:vertical;padding:.85rem .95rem;border-radius:.9rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit}.notes-modal__field input[data-v-e00d78c8]{min-height:3rem;resize:none}.notes-modal__field textarea[data-v-e00d78c8]{min-height:5.5rem}.notes-modal__export-output[data-v-e00d78c8]{min-height:14rem}.notes-modal__actions[data-v-e00d78c8]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.notes-modal__actions--item[data-v-e00d78c8]{justify-content:flex-start}.notes-modal__button[data-v-e00d78c8]{min-height:42px;padding:0 .95rem;border-radius:.85rem;border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-weight:600}.notes-modal__button--primary[data-v-e00d78c8]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.notes-modal__button--danger[data-v-e00d78c8]{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger-strong)}.notes-modal__button--ghost[data-v-e00d78c8]{background:transparent}.notes-modal__button[data-v-e00d78c8]:disabled{opacity:.55}.notes-modal__body[data-v-e00d78c8]{margin-top:.95rem}.notes-modal__section-head[data-v-e00d78c8]{display:flex;align-items:center;justify-content:space-between}.notes-modal__item[data-v-e00d78c8]{margin-top:.8rem}.notes-modal__item--study[data-v-e00d78c8]{border-color:var(--color-accent-border)}.notes-modal__item-head[data-v-e00d78c8]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:start}.notes-modal__badge[data-v-e00d78c8]{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-size:var(--font-sm);font-weight:700;background:var(--color-surface-muted);color:var(--color-text)}.notes-modal__badge--study[data-v-e00d78c8]{background:var(--color-accent-ring);color:var(--color-text-inverse)}.notes-modal__chips[data-v-e00d78c8]{display:flex;flex-wrap:wrap;gap:.5rem}.notes-modal__chip[data-v-e00d78c8]{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text)}.notes-modal__chip-delete[data-v-e00d78c8]{width:1.35rem;height:1.35rem;border-radius:999px;border:0;background:var(--color-surface);color:var(--color-text);line-height:1}.notes-modal__error[data-v-e00d78c8]{margin:.95rem 1.2rem 1.2rem;color:var(--color-danger)}@media(max-width:720px){.notes-modal__card[data-v-e00d78c8]{width:min(100vw - 1rem,62rem)}.notes-modal__header[data-v-e00d78c8],.notes-modal__composer-grid[data-v-e00d78c8]{grid-template-columns:1fr}.notes-modal__stats[data-v-e00d78c8]{justify-items:start}}.contact-modal[data-v-40bea40a]{color-scheme:light;position:fixed;inset:0;z-index:625;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at top left,var(--color-accent-soft),transparent 30%),radial-gradient(circle at bottom right,var(--color-info-soft),transparent 26%),var(--color-panel-wash);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.contact-modal__card[data-v-40bea40a]{position:relative;width:min(38rem,calc(100vw - 1.5rem));max-height:calc(100vh - 2rem);border-radius:1.5rem;border:1px solid var(--color-border);background:radial-gradient(circle at top right,var(--color-panel-glow),transparent 30%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);color:var(--color-text);box-shadow:var(--shadow-floating);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;outline:none}.contact-modal__close[data-v-40bea40a]{position:absolute;top:.9rem;right:.9rem;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-panel-wash-strong);color:inherit;font-size:1.2rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.contact-modal__close[data-v-40bea40a]:hover,.contact-modal__close[data-v-40bea40a]:focus-visible{background:var(--color-surface);border-color:var(--color-border-strong);outline:none;transform:translateY(-1px)}.contact-modal__header[data-v-40bea40a],.contact-modal__body[data-v-40bea40a],.contact-modal__footer[data-v-40bea40a]{padding:1.5rem}.contact-modal__header[data-v-40bea40a]{padding-bottom:1rem}.contact-modal__eyebrow[data-v-40bea40a]{margin:0 0 .45rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-soft)}.contact-modal__title[data-v-40bea40a]{margin:0;font-size:clamp(1.6rem,3vw,2rem);line-height:1.1}.contact-modal__description[data-v-40bea40a],.contact-modal__copy[data-v-40bea40a],.contact-modal__notice[data-v-40bea40a]{margin:0;color:var(--color-text-muted);line-height:1.6}.contact-modal__body[data-v-40bea40a]{display:grid;gap:1rem;align-content:start}.contact-modal__notice[data-v-40bea40a]{padding:.85rem 1rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-panel-wash-strong)}.contact-modal__link-block[data-v-40bea40a]{display:grid;gap:.45rem;padding:1rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-surface)}.contact-modal__link-label[data-v-40bea40a]{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft)}.contact-modal__url[data-v-40bea40a]{display:block;overflow-wrap:anywhere;font-size:.95rem;color:var(--color-text)}.contact-modal__footer[data-v-40bea40a]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;border-top:1px solid var(--color-border);background:var(--color-panel-wash)}.contact-modal__primary[data-v-40bea40a],.contact-modal__secondary[data-v-40bea40a]{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.75rem 1.15rem;border-radius:999px;border:1px solid var(--color-border);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}.contact-modal__primary[data-v-40bea40a]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.contact-modal__secondary[data-v-40bea40a]{background:transparent;color:var(--color-text)}.contact-modal__primary[data-v-40bea40a]:hover,.contact-modal__primary[data-v-40bea40a]:focus-visible,.contact-modal__secondary[data-v-40bea40a]:hover,.contact-modal__secondary[data-v-40bea40a]:focus-visible{transform:translateY(-1px);outline:none}.contact-modal__secondary[data-v-40bea40a]:hover,.contact-modal__secondary[data-v-40bea40a]:focus-visible{border-color:var(--color-border-strong);background:var(--color-surface)}.contact-modal-enter-active[data-v-40bea40a],.contact-modal-leave-active[data-v-40bea40a]{transition:opacity .15s ease}.contact-modal-enter-from[data-v-40bea40a],.contact-modal-leave-to[data-v-40bea40a]{opacity:0}@media(max-width:640px){.contact-modal[data-v-40bea40a]{padding:.75rem}.contact-modal__card[data-v-40bea40a]{width:min(100vw - 1rem,38rem)}.contact-modal__header[data-v-40bea40a],.contact-modal__body[data-v-40bea40a],.contact-modal__footer[data-v-40bea40a]{padding:1.1rem}.contact-modal__footer[data-v-40bea40a]{justify-content:stretch}.contact-modal__primary[data-v-40bea40a],.contact-modal__secondary[data-v-40bea40a]{width:100%}}.onboarding-modal[data-v-ebef0a7e]{color-scheme:light;position:fixed;inset:0;z-index:620;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at top left,var(--color-accent-soft),transparent 30%),radial-gradient(circle at bottom right,var(--color-info-soft),transparent 26%),var(--color-panel-wash);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.onboarding-modal__card[data-v-ebef0a7e]{position:relative;width:min(44rem,calc(100vw - 1.5rem));max-height:calc(100vh - 2rem);border-radius:1.5rem;border:1px solid var(--color-border);background:radial-gradient(circle at top right,var(--color-panel-glow),transparent 30%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);color:var(--color-text);box-shadow:var(--shadow-floating);overflow-y:auto}.onboarding-modal__close[data-v-ebef0a7e]{position:absolute;top:.9rem;right:.9rem;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-panel-wash-strong);color:inherit;font-size:1.2rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.onboarding-modal__close[data-v-ebef0a7e]:hover,.onboarding-modal__close[data-v-ebef0a7e]:focus-visible{background:var(--color-surface);border-color:var(--color-border-strong);outline:none;transform:translateY(-1px)}.onboarding-modal__header[data-v-ebef0a7e]{padding:1.5rem 1.5rem 1rem}.onboarding-modal__eyebrow[data-v-ebef0a7e]{display:inline-flex;margin:0 0 .6rem;padding:.28rem .65rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--font-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.onboarding-modal__title[data-v-ebef0a7e]{margin:0;font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.08;letter-spacing:-.03em}.onboarding-modal__description[data-v-ebef0a7e]{margin:.85rem 0 0;max-width:40rem;color:var(--color-text-muted);line-height:1.6}.onboarding-modal__highlights[data-v-ebef0a7e]{display:grid;gap:.85rem;padding:0 1.5rem 1.25rem}.onboarding-modal__highlight[data-v-ebef0a7e]{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;padding:.95rem 1rem;border:1px solid var(--color-border);border-radius:1rem;background:#ffffffb8}.onboarding-modal__highlight-index[data-v-ebef0a7e]{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--font-sm);font-weight:800;letter-spacing:.04em}.onboarding-modal__highlight-copy[data-v-ebef0a7e]{min-width:0}.onboarding-modal__highlight-title[data-v-ebef0a7e]{margin:0;font-size:1rem;line-height:1.35}.onboarding-modal__highlight-description[data-v-ebef0a7e]{margin:.35rem 0 0;color:var(--color-text-muted);line-height:1.55}.onboarding-modal__footer[data-v-ebef0a7e]{display:grid;gap:1rem;padding:0 1.5rem 1.5rem}.onboarding-modal__footer-text[data-v-ebef0a7e]{margin:0;color:var(--color-text-soft);line-height:1.5}.onboarding-modal__checkbox[data-v-ebef0a7e]{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;color:var(--color-text)}.onboarding-modal__checkbox input[data-v-ebef0a7e]{width:1rem;height:1rem}.onboarding-modal__actions[data-v-ebef0a7e]{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.onboarding-modal__secondary[data-v-ebef0a7e],.onboarding-modal__primary[data-v-ebef0a7e]{min-height:2.75rem;border:1px solid transparent;border-radius:999px;padding:.7rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.onboarding-modal__secondary[data-v-ebef0a7e]{background:var(--color-panel-wash-strong);border-color:var(--color-border);color:var(--color-text)}.onboarding-modal__primary[data-v-ebef0a7e]{background:var(--color-accent);box-shadow:0 14px 26px var(--color-accent-ring);color:var(--color-text-inverse)}.onboarding-modal__secondary[data-v-ebef0a7e]:hover,.onboarding-modal__secondary[data-v-ebef0a7e]:focus-visible,.onboarding-modal__primary[data-v-ebef0a7e]:hover,.onboarding-modal__primary[data-v-ebef0a7e]:focus-visible{outline:none;transform:translateY(-1px)}.onboarding-modal__secondary[data-v-ebef0a7e]:hover,.onboarding-modal__secondary[data-v-ebef0a7e]:focus-visible{background:var(--color-surface);border-color:var(--color-border-strong)}.onboarding-modal__primary[data-v-ebef0a7e]:hover,.onboarding-modal__primary[data-v-ebef0a7e]:focus-visible{background:var(--color-accent-strong)}.onboarding-modal__secondary[data-v-ebef0a7e]:disabled,.onboarding-modal__primary[data-v-ebef0a7e]:disabled{cursor:progress;opacity:.7;transform:none}.onboarding-modal-enter-active[data-v-ebef0a7e],.onboarding-modal-leave-active[data-v-ebef0a7e]{transition:opacity .18s ease}.onboarding-modal-enter-from[data-v-ebef0a7e],.onboarding-modal-leave-to[data-v-ebef0a7e]{opacity:0}@media(max-width:640px){.onboarding-modal[data-v-ebef0a7e]{align-items:start;padding:.5rem .5rem .75rem;background:radial-gradient(circle at top left,var(--color-accent-ring),transparent 28%),radial-gradient(circle at bottom right,var(--color-info-soft),transparent 24%),var(--color-panel-wash)}.onboarding-modal__card[data-v-ebef0a7e]{width:min(100vw - .75rem,44rem);max-height:calc(100dvh - 1rem);border-radius:1.1rem;overflow-y:auto}.onboarding-modal__header[data-v-ebef0a7e]{padding:1rem 1rem .75rem}.onboarding-modal__title[data-v-ebef0a7e]{font-size:clamp(1.45rem,6vw,2rem)}.onboarding-modal__description[data-v-ebef0a7e]{margin-top:.7rem;font-size:var(--font-sm);line-height:1.5}.onboarding-modal__highlights[data-v-ebef0a7e]{gap:.65rem;padding:0 1rem .9rem}.onboarding-modal__highlight[data-v-ebef0a7e]{gap:.75rem;padding:.8rem .85rem}.onboarding-modal__highlight-description[data-v-ebef0a7e]{line-height:1.45}.onboarding-modal__footer[data-v-ebef0a7e]{position:sticky;bottom:0;gap:.8rem;padding:.85rem 1rem 1rem;background:linear-gradient(180deg,rgba(248,250,252,.72),var(--color-surface-muted));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.onboarding-modal__actions[data-v-ebef0a7e]{justify-content:stretch;flex-direction:column}.onboarding-modal__secondary[data-v-ebef0a7e],.onboarding-modal__primary[data-v-ebef0a7e]{width:100%}}.keyboard-shortcuts-modal[data-v-3a4d4719]{color-scheme:light;position:fixed;inset:0;z-index:630;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at top left,var(--color-accent-soft),transparent 30%),radial-gradient(circle at bottom right,var(--color-info-soft),transparent 26%),var(--color-panel-wash);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.keyboard-shortcuts-modal__card[data-v-3a4d4719]{position:relative;width:min(52rem,calc(100vw - 1.5rem));max-height:min(80vh,48rem);border-radius:1.5rem;border:1px solid var(--color-border);background:radial-gradient(circle at top right,var(--color-panel-glow),transparent 30%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);color:var(--color-text);box-shadow:var(--shadow-floating);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}.keyboard-shortcuts-modal__close[data-v-3a4d4719]{position:absolute;top:.9rem;right:.9rem;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-panel-wash-strong);color:inherit;font-size:1.2rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.keyboard-shortcuts-modal__close[data-v-3a4d4719]:hover,.keyboard-shortcuts-modal__close[data-v-3a4d4719]:focus-visible{background:var(--color-surface);border-color:var(--color-border-strong);outline:none;transform:translateY(-1px)}.keyboard-shortcuts-modal__header[data-v-3a4d4719]{padding:1.5rem 1.5rem 1rem}.keyboard-shortcuts-modal__eyebrow[data-v-3a4d4719]{display:inline-flex;margin:0 0 .6rem;padding:.28rem .65rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--font-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.keyboard-shortcuts-modal__title[data-v-3a4d4719]{margin:0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.08;letter-spacing:-.03em}.keyboard-shortcuts-modal__description[data-v-3a4d4719]{margin:.85rem 0 0;max-width:40rem;color:var(--color-text-muted);line-height:1.6}.keyboard-shortcuts-modal__list[data-v-3a4d4719]{display:grid;gap:.75rem;padding:0 1.5rem 1rem;overflow:auto}.keyboard-shortcuts-modal__item[data-v-3a4d4719]{display:grid;grid-template-columns:minmax(7rem,11rem) 1fr;gap:1rem;align-items:center;padding:.95rem 1rem;border:1px solid var(--color-border);border-radius:1rem;background:#ffffffb8}.keyboard-shortcuts-modal__keys[data-v-3a4d4719]{display:flex;flex-wrap:wrap;gap:.45rem}.keyboard-shortcuts-modal__key[data-v-3a4d4719]{display:inline-flex;align-items:center;min-height:2rem;padding:.28rem .55rem;border-radius:.6rem;border:1px solid var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong);font:inherit;font-size:var(--font-sm);font-weight:800;line-height:1;white-space:nowrap}.keyboard-shortcuts-modal__copy[data-v-3a4d4719]{min-width:0}.keyboard-shortcuts-modal__label[data-v-3a4d4719]{margin:0;font-size:1rem;line-height:1.35}.keyboard-shortcuts-modal__item-description[data-v-3a4d4719]{margin:.35rem 0 0;color:var(--color-text-muted);line-height:1.55}.keyboard-shortcuts-modal__footer[data-v-3a4d4719]{padding:0 1.5rem 1.5rem;display:flex;justify-content:flex-end}.keyboard-shortcuts-modal__dismiss[data-v-3a4d4719]{min-height:2.75rem;border:1px solid var(--color-border);border-radius:999px;padding:.7rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;background:var(--color-panel-wash-strong);color:var(--color-text);transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.keyboard-shortcuts-modal__dismiss[data-v-3a4d4719]:hover,.keyboard-shortcuts-modal__dismiss[data-v-3a4d4719]:focus-visible{outline:none;background:var(--color-surface);border-color:var(--color-border-strong);transform:translateY(-1px)}.keyboard-shortcuts-modal-enter-active[data-v-3a4d4719],.keyboard-shortcuts-modal-leave-active[data-v-3a4d4719]{transition:opacity .18s ease}.keyboard-shortcuts-modal-enter-from[data-v-3a4d4719],.keyboard-shortcuts-modal-leave-to[data-v-3a4d4719]{opacity:0}@media(max-width:640px){.keyboard-shortcuts-modal[data-v-3a4d4719]{align-items:start;padding:.75rem .75rem 1rem;background:radial-gradient(circle at top left,var(--color-accent-ring),transparent 28%),radial-gradient(circle at bottom right,var(--color-info-soft),transparent 24%),var(--color-panel-wash)}.keyboard-shortcuts-modal__card[data-v-3a4d4719]{width:min(100vw - 1rem,52rem);max-height:calc(100dvh - 1.5rem);border-radius:1.25rem}.keyboard-shortcuts-modal__header[data-v-3a4d4719],.keyboard-shortcuts-modal__list[data-v-3a4d4719],.keyboard-shortcuts-modal__footer[data-v-3a4d4719]{padding-left:1rem;padding-right:1rem}.keyboard-shortcuts-modal__item[data-v-3a4d4719]{grid-template-columns:1fr;align-items:start;gap:.75rem}.keyboard-shortcuts-modal__dismiss[data-v-3a4d4719]{width:100%}}.contour-collection-progress[data-v-e2ea70b8]{position:fixed;z-index:81;top:var(--contour-progress-header-offset, 0px);left:0;right:0;min-height:2.5rem;display:flex;align-items:baseline;justify-content:center;gap:.3rem;margin:0;padding:.48rem max(1rem,env(safe-area-inset-right));border-bottom:1px solid var(--umi-line);background:var(--umi-surface);color:var(--umi-ink);font-size:.8rem;line-height:1.2;pointer-events:none}.contour-collection-progress__count[data-v-e2ea70b8]{color:var(--umi-accent);font-size:1rem;font-weight:800}.contour-collection-progress__copy[data-v-e2ea70b8]{color:var(--umi-muted);font-weight:650}.app-shell{--contour-progress-header-offset: var(--shell-fixed-header-height)}@media(max-width:680px){.app-shell{--contour-progress-header-offset: calc(var(--shell-fixed-header-height) + 2.55rem)}}.legacy-workspace:has(>.contour-collection-progress){padding-top:2.75rem}.legacy-workspace{display:grid;gap:var(--workspace-gap);width:min(100%,var(--workspace-max-width));margin-inline:auto;padding-bottom:5.75rem}.legacy-workspace__picker-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.legacy-workspace__toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--workspace-gap);align-items:center}.legacy-workspace__toolbar--board{gap:.75rem}.legacy-workspace__toolbar-controls{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;min-width:0}.legacy-workspace__toolbar-actions,.legacy-workspace__board-toolbar,.legacy-workspace__board-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.legacy-workspace__pill,.legacy-workspace__link{min-height:var(--touch-target-sm);border-radius:.6rem;font-weight:700;padding:0 .82rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.legacy-workspace__pill{gap:.42rem}.legacy-workspace__pill svg{width:1.05rem;height:1.05rem;flex:0 0 auto}.legacy-workspace__pill-label{white-space:nowrap}.legacy-workspace__pill--compact{min-height:2rem;padding:0 .72rem;font-size:var(--font-sm);letter-spacing:.04em;text-transform:uppercase}.legacy-workspace__pill--compact svg{width:.95rem;height:.95rem}.legacy-workspace__options-toggle{min-height:1.9rem;padding:.3rem .75rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-soft);display:inline-flex;align-items:center;gap:.4rem;font-size:var(--font-sm);font-weight:700;letter-spacing:.03em;cursor:pointer;box-shadow:none;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease}.legacy-workspace__options-toggle:before{content:"+";display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:999px;font-size:.9rem;line-height:1;opacity:.8}.legacy-workspace__options-toggle:hover,.legacy-workspace__options-toggle:focus-visible{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface-muted)}.legacy-workspace__options-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:.35rem}.legacy-workspace__options-toggle[aria-expanded=true]:before{content:"−"}@media(pointer:coarse),(max-width:640px){.legacy-workspace__pill--compact{min-height:44px;padding-inline:.82rem}.legacy-workspace__options-toggle{min-height:44px}.legacy-workspace__reopen-overlay{padding-inline:.75rem;padding-top:max(4.25rem,env(safe-area-inset-top))}.legacy-workspace__reopen-progress{width:min(100%,28rem)}}.legacy-workspace__pill--active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-text)}.legacy-workspace__pill--danger{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.legacy-workspace__pill--danger:hover,.legacy-workspace__pill--danger:focus-visible{border-color:var(--color-danger-border);background:var(--color-danger-soft);outline:none}.legacy-workspace__pill:disabled{opacity:.5;cursor:not-allowed}.legacy-workspace__layout{display:grid;gap:var(--workspace-gap);grid-template-columns:minmax(0,1fr);align-items:start}.legacy-workspace__layout--detection{grid-template-columns:minmax(0,1fr)}.legacy-workspace__reopen-overlay{position:fixed;inset:0;z-index:140;display:grid;align-items:start;justify-items:center;padding:clamp(1rem,5vw,2rem);padding-top:clamp(4.5rem,10vh,7rem);background:#f5f7fa70;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.legacy-workspace__reopen-progress{width:min(34rem,calc(100vw - 2rem));display:grid;gap:.85rem;padding:1rem 1.1rem;border:1px solid rgba(18,33,52,.14);border-radius:1rem;background:linear-gradient(135deg,#fffffff5,#f4f7fbf0),var(--color-surface);box-shadow:0 24px 60px #12213429}.legacy-workspace__reopen-progress-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.legacy-workspace__reopen-progress-eyebrow{margin:0 0 .2rem;font-size:var(--font-sm);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.legacy-workspace__reopen-progress-title{margin:0;font-size:1rem;line-height:1.25;color:var(--color-text)}.legacy-workspace__reopen-progress-percent{font-size:1.05rem;color:var(--color-accent)}.legacy-workspace__reopen-progress-text,.legacy-workspace__reopen-progress-hint{margin:0;line-height:1.45}.legacy-workspace__reopen-progress-text{color:var(--color-text)}.legacy-workspace__reopen-progress-hint{font-size:var(--font-sm);color:var(--color-text-muted)}.legacy-workspace__reopen-progress-track{overflow:hidden;height:.7rem;border-radius:999px;background:#1221341a}.legacy-workspace__reopen-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f6a8f,#1d9a78);transition:width .18s ease}.legacy-workspace__pdf-pane,.legacy-workspace__board-pane,.legacy-workspace__trainer-pane,.legacy-workspace__detection-pane{display:grid;gap:var(--workspace-gap);align-content:start;min-width:0;container-type:inline-size}.legacy-workspace__pdf-pane,.legacy-workspace__board-pane,.legacy-workspace__trainer-pane{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-pane)}.legacy-workspace__board-pane{background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%)}.legacy-workspace__pdf-pane{order:1}.legacy-workspace__trainer-pane{order:2}.legacy-workspace__detection-pane{order:3}.legacy-workspace__layout--detection .legacy-workspace__detection-pane{order:1;grid-column:1;position:static;max-height:none;overflow:visible}.legacy-workspace__board-pane{order:4}.legacy-workspace__board{width:min(100%,var(--board-size));min-height:auto;justify-self:center;aspect-ratio:1}.legacy-workspace__controls{display:grid;gap:var(--workspace-gap)}.legacy-workspace__pdf-inline-prompt{display:grid;justify-items:end}.legacy-workspace__pdf-inline-prompt>*{width:min(30rem,100%)}.legacy-workspace__recognition-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);box-shadow:0 10px 24px #12182614}.legacy-workspace__recognition-copy{display:grid;gap:.35rem;min-width:0}.legacy-workspace__recognition-eyebrow,.finish-templating-dialog__eyebrow{margin:0;color:var(--color-accent);font-size:var(--font-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.legacy-workspace__recognition-copy h2,.legacy-workspace__recognition-copy p,.finish-templating-dialog__header h2,.finish-templating-dialog__header p{margin:0}.legacy-workspace__recognition-copy h2{font-size:1rem;line-height:1.25}.legacy-workspace__recognition-copy p{color:var(--color-text-muted);line-height:1.45}.legacy-workspace__recognition-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.legacy-workspace__recognition-action,.legacy-workspace__recognition-hide,.finish-templating-dialog__button{min-height:40px;padding:0 .9rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:inherit;font-weight:800}.legacy-workspace__recognition-action--primary{border-color:#102130;background:#102130;color:#fffaf2}.finish-templating-dialog{position:fixed;inset:0;z-index:680;display:grid;place-items:center;padding:1rem;background:#0f172a75}.finish-templating-dialog__panel{width:min(100%,34rem);display:grid;gap:1rem;padding:1.1rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-floating)}.finish-templating-dialog__panel--wide{width:min(100%,72rem);max-height:calc(100dvh - 2rem);overflow:auto}.finish-templating-dialog__header{display:grid;gap:.5rem}.finish-templating-dialog__header h2{font-size:1.25rem;line-height:1.2}.finish-templating-dialog__header p{color:var(--color-text-muted);line-height:1.5}.finish-templating-dialog__progress{display:grid;gap:.55rem}.finish-templating-dialog__progress-header,.finish-templating-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.finish-templating-dialog__progress-header{color:var(--color-text-muted);font-weight:800}.finish-templating-dialog__track{overflow:hidden;height:.7rem;border-radius:999px;background:var(--color-surface-muted)}.finish-templating-dialog__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-detection-secondary),var(--color-detection-primary));transition:width .18s ease}.finish-templating-dialog__button--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.finish-templating-dialog__button--ghost{background:transparent}.finish-templating-dialog__button:disabled{cursor:progress;opacity:.65}.legacy-workspace__board-support,.legacy-workspace__analysis-shell{display:grid;gap:var(--workspace-gap)}.legacy-workspace__analysis-stage{display:grid;gap:var(--space-3);padding:clamp(12px,1.2vw,18px);border-radius:1.4rem;border:1px solid var(--color-border);background:radial-gradient(circle at top left,var(--color-panel-glow),transparent 30%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);color:var(--color-text);box-shadow:var(--shadow-floating)}.legacy-workspace__board-toolbar--analysis{justify-content:flex-start;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-panel-divider)}.legacy-workspace__board-toolbar-actions,.legacy-workspace__board-frame-status{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.legacy-workspace__board-frame-status{justify-content:flex-end}.legacy-workspace__board-toolbar-actions--compact{gap:.4rem}.legacy-workspace__analysis-stage .legacy-workspace__pill,.legacy-workspace__analysis-stage .legacy-workspace__link{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legacy-workspace__analysis-stage .legacy-workspace__pill:hover,.legacy-workspace__analysis-stage .legacy-workspace__pill:focus-visible,.legacy-workspace__analysis-stage .legacy-workspace__link:hover,.legacy-workspace__analysis-stage .legacy-workspace__link:focus-visible{border-color:var(--color-border-strong);background:var(--color-surface-muted);outline:none}.legacy-workspace__analysis-stage .legacy-workspace__pill--active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-text)}.legacy-workspace__analysis-pill{display:inline-flex;align-items:center;min-height:2rem;padding:0 .7rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft);font-size:var(--font-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.legacy-workspace__analysis-pill--active{border-color:var(--color-accent);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-muted));color:var(--color-accent-strong)}.legacy-workspace__analysis-pill--accent{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success-strong)}.legacy-workspace__analysis-rail{display:grid;gap:var(--space-3)}.legacy-workspace__board-cluster{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:stretch}.legacy-workspace__eval-bar{align-self:stretch;justify-self:start}.legacy-workspace__board-stack{display:grid;gap:var(--space-3);min-width:0}.legacy-workspace__board-frame{display:grid;gap:var(--space-3);padding:clamp(12px,1vw,18px);border-radius:1.25rem;border:1px solid var(--color-border);background:radial-gradient(circle at top center,var(--color-panel-glow),transparent 38%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);box-shadow:var(--shadow-soft)}.legacy-workspace__board-frame-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap}.legacy-workspace__board-frame-copy{display:grid;gap:.3rem}.legacy-workspace__board-frame-eyebrow{margin:0;font-size:var(--font-sm);font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-soft)}.legacy-workspace__board-frame-title{margin:0;font-size:clamp(1.15rem,1rem + .35vw,1.45rem);line-height:1.1;letter-spacing:-.02em}.legacy-workspace__board-frame-caption{margin:0;color:var(--color-text-muted);font-size:var(--font-sm)}.legacy-workspace__fold{display:grid;gap:0;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface);overflow:hidden}.legacy-workspace__fold[open]{background:var(--color-surface)}.legacy-workspace__fold-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;cursor:pointer}.legacy-workspace__fold-summary::-webkit-details-marker{display:none}.legacy-workspace__fold-copy{display:grid;gap:.2rem}.legacy-workspace__fold-eyebrow{color:var(--color-text-soft);font-size:var(--font-xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.legacy-workspace__fold-title{color:var(--color-text);font-size:.96rem;font-weight:800;letter-spacing:-.01em}.legacy-workspace__fold-hint{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:var(--font-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.legacy-workspace__fold-hint:after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:1px solid var(--color-border);border-radius:999px;font-size:.9rem;line-height:1}.legacy-workspace__fold[open] .legacy-workspace__fold-hint:after{content:"-"}.legacy-workspace__fold-body{display:grid;gap:var(--space-3);padding:0 1rem 1rem}.legacy-workspace__session-tools{gap:.85rem}.legacy-workspace__trainer-pane{min-width:0;align-content:start}.legacy-workspace__analysis-stage .move-list,.legacy-workspace__analysis-stage .pv-lines,.legacy-workspace__analysis-stage .fen-bar,.legacy-workspace__analysis-stage .edit-mode-palette{border-color:var(--color-border);background:linear-gradient(180deg,var(--color-panel-wash-strong),var(--color-panel-wash)),var(--color-surface);color:var(--color-text);box-shadow:none}.legacy-workspace__analysis-stage .move-list__eyebrow,.legacy-workspace__analysis-stage .pv-lines__eyebrow,.legacy-workspace__analysis-stage .fen-bar__eyebrow,.legacy-workspace__analysis-stage .edit-mode-palette__eyebrow,.legacy-workspace__analysis-stage .fen-bar__hint,.legacy-workspace__analysis-stage .pv-lines__moves,.legacy-workspace__analysis-stage .pv-lines__depth,.legacy-workspace__analysis-stage .move-list__number,.legacy-workspace__analysis-stage .edit-mode-palette__description,.legacy-workspace__analysis-stage .edit-mode-palette__hint{color:var(--color-text-muted)}.legacy-workspace__analysis-stage .fen-bar__status,.legacy-workspace__analysis-stage .pv-lines__count,.legacy-workspace__analysis-stage .edit-mode-palette__summary{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.legacy-workspace__analysis-stage .fen-bar__input,.legacy-workspace__analysis-stage .move-list__move,.legacy-workspace__analysis-stage .move-list__variation,.legacy-workspace__analysis-stage .pv-lines__row,.legacy-workspace__analysis-stage .edit-mode-palette__piece,.legacy-workspace__analysis-stage .edit-mode-palette__action{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:none}.legacy-workspace__analysis-stage .move-list__move--current,.legacy-workspace__analysis-stage .pv-lines__row--best,.legacy-workspace__analysis-stage .edit-mode-palette__piece--selected{border-color:var(--color-success-border);background:linear-gradient(180deg,var(--color-success-soft),var(--color-surface-muted)),var(--color-surface)}.legacy-workspace__analysis-stage .fen-bar__button,.legacy-workspace__analysis-stage .edit-mode-palette__action{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.legacy-workspace__analysis-stage .fen-bar__button--primary{border-color:var(--color-accent);background:var(--color-accent-soft)}.legacy-workspace__analysis-stage .fen-bar__input::placeholder{color:var(--color-text-muted)}.detection-workspace{display:grid;gap:var(--workspace-gap)}.detection-workspace__header,.trainer-workspace__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;padding-bottom:.5rem;border-bottom:1px solid var(--color-panel-divider)}.detection-workspace__actions{display:flex;gap:.45rem;flex-wrap:wrap}.detection-workspace__notice{display:grid;gap:.6rem;padding:.9rem 1rem;border:1px solid var(--color-accent-ring);border-radius:.9rem;background:var(--color-accent-softer)}.detection-workspace__notice p{margin:0;color:var(--color-text)}.detection-workspace__notice-meta{font-size:.92rem;color:var(--color-text-muted)}.detection-workspace__notice-actions{display:flex;flex-wrap:wrap;gap:.45rem}.detect-btn{min-height:var(--touch-target-sm);border-radius:.6rem;padding:0 .75rem;font-weight:700;cursor:pointer}.detect-btn--large{min-height:2.75rem;padding:0 .95rem}.detection-workspace__canvas-overlay{position:absolute;inset:0;pointer-events:none}.detection-workspace__canvas-overlay--debug{box-shadow:inset 0 0 0 1px var(--color-detection-primary-border)}.detection-workspace__canvas-overlay--drawing{cursor:crosshair}.detection-workspace__corner-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:36}.detection-workspace__corner-marker-index{display:grid;place-items:center;min-width:1.7rem;min-height:1.7rem;padding:.12rem .35rem;border-radius:999px;border:2px solid var(--color-success-strong);background:radial-gradient(circle at 30% 28%,#fffffff5,#ffffffb8),linear-gradient(135deg,var(--color-detection-primary-soft),var(--color-detection-primary));color:var(--color-success-strong);font-size:var(--font-sm);font-weight:900;line-height:1;box-shadow:0 0 0 3px #ffffff61,0 10px 24px #050c0947}.detection-workspace__floating-approval{display:grid;gap:.42rem;width:100%;padding:.6rem .7rem;border-radius:.78rem;border:1px solid rgba(15,23,42,.12);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 24px #0f172a1f;pointer-events:auto}.detection-workspace__floating-draw{display:grid;gap:.42rem;width:100%;padding:.58rem .68rem;border-radius:.78rem;border:1px solid rgba(15,23,42,.12);background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 24px #0f172a1f;pointer-events:auto}.detection-workspace__floating-draw--manual{border-color:var(--color-accent-border)}.detection-workspace__floating-title,.detection-workspace__floating-meta{margin:0;line-height:1.25}.detection-workspace__floating-title{font-size:var(--font-sm);font-weight:700;color:var(--color-text)}.detection-workspace__floating-meta{width:fit-content;padding:.18rem .45rem;border-radius:999px;font-size:var(--font-sm);color:var(--color-text-soft);background:var(--color-neutral-soft)}.detection-workspace__floating-actions{display:flex;flex-wrap:wrap;gap:.35rem}.detection-workspace__floating-actions .detect-btn{min-height:2rem;padding:0 .62rem;border-radius:.55rem;border:1px solid rgba(15,23,42,.12);background:#ffffffdb;font-size:var(--font-sm);font-weight:700}.detection-workspace__floating-actions .detect-btn:hover{background:#fffffffa}@media(pointer:coarse){.legacy-workspace__pdf-inline-prompt{justify-items:stretch}.detection-workspace__floating-draw{padding:.72rem .8rem}.detection-workspace__floating-actions .detect-btn{min-height:2.7rem;padding:0 .9rem;font-size:.9rem}}.detection-workspace__sample{position:absolute;transform:translate(-50%,-50%);pointer-events:none;min-width:1.9rem;min-height:1.9rem;border-radius:999px;display:grid;place-items:center;font-size:var(--font-sm);font-weight:800;color:var(--color-text);border:2px solid rgba(10,26,35,.28);box-shadow:0 8px 16px #04080c59;z-index:35}.detection-workspace__sample--light{background:var(--color-piece-light)}.detection-workspace__sample--dark{background:var(--color-piece-dark);color:var(--color-text-inverse)}.detection-workspace__sample--cnn{background:var(--color-detection-secondary)}.detection-workspace__fen{display:grid;gap:.45rem;padding:.75rem}.detection-workspace__fen label{font-size:var(--font-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.detection-workspace__fen textarea{width:100%;resize:vertical;min-height:4.2rem;border-radius:.6rem;padding:.65rem .75rem;font:inherit}.detection-workspace__fen-actions{display:flex;flex-wrap:wrap;gap:.45rem}.trainer-workspace{display:grid;gap:var(--workspace-gap)}.legacy-workspace__bottom-nav{position:fixed;left:50%;bottom:max(.55rem,env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(calc(100vw - 1rem),420px);z-index:70;margin-top:0}@media(min-width:1080px){.legacy-workspace{--workspace-sticky-top: calc(var(--shell-fixed-header-height, var(--topbar-height)) + var(--workspace-pad))}.legacy-workspace__layout--trainer{grid-template-columns:minmax(0,1fr)}.legacy-workspace__layout--recognition{grid-template-columns:minmax(0,1fr) clamp(340px,22vw,420px)}.legacy-workspace__layout--board,.legacy-workspace__layout--detection{grid-template-columns:minmax(0,1fr)}.legacy-workspace__layout--trainer .legacy-workspace__pdf-pane,.legacy-workspace__layout--recognition .legacy-workspace__pdf-pane,.legacy-workspace__layout--board .legacy-workspace__board-pane{grid-column:1;grid-row:1 / span 4}.legacy-workspace__layout--recognition .legacy-workspace__detection-pane,.legacy-workspace__layout--recognition .legacy-workspace__board-pane{grid-column:2}.legacy-workspace__layout--recognition .legacy-workspace__detection-pane{position:sticky;top:var(--workspace-sticky-top);max-height:calc(100dvh - var(--workspace-sticky-top) - var(--workspace-pad));overflow:auto}.legacy-workspace__layout--detection .legacy-workspace__detection-pane{grid-column:1;grid-row:1;position:static;max-height:none;overflow:visible}.legacy-workspace__layout--recognition .legacy-workspace__analysis-shell{grid-template-columns:1fr}.legacy-workspace__layout--recognition .legacy-workspace__analysis-rail{display:none}.legacy-workspace__layout--recognition .legacy-workspace__board{width:100%}.legacy-workspace__layout--board .legacy-workspace__board{width:min(100%,clamp(360px,46vw,920px),calc(100dvh - var(--workspace-sticky-top) - 10rem))}}@container (min-width: 72rem){.legacy-workspace__analysis-shell{grid-template-columns:minmax(0,1fr) minmax(18rem,26rem);align-items:start}}@media(max-width:1180px){.legacy-workspace__analysis-shell{grid-template-columns:1fr}}@media(max-width:900px){.legacy-workspace__toolbar{grid-template-columns:1fr;align-items:stretch}.legacy-workspace__layout,.legacy-workspace__layout--board,.legacy-workspace__layout--trainer,.legacy-workspace__layout--recognition,.legacy-workspace__layout--detection{grid-template-columns:minmax(0,1fr)}.legacy-workspace__pdf-pane,.legacy-workspace__board-pane,.legacy-workspace__trainer-pane{padding:.6rem}.legacy-workspace__trainer-pane,.legacy-workspace__detection-pane,.legacy-workspace__board-pane{position:static;max-height:none;overflow:visible}.legacy-workspace__board{width:100%}}@media(max-width:860px){.legacy-workspace__board-cluster{grid-template-columns:1fr}.legacy-workspace__board-toolbar--analysis,.legacy-workspace__board-frame-header{flex-direction:column;align-items:stretch}.legacy-workspace__board-frame-status{justify-content:flex-start}}.contour-lab-view[data-v-764e5dae]{min-width:0}:root{--font-xs: clamp(13px, .8125rem + .12vw, 14px);--font-sm: clamp(14px, .875rem + .14vw, 15px);--font-base: clamp(16px, 1rem + .12vw, 18px);--font-lg: clamp(18px, 1.125rem + .18vw, 21px);--font-xl: clamp(21px, 1.3125rem + .28vw, 25px);--font-2xl: clamp(24px, 1.5rem + .35vw, 30px);--space-1: clamp(4px, .5vw, 8px);--space-2: clamp(8px, 1vw, 12px);--space-3: clamp(12px, 1.2vw, 16px);--space-4: clamp(14px, 1.5vw, 20px);--space-5: clamp(18px, 2vw, 28px);--space-6: clamp(22px, 2.8vw, 40px);--touch-target: clamp(44px, 3vw, 50px);--touch-target-sm: clamp(40px, 2.4vw, 44px);--radius-sm: .45rem;--radius-md: .75rem;--radius-lg: 1rem;--color-bg: #f3f6f8;--color-bg-elevated: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #eef3f7;--color-surface-strong: #e3eaf2;--color-text: #121826;--color-text-muted: #536173;--color-text-soft: #6b7788;--color-text-inverse: #ffffff;--color-accent: #2563eb;--color-accent-strong: #1d4ed8;--color-accent-soft: rgba(37, 99, 235, .12);--color-accent-softer: rgba(37, 99, 235, .07);--color-accent-border: rgba(37, 99, 235, .28);--color-accent-ring: rgba(37, 99, 235, .24);--color-info: #0369a1;--color-info-strong: #075985;--color-info-soft: rgba(3, 105, 161, .12);--color-info-border: rgba(3, 105, 161, .28);--color-success: #047857;--color-success-strong: #065f46;--color-success-soft: rgba(4, 120, 87, .12);--color-success-border: rgba(4, 120, 87, .28);--color-warning: #b45309;--color-warning-strong: #92400e;--color-warning-soft: rgba(180, 83, 9, .12);--color-warning-border: rgba(180, 83, 9, .28);--color-danger: #b42318;--color-danger-strong: #8f1d14;--color-danger-soft: rgba(180, 35, 24, .12);--color-danger-border: rgba(180, 35, 24, .28);--color-focus-ring: rgba(37, 99, 235, .28);--color-border: #d5dee8;--color-border-strong: #aebcca;--color-panel-divider: #e4ebf2;--color-panel-glow: rgba(37, 99, 235, .1);--color-panel-wash: rgba(238, 243, 247, .78);--color-panel-wash-strong: rgba(248, 250, 252, .96);--color-neutral-soft: rgba(18, 24, 38, .05);--color-neutral-border: rgba(18, 24, 38, .12);--color-neutral-border-strong: rgba(18, 24, 38, .18);--color-overlay-backdrop: rgba(18, 24, 38, .56);--color-overlay-backdrop-strong: rgba(8, 13, 24, .74);--color-dark-surface: #101827;--color-dark-surface-muted: #172235;--color-dark-border: rgba(255, 255, 255, .14);--color-dark-text: #f4f8fb;--color-dark-text-muted: rgba(244, 248, 251, .78);--color-piece-light: #f8fafc;--color-piece-light-muted: #edf3f8;--color-piece-dark: #182233;--color-piece-dark-muted: #263247;--color-detection-primary: #22c55e;--color-detection-primary-soft: rgba(34, 197, 94, .18);--color-detection-primary-border: rgba(34, 197, 94, .55);--color-detection-secondary: #38bdf8;--color-detection-secondary-soft: rgba(56, 189, 248, .16);--color-detection-label-bg: rgba(8, 13, 24, .76);--color-detection-label-text: #ecfdf5;--shadow-soft: 0 10px 22px rgba(18, 24, 38, .06);--shadow-pane: 0 1px 2px rgba(18, 24, 38, .04), 0 10px 30px rgba(18, 24, 38, .05);--shadow-floating: 0 14px 32px rgba(18, 24, 38, .14);--topbar-height: clamp(52px, 5vw, 64px);--workspace-gap: clamp(10px, 1vw, 16px);--workspace-pad: clamp(8px, 1vw, 14px);--workspace-max-width: 1920px;--board-size: min(100%, clamp(300px, 52vw, 920px));--max-width-shell: none}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}html{overflow-x:hidden}body{min-height:100dvh;overflow-x:hidden;color:var(--color-text);background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg) 28%,var(--color-surface-strong) 100%);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-base);line-height:1.52;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font:inherit}a{color:inherit}.app-shell{min-height:100dvh;--shell-fixed-header-height: var(--topbar-height);display:block;padding-top:var(--shell-fixed-header-height)}.legacy-shell__topbar{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;min-height:var(--shell-fixed-header-height);padding:0 clamp(12px,1.5vw,22px);border-bottom:1px solid var(--color-border);background:#ffffffeb;box-shadow:0 1px #0f172a0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legacy-shell__brand{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.legacy-shell__brand-link{color:inherit;text-decoration:none;cursor:pointer}.legacy-shell__brand-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:.5rem}.legacy-shell__nav{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.legacy-shell__nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:0 .95rem;border:1px solid var(--color-border);border-radius:999px;background:#ffffffe0;color:var(--color-text);text-decoration:none;font-weight:700;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.legacy-shell__nav-link.router-link-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.legacy-shell__brand-mark{width:1.9rem;height:1.9rem;flex:0 0 auto;display:block;filter:drop-shadow(0 10px 18px var(--color-accent-ring))}.legacy-shell__brand-mark img{display:block;width:100%;height:100%}.legacy-shell__brand-copy h1{margin:0;font-size:clamp(1.15rem,.95rem + .6vw,1.75rem);line-height:1.1;font-weight:800;letter-spacing:-.02em}.app-shell__main{min-width:0;padding:var(--workspace-pad)}.app-shell__runtime-stack{display:grid;gap:.7rem;padding:0 var(--workspace-pad);margin-top:.8rem}.app-shell__banner{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:.85rem;background:#ffffffe6;box-shadow:0 1px #0f172a0a}.app-shell__banner--info{border-color:color-mix(in srgb,var(--color-accent) 26%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 8%,white)}.app-shell__banner--warning{border-color:#b4530947;background:#fff7edf5}.app-shell__banner--danger{border-color:#b91c1c38;background:#fef2f2f7}.app-shell__banner-copy{display:grid;gap:.28rem;min-width:0}.app-shell__banner-copy strong,.app-shell__banner-copy p{margin:0}.app-shell__banner-copy strong{font-size:var(--font-sm);letter-spacing:.01em}.app-shell__banner-copy p{color:var(--color-text-soft);font-size:var(--font-sm)}.app-shell__banner-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.app-shell__banner-button{min-height:2.1rem;padding:0 .85rem;border:1px solid var(--color-border-strong);border-radius:.6rem;background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);font-weight:700;cursor:pointer}.app-shell__banner-button--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.legacy-shell .legacy-workspace{display:grid;gap:var(--workspace-gap)}.legacy-shell .legacy-workspace__toolbar,.legacy-shell .legacy-workspace__pdf-pane,.legacy-shell .legacy-workspace__board-pane,.legacy-shell .legacy-workspace__trainer-pane,.legacy-shell .legacy-workspace__detection-pane{min-width:0}.legacy-shell .legacy-workspace__toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--workspace-gap);align-items:center;padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7f9fceb}.legacy-shell .legacy-workspace__toolbar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0}.legacy-shell .legacy-workspace__toolbar-actions,.legacy-shell .legacy-workspace__board-toolbar,.legacy-shell .legacy-workspace__board-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.legacy-shell .legacy-workspace__pill,.legacy-shell .legacy-workspace__link{min-height:var(--touch-target-sm);padding:0 .82rem;border:1px solid var(--color-border-strong);border-radius:.6rem;background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);font-weight:700;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.legacy-shell .legacy-workspace__pill--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.legacy-shell .legacy-workspace__options-toggle{min-height:1.9rem;padding:.3rem .75rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-soft);display:inline-flex;align-items:center;gap:.4rem;font-size:var(--font-sm);font-weight:700;letter-spacing:.03em;cursor:pointer;box-shadow:none;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease}.legacy-shell .legacy-workspace__options-toggle:before{content:"+";display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:999px;font-size:.9rem;line-height:1;opacity:.8}.legacy-shell .legacy-workspace__options-toggle:hover,.legacy-shell .legacy-workspace__options-toggle:focus-visible{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface-muted)}.legacy-shell .legacy-workspace__options-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:.35rem}.legacy-shell .legacy-workspace__options-toggle[aria-expanded=true]:before{content:"−"}.legacy-shell .legacy-workspace__pill:disabled{opacity:.5;cursor:not-allowed}.legacy-shell .legacy-workspace__controls,.legacy-shell .legacy-workspace__board-support{display:grid;gap:var(--workspace-gap)}@media(max-width:768px){.app-shell{--shell-fixed-header-height: 108px}.legacy-shell__topbar{gap:.75rem;flex-wrap:wrap;padding-inline:.85rem}.legacy-shell__nav{width:100%;margin-left:0;flex-wrap:nowrap;gap:.35rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.legacy-shell__nav::-webkit-scrollbar{display:none}.legacy-shell__nav-link{flex:0 0 auto;white-space:nowrap;padding-inline:.78rem}.app-shell__main{padding:.55rem}.app-shell__runtime-stack{padding-inline:.55rem}.app-shell__banner{flex-direction:column}.app-shell__banner-actions{justify-content:flex-start}.legacy-shell .legacy-workspace__toolbar{grid-template-columns:1fr;align-items:stretch}}:root{color-scheme:light;--color-bg: var(--umi-canvas);--color-bg-elevated: var(--umi-canvas);--color-surface: var(--umi-surface);--color-surface-muted: var(--umi-surface-subtle);--color-surface-strong: var(--umi-surface-subtle);--color-text: var(--umi-ink);--color-text-muted: var(--umi-muted);--color-text-soft: var(--umi-muted);--color-text-inverse: var(--umi-on-accent);--color-accent: var(--umi-accent);--color-accent-strong: var(--umi-accent-hover);--color-accent-soft: var(--umi-accent-soft);--color-accent-softer: color-mix(in srgb, var(--umi-accent-soft) 58%, transparent);--color-accent-border: color-mix(in srgb, var(--umi-accent) 34%, var(--umi-line));--color-accent-ring: color-mix(in srgb, var(--umi-focus) 28%, transparent);--color-info: var(--umi-accent);--color-info-strong: var(--umi-accent-hover);--color-info-soft: var(--umi-accent-soft);--color-info-border: color-mix(in srgb, var(--umi-accent) 30%, var(--umi-line));--color-success: var(--umi-success);--color-success-strong: var(--umi-success);--color-success-soft: var(--umi-success-soft);--color-success-border: color-mix(in srgb, var(--umi-success) 34%, var(--umi-line));--color-warning: var(--umi-warning);--color-warning-strong: var(--umi-warning);--color-warning-soft: var(--umi-warning-soft);--color-warning-border: color-mix(in srgb, var(--umi-warning) 36%, var(--umi-line));--color-danger: var(--umi-danger);--color-danger-strong: var(--umi-danger);--color-danger-soft: var(--umi-danger-soft);--color-danger-border: color-mix(in srgb, var(--umi-danger) 36%, var(--umi-line));--color-focus-ring: var(--umi-focus);--color-border: var(--umi-line);--color-border-strong: color-mix(in srgb, var(--umi-ink) 24%, var(--umi-line));--color-panel-divider: var(--umi-line);--color-panel-glow: var(--umi-accent-soft);--color-panel-wash: var(--umi-surface-subtle);--color-panel-wash-strong: var(--umi-surface);--color-neutral-soft: color-mix(in srgb, var(--umi-ink) 5%, transparent);--color-neutral-border: color-mix(in srgb, var(--umi-ink) 13%, transparent);--color-neutral-border-strong: color-mix(in srgb, var(--umi-ink) 22%, transparent);--color-overlay-backdrop: var(--umi-overlay);--color-overlay-backdrop-strong: var(--umi-overlay);--shadow-soft: var(--umi-shadow-sm);--shadow-pane: var(--umi-shadow-sm);--shadow-floating: var(--umi-shadow-lg);--radius-sm: .6rem;--radius-md: .85rem;--radius-lg: 1.1rem}html[data-theme=dark]{color-scheme:dark}html,body,#app{min-width:320px}body{background:radial-gradient(circle at 90% -10%,color-mix(in srgb,var(--umi-accent) 12%,transparent),transparent 30rem),var(--umi-canvas);color:var(--umi-ink);font-family:var(--umi-font, "Segoe UI", sans-serif)}button,input,textarea,select{font-family:inherit}:focus-visible{outline:3px solid var(--umi-focus)!important;outline-offset:3px}.app-shell{background:transparent}.legacy-shell__topbar{gap:clamp(.45rem,1vw,1rem);min-height:clamp(58px,6vw,70px);border-color:color-mix(in srgb,var(--umi-line) 88%,transparent);background:color-mix(in srgb,var(--umi-canvas) 90%,transparent);box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.legacy-shell__brand{gap:.35rem}.legacy-shell__brand-copy h1{font-family:var(--umi-font, inherit)}.legacy-shell__brand-mark{display:none}.legacy-shell__nav{gap:.25rem;margin-left:auto}.legacy-shell__nav-link{min-height:2.4rem;padding-inline:.78rem;border-color:transparent;background:transparent;color:var(--umi-muted);border-radius:.6rem;font-size:.92rem;font-weight:650}.legacy-shell__nav-link:hover,.legacy-shell__nav-link:focus-visible{border-color:var(--umi-line);background:var(--umi-surface);color:var(--umi-ink)}.legacy-shell__nav-link.router-link-active{border-color:transparent;background:var(--umi-accent-soft);color:var(--umi-accent-hover)}.legacy-shell__theme-control{flex:0 0 auto}html.contour-lab-active #app>.app-shell>.app-shell__header{display:none}.app-shell__main{padding:clamp(.65rem,1.4vw,1.25rem)}.legacy-workspace,.contour-lab-view{padding-bottom:max(5.75rem,env(safe-area-inset-bottom))}.legacy-workspace__pill,.legacy-workspace__link,.app-shell__banner-button,.finish-templating-dialog__button{border-color:var(--umi-line);background:var(--umi-surface);color:var(--umi-ink);box-shadow:none;border-radius:.65rem;font-weight:650}.legacy-workspace__pill:hover:not(:disabled),.legacy-workspace__link:hover,.app-shell__banner-button:hover:not(:disabled),.finish-templating-dialog__button:hover:not(:disabled){border-color:color-mix(in srgb,var(--umi-accent) 34%,var(--umi-line));background:var(--umi-surface-subtle)}.legacy-workspace__pill--primary,.app-shell__banner-button--primary,.finish-templating-dialog__button--primary{border-color:var(--umi-accent)!important;background:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.legacy-workspace__pill--danger{border-color:color-mix(in srgb,var(--umi-danger) 30%,var(--umi-line));background:var(--umi-danger-soft);color:var(--umi-danger)}.app-shell__banner,.last-pdf-banner__surface,.pdf-viewer,.board-workspace-pane,.detection-workspace,.trainer-panel,.template-workspace-pane,.cloud-panel__surface,.family-contour-review-overlay__panel,.finish-templating-dialog__panel{border-color:var(--umi-line)!important;background:var(--umi-surface)!important;box-shadow:var(--umi-shadow-sm)}.app-shell__banner--info{background:var(--umi-accent-soft)!important}.app-shell__banner--warning{background:var(--umi-warning-soft)!important}.app-shell__banner--danger{background:var(--umi-danger-soft)!important}.app-shell__banner-copy p,.last-pdf-banner__message,.pdf-viewer__meta,.pdf-viewer__eyebrow{color:var(--umi-muted)}input:not([type=range]),textarea,select{border-color:var(--umi-line)!important;background:var(--umi-surface)!important;color:var(--umi-ink)!important;border-radius:.6rem}input::placeholder,textarea::placeholder{color:var(--umi-muted);opacity:1}input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:1!important;color:var(--umi-muted)!important;background:var(--umi-surface-subtle)!important}.pdf-viewer__empty,.pdf-viewer__loading,.legacy-workspace__reopen-progress{border-color:var(--umi-line)!important;background:var(--umi-surface)!important;color:var(--umi-ink)!important;box-shadow:var(--umi-shadow-lg)!important}.legacy-workspace__reopen-overlay,.finish-templating-dialog,:is(.notes-modal,.keyboard-shortcuts-modal,.onboarding-modal,.practice-color-modal,.promotion-modal,.contact-modal,.family-contour-review){background:var(--color-overlay-backdrop)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:is(.notes-modal__card,.keyboard-shortcuts-modal__card,.onboarding-modal__card,.practice-color-modal__card,.promotion-modal__card,.contact-modal__card,.family-contour-review__panel){border-color:var(--umi-line)!important;background:var(--umi-surface)!important;color:var(--umi-ink)!important;box-shadow:var(--umi-shadow-lg)!important}:is(.notes-modal__description,.keyboard-shortcuts-modal__description,.onboarding-modal__description,.practice-color-modal__description,.promotion-modal__description,.contact-modal__description,.family-contour-review__proposal-copy){color:var(--umi-muted)!important}.notes-modal__stat strong,:is(.notes-modal__badge--current,.notes-modal__badge--study){color:var(--umi-ink)!important}:is(.onboarding-modal__highlight,.keyboard-shortcuts-modal__item){border-color:var(--umi-line)!important;background:var(--umi-surface-subtle)!important;color:var(--umi-ink)!important}:is(.onboarding-modal__highlight-description,.keyboard-shortcuts-modal__item-description,.onboarding-modal__footer-text){color:var(--umi-muted)!important}.onboarding-modal__footer{background:linear-gradient(180deg,color-mix(in srgb,var(--umi-surface) 72%,transparent),var(--umi-surface-subtle))!important}:is(.notes-modal__button--primary,.onboarding-modal__primary,.contact-modal__primary,.family-contour-review__confirm){background:var(--umi-accent)!important;border-color:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.contour-comparison{border-color:var(--umi-line)!important;background:var(--umi-surface)!important;color:var(--umi-ink)!important;box-shadow:var(--umi-shadow-sm)}.contour-comparison :is(.contour-comparison__hint,.contour-comparison__empty-image,.contour-comparison__choice small,.contour-comparison__no-candidates){color:var(--umi-muted)!important}.contour-comparison :is(.contour-comparison__viewer,.contour-comparison__choice,.contour-comparison__action,.contour-comparison__status-list){border-color:var(--umi-line)!important;background:var(--umi-surface-subtle)!important;color:var(--umi-ink)!important}.contour-comparison__choice--selected,.contour-comparison__progress{border-color:color-mix(in srgb,var(--umi-accent) 34%,var(--umi-line))!important;background:var(--umi-accent-soft)!important;color:var(--umi-accent-hover)!important}.contour-comparison .contour-comparison__action--primary{background:var(--umi-accent)!important;border-color:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.family-training-shell,.family-training-shell__summary,.family-training-shell__workspace{border-color:var(--umi-line)!important;background-color:var(--umi-surface)!important;color:var(--umi-ink)!important}.family-training-shell__copy,.family-training-shell__note--muted{color:var(--umi-muted)!important}.family-training-shell__button--primary{background:var(--umi-accent)!important;border-color:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.legacy-shell .legacy-workspace__toolbar{border-color:var(--umi-line)!important;background:var(--umi-surface)!important;box-shadow:var(--umi-shadow-sm)}.pdf-viewer__floating{border:1px solid var(--umi-line)!important;background:color-mix(in srgb,var(--umi-surface) 92%,transparent)!important;color:var(--umi-ink)!important;box-shadow:var(--umi-shadow-sm)!important}.pdf-viewer__floating:hover:not(:disabled){background:var(--umi-surface-subtle)!important;box-shadow:var(--umi-shadow-lg)!important}.pdf-overlay-actions{width:min(21.25rem,calc(100vw - 3rem))!important;max-width:calc(100vw - 3rem)!important;border-color:var(--umi-line)!important;background:color-mix(in srgb,var(--umi-surface) 94%,transparent)!important;color:var(--umi-ink)!important;box-shadow:var(--umi-shadow-lg)!important}.pdf-overlay-actions__head{gap:.32rem!important}.pdf-overlay-actions__title,.pdf-overlay-actions__meta,.pdf-overlay-actions__message{min-width:0;overflow-wrap:anywhere}.pdf-overlay-actions__title{color:var(--umi-ink)!important}.pdf-overlay-actions__meta,.pdf-overlay-actions__message{color:var(--umi-muted)!important}.pdf-overlay-actions__progress{background:var(--umi-surface-subtle)!important}.pdf-overlay-actions__progress-fill{background:var(--umi-accent)!important}.pdf-overlay-actions__button{min-height:44px!important;border-color:var(--umi-line)!important;background:var(--umi-surface-subtle)!important;color:var(--umi-ink)!important}.pdf-overlay-actions__button--primary,.pdf-overlay-actions__button--accent{border-color:var(--umi-accent)!important;background:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.pdf-detected-board-button__label{background:color-mix(in srgb,var(--umi-surface) 96%,transparent)!important;color:var(--umi-ink)!important}.detection-workspace__floating-approval,.detection-workspace__floating-draw{border-color:var(--umi-line)!important;background:color-mix(in srgb,var(--umi-surface) 94%,transparent)!important;color:var(--umi-ink)!important;box-shadow:var(--umi-shadow-sm)!important}.detection-workspace__floating-title{color:var(--umi-ink)!important}.detection-workspace__floating-meta{color:var(--umi-muted)!important}.detection-workspace__floating-actions .detect-btn{border-color:var(--umi-line)!important;background:var(--umi-surface-subtle)!important;color:var(--umi-ink)!important}.detection-workspace__floating-actions .detect-btn:hover:not(:disabled){background:var(--umi-surface)!important}.recognition-detection-panel__button--primary,.legacy-workspace__recognition-action--primary{border-color:var(--umi-accent)!important;background:var(--umi-accent)!important;color:var(--umi-on-accent)!important}.recognition-detection-panel__button--primary:hover:not(:disabled),.recognition-detection-panel__button--primary:focus-visible:not(:disabled),.legacy-workspace__recognition-action--primary:hover:not(:disabled),.legacy-workspace__recognition-action--primary:focus-visible:not(:disabled){border-color:var(--umi-accent-hover)!important;background:var(--umi-accent-hover)!important;color:var(--umi-on-accent)!important}.recognition-detection-panel__button--danger{border-color:color-mix(in srgb,var(--umi-danger) 34%,var(--umi-line))!important;background:var(--umi-danger-soft)!important;color:var(--umi-danger)!important}.recognition-detection-panel__button--danger:hover:not(:disabled),.recognition-detection-panel__button--danger:focus-visible:not(:disabled){border-color:var(--umi-danger)!important;background:var(--umi-danger)!important;color:var(--umi-on-accent)!important}.detection-overlay__delete{border-color:var(--umi-surface)!important;background:var(--umi-danger)!important;color:var(--umi-on-accent)!important}.detection-overlay__delete:hover,.detection-overlay__delete:focus-visible{border-color:var(--umi-surface)!important;background:color-mix(in srgb,var(--umi-danger) 84%,var(--umi-ink))!important;color:var(--umi-on-accent)!important}button.practice-color-modal__choice--white{background:linear-gradient(180deg,#f8fafc,#edf3f8)!important;color:#182230!important}button.practice-color-modal__choice--black{background:linear-gradient(180deg,#182233,#263247)!important;color:#f7f9fc!important}button.practice-color-modal__choice--white:is([aria-pressed=true],:hover,:focus-visible){background:linear-gradient(180deg,#f8fafc,#edf3f8)!important;color:#182230!important}button.practice-color-modal__choice--black:is([aria-pressed=true],:hover,:focus-visible){background:linear-gradient(180deg,#182233,#263247)!important;color:#f7f9fc!important}.practice-color-modal__choice--white .practice-color-modal__choice-chip{background:#18223024!important;color:#182230!important}.practice-color-modal__choice--black .practice-color-modal__choice-chip{background:#ffffff2e!important;color:#f7f9fc!important}.practice-color-modal__choice-hint{opacity:1!important}.pdf-viewer__canvas,.pdf-viewer__canvas-frame canvas,.cm-chessboard,.board-workspace-pane__board,.eval-bar{color-scheme:normal}@media(max-width:680px){.app-shell{--shell-fixed-header-height: 58px}.legacy-shell__topbar{padding-inline:max(.55rem,env(safe-area-inset-left))}.legacy-shell__nav{order:3;width:100%;justify-content:space-between}.legacy-shell__nav-link{flex:1 1 0;padding-inline:.35rem}.legacy-shell__theme-control{margin-left:auto}.app-shell{padding-top:calc(var(--shell-fixed-header-height) + 2.55rem)}.legacy-shell__topbar{flex-wrap:wrap;align-content:center;padding-block:.3rem}.app-shell__main{padding-inline:.5rem}.pdf-viewer__empty{align-content:start!important;place-content:start center!important;padding:1rem;overflow:auto}.pdf-overlay-actions--sticky{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:max(.75rem,env(safe-area-inset-bottom))!important;width:min(17rem,calc(100vw - 2rem))!important;max-width:calc(100vw - 2rem)!important;transform:translate(-50%)!important}html.contour-lab-active #app>.app-shell>.app-shell__runtime-stack{margin-top:5rem!important}}@media(max-width:390px){.legacy-shell__nav-link{min-height:2.15rem;font-size:.82rem}.legacy-shell__brand{max-width:calc(100% - 7rem)}}@media(orientation:landscape)and (max-height:520px){.legacy-shell__topbar{position:sticky}.app-shell{padding-top:0}}
