@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-ext-400-normal.39u3dp1q8vt28.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.3-2s2qyqt5syo.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1ob51yn_zh4f3.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.2c9g56gofrre8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.20ztly1_og8qv.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.1d6bt9ufqnym6.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.41bcgzntq2c9e.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.3nx5do2g1gg_d.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.2wkl6p2bjtdkj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.1d956-ol9h5w9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-ext-500-normal.37y6j4asgn87a.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-500-normal.42ydqmu-69p6e.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-500-normal.3j8b5jptl4nhr.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-500-normal.2r3_h99a4p2o6.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-greek-500-normal.0k99vu2yejv84.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-500-normal.2kq1zw7ns-90j.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-vietnamese-500-normal.38exv3t7tju-g.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-500-normal.14rtxflq2gk6f.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-ext-500-normal.1h2_ral94l6aj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-500-normal.1zyjrbr0w_u4w.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-ext-600-normal.0hanpnpn3ki-v.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-600-normal.33q0gwxfwkcq9.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-600-normal.1bd0br_i69opa.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-600-normal.0h3aaz4315ad-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-greek-600-normal.17-3491c_tfac.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-600-normal.1mkps5wbbyo2a.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-vietnamese-600-normal.3hxpyk-en1__5.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-600-normal.3i-6fz_bx7yta.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-ext-600-normal.0a5-aslyj_wbq.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-600-normal.00ca59z0uilzq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-cyrillic-ext-700-normal.1dpp22a693y_f.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-700-normal.2j0n2wowgjqls.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-cyrillic-700-normal.18feapymqwhbh.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-700-normal.2l5m2m6-3_1r7.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-greek-700-normal.0y4gpqeqws6yv.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-700-normal.2nhbs3yj9gl6i.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-vietnamese-700-normal.18eestevoqzwv.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-700-normal.1_rj7yg1pulj1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-latin-ext-700-normal.14ri_qndij_e8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-700-normal.22pgwkr6js0ec.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-latin-700-normal.3cj1z__33gk9h.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-700-normal.43_h0be0oa3u4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#121416;--surface:#1a1d20;--surface-2:#22262a;--fg:#f4f1ec;--muted:#a2a8ad;--line:#2c3034;--orange:#ff643f;--pink:#ec4a9e;--purple:#b768df;--sage:#8fb8a2;--danger:#ff7a7a;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}img,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}.topbar{border-bottom:1px solid var(--line);z-index:5;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.topbar .wrap{align-items:center;gap:16px;height:56px;display:flex}.topbar .brand{align-items:center;margin-right:auto;text-decoration:none;display:inline-flex}.topbar .brand img{flex:none;width:auto;height:24px}.title-end{white-space:nowrap}.mubit-mark{vertical-align:.02em;width:.6em;height:.6em;margin-left:.28em;display:inline-block}.topbar a.plain{color:var(--muted);font-size:14px;text-decoration:none}.topbar a.plain:hover{color:var(--fg)}@media (max-width:420px){.topbar a.ext{display:none}}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12.5px}h1{font:700 clamp(34px, 5vw, 56px)/1.04 var(--sans);letter-spacing:-.03em;text-wrap:balance;margin:10px 0 14px}h2{font:600 22px/1.25 var(--sans);letter-spacing:-.01em;margin:0 0 12px}h3{font:600 17px/1.3 var(--sans);margin:0 0 8px}p{margin:0 0 12px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover{background:#fff}.btn.accent{background:var(--orange);color:#16110f;border-color:var(--orange)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.thumb-option:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge{font:500 12.5px/1.4 var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.badge.prize{background:var(--orange);border-color:var(--orange);color:#16110f;font-weight:600}.badge.ok{color:var(--sage);border-color:color-mix(in srgb, var(--sage) 50%, transparent)}.badge.warn{color:#f0c36d;border-color:#f0c36d73}.badge.bad{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.badge.mubit{background:var(--fg);color:var(--bg);border-color:var(--fg);font-weight:600}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}.panel+.panel{margin-top:16px}.notice{border-left:3px solid var(--orange);background:var(--surface);border-radius:0 10px 10px 0;margin:0 0 16px;padding:12px 16px}.notice.ok{border-left-color:var(--sage)}.error{color:var(--danger);margin-top:8px;font-size:14px}.hero-media{border:1px solid var(--line);aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden}.hero-media video,.hero-media img{object-fit:contain;background:#000;width:100%;height:100%}.hero-media img.cover{object-fit:cover}.project-head{padding:28px 0 8px}.tagline{color:#d3d6d8;max-width:60ch;margin:0 0 18px;font-size:clamp(18px,2.2vw,22px)}.project-grid{grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding:28px 0 56px;display:grid}.byline{margin:-6px 0 18px;font-size:18px;font-weight:500}.project-grid.single{grid-template-columns:minmax(0,1fr)}.people{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.people li{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.people .avatar{width:46px;height:46px;font:600 16px/1 var(--mono);color:#16110f;background:var(--surface-2);border-radius:50%;flex:none;place-items:center;display:grid}.people .anon .avatar{color:var(--muted)}.people .who{font:600 17px/1.3 var(--sans);display:block}.people a{color:var(--muted);word-break:break-all;font-size:13.5px;text-decoration:none}.people a:hover{color:var(--fg)}.about{margin:0 0 32px}.about p{color:#d3d6d8;max-width:68ch;margin:0;font-size:17px;line-height:1.6}.side h3{margin-top:0}.side .panel{padding:18px}.gallery-head{padding-top:56px;padding-bottom:28px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding-bottom:72px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}a.card:hover{border-color:var(--muted);transform:translateY(-2px)}.card .thumb{aspect-ratio:16/9;background:#000;position:relative}.card .thumb img{object-fit:cover;width:100%;height:100%}.card .thumb .badge{position:absolute;top:10px;left:10px}.card .body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.card .title{font:600 19px/1.25 var(--sans);letter-spacing:-.01em}.card .tag{color:var(--muted);font-size:14.5px}.card .by{font-size:14px;font-weight:500}.editor{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:32px;padding:28px 0 80px;display:grid}.editor .preview{gap:16px;display:grid;position:sticky;top:76px}.step{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}.step+.step{margin-top:16px}.step h2{align-items:baseline;gap:10px;font-size:19px;display:flex}.step h2 .n{font:500 13px/1 var(--mono);color:var(--orange)}.field{gap:6px;margin-top:14px;display:grid}.field label{font-size:14px;font-weight:500}.field .hint{color:var(--muted);font-size:13px}.field input[type=text],.field input[type=url],.field textarea,.field select{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px;font-size:15px}.field textarea{resize:vertical;min-height:96px;line-height:1.5}.counter{font:400 12px/1 var(--mono);color:var(--muted);justify-self:end}.counter.over{color:var(--danger)}.check{cursor:pointer;align-items:flex-start;gap:10px;margin-top:12px;font-size:15px;display:flex}.check input{width:18px;height:18px;accent-color:var(--orange);flex:none;margin-top:4px}.thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.thumb-option{border:2px solid var(--line);aspect-ratio:16/9;cursor:pointer;background:#000;border-radius:10px;padding:0;position:relative;overflow:hidden}.thumb-option img{object-fit:cover;width:100%;height:100%}.thumb-option[aria-pressed=true]{border-color:var(--orange)}.thumb-option.upload{background:var(--bg);color:var(--muted);text-align:center;border-style:dashed;place-items:center;padding:6px;font-size:13px;display:grid}.uploads-list{gap:8px;margin-top:10px;display:grid}.uploads-list label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14.5px;display:flex}.uploads-list input{accent-color:var(--orange)}.status-line{font:400 12.5px/1 var(--mono);color:var(--muted);min-height:14px}.team-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.team-list li{justify-content:space-between;align-items:center;gap:10px;font-size:14.5px;display:flex}.team-list .note{color:var(--muted);margin-top:2px;font-size:13px;display:block}.licence{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14.5px}.share textarea{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;min-height:150px;padding:10px 12px;font-size:14px;line-height:1.5}.tabs{gap:6px;margin-bottom:10px;display:flex}.tabs button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:6px 12px;font-size:13.5px}.tabs button[aria-selected=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}table.admin{border-collapse:collapse;width:100%;font-size:13.5px}table.admin th,table.admin td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}table.admin th{font:500 11.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}table.admin form{gap:6px;margin:0 6px 6px 0;display:inline-flex}table.admin input,table.admin select{background:var(--bg);border:1px solid var(--line);border-radius:6px;max-width:140px;padding:4px 6px;font-size:13px}table.admin .btn{border-radius:6px;padding:4px 9px;font-size:12.5px}.photos{--row:220px;flex-wrap:wrap;gap:12px;padding:32px 0 72px;display:flex}.photos:after{content:"";flex-grow:1000000}.photos figure{--r:1.5;flex:calc(var(--r) * 100) 1 calc(var(--r) * var(--row));aspect-ratio:var(--r);background:var(--surface);border-radius:10px;margin:0;overflow:hidden}.photos img{object-fit:cover;width:100%;height:100%;display:block}.photos a{height:100%;display:block}.photos a:focus-visible,.preview-grid a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.photos img{transition:opacity .15s}.photos a:hover img{opacity:.85}@media (max-width:600px){.photos{--row:96px;gap:6px}.photos figure{border-radius:6px}}.back{color:var(--muted);align-items:center;gap:6px;margin-bottom:14px;font-size:15px;text-decoration:none;display:inline-flex}.back:hover{color:var(--fg)}.photos-end{text-align:center;margin:-32px 0 72px}.photo-preview{border-top:1px solid var(--line);padding:40px 0 72px}.photo-preview h2{margin:0 0 16px}.preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.preview-grid a{aspect-ratio:3/2;border:1px solid var(--line);background:var(--surface);border-radius:12px;display:block;overflow:hidden}.preview-grid img{object-fit:cover;width:100%;height:100%;transition:transform .25s}.preview-grid a:hover img{transform:scale(1.04)}.photo-preview p{text-align:center;margin:24px 0 0}@media (max-width:760px){.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-grid a:nth-child(n+7){display:none}}.photos .placeholder{aspect-ratio:3/2;color:var(--muted);font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:repeating-linear-gradient(135deg, var(--surface), var(--surface) 12px, var(--surface-2) 12px, var(--surface-2) 13px);place-items:center;display:grid}html:has(dialog.lightbox[open]){overflow:hidden}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--fg);background:#0b0c0d;border:0;margin:0;padding:0}.lightbox[open]{flex-direction:column;display:flex}.lightbox::backdrop{background:#000c}.lb-bar{align-items:center;gap:10px;padding:12px 16px;display:flex}.lb-count{font:500 13px/1 var(--mono);color:var(--muted);margin-right:auto}.lb-bar .btn{padding:8px 14px;font-size:14px}.lb-close{width:40px;padding:8px 0!important}.lb-stage{flex:1;min-height:0;padding:0 76px 24px;position:relative}.lb-frame{place-items:center;width:100%;height:100%;display:grid;container-type:size}.lb-frame img{width:min(100cqw, calc(100cqh * var(--r)));height:auto;aspect-ratio:var(--r);-webkit-user-select:none;user-select:none;background:50%/cover no-repeat;border-radius:6px;animation:.18s ease-out lb-in}.lb-arrow{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 75%, transparent);width:48px;height:48px;color:var(--fg);cursor:pointer;border-radius:50%;font-size:20px;position:absolute;top:calc(50% - 12px);translate:0 -50%}.lb-arrow:hover{border-color:var(--muted)}.lb-arrow:focus-visible,.lightbox .btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.lb-arrow.prev{left:16px}.lb-arrow.next{right:16px}@keyframes lb-in{0%{opacity:.6}to{opacity:1}}@media (max-width:760px){.lb-stage{padding:0 0 76px}.lb-arrow{top:auto;bottom:14px;translate:none}.lb-arrow.prev{left:calc(50% - 60px)}.lb-arrow.next{right:calc(50% - 60px)}}@media (prefers-reduced-motion:reduce){.lb-frame img,.preview-grid img{transition:none;animation:none}}.footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 48px;font-size:14px}@media (max-width:900px){.project-grid,.editor{grid-template-columns:minmax(0,1fr)}.editor .preview{order:-1;position:static}.thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}}
