:root{--bg:#07080c;--bg-2:#0c0e15;--panel:#11141d;--panel-2:#161a26;--line:#1f2434;--line-2:#2a3147;--text:#e6e9f2;--text-dim:#9aa3bd;--text-faint:#626b85;--accent:#6cf0c2;--accent-2:#7aa2ff;--accent-3:#ff5fa2;--grad:linear-gradient(110deg,var(--accent),var(--accent-2) 60%,var(--accent-3));--radius:14px;--mono:"JetBrains Mono","SF Mono",ui-monospace,"Cascadia Code",Menlo,Consolas,monospace;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#7aa2ff14,#0000 60%),radial-gradient(900px 500px at 10% 0,#6cf0c20f,#0000 55%),var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);font-size:.88em}::selection{background:#6cf0c240}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 22px}.page{min-height:60vh}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.9rem;font-weight:600;padding:11px 18px;border-radius:10px;border:1px solid #0000;cursor:pointer;transition:transform .12s,box-shadow .2s,background .2s,border-color .2s;line-height:1}.btn,.btn:hover{text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-sm{padding:8px 13px;font-size:.82rem}.btn-primary{background:var(--accent);color:#04221a;box-shadow:0 6px 24px -8px #6cf0c280}.btn-primary:hover{box-shadow:0 10px 30px -8px #6cf0c2b3}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn-ghost{background:#ffffff05;color:var(--text);border-color:var(--line-2)}.btn-ghost:hover{background:#ffffff0d;border-color:var(--accent)}.btn-github{background:#1a1f2b;color:#fff;border-color:var(--line-2)}.btn-github:hover{border-color:var(--accent-2)}.signin-oauth{display:flex;flex-direction:column;gap:10px}.btn-oauth{width:100%;justify-content:center;gap:10px;padding:12px 18px}.btn-oauth svg{flex:none}.btn-google{background:#fff;color:#1f1f1f;border-color:#dadce0}.btn-google:hover{background:#f6f7f9;border-color:#c4c7cc}.nav{position:sticky;top:0;z-index:50;background:#07080cb8;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.nav-inner{max-width:1240px;margin:0 auto;padding:0 22px;height:62px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:baseline;gap:2px;font-family:var(--mono);font-weight:700;font-size:1.12rem;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{color:var(--accent);margin-right:6px;letter-spacing:-2px;font-size:.9em}.brand-tld{color:var(--text-faint);font-weight:500}.brand-sm{font-size:1rem}.nav-links{display:flex;gap:20px;margin-left:8px}.nav-links a{color:var(--text-dim);font-size:.9rem;font-weight:500}.nav-links a.on,.nav-links a:hover{color:var(--text);text-decoration:none}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.nav-gh{color:var(--text-dim);font-family:var(--mono);font-size:.82rem}.nav-user{display:flex;align-items:center;gap:9px}.nav-avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);object-fit:cover}.nav-avatar-fallback{display:grid;place-items:center;background:var(--panel-2);color:var(--accent);font-weight:700;font-family:var(--mono)}.nav-burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:34px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:9px;cursor:pointer}.nav-burger span{display:block;height:2px;width:100%;background:var(--text-dim);border-radius:2px;transition:transform .2s,opacity .2s}.nav-burger.open span:first-child{transform:translateY(6px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-mobile{display:flex;flex-direction:column;padding:8px 16px 16px;gap:2px;border-bottom:1px solid var(--line);background:#07080cf5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-mobile a,.nav-mobile-signin{font-family:var(--mono);font-size:.95rem;color:var(--text-dim);padding:11px 6px;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer;width:100%}.nav-mobile a.on{color:var(--accent)}.nav-mobile a:last-child{border-bottom:none}@media (max-width:720px){.nav-links{display:none}.nav-burger{display:flex}.nav-gh,.nav-signin{display:none}}@media (max-width:460px){.nav-cta{display:none}}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg .shader-canvas,.hero-bg .shader-canvas-wrap{width:100%;height:100%}.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#07080c8c 0,#07080cbf 55%,var(--bg) 100%),linear-gradient(90deg,#07080cd9 0,#07080c59 60%,#07080c1a 100%)}.hero-inner{position:relative;z-index:1;padding:92px 22px 76px;max-width:1240px}.hero-kicker{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}.hero-title{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.02;margin:0 0 18px;font-weight:800;letter-spacing:-.02em}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#0000}.hero-lede{max-width:640px;font-size:1.1rem;color:var(--text-dim);margin:0 0 28px}.hero-lede em{color:var(--text);font-style:normal}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-now{margin-top:34px;display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.82rem;color:var(--text-dim);background:#07080c8c;border:1px solid var(--line);padding:8px 14px;border-radius:999px}.hero-now strong{color:var(--text)}.hero-now-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-3);box-shadow:0 0 10px var(--accent-3);animation:pulse 1.8s infinite}.hero-now-link{margin-left:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.gallery-section{padding:44px 22px 80px}.gallery-controls{gap:16px;flex-wrap:wrap;margin-bottom:18px}.gallery-controls,.search{display:flex;align-items:center}.search{gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:0 12px;flex:1 1;min-width:240px}.search:focus-within{border-color:var(--accent)}.search-ico{color:var(--text-faint);font-size:1.1rem}.search input{flex:1 1;background:none;border:none;color:var(--text);font-family:var(--mono);font-size:.9rem;padding:11px 0;outline:none}.vibe-filters{display:flex;gap:7px;flex-wrap:wrap}.vibe-chip{font-family:var(--mono);font-size:.78rem;color:var(--text-dim);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;transition:all .15s;text-transform:lowercase}.vibe-chip:hover{color:var(--text);border-color:var(--line-2)}.vibe-chip.on{background:var(--accent);color:#04221a;border-color:var(--accent);font-weight:600}.gallery-count{font-family:var(--mono);font-size:.8rem;color:var(--text-faint);margin:0 0 18px}.gallery-empty{text-align:center;padding:80px 0;color:var(--text-dim)}.shader-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.shader-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.shader-card:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 20px 50px -24px #000c}.shader-card-preview{display:block;position:relative;aspect-ratio:16/10;background:#05060a;overflow:hidden}.shader-card-title-link,.shader-card-title-link:hover{text-decoration:none}.shader-card-title-link:hover .shader-card-title{color:var(--accent)}.shader-card-hint{position:absolute;bottom:9px;right:9px;z-index:3;font-family:var(--mono);font-size:.66rem;color:var(--text-dim);background:#05060ab3;border:1px solid var(--line);padding:3px 8px;border-radius:999px;opacity:0;transition:opacity .2s;pointer-events:none}.shader-card:hover .shader-card-hint{opacity:0}.shader-card-preview:not(:hover) .shader-card-hint{opacity:.85}.shader-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.shader-card-title{font-size:1rem;font-weight:700;margin:0;color:var(--text);letter-spacing:-.01em}.shader-card-by{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-family:var(--mono);font-size:.76rem;color:var(--text-faint)}.shader-card-by .by-link{color:var(--text-dim)}.shader-card-by .by-link:hover{color:var(--accent-2);text-decoration:none}.shader-card-meta{padding:13px 15px 15px;margin-top:auto}.vibe-pill{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2);background:#7aa2ff1a;border:1px solid #7aa2ff40;padding:3px 8px;border-radius:999px;white-space:nowrap}.shader-canvas-wrap{position:relative;width:100%;height:100%}.shader-canvas{display:block;width:100%;height:100%}.shader-skeleton{position:absolute;inset:0;background:linear-gradient(100deg,#0a0c12 30%,#12151f 50%,#0a0c12 70%);background-size:200% 100%;animation:shimmer 1.6s infinite}@keyframes shimmer{to{background-position:-200% 0}}.shader-error{position:absolute;inset:0;background:#0a0608;display:flex;flex-direction:column;gap:8px;padding:14px;overflow:auto}.shader-error-tag{font-family:var(--mono);font-size:.66rem;color:var(--accent-3);text-transform:uppercase;letter-spacing:.08em}.shader-error pre{margin:0;font-family:var(--mono);font-size:.7rem;color:#ff9bbf;white-space:pre-wrap;line-height:1.4}.shader-blank{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:repeating-linear-gradient(45deg,#0a0c12,#0a0c12 10px,#0c0e15 0,#0c0e15 20px);color:var(--text-faint)}.shader-blank-mark{font-size:1.1rem;opacity:.5}.shader-blank-text{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}.detail-stage{position:relative;aspect-ratio:21/9;max-height:64vh;background:#05060a;border-bottom:1px solid var(--line)}.detail-canvas{position:absolute;inset:0}.detail-stage-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:14px 22px;z-index:4}.detail-stage-bar .back{font-size:.84rem;padding:7px 13px;color:var(--text)}.detail-fps,.detail-stage-bar .back{font-family:var(--mono);background:#05060a99;border:1px solid var(--line);border-radius:999px}.detail-fps{font-size:.74rem;color:var(--accent);padding:7px 12px}.detail-body{padding:34px 22px 80px;max-width:880px}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.detail-title{font-size:2rem;margin:0 0 6px;letter-spacing:-.02em}.detail-by{align-items:center;gap:10px;font-size:.92rem;margin:0}.detail-by,.detail-stats{display:flex;color:var(--text-dim)}.detail-stats{gap:16px;font-family:var(--mono);font-size:.9rem;white-space:nowrap}.detail-desc{color:var(--text-dim);margin:18px 0;font-size:1.05rem}.detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}.tag{font-family:var(--mono);font-size:.78rem;color:var(--text-dim);background:var(--panel);border:1px solid var(--line);padding:4px 10px;border-radius:999px}.use-block{margin-top:38px;border-top:1px solid var(--line);padding-top:30px}.use-block h2{font-size:1.3rem;margin:0 0 14px}.use-steps{color:var(--text-dim);padding-left:20px;margin:0 0 22px}.use-steps code{background:var(--panel);border:1px solid var(--line);padding:1px 6px;border-radius:5px;color:var(--accent)}.detail-loading,.detail-missing,.notfound,.upload-gate{padding:90px 22px;text-align:center}.notfound h1{font-size:4rem;font-family:var(--mono);margin:0 0 8px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#0000}.code-tabs,.codeblock{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:16px 0}.code-tabbar,.codeblock-head{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--panel);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.78rem;color:var(--text-dim)}.code-tabbar{gap:4px}.code-tabbar button{background:none;border:none;color:var(--text-faint);font-family:var(--mono);font-size:.78rem;padding:5px 10px;cursor:pointer;border-radius:6px}.code-tabbar button:hover{color:var(--text)}.code-tabbar button.on{color:var(--accent);background:#6cf0c214}.code-tab-actions{margin-left:auto;display:flex;gap:8px}.code{margin:0;padding:16px;overflow-x:auto;font-size:.82rem;line-height:1.6;color:#cfe3dd}.code,.copy-btn{font-family:var(--mono)}.copy-btn{font-size:.74rem;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--line-2);padding:5px 11px;border-radius:7px;cursor:pointer;transition:all .15s}.copy-btn:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.upload{padding:44px 22px 90px}.upload h1{font-size:2rem;margin:0 0 8px}.upload-sub{color:var(--text-dim);margin:0 0 30px}.upload-grid{display:grid;grid-template-columns:1fr .85fr;gap:26px;align-items:start}@media (max-width:900px){.upload-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field>span{font-family:var(--mono);font-size:.78rem;color:var(--text-dim)}.field input,.field select,.field textarea{background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--text);font-family:var(--sans);font-size:.92rem;padding:11px 13px;outline:none;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field-hint{font-family:var(--mono);font-size:.72rem;color:var(--text-faint)}.field-hint code{color:var(--accent)}.field-row{display:flex;gap:14px}.field-row .grow{flex:1 1}.code-editor{font-family:var(--mono);font-size:.82rem;line-height:1.55;resize:vertical;min-height:320px;tab-size:4}.upload-preview{position:sticky;top:80px}.upload-preview-stage{aspect-ratio:16/10;background:#05060a;border:1px solid var(--line);border-radius:12px;overflow:hidden}.compile-status{font-family:var(--mono);font-size:.82rem;padding:10px 0}.compile-status.ok{color:var(--accent)}.compile-status.bad{color:var(--accent-3)}.compile-error{font-family:var(--mono);font-size:.74rem;color:#ff9bbf;background:#0a0608;border:1px solid #2a1018;border-radius:8px;padding:10px;white-space:pre-wrap;margin:0 0 14px;max-height:140px;overflow:auto}.upload-result{font-family:var(--mono);font-size:.86rem;margin:12px 0 0}.upload-result.ok{color:var(--accent)}.upload-result.bad{color:var(--accent-3)}.upload-fineprint{font-size:.76rem;color:var(--text-faint);margin-top:14px}.upload-gate h1{font-size:1.9rem;margin:0 0 12px}.upload-gate p{color:var(--text-dim);max-width:460px;margin:0 auto 22px}.signin-actions{display:flex;justify-content:center}.signin-or{display:flex;align-items:center;gap:12px;color:var(--text-faint);font-family:var(--mono);font-size:.78rem;max-width:320px;margin:20px auto}.signin-or:after,.signin-or:before{content:"";flex:1 1;height:1px;background:var(--line)}.signin-email{display:flex;gap:8px;max-width:380px;margin:0 auto}.signin-email input{flex:1 1;background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:11px 13px;outline:none}.signin-email input:focus{border-color:var(--accent)}.signin-sent{color:var(--accent);font-family:var(--mono)}.prose{padding:44px 22px 90px;max-width:800px}.prose h1{font-size:2.2rem;margin:0 0 10px;letter-spacing:-.02em}.prose h2{font-size:1.4rem;margin:40px 0 14px;padding-top:8px}.prose .lead{font-size:1.12rem;color:var(--text-dim);margin:0 0 14px}.prose .lead em,.prose p em{color:var(--text);font-style:normal}.prose p{color:var(--text-dim)}.prose code{background:var(--panel);border:1px solid var(--line);padding:1px 6px;border-radius:5px;color:var(--accent)}.prose pre code{background:none;border:none;padding:0;color:#cfe3dd}.prose-cta{margin-top:40px}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:16px 0}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:11px 15px;border-bottom:1px solid var(--line)}th{background:var(--panel);font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}td,th{color:var(--text-dim)}tr:last-child td{border-bottom:none}table code{color:var(--accent)}.footer{border-top:1px solid var(--line);background:var(--bg-2);margin-top:40px}.footer-inner{max-width:1240px;margin:0 auto;padding:48px 22px 30px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}@media (max-width:720px){.footer-inner{grid-template-columns:1fr 1fr}}.footer-col{display:flex;flex-direction:column;gap:9px}.footer-col h4{font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:0 0 4px}.footer-col a{color:var(--text-dim);font-size:.88rem}.footer-col a:hover{color:var(--accent)}.footer-tag{color:var(--text-faint);font-size:.86rem;margin:4px 0 0}.footer-bottom{max-width:1240px;margin:0 auto;padding:18px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:.74rem;color:var(--text-faint)}.nav-user-link{display:flex;align-items:center;gap:8px;color:var(--text-dim)}.nav-user-link:hover{text-decoration:none;color:var(--text)}.nav-username{font-family:var(--mono);font-size:.82rem}@media (max-width:620px){.nav-username{display:none}}.like-btn{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim);font-family:var(--mono);border-radius:999px;cursor:pointer;transition:all .14s;line-height:1}.like-sm{font-size:.78rem;padding:4px 10px}.like-lg{font-size:.95rem;padding:8px 15px}.like-btn.on,.like-btn:hover{border-color:var(--accent-3);color:var(--accent-3)}.like-btn.on{background:#ff5fa21f}.like-heart{font-size:1.05em}.like-btn.on .like-heart{animation:pop .3s ease}@keyframes pop{0%{transform:scale(.6)}50%{transform:scale(1.35)}to{transform:scale(1)}}.shader-card-actions{gap:6px}.del-btn,.shader-card-actions{display:inline-flex;align-items:center}.del-btn{justify-content:center;background:var(--panel-2);border:1px solid var(--line);color:var(--text-faint);border-radius:999px;cursor:pointer;transition:all .14s;line-height:1;opacity:.65}.del-sm{font-size:.82rem;padding:4px 8px}.del-lg{font-size:.95rem;padding:8px 12px}.del-btn:hover{border-color:var(--accent-3);color:var(--accent-3);opacity:1}.del-confirm{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.72rem;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--accent-3);border-radius:999px;padding:3px 4px 3px 10px}.del-confirm.del-lg{font-size:.82rem;padding:5px 6px 5px 12px}.del-q{color:var(--accent-3)}.del-no,.del-yes{font-family:var(--mono);font-size:inherit;border:none;border-radius:999px;padding:3px 9px;cursor:pointer;line-height:1;transition:all .14s}.del-yes{background:var(--accent-3);color:#2a0713;font-weight:700}.del-yes:hover{filter:brightness(1.1)}.del-yes:disabled{opacity:.6;cursor:default}.del-no{background:none;color:var(--text-faint)}.del-no:hover{color:var(--text)}.del-err{color:var(--accent-3);font-size:.7rem}.sort-tabs{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.sort-tab{background:none;border:none;color:var(--text-faint);font-family:var(--mono);font-size:.78rem;padding:5px 13px;border-radius:999px;cursor:pointer;transition:all .14s;text-transform:lowercase}.sort-tab:hover{color:var(--text)}.sort-tab.on{background:var(--accent-2);color:#061331;font-weight:600}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#040509bd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:22px;animation:fade .18s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal-card{position:relative;width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line-2);border-radius:18px;padding:32px 30px 26px;text-align:center;box-shadow:0 40px 90px -30px #000000e6}.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-faint);font-size:1.5rem;line-height:1;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-mark{font-size:1.6rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#0000;margin-bottom:8px}.modal-title{font-size:1.5rem;margin:0 0 8px}.modal-sub{color:var(--text-dim);font-size:.92rem;margin:0 0 22px}.modal-note{color:var(--text-faint);font-family:var(--mono);font-size:.82rem}.modal-card .signin-email{margin:0 auto;max-width:none}.modal-card .signin-email input{flex:1 1}.modal-err{color:var(--accent-3);font-family:var(--mono);font-size:.8rem;margin:12px 0 0}.modal-fine{color:var(--text-faint);font-size:.74rem;margin:18px 0 0}.btn-block{width:100%;justify-content:center}.tier-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:.74rem}.tier-glyph{font-size:.9em}.tier-name{text-transform:lowercase;letter-spacing:.02em}.rep-meter{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:24px 0}.rep-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.rep-tier{font-family:var(--mono);font-size:1.05rem;font-weight:600;display:inline-flex;align-items:center;gap:7px}.rep-glyph{font-size:1.1em}.rep-karma{font-family:var(--mono);color:var(--text-dim);font-size:.88rem}.rep-bar{height:8px;background:var(--bg-2);border-radius:999px;overflow:hidden;margin:14px 0 10px;border:1px solid var(--line)}.rep-bar-fill{height:100%;border-radius:999px;transition:width .5s ease}.rep-foot{font-family:var(--mono);font-size:.78rem;color:var(--text-faint)}.rep-foot strong{font-weight:600}.profile{padding:44px 22px 90px;max-width:1100px}.profile-loading,.profile-missing{padding:90px 22px;text-align:center}.profile-head{display:flex;align-items:center;gap:20px}.profile-avatar{width:78px;height:78px;border-radius:50%;border:1px solid var(--line-2);object-fit:cover;flex-shrink:0}.profile-avatar-fallback{display:grid;place-items:center;background:var(--panel-2);color:var(--accent);font-size:2rem;font-weight:700;font-family:var(--mono)}.profile-name{font-size:2rem;margin:0;letter-spacing:-.02em}.profile-bio{color:var(--text-dim);margin:6px 0}.profile-stats{display:flex;gap:18px;font-family:var(--mono);font-size:.84rem;color:var(--text-faint);margin-top:6px}.profile-stats strong{color:var(--text)}.profile-badges{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 30px}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.78rem;color:var(--accent);background:#6cf0c214;border:1px solid #6cf0c240;padding:6px 12px;border-radius:999px}.badge-glyph{font-size:1em}.profile-section{font-size:1.3rem;margin:14px 0 18px;border-top:1px solid var(--line);padding-top:26px}.profile-empty{color:var(--text-faint)}.profile-edit-btn{margin-top:10px}.profile-editor{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:8px 0 24px;max-width:520px}.creators{padding:44px 22px 90px;max-width:920px}.creators-head h1{font-size:2.2rem;margin:0 0 8px;letter-spacing:-.02em}.creators-head p{color:var(--text-dim);max-width:620px;margin:0 0 30px}.creators-empty,.creators-loading{text-align:center;padding:50px 0;color:var(--text-dim)}.creators-empty .btn{margin-top:16px}.leaderboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lb-row{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:11px;padding:12px 16px}.lb-row:hover{border-color:var(--line-2)}.lb-rank{font-family:var(--mono);font-size:.9rem;color:var(--text-faint);width:26px;text-align:right}.lb-avatar{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);object-fit:cover;flex-shrink:0}.lb-avatar-fallback{display:grid;place-items:center;background:var(--panel-2);color:var(--accent);font-weight:700;font-family:var(--mono)}.lb-id{display:flex;flex-direction:column;gap:2px;min-width:0}.lb-name{font-weight:600;color:var(--text)}.lb-name:hover{color:var(--accent);text-decoration:none}.lb-stats{margin-left:auto;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:.8rem;color:var(--text-faint);white-space:nowrap}.lb-karma{color:var(--accent);font-weight:600;font-size:.95rem}@media (max-width:600px){.lb-stats span:not(.lb-karma){display:none}}.detail-author-link{color:inherit}.detail-author-link:hover{color:var(--accent-2)}.signin-form{display:flex;flex-direction:column;gap:10px}.signin-form input{background:var(--panel-2);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:11px 13px;outline:none;font-size:.92rem}.signin-form input:focus{border-color:var(--accent)}.signin-alts{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 4px;font-family:var(--mono);font-size:.78rem;color:var(--text-faint)}.linklike{background:none;border:none;color:var(--accent-2);font-family:inherit;font-size:inherit;cursor:pointer;padding:0}.linklike:hover{text-decoration:underline}.modal-toggle{font-size:.8rem;color:var(--text-faint);margin:14px 0 0}.code-ed,.modal-toggle{font-family:var(--mono)}.code-ed{display:flex;background:#07090f;border:1px solid var(--line);border-radius:10px;overflow:hidden;height:100%;min-height:0;font-size:.82rem;line-height:1.55;--ed-line-h:1.55em}.code-ed.focused{border-color:var(--accent-2)}.code-ed-gutter{flex-shrink:0;padding:12px 0;text-align:right;color:var(--text-faint);background:#0a0c12;border-right:1px solid var(--line);-webkit-user-select:none;user-select:none;overflow:hidden}.code-ed-ln{padding:0 10px 0 12px;min-width:34px}.code-ed-ln.err{color:var(--accent-3);background:#ff5fa21f;font-weight:700}.code-ed-body{position:relative;flex:1 1;min-width:0}.code-ed-hl,.code-ed-ta{margin:0;padding:12px 14px;font:inherit;white-space:pre;overflow:auto;tab-size:2}.code-ed-hl{position:absolute;inset:0;pointer-events:none;color:var(--text);overflow:hidden}.code-ed-ta{position:relative;width:100%;height:100%;background:#0000;color:#0000;caret-color:var(--accent);border:none;outline:none;resize:none}.code-ed-ta::selection{background:#7aa2ff4d;color:#0000}.code-ed-ac{position:absolute;z-index:30;margin:0;padding:4px;list-style:none;min-width:200px;max-width:320px;max-height:252px;overflow-y:auto;background:#0c0f17;border:1px solid var(--line-2);border-radius:9px;box-shadow:0 18px 44px -16px #000000e6;font-family:var(--mono);font-size:.78rem;transform:translateY(.2em)}.code-ed-ac li{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;cursor:pointer;color:var(--text-dim);white-space:nowrap}.code-ed-ac li.on{background:#7aa2ff29;color:var(--text)}.code-ed-ac li:hover{background:#7aa2ff1a}.ac-kind{flex:none;width:16px;height:16px;display:grid;place-items:center;border-radius:4px;font-size:.62rem;font-weight:700;text-transform:uppercase}.ac-function{background:#6cf0c229;color:#6cf0c2}.ac-uniform{background:#7aa2ff29;color:#7aa2ff}.ac-keyword{background:#ff79c624;color:#ff79c6}.ac-snippet{background:#ffb86c29;color:#ffb86c}.ac-label{flex:1 1;color:inherit}.ac-detail{color:var(--text-faint);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;max-width:140px}.hl-errline{display:inline-block;width:100%;background:#ff5fa214}.t-kw{color:#7aa2ff}.t-fn{color:#6cf0c2}.t-num{color:#ffb86c}.t-com{color:#5a6480;font-style:italic}.t-pre{color:#ff79c6}.editor-page{display:flex;flex-direction:column;height:calc(100vh - 61px);min-height:560px}.editor-bar{justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}.editor-bar,.editor-bar-left{display:flex;align-items:center;gap:14px}.editor-back{font-family:var(--mono);font-size:.82rem;color:var(--text-dim)}.editor-title{font-weight:700;letter-spacing:-.01em}.editor-badge{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:#6cf0c21a;border:1px solid #6cf0c240;padding:2px 8px;border-radius:999px}.editor-hint{font-family:var(--mono);font-size:.7rem;color:var(--text-faint)}@media (max-width:980px){.editor-hint{display:none}}.editor-bar-right{gap:10px}.editor-bar-right,.example-menu{display:flex;align-items:center;flex-wrap:wrap}.example-menu{gap:6px}.example-label{font-family:var(--mono);font-size:.72rem;color:var(--text-faint)}.example-chip{font-family:var(--mono);font-size:.74rem;color:var(--text-dim);background:var(--panel);border:1px solid var(--line);padding:4px 9px;border-radius:7px;cursor:pointer;transition:all .14s}.example-chip:hover{color:var(--accent);border-color:var(--accent)}.editor-split{flex:1 1;display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:0}.editor-page.big-preview .editor-split{grid-template-columns:.8fr 1.6fr}.editor-code-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}.editor-code-pane .code-ed{border:none;border-radius:0;flex:1 1}.editor-status{font-family:var(--mono);font-size:.78rem;padding:8px 14px;border-top:1px solid var(--line);background:var(--bg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-status.ok{color:var(--accent)}.editor-status.bad{color:var(--accent-3)}.editor-preview-pane{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.editor-stage{aspect-ratio:16/10;background:#05060a;flex-shrink:0;position:relative}.editor-page.big-preview .editor-stage{aspect-ratio:auto;flex:1 1;min-height:50vh}.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.editor-io{display:flex;gap:8px}.editor-use{padding:14px 18px;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--text-dim)}.editor-use summary{cursor:pointer;font-family:var(--mono);font-size:.8rem;color:var(--text)}.editor-use ol{padding-left:20px;margin:12px 0}.editor-use code{background:var(--panel);border:1px solid var(--line);padding:1px 6px;border-radius:5px;color:var(--accent)}.editor-result{padding:12px 18px;font-family:var(--mono);font-size:.86rem}.editor-result.ok{color:var(--accent)}.editor-result.bad{color:var(--accent-3)}.publish-card{text-align:left}.publish-card .modal-sub,.publish-card .modal-title{text-align:center}@media (max-width:820px){.editor-split{grid-template-columns:1fr;grid-template-rows:auto auto}.editor-page,.editor-page.big-preview .editor-split{height:auto}.editor-code-pane{border-right:none;border-bottom:1px solid var(--line);height:60vh}.editor-page.big-preview .editor-split{grid-template-columns:1fr}}@media (max-width:880px){.detail-head{flex-direction:column;gap:12px}.detail-stats{gap:14px}.detail-title{font-size:1.7rem}.detail-body{padding:26px 18px 70px}.gallery-section{padding:32px 16px 64px}.hero-inner{padding:64px 18px 56px}}@media (max-width:640px){.gallery-section{padding:24px 14px 54px}.hero-inner{padding:52px 16px 44px}.hero-lede{font-size:1rem}.hero-actions{gap:10px}.hero-actions .btn{flex:1 1;justify-content:center;min-width:0}.gallery-controls{gap:12px}.search{min-width:0;width:100%;flex:1 1 100%}.sort-tabs{width:100%;justify-content:space-between}.sort-tab{flex:1 1;text-align:center}.vibe-filters{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}.vibe-filters::-webkit-scrollbar{display:none}.vibe-chip{white-space:nowrap;flex:none}.shader-grid{gap:14px}.detail-stage{aspect-ratio:16/10;max-height:52vh}.detail-stage-bar{padding:10px 14px}.detail-title{font-size:1.5rem}.detail-desc{font-size:1rem}.modal-backdrop{align-items:flex-end;padding:0}.modal-card{max-width:100%;border-radius:18px 18px 0 0;padding:26px 20px 22px}.field-row{flex-direction:column;gap:0}.editor-bar{padding:10px 14px}.editor-bar-right{width:100%}.example-menu{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px}.example-menu::-webkit-scrollbar{display:none}.example-chip{flex:none}.editor-code-pane{height:52vh}.editor-actions{padding:12px 14px}.editor-actions .btn-primary{width:100%;justify-content:center}.footer-inner{grid-template-columns:1fr 1fr;gap:22px;padding:36px 16px 24px}}@media (max-width:400px){.footer-inner{grid-template-columns:1fr}.nav-inner{padding:0 14px;gap:14px}.detail-stats{flex-wrap:wrap}}@media (hover:none){.shader-card-preview:not(:hover) .shader-card-hint{opacity:.85}.shader-card:hover{transform:none}}