pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-strong: #ffffff;--surface-soft: rgba(20, 22, 26, .045);--ink: #151619;--muted: #6d727a;--faint: #9da1a8;--line: rgba(20, 22, 26, .08);--accent: #2f73ff;--accent-soft: rgba(47, 115, 255, .14);--shadow: 0 28px 90px rgba(31, 35, 42, .14);--shadow-soft: 0 14px 42px rgba(31, 35, 42, .09);--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #121315;--surface: rgba(37, 39, 43, .72);--surface-strong: rgba(45, 47, 52, .9);--surface-soft: rgba(255, 255, 255, .055);--ink: #f3f4f6;--muted: #a5a8af;--faint: #747982;--line: rgba(255, 255, 255, .085);--accent: #6ea2ff;--accent-soft: rgba(110, 162, 255, .16);--shadow: 0 34px 100px rgba(0, 0, 0, .36);--shadow-soft: 0 18px 50px rgba(0, 0, 0, .24)}*{box-sizing:border-box;scrollbar-color:rgba(20,22,26,.78) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:5px;height:5px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border-radius:999px;background:#14161ab8}*::-webkit-scrollbar-thumb:hover{background:#ffffff57}:root:not([data-theme=dark]) *{scrollbar-color:rgba(90,94,104,.46) transparent}:root:not([data-theme=dark]) *::-webkit-scrollbar-thumb{background:#5a5e686b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--ink)}button,input{font:inherit}button,summary{-webkit-tap-highlight-color:transparent}button{border:0;border-radius:13px;background:var(--surface-soft);color:var(--ink);cursor:pointer;font-weight:500;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}button:hover{transform:translateY(-1px);background:var(--surface-strong);box-shadow:var(--shadow-soft)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 58%,transparent);outline-offset:3px}svg{width:16px;height:16px;stroke-width:2}#app{display:grid;grid-template:"top top top" 70px "effects workspace inspector" minmax(0,calc(100vh - 94px)) / minmax(248px,330px) minmax(0,1fr) minmax(270px,340px);gap:18px;min-height:100vh;padding:12px 16px 14px}.topbar{position:relative;z-index:60;grid-area:top;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;min-width:0;border-radius:22px;padding:0 14px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(24px) saturate(1.35);backdrop-filter:blur(24px) saturate(1.35)}.brand,.top-actions,.mode-switch,.preview-tools,.tool-group,.code-tabs,.workspace-footer,.shader-signature,.runtime-strip,.panel-title,.module-head,.code-head,.slider-row span,.color-row,.wide-tool,.top-action-button,.text-mini{display:flex;align-items:center}.brand{position:relative;gap:11px;min-width:0}.brand strong{display:block;font-size:1.18rem;font-weight:650;line-height:1.05}.brand-short{display:none}.brand span{color:var(--faint);font-size:.74rem}.brand .brand-full,.brand .brand-short{color:var(--ink);font-size:inherit}.app-menu{position:relative;z-index:100}.app-menu summary{list-style:none}.app-menu summary::-webkit-details-marker{display:none}.menu-popover{position:absolute;z-index:1000;top:calc(100% + 12px);left:0;display:grid;width:min(310px,calc(100vw - 32px));gap:4px;border-radius:18px;padding:8px;border:1px solid var(--line);background:#2d2f34;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}.menu-popover a{display:grid;gap:3px;border-radius:13px;padding:11px 12px;color:var(--ink);text-decoration:none}.menu-popover a:hover{background:#3a3d43}.menu-popover span{color:var(--ink);font-size:.84rem;font-weight:680}.menu-popover small{color:var(--muted);font-size:.72rem}.mode-switch{width:112px;border-radius:999px;padding:4px;background:color-mix(in srgb,var(--bg) 78%,transparent)}.mode-switch button,.code-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;flex:1;background:transparent;color:var(--muted);font-size:.82rem}.mode-switch button svg{width:17px;height:17px}.mode-switch button.is-active,.code-tabs button.is-active,.tool-button.is-active{background:color-mix(in srgb,var(--ink) 14%,var(--surface-strong));color:var(--ink);box-shadow:inset 0 1px #ffffff1f,0 8px 22px #0000001f}.top-actions{justify-content:flex-end;gap:8px}.panel-actions,.effect-badges,.toggle-icons{display:inline-flex;align-items:center}.panel-actions{gap:6px}.icon-button,.mini-button,.tool-button{min-height:36px}.icon-button,.mini-button{display:inline-grid;min-width:36px;place-items:center;padding:0 10px}.icon-button{border-radius:999px}.app-menu .icon-button{color:var(--faint)}.mini-button.text-mini{display:inline-flex;gap:7px;min-width:0;padding-inline:11px;color:var(--muted);font-size:.75rem;font-weight:500}.export-button{min-height:36px;padding:0 17px;background:var(--ink);color:var(--bg);font-size:.78rem;font-weight:500}.export-menu,.code-copy-menu{position:relative;display:inline-flex;align-items:center}.export-menu-button{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding-inline:16px 13px}.export-popover,.copy-popover{position:absolute;z-index:1100;top:calc(100% + 10px);right:0;display:grid;min-width:214px;gap:4px;border-radius:15px;padding:7px;border:1px solid var(--line);background:#2d2f34;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}.export-popover[hidden],.copy-popover[hidden]{display:none}.export-popover button,.copy-popover button{min-height:36px;justify-content:flex-start;border-radius:11px;padding:0 11px;color:var(--ink);font-size:.78rem;text-align:left}.export-popover button:hover,.copy-popover button:hover{background:#3a3d43}.export-popover hr,.copy-popover hr{width:100%;height:1px;margin:4px 0;border:0;background:var(--line)}:root:not([data-theme=dark]) .menu-popover,:root:not([data-theme=dark]) .export-popover,:root:not([data-theme=dark]) .copy-popover,:root:not([data-theme=dark]) .share-popover,:root:not([data-theme=dark]) .profile-popover,:root:not([data-theme=dark]) .profile-sheet{background:#fff}:root:not([data-theme=dark]) .menu-popover a:hover,:root:not([data-theme=dark]) .export-popover button:hover,:root:not([data-theme=dark]) .copy-popover button:hover,:root:not([data-theme=dark]) .share-popover button:hover,:root:not([data-theme=dark]) .share-popover a:hover,:root:not([data-theme=dark]) .profile-popover a:hover,:root:not([data-theme=dark]) .creation-actions button:hover,:root:not([data-theme=dark]) .creation-actions a:hover{background:#f2f3f5}.top-action-button{justify-content:center;gap:7px;min-height:36px;padding:0 13px;color:var(--muted);font-size:.78rem;font-weight:500;white-space:nowrap}.icon-top-action{width:36px;padding:0}.icon-top-action.is-copied{background:color-mix(in srgb,var(--ink) 14%,var(--surface-strong));color:var(--ink)}:root[data-theme=dark] .icon-top-action.is-copied{background:#f4f4f5;color:#101113}.x-share-button{color:var(--ink);font-weight:760}.x-glyph{display:inline-grid;width:16px;height:16px;place-items:center;font-size:.82rem;line-height:1}.share-menu,.profile-menu{position:relative;display:inline-flex;align-items:center}.share-button,.profile-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border-radius:999px;padding:0 12px;color:var(--muted);font-size:.78rem;font-weight:560;white-space:nowrap}.share-button.is-active,.share-button[aria-expanded=true],.profile-button.is-active,.profile-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong));color:var(--ink);box-shadow:inset 0 1px #ffffff1f,0 8px 22px #0000001f}.share-popover,.profile-popover{position:absolute;z-index:1120;top:calc(100% + 10px);right:0;display:grid;width:min(320px,calc(100vw - 32px));max-height:min(540px,calc(100vh - 96px));overflow:auto;gap:10px;border:1px solid var(--line);border-radius:18px;padding:10px;background:#2d2f34;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px) saturate(1.12);backdrop-filter:blur(20px) saturate(1.12)}.share-popover[hidden],.profile-popover[hidden],.creation-name-dialog[hidden],.route-overlay[hidden],.page-overlay[hidden]{display:none}.share-popover button,.share-popover a,.profile-popover a,.creation-actions button,.creation-actions a{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:36px;border-radius:12px;padding:0 11px;color:var(--ink);font-size:.78rem;font-weight:560;text-decoration:none}.share-popover button:hover,.share-popover a:hover,.profile-popover a:hover,.creation-actions button:hover,.creation-actions a:hover{background:#3a3d43}.profile-popover{width:172px}.share-toggle-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border-radius:14px;padding:8px 10px 8px 12px;background:var(--surface-soft);color:var(--ink);font-size:.8rem;cursor:pointer}.share-toggle-row span{display:grid;min-width:0;gap:3px}.share-toggle-row b{overflow:hidden;font-size:.8rem;font-weight:590;text-overflow:ellipsis;white-space:nowrap}.share-toggle-row small{color:var(--muted);font-size:.71rem}.share-toggle-row input{position:absolute;opacity:0;pointer-events:none}.share-toggle-row:after{content:"";width:36px;height:22px;flex:0 0 auto;border-radius:999px;background:radial-gradient(circle at 11px 50%,var(--surface-strong) 0 7px,transparent 7.5px),color-mix(in srgb,var(--ink) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent);transition:background .16s ease,box-shadow .16s ease}.share-toggle-row:has(input:checked):after,.share-toggle-row.is-active:after{background:radial-gradient(circle at 25px 50%,var(--ink) 0 7px,transparent 7.5px),color-mix(in srgb,var(--accent) 24%,var(--surface-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}.profile-avatar{display:inline-grid;width:30px;height:30px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 68%,#ffffff),#ff6f91 52%,#f9d65c);color:#fff;font-size:.78rem;font-weight:760;line-height:1;box-shadow:inset 0 0 0 1px #ffffff47,0 8px 22px #00000029}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-form,.profile-preview{display:grid;gap:10px}.profile-form label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:620}.profile-form input,.profile-form textarea,.creation-name-dialog input,.creation-name-dialog textarea{width:100%;min-width:0;border:1px solid transparent;border-radius:13px;padding:10px 12px;background:var(--surface-soft);color:var(--ink);font:inherit;font-size:.82rem;outline:0}.profile-form textarea,.creation-name-dialog textarea{min-height:88px;resize:vertical;line-height:1.45}.profile-form input:focus,.profile-form textarea:focus,.creation-name-dialog input:focus,.creation-name-dialog textarea:focus{border-color:color-mix(in srgb,var(--accent) 34%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.profile-preview{border-radius:16px;padding:12px;background:var(--surface-soft)}.profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.profile-page{display:grid;width:min(1040px,100%);min-width:0;gap:18px;margin:0 auto;padding:18px}.profile-page>header,.page-overlay>header,.route-overlay>header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.profile-page h1,.route-overlay h1,.page-overlay h1,.creation-name-dialog h2{margin:0;font-size:clamp(1.1rem,1.8vw,1.58rem);font-weight:690;line-height:1.1}.profile-page p,.route-overlay p,.page-overlay p,.profile-preview p,.creation-card p,.creation-name-dialog p{color:var(--muted);font-size:.82rem;line-height:1.45}.creation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px}.creation-card{position:relative;display:grid;min-width:0;gap:9px;border-radius:18px;padding:9px;background:var(--surface-soft);color:var(--ink);text-decoration:none;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.creation-card:hover{background:color-mix(in srgb,var(--ink) 8%,var(--surface-soft));box-shadow:var(--shadow-soft);transform:translateY(-1px)}.creation-card img,.creation-card canvas,.creation-card video,.creation-card .creation-preview{display:block;width:100%;aspect-ratio:1.12 / 1;overflow:hidden;border-radius:13px;object-fit:cover;background:#07080a;box-shadow:inset 0 1px #ffffff24}.creation-card h2,.creation-card h3,.creation-card strong{margin:0;overflow:hidden;font-size:.84rem;font-weight:620;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.creation-card small{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.creation-actions{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.creation-actions button,.creation-actions a{min-height:32px;padding-inline:10px;color:var(--muted)}#route-overlay[data-route-mode=profile]{position:fixed;z-index:1300;top:0;right:0;bottom:0;left:0;display:block;overflow:auto;border:0;border-radius:0;padding:0;background:#121315;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}#route-overlay[data-route-mode=profile] .route-panel{min-height:100svh}#route-overlay[data-route-mode=profile] .route-close{display:none}.public-profile-page{min-height:100svh;background:#121315;color:#f3f4f6}.profile-route-nav{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;border-bottom:1px solid rgba(255,255,255,.08);padding:0 clamp(18px,3vw,42px);background:#121315}.profile-route-brand{display:inline-flex;align-items:center;color:#f3f4f6;font-size:clamp(1.05rem,1.6vw,1.28rem);font-weight:720;line-height:1;text-decoration:none}.profile-route-account{display:inline-flex;align-items:center;gap:9px;color:#c5c8cf;font-size:.82rem;font-weight:590;text-decoration:none}.public-profile-main{display:grid;gap:clamp(24px,3.2vw,44px);width:min(1720px,100%);margin:0 auto;padding:clamp(24px,3.2vw,48px) clamp(18px,3vw,42px) 72px}.public-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,36px)}.public-profile-avatar{width:clamp(72px,6.6vw,104px);height:clamp(72px,6.6vw,104px);font-size:clamp(1.35rem,2.4vw,2.2rem)}.public-profile-copy{display:grid;min-width:0;gap:9px}.public-profile-copy h1{margin:0;overflow-wrap:anywhere;color:#fff;font-size:clamp(1.65rem,3vw,3rem);font-weight:760;letter-spacing:0;line-height:1}.public-profile-copy p,.profile-gallery-head p,.profile-creation-meta span,.profile-empty-state{margin:0;color:#9ca1ad}.public-profile-copy>p:first-of-type{font-size:clamp(1rem,1.6vw,1.35rem);font-weight:620}.public-profile-bio{max-width:780px;font-size:clamp(.96rem,1.2vw,1.12rem);line-height:1.55}.public-profile-edit{justify-self:end;min-height:40px;border-radius:999px;padding:0 16px;background:#fff;color:#121315;font-size:.82rem;font-weight:680;box-shadow:0 16px 40px #00000038}.profile-gallery-section{display:grid;gap:18px}.profile-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.profile-gallery-head h2{margin:0;color:#fff;font-size:clamp(1.2rem,2.2vw,2rem);font-weight:700}.profile-creation-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.profile-creation-card{display:grid;min-width:0;gap:11px;border:1px solid rgba(255,255,255,.075);border-radius:22px;padding:10px;background:linear-gradient(180deg,#ffffff0e,#ffffff06),#17181c;color:#f3f4f6;text-decoration:none;box-shadow:0 18px 55px #0000002e;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.profile-creation-card:hover{border-color:#ffffff29;background:linear-gradient(180deg,#ffffff16,#ffffff08),#1b1c21;box-shadow:0 24px 70px #00000047;transform:translateY(-2px)}.profile-creation-preview{position:relative;display:block;aspect-ratio:1 / 1;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:radial-gradient(circle at 30% 24%,color-mix(in srgb,var(--creation-b) 82%,#ffffff),transparent 32%),radial-gradient(circle at 72% 36%,color-mix(in srgb,var(--creation-c) 82%,#ffffff),transparent 36%),linear-gradient(135deg,var(--creation-a),#101116 68%);box-shadow:inset 0 1px #ffffff29,0 12px 34px #0000003d;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.profile-creation-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 22%),radial-gradient(circle at 50% 115%,rgba(0,0,0,.55),transparent 54%);pointer-events:none}.profile-creation-preview img,.profile-creation-fallback{display:block;width:100%;height:100%;object-fit:cover}.profile-creation-fallback{background:radial-gradient(circle at 30% 24%,color-mix(in srgb,var(--creation-b) 82%,#ffffff),transparent 32%),radial-gradient(circle at 72% 36%,color-mix(in srgb,var(--creation-c) 82%,#ffffff),transparent 36%),linear-gradient(135deg,var(--creation-a),#101116 68%)}.profile-creation-card:hover .profile-creation-preview{border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff2e,0 20px 54px #00000057}.profile-creation-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:1px 2px 2px}.profile-creation-meta>span:first-child{display:grid;min-width:0;gap:3px}.profile-creation-meta strong,.profile-creation-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-creation-meta strong{font-size:.86rem;font-weight:650}.profile-creation-meta small{color:#8f949f;font-size:.74rem}.profile-creation-palette{display:inline-flex;align-items:center;flex:0 0 auto}.profile-creation-palette i{display:block;width:15px;height:15px;margin-left:-5px;border:1px solid rgba(255,255,255,.42);border-radius:999px;box-shadow:0 4px 14px #00000042}.profile-creation-palette i:nth-child(1){background:var(--creation-a)}.profile-creation-palette i:nth-child(2){background:var(--creation-b)}.profile-creation-palette i:nth-child(3){background:var(--creation-c)}.profile-empty-state{grid-column:1 / -1;padding:46px 0;text-align:center}:root:not([data-theme=dark]) #route-overlay[data-route-mode=profile],:root:not([data-theme=dark]) #route-overlay[data-route-mode=profile] .public-profile-page,:root:not([data-theme=dark]) #route-overlay[data-route-mode=profile] .profile-route-nav{background:#fff}:root:not([data-theme=dark]) #route-overlay[data-route-mode=profile] .profile-route-nav{border-bottom-color:#14161a14}:root:not([data-theme=dark]) .profile-route-brand,:root:not([data-theme=dark]) .public-profile-copy h1,:root:not([data-theme=dark]) .profile-gallery-head h2{color:#151619}:root:not([data-theme=dark]) .profile-route-account,:root:not([data-theme=dark]) .public-profile-copy p,:root:not([data-theme=dark]) .profile-gallery-head p,:root:not([data-theme=dark]) .profile-creation-meta span,:root:not([data-theme=dark]) .profile-empty-state{color:#6d727a}:root:not([data-theme=dark]) .profile-creation-card{color:#151619}:root:not([data-theme=dark]) .profile-creation-card{border-color:#14161a14;background:linear-gradient(180deg,#fffffff0,#f6f7f9f5),#fff;box-shadow:0 16px 42px #1f232a14}:root:not([data-theme=dark]) .profile-creation-card:hover{border-color:#14161a24;background:#fff;box-shadow:0 20px 54px #1f232a1f}:root:not([data-theme=dark]) .profile-creation-meta small{color:#6d727a}:root:not([data-theme=dark]) .public-profile-edit{background:#151619;color:#fff}@media (max-width: 1360px){.profile-creation-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 1080px){.profile-creation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 820px){.public-profile-hero{grid-template-columns:1fr;align-items:start}.public-profile-edit{justify-self:start}.profile-creation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 560px){.profile-route-nav{min-height:62px}.profile-route-account span:last-child{display:none}.public-profile-main{padding-bottom:44px}.profile-creation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.route-overlay,.page-overlay{position:absolute;z-index:45;top:12px;right:12px;bottom:12px;left:12px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;min-width:0;overflow:auto;border:1px solid var(--line);border-radius:24px;padding:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px) saturate(1.22);backdrop-filter:blur(24px) saturate(1.22)}.creation-name-dialog{position:fixed;z-index:1220;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#00000080;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.creation-name-dialog>form,.creation-name-dialog>section,.creation-name-dialog>div{display:grid;width:min(390px,100%);gap:12px;border:1px solid var(--line);border-radius:22px;padding:18px;background:color-mix(in srgb,var(--surface-strong) 96%,transparent);box-shadow:var(--shadow)}.creation-name-dialog menu,.profile-form menu,.app-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin:0;padding:0}.app-dialog-backdrop{position:fixed;z-index:1430;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0000008a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-dialog-backdrop[hidden],.app-dialog-field[hidden],.app-dialog-check[hidden]{display:none}.app-dialog-sheet{position:relative;display:grid;width:min(410px,100%);gap:13px;border:1px solid var(--line);border-radius:22px;padding:20px;background:#2d2f34;box-shadow:var(--shadow)}.app-dialog-close{position:absolute;top:12px;right:12px}.app-dialog-sheet h2{margin:0;max-width:calc(100% - 38px);font-size:clamp(1.08rem,2vw,1.42rem);font-weight:700;line-height:1.1}.app-dialog-sheet p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.app-dialog-field{display:grid;gap:7px;color:var(--muted);font-size:.72rem;font-weight:620}.app-dialog-field input{width:100%;min-width:0;border:1px solid transparent;border-radius:13px;padding:11px 12px;background:var(--surface-soft);color:var(--ink);font:inherit;font-size:.86rem;outline:0}.app-dialog-field input:focus{border-color:color-mix(in srgb,var(--accent) 34%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.app-dialog-check{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border-radius:14px;padding:9px 10px 9px 12px;background:var(--surface-soft);color:var(--ink);font-size:.82rem;font-weight:590;cursor:pointer}.app-dialog-check input{width:18px;height:18px;accent-color:var(--ink)}.app-dialog-actions{padding-top:4px}.app-dialog-actions .is-danger{background:#ff4f6d;color:#fff}:root[data-theme=dark] .export-button{background:#f4f4f5;color:#101113}.effects-panel,.inspector{min-width:0;overflow:auto;border-radius:26px;padding:22px 20px;background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(26px) saturate(1.25);backdrop-filter:blur(26px) saturate(1.25)}:root:not([data-theme=dark]) .topbar,:root:not([data-theme=dark]) .effects-panel,:root:not([data-theme=dark]) .inspector{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.effects-panel{grid-area:effects}.inspector{grid-area:inspector}.panel-title{justify-content:space-between;gap:12px;margin-bottom:16px;color:var(--ink);font-size:.88rem;font-weight:560}.inspector-content{display:grid}.inspector-toggle{display:none}.inspector-toggle svg{transition:transform .18s ease}.inspector.is-collapsed .inspector-toggle svg{transform:rotate(-90deg)}.search-box{display:flex;align-items:center;gap:9px;min-height:42px;border-radius:15px;padding:0 12px;background:var(--surface-soft);color:var(--faint)}.search-box input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:.84rem}.search-box input::placeholder{color:var(--faint)}.effect-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.effect-item{position:relative;display:grid;grid-template-columns:1fr;align-items:stretch;gap:8px;min-height:0;padding:8px;text-align:left}.effect-item.is-active{background:color-mix(in srgb,var(--ink) 13%,var(--surface-strong));color:var(--ink)}.effect-preview{width:100%;height:auto;aspect-ratio:1.16 / 1;border-radius:13px;background:var(--preview);box-shadow:inset 0 1px #ffffff47}.effect-item b,.color-row b,.slider-row b{display:block;overflow:hidden;font-size:.79rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.effect-item small,.effects-note span,.runtime-strip,.shader-signature,.workspace-footer,.section-label,.color-row small{color:var(--muted);font-size:.73rem}.effect-title{display:grid;min-width:0;gap:4px;align-items:start;justify-content:stretch}.effect-item b{display:-webkit-box;min-height:2.2em;overflow:hidden;line-height:1.15;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.premium-gem{flex:0 0 auto;font-size:.82rem;line-height:1}.effect-badges{position:absolute;top:10px;right:10px;gap:6px;flex:0 0 auto}.featured-pill{border-radius:999px;padding:2px 6px;background:color-mix(in srgb,var(--accent) 13%,var(--surface-strong));color:var(--accent);font-size:.62rem;font-weight:650;line-height:1.2}.effect-item>svg{display:none}.effects-note{display:none}.effects-note{display:grid;gap:6px;margin-top:18px;border-radius:17px;padding:14px;background:var(--surface-soft)}.effects-note strong{font-size:.8rem}.runtime-strip{display:none}.runtime-strip{justify-content:space-between;gap:10px;margin-top:16px;font-family:var(--mono)}.effects-note,.runtime-strip{display:none}.runtime-dot,.live-dot{width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:#4dd56d;box-shadow:0 0 0 5px #4dd56d24}.workspace{grid-area:workspace;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;overflow:hidden;border-radius:26px;padding:12px 24px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 64%,transparent),transparent 60%)}:root:not([data-theme=dark]) .workspace{background:#fff}:root:not([data-theme=dark]) .route-overlay,:root:not([data-theme=dark]) .page-overlay,:root:not([data-theme=dark]) .creation-name-dialog>form,:root:not([data-theme=dark]) .creation-name-dialog>section,:root:not([data-theme=dark]) .creation-name-dialog>div,:root:not([data-theme=dark]) .app-dialog-sheet{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.eyebrow,.section-label{margin:0 0 8px;color:var(--muted);font-size:.73rem;font-weight:670}h1,p{margin:0;letter-spacing:0}h1{max-width:760px;font-size:clamp(1.65rem,2.4vw,2.42rem);font-weight:720;line-height:1.04}.shader-signature{justify-content:flex-end;gap:10px;padding-top:8px;font-family:var(--mono);white-space:nowrap}.preview-tools{justify-content:center;gap:10px;margin:0 0 8px;flex-wrap:wrap}.tool-group{gap:4px;border-radius:999px;padding:4px;background:var(--surface-soft)}.favorite-menu{position:relative;display:inline-flex}.favorite-controls{display:inline-flex}.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;padding:0 13px;color:var(--muted);font-size:.8rem;font-weight:500}.icon-tool{width:36px;padding:0}.primary-tool{background:var(--surface-soft);color:var(--ink);font-weight:500}.primary-tool:hover{background:var(--surface-strong)}#favorite-current.is-favorite{color:#ff4f8b;background:color-mix(in srgb,#ff4f8b 16%,var(--surface-strong))}#favorite-current.is-favorite svg{fill:currentColor}.favorite-menu-toggle{width:30px}.favorite-popover{position:absolute;z-index:1100;top:calc(100% + 10px);left:0;display:grid;width:min(270px,calc(100vw - 32px));max-height:min(360px,58vh);overflow:auto;gap:6px;border:1px solid var(--line);border-radius:15px;padding:7px;background:#2d2f34;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}.favorite-popover[hidden]{display:none}:root:not([data-theme=dark]) .favorite-popover{background:#fff}.favorite-empty{padding:10px 11px;color:var(--muted);font-size:.76rem}.favorite-list{display:grid;gap:5px}.favorite-item{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px}.favorite-restore,.favorite-remove{min-height:36px;border-radius:11px;color:var(--ink)}.favorite-restore{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:0 10px;text-align:left}.favorite-restore span:last-child{overflow:hidden;font-size:.76rem;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.favorite-swatch{width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,var(--favorite-a),var(--favorite-b) 52%,var(--favorite-c));box-shadow:inset 0 1px #ffffff40}.favorite-remove{display:inline-grid;place-items:center;color:var(--faint)}.favorite-remove svg{width:15px;height:15px}.favorite-restore:hover,.favorite-remove:hover{background:#3a3d43}:root:not([data-theme=dark]) .favorite-restore:hover,:root:not([data-theme=dark]) .favorite-remove:hover{background:#f2f3f5}.zoom-label{display:inline-grid;min-width:48px;place-items:center;color:var(--muted);font-family:var(--mono);font-size:.74rem}.show-ui-toggle{display:inline-grid;width:36px;min-height:36px;place-items:center;border-radius:999px;padding:0;background:var(--surface-soft);color:var(--muted)}.show-ui-toggle>svg{width:16px;height:16px}.show-ui-toggle.is-active{background:color-mix(in srgb,var(--ink) 14%,var(--surface-strong));color:var(--ink);box-shadow:0 4px 10px #0000002e}:root[data-theme=dark] .show-ui-toggle.is-active{background:#f4f4f5;color:#101113}.preview-zone,.code-zone{min-height:0}.preview-zone{display:grid;place-items:center;overflow:visible;width:100%;padding:0 0 28px;background:transparent}.device-frame{--device-zoom: 1;container-type:size;position:relative;overflow:hidden;transform:scale(var(--device-zoom));transform-origin:center;border-radius:34px;background:#07080a;box-shadow:0 34px 90px #0000005c,0 0 0 7px color-mix(in srgb,var(--ink) 12%,transparent),inset 0 0 0 1px #ffffff14;transition:width .18s ease,transform .18s ease,border-radius .18s ease}.device-frame:after{content:"";pointer-events:none}:root:not([data-theme=dark]) .device-frame{background:#fff;box-shadow:0 34px 90px #12161c29,0 0 0 7px #14161a14,inset 0 0 0 1px #14161a14}.device-frame.is-phone{width:min(100%,390px,72vw,calc((100vh - 232px)*.4615));aspect-ratio:9 / 19.5}.device-frame.is-tablet{width:min(100%,760px,78vw,calc((100vh - 232px)*1.333));aspect-ratio:4 / 3;border-radius:28px}.device-frame.is-laptop{overflow:hidden;width:min(100%,900px,80vw,calc((100vh - 232px)*1.76));aspect-ratio:16 / 10;border-radius:20px;box-shadow:0 34px 90px #00000057,0 0 0 10px color-mix(in srgb,var(--ink) 12%,transparent),inset 0 0 0 1px #ffffff14}.device-frame.is-laptop:after{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 -14px #00000029}.device-frame.is-square{width:min(100%,590px,76vw,calc(100vh - 232px));aspect-ratio:1;border-radius:26px}.device-bar{display:none}#shader-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;background:#07080a}:root:not([data-theme=dark]) #shader-canvas{background:#fff}.hero-mockup{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;padding:clamp(18px,5.4%,42px);color:#fff;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.28)}.hero-mockup:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,.34),rgba(0,0,0,.12) 34%,transparent 64%),linear-gradient(0deg,rgba(0,0,0,.12),transparent 58%);pointer-events:none}.hero-mockup[hidden]{display:none}.hero-nav{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-mark,.hero-chip{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 12px;background:#ffffff21;font-size:clamp(.62rem,1.1vw,.78rem);font-weight:680;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.hero-chip{color:#ffffffc2;font-family:var(--mono);font-size:clamp(.54rem,.8vw,.68rem);font-weight:640}.hero-copy{position:absolute;top:50%;left:50%;z-index:1;display:grid;width:min(460px,76%);gap:10px;justify-items:center;text-align:center;transform:translate(-50%,-50%)}.hero-copy span{color:#ffffffc7;font-size:clamp(.58rem,1vw,.76rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-copy h2{max-width:9.5em;margin:0;color:#fff;font-size:clamp(1.8rem,14cqw,4.7rem);font-weight:720;line-height:.96}.hero-copy p{max-width:27em;margin:0;color:#ffffffc7;font-size:clamp(.76rem,2.7cqw,1.05rem);line-height:1.35}.hero-copy button{justify-self:center;min-height:clamp(34px,4vw,46px);border-radius:999px;padding:0 clamp(16px,2vw,24px);background:#fff;color:#101113;font-size:clamp(.7rem,1vw,.86rem);font-weight:700;box-shadow:0 18px 38px #0003}.device-frame.is-phone .hero-mockup{padding:28px 24px 34px}.device-frame.is-phone .hero-copy{width:calc(100% - 48px);gap:9px}.device-frame.is-phone .hero-copy h2{max-width:7.5em;font-size:clamp(2rem,16cqw,3.05rem)}.device-frame.is-phone .hero-copy p{max-width:16em;font-size:.88rem}.device-frame.is-laptop .hero-mockup{padding:28px}.device-frame.is-laptop .hero-copy{width:min(390px,72%);gap:8px}.device-frame.is-laptop .hero-copy h2{font-size:clamp(1.85rem,9cqw,3.45rem)}.device-frame.is-laptop .hero-copy p{font-size:clamp(.72rem,2.1cqw,.92rem)}.device-frame.is-laptop .hero-copy button{min-height:38px;padding:0 20px}.device-frame.is-tablet .hero-mockup,.device-frame.is-square .hero-mockup{display:none}.code-zone{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:24px 0 28px}.code-zone[hidden],.preview-zone[hidden]{display:none}.code-tabs{width:min(760px,100%);overflow-x:auto;border-radius:18px;padding:4px;background:color-mix(in srgb,var(--bg) 78%,transparent);scrollbar-width:none}.code-tabs::-webkit-scrollbar{display:none}.code-tabs button{flex:0 0 auto;min-height:42px;border-radius:14px;padding-inline:12px;white-space:nowrap}.stack-icon{position:relative;display:inline-grid;width:20px;height:20px;flex:0 0 20px;place-items:center;border-radius:6px;font-family:var(--mono);font-size:.62rem;font-weight:800;line-height:1}.stack-js{align-items:end;justify-items:end;padding:2px;color:#111318;background:#f7df1e}.stack-html{color:#ff6a3d;background:#ff6a3d1f}.stack-glsl{color:#8df7ff;background:#8df7ff1c}.stack-three{color:#f5f7fb;background:#111318;box-shadow:inset 0 0 0 1px #f5f7fb2e}.stack-svelte{color:#fff;background:#ff3e00;transform:rotate(-8deg)}.stack-swift{background:linear-gradient(135deg,#ff8a00,#ff3d3d)}.stack-swift:before{content:"";width:12px;height:9px;background:#fff;clip-path:polygon(0 15%,100% 0,66% 38%,100% 72%,63% 58%,78% 100%,38% 66%,0 78%,30% 48%)}.stack-metal{color:#111318;background:linear-gradient(135deg,#d8dde8,#8f9bad 48%,#f9fbff);box-shadow:inset 0 0 0 1px #ffffff7a;font-size:.52rem;letter-spacing:0}.stack-react{color:#61dafb}.stack-react:before,.stack-react:after{content:"";position:absolute;top:8px;right:2px;bottom:8px;left:2px;border:1.8px solid currentColor;border-radius:999px}.stack-react:before{transform:rotate(60deg)}.stack-react:after{transform:rotate(-60deg)}.stack-react{background:radial-gradient(circle at 50% 50%,currentColor 0 2px,transparent 2.5px),transparent}.stack-vue{background:linear-gradient(60deg,transparent 0 23%,#42b883 24% 66%,transparent 67%),linear-gradient(-60deg,transparent 0 23%,#42b883 24% 66%,transparent 67%),linear-gradient(60deg,transparent 0 35%,#35495e 36% 55%,transparent 56%),linear-gradient(-60deg,transparent 0 35%,#35495e 36% 55%,transparent 56%)}.stack-solid{border-radius:50%;background:radial-gradient(ellipse at 68% 32%,#7cc7ff 0 18%,transparent 19%),radial-gradient(ellipse at 35% 68%,#3159a6 0 42%,transparent 43%),linear-gradient(145deg,#9bd7ff,#2f65b8);transform:skew(-12deg) rotate(-10deg)}.code-help{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);gap:14px;border-radius:18px;padding:14px;background:var(--surface-soft);box-shadow:inset 0 0 0 1px var(--line)}.code-help-kicker{display:block;margin-bottom:4px;color:var(--faint);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.code-help strong{color:var(--ink);font-size:.86rem;font-weight:620}.code-help ol{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--muted);font-size:.75rem;line-height:1.45}.code-help li::marker{color:var(--faint);font-family:var(--mono);font-size:.68rem}.code-card{min-height:0;overflow:hidden;border-radius:20px;border:1px solid color-mix(in srgb,var(--line) 74%,transparent);background:#18191b;box-shadow:var(--shadow-soft)}.code-head{justify-content:space-between;gap:12px;padding:13px 15px}.code-head>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-menu-button{display:inline-flex;gap:6px;white-space:nowrap}pre{display:grid;grid-template-columns:max-content max-content;align-items:start;height:min(58vh,620px);margin:0;overflow:auto;padding:0;background:#18191b}code{display:block;min-width:860px;width:max-content;padding:14px 18px 18px 0;color:#d7d8de;font-family:var(--mono);font-size:.78rem;line-height:1.55;white-space:pre}code.hljs{background:transparent;color:#d7d8de}.code-line-numbers{position:sticky;left:0;z-index:1;display:block;min-width:64px;padding:14px 14px 18px 0;background:#18191b;color:#3f4350;font-family:var(--mono);font-size:.78rem;font-variant-numeric:tabular-nums;line-height:1.55;text-align:right;-webkit-user-select:none;user-select:none}.code-line-numbers span{display:block;height:1.55em}.workspace-footer{display:none;justify-content:space-between;gap:14px;min-height:48px;font-family:var(--mono)}.workspace-footer div{display:flex;align-items:center;gap:8px}.inspector-section{display:grid;gap:10px;padding:14px 0}.inspector-section+.inspector-section{box-shadow:inset 0 1px 0 var(--line)}.slider-row{display:grid;gap:8px}.slider-row.is-disabled{opacity:.42}.slider-row span,.toggle-row,.color-row{justify-content:space-between;gap:12px}.toggle-row{position:relative;display:flex;align-items:center;min-height:44px;border-radius:15px;padding:8px 10px 8px 12px;background:var(--surface-soft);cursor:pointer}.toggle-row span{display:grid;gap:3px}.toggle-row b{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:500}.toggle-row small{color:var(--muted);font-size:.72rem}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.switch-pill{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:92px;height:34px;border-radius:999px;padding:3px;background:color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent);transition:background .16s ease,box-shadow .16s ease}.switch-state{position:relative;z-index:2;display:grid;place-items:center;color:var(--muted);font-size:.68rem;font-weight:650}.switch-thumb{position:absolute;z-index:1;left:3px;top:3px;display:grid;width:42px;height:28px;place-items:center;border-radius:999px;background:var(--surface-strong);color:var(--ink);box-shadow:0 8px 18px #00000029;transition:transform .18s ease,background .18s ease,color .18s ease}.toggle-row b .premium-gem{display:inline-block;margin-left:0}.toggle-row:has(input:checked) .switch-pill{background:color-mix(in srgb,var(--accent) 22%,var(--surface-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}.toggle-row:has(input:checked) .switch-thumb{background:var(--ink);color:var(--bg);transform:translate(44px)}.toggle-row:has(input:checked) .switch-on{color:#fff}.toggle-row:not(:has(input:checked)) .switch-off{color:var(--ink)}.mode-switch .premium-lock-icon,.top-action-button .premium-lock-icon{display:none;font-size:.78rem;line-height:1}.code-tabs .premium-lock-icon{display:none;font-size:.74rem;line-height:1}.mode-switch button.is-locked .premium-lock-icon,.top-action-button.is-locked .premium-lock-icon,.code-tabs button.is-locked .premium-lock-icon{display:block}:root.has-premium-access .premium-gem,:root.has-premium-access .premium-lock-icon{display:none!important}.mini-button.is-active,.mini-button.is-copied{background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong));color:var(--accent)}#copy-code.is-copied{display:inline-flex;gap:6px}.slider-row output{border-radius:7px;padding:2px 7px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:var(--mono);font-size:.68rem;font-variant-numeric:tabular-nums}input[type=range]{--fill: 50%;width:100%;accent-color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:20px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 78%,transparent) 0 var(--fill),color-mix(in srgb,var(--ink) 14%,transparent) var(--fill) 100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;margin-top:-5px;border:0;border-radius:999px;background:var(--ink);box-shadow:0 0 0 3px var(--surface),0 6px 16px #0000003d;transition:transform .12s ease}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:focus-visible::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]::-moz-range-track{height:5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 14%,transparent)}input[type=range]::-moz-range-progress{height:5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 78%,transparent)}input[type=range]::-moz-range-thumb{width:15px;height:15px;border:0;border-radius:999px;background:var(--ink);box-shadow:0 0 0 3px var(--surface),0 6px 16px #0000003d}input[type=range]:disabled{cursor:not-allowed;opacity:.5}.color-list{display:grid;gap:12px}.ground-tone-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tone-button{justify-content:center;gap:7px;min-height:36px;border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:560}.tone-button:hover{background:color-mix(in srgb,var(--ink) 9%,var(--surface-soft));color:var(--ink)}.wide-tool{justify-content:center;gap:8px;min-height:40px;width:100%;color:var(--ink);font-size:.82rem;font-weight:500}.subtle-tool{color:var(--muted);font-weight:500}.file-drop{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;border-radius:16px;padding:11px;background:var(--surface-soft);cursor:pointer}.file-drop-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);transition:transform .16s ease,border-color .16s ease,background .16s ease}.file-drop:hover .file-drop-button{border-color:#ffffff38;background:var(--surface-strong);transform:translateY(-1px)}.file-drop-button svg{width:17px;height:17px}.file-drop-copy{display:grid;min-width:0;gap:4px}.file-drop-copy span{font-size:.82rem;font-weight:500}.file-drop-copy small{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.file-drop input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.color-row{min-height:48px}.color-row input{width:34px;height:34px;overflow:hidden;border:0;border-radius:999px;padding:0;background:transparent}.color-row input::-webkit-color-swatch-wrapper{padding:0}.color-row input::-webkit-color-swatch{border:0;border-radius:999px}.color-row input::-moz-color-swatch{border:0;border-radius:999px}.unlock-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0000008a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.unlock-backdrop[hidden]{display:none}.profile-backdrop{position:fixed;z-index:1420;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0000008a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.profile-backdrop[hidden]{display:none}.profile-backdrop .profile-sheet{position:relative;top:auto;right:auto;display:grid;width:min(420px,100%);max-height:min(680px,calc(100svh - 40px));overflow:auto;gap:14px;border:1px solid var(--line);border-radius:22px;padding:20px;background:#2d2f34;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px) saturate(1.12);backdrop-filter:blur(20px) saturate(1.12)}.profile-close{position:absolute;top:12px;right:12px}.unlock-sheet{position:relative;display:grid;gap:14px;width:min(420px,100%);border-radius:26px;padding:28px;background:color-mix(in srgb,var(--surface-strong) 96%,transparent);box-shadow:var(--shadow)}.unlock-close{position:absolute;top:14px;right:14px}.unlock-kicker,.unlock-note,.license-form label{color:var(--muted);font-size:.76rem}.unlock-kicker{font-family:var(--mono)}.unlock-sheet h2{margin:0;font-size:1.45rem;line-height:1.08}.unlock-sheet p{color:var(--muted);font-size:.9rem;line-height:1.45}.unlock-price{font-size:2rem;font-weight:560}.unlock-buy{width:100%}.license-form{display:grid;gap:8px}.license-form div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.license-form input{min-width:0;border:0;border-radius:13px;padding:0 12px;background:var(--surface-soft);color:var(--ink)}.license-form .mini-button{font-size:.78rem;font-weight:500}@media (max-width: 1080px){#app{grid-template:"top top" 70px "workspace inspector" minmax(0,calc(100vh - 94px)) "effects effects" auto / minmax(0,1fr) minmax(270px,330px)}.effect-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:12px}.top-action-button{width:36px;padding:0}.top-action-button>span:not(.x-glyph){display:none}}@media (max-width: 760px){#app{display:flex;flex-direction:column;min-height:100svh;padding:8px 8px 86px}.topbar{position:sticky;top:8px;z-index:90;grid-template-columns:auto 82px minmax(0,1fr);gap:8px;min-height:50px;margin-bottom:8px;border-radius:18px;padding:7px}.brand{gap:7px}.app-menu .icon-button{min-width:32px;min-height:32px;padding:0}.brand-full{display:none}.brand-short{display:inline}.brand strong{min-width:24px;font-size:.92rem;font-weight:720;letter-spacing:0}.mode-switch{order:initial;grid-column:auto;width:82px;margin:0;padding:3px}.mode-switch button{min-height:32px}.top-actions{min-width:0;max-width:calc(100vw - 190px);justify-content:flex-end;gap:4px;overflow-x:auto;scrollbar-width:none}.top-actions::-webkit-scrollbar{display:none}.top-action-button,.icon-button,.export-button{min-height:32px}.top-action-button,.icon-top-action{width:32px;min-width:32px;padding:0}.export-menu-button{width:54px;min-width:54px;gap:3px;padding:0;justify-content:center}.export-menu-button span{display:none}.export-popover,.menu-popover,.share-popover,.profile-popover{position:fixed;top:62px;right:8px;left:8px;width:auto;max-height:calc(100svh - 78px)}.menu-popover{right:auto;width:min(310px,calc(100vw - 16px))}.share-button,.profile-button{min-height:32px;min-width:32px;padding:0 9px}.profile-button>span:not(.profile-avatar),.share-button>span:not(.profile-avatar){display:none}.profile-avatar{width:26px;height:26px;font-size:.7rem}.workspace{order:1;padding:12px 14px 0}.effects-panel{position:fixed;right:10px;bottom:10px;left:10px;z-index:75;order:initial;max-height:min(58vh,520px);margin:0;overflow:auto;border-radius:24px;padding:14px 14px 16px;transform:translateY(calc(100% - 66px));transition:transform .22s ease;overscroll-behavior:contain}.effects-panel.is-open{transform:translateY(0)}.effects-panel .panel-title{position:sticky;top:0;z-index:2;margin:-4px -4px 12px;border-radius:18px;padding:8px 4px 10px;background:color-mix(in srgb,var(--surface) 94%,transparent);cursor:pointer}.effects-panel .panel-title:before{content:"";position:absolute;top:2px;left:50%;width:42px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 18%,transparent);transform:translate(-50%)}:root:not([data-theme=dark]) .effects-panel .panel-title{background:#fff}.inspector{order:2}.inspector .panel-title{margin-bottom:0;cursor:pointer}.inspector-toggle{display:inline-grid}.inspector-content{margin-top:16px}.inspector.is-collapsed{padding-block:14px}.inspector.is-collapsed .inspector-content{display:none}.preview-tools{justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.tool-button{white-space:nowrap}.device-frame.is-phone,.device-frame.is-tablet,.device-frame.is-laptop,.device-frame.is-square{width:min(86vw,470px)}.device-frame.is-tablet{width:min(86vw,640px)}.device-frame.is-laptop{width:min(86vw,680px)}.workspace-footer{flex-wrap:wrap;padding:10px 0}.code-help{grid-template-columns:1fr}.inspector{margin-top:12px;padding:20px 16px}.effect-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(58vh - 128px);overflow:auto;padding-bottom:10px}.route-overlay,.page-overlay{position:fixed;top:66px;right:8px;bottom:10px;left:8px;z-index:80;border-radius:20px;padding:12px}.profile-page{gap:14px;padding:4px}.profile-page>header,.page-overlay>header,.route-overlay>header{align-items:flex-start;flex-direction:column}.creation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.creation-card{border-radius:16px;padding:7px}.creation-actions{gap:5px}.creation-actions button,.creation-actions a{min-height:30px;padding-inline:8px}code{min-width:720px}}@media (max-width: 430px){.creation-grid{grid-template-columns:1fr}.share-toggle-row{align-items:flex-start}}@media (max-width: 760px){.public-profile-avatar{width:72px;height:72px;font-size:1.35rem}}@media (prefers-reduced-motion: reduce){button,.device-frame,.effects-panel,.creation-card,.share-toggle-row:after{transition:none}button:hover{transform:none}}.inspector-content{gap:10px;align-content:start}.control-group{border-radius:18px;background:var(--surface-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 4%,transparent);overflow:hidden}:root:not([data-theme=dark]) .control-group{background:#14161a09}.control-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 14px;color:var(--ink);font-size:.8rem;font-weight:620;cursor:pointer;list-style:none;user-select:none;-webkit-user-select:none}.control-group summary::-webkit-details-marker{display:none}.control-group summary:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.control-group summary svg{width:15px;height:15px;flex:0 0 auto;color:var(--muted);transition:transform .2s ease}.control-group[open] summary svg{transform:rotate(180deg)}.control-group-body{display:grid;gap:13px;padding:4px 14px 16px}.color-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.color-toolbar .tone-button{min-height:34px;background:color-mix(in srgb,var(--ink) 5%,transparent)}.color-toolbar .tone-button:hover{background:color-mix(in srgb,var(--ink) 11%,transparent);color:var(--ink)}.color-toolbar .tone-button svg{width:14px;height:14px}.control-group .color-list{gap:4px}.control-group .color-row{min-height:42px;border-radius:12px;padding:0 8px 0 10px}.control-group .color-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.control-group .color-row input{width:30px;height:30px;cursor:pointer}.control-group .file-drop{border-radius:14px;background:color-mix(in srgb,var(--ink) 5%,transparent)}.control-group .wide-tool{min-height:36px;font-size:.78rem}@media (prefers-reduced-motion: reduce){.control-group summary svg,input[type=range]::-webkit-slider-thumb{transition:none}}
