:root{--bg-color: #f8fafc;--grid-color: rgba(59, 130, 246, .15);--panel-bg: #ffffff;--panel-border: #0f172a;--panel-shadow: 6px 6px 0px #0f172a;--accent-color: #3b82f6;--accent-hover: #2563eb;--btn-text: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--title-bar-bg: #e2e8f0;--title-bar-text: #0f172a;--radius: 8px;--transition: all .3s cubic-bezier(.16, 1, .3, 1);--upload-overlay-bg: rgba(255, 255, 255, .9);--code-editor-color: #1e293b;--sparkle-color: #8b5cf6;--sparkle-bg: #ede9fe}[data-theme=dark]{--bg-color: #0f172a;--grid-color: rgba(56, 189, 248, .15);--panel-bg: #1e293b;--panel-border: #f8fafc;--panel-shadow: 6px 6px 0px #38bdf8;--accent-color: #8b5cf6;--accent-hover: #7c3aed;--btn-text: #ffffff;--text-primary: #f8fafc;--text-secondary: #94a3b8;--title-bar-bg: #334155;--title-bar-text: #f8fafc;--upload-overlay-bg: rgba(15, 23, 42, .9);--code-editor-color: #e2e8f0;--sparkle-color: #38bdf8;--sparkle-bg: rgba(56, 189, 248, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Space Grotesk,Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:40px 40px;background-position:center center;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--title-bar-bg);border-left:3px solid var(--panel-border)}::-webkit-scrollbar-thumb{background:var(--text-secondary);border:3px solid var(--panel-border);border-radius:0}@keyframes crt-tv{0%{transform:scale(1);filter:brightness(1) contrast(1);opacity:1}30%{transform:scaleY(.02);filter:brightness(5) contrast(2);opacity:1}50%{transform:scale(0,.02);filter:brightness(10) contrast(3);opacity:0}51%{transform:scale(0);filter:brightness(1) contrast(1);opacity:0}70%{transform:scale(0,.02);filter:brightness(10) contrast(3);opacity:1}90%{transform:scaleY(.02);filter:brightness(5) contrast(2);opacity:1}to{transform:scale(1);filter:brightness(1) contrast(1);opacity:1}}.theme-tv{animation:crt-tv .5s ease-in-out forwards}@keyframes layout-glitch{0%{transform:skew(0);filter:brightness(1) contrast(1) sepia(0) hue-rotate(0deg)}20%{transform:skew(-1deg) translateY(-2px);filter:brightness(1.5) contrast(1.2) sepia(.3) hue-rotate(10deg)}40%{transform:skew(1deg) translateY(2px);filter:brightness(.8) contrast(1.5) sepia(.5) hue-rotate(-10deg)}60%{transform:skew(-.5deg) translateY(1px);filter:brightness(1.2) contrast(1.1) sepia(.1) hue-rotate(5deg)}80%{transform:skew(.5deg) translateY(-1px);filter:brightness(.9) contrast(1.2) sepia(.2) hue-rotate(20deg)}to{transform:skew(0);filter:brightness(1) contrast(1) sepia(0) hue-rotate(0deg)}}.layout-glitch{animation:layout-glitch .25s cubic-bezier(.25,.46,.45,.94) forwards!important;position:relative}.layout-glitch:after{content:"";position:absolute;inset:0;background-image:repeating-radial-gradient(circle at 50% 50%,#ffffff1a,#00000026 2px);background-size:4px 4px;opacity:.15;z-index:100;pointer-events:none;animation:static-noise .2s infinite linear}@keyframes tv-channel-switch{0%{transform:scale(1);filter:brightness(1) contrast(1) sepia(0) hue-rotate(0deg);opacity:1}20%{transform:scale(.98,1.05) skew(-2deg);filter:brightness(2) contrast(1.5) sepia(.5) hue-rotate(90deg) blur(2px);opacity:.8}40%{transform:scale(1.02,.95) skew(2deg) translateY(-10px);filter:brightness(.5) contrast(2) sepia(.8) hue-rotate(-90deg) blur(4px);opacity:.5}60%{transform:scale(.95,1.02) skew(-1deg) translateY(10px);filter:brightness(2.5) contrast(1.2) sepia(.2) hue-rotate(180deg) blur(1px);opacity:.7}80%{transform:scale(1.01,.99) skew(1deg);filter:brightness(.8) contrast(1.8) sepia(.6) hue-rotate(45deg) blur(3px);opacity:.9}to{transform:scale(1);filter:brightness(1) contrast(1) sepia(0) hue-rotate(0deg);opacity:1}}.channel-switching{animation:tv-channel-switch .25s cubic-bezier(.25,.46,.45,.94) forwards!important;position:relative}.channel-switching:after{content:"";position:absolute;inset:0;background-image:repeating-radial-gradient(circle at 50% 50%,#ffffff1a,#00000026 2px);background-size:4px 4px;opacity:.5;z-index:100;pointer-events:none;animation:static-noise .2s infinite linear}@keyframes static-noise{0%{background-position:0 0}10%{background-position:-2px 2px}20%{background-position:2px -2px}30%{background-position:-4px 4px}40%{background-position:4px -4px}50%{background-position:-2px -2px}60%{background-position:2px 2px}70%{background-position:0 -4px}80%{background-position:-4px 0}90%{background-position:4px 2px}to{background-position:0 0}}.app-container{display:flex;flex-direction:column;height:100vh;padding:2rem;gap:2rem;transition:padding .3s cubic-bezier(.16,1,.3,1),gap .3s cubic-bezier(.16,1,.3,1)}.header{display:flex;align-items:center;justify-content:space-between;background:var(--panel-bg);padding:1rem 1.5rem;border:3px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),padding .3s cubic-bezier(.16,1,.3,1),margin .3s cubic-bezier(.16,1,.3,1),border .3s cubic-bezier(.16,1,.3,1),background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.header h1{font-size:1.5rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:-.02em}.main-content{display:flex;flex:1;gap:2rem;min-height:0;transition:margin .3s cubic-bezier(.16,1,.3,1),padding .3s cubic-bezier(.16,1,.3,1)}.pane{flex:1;background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--panel-shadow);transition:flex .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),border .4s cubic-bezier(.16,1,.3,1),border-radius .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),background-color .4s ease,border-color .4s ease}.pane-header{padding:.75rem 1rem;border-bottom:3px solid var(--panel-border);display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--title-bar-text);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;background:var(--title-bar-bg);transition:background-color .4s ease,color .4s ease,border-color .4s ease}.window-controls{display:flex;gap:6px;margin-right:12px}.window-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--panel-border)}.dot-red{background-color:#ff5f56}.dot-yellow{background-color:#ffbd2e}.dot-green{background-color:#27c93f}.pane-header-title{display:flex;align-items:center;gap:.5rem;flex:1}.pane-content{flex:1;padding:1.5rem;overflow-y:auto;position:relative;display:flex;flex-direction:column}.code-editor{flex:1;width:100%;background:transparent;border:none;color:var(--code-editor-color);font-family:JetBrains Mono,Fira Code,monospace;font-size:.95rem;line-height:1.6;outline:none;resize:none;transition:color .3s ease}.render-container{flex:1;width:100%;background:transparent;color:var(--text-primary);overflow:auto;position:relative;transition:color .3s ease}.header-actions{display:flex;gap:1.25rem;align-items:center}.mobile-reminder{display:none}@media(max-width:768px){.app-container{padding:.75rem;gap:.75rem}.mobile-reminder{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem .75rem;background:var(--accent-color);color:var(--btn-text);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:2px solid var(--panel-border);border-radius:var(--radius)}.header{padding:.6rem .75rem;flex-wrap:wrap;gap:.5rem}.header h1{font-size:1.1rem}.header-actions{gap:.6rem}.show-code-action{display:none}.main-content{flex-direction:column}.pane-header{font-size:.75rem;padding:.5rem .75rem}}.upload-overlay{position:absolute;inset:0;background:var(--upload-overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:var(--transition);z-index:10}.upload-overlay.active{opacity:1;pointer-events:auto}.upload-box{border:3px dashed var(--accent-color);border-radius:var(--radius);padding:3rem;text-align:center;background:var(--bg-color);cursor:pointer;transition:var(--transition);box-shadow:4px 4px #0000000d}.upload-box:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #0000001a}.upload-icon{color:var(--accent-color);margin-bottom:1rem}.btn{background:var(--accent-color);color:var(--btn-text);border:3px solid var(--panel-border);padding:.5rem 1rem;border-radius:var(--radius);font-weight:700;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;box-shadow:4px 4px 0 var(--panel-border);text-transform:uppercase;letter-spacing:.05em}.btn:hover{background:var(--accent-hover)}.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--panel-border)}.btn-secondary{background:var(--panel-bg);color:var(--text-primary)}.btn-secondary:hover{background:var(--title-bar-bg)}.error-message{padding:1.25rem;background:#fee2e2;border:3px solid #ef4444;color:#991b1b;font-family:monospace;white-space:pre-wrap;margin-bottom:1.5rem;border-radius:var(--radius);box-shadow:4px 4px #ef4444;font-weight:600;transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}[data-theme=dark] .error-message{background:#ef444426;color:#fca5a5;border-color:#f87171;box-shadow:4px 4px #f87171}.empty-state-badge{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:0;background:transparent;border:none;box-shadow:none;color:var(--title-bar-text);font-size:1rem;font-weight:700;cursor:default;text-transform:none;letter-spacing:normal}.empty-state-badge .badge-icon{width:80px;height:50px;background-color:var(--folder-color, #d1b8cc);border:3px solid var(--panel-border);position:relative;display:flex;align-items:center;justify-content:center;margin-top:14px}.empty-state-badge .badge-icon:before{content:"";position:absolute;top:-14px;right:-3px;width:38px;height:14px;background-color:var(--folder-color, #d1b8cc);border:3px solid var(--panel-border);border-bottom:none;border-radius:0}.empty-state-badge .badge-icon:after{content:"";position:absolute;top:-3px;right:0;width:35px;height:3px;background-color:var(--folder-color, #d1b8cc);z-index:1}.empty-state-badge .badge-icon span{position:relative;z-index:2}.dot-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.dot-clickable:hover{transform:scale(1.35);box-shadow:0 0 6px currentColor}.dot-clickable.dot-red:hover{box-shadow:0 0 8px #ff5f56}.dot-clickable.dot-green:hover{box-shadow:0 0 8px #27c93f}.confirm-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:confirm-fade-in .15s ease-out}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);box-shadow:8px 8px 0 var(--panel-border);padding:1.75rem;min-width:320px;max-width:420px;color:var(--text-primary);font-family:inherit;animation:confirm-slide-in .2s cubic-bezier(.16,1,.3,1)}@keyframes confirm-slide-in{0%{transform:translateY(-12px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.sandbox-frame{width:100%;height:100%;border:none;display:block;background:#fff}
