@import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&display=swap";:root{--color-stone-50: #fafaf9;--color-stone-100: #f5f5f4;--color-stone-200: #e7e5e4;--color-stone-300: #d6d3d1;--color-stone-400: #a8a29e;--color-stone-500: #78716c;--color-stone-700: #44403c;--color-stone-900: #1c1917;--color-amber-100: #fef3c7;--color-amber-200: #fde68a;--color-amber-300: #fcd34d;--color-amber-500: #f59e0b;--color-amber-700: #b45309;--color-paper-50: #fbf8f1;--color-paper-100: #f5efe1;--color-paper-200: #ece4cf;--color-board-blue: #b8c8d3;--color-board-red: #74303c;--bg-page: var(--color-paper-50);--bg-surface: #ffffff;--bg-surface-soft: var(--color-paper-100);--bg-surface-active: #fff8e6;--text-primary: var(--color-stone-900);--text-muted: var(--color-stone-700);--text-subtle: var(--color-stone-500);--text-faint: var(--color-stone-400);--text-inverse: var(--color-stone-50);--text-accent: var(--color-amber-700);--border-subtle: var(--color-paper-200);--border-strong: var(--color-stone-900);--border-accent: var(--color-amber-300);--btn-bg: transparent;--btn-bg-hover: var(--color-paper-100);--btn-border: var(--color-paper-200);--btn-border-hover: var(--color-stone-900);--btn-primary-bg: var(--color-stone-900);--btn-primary-bg-hover: var(--color-stone-700);--btn-primary-text: var(--color-stone-50);--square-light: var(--color-board-blue);--square-dark: var(--color-board-red);--highlight-light: var(--color-amber-200);--highlight-dark: var(--color-amber-500);--board-border: var(--color-stone-900);--piece-light: #f4f4f3;--piece-dark: #2a2a2b;--shadow-sm: 0 1px 2px rgba(28, 25, 23, .04), 0 1px 1px rgba(28, 25, 23, .03);--shadow-md: 0 2px 4px rgba(28, 25, 23, .04), 0 4px 12px rgba(28, 25, 23, .06);--shadow-lg: 0 6px 16px rgba(28, 25, 23, .08), 0 12px 32px rgba(28, 25, 23, .1);--shadow-board: 0 20px 60px -20px rgba(28, 25, 23, .25), 0 8px 24px -8px rgba(28, 25, 23, .15);--shadow-active: 0 0 0 1px var(--color-amber-300), 0 4px 16px -4px rgba(245, 158, 11, .25);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--max-width-reading: 36rem;--max-width-stage: 1280px;--rail-width: 280px;--story-width: 380px;--board-size-desktop: 560px;--radius-sm: 6px;--radius-md: 10px;--radius-cute: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-medium: .3s ease;--transition-spring: .36s cubic-bezier(.34, 1.56, .64, 1);--transition-bounce: .42s cubic-bezier(.34, 1.7, .4, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--shadow-cute: 0 4px 16px -6px rgba(180, 83, 9, .18), 0 1px 3px rgba(28, 25, 23, .06)}:root{--font-family-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--text-size-title: 24px;--text-size-body: 15px;--text-size-control: 14px;--text-size-meta: 13px;--text-size-eyebrow: 11px;--text-size-axis: 11px;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.625}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}body{font-family:var(--font-family-sans);background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}ul,ol{list-style:none}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px;border-radius:2px}html,body{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}.dialkit-root{--dial-surface: rgba(255, 255, 255, .05);--dial-surface-hover: rgba(255, 255, 255, .1);--dial-surface-active: rgba(255, 255, 255, .11);--dial-surface-subtle: rgba(255, 255, 255, .06);--dial-text-root: #FFFFFF;--dial-text-section: rgba(255, 255, 255, .7);--dial-text-label: rgba(255, 255, 255, .7);--dial-text-focus: #ffffff;--dial-text-primary: rgba(255, 255, 255, .95);--dial-text-secondary: rgba(255, 255, 255, .6);--dial-text-tertiary: rgba(255, 255, 255, .4);--dial-border: rgba(255, 255, 255, .1);--dial-border-hover: rgba(255, 255, 255, .15);--dial-glass-bg: #212121;--dial-dropdown-bg: #2a2a2a;--dial-backdrop-blur: 20px;--dial-radius: 8px;--dial-row-height: 36px;--dial-shadow: 0 8px 32px rgba(0, 0, 0, .5);--dial-shadow-collapsed: 0 4px 16px rgba(0, 0, 0, .25);--dial-shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .4);font-family:system-ui,-apple-system,SF Pro Display,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dialkit-panel{position:fixed;z-index:9999;max-height:calc(100vh - 32px);overflow:visible}.dialkit-root[data-mode=inline]{height:100%}.dialkit-panel[data-mode=inline]{position:static;z-index:auto;max-height:100%;height:100%;overflow:hidden}.dialkit-panel-inner{background:var(--dial-glass-bg);border:1px solid var(--dial-border);border-radius:14px;backdrop-filter:blur(var(--dial-backdrop-blur));-webkit-backdrop-filter:blur(var(--dial-backdrop-blur));padding:10px 12px 0;transform:translateZ(0);transform-origin:top right}.dialkit-panel[data-position=top-left] .dialkit-panel-inner{transform-origin:top left;max-height:calc(100vh - 80px);overflow-y:auto}.dialkit-panel-inner[data-collapsed=true]{border-radius:50%;padding:12px;box-sizing:border-box}.dialkit-panel-inner[data-collapsed=true] .dialkit-panel-header{padding-bottom:0;margin-bottom:0;border-bottom:none}.dialkit-panel-inner[data-collapsed=true] .dialkit-folder-title-row{display:none}.dialkit-panel-inner[data-collapsed=true] .dialkit-folder-header-top{justify-content:center;padding:0}.dialkit-panel-inner::-webkit-scrollbar{display:none}.dialkit-panel-inner{-ms-overflow-style:none;scrollbar-width:none}.dialkit-panel-inline{width:100%;height:100%;max-height:none;overflow-y:auto;box-shadow:none;border-radius:0;border:none;box-sizing:border-box}.dialkit-panel[data-mode=inline] .dialkit-panel-wrapper{display:flex;flex-direction:column;width:100%;height:100%}.dialkit-panel[data-position=top-right]{top:16px;right:16px}.dialkit-panel[data-position=top-left]{top:16px;left:16px}.dialkit-panel[data-position=bottom-right]{bottom:16px;right:16px}.dialkit-panel[data-position=bottom-left]{bottom:16px;left:16px}.dialkit-folder{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--dial-surface-subtle)}.dialkit-folder:last-child:not(.dialkit-folder-root){padding-bottom:0;margin-bottom:0}.dialkit-folder-root{padding-bottom:0;margin-bottom:0;border-bottom:none}.dialkit-panel-header{padding-bottom:6px;margin-bottom:12px;border-bottom:1px solid var(--dial-surface-subtle)}.dialkit-folder-header{cursor:pointer;-webkit-user-select:none;user-select:none}.dialkit-folder-header-top{display:flex;align-items:center;justify-content:space-between;padding:0 0 8px}.dialkit-folder-title{font-size:13px;font-weight:600;color:var(--dial-text-section);letter-spacing:-.01em;transform:translateY(-.5px);transition:color .15s}.dialkit-folder-title-root{font-size:15px;font-weight:600;color:var(--dial-text-root);transform:translateZ(0)}.dialkit-folder-title-row{display:flex;align-items:center;gap:6px;flex:1;white-space:nowrap;overflow:hidden}.dialkit-folder-copy{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;cursor:pointer}.dialkit-folder-copy svg{width:14px;height:14px;color:var(--dial-text-section)}.dialkit-folder-icon{width:20px;height:20px;padding:2px;box-sizing:border-box;flex-shrink:0;color:var(--dial-text-label);opacity:.6}.dialkit-panel-icon{position:absolute;top:12px;right:12px;width:16px;height:16px;color:var(--dial-text-focus);z-index:1}.dialkit-folder-content{will-change:transform}.dialkit-folder-inner{display:flex;flex-direction:column;gap:6px;padding-bottom:10px}.dialkit-folder:not(.dialkit-folder-root){border-top:1px solid var(--dial-surface-subtle);border-bottom:1px solid var(--dial-surface-subtle);margin-top:4px;margin-bottom:4px;padding-bottom:0}.dialkit-folder:not(.dialkit-folder-root)+.dialkit-folder:not(.dialkit-folder-root){margin-top:-10px;border-top:none}.dialkit-folder:not(.dialkit-folder-root)>.dialkit-folder-header{height:var(--dial-row-height);padding:0}.dialkit-folder:not(.dialkit-folder-root)>.dialkit-folder-header>.dialkit-folder-header-top{padding:0;height:100%}.dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner{padding-bottom:0}.dialkit-slider-wrapper{position:relative;height:var(--dial-row-height)}.dialkit-slider{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;background:var(--dial-surface);border-radius:var(--dial-radius);touch-action:none}.dialkit-slider-hashmarks{position:absolute;inset:0;pointer-events:none}.dialkit-slider-hashmark{position:absolute;top:50%;width:1px;height:8px;border-radius:999px;transform:translate(-50%) translateY(-50%);background:#fff0;transition:background .2s}.dialkit-slider-active .dialkit-slider-hashmark{background:var(--dial-border-hover)}.dialkit-slider-active .dialkit-slider-value{color:var(--dial-text-focus)}.dialkit-slider-fill{position:absolute;top:0;bottom:0;left:0;background:var(--dial-surface-active);transition:background .15s;pointer-events:none}.dialkit-slider-active .dialkit-slider-fill{background:var(--dial-border-hover)}.dialkit-slider-handle{position:absolute;top:50%;width:3px;height:20px;border-radius:999px;background:var(--dial-text-primary);pointer-events:none}.dialkit-slider-label{position:absolute;left:10px;top:50%;transform:translateY(calc(-50% - .5px));font-size:13px;font-weight:500;color:var(--dial-text-label);pointer-events:none;transition:color .15s;display:inline-flex;align-items:center}.dialkit-slider-value{position:absolute;right:10px;top:50%;transform:translateY(calc(-50% + .5px));font-size:13px;font-weight:500;font-family:Geist Mono,monospace;color:var(--dial-text-label);pointer-events:auto;transition:color .15s,border-color .15s;border-bottom:1px solid transparent;padding-bottom:1px}.dialkit-slider-value-editable{border-bottom-color:var(--dial-text-label)}.dialkit-slider-input{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:4ch;min-width:3ch;max-width:6ch;font-size:13px;font-weight:500;font-family:Geist Mono,monospace;color:var(--dial-text-label);background:transparent;border:none;border-bottom:1px solid var(--dial-text-label);padding:0 0 1px;outline:none;text-align:right}.dialkit-slider-input:focus{color:var(--dial-text-focus)}.dialkit-segmented{position:relative;display:flex;padding:2px;background:transparent;border-radius:var(--dial-radius)}.dialkit-segmented-pill{position:absolute;top:2px;bottom:2px;background:var(--dial-surface-active);border-radius:6px;z-index:0;pointer-events:none}.dialkit-segmented-button{position:relative;z-index:1;flex:0 0 auto;padding:6px 8px;font-family:inherit;font-size:13px;font-weight:500;background:transparent;border:none;cursor:pointer;transition:color .15s}.dialkit-segmented-button[data-active=true]{color:var(--dial-text-primary)}.dialkit-segmented-button[data-active=false]{color:var(--dial-text-label)}.dialkit-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.dialkit-toggle:hover{background:var(--dial-surface-hover)}.dialkit-toggle-label{font-size:13px;font-weight:500;color:var(--dial-text-label);transition:color .15s}.dialkit-toggle[data-checked=true] .dialkit-toggle-label{color:var(--dial-text-primary)}.dialkit-toggle-track{width:36px;height:20px;border-radius:10px;background:var(--dial-surface-active);transition:background .2s;position:relative}.dialkit-toggle[data-checked=true] .dialkit-toggle-track{background:var(--dial-border-hover)}.dialkit-toggle-thumb{position:absolute;top:2px;width:16px;height:16px;border-radius:8px;background:var(--dial-text-primary)}.dialkit-button-group{display:flex;flex-direction:column;gap:6px}.dialkit-button{flex:1;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-secondary);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s,color .15s}.dialkit-button:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-button:active{background:var(--dial-surface-active)}.dialkit-labeled-control{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--dial-row-height);padding:2px 10px 2px 12px;background:var(--dial-surface);border-radius:var(--dial-radius)}.dialkit-labeled-control-label{display:flex;align-items:center;font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0;line-height:17px}.dialkit-labeled-control .dialkit-segmented{flex-shrink:0;margin-right:-6px}.dialkit-action-button{width:160px;flex-shrink:0;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-secondary);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s,color .15s}.dialkit-action-button:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-action-button:active{background:var(--dial-surface-active)}.dialkit-actions-group{align-items:flex-start}.dialkit-actions-stack{display:flex;flex-direction:column;gap:6px;width:160px}.dialkit-spring-viz{width:100%;border-radius:var(--dial-radius);background:var(--dial-surface);overflow:visible}.dialkit-easing-viz{width:100%;aspect-ratio:256 / 140}.dialkit-panel-wrapper{display:inline-flex;flex-direction:column}.dialkit-panel-toolbar{display:flex;align-items:center;gap:6px;height:var(--dial-row-height);margin-bottom:6px;min-width:0;overflow:hidden}.dialkit-toolbar-add{display:flex;align-items:center;justify-content:center;width:var(--dial-row-height);height:var(--dial-row-height);padding:0;flex-shrink:0;background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-toolbar-add:hover{background:var(--dial-surface-hover)}.dialkit-toolbar-add svg{width:16px;height:16px;color:var(--dial-text-label)}.dialkit-toolbar-copy{position:relative;display:flex;align-items:center;gap:6px;height:var(--dial-row-height);padding:0 12px;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-toolbar-copy:hover{background:var(--dial-surface-hover)}.dialkit-toolbar-copy-icon-wrap{position:relative;width:16px;height:16px;flex-shrink:0}.dialkit-toolbar-copy-icon{position:absolute;inset:0;width:16px;height:16px}.dialkit-text-control{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--dial-row-height);padding:0 12px;background:var(--dial-surface);border-radius:var(--dial-radius)}.dialkit-text-label{font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0}.dialkit-text-input{flex:1;min-width:0;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:transparent;border:none;padding:0;outline:none;text-align:right;cursor:text}.dialkit-text-input:focus{color:var(--dial-text-focus)}.dialkit-text-input::placeholder{color:var(--dial-text-tertiary)}.dialkit-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--dial-row-height);padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-select-trigger:hover{background:var(--dial-surface-hover)}.dialkit-select-trigger[data-open=true]{background:var(--dial-surface-active)}.dialkit-select-label{font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0;transform:translateY(-.5px)}.dialkit-select-right{display:flex;align-items:center;gap:8px}.dialkit-select-value{font-size:13px;font-weight:500;color:var(--dial-text-label);transform:translateY(-.5px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialkit-select-chevron{width:20px;height:20px;padding:2px;box-sizing:border-box;flex-shrink:0;opacity:.6}.dialkit-select-dropdown{background:var(--dial-glass-bg);border:1px solid var(--dial-border);border-radius:var(--dial-radius);padding:4px;z-index:10000;box-shadow:var(--dial-shadow-dropdown)}.dialkit-select-option{display:block;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.dialkit-select-option:hover{background:var(--dial-surface-hover)}.dialkit-select-option[data-selected=true]{color:var(--dial-text-primary);background:var(--dial-surface-active)}.dialkit-color-control{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--dial-row-height);padding:0 12px;background:var(--dial-surface);border-radius:var(--dial-radius)}.dialkit-color-label{font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0;transform:translateY(-.5px)}.dialkit-color-inputs{display:flex;align-items:center;gap:8px}.dialkit-color-hex{font-size:13px;font-weight:500;font-family:Geist Mono,monospace;color:var(--dial-text-label);cursor:text;transform:translateY(-.5px)}.dialkit-color-hex-input{width:7ch;font-size:13px;font-weight:500;font-family:Geist Mono,monospace;color:var(--dial-text-label);background:transparent;border:none;padding:0;outline:none;text-transform:uppercase;transform:translateY(-.5px)}.dialkit-color-hex-input:focus{color:var(--dial-text-focus)}.dialkit-color-swatch{width:20px;height:20px;border-radius:4px;border:1px solid var(--dial-border-hover);cursor:pointer;transition:transform .15s}.dialkit-color-swatch:hover{transform:scale(1.1)}.dialkit-color-picker-native{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.dialkit-preset-manager{position:relative;flex:1}.dialkit-preset-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--dial-row-height);padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-preset-trigger:hover{background:var(--dial-surface-hover)}.dialkit-preset-trigger[data-disabled=true]{cursor:default}.dialkit-preset-trigger[data-disabled=true]:hover{background:var(--dial-surface)}.dialkit-preset-trigger[data-open=true]{background:var(--dial-surface-active)}.dialkit-preset-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialkit-preset-dropdown{width:max-content;background:var(--dial-dropdown-bg);border:1px solid var(--dial-border);border-radius:12px;padding:4px;z-index:10000;box-shadow:var(--dial-shadow-dropdown)}.dialkit-preset-list{display:flex;flex-direction:column;gap:2px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--dial-border)}.dialkit-preset-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;gap:8px;border-radius:8px;cursor:pointer;transition:background .15s}.dialkit-preset-item:hover{background:var(--dial-surface-hover)}.dialkit-preset-item[data-active=true]{background:var(--dial-surface-active)}.dialkit-preset-name{font-size:13px;font-weight:500;color:var(--dial-text-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialkit-preset-item[data-active=true] .dialkit-preset-name{color:var(--dial-text-primary)}.dialkit-preset-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .15s;flex-shrink:0}.dialkit-preset-item:hover .dialkit-preset-delete{opacity:.6}.dialkit-preset-delete:hover{opacity:1!important}.dialkit-preset-delete svg{width:14px;height:14px;color:var(--dial-text-focus);pointer-events:none}.dialkit-preset-save-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.dialkit-preset-save-btn:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-preset-save-btn svg{width:12px;height:12px}.dialkit-preset-save-row{display:flex;align-items:center;gap:6px;padding:4px}.dialkit-preset-input{flex:1;min-width:0;padding:6px 8px;font-family:inherit;font-size:13px;color:var(--dial-text-primary);background:var(--dial-surface);border:1px solid var(--dial-border);border-radius:6px;outline:none}.dialkit-preset-input:focus{border-color:var(--dial-text-label)}.dialkit-preset-input::placeholder{color:var(--dial-text-tertiary)}.dialkit-preset-confirm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--dial-surface);border:none;border-radius:6px;cursor:pointer;transition:background .15s}.dialkit-preset-confirm:hover:not(:disabled){background:var(--dial-surface-hover)}.dialkit-preset-confirm:disabled{opacity:.4;cursor:not-allowed}.dialkit-preset-confirm svg{width:14px;height:14px;color:var(--dial-text-label)}.dialkit-shortcut-pill{display:inline-block;font-size:10px;font-weight:600;font-family:system-ui,-apple-system,sans-serif;color:var(--dial-text-tertiary);background:var(--dial-surface-subtle);padding:1px 5px;border-radius:4px;margin-left:6px;letter-spacing:.02em;line-height:16px;white-space:nowrap;vertical-align:middle;transition:color .15s,background .15s}.dialkit-shortcut-pill-active{color:var(--dial-text-primary);background:var(--dial-border-hover)}.dialkit-shortcuts-trigger{display:flex;align-items:center;justify-content:center;width:var(--dial-row-height);height:var(--dial-row-height);padding:0;flex-shrink:0;background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-shortcuts-trigger:hover{background:var(--dial-surface-hover)}.dialkit-shortcuts-trigger svg{width:16px;height:16px;color:var(--dial-text-label)}.dialkit-shortcuts-dropdown{background:var(--dial-dropdown-bg);border:1px solid var(--dial-border);border-radius:12px;padding:8px;z-index:10000;box-shadow:var(--dial-shadow-dropdown);min-width:200px}.dialkit-shortcuts-title{font-size:11px;font-weight:600;color:var(--dial-text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 8px}.dialkit-shortcuts-list{display:flex;flex-direction:column;gap:2px}.dialkit-shortcuts-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px}.dialkit-shortcuts-row-key{font-size:11px;font-weight:600;font-family:ui-monospace,SF Mono,Courier New,monospace;color:var(--dial-text-secondary);background:var(--dial-surface-subtle);padding:2px 6px;border-radius:4px;min-width:28px;text-align:center}.dialkit-shortcuts-row-label{flex:1;font-size:13px;font-weight:500;color:var(--dial-text-label)}.dialkit-shortcuts-row-mode{font-size:11px;font-weight:500;color:var(--dial-text-tertiary);font-style:italic}.dialkit-shortcuts-hint{font-size:11px;color:var(--dial-text-tertiary);padding:6px 8px 2px;border-top:1px solid var(--dial-border);margin-top:4px}.dialkit-root[data-theme=light]{--dial-surface: rgba(0, 0, 0, .04);--dial-surface-hover: rgba(0, 0, 0, .08);--dial-surface-active: rgba(0, 0, 0, .1);--dial-surface-subtle: rgba(0, 0, 0, .06);--dial-text-root: #000000;--dial-text-section: rgba(0, 0, 0, .65);--dial-text-label: rgba(0, 0, 0, .6);--dial-text-focus: #000000;--dial-text-primary: rgba(0, 0, 0, .9);--dial-text-secondary: rgba(0, 0, 0, .55);--dial-text-tertiary: rgba(0, 0, 0, .35);--dial-border: rgba(0, 0, 0, .1);--dial-border-hover: rgba(0, 0, 0, .15);--dial-glass-bg: #fafafa;--dial-dropdown-bg: #ffffff;--dial-shadow: 0 4px 20px rgba(0, 0, 0, .08);--dial-shadow-collapsed: 0 2px 10px rgba(0, 0, 0, .06);--dial-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, .08)}.dialkit-root[data-theme=light] .dialkit-spring-viz line{stroke:#00000014}.dialkit-root[data-theme=light] .dialkit-spring-viz line[stroke-dasharray]{stroke:#00000026}.dialkit-root[data-theme=light] .dialkit-spring-viz path{stroke:#00000080}.dialkit-root[data-theme=light] .dialkit-toggle-thumb{box-shadow:0 0 0 1px #0000000f,0 1px 2px #00000014}@media(prefers-color-scheme:light){.dialkit-root[data-theme=system]{--dial-surface: rgba(0, 0, 0, .04);--dial-surface-hover: rgba(0, 0, 0, .08);--dial-surface-active: rgba(0, 0, 0, .1);--dial-surface-subtle: rgba(0, 0, 0, .06);--dial-text-root: #000000;--dial-text-section: rgba(0, 0, 0, .65);--dial-text-label: rgba(0, 0, 0, .6);--dial-text-focus: #000000;--dial-text-primary: rgba(0, 0, 0, .9);--dial-text-secondary: rgba(0, 0, 0, .55);--dial-text-tertiary: rgba(0, 0, 0, .35);--dial-border: rgba(0, 0, 0, .1);--dial-border-hover: rgba(0, 0, 0, .15);--dial-glass-bg: #fafafa;--dial-dropdown-bg: #ffffff;--dial-shadow: 0 4px 20px rgba(0, 0, 0, .08);--dial-shadow-collapsed: 0 2px 10px rgba(0, 0, 0, .06);--dial-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, .08)}.dialkit-root[data-theme=system] .dialkit-spring-viz line{stroke:#00000014}.dialkit-root[data-theme=system] .dialkit-spring-viz line[stroke-dasharray]{stroke:#00000026}.dialkit-root[data-theme=system] .dialkit-spring-viz path{stroke:#00000080}.dialkit-root[data-theme=system] .dialkit-toggle-thumb{box-shadow:0 0 0 1px #0000000f,0 1px 2px #00000014}}.Piece-module__piece{display:block;width:40%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.Square-module__square{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-medium)}.Square-module__light{background-color:var(--square-light)}.Square-module__dark{background-color:var(--square-dark)}.Square-module__highlighted.Square-module__light{background-color:var(--highlight-light)}.Square-module__highlighted.Square-module__dark{background-color:var(--highlight-dark)}.Square-module__pieceWrap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6%;pointer-events:none}.Arrow-module__arrow{stroke:var(--piece-dark);fill:var(--piece-dark);stroke-width:2.5;opacity:.85}.BoardStage-module__boardLayout{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:var(--space-2);width:max-content;margin:0 auto}.BoardStage-module__rankAxis{display:grid;grid-template-rows:repeat(8,1fr);align-items:center;justify-items:center}.BoardStage-module__fileAxis{display:grid;grid-template-columns:repeat(8,1fr);align-items:center;justify-items:center}.BoardStage-module__rankAxis span,.BoardStage-module__fileAxis span{font-size:var(--text-size-axis);font-weight:var(--font-weight-medium);color:var(--text-faint);letter-spacing:.08em;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.BoardStage-module__boardFrame{position:relative;border-radius:var(--radius-lg);box-shadow:0 1px #1c19170a,var(--shadow-md)}.BoardStage-module__boardGrid{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;border-radius:var(--radius-lg);overflow:hidden}.BoardStage-module__cellWrap{position:relative;aspect-ratio:1 / 1;overflow:visible}.BoardStage-module__boardBorder{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #1c191714;border-radius:var(--radius-lg)}.BoardStage-module__arrowSvg{position:absolute;inset:0;pointer-events:none;border-radius:var(--radius-lg);overflow:hidden}.ChapterPicker-module__wrap{position:relative;width:100%}.ChapterPicker-module__trigger{width:calc(100% + 16px);margin:0 -8px;text-align:left;display:flex;flex-direction:column;gap:3px;padding:10px;background:transparent;border:0;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-cute);transition:background-color var(--transition-fast),transform var(--transition-spring)}.ChapterPicker-module__trigger:hover{background:var(--bg-surface-soft)}.ChapterPicker-module__trigger:active{transform:scale(.99)}.ChapterPicker-module__trigger:focus-visible{outline:2px solid var(--color-stone-900);outline-offset:4px}.ChapterPicker-module__eyebrow{display:block;font-size:10px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.ChapterPicker-module__trigger:hover .ChapterPicker-module__eyebrow{color:var(--text-accent)}.ChapterPicker-module__titleRow{display:inline-flex;align-items:center;gap:8px}.ChapterPicker-module__title{font-size:16px;line-height:1.3;font-weight:var(--font-weight-medium);color:var(--text-primary)}.ChapterPicker-module__chev{color:var(--text-subtle);transition:transform var(--transition-spring),color var(--transition-fast)}.ChapterPicker-module__trigger:hover .ChapterPicker-module__chev{color:var(--text-primary);transform:translateY(1px)}.ChapterPicker-module__chevOpen{transform:rotate(180deg)}.ChapterPicker-module__trigger:hover .ChapterPicker-module__chevOpen{transform:rotate(180deg) translateY(-1px)}.ChapterPicker-module__popover{position:absolute;left:-8px;right:-8px;top:calc(100% + 10px);z-index:30;list-style:none;margin:0;padding:8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-cute),var(--shadow-lg);max-height:60dvh;overflow-y:auto}.ChapterPicker-module__popover:focus{outline:none}.ChapterPicker-module__option{position:relative;display:flex;flex-direction:column;gap:2px;padding:9px 14px 9px 12px;border-radius:var(--radius-cute);cursor:pointer;color:var(--text-primary);transition:background-color var(--transition-fast),transform var(--transition-spring);min-width:0}.ChapterPicker-module__option:hover{transform:translate(2px)}.ChapterPicker-module__optionFocused{background:var(--bg-surface-soft)}.ChapterPicker-module__optionActive{background:var(--bg-surface-active)}.ChapterPicker-module__optionTitle{font-size:14px;line-height:1.35;font-weight:var(--font-weight-regular);color:var(--text-primary)}.ChapterPicker-module__optionActive .ChapterPicker-module__optionTitle{font-weight:var(--font-weight-medium)}.ChapterPicker-module__optionSummary{font-size:12px;line-height:1.4;color:var(--text-subtle)}.ChapterPicker-module__optionDot{position:absolute;top:50%;right:12px;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-amber-500);box-shadow:0 0 0 3px #f59e0b2e;transform:translateY(-50%)}.LessonSidebar-module__sidebar{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.LessonSidebar-module__chapterHeader{flex-shrink:0;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.LessonSidebar-module__list{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 8px;margin:-4px -8px;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.LessonSidebar-module__list::-webkit-scrollbar{width:4px}.LessonSidebar-module__list::-webkit-scrollbar-track{background:transparent}.LessonSidebar-module__list::-webkit-scrollbar-thumb{background-color:var(--border-subtle);border-radius:var(--radius-full)}.LessonSidebar-module__item{list-style:none}.LessonSidebar-module__row{width:calc(100% + 16px);margin:0 -8px;text-align:left;display:grid;grid-template-columns:18px 1fr;align-items:baseline;gap:var(--space-2);padding:8px;border-radius:var(--radius-cute);color:var(--text-primary);opacity:.45;transition:opacity .2s ease,background-color var(--transition-fast),transform var(--transition-spring),color var(--transition-fast);cursor:pointer}.LessonSidebar-module__row:hover{opacity:.85;background:var(--bg-surface-soft);transform:translate(2px)}.LessonSidebar-module__itemActive .LessonSidebar-module__row{opacity:1}.LessonSidebar-module__itemActive .LessonSidebar-module__row:hover{opacity:1;transform:translate(2px)}.LessonSidebar-module__num{font-size:11px;letter-spacing:.04em;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);justify-self:center}.LessonSidebar-module__check{justify-self:center;color:var(--text-accent);transform:translateY(1px);animation:LessonSidebar-module__checkPop .46s cubic-bezier(.34,1.7,.4,1)}@keyframes LessonSidebar-module__checkPop{0%{opacity:0;transform:translateY(1px) scale(.4) rotate(-12deg)}60%{opacity:1;transform:translateY(1px) scale(1.15) rotate(2deg)}to{opacity:1;transform:translateY(1px) scale(1) rotate(0)}}.LessonSidebar-module__title{font-size:14px;line-height:1.35}.LessonSidebar-module__itemActive .LessonSidebar-module__title{font-weight:var(--font-weight-medium)}.LessonSidebar-module__itemCompleted .LessonSidebar-module__row{opacity:.55}.LessonSidebar-module__itemCompleted .LessonSidebar-module__row:hover{opacity:.85}.LessonSidebar-module__itemCompleted .LessonSidebar-module__title{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:currentColor}.LessonSidebar-module__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.34,1.05,.4,1)}.LessonSidebar-module__bodyOpen{grid-template-rows:1fr}.LessonSidebar-module__bodyInner{overflow:hidden;min-height:0}.LessonSidebar-module__steps{display:flex;flex-direction:column;padding:4px 0 10px}.LessonSidebar-module__step{list-style:none}.LessonSidebar-module__stepBtn{width:100%;text-align:left;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:var(--space-2);padding:6px 8px;border-radius:var(--radius-cute);color:var(--text-primary);opacity:.4;transition:opacity .2s ease,background-color var(--transition-fast),transform var(--transition-spring);cursor:pointer}.LessonSidebar-module__stepBtn:hover{opacity:.78;background:var(--bg-surface-soft);transform:translate(2px)}.LessonSidebar-module__stepActive .LessonSidebar-module__stepBtn,.LessonSidebar-module__stepActive .LessonSidebar-module__stepBtn:hover{opacity:1;background:var(--bg-surface-active)}.LessonSidebar-module__label{font-size:13px;line-height:1.4;color:inherit}.LessonSidebar-module__stepActive .LessonSidebar-module__label{font-weight:var(--font-weight-medium)}.LessonSidebar-module__dot{width:9px;height:9px;border-radius:var(--radius-full);flex-shrink:0;justify-self:center;transition:box-shadow var(--transition-spring),transform var(--transition-spring)}.LessonSidebar-module__dotWhite{background:var(--piece-light);box-shadow:inset 0 0 0 1px var(--color-stone-900)}.LessonSidebar-module__dotBlack{background:var(--color-stone-900)}.LessonSidebar-module__stepActive .LessonSidebar-module__dot{box-shadow:inset 0 0 0 1px var(--color-stone-900),0 0 0 4px #f59e0b2e,0 1px 4px #1c19172e}.LessonSidebar-module__stepActive .LessonSidebar-module__dotBlack{box-shadow:0 0 0 4px #f59e0b2e,0 1px 4px #1c191740}.LessonSidebar-module__detail{padding:4px 12px 14px 34px}.LessonSidebar-module__note{font-size:13px;line-height:1.6;color:var(--text-primary);margin:4px 0 14px;opacity:.78}.LessonSidebar-module__controls{display:inline-flex;align-items:center;gap:8px}.LessonSidebar-module__ctrl{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-size:14px;line-height:1;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-spring),opacity var(--transition-fast),transform var(--transition-spring);cursor:pointer}.LessonSidebar-module__ctrl>span{display:inline-block;transition:transform var(--transition-spring)}.LessonSidebar-module__ctrl:hover:not(:disabled){border-color:var(--color-stone-900);transform:translateY(-2px);box-shadow:var(--shadow-cute)}.LessonSidebar-module__ctrl:active:not(:disabled){transform:translateY(0)}.LessonSidebar-module__ctrl:disabled{opacity:.3;cursor:not-allowed}.LessonSidebar-module__ctrlBack:hover:not(:disabled)>span{transform:translate(-2px)}.LessonSidebar-module__ctrlNext{background:var(--color-stone-900);border-color:var(--color-stone-900);color:var(--color-stone-50)}.LessonSidebar-module__ctrlNext:hover:not(:disabled){background:var(--color-stone-700);border-color:var(--color-stone-700)}.LessonSidebar-module__ctrlNext:hover:not(:disabled)>span{transform:translate(2px)}.LessonSidebar-module__hint{display:none;align-items:center;gap:6px;padding:var(--space-4) 0 var(--space-1) 0;margin-top:auto;font-size:11px;line-height:1;color:var(--text-subtle);pointer-events:none;opacity:0}@media(min-width:1024px)and (hover:hover)and (pointer:fine){.LessonSidebar-module__hint{display:inline-flex}}.LessonSidebar-module__kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);font-family:var(--font-family-sans);font-size:11px;font-weight:var(--font-weight-medium);color:var(--text-primary);box-shadow:0 1px 0 var(--border-subtle),inset 0 -1px #1c19170a}.LessonSidebar-module__hintText{margin-left:2px}.ChessOpeningsPage-module__page{min-height:100dvh;background-color:var(--bg-page);background-image:radial-gradient(ellipse at top left,rgba(252,211,77,.06),transparent 60%),radial-gradient(ellipse at bottom right,rgba(180,83,9,.04),transparent 60%);color:var(--text-primary);font-family:var(--font-family-sans);display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-5)}@media(min-width:720px){.ChessOpeningsPage-module__page{padding:var(--space-8)}}@media(min-width:1024px){.ChessOpeningsPage-module__page{height:100dvh;padding:0;gap:0;display:grid;grid-template-columns:360px minmax(0,1fr);align-items:stretch}}@media(min-width:1440px){.ChessOpeningsPage-module__page{grid-template-columns:380px minmax(0,1fr)}}.ChessOpeningsPage-module__sidebarCol{width:100%;display:flex;flex-direction:column;min-height:0}@media(min-width:1024px){.ChessOpeningsPage-module__sidebarCol{height:100dvh;padding:var(--space-10) var(--space-6);overflow:hidden;border-right:1px solid var(--border-subtle)}}@media(min-width:1280px){.ChessOpeningsPage-module__sidebarCol{padding:var(--space-12) var(--space-8)}}.ChessOpeningsPage-module__boardCol{width:100%;display:flex;align-items:center;justify-content:center}@media(min-width:1024px){.ChessOpeningsPage-module__boardCol{height:100dvh;padding:var(--space-8);min-width:0}}.ChessOpeningsPage-module__boardWrap{display:flex;justify-content:center}.DesignSystemPage-module__page{min-height:100dvh;background-color:var(--bg-page);color:var(--text-primary);padding:var(--space-8)}.DesignSystemPage-module__container{max-width:880px;margin:0 auto}.DesignSystemPage-module__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-12)}.DesignSystemPage-module__title{font-size:var(--text-size-title);font-weight:var(--font-weight-medium);letter-spacing:-.025em}.DesignSystemPage-module__backLink{font-size:var(--text-size-eyebrow);color:var(--text-subtle);letter-spacing:.05em;text-transform:uppercase;transition:color var(--transition-fast)}.DesignSystemPage-module__backLink:hover{color:var(--text-primary)}.DesignSystemPage-module__section{margin-bottom:var(--space-12)}.DesignSystemPage-module__sectionTitle{font-size:var(--text-size-eyebrow);text-transform:uppercase;letter-spacing:.15em;color:var(--text-subtle);margin-bottom:var(--space-5);font-weight:var(--font-weight-medium)}.DesignSystemPage-module__swatchGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}.DesignSystemPage-module__swatchCard{display:flex;flex-direction:column;gap:var(--space-1)}.DesignSystemPage-module__swatchChip{width:100%;aspect-ratio:2 / 1;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.DesignSystemPage-module__swatchName{font-size:var(--text-size-control);color:var(--text-primary)}.DesignSystemPage-module__swatchVar{font-size:var(--text-size-eyebrow);color:var(--text-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.DesignSystemPage-module__spacingList{display:flex;flex-direction:column;gap:var(--space-3)}.DesignSystemPage-module__spacingRow{display:flex;align-items:center;gap:var(--space-4)}.DesignSystemPage-module__spacingLabel{font-size:var(--text-size-eyebrow);color:var(--text-subtle);width:96px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.DesignSystemPage-module__spacingBar{height:16px;background-color:var(--color-stone-900);border-radius:var(--radius-sm)}.DesignSystemPage-module__radiiRow{display:flex;gap:var(--space-6);align-items:flex-end}.DesignSystemPage-module__radiusItem{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.DesignSystemPage-module__radiusBox{width:64px;height:64px;background-color:var(--color-stone-900)}.DesignSystemPage-module__typeStack{display:flex;flex-direction:column;gap:var(--space-3);color:var(--text-primary)}.DesignSystemPage-module__pieceGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-4)}.DesignSystemPage-module__pieceCard{display:flex;flex-direction:column;gap:var(--space-2)}.DesignSystemPage-module__piecePair{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle)}.DesignSystemPage-module__pieceCell{aspect-ratio:1 / 1;display:flex;align-items:flex-end;justify-content:center;padding:6%}.DesignSystemPage-module__pieceCellLight{background-color:var(--square-light)}.DesignSystemPage-module__pieceCellDark{background-color:var(--square-dark)}.App-module__app{min-height:100dvh;position:relative}
