:root{--color-bg-primary: #0d1117;--color-bg-secondary: #161b22;--color-bg-tertiary: #21262d;--color-bg-hover: #30363d;--color-border: #30363d;--color-border-muted: #21262d;--color-text-primary: #e6edf3;--color-text-secondary: #8b949e;--color-text-muted: #6e7681;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-link: #58a6ff;--color-link-hover: #79c0ff;--color-syntax-tag: #7ee787;--color-syntax-attr: #79c0ff;--color-syntax-string: #a5d6ff;--color-syntax-comment: #8b949e;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Consolas", "Monaco", monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--header-height: 48px;--sidebar-width: 220px;--sidebar-min-width: 180px;--sidebar-max-width: 320px;--transition-fast: .15s ease;--transition-normal: .25s ease;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.playground{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.playground__header{flex-shrink:0;height:var(--header-height);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.playground__container{display:flex;flex:1;min-height:0;overflow:hidden}.playground__sidebar{flex-shrink:0;width:var(--sidebar-width);border-right:1px solid var(--color-border);background-color:var(--color-bg-secondary);overflow-y:auto;overflow-x:hidden;transition:width var(--transition-normal),opacity var(--transition-normal)}.playground__sidebar--collapsed{width:auto;min-width:56px}.playground__sidebar--collapsed .sidebar{padding:var(--spacing-sm)}.playground__sidebar--collapsed .sidebar__header{flex-direction:column;gap:var(--spacing-sm);margin-bottom:0}.playground__sidebar--collapsed .sidebar__heading,.playground__sidebar--collapsed .sidebar__section,.playground__sidebar--collapsed .sidebar__footer{display:none}.playground__editor{flex:1;min-width:300px;display:flex;flex-direction:column;background-color:var(--color-bg-primary);overflow:hidden}.playground__preview{flex:2.5;min-width:300px;display:flex;flex-direction:column;background-color:var(--color-bg-tertiary);overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 var(--spacing-lg)}.header__logo{display:flex;align-items:center;gap:var(--spacing-sm)}.header__logo-img{height:18px;width:auto}.header__logo-badge{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-secondary);background-color:var(--color-bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm)}.header__nav{display:flex;align-items:center;gap:var(--spacing-lg)}.sidebar{display:flex;flex-direction:column;height:100%;padding:var(--spacing-lg)}.sidebar__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.sidebar__logo{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.sidebar__logo img{width:100%;height:100%;object-fit:contain}.sidebar__heading{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;flex:1}.sidebar__toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.sidebar__toggle:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar__toggle svg{transition:transform var(--transition-fast)}.sidebar__section{margin-bottom:var(--spacing-xl)}.sidebar__section-title{font-size:var(--font-size-lg);font-weight:500;color:var(--color-text-muted);margin:var(--spacing-md) 0 var(--spacing-sm) 0}.sidebar__title{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);margin:0 0 var(--spacing-sm) 0}.sidebar__list{list-style:none;margin:0;padding:0}.sidebar__item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm);margin:0 calc(var(--spacing-sm) * -1);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.sidebar__item:hover{background-color:var(--color-bg-hover)}.sidebar__item--active{background-color:var(--color-bg-tertiary)}.sidebar__indicator{width:6px;height:6px;border-radius:50%;background-color:transparent;flex-shrink:0}.sidebar__item--active .sidebar__indicator{background-color:var(--color-accent)}.sidebar__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__item--active .sidebar__label{color:var(--color-text-primary)}.editor{display:flex;flex-direction:column;height:100%}.editor__header{flex-shrink:0;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.editor__header-row{display:flex;align-items:center;gap:var(--spacing-md)}.editor__select-wrapper--theme{margin-left:auto}.editor__select--theme{min-width:100px}.editor__select-wrapper{position:relative;display:inline-flex;align-items:center;margin-bottom:var(--spacing-md)}.editor__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:500;padding:var(--spacing-sm) var(--spacing-xl) var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:border-color var(--transition-fast)}.editor__select:hover{border-color:var(--color-text-muted)}.editor__select:focus{outline:none;border-color:var(--color-accent)}.editor__select-arrow{position:absolute;right:var(--spacing-sm);pointer-events:none;color:var(--color-text-muted)}.editor__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.6}.editor__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.editor__action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.editor__action-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-hover)}.editor__action-btn svg{flex-shrink:0}.editor__content{flex:1;min-height:0;overflow:auto}.editor__placeholder{padding:var(--spacing-lg);height:100%}.editor__code{margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.editor__content .cm-editor{height:100%}.editor__content .cm-scroller{font-family:var(--font-mono);font-size:15px;line-height:1.6}.preview{display:flex;flex-direction:column;height:100%}.preview__toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.preview__button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.preview__button:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.preview__button--icon{padding:var(--spacing-xs)}.preview__actions{display:flex;align-items:center;gap:var(--spacing-xs)}.preview__content{flex:1;min-height:0;background-image:radial-gradient(1.4px,#333 1.4px,#000 1.4px);background-size:10px 10px}.preview__iframe{width:100%;height:100%;border:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.resize-handle{flex-shrink:0;width:12px;margin-right:-12px;cursor:col-resize;position:relative;z-index:10}.resize-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:50px;border-radius:2px;background-color:#6a7282;transition:background-color var(--transition-fast)}.resize-handle:hover:before,.resize-handle--active:before{background-color:var(--color-accent)}body.is-resizing{cursor:col-resize!important;-webkit-user-select:none;user-select:none}body.is-resizing *{cursor:col-resize!important}body.is-resizing .playground__editor,body.is-resizing .playground__preview{transition:none}.mobile-tabs{display:none;flex-shrink:0;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.mobile-tabs__tab{flex:1;padding:var(--spacing-md) var(--spacing-lg);background-color:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.mobile-tabs__tab:hover{color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.mobile-tabs__tab--active{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}@media (max-width: 768px){.mobile-tabs{display:flex}.playground__container{flex-direction:column}.playground__sidebar{display:none}.playground__editor,.playground__preview{min-width:0;min-height:0;flex:1;display:none;overflow:hidden}.playground__editor--active,.playground__preview--active{display:flex}.playground__editor--active .editor{min-height:0}.editor__header{border-right:none}.playground__editor--active .editor__content{flex:1;min-height:0;overflow:auto}.resize-handle,.header__nav{display:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-bg-hover);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
