@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=PT+Mono&display=swap";:root{--color-paper:#f7f3ea;--color-ink:#171512;--color-muted:#9e9a95;--color-line:#d9d0c2;--color-line-strong:#827768;--color-surface:#201d19;--color-surface-raised:#29251f;--color-accent:#97f35a;--color-accent-strong:var(--color-accent);--color-focus:#2477cf;--font-interface:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"DM Sans", sans-serif;--font-mono:"PT Mono", monospace;--space-0:.1rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--page-gutter:clamp(1rem, 3vw, 3rem);--page-max:1180px;--motion-fast:.16s ease}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-interface);background:var(--color-ink);color:var(--color-paper)}body{min-width:320px;margin:0}body,button,input,textarea,select{font:inherit}a{color:inherit}button,input{border-radius:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh}.site-header{border-bottom:1px solid var(--color-line);align-items:center;gap:var(--space-5);padding:var(--space-1) var(--space-2);justify-content:space-between;display:flex}.brand-mark{align-items:center;gap:var(--space-3);min-width:0;text-decoration:none;display:inline-flex}.brand-symbol{aspect-ratio:1;background:var(--color-ink);color:var(--color-paper);font-family:var(--font-display);letter-spacing:0;flex:0 0 48px;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex}.brand-title,.brand-subtitle{display:block}.brand-title{font-family:var(--font-display);font-size:clamp(1rem,.93rem + .32vw,1.2rem);font-weight:760}.brand-subtitle{color:var(--color-muted);font-size:.82rem;font-family:var(--font-mono);text-transform:uppercase;margin-top:.1rem}.site-nav{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;height:100%;display:flex}.site-nav__link{color:var(--color-muted);padding:var(--space-0) 0;font-family:var(--font-mono);text-transform:uppercase;transition:all var(--motion-fast);border-bottom:1px solid #0000;text-decoration:none}.site-nav__link--active,.site-nav__link:hover{color:var(--color-paper);border-bottom:1px solid var(--color-accent)}.page-frame,.standalone-page{max-width:var(--page-max);padding:var(--space-8) var(--page-gutter);margin:0 auto}.standalone-page{align-items:center;min-height:100vh;display:flex}.page-stack{gap:var(--space-7);display:grid}.page-header{align-items:end;gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.page-header h1,.notice-block h1,.login-panel h1{font-family:var(--font-display);letter-spacing:0;max-width:12ch;margin:0;font-size:clamp(2.4rem,1.93rem + 2vw,4rem);font-weight:780;line-height:.96}.page-header p,.notice-block p,.login-panel p{color:var(--color-muted);margin:var(--space-3) 0 0;max-width:68ch;line-height:1.55}.page-header__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.eyebrow{color:var(--color-accent-strong);font-family:var(--font-mono);letter-spacing:.1em;margin:0 0 var(--space-3);text-transform:uppercase;font-size:.78rem;font-weight:600}.content-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.content-grid--dashboard{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.status-panel,.login-panel,.notice-block{border:1px solid var(--color-line);padding:var(--space-5)}.status-panel h2{font-family:var(--font-display);margin:0 0 var(--space-3);font-size:1.15rem}.status-panel p{color:var(--color-muted);margin:0;line-height:1.55}.button,button{border:1px solid var(--color-line);cursor:pointer;min-height:2.75rem;padding:0 var(--space-4);transition:all var(--motion-fast);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.button--primary{background:var(--color-paper);color:var(--color-ink)}.button--secondary,button{color:var(--color-paper);background:0 0}.text-link{color:var(--color-accent-strong);margin-top:var(--space-4);font-weight:600;display:inline-block}.stack{gap:var(--space-3);margin-top:var(--space-5);display:grid}label{font-weight:600;font-family:var(--font-mono)}input,select,textarea{background:var(--color-ink);color:var(--color-paper);border:1px solid var(--color-line-strong);padding:0 var(--space-3)}input,select{min-height:2.75rem}textarea{min-height:6.5rem;padding-block:var(--space-3);resize:vertical}.generator-page{gap:var(--space-6)}.prompt-stage{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-paper);flex-direction:column;min-height:clamp(18rem,45vh,31rem);padding:clamp(1.5rem,5vw,4rem);display:flex}.prompt-stage__label,.generator-field__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600}.prompt-stage__prompt{font-family:var(--font-display);letter-spacing:-.045em;max-width:19ch;padding:var(--space-6) 0;margin:auto 0;font-size:clamp(2rem,4.8vw,4.8rem);font-weight:650;line-height:1.02}.prompt-stage__format{color:var(--color-accent)}.prompt-stage__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.prompt-stage .button--primary{background:var(--color-paper);border-color:var(--color-paper);color:var(--color-ink)}.generator-controls{border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.generator-field{border-bottom:1px solid var(--color-line);gap:var(--space-3);min-width:0;padding:var(--space-5) 0;display:grid}.generator-field:nth-child(odd):not(.generator-field--wide){border-right:1px solid var(--color-line);padding-right:var(--space-5)}.generator-field:nth-child(2n):not(.generator-field--wide){padding-left:var(--space-5)}.generator-field--wide{grid-column:1/-1}.generator-publish-row{align-items:end;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(15rem,auto);display:grid}.generator-instruction,.publish-control{gap:var(--space-3);display:grid}.publish-control small{max-width:28ch}.avatar-name{align-items:center;gap:var(--space-2);display:inline-flex}.avatar-bullet{aspect-ratio:1;border:1px solid #ffffff59;border-radius:50%;flex:none;width:.8rem;min-width:.8rem;height:.8rem;min-height:.8rem;display:inline-block}.challenge-card,.archive-card,.empty-state,.profile-summary{background:var(--color-surface);border:1px solid var(--color-line);padding:clamp(1.5rem,4vw,3rem)}.challenge-card h2,.archive-card h2,.empty-state h2{font-family:var(--font-display);margin:var(--space-4) 0;max-width:24ch;font-size:clamp(1.7rem,3vw,3rem);line-height:1.05}.dashboard-page{gap:var(--space-4);display:grid}.dashboard-links{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.dashboard-main{gap:var(--space-4);grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);display:grid}.challenge-card--hero{flex-direction:column;justify-content:center;min-height:clamp(30rem,68vh,52rem);display:flex}.challenge-card--hero h1,.dashboard-empty h1{font-family:var(--font-display);letter-spacing:-.045em;margin:var(--space-6) 0;max-width:18ch;font-size:clamp(2.8rem,6vw,6.8rem);line-height:.98}.dashboard-empty p{color:var(--color-muted);margin:0 0 var(--space-5)}.challenge-meta,.challenge-actions,.dialog-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.challenge-meta{color:var(--color-muted);font-family:var(--font-mono);font-size:.82rem}.challenge-actions{margin-top:var(--space-6)}.entries-panel{background:var(--color-surface);border:1px solid var(--color-line);flex-direction:column;align-self:stretch;min-width:0;padding:clamp(1.25rem,3vw,2rem);display:flex}.entries-panel__header{justify-content:space-between;align-items:start;display:flex}.entries-panel__header h2{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,3vw,2.7rem)}.entries-count{border:1px solid var(--color-line-strong);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.entries-list{gap:var(--space-3);margin:var(--space-6) 0;display:grid}.entry-card{align-items:center;gap:var(--space-3);text-align:left;border:0;grid-template-columns:4.5rem minmax(0,1fr);width:100%;min-height:0;padding:0;display:grid}.entry-card__thumbnail{aspect-ratio:1;background:var(--color-surface-raised);border:1px solid var(--color-line);display:block;position:relative;overflow:hidden}.entry-card__thumbnail img{object-fit:cover;width:100%;height:100%}.entry-card__image-count{background:var(--color-ink);bottom:var(--space-1);font-family:var(--font-mono);padding:var(--space-1) var(--space-2);right:var(--space-1);font-size:.72rem;position:absolute}.entry-card__name{min-width:0}.entries-empty,.entries-entered{color:var(--color-muted);margin:var(--space-6) 0;line-height:1.5}.entries-submit,.entries-entered{margin-top:auto}.entries-submit{justify-content:center}.entry-lightbox{z-index:100;background:#000000eb;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);display:flex;position:fixed;inset:0}.lightbox-open{overflow:hidden}.entry-lightbox__content{gap:var(--space-4);width:100%;max-width:min(90rem,100%);max-height:100%;display:grid}.entry-lightbox__stage{grid-template-columns:3rem minmax(0,1fr) 3rem;place-items:center;min-height:0;display:grid}.entry-lightbox__stage img{object-fit:contain;grid-column:2;max-width:100%;max-height:calc(100vh - 10rem)}.entry-lightbox__previous,.entry-lightbox__next,.entry-lightbox__close{border:0;justify-content:center;padding:0;font-size:1.7rem}.entry-lightbox__previous{grid-column:1}.entry-lightbox__next{grid-column:3}.entry-lightbox__stage img,.entry-lightbox__previous,.entry-lightbox__next{grid-row:1}.entry-lightbox__close{right:var(--space-4);top:var(--space-4);width:2.75rem;position:absolute}.entry-lightbox__details{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.entry-lightbox__details span{color:var(--color-muted);font-family:var(--font-mono)}.entry-lightbox__details p{text-align:center;white-space:pre-wrap;flex-basis:100%;max-width:60ch;margin:0 auto;line-height:1.5}.submission-page{gap:var(--space-4);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.submission-prompt,.submission-form{background:var(--color-surface);border:1px solid var(--color-line);padding:clamp(1.5rem,4vw,3rem)}.submission-prompt h1{font-family:var(--font-display);letter-spacing:-.035em;margin:var(--space-6) 0;font-size:clamp(2rem,4vw,4rem);line-height:1.02}.submission-form,.submission-field{gap:var(--space-4);display:grid}.submission-field+.submission-field{border-top:1px solid var(--color-line);margin-top:var(--space-4);padding-top:var(--space-6)}.submission-field label span,.field-help,.character-count{color:var(--color-muted)}.field-help{margin:var(--space-2) 0 0;max-width:58ch;font-size:.9rem;line-height:1.5}.upload-dropzone{border:1px dashed var(--color-line-strong);cursor:pointer;min-height:6rem;padding:var(--space-5);justify-content:space-between;align-items:center;display:flex}.upload-dropzone:hover{border-color:var(--color-accent)}.upload-dropzone small{color:var(--color-muted)}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-previews{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.upload-preview{min-width:0;margin:0;position:relative}.upload-preview img{aspect-ratio:1;border:1px solid var(--color-line);object-fit:cover;width:100%;display:block}.upload-preview figcaption{color:var(--color-muted);padding-top:var(--space-1);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.upload-preview button{background:var(--color-ink);border:1px solid var(--color-paper);height:1.8rem;min-height:0;right:var(--space-1);top:var(--space-1);border-radius:50%;justify-content:center;align-items:center;width:1.8rem;padding:0;font-size:1.2rem;display:flex;position:absolute}.character-count{font-family:var(--font-mono);justify-self:end;font-size:.75rem}.submission-actions{gap:var(--space-2);margin-top:var(--space-4);justify-content:flex-end;display:flex}.submission-confirmation{background:var(--color-paper);color:var(--color-ink);align-items:center;gap:var(--space-3);z-index:110;flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.submission-confirmation__mark{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:2rem;display:flex}.button--danger{color:#ffb0aa;border-color:#ff8f88}.archive-list{gap:var(--space-4);display:grid}.archive-card time{color:var(--color-muted);font-family:var(--font-mono)}.archive-card{position:relative}.archive-delete{color:var(--color-muted);min-height:2rem;right:var(--space-4);top:var(--space-4);border:0;justify-content:center;align-items:center;width:2rem;padding:0;display:inline-flex;position:absolute}.archive-delete:hover{color:#ffb0aa}.archive-delete svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:.95rem;height:.95rem}.archive-participants{border-top:1px solid var(--color-line);gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.archive-participants__label{color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;grid-column:1/-1;font-size:.75rem}.archive-participants p{color:var(--color-muted);margin:0}.archive-entry{border-color:var(--color-line);align-items:center;gap:var(--space-3);min-height:0;padding:var(--space-2);text-align:left;grid-template-columns:3.5rem minmax(0,1fr);width:100%;display:grid}.archive-entry:not(.archive-entry--empty):hover{background:var(--color-surface-raised);border-color:var(--color-line-strong)}.archive-entry--empty{color:var(--color-muted)}.archive-entry__thumbnail{aspect-ratio:1;background:var(--color-surface-raised);border:1px solid var(--color-line);display:block;position:relative;overflow:hidden}.archive-entry__thumbnail img{object-fit:cover;width:100%;height:100%}.archive-entry__count,.profile-entry-card__count{background:var(--color-ink);bottom:var(--space-1);font-family:var(--font-mono);right:var(--space-1);padding:.2rem .3rem;font-size:.65rem;line-height:1;position:absolute}.confirm-dialog{background:var(--color-surface-raised);border:1px solid var(--color-line-strong);color:var(--color-paper);max-width:32rem;padding:var(--space-6);width:calc(100% - 2rem)}.confirm-dialog::backdrop{background:#000000b8}.confirm-dialog h2{font-family:var(--font-display);margin-top:0}.confirm-dialog p{color:var(--color-muted);line-height:1.5}.dialog-actions{margin-top:var(--space-5);justify-content:flex-end}.auth-tabs{gap:var(--space-2);margin-top:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.auth-tab{justify-content:center}.auth-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-ink)}.form-message{border-left:3px solid var(--color-accent);padding:var(--space-2) var(--space-3);color:var(--color-paper)!important}.form-message--error{border-left-color:#ff8f88}.profile-summary .avatar-name{font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem)}.profile-summary .avatar-bullet{flex-basis:1.15rem;width:1.15rem;min-width:1.15rem;height:1.15rem;min-height:1.15rem}.profile-summary p{color:var(--color-muted);font-family:var(--font-mono)}.profile-overview{gap:var(--space-4);grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);display:grid}.profile-summary{align-content:center;min-height:18rem}.profile-entries{background:var(--color-surface);border:1px solid var(--color-line);min-width:0;padding:clamp(1.25rem,3vw,2rem)}.profile-entries__header{align-items:start;gap:var(--space-4);justify-content:space-between;display:flex}.profile-entries__header h2{font-family:var(--font-display);margin:0;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1}.profile-entries__count{border:1px solid var(--color-line-strong);font-family:var(--font-mono);border-radius:50%;flex:0 0 2.5rem;justify-content:center;align-items:center;height:2.5rem;display:inline-flex}.profile-entry-list{gap:var(--space-2);margin-top:var(--space-5);display:grid}.profile-entry-card{border-color:var(--color-line);align-items:center;gap:var(--space-3);min-height:0;padding:var(--space-2);text-align:left;grid-template-columns:4rem minmax(0,1fr) auto;width:100%;display:grid}.profile-entry-card:hover{background:var(--color-surface-raised);border-color:var(--color-line-strong)}.profile-entry-card__thumbnail{aspect-ratio:1;background:var(--color-surface-raised);border:1px solid var(--color-line);display:block;position:relative;overflow:hidden}.profile-entry-card__thumbnail img{object-fit:cover;width:100%;height:100%}.profile-entry-card__details{gap:var(--space-1);min-width:0;display:grid}.profile-entry-card__details strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.profile-entry-card__details>span,.profile-entries__empty{color:var(--color-muted);font-family:var(--font-mono);font-size:.75rem}.profile-entry-card__arrow{color:var(--color-muted);padding-inline:var(--space-2)}.profile-entries__empty{margin:var(--space-5) 0 0;line-height:1.5}.profile-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-settings-dialog{background:var(--color-surface);border:1px solid var(--color-line-strong);color:var(--color-paper);width:calc(100% - 2rem);max-width:52rem;max-height:calc(100vh - 2rem);padding:0;overflow:auto}.profile-settings-dialog::backdrop{background:#000000c7}body:has(.profile-settings-dialog[open]){overflow:hidden}.profile-settings-dialog__header{background:var(--color-surface);border-bottom:1px solid var(--color-line);padding:var(--space-5);z-index:1;justify-content:space-between;align-items:start;display:flex;position:sticky;top:0}.profile-settings-dialog__header h2{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1}.profile-settings-dialog__close{border:0;width:2.5rem;min-height:2.5rem;padding:0;font-size:1.65rem}.profile-settings-form{display:grid}.profile-settings-section{gap:var(--space-5);padding:var(--space-5);grid-template-columns:minmax(10rem,.7fr) minmax(0,1.3fr);display:grid}.profile-settings-section+.profile-settings-section{border-top:1px solid var(--color-line)}.profile-settings-section__heading h3{font-family:var(--font-display);margin:0;font-size:1.1rem}.profile-settings-section__heading p{color:var(--color-muted);margin:var(--space-2) 0 0;font-size:.85rem;line-height:1.45}.profile-settings-fields{gap:var(--space-3);display:grid}.profile-settings-fields>div{gap:var(--space-2);display:grid}.profile-settings-dialog small{color:var(--color-muted);font-family:var(--font-mono)}.profile-settings-actions{background:var(--color-surface);border-top:1px solid var(--color-line);gap:var(--space-2);padding:var(--space-4) var(--space-5);justify-content:flex-end;display:flex;position:sticky;bottom:0}.color-fieldset{margin:var(--space-3) 0 0;border:0;padding:0}.color-fieldset legend{font-family:var(--font-mono);margin-bottom:var(--space-3);font-weight:600}.color-palette{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.color-choice{border:1px solid var(--color-line);cursor:pointer;font-family:var(--font-interface);align-items:center;gap:var(--space-2);padding:var(--space-2);font-weight:500;display:flex}.color-choice:has(input:checked){border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.color-choice input{opacity:0;pointer-events:none;position:absolute}.color-swatch{aspect-ratio:1;border:1px solid #ffffff59;flex:0 0 1.75rem}.password-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.password-grid>div{gap:var(--space-2);display:grid}.gear-button{gap:var(--space-2)}.generator-field label{justify-content:space-between;display:flex}.generator-field label span,.generator-field small,.generator-field--note p{color:var(--color-muted);font-weight:400}.generator-field small{font-family:var(--font-mono);justify-self:end}.generator-field--note{align-content:start}.generator-field--note p{max-width:42ch;margin:0;line-height:1.5}.generator-loading,.generator-error{border:1px solid var(--color-line);min-height:16rem;padding:var(--space-6)}.generator-error p{color:var(--color-muted);margin:0 0 var(--space-4)}@media (width<=760px){.site-header,.page-header{grid-template-columns:1fr;align-items:start}.site-header{display:grid}.site-nav{justify-content:start}.page-header__actions,.content-grid,.content-grid--dashboard,.dashboard-main,.submission-page,.profile-overview{grid-template-columns:1fr;justify-content:start}.profile-summary{min-height:12rem}.profile-settings-dialog{width:calc(100% - 1rem);max-height:calc(100vh - 1rem)}.profile-settings-section{gap:var(--space-4);grid-template-columns:1fr}.profile-settings-actions{grid-template-columns:1fr 1fr;display:grid}.challenge-card--hero{min-height:clamp(24rem,58vh,38rem)}.entries-panel{min-height:22rem}.page-header__actions{width:100%;display:grid}.button{justify-content:center}.generator-controls,.generator-publish-row,.password-grid{grid-template-columns:1fr}.color-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-field,.generator-field:nth-child(odd):not(.generator-field--wide),.generator-field:nth-child(2n):not(.generator-field--wide){border-right:0;grid-column:1;padding-inline:0}.prompt-stage__actions{display:grid}.upload-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-actions{display:grid}.entry-lightbox__stage{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}}@media (prefers-reduced-motion:no-preference){.site-nav__link,.button,button{transition:border-color var(--motion-fast), color var(--motion-fast), background var(--motion-fast)}.submission-confirmation__mark{animation:.52s cubic-bezier(.2,.9,.25,1.25) both confirmation-pop}.submission-confirmation strong{animation:.42s .18s both confirmation-rise}}@keyframes confirmation-pop{0%{opacity:0;transform:scale(.45)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes confirmation-rise{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}
