:root{--primary: #455a64;--primary-dark: #37474f;--primary-light: #607d8b;--primary-lighter: #cfd8dc;--foreground: white;--background: var(--primary);--text-color: #333;--editor-bg: white;--content-bg: #f0f0f0;--border-color: #d0d0d0;--resizer-color: #d0d0d0;--resizer-hover: var(--primary);--shadow-color: rgba(0, 0, 0, .15);--loading-color: #ddd;--button-hover-bg: #e0e0e0;--panel-bg: white}.dark-mode{--primary: #455a64;--primary-dark: #263238;--primary-light: #607d8b;--primary-lighter: #1c2428;--foreground: #eee;--background: #37474f;--text-color: #e0e0e0;--editor-bg: #121212;--content-bg: #0a0a0a;--border-color: #333;--resizer-color: #333;--resizer-hover: var(--primary);--shadow-color: rgba(0, 0, 0, .4);--loading-color: #444;--button-hover-bg: #1a1a1a;--panel-bg: #1a1a1a}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--content-bg);color:var(--text-color);transition:background-color .3s ease,color .3s ease}code{border:1px solid var(--border-color);border-radius:4px;padding:0 4px;color:var(--primary);background-color:var(--primary-lighter);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}small{opacity:.8;font-weight:400}#app{height:100vh;width:100vw;display:flex;flex-direction:column}#header{padding:0 20px;height:60px;background-color:var(--background);color:var(--foreground);-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px var(--shadow-color);position:relative;z-index:10}.logo{display:flex;align-items:baseline}.logo-text{font-size:28px;font-weight:700;font-style:italic;letter-spacing:-.5px}.logo-tag{font-size:16px;font-weight:400;margin-left:8px;opacity:.9}.github-link{margin-right:10px;display:flex;align-items:center;gap:12px}.github-link a{text-decoration:none;transition:all .2s ease}.npm-link{display:flex;align-items:center;opacity:.9}.npm-link:hover{opacity:1}.github-stars{display:flex}.github-text{color:var(--foreground);font-size:16px;font-weight:500;padding:6px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.github-text:hover{background-color:#ffffff1a;border-color:#fff6;transform:translateY(-1px)}.mode-toggle{margin-left:10px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;position:relative;height:36px;width:36px;border-radius:50%;background-color:#ffffff1a}.mode-toggle:hover{transform:scale(1.05);background-color:#fff3}.mode-toggle .icon-sun,.mode-toggle .icon-moon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;transition:opacity .3s ease,transform .5s ease;color:var(--foreground)}.mode-toggle .icon-sun{opacity:0;transform:translate(-50%,-50%) rotate(-30deg) scale(0)}.mode-toggle .icon-moon,body.dark-mode .mode-toggle .icon-sun{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}body.dark-mode .mode-toggle .icon-moon{opacity:0;transform:translate(-50%,-50%) rotate(30deg) scale(0)}#body{flex:1;padding:14px;display:flex;justify-content:center;align-items:stretch;background-color:var(--content-bg);gap:3px;height:calc(100% - 60px);overflow:hidden}.panel{border-radius:10px;background-color:var(--panel-bg);box-shadow:0 4px 12px var(--shadow-color);transition:background-color .3s ease,box-shadow .3s ease}#content{flex:.618;display:flex;flex-direction:column;justify-content:space-around;height:100%;padding:16px;font-size:16px;line-height:1.5;min-width:200px}#resizer{width:8px;cursor:col-resize;background-color:transparent;position:relative;height:100%;z-index:5}#resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:50px;width:4px;border-radius:4px;background-color:var(--resizer-color);transition:background-color .2s ease,height .2s ease}#resizer:hover:after{background-color:var(--resizer-hover);height:80px}.upload-icon{margin-right:8px}#file-select-handler{display:flex;align-items:center;justify-content:center;margin:0 0 16px;padding:12px 24px;text-align:center;border-radius:8px;background-color:var(--primary);color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;transition:all .2s ease;box-shadow:0 2px 6px #546e7a33}#file-select-handler:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #546e7a4d}.instruction-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.instruction{color:var(--text-color);font-size:16px;opacity:.8}.example-segment{display:inline-flex;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;background:var(--panel-bg)}.example-segment-btn{padding:4px 10px;font-size:13px;font-weight:500;border:none;border-right:1px solid var(--border-color);background:transparent;color:var(--text-color);cursor:pointer;transition:background-color .2s ease}.example-segment-btn:last-child{border-right:none}.example-segment-btn:hover{background:var(--button-hover-bg)}.example-segment-btn:active{background:var(--border-color)}.editor-container{flex:1;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);transition:border-color .2s ease}.editor-container:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #546e7a1a}#result-container{flex:1;display:flex;flex-direction:column;height:100%;min-width:300px;padding:16px}.preview-container{flex:1;position:relative;border-radius:8px;margin-bottom:16px;overflow:hidden;border:1px solid var(--border-color);background-color:var(--editor-bg);transition:border-color .2s ease}.action-panel{flex:0 0 auto;display:flex;flex-direction:row;justify-content:space-between;gap:12px;height:auto;flex-wrap:wrap;align-items:center}.convert-option{padding:6px 12px;cursor:pointer;border:1px solid var(--border-color);border-radius:8px;text-align:center;font-size:16px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;justify-content:center;background-color:var(--panel-bg);height:42px;max-height:50px;flex:1 1 auto}.download-text{color:var(--text-color);transition:color .2s ease;font-size:16px}.cursor-icon{transition:transform .3s ease;font-size:18px}.convert-option:hover{background-color:var(--primary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 3px 8px var(--shadow-color)}.convert-option:hover .cursor-icon{transform:scale(1.2)}.convert-option:hover .download-text{color:var(--foreground)}.loading{position:relative;pointer-events:none;overflow:hidden}.loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--loading-color),.2),transparent);animation:loading-animation 1.5s infinite}@keyframes loading-animation{0%{transform:translate(-100%)}to{transform:translate(100%)}}#result.loading:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:"Loading render engine...";font-size:24px;color:var(--text-color);font-weight:500;background-color:var(--panel-bg);padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px var(--shadow-color)}.footer{text-align:center;padding:12px 0;font-size:18px;color:var(--text-color);opacity:.8;background-color:var(--content-bg)}.author-link{color:var(--primary);text-decoration:none;font-weight:500;transition:all .2s ease}.author-link:hover{opacity:1;text-decoration:underline}@media (min-width: 1200px){.action-panel{margin:0 auto}}@media (max-width: 992px){.action-panel{gap:8px}.convert-option{padding:8px}.download-text{font-size:14px}}@media (max-width: 768px){#body{flex-direction:column;padding:10px;gap:10px}#content,#result-container{width:100%;flex:none;height:auto}#content{height:40vh}#result-container{height:50vh}#resizer{width:100%;height:8px;cursor:row-resize}#resizer:after{height:4px;width:50px}#resizer:hover:after{height:4px;width:80px}.convert-option{flex:1 0 calc(50% - 8px);min-width:120px;padding:4px 8px;height:32px;max-height:32px}.action-panel{flex-wrap:wrap;height:auto;gap:8px}}@media (max-width: 480px){#header{padding:0 12px;height:50px}.logo-text{font-size:22px}.logo-tag{font-size:12px;display:none}.github-text{font-size:14px;padding:4px 8px}.action-panel{flex-direction:column;gap:6px}.convert-option{flex:1 0 100%;padding:4px;height:30px;max-height:30px;width:100%}.cursor-icon{font-size:16px}.download-text{font-size:13px}}
