:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.workshop-container{background-color:#f0f0f0;min-height:100vh;padding:20px}.card-row{background-color:#e0cda7;background-image:radial-gradient(#d4c19c 2px,#0000 2px);background-size:20px 20px;border-radius:8px;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:40px;padding:20px;display:flex}.pin-card-v1{background:#fff;border-radius:6px;flex-direction:column;width:280px;display:flex;overflow:hidden;box-shadow:0 2px 5px #0003}.pin-card-v1 .img-container{height:180px;position:relative}.pin-card-v1 img{object-fit:cover;width:100%;height:100%}.pin-card-v1 .overlay-score{color:#fff;background:#000000b3;border-radius:4px;padding:2px 6px;font-size:.8em;font-weight:700;position:absolute;top:5px;right:5px}.pin-card-v1 .info-stub{background:#fff8dc;border-top:2px dashed tan;padding:10px}.pin-card-v1 .stub-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.pin-card-v1 .title{white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.95em;font-weight:700;overflow:hidden}.pin-card-v1 .date{color:#888;font-size:.7em}.pin-card-v1 .stub-user{color:#5d4037;margin-bottom:8px;font-size:.8em}.pin-card-v1 .stub-actions{flex-direction:column;gap:8px;display:flex}.pin-card-v1 .vote-compact{justify-content:space-between;width:100%;display:flex}.pin-card-v1 .tiny-vote-btn{text-align:center;color:#8b4513;cursor:pointer;background:0 0;border:1px solid #8b4513;border-radius:3px;width:20px;padding:2px 0;font-size:.7em}.pin-card-v1 .tiny-vote-btn:hover,.pin-card-v1 .tiny-vote-btn.selected{color:#fff;background-color:#8b4513}.pin-card-v1 .icon-actions{color:#8b4513;cursor:pointer;justify-content:flex-end;gap:15px;display:flex}.pin-card-v2{background:#fff;flex-direction:column;width:280px;padding:10px 10px 15px;transition:transform .2s;display:flex;transform:rotate(-1deg);box-shadow:3px 3px 8px #0003}.pin-card-v2:hover{z-index:10;transform:scale(1.02)rotate(0)}.pin-card-v2 .polaroid-frame{background:#eee;border:1px solid #eee;width:100%;margin-bottom:10px;position:relative;overflow:hidden}.pin-card-v2 img{width:100%;height:auto;display:block}.pin-card-v2 .overlay-score{color:#fff;background:#000000b3;border-radius:4px;padding:2px 6px;font-size:.8em;font-weight:700;position:absolute;top:5px;right:5px}.pin-card-v2 .polaroid-caption{color:#333;flex-direction:column;gap:5px;font-family:Courier New,Courier,monospace;display:flex}.pin-card-v2 .caption-row-1{justify-content:space-between;align-items:baseline;display:flex}.pin-card-v2 .title{white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.95em;font-weight:700;overflow:hidden}.pin-card-v2 .date{color:#888;font-size:.7em}.pin-card-v2 .caption-user{color:#5d4037;align-items:center;gap:5px;font-size:.8em;display:flex}.pin-card-v2 .caption-actions{flex-direction:column;gap:8px;margin-top:5px;display:flex}.pin-card-v2 .vote-compact{justify-content:space-between;width:100%;display:flex}.pin-card-v2 .tiny-vote-btn{text-align:center;color:#8b4513;cursor:pointer;background:0 0;border:1px solid #8b4513;border-radius:3px;width:20px;padding:2px 0;font-size:.7em}.pin-card-v2 .tiny-vote-btn:hover,.pin-card-v2 .tiny-vote-btn.selected{color:#fff;background-color:#8b4513}.pin-card-v2 .icon-actions{color:#8b4513;cursor:pointer;justify-content:flex-end;align-items:center;gap:15px;display:flex}.pin-card-v2 .comment-btn{align-items:center;gap:4px;display:flex}.pin-card-v2 .count{font-size:.8em;font-weight:700}.pin-card-v3{background:#fff;border:1px solid #e0e0e0;border-radius:8px;width:240px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.pin-card-v3 .v3-header{background:#fafafa;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.pin-card-v3 .v3-user{color:#333;font-size:.9em;font-weight:700}.pin-card-v3 .v3-date{color:#999;font-size:.7em}.pin-card-v3 img{object-fit:cover;width:100%;height:200px;display:block}.pin-card-v3 .v3-actions{justify-content:space-between;padding:8px 10px;display:flex}.pin-card-v3 .action-btn{cursor:pointer;color:#333;background:0 0;border:none;align-items:center;gap:4px;margin-right:10px;padding:0;font-size:1.1em;display:flex}.pin-card-v3 .action-btn:hover{color:#8b4513}.pin-card-v3 .v3-details{padding:0 10px 10px;font-size:.9em}.community-card{color:#4a3b2a;background:#fff;border:1px solid #dcdcdc;flex-direction:column;width:280px;padding:10px 10px 15px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:3px 3px 8px #0003}.community-card:hover{z-index:10;box-shadow:5px 5px 15px #0000004d;transform:scale(1.02)!important}.community-card h3{color:#8b4513;border-bottom:2px solid #eee;margin:0 0 10px;padding-bottom:5px;font-size:1.2em}.community-card .description{color:#555;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-grow:1;min-height:2.8em;margin:0 0 10px;font-size:.9em;line-height:1.4;display:-webkit-box;overflow:hidden}.community-card .grid-container{aspect-ratio:1;background-color:#f0f0f0;border:1px solid #eee;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:10px;display:grid}.community-card .grid-item{background-color:#fff;width:100%;height:100%;position:relative;overflow:hidden}.community-card .grid-item img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.community-card .grid-item:hover img{transform:scale(1.1)}.community-card .empty-slot{opacity:.5;background-color:#e8e8e8;justify-content:center;align-items:center;display:flex}.community-card .footer{border-top:1px solid #f5f5f5;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;font-size:.8em;display:flex}.community-card .member-count{color:#8b4513;font-weight:700}.community-card .privacy-badge{color:#888;margin-left:10px;margin-right:auto}.community-card button{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-weight:700;transition:opacity .2s}.community-card button:hover{opacity:.9}.community-card .btn-join{color:#fff;background-color:#007bff}.community-card .btn-leave{color:#fff;background-color:#8b4513}.upload-status{width:min(100%,260px);margin:0 auto}.upload-status-label{margin:0 0 6px;font-size:.9rem}.upload-progress-track{background:wheat;border:1px solid tan;border-radius:5px;height:10px;overflow:hidden}.upload-progress-bar{background:#8b5e34;height:100%;transition:width .15s linear}.upload-progress-bar.indeterminate{width:40%;animation:1.2s ease-in-out infinite upload-progress-slide}@keyframes upload-progress-slide{0%{margin-left:-40%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.upload-progress-bar{transition:none}.upload-progress-bar.indeterminate{opacity:.6;width:100%;margin-left:0;animation:none}}.upload-form button:disabled{cursor:wait;opacity:.7}.layout-container{flex-direction:column;height:100vh;display:flex}.top-bar{color:#f5f5f5;z-index:1000;box-sizing:border-box;background-color:#5d4037;border-bottom:4px solid #3e2723;justify-content:space-between;align-items:center;width:100%;height:90px;padding:0 1rem;display:flex;position:fixed;top:0;left:0;box-shadow:0 2px 5px #0000004d}.top-bar-left{align-items:center;display:flex}.site-logo{width:auto;height:60px;margin-left:10px}.top-bar a{color:#f5f5f5;text-shadow:1px 1px 2px #00000080;text-decoration:none}.site-title-link{align-items:center;margin-left:10px;display:flex}.site-title-img{width:auto;height:60px}.auth-links a{margin-left:15px}.main-content-wrapper{flex:1;width:100%;height:calc(100vh - 90px);margin-top:90px;display:flex}.side-nav{text-align:left;background-color:#fff8dc;border-right:1px solid tan;flex-shrink:0;width:250px;padding:20px;transition:transform .3s ease-in-out;box-shadow:2px 0 5px #0000001a}.side-nav ul{padding:0;list-style:none}.side-nav li{border-bottom:1px dashed tan;margin-bottom:15px;padding-bottom:5px}.side-nav a,.logout-btn{color:#5d4037;cursor:pointer;background:0 0;border:none;padding:0;font-family:Courier New,Courier,monospace;font-size:1.1rem;font-weight:700;text-decoration:none}.side-nav a:hover,.logout-btn:hover{color:sienna}.page-content{flex:1;width:100%;padding:20px;overflow-y:auto}.menu-btn{color:#fff;cursor:pointer;box-shadow:none;background:0 0;border:none;padding:5px;font-size:1.5rem;display:none}.profile-btn{color:#fff;cursor:pointer;box-shadow:none;background:0 0;border:none;align-items:center;padding:0;display:flex}@media (max-width:768px){.top-bar{height:60px;padding:0 .5rem}.site-logo{height:40px;margin-left:5px}.site-title-img{height:30px}.main-content-wrapper{height:calc(100vh - 60px);margin-top:60px}.side-nav{z-index:999;width:250px;height:calc(100vh - 60px);position:fixed;top:60px;left:0;transform:translate(-100%);box-shadow:2px 0 5px #0000001a}.side-nav.open{transform:translate(0)}.menu-btn{display:block}}.profile-dropdown-container{display:inline-block;position:relative}.profile-btn{color:#f5f5f5;cursor:pointer;background:0 0;border:none;align-items:center;padding:5px;display:flex}.dropdown-menu{z-index:1;background-color:#fff;border-radius:4px;min-width:160px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 16px #0003}.dropdown-item{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-size:16px;text-decoration:none;display:block;color:#000!important}.dropdown-item:hover{background-color:#f1f1f1}.lab-container{max-width:1400px;margin:0 auto;padding:10px 20px 40px}.lab-header{text-align:center;margin-bottom:20px}.lab-header h1{color:#4a3b2a;margin:10px 0 5px}.lab-flask{color:#8b4513;font-size:.8em}.lab-subtitle{color:#5d4037;max-width:720px;margin:0 auto 15px;font-size:.95em;line-height:1.5}.lab-summary{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lab-stat{color:#5d4037;background:#fff8dc;border:1px solid tan;border-radius:20px;padding:4px 12px;font-size:.85em;box-shadow:1px 1px 3px #0000001a}.lab-tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:15px;display:flex}.lab-tab{color:#000;cursor:pointer;background-color:#f0f0f0;border:none;border-radius:20px;padding:6px 14px;font-size:.9em;font-weight:400;box-shadow:1px 1px 3px #00000026}.lab-tab:hover{background-color:#e0e0e0}.lab-tab.active{color:#fff;background-color:#8b4513;font-weight:700}.lab-tab.active:hover{background-color:sienna}.lab-method-card{color:#333;background:#fff;border:1px solid #dcdcdc;max-width:680px;margin:0 auto 25px;padding:12px 18px;font-family:Courier New,Courier,monospace;transform:rotate(-.5deg);box-shadow:3px 3px 8px #0003}.lab-method-card p{margin:0 0 10px;font-size:.9em;line-height:1.5}.lab-topn{color:#666;align-items:center;gap:6px;font-size:.8em;display:flex}.lab-topn-btn{color:#8b4513;cursor:pointer;box-shadow:none;background:0 0;border:1px solid #8b4513;border-radius:3px;padding:2px 10px;font-size:.9em;font-weight:400}.lab-topn-btn:hover,.lab-topn-btn.active{color:#fff;background-color:#8b4513}.lab-grid{flex-wrap:wrap;justify-content:center;gap:30px;padding:10px;display:flex}.lab-rank-badge{color:#fff;z-index:5;background:#8b4513;border-radius:4px;padding:2px 8px;font-size:.85em;font-weight:700;position:absolute;top:5px;left:5px;box-shadow:1px 1px 3px #0000004d}.lab-movement{white-space:nowrap;color:#fff;opacity:.95;z-index:5;border:1px solid #fff;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:.72em;font-weight:700;display:flex;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.lab-movement.up{background:#18783c}.lab-movement.down{background:#a12b2b}.lab-movement.same,.lab-movement.baseline{background:#555}.lab-sold-tag{color:#a12b2b;vertical-align:middle;border:1px solid #a12b2b;border-radius:3px;margin-left:6px;padding:0 4px;font-size:.7em}.lab-user-link{color:#5d4037;text-decoration:none}.lab-user-link:hover{text-decoration:underline}.lab-community{color:#666;align-items:center;gap:4px;margin-left:auto;font-size:.9em;display:flex}.lab-card-stats{color:#888;border-top:1px dashed #ddd;margin-top:2px;padding-top:5px;font-size:.75em}.lab-super{color:#b8860b}.lab-footnote{text-align:center;color:#7a6a55;max-width:720px;margin:30px auto 0;font-size:.8em;font-style:italic;line-height:1.5}.lab-note-card{text-align:center;color:#333;background:#fff;border:1px solid #dcdcdc;max-width:400px;margin:60px auto;padding:25px;font-family:Courier New,Courier,monospace;transform:rotate(-1deg);box-shadow:3px 3px 8px #0003}.lab-note-card h2{color:#8b4513;margin-top:0}.lab-note-card a{color:#8b4513;font-weight:700}.lab-error{border-left:4px solid #a12b2b}.change-password-page{justify-content:center;padding:30px 15px;display:flex}.change-password-card{box-sizing:border-box;background:#fff8dc;border:1px solid tan;border-radius:6px;width:min(100%,440px);padding:28px;box-shadow:3px 3px 10px #0000002e}.change-password-card h2{margin:0 0 8px}.change-password-intro{margin:0 0 24px;line-height:1.5}.change-password-form{flex-direction:column;display:flex}.change-password-form label{margin:14px 0 6px;font-weight:600}.change-password-form input{box-sizing:border-box;width:100%}.change-password-form input[aria-invalid=true]{border-color:#a12622}.change-password-form button{align-self:flex-start;margin-top:24px}.change-password-form button:disabled{cursor:wait;opacity:.7}.form-message{border-radius:4px;padding:10px 12px}.success-message{color:#245b2a;background:#e6f4e8;border:1px solid #92bd97}.error-message,.field-error{color:#8b1e1a}.error-message{background:#fbe9e8;border:1px solid #d6a09d}.field-error{margin:5px 0 0;font-size:.9rem}@media (max-width:480px){.change-password-page{padding:15px 0}.change-password-card{padding:22px 18px}.change-password-form button{width:100%}}#root{width:100%;height:100%}body{color:#4a3b2a;background-color:#e0cda7;background-image:radial-gradient(#d4c19c 2px,#0000 2px);background-size:20px 20px;width:100%;height:100%;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.pin-card{background:#fff;border:1px solid #dcdcdc;flex-direction:column;width:280px;padding:10px 10px 15px;transition:transform .2s,opacity .2s;display:flex;transform:rotate(-1deg);box-shadow:3px 3px 8px #0003}.pin-card.sold{opacity:.7}.pin-card.sold:hover{opacity:1}.pin-card:nth-child(2n){transform:rotate(1deg)}.pin-card:hover{z-index:10;transform:scale(1.02)rotate(0);box-shadow:5px 5px 15px #0000004d}.pin-card .polaroid-frame{background:#fff;width:100%;margin-bottom:10px;position:relative;overflow:hidden}.pin-card img{width:auto;max-width:100%;max-height:260px;margin:0 auto;transition:filter .2s;display:block}.pin-card img.grayscale{filter:grayscale()}.pin-card:hover img.grayscale{filter:grayscale(0%)}.pin-card .overlay-score{color:#fff;background:#000000b3;border-radius:4px;padding:2px 6px;font-size:.8em;font-weight:700;position:absolute;top:5px;right:5px}.pin-card .polaroid-caption{color:#333;flex-direction:column;flex-grow:1;gap:5px;font-family:Courier New,Courier,monospace;display:flex}.pin-card .caption-row-1{justify-content:space-between;align-items:baseline;display:flex}.pin-card .title{word-wrap:break-word;font-size:.95em;font-weight:700}.pin-card .date{color:#888;font-size:.7em}.pin-card .caption-user{color:#5d4037;align-items:center;gap:5px;font-size:.8em;display:flex}.pin-card .caption-actions{flex-direction:column;gap:8px;margin-top:auto;display:flex}.pin-card .vote-compact,.gallery-vote{justify-content:space-between;width:100%;display:flex}.pin-card .tiny-vote-btn,.gallery-vote .tiny-vote-btn{text-align:center;color:#8b4513;cursor:pointer;background:0 0;border:1px solid #8b4513;border-radius:3px;width:20px;padding:2px 0;font-size:.7em}.pin-card .tiny-vote-btn:hover,.pin-card .tiny-vote-btn.selected,.gallery-vote .tiny-vote-btn:hover,.gallery-vote .tiny-vote-btn.selected{color:#fff;background-color:#8b4513}.pin-card .icon-actions{color:#8b4513;cursor:pointer;justify-content:flex-end;align-items:center;gap:15px;display:flex}.pin-card .comment-btn{color:inherit;font:inherit;cursor:pointer;box-shadow:none;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:flex}.pin-card .report-btn{color:inherit;font:inherit;cursor:pointer;box-shadow:none;background:0 0;border:none;align-items:center;padding:0;display:flex}.pin-card .count{font-size:.8em;font-weight:700}button{color:#fff;cursor:pointer;background-color:#8b4513;border:none;border-radius:4px;padding:10px 20px;font-weight:700;box-shadow:2px 2px 5px #0003}button:hover{background-color:sienna}input[type=text],input[type=password]{color:#4a3b2a;background-color:#fff8dc;border:2px solid #8b4513;border-radius:4px;padding:10px}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.read-the-docs{color:#888}.vote-container{justify-content:center;align-items:center;gap:5px;margin-top:5px;display:flex}.vote-mobile{display:none}.vote-desktop{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.vote-btn{cursor:pointer;color:#8b4513;background:0 0;border:1px solid #8b4513;border-radius:3px;padding:2px 5px;font-size:.8em;transition:all .2s}.vote-btn:hover,.vote-btn.selected{color:#fff;background-color:#8b4513}@media (max-width:768px){.vote-mobile{display:block}.vote-desktop{display:none}}.achievement-card{background:#fff;border:1px solid #dcdcdc;flex-direction:column;width:280px;padding:10px 10px 15px;transition:transform .2s;display:flex;transform:rotate(-1deg);box-shadow:3px 3px 8px #0003}.achievement-card:nth-child(2n){transform:rotate(1deg)}.achievement-card:hover{z-index:10;transform:scale(1.02)rotate(0);box-shadow:5px 5px 15px #0000004d}.achievement-icon-frame{background:#f8f8f8;border:1px solid #eee;justify-content:center;align-items:center;width:100%;height:260px;margin-bottom:10px;display:flex;position:relative}.achievement-ring{color:#ccc;background-color:#fff;border:8px solid #ccc;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;transition:all .3s;display:flex}.achievement-ring.unlocked{color:gold;border-color:gold;box-shadow:0 0 15px #ffd70080}.achievement-ring i{font-size:4rem}.achievement-caption{color:#333;text-align:center;font-family:Courier New,Courier,monospace}.achievement-caption .title{margin-bottom:5px;font-size:1.1em;font-weight:700;display:block}.achievement-caption .description{color:#555;min-height:2.4em;margin-bottom:8px;font-size:.8em}.achievement-caption .status{color:#888;font-size:.7em;font-weight:700}.achievement-caption .status.unlocked{color:#2e7d32}.pin-container{flex-wrap:wrap;justify-content:center;gap:30px;padding:20px;display:flex}
