@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#0d1014;--head:#11151b;--panel:#1b1f26;--elev:#242932;--line:#3b424d;--white:#f3f4f6;--muted:#aeb6c2;--gold:#d2b46d;--hover:#e5ca86}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}img{max-width:100%}a{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.025em}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4.1vw,60px)}h2{font-family:'Playfair Display',Georgia,serif;font-size:30px}h3{font-size:17px}p{line-height:1.65}.muted{color:var(--muted)}.gold-text{color:var(--gold)}.spacer{flex:1}.eyebrow,.panel-label{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--gold)}.demo-tag{background:#353024;color:#d7bc7a;padding:3px 7px;border-radius:4px;font-size:10px;letter-spacing:.05em;margin-left:8px}.topbar{position:sticky;top:0;z-index:40;background:rgba(17,21,27,.97);border-bottom:1px solid #343943;backdrop-filter:blur(15px)}.topbar-inner{max-width:1540px;margin:auto;height:72px;padding:0 25px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;background:none;border:0;color:white;text-align:left;padding:0}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--gold);border-radius:8px;color:var(--gold);font-size:25px}.brand b{font-family:Georgia,serif;font-size:19px;letter-spacing:.08em}.brand small{display:block;font-size:8px;color:#b7bbc4;letter-spacing:.17em;margin-top:3px}.toplinks{display:flex;align-self:stretch;margin:auto;gap:8px}.toplinks button{background:none;border:0;color:#bdc3cd;padding:0 13px;position:relative;font-weight:700}.toplinks button.active,.toplinks button:hover{color:var(--gold)}.toplinks button.active:after{content:'';height:2px;position:absolute;bottom:0;left:13px;right:13px;background:var(--gold)}.header-actions{display:flex;align-items:center;gap:9px}.icon-btn{border:0;background:#232831;color:#d5d8de;border-radius:8px;width:36px;height:36px;font-size:22px}.user-chip{display:flex;align-items:center;gap:7px;background:#232831;border:1px solid #3c434d;border-radius:8px;color:white;padding:5px 8px}.avatar{display:inline-grid;place-items:center;width:35px;height:35px;flex-shrink:0;background:linear-gradient(135deg,#6d675c,#333d4d);color:#f9e8bf;border:1px solid #74684f;border-radius:50%;font-size:11px;font-weight:800}.avatar.large{width:54px;height:54px;font-size:17px}.avatar.huge{width:95px;height:95px;font-size:30px}.container{max-width:1420px;padding:0 24px;margin:0 auto}.hero{position:relative;overflow:hidden;min-height:370px;border-radius:11px;margin:22px 0 35px;background:#141820;border:1px solid #3d4148}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(1.12)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,16,.96) 0%,rgba(8,11,16,.81) 34%,rgba(8,11,16,.16) 77%),linear-gradient(0deg,#0b0d13b8,transparent 55%)}.hero-copy{position:relative;padding:52px 54px;max-width:680px}.hero-copy h1{font-size:clamp(40px,4.6vw,65px);line-height:1.08;margin:18px 0}.hero-copy h1 em{font-style:normal;color:var(--gold)}.hero-copy p{max-width:480px;color:#d5d9df;font-size:15px}.hero-buttons{display:flex;gap:11px;margin-top:24px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:6px;padding:11px 18px;border:1px solid #5d636d;font-weight:800;font-size:12px;white-space:nowrap}.btn.gold{background:var(--gold);border-color:var(--gold);color:#181b1e}.btn.gold:hover{background:var(--hover)}.btn.outline{background:#151920aa;color:#eee}.btn.outline:hover{border-color:var(--gold)}.btn.full{width:100%}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:22px;align-items:start}.section-top{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:15px}.section-top h2{margin:7px 0 0}.text-link{border:0;background:none;color:var(--gold);font-weight:700;font-size:12px}.feed-tabs,.category-pills{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:19px;overflow-x:auto}.feed-tabs button{background:none;border:0;color:#c2c7d0;padding:12px 18px;white-space:nowrap}.feed-tabs button.active{color:var(--gold);border-bottom:2px solid var(--gold);font-weight:800}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{background:var(--panel);border:1px solid #343a44;border-radius:9px;overflow:hidden;min-width:0;transition:transform .2s,border-color .2s}.project-card:hover{border-color:#77715d;transform:translateY(-2px)}.card-head{display:flex;align-items:center;gap:9px;padding:13px}.card-byline{flex:1;min-width:0}.card-byline b,.card-byline small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-byline b{font-size:12px}.card-byline small{font-size:10px;color:#aeb5bf;margin-top:3px}.card-more{background:none;border:0;color:#b8bec9}.card-image{display:block;position:relative;width:100%;height:260px;padding:0;border:0;overflow:hidden;background:#11151b}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.card-image:hover img{transform:scale(1.06)}.card-image-label{position:absolute;bottom:12px;right:12px;background:#10141be0;color:#e5c982;border:1px solid #b09b67;border-radius:5px;padding:7px 9px;font-size:10px;letter-spacing:.08em;font-weight:800}.card-content{padding:15px}.card-title{background:none;border:0;color:#fff;font-family:Georgia,serif;font-size:19px;text-align:left;padding:0;font-weight:700}.card-title:hover{color:var(--gold)}.card-content p{font-size:12px;color:#bbc1cb;margin:8px 0 14px;min-height:38px}.card-actions{display:flex;align-items:center;gap:16px;border-top:1px solid #3a414c;padding-top:10px}.card-actions button{background:none;border:0;color:#c9ced6;padding:4px 0;font-size:19px}.card-actions button span{font-size:12px}.card-actions button.selected{color:var(--gold)}.home-rail{padding-top:5px}.rail-panel{background:linear-gradient(145deg,#20252d,#191d24);border:1px solid #383e48;border-radius:9px;padding:15px;margin-bottom:15px}.rail-panel h3{margin:12px 0 7px}.rail-panel p{color:#bec4cd;font-size:12px}.challenge-img{width:100%;height:125px;object-fit:cover;border-radius:6px;margin-top:12px}.trend-row{display:flex;align-items:center;gap:9px;background:none;border:0;color:#eee;width:100%;text-align:left;padding:10px 0;border-bottom:1px solid #3a414a}.trend-row img{width:55px;height:48px;object-fit:cover;border-radius:4px}.trend-num{color:var(--gold);font-family:Georgia,serif}.trend-row span:last-child{flex:1;min-width:0}.trend-row b,.trend-row small{display:block}.trend-row b{font-size:11px}.trend-row small{font-size:10px;color:#aeb5bf;margin-top:4px}.member-row{display:flex;align-items:center;gap:8px;padding:10px 0}.member-row span:nth-child(2){flex:1}.member-row b,.member-row small{display:block}.member-row b{font-size:12px}.member-row small{color:#aeb5bf;font-size:10px}.small-follow{border:1px solid #8b7955;background:#3a3328;color:#ebd098;padding:6px 11px;border-radius:5px;font-size:11px;font-weight:800}.demo-note{color:#9098a5;font-size:11px;line-height:1.6}.page{padding-top:38px;padding-bottom:80px}.page-heading{margin-bottom:28px}.page-heading h1{margin:10px 0}.page-heading p{color:var(--muted)}.search-row{display:flex;gap:10px}.search-row input{flex:1}.category-pills{padding:16px 0}.category-pills button{background:#232831;border:1px solid #454b55;color:#ddd;border-radius:30px;padding:8px 15px;white-space:nowrap}.category-pills button.active{background:var(--gold);color:#171a1f}.explore-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.explore-heading h2{font-size:22px;margin:0}.explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.explore-grid .card-image{height:225px}.empty{padding:60px 20px;text-align:center;color:var(--muted);border:1px dashed #434a55;border-radius:9px;margin:18px 0}.empty h1,.empty h3{color:#fff}.project-shell{max-width:1600px;margin:auto;padding:15px 15px 70px;display:grid;grid-template-columns:230px minmax(0,1fr) 315px;gap:14px;align-items:start}.left-rail,.project-rail{position:sticky;top:90px;max-height:calc(100vh - 100px);overflow-y:auto;scrollbar-width:thin}.studio-mini{display:flex;align-items:center;gap:10px}.studio-mini b,.studio-mini small{display:block}.studio-mini small{font-size:11px;color:#aeb5bf}.xp{height:6px;background:#343c47;border-radius:5px;margin:14px 0 8px}.xp span{display:block;width:65%;height:100%;border-radius:5px;background:var(--gold)}.side-links{display:flex;flex-direction:column;gap:3px;margin:10px 0}.side-links button{border:0;background:none;color:#d7dbe1;text-align:left;padding:9px 8px;border-radius:6px}.side-links button:hover{background:#343b45}.side-heading{font-size:12px}.left-rail hr{border:0;border-top:1px solid #414751;margin:15px 0}.mini-challenge img{width:100%;height:100px;object-fit:cover;border-radius:6px;margin:10px 0}.mini-challenge strong{display:block}.project-main{background:var(--panel);border:1px solid #353c47;border-radius:9px;overflow:hidden;min-width:0}.breadcrumb{padding:12px 20px;font-size:11px;color:#bfc5cf}.breadcrumb button{background:none;border:0;color:#bfc5cf}.project-hero{height:315px;background:#11161d}.project-hero img{width:100%;height:100%;object-fit:cover}.project-body{padding:20px 25px}.project-kicker{font-size:10px;letter-spacing:.14em;color:var(--gold);font-weight:800}.project-body h1{font-size:clamp(28px,3vw,42px);margin:9px 0}.project-intro{font-size:15px;color:#d6dbe2}.author-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid #3b424d;border-bottom:1px solid #3b424d;padding:12px 0}.author-strip small{color:var(--muted);font-size:11px}.author-strip>button:not(.small-follow){border:0;background:none;color:#e2e4e8;font-size:14px}.project-tabs{display:flex;overflow-x:auto;gap:8px;border-bottom:1px solid var(--line)}.project-tabs button{background:none;border:0;color:#c7cbd2;white-space:nowrap;padding:15px 12px}.project-tabs button.active{border-bottom:2px solid var(--gold);color:var(--gold);font-weight:800}.journal-heading{padding:22px 0 6px}.journal-heading h2{margin:7px 0}.journal-heading p{color:#b9c0ca;font-size:13px}.stage{border-top:1px solid #3b424c;padding:22px 0}.stage-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.stage-head span{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--gold);color:#15191d;font-weight:800}.stage-head h3{margin:0;font-family:Georgia,serif;font-size:20px}.stage-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;padding-left:45px}.stage-body>button{position:relative;border:0;background:#11151b;padding:0;overflow:hidden;border-radius:6px;height:205px}.stage-body img{width:100%;height:100%;object-fit:cover}.stage-body>button>span{position:absolute;bottom:9px;right:9px;background:#10141cdd;border-radius:4px;color:#eee;padding:5px 8px;font-size:10px}.stage-body p{color:#cbd1d9;font-size:13px;line-height:1.8}.stage-meta{border-top:1px solid #444b56;padding-top:12px;display:flex;justify-content:space-between;gap:6px;font-size:10px;color:var(--gold)}.stage-meta small{color:var(--muted)}.overview{display:grid;grid-template-columns:100px 1fr;gap:12px}.overview img{width:100px;height:155px;object-fit:cover;border-radius:5px}.overview dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:11px}.overview dt{color:#adb5c0}.overview dd{margin:0;text-align:right}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.swatches>div{display:flex;align-items:center;gap:7px;font-size:11px}.swatches i{width:26px;height:26px;flex-shrink:0;border-radius:6px;border:1px solid #777}.comments-heading{display:flex;justify-content:space-between;align-items:center}.comments-heading h3{margin:0}.comments-heading span{color:var(--gold)}.comments-heading select{max-width:100px;font-size:11px;padding:6px}.comment-item{display:flex;gap:8px;border-bottom:1px solid #3d444e;padding:12px 0}.comment-item .avatar{width:30px;height:30px;font-size:10px}.comment-item>div{min-width:0}.comment-name{display:flex;justify-content:space-between;gap:8px}.comment-name b{font-size:11px}.comment-name small{font-size:10px;color:#9fa6b2}.comment-item p{font-size:11px;color:#e2e5e9;margin:5px 0;overflow-wrap:anywhere}.comment-tools{display:flex;gap:9px}.comment-tools button{background:none;border:0;color:#b4bcc7;font-size:10px;padding:0}.comment-gif{max-width:100%;max-height:190px;border-radius:6px}.compose{padding-top:12px}.compose textarea{width:100%;min-height:77px;resize:vertical}.compose-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.compose-actions>button:not(.btn),.upload-icon{background:#303741;border:1px solid #4b535f;color:#e6e9ef;border-radius:5px;padding:7px;cursor:pointer}.compose-actions .btn{padding:8px 12px}.gif-picker{background:#11151c;border:1px solid #555b65;padding:10px;border-radius:7px;margin:10px 0}.gif-search{display:flex;gap:5px}.gif-search input{min-width:0;flex:1}.gif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.gif-grid button{border:0;padding:0;background:none}.gif-grid img{width:100%;height:75px;object-fit:cover}.attached-gif img{max-height:120px;max-width:100%}.attached-gif button{display:block;background:none;border:0;color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.gallery-grid button{border:0;background:none;padding:0}.gallery-grid img{width:100%;height:200px;object-fit:cover;border-radius:6px}.editorial{padding:25px 0}.editorial p{color:#c8ced6}.mobile-comment-slot{display:none}.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.member-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:25px;text-align:center}.member-card h3{margin:15px 0 5px}.member-card p{font-size:12px;color:var(--muted)}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.challenge-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}.challenge-card img{width:100%;height:210px;object-fit:cover}.challenge-card>div{padding:20px}.challenge-card h2{font-size:25px;margin:12px 0}.challenge-card p{color:var(--muted)}.challenge-card small{display:block;color:#aaa;margin:12px 0}.studio-cover{height:190px;background:linear-gradient(90deg,#12161bdc,#12161b60),url('/assets/hero.webp') center/cover;border-radius:10px}.studio-header{display:flex;gap:20px;align-items:center;padding:20px}.studio-header h1{margin:0}.studio-header>div{flex:1}.create-page{max-width:920px}.form-card{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:10px;margin-bottom:20px}.form-card h2{font-size:24px}.form-card label,.auth-modal label,.small-modal label{display:block;color:#e6e9ef;font-weight:700;font-size:12px;margin:15px 0}.form-card label input,.form-card label textarea,.form-card label select,.auth-modal label input,.small-modal label input,.small-modal textarea{margin-top:7px}.stage-field{padding:18px;border:1px solid #4b515c;border-radius:8px;margin-top:14px}.stage-field-head{display:flex;justify-content:space-between}.stage-field-head button{background:none;border:0;color:#e4b3b3}.publish-bar{display:flex;justify-content:space-between;align-items:center;gap:20px}.publish-bar p{color:var(--muted);font-size:12px}input,textarea,select{background:#11151b;color:#fff;border:1px solid #515865;border-radius:6px;padding:11px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--gold)}.form-card input,.form-card textarea,.form-card select,.auth-modal input,.small-modal input,.small-modal textarea{width:100%}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#05070bcf;backdrop-filter:blur(10px);display:grid;place-items:center;padding:15px}.auth-modal,.small-modal{position:relative;width:min(460px,100%);max-height:95vh;overflow-y:auto;background:linear-gradient(145deg,#252b34,#171b21);border:1px solid #515966;border-radius:15px;padding:30px;box-shadow:0 30px 100px #0009}.auth-modal h2{font-size:33px;margin:8px 0}.auth-modal p{color:var(--muted)}.auth-symbol{font-size:38px;color:var(--gold)}.modal-close{position:absolute;top:13px;right:14px;background:#343b45;color:#fff;border:0;border-radius:50%;width:33px;height:33px;font-size:22px}.auth-switch{display:flex;border-bottom:1px solid #515966;margin:20px 0}.auth-switch button{flex:1;border:0;background:none;color:#c6cbd3;padding:12px}.auth-switch button.active{border-bottom:2px solid var(--gold);color:var(--gold)}.setup-warning{background:#383222;border:1px solid #867343;padding:11px;border-radius:7px;color:#ead3a0;font-size:12px;line-height:1.6}.form-error{color:#ff9e9e!important;font-size:12px}.auth-reset{display:block;margin:15px auto}.auth-footnote{font-size:10px;text-align:center}.small-modal .btn{margin:8px 0}.lightbox{position:fixed;inset:0;z-index:110;background:#020306f2;display:grid;place-items:center;padding:35px}.lightbox img{max-height:90vh;max-width:100%;object-fit:contain}.lightbox button{position:absolute;top:20px;right:20px;background:var(--gold);border:0;padding:10px;border-radius:6px}.bottom-nav{display:none}#toast{position:fixed;z-index:150;bottom:20px;right:20px;max-width:420px;background:#302d24;border:1px solid var(--gold);color:#f7ebcf;padding:13px 17px;border-radius:7px;box-shadow:0 12px 40px #0009;opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s}#toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1250px){.topbar-inner{gap:12px}.toplinks{gap:0}.toplinks button{padding:0 8px}.project-shell{grid-template-columns:190px minmax(0,1fr) 280px;gap:9px}.stage-body{grid-template-columns:1fr;padding-left:0}.stage-body>button{height:260px}.explore-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.topbar-inner{padding:0 15px}.brand small{display:none}.home-grid{grid-template-columns:minmax(0,1fr) 245px;gap:14px}.project-shell{grid-template-columns:minmax(0,1fr) 280px}.left-rail{display:none}.member-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.topbar-inner{height:62px}.toplinks,.header-actions .icon-btn,.user-chip span:not(.avatar){display:none}.header-actions{margin-left:auto}.container{padding:0 12px}.hero{margin:12px 0 25px;min-height:380px}.hero-copy{padding:44px 24px}.hero-copy h1{font-size:43px}.hero-shade{background:linear-gradient(90deg,#090c11ed,#090c1199 70%,#090c1150)}.home-grid{display:block}.home-rail{display:none}.cards-grid,.explore-grid{grid-template-columns:1fr}.card-image{height:300px}.section-top h2{font-size:27px}.section-top .text-link{font-size:11px}.feed-tabs button{padding:12px}.project-shell{display:block;padding:8px 8px 85px}.project-rail{display:none}.project-hero{height:270px}.project-body{padding:15px}.project-body h1{font-size:31px}.author-strip small{display:none}.stage-body{display:block}.stage-body>button{height:260px;width:100%}.stage-body>div{margin-top:12px}.mobile-comment-slot{display:block}.member-grid,.challenge-grid{grid-template-columns:1fr 1fr}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:space-around;background:#151a21f5;border-top:1px solid #414751;padding:8px 4px max(8px,env(safe-area-inset-bottom))}.bottom-nav button{background:none;border:0;color:#d9dce1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:22px}.bottom-nav small{font-size:10px}.page{padding-top:25px;padding-bottom:100px}.page-heading h1{font-size:37px}.publish-bar{display:block}.studio-header{flex-wrap:wrap}.studio-header .avatar{width:65px;height:65px}.gallery-grid img{height:140px}}
@media(max-width:480px){.brand b{font-size:15px}.brand-mark{width:33px;height:33px}.hero-copy h1{font-size:37px}.hero-buttons{flex-wrap:wrap}.card-image{height:250px}.member-grid,.challenge-grid{grid-template-columns:1fr}.project-tabs button{padding:12px 8px;font-size:12px}.stage-body>button{height:220px}}

/* Homepage hobby slideshow: photos fade behind the existing text and buttons. */
.hero-slides{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(1.12);opacity:0;transition:opacity 1.3s ease-in-out}
.hero-slide.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
