@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraSans-400-cyrillic-ext-Cycyekte.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraSans-400-cyrillic-CKu2TFQr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraSans-400-greek-ext-ByG7UNQ2.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraSans-400-greek-BFCFncbp.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraSans-400-vietnamese-ljDTQFsx.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraSans-400-latin-ext-BLG_mAEf.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraSans-400-latin-a0AnQzuD.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/FiraSans-500-cyrillic-ext-Dkk5LlrU.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/FiraSans-500-cyrillic-CXfldnQ8.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/FiraSans-500-greek-ext-nq-cjB3m.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/FiraSans-500-greek-Cy-TUuxE.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/FiraSans-500-vietnamese-ChEXCnJy.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/FiraSans-500-latin-ext-OO1QnNpY.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/FiraSans-500-latin-Bvbxc8ch.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/FiraSans-600-cyrillic-ext-CE6oUZE1.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/FiraSans-600-cyrillic-JSBvCpTs.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/FiraSans-600-greek-ext-fS0evUH3.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/FiraSans-600-greek-BlqpLOpF.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/FiraSans-600-vietnamese-Dh2KAvU8.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/FiraSans-600-latin-ext-DTQBTt1m.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/FiraSans-600-latin-CXKlxLG9.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/FiraSans-700-cyrillic-ext-BfO9TR-w.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/FiraSans-700-cyrillic-Bl-HczEO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/FiraSans-700-greek-ext-C1m6bE4Q.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/FiraSans-700-greek-BVfcrbV7.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/FiraSans-700-vietnamese-j5oLGLJY.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/FiraSans-700-latin-ext-g2Yrd4J5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/FiraSans-700-latin-CRhwpWTq.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Consolas;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Consolas-400-latin-Dji5R9vy.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Consolas;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Consolas-700-latin--PooER4I.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Consolas", "Monaco", "Menlo", "Courier New", monospace;--light-bg-primary: #ffffff;--light-bg-secondary: #f8f9fa;--light-text-primary: #1a1a1a;--light-text-secondary: #666666;--light-text-tertiary: #999999;--light-border: #e0e0e0;--light-shadow: rgba(0, 0, 0, .1);--light-icon-color: #555555;--dark-bg-primary: #1a1a1a;--dark-bg-secondary: #2d2d2d;--dark-text-primary: #f5f5f5;--dark-text-secondary: #b0b0b0;--dark-text-tertiary: #a0a0a0;--dark-border: #404040;--dark-shadow: rgba(0, 0, 0, .5);--dark-icon-color: #c0c0c0;--accent-primary: #006d5d;--accent-secondary: #008c7a;--accent-hover: #005548;--accent-danger: #ff6b6b;--accent-success: #51cf66;--accent-warning: #ffa07a;--token-color-1: #ff6b6b;--token-color-2: #4ecdc4;--token-color-3: #45b7d1;--token-color-4: #ffa07a;--token-color-5: #98d8c8;--viz-arrow-color: #cccccc;--viz-stroke-color: #555555;--viz-muted-color: #666666;--viz-neutral-color: #cccccc;--viz-token-text: #1a1a1a;--viz-transformer-bg: #f3f4f6;--viz-transformer-border: #d9d9e3;--viz-stage-highlight: rgba(0, 0, 0, .08);--viz-stage-line: #999999;--viz-text-color: #333333;--viz-hidden-state-fill: #f2f2f2;--viz-hidden-state-stroke: #e0e0e0;--viz-hidden-state-text: #cccccc;--embed-negative: #3498db;--embed-neutral: #ecf0f1;--embed-positive: #e74c3c;--prob-low: #f3e5f5;--prob-high: #6a1b9a;--dist-default: #bfbfbf;--dist-selected: #8b0000;--header-height: 48px;--layout-token-spacing: 140px;--layout-margin: 20px;--layout-block-padding: 30px;--layout-token-y: 80px;--layout-embedding-y: 200px}body[data-theme=light]{--bg-primary: var(--light-bg-primary);--bg-secondary: var(--light-bg-secondary);--text-primary: var(--light-text-primary);--text-secondary: var(--light-text-secondary);--text-tertiary: var(--light-text-tertiary);--text-muted: var(--light-text-tertiary);--border-color: var(--light-border);--shadow-color: var(--light-shadow);--icon-color: var(--light-icon-color);--bg-special-token: rgba(128, 128, 128, .08);--viz-special-token-bg: rgba(128, 128, 128, .1);--viz-special-token-text: #888888;--token-bg: #f6f6f6;--dropdown-active-bg: #e8f4ff;--dropdown-active-text: #1677ff;--github-icon-filter: none;--logo-filter: none}body[data-theme=dark]{--bg-primary: var(--dark-bg-primary);--bg-secondary: var(--dark-bg-secondary);--text-primary: var(--dark-text-primary);--text-secondary: var(--dark-text-secondary);--text-tertiary: var(--dark-text-tertiary);--text-muted: var(--dark-text-tertiary);--border-color: var(--dark-border);--shadow-color: var(--dark-shadow);--icon-color: var(--dark-icon-color);--accent-primary: #008578;--accent-secondary: #008578;--accent-hover: #009688;--bg-special-token: rgba(128, 128, 128, .15);--viz-special-token-bg: rgba(255, 255, 255, .1);--viz-special-token-text: #aaaaaa;--token-bg: #3a3a3a;--dropdown-active-bg: rgba(0, 133, 120, .3);--dropdown-active-text: #00b4a2;--viz-token-text: #e0e0e0;--viz-transformer-bg: #3a3a3a;--viz-transformer-border: #555555;--viz-text-color: #d0d0d0;--viz-hidden-state-fill: #333333;--viz-hidden-state-stroke: #444444;--viz-hidden-state-text: #666666;--github-icon-filter: invert(1);--logo-filter: brightness(1.3)}.arrow{stroke:#ccc;stroke-width:1.5;fill:none;marker-end:url(#arrowhead)}.bp-connection-purple{stroke:url(#bp-gradient-green-red)!important;stroke-width:3px!important;opacity:1!important}.bp-connection-purple rect{fill:url(#bp-gradient-green-red)!important;opacity:1!important}.train-flow-arrow-up{marker-end:url(#arrowhead-up)}html,body{overflow-x:hidden}.app-container{display:flex;flex-direction:column;padding:0;margin:0}.floating-top-section{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--bg-primary);padding:.6rem 10px;transition:box-shadow .3s ease}.floating-top-content{display:flex;align-items:center;justify-content:flex-start;gap:1.25rem;width:100%;margin:0;position:relative}.app-logo{display:flex;align-items:center;gap:.75rem;margin-left:1.5rem}.view-selector-popup-container{position:relative;left:auto;top:auto;transform:none}.logo-icon{display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;cursor:pointer}.logo-icon:hover{opacity:.8;transition:opacity .2s ease}.logo-center-button{position:absolute;left:50%;transform:translate(-50%);display:none;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;padding:.25rem;border-radius:8px;transition:background-color .2s ease}.logo-center-button:hover{background-color:var(--bg-hover)}.logo-center-button img{height:32px;display:block;filter:var(--logo-filter)}.app-logo-content{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.logo-image{height:32px;width:auto;cursor:pointer;-webkit-user-select:none;user-select:none;filter:var(--logo-filter)}.canvas-input-section{max-width:min(800px,calc(100vw - 40px));margin:0 auto 2.5rem;margin-top:calc(var(--header-height) + 2rem)}.canvas-input-section .input-section-minimal{width:100%}.floating-bottom-section{position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--bg-primary);padding:1rem;box-shadow:0 -2px 5px var(--shadow-color);transition:box-shadow .3s ease;display:flex;justify-content:center}.header-controls{position:absolute;top:50%;right:10px;transform:translateY(-50%);display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:fit-content}.header-controls-list{display:flex;align-items:center;gap:.25rem}.header-controls-list>*{flex:0 0 auto}.header-controls .language-selector{display:flex}.hamburger-toggle{display:none;width:42px;height:42px;border-radius:50%;border:none;background:transparent;cursor:pointer;font-size:1.35rem;color:var(--text-primary);align-items:center;justify-content:center;transition:opacity .2s ease}.hamburger-toggle:hover{opacity:.8}.icon-button-minimal{background:transparent;border:none;padding:.5rem;cursor:pointer;font-size:1.5rem;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center}.icon-button-minimal:hover{opacity:.7}.menu-item-with-label{background:transparent;border:none;padding:.5rem;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;gap:0rem;transition:opacity .2s ease;text-align:left}.menu-item-with-label:hover{opacity:.7}.menu-item-with-label .menu-icon-container{display:flex;align-items:center;justify-content:center}.header-icon{color:var(--icon-color)}.menu-item-with-label .menu-label{display:none;font-size:.95rem;color:var(--text-primary);white-space:nowrap;pointer-events:none}.menu-item-with-label .theme-icon{font-size:1.2rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.github-icon{width:24px;height:24px;display:block;filter:var(--github-icon-filter);pointer-events:none}.language-menu-wrapper{position:relative;display:flex;align-items:center;gap:.75rem;padding:.5rem;background:transparent;border:none}.language-menu-wrapper .menu-label{display:none;font-size:.95rem;color:var(--text-primary);white-space:nowrap;pointer-events:none}.language-menu-wrapper .language-selector{pointer-events:auto}.view-menu-wrapper{position:relative;display:flex;align-items:center;gap:.75rem;padding:.5rem;background:transparent;border:none;display:none}.view-menu-wrapper .menu-label{display:none;font-size:.95rem;color:var(--text-primary);white-space:nowrap;pointer-events:none}.view-menu-wrapper .view-selector{pointer-events:auto}.app-main{width:100%;margin:0 auto;padding-top:0rem;padding-left:2rem;padding-right:2rem;padding-bottom:120px;transition:margin-left .3s ease}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-container h2{color:var(--error-color, #e74c3c);margin-bottom:1rem}.error-container button{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem}.error-container button:hover{background:var(--accent-hover)}.input-section-minimal{margin-bottom:0;width:100%}.prompt-container{margin-bottom:0;width:100%;max-width:100%;margin-left:0;margin-right:0}.chat-input-wrapper{margin-bottom:0}.chat-input-box{position:relative;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:6px 10px;box-shadow:0 2px 6px #0000000a;transition:none;display:flex;align-items:center;gap:8px;cursor:pointer;width:100%;overflow:visible;flex-wrap:nowrap}.prompt-dropdown{position:static;flex-shrink:0}.dropdown-toggle{width:28px;height:28px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);padding:0;opacity:.6}.dropdown-toggle:hover{opacity:1;color:var(--text-secondary)}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 16px #0000001a;z-index:1000;overflow:hidden}.dropdown-item{width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:.9rem;line-height:1.3;border-bottom:1px solid var(--border-color)}.dropdown-item-content{display:flex;align-items:center;gap:12px;min-height:20px}.dropdown-item-prompt{flex:1;min-width:0}.dropdown-item-meta{font-size:.75rem;color:var(--text-secondary);opacity:.7;white-space:nowrap;display:flex;align-items:center;gap:6px}.dropdown-item.active .dropdown-item-meta{color:#fffc;opacity:1}.model-info{display:flex;align-items:center;gap:4px}.model-logo{width:16px;height:16px;object-fit:contain;display:block}.model-size,.model-id,.temperature-display{font-family:var(--font-mono);font-size:.9rem}.meta-separator{opacity:.5}.dropdown-item-model{font-size:.75rem;color:var(--text-secondary);opacity:.7;white-space:nowrap;font-family:var(--font-mono)}.dropdown-item.active .dropdown-item-model{color:#fffc;opacity:1}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-item.active{background:var(--accent-primary);color:#fff}.dropdown-item.active:hover{background:var(--accent-hover)}.prompt-main{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.prompt-text-chat{flex:1 1 auto;font-size:1rem;line-height:1.4;color:var(--text-primary);font-weight:400;min-height:22px;padding-right:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.prompt-text-chat.has-tokens{text-overflow:clip;white-space:normal}.prompt-text-chat.has-tokens .token-with-underline{display:inline-block;padding-bottom:2px;border-bottom-width:4px;border-bottom-style:solid;border-radius:2px;margin-right:2px}.prompt-text-chat.has-tokens .token-with-underline.special-token{font-size:.75em;color:var(--text-tertiary, #888);background-color:var(--bg-special-token, rgba(128, 128, 128, .08));padding:1px 2px 3px;border-radius:3px;font-weight:400}.prompt-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:4px;position:relative}.prompt-cursor{display:inline-block;margin-left:2px;animation:blink 1s step-end infinite;color:var(--text-primary)}.btn-play{position:static;--btn-play-size: 40px;width:var(--btn-play-size)!important;height:var(--btn-play-size)!important;min-width:var(--btn-play-size)!important;min-height:var(--btn-play-size)!important;max-width:var(--btn-play-size)!important;max-height:var(--btn-play-size)!important;border-radius:50%!important;background:var(--accent-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;padding:0;flex:0 0 auto;flex-shrink:0;aspect-ratio:1 / 1}.btn-play:hover:not(:disabled){background:var(--accent-hover);filter:brightness(.9)}.btn-play:disabled{opacity:.5;cursor:not-allowed;background:var(--text-tertiary)}.btn-play svg{margin-left:1px;width:12px;height:12px}.btn-settings{width:40px;height:40px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:color .2s ease,opacity .2s ease;padding:0;flex:0 0 auto;margin-right:4px;opacity:1;font-size:24px;line-height:1}.btn-action-toggle{display:none;width:32px;height:32px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;align-items:center;justify-content:center;transition:color .2s ease,background .2s ease,border-color .2s ease;flex:0 0 auto;padding:0}.btn-action-toggle:hover,.btn-action-toggle.open{color:var(--text-primary);border-color:var(--border-color);background:#00000005}.prompt-actions-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 16px #0000001a;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:150px;z-index:1200}.prompt-actions-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;color:var(--text-primary);cursor:pointer;padding:6px 8px;border-radius:8px}.prompt-actions-item:hover{background:var(--bg-secondary)}.btn-settings:hover{color:var(--text-primary);opacity:1}.btn-settings svg{display:block}.settings-popover{position:absolute;right:8px;top:calc(100% + 6px);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 16px #0000001a;z-index:1100;padding:8px 10px;min-width:220px;max-width:500px}.settings-section+.settings-section{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color)}.settings-label{font-size:.7rem;color:var(--text-tertiary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.model-options{display:flex;gap:6px;flex-wrap:wrap}.model-option{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.model-option.selected{outline:2px solid var(--accent-primary);background:#4ecdc414}.temp-options{display:flex;gap:6px}.temp-option{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer}.temp-option.selected{outline:2px solid var(--accent-primary);background:#4ecdc414}.temp-emoji{font-size:18px;line-height:1}.temp-value{font-family:var(--font-mono);font-size:.9rem;color:var(--text-primary)}.speed-options{display:flex;gap:6px}.speed-option{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer}.speed-option.selected{outline:2px solid var(--accent-primary);background:#4ecdc414}.speed-icon{font-size:18px;line-height:1}.speed-label{font-family:var(--font-mono);font-size:.9rem;color:var(--text-primary)}.settings-toggle{padding:4px 0}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;position:relative;cursor:pointer}.toggle-checkbox:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--text-secondary);top:2px;left:2px;transition:left .2s ease}.toggle-checkbox:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.toggle-checkbox:checked:before{left:18px;background:#fff}.toggle-text{font-size:.85rem;color:var(--text-primary)}.prompt-display-minimal{margin-bottom:3rem;text-align:center}.prompt-text-large{font-size:2rem;line-height:1.4;color:var(--text-primary);margin-bottom:2rem;font-weight:300;max-width:800px;margin-left:auto;margin-right:auto}.example-selector-bar{display:none}.btn-minimal{padding:0;border:none;background:transparent;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:opacity .2s ease;font-weight:400}.btn-minimal:hover:not(:disabled){opacity:.7}.btn-minimal:disabled{opacity:.3;cursor:not-allowed}.visualization-section{background:transparent;padding:0;min-height:auto;position:relative;width:100%;display:flex;justify-content:flex-start;align-items:flex-start;overflow:visible}.visualization-section.expanded{justify-content:flex-start}.viz-scroll{flex:1;max-width:100%;overflow-x:auto;overflow-y:visible;display:block;position:relative}.viz-scroll>svg{transform:scaleY(1);display:block;margin:0 auto}.viz-labels-panel{position:absolute;top:0;right:0;display:flex;align-items:flex-start;z-index:0;pointer-events:none}.viz-labels-toggle{position:sticky;top:calc(50vh - 16px);width:32px;height:32px;border-radius:50%;background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);margin-left:0;margin-right:-16px;flex-shrink:0;box-shadow:0 2px 4px var(--shadow-color);pointer-events:auto;z-index:2}.viz-labels-toggle:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.viz-labels-container{position:relative;top:0;width:0;overflow:hidden;transition:width .3s ease;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;pointer-events:auto;z-index:1}.viz-labels-container.expanded{width:280px;margin-left:8px}.viz-labels-content{flex:1;overflow:visible}.visualization-labels-canvas{width:100%;display:block}.viz-scroll::-webkit-scrollbar{height:10px}.viz-scroll::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.viz-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.viz-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.visualization-canvas{background:transparent;display:block}.viz-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media (min-width: 1001px){.app-logo{display:none}.logo-center-button{display:flex}}@media (max-width: 1000px){:root{--viz-zoom: .9;--viz-token-spacing-mobile: 120}.viz-scale{transform:scale(var(--viz-zoom));transform-origin:top center;width:fit-content;min-width:100%}.app-main,.viz-scroll,.visualization-section{padding-left:0;padding-right:0}.floating-top-content{gap:.5rem}.floating-top-section,.floating-bottom-section{padding-left:1rem;padding-right:1rem}.logo-image{height:32px}.canvas-input-section{max-width:min(600px,calc(100vw - 40px))}.chat-input-box{gap:6px}.prompt-text-chat{font-size:.95rem}.view-selector-popup-container{left:.5rem}.logo-icon{margin-left:.5rem}.header-controls{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.header-controls-list{display:none}.header-controls.open .header-controls-list{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:calc(100% + .5rem);right:0;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 24px #0000002e;min-width:200px;gap:.75rem;z-index:101}.header-controls.open .header-controls-list>*{width:100%;justify-content:flex-start}.header-controls.open .menu-item-with-label{width:100%;justify-content:flex-start;padding:.75rem;border-radius:6px;transition:background-color .15s ease,opacity .2s ease}.header-controls.open .menu-item-with-label:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));opacity:1}.header-controls.open .menu-item-with-label .menu-label{display:block}.header-controls.open .menu-icon-container{width:2.5rem;display:flex;justify-content:center;align-items:center;flex-shrink:0}.header-controls.open .menu-item-with-label{gap:.75rem}.header-controls.open .language-menu-wrapper{width:100%;justify-content:flex-start;padding:.75rem;border-radius:6px;cursor:pointer}.header-controls.open .language-menu-wrapper:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.header-controls.open .language-menu-wrapper .menu-label{display:block}.header-controls.open .language-selector{width:auto;pointer-events:auto}.header-controls.open .language-selector .icon-button-minimal{pointer-events:auto}.header-controls.open .view-menu-wrapper{display:flex;width:100%;justify-content:flex-start;border-radius:6px;cursor:pointer}.header-controls.open .view-menu-wrapper:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.header-controls.open .view-menu-wrapper .menu-label{display:block}.header-controls.open .view-menu-wrapper .menu-label{display:none}.header-controls.open .view-selector{width:auto;pointer-events:auto}.header-controls.open .language-dropdown{pointer-events:auto}.hamburger-toggle{display:inline-flex}.visualization-section{min-height:600px}.visualization-canvas{min-height:600px;height:auto}.viz-labels-panel{display:none}.visualization-section.expanded .viz-scroll{padding-right:0}}@media (max-width: 640px){:root{--viz-zoom: .85}}html,body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}#root{width:100%}.about-modal-content{max-width:600px;max-height:85vh}.about-modal-body{padding:1.5rem;overflow-y:auto;text-align:center}.about-logo{display:flex;justify-content:center;margin-bottom:2rem}.about-logo img{filter:var(--logo-filter);height:40px;width:auto}.about-tagline{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1.5rem;font-weight:400;font-style:italic}.about-content-block{text-align:center;margin-bottom:1.5rem;line-height:1.6;color:var(--text-primary)}.about-content-block p{margin-bottom:.75rem}.about-content-block strong{font-weight:600;color:var(--text-primary)}.about-content-block em{font-style:italic}.about-content-block a,.about-content-block a:link,.about-content-block a:visited{color:var(--accent-primary)!important;text-decoration:none;border-bottom:1px solid var(--accent-primary);transition:opacity .2s ease}.about-content-block a:hover{opacity:.7}.about-section{margin-bottom:1.5rem;text-align:left}.about-section h3{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:.25rem}.about-list{list-style-type:none;padding-left:0;margin:0}.about-list li{padding:.5rem 0 .5rem 1.5rem;position:relative;line-height:1.5;color:var(--text-primary)}.about-list li:before{content:"•";position:absolute;left:.5rem;color:var(--accent-primary);font-weight:700}.about-list li strong{font-weight:600}.about-tech-content{line-height:1.6;color:var(--text-primary)}.about-tech-content p{margin-bottom:.5rem}.about-tech-content code{background-color:var(--bg-secondary);padding:.125rem .375rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.about-links{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.about-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.75rem}.about-link{display:block;padding:.75rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);text-decoration:none;text-align:center;transition:all .2s ease;font-weight:500}.about-link:hover{background-color:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.about-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color);text-align:center;font-size:.875rem;color:var(--text-secondary)}.about-footer p{margin-bottom:.5rem}.about-footer a,.about-footer a:link,.about-footer a:visited{color:var(--accent-primary)!important;text-decoration:none;transition:opacity .2s ease}.about-footer a:hover{opacity:.7;text-decoration:underline}.about-version{font-size:.8rem;font-style:italic;color:var(--text-tertiary)}@media (max-width: 768px){.about-modal-content{max-width:95%;margin:1rem}.about-tagline{font-size:1rem}.about-links-grid{grid-template-columns:1fr}}.language-selector,.language-button{position:relative}.language-flag{font-size:1.2rem;line-height:1.5;display:flex;align-items:center;justify-content:center}.language-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;padding:.5rem;z-index:1001}.language-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;color:var(--text-primary);text-align:left}.language-option:hover{background:var(--bg-hover)}.language-option.active{background:var(--bg-active);font-weight:500}.language-option .language-flag{font-size:1.25rem;flex-shrink:0}.language-option .language-name{flex:1}.language-option .language-checkmark{color:var(--accent-color);font-weight:700;font-size:1.1rem;flex-shrink:0}:root{--bg-hover: rgba(0, 0, 0, .05);--bg-active: rgba(0, 0, 0, .08);--accent-color: #007e66}[data-theme=dark]{--bg-hover: rgba(255, 255, 255, .08);--bg-active: rgba(255, 255, 255, .12);--accent-color: #10b981}.home-page{display:flex;flex-direction:column;min-height:100vh;width:100%;padding:0;overflow-x:hidden;position:relative;background-color:var(--bg-primary);background-image:linear-gradient(to bottom,#d0e3d7 0%,var(--bg-primary) 20%);background-size:100% 100%;background-repeat:no-repeat}body[data-theme=dark] .home-page{background-image:linear-gradient(to bottom,#1a3a2a 0%,var(--bg-primary) 20%)}.home-background-wave-container{position:absolute;top:0;left:0;width:100%;height:100vh;z-index:0;pointer-events:none;mask-image:linear-gradient(to bottom,black 0%,transparent 30%);-webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 30%)}.home-content{position:relative;z-index:1;max-width:1100px;width:100%;margin:0 auto;padding-top:2rem}.home-header-controls{position:absolute;top:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.5rem;z-index:10}.home-control-button{background:transparent;border:none;padding:.5rem;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;text-decoration:none;width:42px;height:42px;border-radius:50%;color:var(--text-primary)}.home-control-button:hover{opacity:.7;background:#8080801a}.home-control-button .theme-icon{font-size:1.2rem;display:flex;align-items:center;justify-content:center}.home-language-selector{display:flex;align-items:center}.home-header{padding-top:2.5rem;text-align:center;margin-bottom:3rem}.home-logo{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;margin:0;margin-bottom:.75rem;font-size:inherit;font-weight:400}.home-logo-image{height:60px;width:auto;filter:var(--logo-filter)}.home-tagline{font-size:1.125rem;color:var(--text-secondary);margin-top:10px;font-weight:400}.home-sections{display:flex;flex-direction:column;gap:3rem;margin-top:2rem}.home-section{display:flex;flex-direction:column;gap:1rem}.section-header{text-align:left;border-bottom:2px solid var(--border-primary);padding-bottom:.75rem}.section-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.section-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.section-item{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 4px 6px -1px var(--shadow-color),0 2px 4px -1px var(--shadow-color);border-radius:12px;text-decoration:none;cursor:pointer}.section-item:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px var(--shadow-color),0 4px 6px -2px var(--shadow-color);border-color:var(--accent-primary)}.item-main-content{display:flex;align-items:flex-start;gap:1.25rem;flex:1}.item-preview-wrapper{flex-shrink:0;width:120px;height:100px;border-radius:8px;overflow:hidden;background-color:var(--bg-primary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.item-preview-img{width:100%;height:100%;object-fit:cover}.item-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.item-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.item-description{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.5}.item-footer{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid transparent}.item-action{font-size:.95rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.25rem}.section-item:hover .item-action{color:var(--accent-primary)}.home-buttons,.home-button,.home-button-icon,.home-button-label,.home-subtitle{display:none}.app-main.home-layout{padding:0;overflow-x:hidden}@media (max-width: 768px){.home-page{padding:1rem}.home-content{padding-top:1rem}.home-header{margin-bottom:2rem}.home-logo-image{height:50px}.home-tagline{font-size:1rem}.home-sections{gap:2rem}.section-items{grid-template-columns:1fr;gap:1rem}.section-title{font-size:1.5rem}.section-item{padding:1rem;gap:.75rem}.item-preview-wrapper{width:80px;height:65px}.item-title{font-size:1rem}.item-description{font-size:.875rem}.home-header-controls{top:1rem;right:1rem;gap:.25rem}.home-control-button{width:36px;height:36px;font-size:1rem}}.home-footer{text-align:center;font-size:.75rem;color:var(--text-muted);padding-top:6rem;padding-bottom:.5rem;margin-top:auto}.home-footer a{color:var(--text-muted);text-decoration:none}.home-footer a:hover{color:var(--text-secondary);text-decoration:underline}.generated-answer-section{margin:0;width:100%;max-width:1200px}.generated-answer-container{width:100%;padding:0;display:flex;align-items:center;gap:1.5rem}.generated-answer-label{font-size:.75rem;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;white-space:nowrap}.generated-answer-text{flex:1;min-height:20px;font-size:1.1rem;line-height:1.4;white-space:pre-wrap;color:var(--text-primary);padding:0;background-color:transparent;border:none;font-weight:400}.generated-answer-text .token-with-underline{display:inline-block;padding-bottom:1px;border-bottom-width:6px;border-bottom-style:solid;border-radius:2px;margin-right:1px;line-height:1.4}.generated-answer-text .token-with-underline.special-token{font-size:.75em;color:var(--text-tertiary, #888);background-color:var(--bg-special-token, rgba(128, 128, 128, .08));padding:1px 2px 2px;border-radius:3px;font-weight:400}.answer-caret{display:inline-block;margin-left:2px;animation:blink 1s step-end infinite;color:var(--text-primary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 768px){.generated-answer-container{flex-direction:column;align-items:flex-start;gap:.5rem}.generated-answer-label{font-size:.75rem}}.token-id{font-family:Consolas,Courier New,monospace;font-size:20px;fill:var(--text-primary);text-anchor:middle;font-weight:600}.arrow{stroke:#ccc;stroke-width:1.5;fill:none;marker-end:url(#arrowhead)}.arrow-animated{stroke-dasharray:5,5;animation:dash 1s linear infinite}@keyframes dash{to{stroke-dashoffset:-10}}.embedding-square{stroke:var(--border-color);stroke-width:1}.embedding-square:hover{stroke:var(--accent-primary);stroke-width:2}.embedding-value{font-family:Consolas,Courier New,monospace;font-size:14px;fill:var(--text-primary);text-anchor:middle}.transformer-block{fill:transparent;stroke:#ccc;stroke-width:1.5;stroke-dasharray:4,4;rx:8}.transformer-label{font-size:22px;font-weight:600;fill:var(--text-primary);text-anchor:middle}.layer-label{font-size:16px;fill:var(--text-secondary);text-anchor:middle}.attention-line{stroke:var(--accent-primary);stroke-width:1;opacity:.3;fill:none}.attention-line.active{opacity:.8;stroke-width:2}.feedforward-line{stroke:var(--accent-secondary);stroke-width:2;opacity:.5;fill:none}.feedforward-line.active{opacity:1;stroke-width:3}.distribution-bar{fill:#bfbfbf;stroke:#0000000f;stroke-width:1px;shape-rendering:geometricPrecision}.distribution-bar:hover{opacity:.85}.distribution-bar.selected{fill:#8b0000}.distribution-label{font-size:16px;fill:var(--text-primary)}.distribution-token{font-family:Consolas,Courier New,monospace;font-weight:600}.distribution-prob{font-size:14px;fill:var(--text-secondary)}.section-header{font-size:24px;font-weight:600;fill:var(--text-primary)}.embedding-gradient-low{stop-color:#ff6b6b}.embedding-gradient-mid{stop-color:#ffa07a}.embedding-gradient-high{stop-color:#51cf66}.fade-in{opacity:0}.fade-in.visible{opacity:1}.phase-hidden{opacity:0!important;transform:translateY(6px);transform-box:fill-box;transform-origin:center;transition:opacity .22s ease,transform .22s ease;pointer-events:none}.phase-visible{opacity:1!important;transform:translateY(0);transition:opacity .26s ease,transform .26s ease}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.vector-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.viz-tooltip{position:absolute;padding:8px 12px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s ease;box-shadow:0 2px 8px var(--shadow-color);z-index:1000}.viz-tooltip.visible{opacity:1}.stage-label{transition:opacity .3s ease}.stage-label.active rect{fill:var(--viz-stage-highlight, rgba(0, 0, 0, .08))}.stage-label-text{font-size:12px;font-weight:500;fill:var(--text-tertiary, #999)}.hidden-state-grey rect,.hidden-state-grey path,.hidden-state-grey line{fill:var(--viz-hidden-state-fill)!important;stroke:var(--viz-hidden-state-stroke)!important;opacity:.9}.hidden-state-grey text{fill:var(--viz-hidden-state-text)!important;opacity:.9}.bp-connection-purple{stroke:url(#bp-gradient-green-red)!important;stroke-width:3px!important;opacity:1!important}.bp-connection-purple rect{fill:url(#bp-gradient-green-red)!important;opacity:1!important}.bp-connection-green{stroke:#22c55e!important;stroke-width:3px!important;opacity:1!important}.bp-connection-red{stroke:#ef4444!important;stroke-width:3px!important;opacity:1!important}.train-flow-arrow-up{marker-end:url(#arrowhead-up)}@media (max-width: 1000px){.stage-label,.viz-labels-panel{display:none!important}}.viz-scroll{position:relative;overflow-x:auto;overflow-y:hidden;width:100%}.collapse-toggle{position:fixed;left:50%;top:300px;transform:translate(-50%);z-index:1000;width:32px;height:32px;border-radius:9999px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000014;cursor:pointer}.collapse-toggle:hover{color:var(--text-primary);border-color:var(--text-secondary)}.viz-labels-panel{position:absolute;right:0;top:0;display:flex;gap:8px;padding-left:8px;z-index:10;height:100%;pointer-events:none}.viz-labels-toggle,.viz-labels-container{pointer-events:auto}.viz-labels-toggle{width:28px;height:28px;border-radius:9999px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:10px}.viz-labels-toggle:hover{color:var(--text-primary);border-color:var(--text-secondary)}.viz-labels-container{width:0;overflow:hidden;transition:width .25s ease}.viz-labels-container.expanded,.viz-labels-content{width:280px}.visualization-labels-canvas{display:block;width:100%}[data-tooltip-id][opacity="0"],[data-tooltip-id][style*="opacity: 0"],[data-tooltip-id][style*="opacity:0"]{pointer-events:none!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;padding:0}.container{max-width:1400px;margin:0 auto;padding:0}.top-right-controls{position:fixed;top:2rem;right:2rem;display:flex;gap:.5rem;align-items:center;z-index:1000}.control-btn-icon{width:44px;height:44px;padding:0;border:none;border-radius:50%;background-color:transparent;color:var(--text-primary);cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.control-btn-icon:hover{background-color:var(--bg-secondary);transform:scale(1.1)}.control-btn-icon:active{transform:scale(.95)}.control-btn-icon .flag-icon,.control-btn-icon .theme-icon,.control-btn-icon .speed-icon{font-size:1.5rem;line-height:1}.control-btn-icon svg{width:24px;height:24px}h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary);font-weight:600}.input-section{margin-bottom:3rem;margin-top:6rem}.input-controls{display:flex;gap:1rem;align-items:center}.prompt-input{flex:1;padding:1rem 1.5rem;font-size:1.125rem;border:2px solid var(--border-color);border-radius:12px;background-color:var(--bg-primary);color:var(--text-primary)}.prompt-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #4ecdc41a}.btn-play{width:40px;height:40px;padding:0;border:none;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #006d5d4d}.btn-play:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover),var(--accent-secondary));filter:brightness(.9)}.btn-play:disabled{opacity:.5;cursor:not-allowed}.btn-reset{width:48px;height:48px;padding:0;border:2px solid var(--border-color);border-radius:50%;background-color:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-reset:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--text-primary);transform:rotate(-180deg)}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.playback-controls{margin-top:1rem;display:flex;gap:.5rem}.btn-small{padding:.5rem 1rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:6px;background-color:transparent;color:var(--text-primary);cursor:pointer}.btn-small:hover:not(:disabled){background-color:var(--bg-secondary)}.btn-small:disabled{opacity:.5;cursor:not-allowed}.tokenization-section{margin-bottom:3rem}.token-display{display:flex;flex-wrap:wrap;gap:.75rem;padding:1.5rem;background-color:transparent;border:2px dashed var(--border-color);border-radius:12px;min-height:80px;align-items:center}.token{padding:.625rem 1rem;border-radius:8px;font-family:Courier New,monospace;font-weight:600;font-size:.95rem;color:#fff;box-shadow:0 2px 8px #00000026}.visualization-section{margin-bottom:3rem;display:flex;justify-content:flex-start;align-items:flex-start;width:100%;position:relative}.visualization-canvas{width:100%;min-width:100%;background-color:transparent;border-radius:12px;display:block;margin:0}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:2rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tokenized-text{display:inline;word-break:break-word}.token-with-underline{display:inline-block;padding-bottom:0;border-bottom-width:6px;border-bottom-style:solid;border-radius:2px;margin-right:4px;line-height:1.6}.initial-hint{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.initial-hint-content{text-align:center;color:var(--text-tertiary);max-width:600px;padding:0 20px}.initial-hint-main{font-size:17px;font-weight:400;margin-bottom:32px;opacity:.7}.initial-hint-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px}.initial-hint-shortcut{display:flex;align-items:center;gap:12px;opacity:.6}.initial-hint-key{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;font-family:var(--font-mono);font-size:13px;font-weight:500;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 1px 2px var(--shadow-color);color:var(--text-secondary);flex-shrink:0}.initial-hint-desc{font-size:13px;color:var(--text-tertiary);text-align:left}@media (max-width: 768px){.initial-hint-main{font-size:16px}.initial-hint-shortcuts{grid-template-columns:1fr;gap:12px}.initial-hint-shortcut{justify-content:flex-start}}.decoding-view-container .initial-hint,.pretraining-simple-container .initial-hint{align-items:flex-start;padding-top:370px}.training-carousel-section{width:100%;display:flex;align-items:flex-start;justify-content:center;gap:0;padding:20px 0 0;position:relative}.carousel-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;transition:all .2s ease;z-index:10}.carousel-nav-arrow.left{left:20px}.carousel-nav-arrow.right{right:20px}.carousel-nav-arrow:hover:not(.disabled){color:#555;transform:translateY(-50%) scale(1.1)}.carousel-nav-arrow.disabled{opacity:.2;cursor:not-allowed}.carousel-nav-arrow:active:not(.disabled){transform:translateY(-50%) scale(.95)}.carousel-container{flex:1;display:flex;flex-direction:column;align-items:center;max-width:1400px;width:100%;position:relative;overflow:hidden}.carousel-track{display:flex;align-items:flex-start;justify-content:center;gap:30px;width:100%;position:relative;transition:transform .15s ease;will-change:transform}.carousel-document-wrapper{flex-shrink:0}.carousel-document-wrapper.left,.carousel-document-wrapper.right{width:300px}.carousel-document-wrapper.center{width:700px;max-width:100%}.carousel-document{width:100%;display:flex;flex-direction:column;gap:0px;--document-bg: #ffffff;--document-border: #d0d0d0;--document-text: #2c2c2c;--grid-color: #f3f3f3;--jagged-height: 12px}.carousel-document.inactive{opacity:.6;--document-bg: #f5f5f5;--document-text: #888;--grid-color: #e8e8e8}.document-shape-wrapper{position:relative;width:100%;display:flex;flex-direction:column}.document-background{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--document-bg);clip-path:polygon(0 0,100% 0,100% calc(100% - var(--jagged-height)),90% calc(100% - var(--jagged-height) + 9.6px),80% calc(100% - var(--jagged-height) + 4.8px),70% 100%,60% calc(100% - var(--jagged-height)),50% calc(100% - var(--jagged-height) + 9.6px),40% calc(100% - var(--jagged-height) + 4.8px),30% 100%,20% calc(100% - var(--jagged-height) + 2.4px),10% calc(100% - var(--jagged-height) + 9.6px),0% calc(100% - var(--jagged-height)));z-index:0}.paper-texture{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(var(--grid-color, #f5f5f5) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color, #f5f5f5) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;opacity:1}.document-border-main{position:absolute;top:0;left:0;right:0;bottom:var(--jagged-height);border:1px solid var(--document-border);border-bottom:none;border-radius:4px 4px 0 0;pointer-events:none;z-index:1}.document-border-bottom{position:absolute;bottom:0;left:0;right:0;height:var(--jagged-height);pointer-events:none;z-index:1}.torn-edge-svg{display:block;width:100%;height:100%}.document-content-layer{position:relative;z-index:2;padding-bottom:var(--jagged-height)}.carousel-document .document-header{position:relative;padding:8px 24px 0;z-index:2;display:flex;align-items:center;justify-content:flex-start;gap:6px}.carousel-document .document-source-icon{width:16px;height:16px;object-fit:contain;opacity:.5;flex-shrink:0}.carousel-document .document-source-label{padding:4px 8px;color:var(--document-text);font-size:.75rem;font-weight:500;letter-spacing:.02em;opacity:.6;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.carousel-document .document-content-compact{position:relative;padding:8px 24px 16px;z-index:1}.carousel-document.active .document-content-compact{padding-right:80px}.pretraining-simple-docs .carousel-document.active .document-content-compact{padding-right:24px}.carousel-document .document-text-compact{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.6;color:var(--document-text, #2c2c2c);text-align:left;word-spacing:.05em;white-space:nowrap;overflow-x:auto;overflow-y:hidden;text-overflow:clip;-ms-overflow-style:none;scrollbar-width:none}.carousel-document .document-text-compact::-webkit-scrollbar{display:none}.carousel-document .document-text-compact .tokenized-text{display:inline;white-space:nowrap}.carousel-document .document-text-compact .token-with-highlight{display:inline;padding:2px 0;border-radius:2px;margin:0 1px}.carousel-document .document-text-compact .doc-token-input{border-bottom:2px solid var(--document-text)}.carousel-document .document-text-compact .doc-token-target{color:#b91c1c;font-weight:700}.carousel-document .document-text-compact .doc-token-muted{color:var(--document-text-secondary, #888);opacity:.7}.carousel-document .document-play-button{position:absolute;right:12px;top:50%;transform:translateY(-55%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:0px}.carousel-document .document-play-button .btn-settings-document{--btn-size: 32px;width:var(--btn-size);height:var(--btn-size);min-width:var(--btn-size);min-height:var(--btn-size);border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease;box-shadow:none;opacity:.7}.carousel-document .document-play-button .btn-settings-document:hover{background:#0000000d;color:var(--text-primary);transform:scale(1.1);box-shadow:none;opacity:1}.carousel-document .document-play-button .btn-play-document{--btn-size: 44px;width:var(--btn-size);height:var(--btn-size);min-width:var(--btn-size);min-height:var(--btn-size);border-radius:50%;background:var(--accent-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease;box-shadow:0 4px 12px #00000026}.carousel-document .document-play-button .btn-play-document:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05);box-shadow:0 6px 16px #0003}.carousel-document .document-play-button .btn-play-document:disabled{opacity:.5;cursor:not-allowed}.carousel-document .document-play-button .btn-play-document:active:not(:disabled){transform:scale(.98)}[data-theme=dark] .carousel-document{--document-bg: #2a2a2a;--document-border: #404040;--document-text: #e8e6e3;--document-text-secondary: #999;--grid-color: #333333}[data-theme=dark] .carousel-document.inactive{--document-bg: #1a1a1a;--document-text: #666;--grid-color: #222222}[data-theme=dark] .document-background{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}[data-theme=dark] .carousel-nav-arrow{color:#777}[data-theme=dark] .carousel-nav-arrow:hover:not(.disabled){color:#aaa}@media (max-width: 1200px){.carousel-document-wrapper.left,.carousel-document-wrapper.right{display:none}.carousel-document-wrapper.center{width:100%;max-width:700px}}@media (max-width: 768px){.training-carousel-section{padding:10px 0}.carousel-nav-arrow{width:40px;height:40px}.carousel-nav-arrow.left{left:2px}.carousel-nav-arrow.right{right:2px}.carousel-document-wrapper.center{padding:0 44px}.carousel-document .document-source-icon{width:16px!important;height:16px!important;min-width:16px}.carousel-document .document-content-compact{padding:6px 16px 12px}.carousel-document .document-text-compact{font-size:.95rem;line-height:1.5}.carousel-document.active .document-content-compact{padding-right:64px}.carousel-document .document-play-button .btn-play-document{--btn-size: 40px}}.decoding-view-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 0 60px}.decoding-prompt-container{width:100%;max-width:min(800px,calc(100vw - 40px));margin:0 auto 0rem;margin-top:calc(var(--header-height) + 2rem)}.decoding-prompt-container .chat-input-wrapper{margin-bottom:0}.decoding-prompt-container .chat-input-box{position:relative;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:12px 10px;box-shadow:0 2px 6px #0000000a;display:flex;align-items:center;gap:8px;cursor:pointer;width:100%;overflow:visible;flex-wrap:nowrap;min-height:48px}.decoding-prompt-container .prompt-dropdown{position:static;flex-shrink:0}.decoding-prompt-container .dropdown-toggle{width:28px;height:28px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);padding:0;opacity:.6}.decoding-prompt-container .dropdown-toggle:hover{opacity:1;color:var(--text-secondary)}.decoding-prompt-container .dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 16px #0000001a;z-index:1000;overflow:hidden}.decoding-prompt-container .dropdown-item{width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:.9rem;line-height:1.3;border-bottom:1px solid var(--border-color)}.decoding-prompt-container .dropdown-item:hover{background:var(--bg-secondary)}.decoding-prompt-container .dropdown-item.active{background:var(--accent-primary);color:#fff}.decoding-prompt-container .dropdown-item.active:hover{background:var(--accent-hover)}.decoding-prompt-container .dropdown-item:last-child{border-bottom:none}.decoding-prompt-container .dropdown-item-content{display:flex;align-items:center;gap:12px;min-height:20px}.decoding-prompt-container .dropdown-item-prompt{flex:1;min-width:0}.decoding-prompt-container .prompt-main{flex:1;min-width:0;display:flex;align-items:center}.decoding-prompt-container .prompt-text-chat{flex:1;font-size:1rem;line-height:1.5;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decoding-prompt-container .prompt-text-chat.has-tokens{white-space:normal;overflow:visible}.decoding-prompt-container .tokenized-text{display:inline}.io-token{display:inline-block;padding:2px 6px;border-radius:6px;background:var(--token-bg);font-family:var(--mono-font, monospace);border:1px solid transparent;font-size:.9rem;min-width:4px;min-height:1.5em;white-space:pre;vertical-align:middle}.io-token.special{opacity:.75;border-color:var(--border-color, #d0d0d0)}.io-token.appended{background:var(--primary-bg, #e8f4ff);border-color:var(--primary-color, #1677ff)}.arrow .shaft{width:2px;height:16px;background:var(--border-color, #ccc);transition:background-color .3s ease}.arrow .head{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--border-color, #ccc);margin-top:-2px}.transformer-box{width:95%;max-width:700px;padding:20px;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;font-family:var(--font-ui, system-ui, sans-serif);font-size:13px;font-weight:500;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;position:relative;box-shadow:0 2px 8px #0000000d;min-height:70px}.transformer-left{flex:1;display:flex;justify-content:flex-start;position:relative}.model-selector-btn{background:transparent;border:none;border-radius:6px;padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--text-secondary, #666);font-size:15px;font-weight:500;transition:background-color .2s ease;outline:none;font-variant:small-caps;letter-spacing:.5px}.model-selector-btn:hover{background:var(--bg-secondary, #f8f8f8)}.model-selector-btn:focus{outline:none}.model-logo-btn{width:24px;height:24px;object-fit:contain}.model-name{font-size:15px;letter-spacing:.5px;color:var(--text-secondary, #666)}.model-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #d0d0d0);border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;z-index:1000;min-width:200px}.model-dropdown-item{width:100%;background:transparent;border:none;padding:10px 14px;text-align:left;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:10px;transition:background-color .2s ease}.model-dropdown-item:hover{background:var(--hover-bg, #f6f6f6)}.model-dropdown-item.active{background:var(--dropdown-active-bg);color:var(--dropdown-active-text)}.model-logo-small{width:20px;height:20px;object-fit:contain}.model-info{font-size:13px;color:var(--text-primary, #222)}.transformer-right{flex-shrink:0;position:relative;display:flex;align-items:center;gap:8px}.temp-selector-btn{background:transparent;border:none;border-radius:6px;padding:6px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary, #222);transition:background-color .2s ease;outline:none}.temp-selector-btn:hover{background:#ffffffb3}.temp-selector-btn:focus{outline:none}.temp-emoji-btn{font-size:18px;line-height:1}.btn-special-tokens{background:transparent;border:none;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .2s ease;outline:none;width:36px;height:36px}.btn-special-tokens:hover{background:var(--bg-secondary, #f5f5f5)}.btn-special-tokens.active{background:var(--border-color, #e0e0e0);color:var(--text-primary, #333)}.btn-special-tokens:focus{outline:none}.btn-play-transformer{--btn-play-size: 40px;width:var(--btn-play-size)!important;height:var(--btn-play-size)!important;min-width:var(--btn-play-size)!important;min-height:var(--btn-play-size)!important;max-width:var(--btn-play-size)!important;max-height:var(--btn-play-size)!important;border-radius:50%!important;background:var(--accent-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;padding:0;flex:0 0 auto;flex-shrink:0;aspect-ratio:1 / 1;transition:all .2s ease}.btn-play-transformer:hover:not(:disabled){background:var(--accent-hover);filter:brightness(.9)}.btn-play-transformer:disabled{opacity:.5;cursor:not-allowed;background:var(--text-tertiary)}.btn-play-transformer svg{margin-left:1px;width:12px;height:12px}.temp-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #d0d0d0);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;min-width:120px}.temp-dropdown-item{width:100%;background:transparent;border:none;padding:10px 14px;text-align:left;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px;transition:background-color .2s ease;color:var(--text-primary)}.temp-dropdown-item:hover{background:var(--hover-bg, #f6f6f6)}.temp-dropdown-item.active{background:var(--bg-secondary, #f0f0f0);font-weight:500}.speed-selector-btn{background:transparent;border:none;border-radius:6px;padding:6px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary, #222);transition:background-color .2s ease;outline:none}.speed-selector-btn:hover{background:#ffffffb3}.speed-selector-btn:focus{outline:none}.speed-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:4px;z-index:100;min-width:120px;display:flex;flex-direction:column;gap:2px}.speed-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;background:transparent;cursor:pointer;border-radius:4px;color:var(--text-primary, #333);font-size:.9rem;text-align:left;width:100%}.speed-dropdown-item:hover{background:var(--bg-secondary, #f5f5f5)}.speed-dropdown-item.active{background:var(--bg-secondary, #f0f0f0);font-weight:500}.probabilities-wrapper{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;max-width:600px;justify-content:center}.probabilities-label-side{font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary, #666);writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;height:100px;text-align:center}.probability-bars{display:flex;flex-direction:column;gap:2px;width:100%;flex:1}.prob-row{display:flex;align-items:center;gap:12px;position:relative;padding:2px 8px;border-radius:6px}.prob-label{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-width:140px;font-size:16px;z-index:2;gap:8px}.prob-token{font-family:var(--mono-font, monospace);color:var(--text-primary, #222)}.prob-percent{color:var(--text-secondary, #666);font-size:11px}.prob-bar-wrapper{flex:1;position:relative;height:14px;background:#f2f2f2;border-radius:10px;overflow:hidden;z-index:2}.prob-bar{height:100%;border-radius:10px;transition:width .6s ease}.row-selection-outline{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid var(--accent-primary, #007e66);border-radius:8px;pointer-events:none;z-index:1;background:transparent}.append-arrow-container{position:absolute;right:-10px;top:50%;width:0;height:0;overflow:visible;z-index:10}.append-arrow-svg{overflow:visible;pointer-events:none;width:1px;height:1px}@media (max-width: 760px){.decoding-prompt-container{max-width:100%;padding:0 10px}.probabilities-wrapper{max-width:92%;gap:8px}.transformer-box{padding:12px 16px;flex-direction:column;gap:10px;width:85%}.transformer-left{order:-1;justify-content:center}.transformer-right{justify-content:center}}:root{--pretraining-gap: .5rem}.pretraining-simple-container{display:flex;flex-direction:column;gap:var(--pretraining-gap);padding-bottom:4rem}.pretraining-simple-main{display:flex;flex-direction:column;gap:var(--pretraining-gap);position:relative}.pretraining-simple-docs{width:100%;margin-top:calc(var(--header-height, 60px) + 2rem)}.pretraining-doc-arrow{display:flex;flex-direction:column;align-items:center;gap:0}.pretraining-doc-arrow .shaft{width:2px;height:16px;background:var(--border-color, #ccc);transition:all .3s ease}.pretraining-doc-arrow .head{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--border-color, #ccc);margin-top:-2px;transition:all .3s ease}.pretraining-doc-arrow.active .head{border-left:7px solid transparent;border-right:7px solid transparent}.transformer-box.training-simple{max-width:700px;margin:0 auto}.transformer-box.training-simple.processing-active{box-shadow:0 4px 16px #3b82f64d}.transformer-box.training-simple.feedback-active{box-shadow:0 0 24px #22c55e40,0 0 24px #ef444433;background:linear-gradient(120deg,#22c55e17,#ef444414)}.arrow.arrow-down{display:flex;flex-direction:column;align-items:center;gap:0}.arrow.arrow-down .shaft{width:2px;height:16px;background:var(--border-color, #ccc);transition:all .3s ease}.arrow.arrow-down .head{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--border-color, #ccc);margin-top:-2px;transition:all .3s ease}.arrow.arrow-down.active .head{border-left:7px solid transparent;border-right:7px solid transparent}.arrow.arrow-up{display:flex;flex-direction:column;align-items:center;gap:0}.arrow.arrow-up.gradient-feedback{position:relative}.arrow.arrow-up.gradient-feedback .shaft{width:3px;height:16px;background:linear-gradient(180deg,#22c55e,#ef4444);animation:pulse-arrow 1.6s ease-in-out infinite}.arrow.arrow-up.gradient-feedback .head{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #22c55e;border-top:0;margin-top:0;margin-bottom:-2px;order:-1}@keyframes pulse-arrow{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.pretraining-distribution-stage{position:relative;padding:1rem 0 2rem}.pretraining-simple-distributions{display:grid;grid-template-columns:1fr 1.5fr .4fr;gap:.25rem;width:min(1200px,100%);margin:0 auto;padding:0 .5rem}@media (min-width: 900px){.pretraining-simple-distributions{grid-template-columns:1.5fr .8fr 1.5fr;gap:1.25rem}}.distribution-column{background:var(--panel-background, rgba(255, 255, 255, .04));border:1px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;min-height:220px}.distribution-column.diff{border:none;background:transparent;padding:1rem .5rem;text-align:center;padding-right:0;padding-left:0}.distribution-column .column-header{font-weight:600;margin-bottom:.75rem}.distribution-column.target .column-header .target-token-highlight{color:#b91c1c;font-weight:700;font-family:var(--mono-font, "Consolas", "Monaco", monospace)}.distribution-body{display:flex;flex-direction:column;gap:.75rem}.distribution-row{display:grid;grid-template-columns:minmax(60px,1fr) minmax(80px,2fr) auto;align-items:center;gap:.5rem;font-size:.95rem}.distribution-row .token-label{font-variant-numeric:tabular-nums;font-weight:500}.distribution-row .bar-track{background:#ffffff14;border-radius:999px;height:10px;position:relative;overflow:hidden}.distribution-row .bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.distribution-row .bar-track.target{background:#22c55e14}.distribution-row .bar-fill.target{background:linear-gradient(90deg,#22c55ee6,#22c55e80)}.distribution-row .value-label{font-variant-numeric:tabular-nums;min-width:60px;text-align:right}.distribution-row.is-target .token-label{color:var(--accent-color, #22c55e)}.distribution-row.diff-row{grid-template-columns:1fr}.distribution-column.diff .distribution-row{grid-template-columns:1fr;justify-items:center}.distribution-column.diff .distribution-row .value-label{font-weight:600;text-align:center;width:100%}.distribution-column.diff .distribution-row.positive .value-label{color:#22c55e}.distribution-column.diff .distribution-row.negative .value-label{color:#ef4444}.distribution-row.ellipsis{opacity:.6}@media (max-width: 768px){.distribution-column{padding:.75rem .25rem;min-height:auto}.distribution-column .column-header{font-size:.8rem;margin-bottom:.5rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.distribution-row{grid-template-columns:45px 25px 35px;gap:.25rem;font-size:.75rem}.distribution-row .token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distribution-row .value-label{min-width:0;font-size:.7rem;text-align:right}.distribution-column.diff .distribution-row .value-label{font-size:.7rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-primary);border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close-button{background:transparent;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;transition:color .2s ease;line-height:1}.modal-close-button:hover{color:var(--text-primary)}.modal-body{padding:1.25rem 1.5rem;overflow-y:auto}.shortcuts-list{display:flex;flex-direction:column;gap:.1rem}.shortcut-item{display:flex;align-items:center;gap:1.25rem;padding:.5rem 0}.shortcut-keys{min-width:100px;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.keyboard-key{display:inline-block;padding:.25rem .625rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;font-size:.8125rem;font-weight:600;color:var(--text-primary);box-shadow:0 1px 0 var(--border-color),0 1px 3px #0000001a;text-align:center;min-width:1.75rem;line-height:1.2;transition:all .2s ease}.key-separator{color:var(--text-tertiary);font-weight:500;margin:0 .25rem}.key-or{color:var(--text-tertiary);font-weight:400;font-style:italic;margin:0 .5rem;font-size:.875rem}.shortcut-description{flex:1;color:var(--text-secondary);font-size:.875rem;line-height:1.4}@media (max-width: 768px){.modal-content{width:95%;max-height:90vh}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.25rem}.modal-body{padding:1.5rem}.shortcut-item{flex-direction:column;align-items:flex-start;gap:.75rem}.shortcut-keys{min-width:auto}}.view-selector-popup{position:relative;display:flex;align-items:center}.view-selector-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:none;border-radius:.375rem;color:var(--accent-primary);font-family:var(--font-sans);font-size:.95rem;font-weight:500;cursor:pointer;white-space:nowrap;max-width:100%}.view-selector-button:hover{background:var(--bg-secondary)}.view-selector-button:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.view-current-icon{color:var(--accent-primary);display:flex;align-items:center;justify-content:center}.view-current-icon-img{width:20px;height:20px;object-fit:contain}.view-current-label{line-height:1;font-size:1em;font-weight:700}.view-chevron{transition:transform .2s ease;color:var(--accent-primary)}.view-chevron.open{transform:rotate(180deg)}.view-popup{position:absolute;top:calc(100% + .5rem);left:0;min-width:280px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 20px var(--shadow-color);padding:1rem;z-index:1000;animation:popupFadeIn .15s ease-out}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.view-section{margin-bottom:1rem}.view-section:last-child{margin-bottom:0}.view-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 .5rem;padding:0 .25rem}.view-section-items{display:flex;flex-direction:column;gap:.25rem}.view-item{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:.375rem;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);font-size:.875rem;font-weight:400;text-align:left;width:100%}.view-item:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.view-item:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.view-item.active{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-primary);font-weight:500}.view-item-icon-svg{flex-shrink:0;color:var(--text-secondary);transition:color .2s ease}.view-item-icon-img{flex-shrink:0;width:20px;height:20px;object-fit:contain;opacity:.5;transition:opacity .2s ease}.view-item:hover .view-item-icon-svg{color:var(--accent-primary)}.view-item:hover .view-item-icon-img,.view-item.active .view-item-icon-img{opacity:1}.view-item.active .view-item-icon-svg{color:var(--accent-primary)}.view-item-label{text-align:left;line-height:1.2;flex:1;font-family:var(--font-sans)}@media (max-width: 1000px){.view-chevron{display:none}.view-selector-button{padding:.5rem;min-width:auto;max-width:calc(100vw - 170px)}.view-current-label{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-popup{min-width:180px}}.view-top-panel-content{flex:1;display:flex;align-items:center}.view-main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.view-bottom-content{display:block}.training-top-placeholder{width:100%;min-height:60px;display:flex;align-items:center;justify-content:center}.training-carousel-wrapper{width:100%;margin-top:calc(var(--header-height) + 2rem);margin-bottom:1.5rem}.decoding-placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.placeholder-text{color:var(--text-secondary);font-size:1.1rem;text-align:center;max-width:600px;line-height:1.6}@media (max-width: 768px){.placeholder-text{font-size:1rem;padding:1rem}}
