html{scrollbar-gutter:stable;height:100%}:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:#fff;height:100%;margin:0;overflow:hidden}#root{height:100%;overflow:hidden scroll}.workspace{background:#fff;min-height:100vh;padding:16px}.workspace-title{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:0;padding:12px;display:flex}.workspace-title h1{color:#0f172a;margin:0;font-size:1.25rem}.workspace-title p{color:#4b5563;margin:4px 0 0}.workspace-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.workspace-nav a{color:#1f2937;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:7px 10px;font-size:.9rem;text-decoration:none}.workspace-nav a[aria-current=page]{color:#0f172a;background:#e0f2fe;border-color:#22d3ee}.workspace-nav .workspace-nav-source{color:#0f172a;background:#fff;border-color:#94a3b8}.workspace-nav .workspace-nav-source:hover,.workspace-nav .workspace-nav-source:focus-visible{background:#f1f5f9;border-color:#475569}.docs-workspace{align-content:start;gap:16px;display:grid}.docs-header-grid{width:100%}.docs-index{gap:16px;width:min(1120px,100%);margin:0 auto;display:grid}.docs-intro h1,.docs-family h2,.docs-family h3,.docs-article h1,.docs-article h2,.docs-article h3{color:#0f172a}.docs-intro h1{margin:0;font-size:1.5rem}.docs-intro p{color:#475569;margin:6px 0 0}.docs-family-overview{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:4px}.docs-family{gap:18px;display:grid}.docs-family>header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:start;gap:16px;padding-bottom:12px;display:flex}.docs-family>header h2,.docs-family>header p{margin:0}.docs-family>header p{color:#64748b;margin-top:3px;font-size:.88rem}.docs-family>header a,.docs-breadcrumbs a{color:#0369a1}.docs-rule-group{gap:8px;display:grid}.docs-rule-group h3{margin:0;font-size:.92rem}.docs-rule-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.docs-rule-list a{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.docs-rule-list a:hover,.docs-rule-list a:focus-visible{background:#f0f9ff;border-color:#38bdf8}.docs-rule-list small{color:#64748b;text-transform:uppercase;font-size:.72rem}.docs-article{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(920px,100%);margin:0 auto;padding:clamp(16px,4vw,40px)}.docs-breadcrumbs{color:#64748b;flex-wrap:wrap;gap:7px;font-size:.84rem;display:flex}.docs-article-header{border-bottom:1px solid #e5e7eb;margin:24px 0;padding-bottom:24px}.docs-article-header h1{margin:6px 0;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.15}.docs-article-header p{color:#475569;margin:4px 0}.docs-article-header code{color:#334155;background:#f1f5f9;border-radius:5px;margin-top:10px;padding:3px 6px;display:inline-block}.docs-status{text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.docs-status-documented{color:#166534;background:#dcfce7}.docs-status-draft{color:#92400e;background:#fef3c7}.docs-prose{color:#334155;line-height:1.7}.docs-prose h2{margin:28px 0 8px;font-size:1.25rem}.docs-prose p{margin:8px 0}.docs-prose img{border:1px solid #e2e8f0;border-radius:8px;max-width:100%;height:auto;margin:16px auto;display:block}.docs-prose .docs-figure-scroll{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:16px 0;overflow-x:auto}.docs-prose .docs-figure-scroll img{border:0;border-radius:0;width:auto;max-width:none;margin:0}.rule-example{background:#f8fafc;border:1px solid #dbeafe;border-radius:10px;gap:12px;margin:28px 0 0;padding:12px;display:grid}.rule-example-toolbar{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.rule-example-tabs{gap:6px;display:flex}.rule-example-cases{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.rule-example-case{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;margin:0;padding:12px;display:grid}.rule-example-case:only-child,.rule-example-case:last-child:nth-child(odd){grid-column:1/-1}.rule-example-case:last-child:nth-child(odd):not(:only-child){justify-self:center;width:calc(50% - 6px)}.rule-example-case h3{color:#1e293b;margin:0;font-size:.95rem}.rule-example-board{place-items:center;min-width:0;min-height:0;display:grid}.rule-example-case .surface-board{gap:8px;max-width:100%;display:grid}.rule-example-case .surface-board-tools{display:none}.rule-example-case .board-scroll-shell{max-width:100%;max-height:430px}.rule-example-case figcaption{color:#475569;font-size:.88rem}@media (width<=820px){.rule-example-cases{grid-template-columns:minmax(0,1fr)}.rule-example-case,.rule-example-case:last-child:nth-child(odd):not(:only-child){grid-column:auto;width:auto}}.workspace-grid{grid-template-columns:minmax(0,2.25fr) minmax(300px,.9fr);gap:16px;min-width:0;display:grid}.left-column,.right-column{flex-direction:column;gap:16px;min-width:0;display:flex}.panel-card,.board-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:12px}.control-panel-card{position:relative}.panel-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.panel-header h2{color:#0f172a;margin:0;font-size:1rem}.board-panel-header h2{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.board-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.board-zoom-control{color:#4b5563;grid-template-columns:auto minmax(110px,160px) minmax(44px,auto);align-items:center;gap:8px;font-size:.84rem;display:grid}.board-zoom-control input{accent-color:#0891b2;width:100%}.board-zoom-control output{color:#0f172a;font-variant-numeric:tabular-nums;text-align:right}.board-dimensions{color:#6b7280;font-size:.88rem;font-weight:600}.puzzle-stats-anchor{align-items:baseline;display:inline-flex;position:relative}.puzzle-stats-info-trigger{appearance:none;color:#64748b;cursor:help;text-underline-offset:2px;background:0 0;border:0;padding:1px 2px;font-size:.68rem;font-style:italic;font-weight:700;line-height:1;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.puzzle-stats-info-trigger:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #67e8f9}.puzzle-stats-panel{z-index:30;color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;gap:8px;width:240px;padding:10px;font-size:.78rem;font-weight:500;line-height:1.35;display:grid;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 14px 34px #0f172a29}.puzzle-stats-panel[hidden]{display:none}.puzzle-stats-panel strong{color:#0f172a;font-size:.82rem}.puzzle-stats-summary{color:#475569}.puzzle-stats-group{gap:4px;display:grid}.puzzle-stats-group-title{color:#0f172a;text-transform:uppercase;font-size:.72rem;font-weight:800}.puzzle-stats-row{justify-content:space-between;gap:14px;display:flex}.puzzle-stats-row>span:last-child{color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;gap:6px;font-weight:700;display:inline-flex}.puzzle-stats-row small{color:#64748b;font-size:inherit;font-weight:600}.board-display-anchor{align-items:baseline;display:inline-flex;position:relative}.board-display-trigger{appearance:none;color:#64748b;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:1px 2px;font-size:.68rem;font-style:italic;font-weight:700;line-height:1;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.board-display-trigger[data-active=true]{color:#0891b2}.board-display-trigger:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #67e8f9}.board-display-panel{z-index:35;color:#4b5563;background:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;width:min(300px,100vw - 48px);padding:12px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 48px #0f172a29}.board-display-list{gap:8px;display:grid}.board-display-row{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 10px;display:grid}.board-display-row span{gap:2px;min-width:0;display:grid}.board-display-row strong{color:#0f172a;font-size:.82rem;line-height:1.2}.board-display-row small{color:#64748b;font-size:.74rem;font-weight:500;line-height:1.3}.board-display-row input{accent-color:#0891b2;width:18px;height:18px}.board-focus-shell{outline:none}.board-focus-shell:focus-visible{border-radius:12px;box-shadow:0 0 0 2px #cbd5e1}.panel-header small{color:#6b7280}.explanation-panel-header{gap:10px}.explanation-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.board-canvas{cursor:default;border:1px solid #e5e7eb;border-radius:8px;width:100%;max-width:100%}.board-scroll-shell{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;width:100%;min-width:0;max-height:min(72vh,720px);overflow:auto}.scroll-board-canvas,.editor-board-canvas{cursor:default;border:0;border-radius:0;max-width:none;display:block}.board-hint{color:#6b7280;margin:8px 0;font-size:.9rem}.button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.button-row.single{grid-template-columns:1fr}button,select,textarea,input[type=number],input[type=search]{color:#1f2937;font:inherit;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:7px 8px;font-size:.92rem}input[type=range]{font:inherit}button:hover{border-color:#94a3b8}button:disabled{opacity:.5}button[data-active=true]{background:#e0f2fe;border-color:#22d3ee}.label-row{color:#4b5563;flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.label-row.compact{margin-bottom:4px}.url-format-links a{color:#0369a1;text-underline-offset:2px;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.url-format-links a:hover{color:#0f172a}.type-row-wrap{margin-bottom:6px;position:relative}.type-row-label{color:#4b5563;margin-bottom:6px;display:block}.type-row-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.type-row-controls select{flex:1;min-width:140px}.puzzle-info-anchor{flex:none;position:relative}.puzzle-info-button{border-radius:999px;place-items:center;width:34px;height:34px;padding:0;font-weight:800;line-height:1;display:inline-grid}.puzzle-info-panel{z-index:35;color:#4b5563;background:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;width:min(432px,100vw - 48px);max-height:min(620px,100vh - 120px);padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 18px 48px #0f172a29}.puzzle-info-panel-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.puzzle-info-panel-header h2{color:#0f172a;margin:0;font-size:1rem}.puzzle-info-summary{color:#1f2937;margin:0 0 10px;line-height:1.4}.puzzle-info-section{margin-top:10px}.puzzle-info-section h3{color:#0f172a;margin:0 0 6px;font-size:.9rem}.puzzle-info-section ul{margin:0;padding-left:18px;line-height:1.45}.puzzle-info-section li+li{margin-top:4px}.puzzle-info-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.puzzle-info-example-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:0;margin:0;overflow:hidden}.puzzle-info-example-card canvas{border-bottom:1px solid #e5e7eb;width:100%;height:auto;display:block}.puzzle-info-example-card figcaption{color:#6b7280;flex-direction:column;gap:2px;padding:7px;font-size:.76rem;line-height:1.3;display:flex}.puzzle-info-example-card strong{color:#0f172a;font-size:.82rem}.board-legend-anchor{flex:none;position:relative}.board-legend-panel{z-index:35;color:#4b5563;background:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;width:min(560px,100vw - 48px);max-height:min(680px,100vh - 120px);padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 18px 48px #0f172a29}.board-legend-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.board-legend-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.board-legend-item canvas{border:1px solid #e5e7eb;border-radius:6px;width:116px;height:auto;display:block}.board-legend-item h3{color:#0f172a;margin:0 0 4px;font-size:.86rem}.board-legend-item p{color:#4b5563;margin:0;font-size:.78rem;line-height:1.35}.panel-icon-close{color:#475569;border-radius:999px;flex:none;place-items:center;width:30px;height:30px;padding:0;font-size:1.15rem;font-weight:700;line-height:1;display:inline-grid}.custom-grid-anchor{position:relative}.button-compact{white-space:nowrap;padding:7px 10px}.control-groups{flex-direction:column;gap:8px;margin-top:6px;display:flex}.control-group{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:7px}.compact-control-group{padding:6px 7px}.control-group-title{color:#6b7280;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.io-action-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.io-action-row button{white-space:nowrap;min-width:0}.replay-step-row{margin-top:0}.control-inline-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:8px;display:grid}.control-inline-row button{white-space:nowrap;min-width:88px}.control-number-field{color:#4b5563;flex-direction:column;gap:4px;font-size:.86rem;display:flex}.control-number-field input{width:100%;min-width:0}.timeline-row{margin-top:10px}.timeline-header{color:#4b5563;justify-content:space-between;align-items:baseline;gap:8px;font-size:.86rem;display:flex}.timeline-header span{color:#6b7280;flex:none;font-size:.8rem}.timeline-slider-wrap{padding-top:22px;position:relative}.timeline-slider{accent-color:#22d3ee;width:100%}.timeline-slider:disabled{opacity:.5}.timeline-tooltip{pointer-events:none;white-space:nowrap;color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:2px 6px;font-size:.76rem;position:absolute;top:0;transform:translate(-50%);box-shadow:0 8px 20px #0f172a1f}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chunk-stepper-row{grid-template-columns:minmax(0,1fr) minmax(72px,92px) minmax(0,1fr);align-items:center;gap:8px;margin-top:8px;display:grid}.chunk-stepper-row button{white-space:nowrap;min-width:0}.chunk-stepper-field input{text-align:center;width:100%}.custom-grid-popover{z-index:30;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;min-width:220px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0f172a24}.custom-grid-popover-title{color:#0f172a;margin:0 0 10px;font-size:.92rem;font-weight:600}.custom-grid-field{color:#4b5563;flex-direction:column;gap:4px;margin-bottom:8px;font-size:.86rem;display:flex}.custom-grid-field input{max-width:100%}.custom-grid-popover-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.custom-grid-hint{color:#6b7280;margin:10px 0 0;font-size:.78rem;line-height:1.35}.check-row{color:#4b5563;align-items:center;gap:6px;margin-top:7px;display:flex}.solver-check-row{margin-bottom:0;font-size:.86rem}.custom-grid-check-row{align-items:flex-start;margin:2px 0 0;font-size:.86rem;line-height:1.35}.error-text{color:#fb7185;margin:4px 0}.import-error-overlay{z-index:40;background:#0f172a47;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.import-error-dialog{color:#9f1239;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;width:min(520px,100%);max-height:min(620px,100vh - 32px);padding:10px;overflow:auto;box-shadow:0 14px 36px #0f172a29}.import-error-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.import-error-header h3{color:#881337;margin:0;font-size:.98rem}.import-error-summary{color:#9f1239;margin:0 0 8px;line-height:1.4}.import-error-details summary{color:#be123c}.import-error-details pre{color:#9f1239;background:#fff;border:1px solid #fecdd3;border-radius:8px;max-height:180px;margin:8px 0 0;padding:8px;overflow:auto}.divider{border:0;border-top:1px solid #e5e7eb;margin:10px 0}.toggle-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.export-panel{z-index:35;color:#4b5563;background:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;width:min(360px,100% - 24px);padding:12px;position:absolute;top:190px;right:12px;box-shadow:0 18px 48px #0f172a29}.export-panel-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.export-panel-header h2{color:#0f172a;margin:0;font-size:1rem}.copy-feedback{color:#0284c7;margin:6px 0;font-size:.86rem}.solve-progress-overlay{z-index:20;background:#0f172a47;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.solve-progress-modal{color:#4b5563;background:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;width:min(360px,100%);padding:16px;box-shadow:0 18px 48px #0f172a29}.solve-progress-modal h2{color:#0f172a;margin:0;font-size:1rem}.solve-progress-count{color:#1f2937;margin:10px 0 8px;font-weight:600}.solve-progress-bar{background:#fff;border:1px solid #cbd5e1;border-radius:999px;height:10px;overflow:hidden}.solve-progress-bar span{background:#22d3ee;height:100%;display:block}.solve-progress-message{color:#6b7280;margin:8px 0 0;font-size:.9rem}.solve-report-dialog{color:#4b5563;background:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;margin-top:10px;padding:10px}.solve-report-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.solve-report-header h3,.solve-report-section h4{color:#0f172a;margin:0}.solve-report-header h3{font-size:.98rem}.solve-report-section h4{font-size:.9rem}.solve-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.solve-report-grid>div{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.solve-report-grid span{color:#6b7280;font-size:.82rem}.solve-report-grid strong{color:#0f172a}.solve-report-section{margin-top:8px}.solve-report-section p,.solve-report-section ul{margin:6px 0 0}.solve-report-section ul{padding-left:18px}.steps-list{flex-direction:column;gap:8px;max-height:420px;margin:0;padding-left:0;list-style:none;display:flex;overflow:auto}.step-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:8px}.step-item.active{border-color:#22d3ee}.step-item.muted{color:#6b7280}.step-title{color:#1f2937;margin:0;font-weight:600}.step-rule-link{color:inherit;text-underline-offset:3px;font-weight:800;text-decoration-color:#38bdf8;text-decoration-thickness:2px}.step-rule-link:hover,.step-rule-link:focus-visible{color:#0369a1}.step-message{color:#4b5563;margin:4px 0 0}.step-meta{color:#6b7280;margin:4px 0 0;font-size:.85rem}.step-details-link{appearance:none;color:#0284c7;cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.step-details-link:hover{color:#0369a1}.step-details-link:focus-visible{outline-offset:2px;border-radius:3px;outline:2px solid #67e8f9}.branch-inspector-overlay{z-index:60;background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.branch-inspector-dialog{background:#fff;border:1px solid #cbd5e1;border-radius:14px;width:min(1180px,100%);max-height:calc(100vh - 40px);padding:16px;overflow:auto;box-shadow:0 24px 80px #0f172a47}.branch-inspector-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.branch-inspector-header h2,.branch-inspector-header p{margin:0}.branch-inspector-header h2{color:#0f172a;font-size:1.15rem}.branch-inspector-header p,.branch-inspector-muted{color:#64748b;margin-top:4px;font-size:.86rem}.branch-inspector-tabs{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.branch-inspector-tabs button{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:7px 10px}.branch-inspector-tabs button[data-active=true]{color:#0f172a;background:#ecfeff;border-color:#0891b2}.branch-inspector-tabs span{color:#64748b;margin-left:5px;font-size:.76rem}.branch-inspector-layout{grid-template-columns:minmax(0,1fr) 250px;gap:14px;display:grid}.branch-inspector-board,.branch-inspector-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:10px}.branch-inspector-board .board-scroll-shell{background:#fff;max-height:min(62vh,720px)}.surface-board-tools{justify-content:flex-end;margin-bottom:8px;display:flex}.branch-inspector-status{color:#64748b;justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.branch-inspector-status strong[data-status=contradiction],.branch-inspector-contradiction{color:#b91c1c}.branch-inspector-status strong[data-status=forced],.branch-inspector-forced{color:#6d28d9}.branch-inspector-contradiction,.branch-inspector-forced{line-height:1.45}.branch-inspector-stage{background:#fff;border:1px solid #e2e8f0;border-radius:8px;height:150px;margin-top:18px;padding:10px;overflow:auto}.branch-inspector-stage strong{color:#0f172a;font-size:.9rem}.branch-inspector-stage p{color:#64748b;margin:5px 0 0;font-size:.84rem;line-height:1.45}.branch-inspector-legend{color:#475569;gap:8px;margin-top:18px;font-size:.82rem;display:grid}.branch-inspector-legend span{align-items:center;gap:7px;display:flex}.branch-inspector-legend i{border:3px solid;border-radius:4px;width:14px;height:14px}.branch-inspector-legend i[data-kind=assumption]{border-color:#f97316}.branch-inspector-legend i[data-kind=conclusion]{background:#7c3aed29;border-color:#7c3aed}.branch-inspector-legend i[data-kind=step]{border-color:#22d3ee}.branch-inspector-legend i[data-kind=contradiction]{background:#dc262633;border-color:#dc2626}.branch-inspector-controls{justify-content:flex-end;margin-top:14px;display:flex}.branch-inspector-navigation{align-items:center;gap:8px;display:flex}.branch-inspector-navigation input{accent-color:#0891b2;width:min(240px,28vw)}.branch-inspector-navigation output{color:#475569;font-variant-numeric:tabular-nums;min-width:54px;font-size:.82rem}@media (width<=820px){.branch-inspector-layout{grid-template-columns:1fr}.branch-inspector-header{flex-direction:column;align-items:stretch}.branch-inspector-navigation{justify-content:flex-end;width:100%}.surface-board-tools{justify-content:stretch}.surface-board-tools .board-zoom-control{width:100%}}.stats-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stats-summary-grid>div{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.stats-summary-grid span{color:#6b7280;font-size:.85rem}.stats-summary-grid strong{color:#0f172a}.stats-timeline-row{margin-top:12px}.stats-timeline-slider{margin-top:8px}.stats-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.trace-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:0;padding:10px}.trace-chart-header{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.trace-chart-header h3{color:#0f172a;margin:0;font-size:.9rem}.trace-chart-header p{color:#64748b;margin:2px 0 0;font-size:.76rem;line-height:1.3}.trace-chart-header span{color:#64748b;font-variant-numeric:tabular-nums;flex:none;font-size:.76rem}.trace-line-chart{width:100%;height:auto;display:block}.chart-axis{stroke:#94a3b8;stroke-width:1px}.chart-grid-line{stroke:#e2e8f0;stroke-width:1px}.chart-current-line{stroke:#0f172a;stroke-dasharray:4 4;stroke-width:1px;opacity:.5}.chart-axis-label{fill:#64748b;font-size:10px}.trace-chart-legend{color:#475569;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:.76rem;display:flex}.trace-chart-legend span{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.trace-chart-legend i{border-radius:999px;width:8px;height:8px}.rule-usage-panel{margin-top:12px}.rule-usage-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.rule-usage-header h3{color:#0f172a;margin:0;font-size:.92rem}.rule-usage-header span,.rule-usage-empty{color:#6b7280;font-size:.8rem}.rule-usage-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.rule-usage-empty{margin:0}.rule-usage-bars{flex-direction:column;gap:8px;display:flex}.rule-usage-bar-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(140px,1.2fr) minmax(120px,2fr) minmax(116px,auto);align-items:center;gap:8px;padding:8px;display:grid}.rule-usage-bar-meta{min-width:0}.rule-usage-bar-track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.rule-usage-bar-track span{border-radius:inherit;background:#0891b2;height:100%;display:block}.rule-usage-bar-values{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;grid-template-columns:repeat(3,auto);justify-content:end;gap:8px;font-size:.76rem;display:grid}.rule-usage-bar-values strong{color:#0f172a}.rule-step-summary{color:#64748b;font-variant-numeric:tabular-nums;margin-top:2px;font-size:.72rem;display:block}.rule-usage-table-wrap{border:1px solid #e5e7eb;border-radius:8px;margin-top:10px;overflow-x:auto}.rule-usage-table{border-collapse:collapse;color:#334155;width:100%;font-size:.8rem}.rule-usage-table th,.rule-usage-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf2f7;padding:7px 8px}.rule-usage-table th{color:#475569;text-transform:uppercase;background:#f8fafc;font-size:.74rem}.rule-usage-table tr:last-child td{border-bottom:0}.rule-name,.rule-id{display:block}.rule-name{color:#0f172a;font-weight:700}.rule-id{color:#64748b;margin-top:2px;font-size:.72rem}.rule-step-list{color:#475569;font-variant-numeric:tabular-nums;white-space:normal;max-width:180px}@media (width<=900px){.stats-summary-grid,.stats-chart-grid{grid-template-columns:1fr}.rule-usage-header{flex-direction:column;align-items:flex-start}.rule-usage-actions{justify-content:flex-start}.rule-usage-bar-row{grid-template-columns:1fr}.rule-usage-bar-values{justify-content:start}}.editor-board-card{min-height:0}.editor-size-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.editor-size-row button{min-width:96px}.editor-url-field,.editor-pearl-group{margin-top:8px}.editor-pearl-tool-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.editor-pearl-tool-row button{white-space:nowrap;min-width:0}.editor-pearl-tool-row button[data-active=true]{color:#0f172a;background:#cffafe;border-color:#0891b2;font-weight:700}.primary-action{color:#0f172a;background:#e0f2fe;border-color:#22d3ee;font-weight:700}.dataset-workspace-grid{align-items:stretch;height:calc(100vh - 32px)}.dataset-workspace-grid .left-column,.dataset-workspace-grid .right-column{min-height:0}.dataset-list-card{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.dataset-list-header{align-items:flex-start}.dataset-list-header small{margin-top:4px;display:block}.dataset-action-error{margin-top:0}.dataset-card-list{flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;padding-right:2px;display:grid;overflow:auto}.dataset-puzzle-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:136px minmax(0,1fr);gap:10px;min-width:0;padding:8px;display:grid}.dataset-preview{aspect-ratio:1;color:#475569;background-color:#f8fafc;background-image:linear-gradient(#e5e7eb 1px,#0000 1px),linear-gradient(90deg,#e5e7eb 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #e5e7eb;border-radius:8px;place-items:center;width:136px;font-weight:700;display:grid;overflow:hidden}.dataset-preview-canvas{width:100%;height:100%;display:block}.dataset-card-body{flex-direction:column;justify-content:center;gap:5px;min-width:0;display:flex}.dataset-card-body h3{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.92rem;overflow:hidden}.dataset-card-meta{color:#6b7280;font-size:.78rem}.dataset-tags{flex-wrap:wrap;gap:4px;min-height:21px;display:flex}.dataset-tags span{color:#4b5563;border:1px solid #cbd5e1;border-radius:999px;padding:2px 6px;font-size:.74rem}.dataset-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:1px;display:flex}.dataset-card-actions a{color:#0369a1;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700;line-height:1.2;text-decoration:none}.dataset-card-actions a:hover{color:#0f172a;text-decoration:underline}.dataset-card-actions .dataset-primary-link{color:#0e7490}.dataset-filter-group{margin-top:10px}.dataset-filter-row{flex-wrap:wrap;gap:6px;display:flex}.dataset-filter-row button{min-height:32px}.dataset-filter-row button[data-active=true]{color:#0f172a;background:#e0f2fe;border-color:#22d3ee;font-weight:700}.dataset-empty{color:#6b7280;margin:0}details summary{cursor:pointer;color:#4b5563}details pre{color:#4b5563;white-space:pre-wrap;font-size:12px}@media (width<=1080px){.workspace-grid{grid-template-columns:1fr}.dataset-workspace-grid{height:auto}.dataset-card-list{max-height:min(62vh,680px)}}@media (width<=860px){.dataset-card-list{grid-template-columns:1fr}}@media (width<=520px){.workspace-title{flex-direction:column;align-items:flex-start}.puzzle-info-panel{left:50%;right:auto;transform:translate(-50%)}.puzzle-info-example-grid{grid-template-columns:1fr}.board-legend-panel{left:50%;right:auto;transform:translate(-50%)}.board-legend-list{grid-template-columns:1fr}.board-legend-item{grid-template-columns:104px minmax(0,1fr)}.board-legend-item canvas{width:104px}.io-action-row{grid-template-columns:1fr}.chunk-stepper-row{grid-template-columns:minmax(0,1fr) minmax(64px,78px) minmax(0,1fr);gap:6px}.chunk-stepper-row button{padding-inline:6px;font-size:.82rem}.editor-size-row{grid-template-columns:1fr 1fr}.dataset-puzzle-card{grid-template-columns:104px minmax(0,1fr)}.dataset-preview{width:104px}.dataset-card-actions{gap:7px}}
