code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, Consolas, monospace;--color-bg: #0a0a0a;--color-surface: #111113;--color-surface-hover: #1a1a1e;--color-border: #222228;--color-text: #eeeef0;--color-text-dim: #888890;--color-accent: #4c1d95;--color-accent-dim: #3b0764}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{min-height:100vh}.hero{position:relative;width:100%;height:100vh;min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero-content{position:relative;z-index:2;padding:2rem}.hero h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem;text-shadow:0 2px 12px rgba(0,0,0,.6)}.hero p{font-size:clamp(1rem,2vw,1.25rem);color:#fff;max-width:520px;margin:0 auto 2rem;line-height:1.6;text-shadow:0 1px 8px rgba(0,0,0,.6)}.hero-nav{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-nav a{padding:.65rem 1.5rem;border-radius:8px;text-decoration:none;font-size:.95rem;font-weight:500;transition:background .2s,color .2s}.hero-nav a.primary{background:var(--color-accent);color:#fff}.hero-nav a.primary:hover{background:var(--color-accent-dim)}.hero-nav a.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.hero-nav a.secondary:hover{background:var(--color-surface-hover)}.section{max-width:1200px;margin:0 auto;padding:6rem 2rem}.section h2{font-size:2rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}.section .subtitle{color:var(--color-text-dim);margin-bottom:3rem;font-size:1.05rem}.preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:1000px){.preset-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.preset-grid{grid-template-columns:repeat(2,1fr)}}.preset-card{border-radius:10px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);transition:border-color .2s}.preset-card:hover{border-color:#333}.preset-preview{height:150px;position:relative}.preset-info{padding:.65rem .9rem}.preset-info h3{font-size:.95rem;font-weight:600;margin-bottom:.2rem;text-transform:capitalize}.preset-info p{font-size:.78rem;color:var(--color-text-dim)}.animation-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}@media(max-width:900px){.animation-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.animation-card{border-radius:12px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface)}.animation-preview{height:140px}.animation-label{padding:.5rem .75rem;font-size:.95rem;font-weight:500;text-transform:capitalize;text-align:center}.playground-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}@media(max-width:800px){.playground-layout{grid-template-columns:1fr}}.playground-preview{border-radius:12px;overflow:hidden;border:1px solid var(--color-border);height:400px}.playground-controls{display:flex;flex-direction:column;gap:1.25rem}.control-group{display:flex;flex-direction:column;gap:.4rem}.control-group label{font-size:.85rem;font-weight:500;color:var(--color-text-dim);display:flex;justify-content:space-between}.control-group label span{color:var(--color-text);font-family:var(--font-mono);font-size:.8rem}.control-group input[type=range]{width:100%;accent-color:var(--color-accent);height:6px;cursor:pointer}.control-group select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;padding:.5rem .75rem;font-size:.9rem;cursor:pointer}.control-group select:hover{border-color:#444}.code-block{background:#111118;border:1px solid var(--color-border);border-radius:10px;padding:1.25rem 1.5rem;overflow-x:auto;font-family:var(--font-mono);font-size:.82rem;line-height:1.65;color:#c8c8d0;white-space:pre;max-width:100%;margin-top:1rem}.code-block .kw{color:#c792ea}.code-block .str{color:#c3e88d}.code-block .num{color:#f78c6c}.code-block .comp{color:#82aaff}.code-block .prop{color:#f07178}.code-block .punct{color:#89ddff}.playground-editor{margin-top:2rem}.editor-label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text-dim);margin-bottom:.5rem}.editor-body{display:flex;gap:.75rem;align-items:stretch}.editor-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.apply-btn{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.6rem 1.4rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s;white-space:nowrap}.apply-btn:hover{background:var(--color-accent-dim);box-shadow:0 0 12px #4c1d9566}.random-btn{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;padding:.6rem 1.4rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.random-btn:hover{background:var(--color-surface-hover);border-color:var(--color-accent)}.json-editor-wrapper{flex:1;position:relative;min-width:0;overflow:auto;border:1px solid var(--color-border);border-radius:10px;background:#111118;transition:border-color .2s}.json-editor-wrapper:focus-within{border-color:var(--color-accent)}.json-editor{background:transparent!important;border:none!important;border-radius:0!important;color:#c8c8d0;overflow:visible!important}.playground-editor .json-editor-wrapper{min-height:200px;max-height:200px}.json-editor-textarea{outline:none!important}.copy-btn{position:absolute;top:8px;right:8px;z-index:5;background:var(--color-surface-hover);color:var(--color-text-dim);border:1px solid var(--color-border);border-radius:6px;padding:.3rem .7rem;font-size:.72rem;font-family:var(--font-mono);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.copy-btn:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-accent)}.json-editor .token.property{color:#f07178}.json-editor .token.string{color:#c3e88d}.json-editor .token.number{color:#f78c6c}.json-editor .token.boolean,.json-editor .token.null{color:#c792ea}.json-editor .token.punctuation,.json-editor .token.operator{color:#89ddff}.json-error{margin-top:.5rem;font-size:.8rem;color:#f44;font-family:var(--font-mono)}.get-started-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.75rem 2rem;margin-bottom:2.5rem;display:flex;flex-direction:column;gap:1.5rem}.get-started-step{display:flex;align-items:flex-start;gap:1rem}.get-started-step+.get-started-step{border-top:1px solid var(--color-border);padding-top:1.5rem}.step-number{width:28px;height:28px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0;margin-top:2px}.step-content{flex:1;min-width:0}.step-content h3{font-size:1rem;font-weight:600;margin-bottom:.5rem}.step-content .code-block{margin-top:0;font-size:.8rem}.get-started-links{display:flex;gap:1rem;flex-wrap:wrap}.repo-link{display:inline-block;padding:.65rem 1.5rem;border-radius:8px;text-decoration:none;font-size:.95rem;font-weight:500;background:var(--color-accent);color:#fff;transition:background .2s}.repo-link:hover{background:var(--color-accent-dim)}.repo-link.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.repo-link.secondary:hover{background:var(--color-surface-hover)}.section-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0}.section-header-row>div{flex:1}.section-header-row h2{margin-bottom:.5rem}.section-header-row .subtitle{margin-bottom:3rem}.fullscreen-link{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.2rem;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--color-text-dim);text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap;transition:background .2s,color .2s,border-color .2s;flex-shrink:0;margin-top:.25rem}.fullscreen-link:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-accent)}.playground-header-actions{display:flex;align-items:center;gap:.6rem}.rec-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 1rem;border-radius:8px;font-size:.82rem;font-weight:600;font-family:var(--font-mono);color:var(--color-text-dim);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}.rec-btn:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-accent)}.rec-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0;transition:background .2s}.rec-btn-active{border-color:#e33;color:#ff6b6b}.rec-btn-active .rec-dot{background:#e33;animation:rec-pulse 1s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.fs-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.fs-playground{width:100vw;height:100vh;overflow:hidden;position:relative}.fs-toggle{position:fixed;top:1.25rem;right:1.25rem;z-index:12;background:#0a0a10d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-dim);width:32px;height:32px;font-size:.85rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s}.fs-toggle:hover{background:#0a0a10f2;color:var(--color-text);border-color:var(--color-accent)}.fs-panel{position:fixed;top:0;right:0;width:min(520px,34vw);min-width:380px;height:100vh;overflow:hidden;background:#0a0a10f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-left:1px solid rgba(34,34,40,.2);transition:transform .35s ease,opacity .4s ease;z-index:10;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;opacity:.2;transition:opacity .4s ease;will-change:opacity}.fs-panel:hover,.fs-panel:focus-within{opacity:.7;border-left-color:var(--color-border)}.fs-panel-hidden{transform:translate(100%);opacity:0;pointer-events:none}.fs-panel *,.fs-panel input,.fs-panel select,.fs-panel button,.fs-panel textarea{transition:opacity .4s ease}.fs-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0}.fs-panel-header h2{font-size:1.15rem;font-weight:600}.fs-panel-title{display:flex;align-items:center;gap:.5rem}.fs-toggle-inline{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-dim);width:26px;height:26px;font-size:.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s;flex-shrink:0}.fs-toggle-inline:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-accent)}.fs-back-link{font-size:.82rem;color:var(--color-text-dim);text-decoration:none;transition:color .2s}.fs-back-link:hover{color:var(--color-text)}.fs-panel-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;padding-right:.15rem}.fs-section{background:#12121cc7;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:.9rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:inset 0 1px #ffffff08}.fs-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.fs-section-header h3{font-size:.84rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text)}.fs-section-header span{font-size:.76rem;color:var(--color-text-dim)}.fs-controls{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;flex-shrink:0}.fs-controls .control-group{padding:.75rem .8rem;gap:.55rem;border-radius:12px;background:#0a0a10b8;border:1px solid rgba(255,255,255,.04)}.fs-controls .control-group label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.fs-controls .control-group select{min-height:42px}.fs-editor{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.fs-editor-actions{display:flex;gap:.5rem;flex-shrink:0}.fs-editor-actions .apply-btn,.fs-editor-actions .random-btn{padding:.55rem .95rem}.fs-editor .editor-body{flex:1;display:flex;align-items:stretch;min-height:0;overflow:hidden}.fs-editor .json-editor-wrapper{flex:1;min-height:0;max-height:none}@media(max-width:700px){.fs-panel{width:100%;min-width:0;border-left:none;border-top:1px solid var(--color-border);height:55vh;top:auto;bottom:0}.fs-panel-header,.fs-section-header{align-items:flex-start;flex-direction:column}.fs-controls{grid-template-columns:1fr}.fs-editor-actions{width:100%}.fs-editor-actions .apply-btn,.fs-editor-actions .random-btn{flex:1}.fs-panel-hidden{transform:translateY(100%)}}@media(min-width:1800px){.fs-panel{width:min(600px,30vw)}}.footer{text-align:center;padding:3rem 2rem;color:var(--color-text-dim);font-size:.9rem;border-top:1px solid var(--color-border)}.footer a{color:var(--color-accent);text-decoration:none}.footer a:hover{text-decoration:underline}
