@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");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:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");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:Outfit;font-style:normal;font-weight:900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");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:Outfit;font-style:normal;font-weight:900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");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:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_1a226b01-module__wSyx6W__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_1a226b01-module__wSyx6W__variable{--font-display:"Outfit", "Outfit Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:"Noto Sans SC", sans-serif;--default-mono-font-family:"Outfit", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--background:#fafbfc;--card:#fff;--primary:#ff6b6b;--primary-hover:#ff5252;--ink:#1a1a2e;--muted:#6b7280;--border:#e5e7eb;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-hover:0 12px 32px #00000026}*{box-sizing:border-box}html{background:radial-gradient(circle at 12% 8%, #ff6b6b29, transparent 28rem), radial-gradient(circle at 88% 18%, #10b98124, transparent 24rem), var(--background);min-height:100%}body{min-height:100vh;color:var(--ink);font-family:var(--font-primary), "Noto Sans SC", sans-serif;flex-direction:column;margin:0;display:flex}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.site-header{z-index:10;border-radius:var(--radius-full);width:min(1180px,100% - 2rem);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #e5e7ebe6;justify-content:space-between;align-items:center;gap:1rem;margin:1rem auto 0;padding:.75rem;display:flex;position:sticky;top:0}.brand,.nav-links,.hero-actions,.card-meta,.card-footer,.detail-actions,.toolbar,.tabs,.admin-actions{align-items:center;display:flex}.brand{font-family:var(--font-display), sans-serif;gap:.65rem;font-weight:900}.brand-mark{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;display:grid}.nav-links{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:.45rem;font-size:.95rem}.nav-links a,.ghost-button{border-radius:var(--radius-full);color:inherit;background:0 0;border:0;padding:.65rem .9rem}.nav-links a:hover,.ghost-button:hover{color:var(--ink);background:#f3f4f6}.primary-button,.auth-form button,.submit-form>button,.admin-actions button{border-radius:var(--radius-full);background:var(--primary);border:0;font-weight:800;transition:transform .18s,background .18s,box-shadow .18s;box-shadow:0 10px 24px #ff6b6b42;color:#fff!important}.nav-links a.nav-submit{border-radius:var(--radius-full);background:#e11d48;border:0;justify-content:center;align-items:center;min-height:2.75rem;padding-inline:1.1rem;font-weight:800;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex;box-shadow:0 10px 24px #e11d4838;color:#fff!important}.primary-button:hover,.auth-form button:hover,.submit-form>button:hover,.admin-actions button:hover{background:var(--primary-hover);transform:translateY(-2px)}.nav-links a.nav-submit:hover{background:#be123c;transform:translateY(-2px)}.page-shell{flex:1;width:min(1180px,100% - 2rem);margin:0 auto;padding:4rem 0}.hero{max-width:860px;min-height:0}.hero-copy,.panel,.auth-form,.submit-form,.admin-card{box-shadow:var(--shadow-md);background:#ffffffd1;border:1px solid #e5e7ebe6;border-radius:28px}.hero-copy{padding:clamp(1.5rem,4vw,2.75rem);position:relative;overflow:hidden}.hero-copy:after{content:"";background:#ff6b6b24;border-radius:45%;width:12rem;height:12rem;position:absolute;bottom:-8rem;right:-6rem}.eyebrow,.step-label{border-radius:var(--radius-full);color:#b91c1c;width:fit-content;font-family:var(--font-display), sans-serif;letter-spacing:.1em;text-transform:uppercase;background:#fff0f0;margin-bottom:1rem;padding:.45rem .75rem;font-size:.78rem;font-weight:900;display:inline-flex}h1,h2,h3{letter-spacing:-.04em;margin:0}.hero h1{max-width:620px;font-size:clamp(2.45rem,5.4vw,4.4rem);line-height:.96}.hero p,.page-heading p,.section-title p{max-width:680px;color:var(--muted);font-size:1.08rem;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}.primary-button,.secondary-button{justify-content:center;align-items:center;min-height:2.9rem;padding:.75rem 1.1rem;display:inline-flex}.secondary-button{border:1px solid var(--border);border-radius:var(--radius-full);background:#fff;font-weight:800}.toolbar{justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.search-box{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;width:min(620px,100%);display:grid}.search-box input,.auth-form input,.submit-form input,.submit-form select,.submit-form textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--ink);background:#fff;outline:none;padding:.9rem 1rem}.search-box input:focus,.auth-form input:focus,.submit-form input:focus,.submit-form select:focus,.submit-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #ff6b6b1f}.search-box button,.sort-switch a,.tabs button{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--ink);background:#fff;padding:.8rem 1rem;font-weight:800}.search-hint{color:var(--muted);grid-column:1/-1;font-size:.85rem}.sort-switch{border-radius:var(--radius-full);background:#fff;gap:.35rem;padding:.35rem;display:flex}.sort-switch a.active,.tabs button.active{background:var(--ink);color:#fff}.category-strip{gap:.65rem;margin:1.5rem 0;padding-bottom:.5rem;display:flex;overflow-x:auto}.category-tab,.category-pill{white-space:nowrap;border-radius:var(--radius-full);align-items:center;gap:.35rem;font-weight:800;display:inline-flex}.category-tab{border:1px solid var(--border);color:var(--muted);background:#fff;padding:.75rem 1rem;transition:transform .16s,background .16s}.category-tab:hover,.category-tab.active{background:var(--ink);color:#fff;transform:translateY(-2px)}.category-pill{color:#4b5563;background:#f3f4f6;padding:.4rem .65rem;font-size:.82rem}.category-tools{color:#1e40af;background:#dbeafe}.category-games{color:#be185d;background:#fce7f3}.category-ai{color:#6d28d9;background:#ede9fe}.category-ecommerce{color:#b45309;background:#fef3c7}.category-blog{color:#065f46;background:#d1fae5}.category-data-viz{color:#0e7490;background:#cffafe}.category-creative{color:#b91c1c;background:#fee2e2}.category-education{color:#3730a3;background:#e0e7ff}.category-social{color:#7c3aed;background:#f3e8ff}.category-health{color:#047857;background:#ecfdf5}.category-dev-tools{color:#334155;background:#f1f5f9}.category-mobile{color:#c2410c;background:#fff7ed}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.project-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);border-radius:24px;transition:transform .22s,box-shadow .22s;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.project-cover-link{aspect-ratio:16/9;background:#f3f4f6;display:block;overflow:hidden}.project-cover,.leaderboard-thumb,.detail-cover,.preview-card img{object-fit:cover;width:100%;height:100%}.project-card-body{padding:1rem}.card-meta,.card-footer{justify-content:space-between;gap:.8rem}.star-count,.leaderboard-stars{color:#b45309;font-family:var(--font-display), sans-serif;font-weight:900}.project-card h3{margin:1rem 0 .6rem;font-size:1.35rem}.project-card p{min-height:3.3rem;color:var(--muted);margin:0;line-height:1.7}.card-footer{color:var(--muted);margin-top:1rem;font-size:.86rem}.page-heading,.section-title{margin-bottom:2rem}.page-heading h1{font-size:clamp(2.4rem,5vw,4.5rem)}.back-link{color:var(--muted);margin-bottom:1rem;font-weight:800;display:inline-flex}.project-detail{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:1.5rem;margin-bottom:1.5rem;display:grid}.detail-cover,.detail-panel{border-radius:28px}.detail-cover{aspect-ratio:16/9;box-shadow:var(--shadow-lg);background:#f3f4f6}.detail-panel{border:1px solid var(--border);background:#fff;padding:1.5rem}.detail-panel h1{margin:1rem 0;font-size:clamp(2rem,4vw,3.25rem)}.detail-panel p,.long-text{color:var(--muted);line-height:1.9}.detail-actions{flex-wrap:wrap;gap:.8rem;margin:1.5rem 0}.star-button{border-radius:var(--radius-full);color:#92400e;background:#fffbeb;border:1px solid #fcd34d;padding:.8rem 1rem;font-weight:900;transition:transform .16s}.star-button.starred{color:#fff;background:#f59e0b;transform:scale(1.03)}.meta-list{gap:.8rem;margin:0;display:grid}.meta-list div{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;padding-top:.8rem;display:flex}.meta-list dt{color:var(--muted)}.meta-list dd{margin:0;font-weight:800}.panel{padding:1.5rem}.leaderboard-list{gap:.8rem;display:grid}.leaderboard-row{border:1px solid var(--border);background:#fff;border-radius:22px;grid-template-columns:4rem 6rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem;transition:transform .16s,box-shadow .16s;display:grid}.leaderboard-row:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.rank-1{background:linear-gradient(90deg,#fff7cc,#fff)}.rank-2{background:linear-gradient(90deg,#f3f4f6,#fff)}.rank-3{background:linear-gradient(90deg,#ffedd5,#fff)}.rank-badge{text-align:center;font-family:var(--font-display), sans-serif;font-size:1.4rem;font-weight:900}.leaderboard-thumb{aspect-ratio:16/9;border-radius:12px}.leaderboard-main{min-width:0;display:grid}.leaderboard-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-page{grid-template-columns:minmax(0,.9fr) minmax(320px,.6fr);align-items:start;gap:2rem;display:grid}.auth-page h1{font-size:clamp(2.5rem,5vw,4.8rem)}.auth-page p{color:var(--muted);line-height:1.8}.auth-form,.submit-form{gap:1rem;padding:1.5rem;display:grid}.auth-form label,.submit-form label{color:var(--muted);gap:.5rem;font-weight:800;display:grid}.auth-form button,.submit-form>button{min-height:3rem;padding:.8rem 1.2rem}.form-error,.form-success,.form-note,.empty-state{border-radius:var(--radius-md);margin:0;padding:.8rem 1rem}.form-error{color:#b91c1c;background:#fef2f2}.form-success{color:#047857;background:#ecfdf5}.form-note,.empty-state{color:var(--muted);background:#f8fafc}.submit-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.submit-form section{gap:1rem;display:grid}.submit-form>button,.submit-form>.form-error,.submit-form>.form-success{grid-column:1/-1}.upload-zone{border:1px dashed var(--primary);border-radius:var(--radius-lg);background:#fff7f7;padding:1rem}.upload-zone span{color:var(--muted);font-size:.86rem}.preview-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.preview-card img{aspect-ratio:16/9}.preview-card p{margin:0;padding:.8rem}.tabs{gap:.5rem;margin-bottom:1rem}.admin-list{gap:1rem;display:grid}.admin-card{grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.25rem;display:grid}.admin-card h2{margin:.8rem 0 .4rem}.admin-card p{color:var(--muted)}.admin-actions{align-self:center;gap:.7rem}.danger-button{background:var(--danger)!important}.site-footer{border-top:1px solid var(--border);width:min(1180px,100% - 2rem);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto 2rem;padding-top:1.5rem;display:flex}.site-footer p{margin:0}@media (max-width:920px){.hero,.project-detail,.auth-page,.submit-form{grid-template-columns:1fr}.project-grid,.project-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header,.toolbar,.site-footer{border-radius:var(--radius-lg);flex-direction:column;align-items:stretch}.nav-links{justify-content:flex-start}}@media (max-width:640px){.page-shell{padding:2rem 0}.project-grid,.project-grid.compact{grid-template-columns:1fr}.hero h1{font-size:2.7rem}.leaderboard-row{grid-template-columns:3rem 4.5rem minmax(0,1fr)}.leaderboard-stars{grid-column:3}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
