.pu{width:100%;max-width:44rem;margin-inline:auto;text-align:left;display:flex;flex-direction:column;gap:clamp(1.8rem,5vh,3rem)}.pu-form{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.4rem,4vw,2rem);background:color-mix(in srgb,var(--paper) 55%,#ffffff 45%);border:1px solid color-mix(in srgb,color-mix(in srgb,var(--pine) 55%,var(--gold) 45%) 26%,transparent);border-radius:1.1rem;box-shadow:0 1px 2px color-mix(in srgb,var(--pine) 6%,transparent)}.pu-field{display:flex;flex-direction:column;gap:.4rem}.pu-field label,.pu-consent legend{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--gold)}.pu-field input[type=text],.pu-field select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid color-mix(in srgb,var(--pine) 22%,transparent);border-radius:.7rem;padding:.7rem .85rem;width:100%;transition:border-color .2s}.pu-field input[type=text]:focus,.pu-field select:focus{outline:none;border-color:var(--pine)}.pu-field input[type=file]{font:inherit;font-size:.9rem;color:var(--ink-soft)}.pu-field input[type=file]::file-selector-button{font:inherit;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);background:color-mix(in srgb,var(--sage) 22%,transparent);border:1px solid color-mix(in srgb,var(--pine) 24%,transparent);border-radius:999px;padding:.55rem 1.1rem;margin-right:.85rem;cursor:pointer;transition:background-color .2s}.pu-field input[type=file]::file-selector-button:hover{background:color-mix(in srgb,var(--sage) 34%,transparent)}.pu-hint{font-size:.78rem;line-height:1.5;color:color-mix(in srgb,var(--ink-soft) 80%,transparent)}.pu-queue{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.pu-queue__item{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding:.55rem .8rem;border-radius:.6rem;background:color-mix(in srgb,var(--paper) 70%,#ffffff 30%);border:1px solid color-mix(in srgb,var(--pine) 12%,transparent);font-size:.85rem}.pu-queue__name{color:var(--ink);overflow-wrap:anywhere;min-width:0}.pu-queue__status{font-size:.76rem;letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap}.pu-queue__item--uploading{border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.pu-queue__item--uploading .pu-queue__status{color:var(--gold)}.pu-queue__item--done{border-color:color-mix(in srgb,var(--pine) 30%,transparent)}.pu-queue__item--done .pu-queue__status{color:var(--pine)}.pu-queue__item--error{border-color:color-mix(in srgb,var(--berry) 40%,transparent)}.pu-queue__item--error .pu-queue__status{color:var(--berry)}.pu-consent{margin:0;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:.8rem;background:color-mix(in srgb,var(--gold) 8%,transparent)}.pu-consent legend{padding:0 .4rem}.pu-check{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.9rem;color:var(--ink);line-height:1.5}.pu-check input{margin-top:.15rem;width:1.05rem;height:1.05rem;accent-color:var(--pine);flex:none}.pu-privacy{margin:.7rem 0 0;font-size:.8rem;line-height:1.5;color:color-mix(in srgb,var(--ink-soft) 85%,transparent)}.pu-privacy a{color:var(--pine);text-underline-offset:2px}.pu-msg{margin:0;font-size:.9rem;line-height:1.5}.pu-msg--error{color:var(--berry)}.pu-msg--ok{color:var(--pine)}.pu-submit{align-self:flex-start;font:inherit;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--pine);border:1px solid var(--pine);border-radius:999px;padding:.8rem 1.7rem;cursor:pointer;transition:background-color .2s,transform .2s,opacity .2s}.pu-submit:hover:not(:disabled){background:color-mix(in srgb,var(--pine) 88%,var(--blossom));transform:translateY(-1px)}.pu-submit:disabled{opacity:.5;cursor:not-allowed}.pu-gallery{width:100%}.pu-state{margin:0;text-align:center;color:var(--ink-soft);font-style:italic}.pu-state--error{color:var(--berry)}.pu-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:clamp(.6rem,2vw,1rem)}.pu-tile{display:flex;flex-direction:column;gap:.4rem}.pu-tile__btn{display:block;padding:0;border:1px solid color-mix(in srgb,var(--pine) 14%,transparent);border-radius:.9rem;overflow:hidden;cursor:pointer;background:color-mix(in srgb,var(--paper) 62%,#ffffff 38%);box-shadow:0 1px 2px color-mix(in srgb,var(--pine) 5%,transparent);transition:transform .2s,box-shadow .2s}.pu-tile__btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px color-mix(in srgb,var(--pine) 12%,transparent)}.pu-tile__btn img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover}.pu-tile__cap{display:flex;flex-direction:column;gap:.1rem;padding-inline:.15rem;line-height:1.35}.pu-tile__challenge{font-family:var(--font-display);font-style:italic;font-variation-settings:"SOFT" 70,"opsz" 24,"wght" 400;font-size:.85rem;color:var(--pine)}.pu-tile__name{font-size:.72rem;letter-spacing:.06em;color:color-mix(in srgb,var(--ink-soft) 80%,transparent)}.pu-lightbox{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2.5rem);background:color-mix(in srgb,var(--ink) 82%,transparent);animation:pu-fade .2s ease both}.pu-lightbox__fig{margin:0;max-width:min(52rem,100%);max-height:90vh;display:flex;flex-direction:column;gap:.6rem}.pu-lightbox__fig img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:.8rem;box-shadow:0 12px 40px #0006}.pu-lightbox__fig figcaption{text-align:center;color:var(--paper);font-family:var(--font-display);font-style:italic;font-size:.95rem}.pu-lightbox__close{position:absolute;top:clamp(.6rem,2vw,1.2rem);right:clamp(.6rem,2vw,1.2rem);width:2.6rem;height:2.6rem;display:grid;place-items:center;font-size:1.8rem;line-height:1;color:var(--paper);background:color-mix(in srgb,var(--ink) 40%,transparent);border:1px solid color-mix(in srgb,var(--paper) 40%,transparent);border-radius:999px;cursor:pointer}.pu-lightbox__close:hover{background:color-mix(in srgb,var(--ink) 60%,transparent)}@keyframes pu-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.pu-submit,.pu-tile__btn,.pu-field input,.pu-field select{transition:none}.pu-submit:hover:not(:disabled),.pu-tile__btn:hover{transform:none}.pu-lightbox{animation:none}}
