:root{--paper:#fffbef;--paper-2:#fff6dc;--ink:#1a1a1a;--muted:#6b6457;--yellow:#fde68a;--red:#f87171;--lav:#ddd6fe;--green:#86efac;--sky:#bfdbfe;--shadow:3px 3px 0 var(--ink);--shadow-lg:5px 5px 0 var(--ink);--hand:"Gochi Hand", "Patrick Hand", cursive;--body:"Patrick Hand", "Kalam", system-ui, sans-serif;--script:"Kalam", "Patrick Hand", cursive;--bar:60px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:17px;overflow:hidden}button,input{font:inherit;color:inherit}kbd{font-family:var(--hand);border:1.5px solid var(--ink);box-shadow:1px 1px 0 var(--ink);background:#fff;border-radius:5px;padding:0 5px;font-size:.9em}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.gap8{gap:8px}.grow{flex:1}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:14px}.hand{font-family:var(--hand)}.hand-sub{font-family:var(--script);color:var(--muted);margin:2px 0 0;font-size:15px;font-style:italic}.btn{font-family:var(--hand);border:2px solid var(--ink);box-shadow:var(--shadow);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:17px;line-height:1;text-decoration:none;transition:transform 60ms,box-shadow 60ms,background .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--paper-2)}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed;box-shadow:1px 1px 0 var(--ink)}.btn.yellow{background:var(--yellow)}.btn.red{background:var(--red);color:#fff}.btn.lav{background:var(--lav)}.btn.green{background:var(--green)}.btn.yellow:hover:not(:disabled){background:#fcd34d}.btn.lav:hover:not(:disabled){background:#c4b5fd}.btn.green:hover:not(:disabled){background:#4ade80}.btn.red:hover:not(:disabled){background:#ef4444}.btn.big{padding:12px 18px;font-size:20px}.btn.sm{box-shadow:2px 2px 0 var(--ink);padding:6px 10px;font-size:15px}.btn.icon-only{padding:9px}.icon{flex:none}.card{background:var(--paper);border:2px solid var(--ink);box-shadow:var(--shadow);border-radius:12px}.card.pad{padding:12px 14px}.card h4{font-family:var(--hand);margin:0 0 10px;font-size:16px;font-weight:400}.field{border:2px solid var(--ink);background:#fff;border-radius:10px;outline:none;width:100%;padding:9px 12px;font-size:17px}.field:focus{box-shadow:0 0 0 3px var(--yellow)}.field.big{font-size:22px;font-family:var(--hand)}.chip{font-family:var(--hand);border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:15px}.chip.yellow{background:var(--yellow)}.swatches{grid-template-columns:repeat(6,1fr);gap:9px;display:grid}.swatches.small{grid-template-columns:repeat(9,1fr);gap:6px}.swatch{aspect-ratio:1;border:2px solid var(--ink);cursor:pointer;border-radius:50%;width:100%;padding:0;transition:transform .1s}.swatch:hover{transform:scale(1.08)}.swatch.on{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--ink)}.app{position:fixed;inset:0}.world{inset:var(--bar) 0 0 0;background:#f4ecdc;position:absolute}.loading{inset:var(--bar) 0 0 0;font-family:var(--hand);background:var(--paper);z-index:5;place-content:center;justify-items:center;gap:12px;font-size:24px;display:grid;position:absolute}.loading img{animation:1.2s ease-in-out infinite wobble}@keyframes wobble{50%{transform:rotate(-8deg)scale(1.06)}}.topbar{height:var(--bar);background:var(--paper);border-bottom:2px solid var(--ink);z-index:20;align-items:center;gap:14px;padding:0 16px;display:flex;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-name{font-family:var(--hand);letter-spacing:.5px;white-space:nowrap;font-size:27px}.ca{border:2px dashed var(--ink);cursor:pointer;font-family:var(--hand);background:#fff;border-radius:10px;align-items:center;gap:8px;min-width:0;margin:0 auto;padding:6px 12px;font-size:16px;display:inline-flex}.ca b{background:var(--ink);color:var(--paper);border-radius:5px;padding:1px 6px;font-weight:400}.ca.soon{cursor:default;color:var(--muted)}.ca-val{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-actions{align-items:center;gap:10px;display:flex}.online{font-family:var(--hand);white-space:nowrap;align-items:center;gap:6px;font-size:16px;display:inline-flex}.online i{border:1.5px solid var(--ink);background:#22c55e;border-radius:50%;width:9px;height:9px}.wallet-menu{position:relative}.dropdown{flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dropdown button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;display:flex}.dropdown button:hover{background:var(--paper-2)}.show-sm{display:none}.onboard{inset:var(--bar) 0 0 0;z-index:10;pointer-events:none;background:linear-gradient(90deg,#0000 40%,#fffbef8c);justify-content:flex-end;align-items:center;padding:24px max(24px,6vw);display:flex;position:absolute}.onboard-card{pointer-events:auto;width:min(440px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;max-height:100%;padding:22px 24px;display:flex;overflow-y:auto}.onboard-card h1{font-family:var(--hand);margin:0;font-size:26px;font-weight:400;line-height:1.1}.big-title{background:var(--yellow);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:8px;padding:0 8px;font-size:46px}.lbl{font-family:var(--hand);margin-bottom:-4px;font-size:17px}.look-row{font-family:var(--hand);grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.hud-left{top:calc(var(--bar) + 14px);z-index:6;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:absolute;left:16px}.room-pill{font-family:var(--hand);padding:7px 12px;font-size:18px}.room-pill .muted{font-size:16px}.goto{align-items:center;gap:6px;width:150px;padding:4px 10px;display:flex}.goto input{width:100%;font-family:var(--hand);background:0 0;border:0;outline:0;padding:3px 0;font-size:17px}.progress{width:min(520px,100% - 32px);font-family:var(--hand);z-index:6;align-items:center;gap:10px;padding:7px 14px;font-size:15px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.track{border:2px solid var(--ink);background:repeating-linear-gradient(90deg, #fff 0 10px, var(--paper-2) 10px 20px);cursor:pointer;border-radius:999px;flex:1;height:10px;position:relative}.track i{background:var(--red);border:2px solid var(--ink);border-radius:50%;width:16px;height:16px;transition:left .25s linear;position:absolute;top:50%;transform:translate(-50%,-50%)}.prompt{z-index:7;animation:1.4s ease-in-out infinite bob;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}@keyframes bob{50%{transform:translate(-50%,-4px)}}.controls-hint{color:var(--muted);z-index:5;pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;font-size:14px;display:flex;position:absolute;bottom:14px;right:16px}.net-warn{top:calc(var(--bar) + 14px);background:var(--yellow);border:2px solid var(--ink);font-family:var(--hand);z-index:8;border-radius:10px;padding:6px 12px;position:absolute;left:50%;transform:translate(-50%)}.art-card{z-index:8;width:min(560px,100% - 32px);box-shadow:var(--shadow-lg);gap:14px;padding:12px;animation:.18s ease-out pop;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%,10px)}}.art-thumb{border:2px solid var(--ink);object-fit:cover;image-rendering:auto;background:#fff;border-radius:8px;flex:none;width:132px;height:132px}.art-thumb.empty{color:#b8ad97;background:#fbf8f1;border-style:dashed;place-items:center;font-size:46px;display:grid}.art-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.art-num{font-family:var(--hand);color:var(--muted);font-size:15px}.art-title{font-family:var(--hand);text-overflow:ellipsis;white-space:nowrap;padding-right:26px;font-size:25px;line-height:1.05;overflow:hidden}.price-row{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:6px;display:flex}.price{font-family:var(--hand);font-size:28px;line-height:1}.price small{color:var(--muted);font-size:16px}.not-sale{font-family:var(--hand);color:var(--muted);font-size:20px}.empty-card .btn{align-self:flex-start;margin-top:6px}.close-x{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid;position:absolute;top:8px;right:8px}.chat{z-index:6;flex-direction:column;gap:6px;width:min(330px,100% - 32px);display:flex;position:absolute;bottom:14px;left:16px}.chat-log{pointer-events:none;flex-direction:column;gap:3px;display:flex}.chat-line{border:1.5px solid var(--ink);overflow-wrap:anywhere;background:#fffbefeb;border-radius:9px;align-self:flex-start;max-width:100%;padding:3px 9px;font-size:15px}.chat-line.sys{background:var(--yellow)}.chat-form{gap:6px;display:flex}.chat-form .field{box-shadow:2px 2px 0 var(--ink);padding:7px 10px;font-size:15px}.chat-form .btn{padding:7px}.toasts{top:calc(var(--bar) + 14px);z-index:60;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;right:16px}.toast{font-family:var(--hand);max-width:360px;padding:9px 14px;font-size:17px;animation:.2s ease-out slide}.toast.err{background:#fee2e2}@keyframes slide{0%{opacity:0;transform:translate(20px)}}.modal-bg{z-index:50;background:#1a1a1a59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:min(380px,100%);box-shadow:var(--shadow-lg);padding:20px;position:relative}.modal h3{font-family:var(--hand);margin:0 0 4px;font-size:26px;font-weight:400}.wallet-btn{justify-content:space-between;width:100%;font-size:19px}.draw-overlay{inset:var(--bar) 0 0 0;z-index:30;opacity:0;pointer-events:none;background:#1a1a1a4d;place-items:center;padding:16px;transition:opacity .15s;display:grid;position:fixed}.draw-overlay.open{opacity:1;pointer-events:auto}.draw-panel{background:var(--paper);border:2px solid var(--ink);width:min(960px,100%);max-height:100%;box-shadow:var(--shadow-lg);border-radius:16px;padding:18px 20px 20px;overflow-y:auto}.draw-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.draw-head h2{font-family:var(--hand);margin:0;font-size:32px;font-weight:400;line-height:1}.draw-body{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:18px;display:grid}.sheet{border:2px solid var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:7px}.sheet-inner{border:1.5px dashed #8a8a8a;border-radius:4px;line-height:0}.sheet canvas{aspect-ratio:1;touch-action:none;cursor:crosshair;width:100%;display:block}.sheet canvas.tool-fill{cursor:cell}.draw-side{flex-direction:column;gap:12px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.grid3 .btn{gap:4px;padding:9px 4px;font-size:15px}.slider{width:100%;accent-color:var(--ink);margin:4px 0}.dot-preview{place-items:center;height:54px;display:grid}.dot-preview span{border:1px solid #ccc;border-radius:50%;display:block}.custom-color{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin-top:10px;font-size:14px;display:flex}.custom-color input{border:2px solid var(--ink);cursor:pointer;background:0 0;border-radius:6px;width:30px;height:26px;padding:0}.exhibit{background:#fff;flex-direction:column;gap:8px;display:flex}.exhibit h4{margin:0}.price-field{position:relative}.price-field span{font-family:var(--hand);color:var(--muted);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.price-field .field{padding-right:90px}.gate{border:1.5px solid var(--ink);border-radius:8px;padding:6px 9px;font-size:14px}.gate.ok{background:#dcfce7}.gate.warn{background:#fef3c7}.gate.info{background:#e0e7ff}.joy{border:2px solid var(--ink);z-index:7;touch-action:none;background:#fffbef99;border-radius:50%;place-items:center;width:120px;height:120px;display:grid;position:absolute;bottom:120px;left:22px}.joy span{background:var(--yellow);border:2px solid var(--ink);width:52px;height:52px;box-shadow:var(--shadow);border-radius:50%}.jump-btn{border:2px solid var(--ink);background:var(--yellow);width:70px;height:70px;box-shadow:var(--shadow);z-index:7;touch-action:none;border-radius:50%;font-size:30px;position:absolute;bottom:130px;right:22px}.draw-fab{z-index:7;border-radius:50%;width:56px;height:56px;position:absolute;bottom:214px;right:22px}.admin{height:100%;padding:24px;overflow-y:auto}.admin h1{font-family:var(--hand);font-weight:400}.admin .field{max-width:320px}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:20px;display:grid}.admin-item{flex-direction:column;gap:4px;padding:10px;display:flex}.admin-item img,.admin-hidden{aspect-ratio:1;border:1.5px solid var(--ink);object-fit:cover;border-radius:6px;width:100%}.admin-hidden{color:var(--muted);font-family:var(--hand);background:#eee;place-items:center;display:grid}.admin-item.hidden{opacity:.6}@media (width<=900px){.draw-body{grid-template-columns:1fr}.controls-hint{display:none}}@media (width<=720px){:root{--bar:54px}.topbar{gap:8px;padding:0 10px}.brand-name{font-size:20px}.brand .chip,.hide-sm,.online{display:none}.show-sm{display:inline}.ca{padding:5px 8px;font-size:14px}.onboard{background:0 0;justify-content:center;align-items:flex-end;padding:12px}.onboard-card{gap:9px;padding:16px}.big-title{font-size:34px}.art-card{bottom:64px}.art-thumb{width:92px;height:92px}.art-title{font-size:20px}.price{font-size:22px}.chat{width:calc(100% - 140px);bottom:64px}.chat-log{display:none}.hud-left{top:calc(var(--bar) + 10px);left:10px}.draw-panel{padding:12px}.draw-overlay{padding:8px}}@media (width<=420px){.brand img{width:30px;height:30px}.ca-val{max-width:70px}}@media (width<=480px){.brand-name{display:none}.ca{margin-left:4px}}.badge-host{position:relative}.badge{background:var(--red);color:#fff;border:2px solid var(--ink);min-width:20px;height:20px;font-size:12px;font-style:normal;font-family:var(--body);border-radius:999px;place-items:center;padding:0 5px;display:grid;position:absolute;top:-8px;right:-8px}.tab .badge{margin-left:6px;display:inline-grid;position:static}.dropdown-note{max-width:200px;padding:6px 10px 4px}.link{color:#3b5bdb;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.link.center{align-self:center}.pill{background:var(--yellow);border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;margin-left:8px;padding:0 8px;font-size:12px}.offer-list{flex-wrap:wrap;gap:4px 10px;display:flex}.status{font-size:14px;font-family:var(--hand)}.status.pending{color:#9a6b00}.status.accepted{color:#15803d}.status.paying{color:#3b5bdb}.status.done{color:#15803d}.status.declined,.status.expired,.status.cancelled,.status.failed{color:var(--muted)}.mono{font-family:ui-monospace,Consolas,monospace;font-size:14px}.tiny{font-size:12px}.field.sm{padding:6px 9px;font-size:15px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.collection{width:min(820px,100%);max-height:calc(100vh - var(--bar) - 32px);box-shadow:var(--shadow-lg);margin-top:var(--bar);flex-direction:column;padding:16px 18px 18px;display:flex;position:relative}.collection h2{font-family:var(--hand);margin:0;font-size:30px;font-weight:400}.tabs{border-bottom:2px solid var(--ink);flex-wrap:wrap;gap:6px;margin:12px 0;padding-bottom:10px;display:flex}.tab{font-family:var(--hand);border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;padding:5px 12px;font-size:16px;display:inline-flex}.tab.on{background:var(--yellow);box-shadow:2px 2px 0 var(--ink)}.col-body{flex-direction:column;gap:10px;min-height:200px;padding:2px 4px 4px 2px;display:flex;overflow-y:auto}.art-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.art-tile{border:2px solid var(--ink);background:#fff;border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:8px;display:flex}.thumb-btn{cursor:pointer;background:0 0;border:0;padding:0;line-height:0}.col-thumb{aspect-ratio:1;object-fit:cover;border:1.5px solid var(--ink);background:#fff;border-radius:6px;width:100%}.offer-row{border:2px solid var(--ink);background:#fff;border-radius:10px;align-items:flex-start;gap:12px;padding:10px;display:flex}.offer-row .thumb-btn{flex:none;width:64px}.offer-row.closed{opacity:.6}.offer-row.hot{background:#ecfdf3}.accept-form{border:1.5px dashed var(--ink);background:var(--paper);border-radius:8px;flex-direction:column;gap:6px;margin-top:8px;padding:10px;display:flex}.empty-note{font-family:var(--hand);color:var(--muted);text-align:center;padding:30px 10px;font-size:18px}.account{flex-direction:column;gap:18px;display:flex}.account h4{font-family:var(--hand);margin:0 0 6px;font-size:18px;font-weight:400}.account p{margin:0 0 8px}.key{border:1.5px solid var(--ink);overflow-wrap:anywhere;background:#fff;border-radius:6px;flex:1;min-width:0;padding:6px 8px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.art-card .price-field .field{padding-right:86px}@media (width<=1100px){.hide-md{display:none}}@media (width<=480px){.hide-xs{display:none}.collection{padding:12px}.offer-row .thumb-btn{width:48px}}.limited-note{border:1.5px solid var(--ink);background:#fef3c7;border-radius:10px;padding:10px 12px}.contest-banner{text-align:left;cursor:pointer;width:290px;font-family:var(--hand);background:linear-gradient(135deg,#fff3c4,#fde68a);gap:1px;padding:9px 13px;animation:3s ease-in-out infinite shine;display:grid}.contest-banner:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}@keyframes shine{50%{box-shadow:3px 3px 0 var(--ink), 0 0 18px #f2c94cd9}}.cb-top{color:#9a3412;font-size:14px}.cb-pot{font-size:30px;line-height:1.05}.cb-pot small{color:var(--muted);font-size:16px}.cb-sub{color:var(--muted);font-size:14px}.cb-cta{color:#15803d;font-size:16px}.vote-row{background:#fff7d6;border:1.5px dashed #c99a1a;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:4px 8px;display:flex}.contest{width:min(760px,100%);max-height:calc(100vh - var(--bar) - 32px);margin-top:var(--bar);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:18px 20px;display:flex;position:relative;overflow-y:auto}.contest-hero{align-items:center;gap:14px;padding-right:30px;display:flex}.trophy{filter:drop-shadow(2px 2px 0 var(--ink));font-size:54px}.contest-kicker{font-family:var(--hand);color:#9a3412;letter-spacing:1px;font-size:16px}.contest h2{font-family:var(--hand);margin:0;font-size:27px;font-weight:400;line-height:1.15}.contest .hl{background:var(--yellow);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px;padding:0 6px}.pot-row{grid-template-columns:1.3fr 1fr;gap:10px;display:grid}.pot{background:#fff;gap:2px;padding:10px 14px;display:grid}.pot:first-child{background:linear-gradient(135deg,#fff3c4,#fde68a)}.pot-label{font-family:var(--hand);color:var(--muted);font-size:15px}.pot-value{font-family:var(--hand);font-size:40px;line-height:1}.pot-value.small-v{font-size:28px}.pot-usd{color:var(--muted);font-size:14px}.contest-rules{border:1.5px solid var(--ink);background:#fff;border-radius:10px;padding:9px 12px;line-height:1.4}.lb-title{font-family:var(--hand);margin:4px 0 0;font-size:21px;font-weight:400}.lb{flex-direction:column;gap:6px;display:flex}.lb-row{border:2px solid var(--ink);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:6px 10px;display:flex}.lb-row.first{background:#fff7d6}.lb-row.mine{box-shadow:0 0 0 3px #86efac}.lb-rank{text-align:center;width:26px;font-family:var(--hand);font-size:20px}.lb-thumb{border:1.5px solid var(--ink);object-fit:cover;background:#fff;border-radius:6px;width:46px;height:46px}.lb-votes{font-family:var(--hand);white-space:nowrap;font-size:20px}.lb-votes small{color:var(--muted);font-size:13px}.history{flex-direction:column;gap:4px;display:flex}.history-row{gap:10px;display:flex}.history-row>span:first-child{width:52px;color:var(--muted);flex:none}.prize-box{border:2px solid var(--ink);background:#fff7d6;border-radius:10px;padding:10px 12px}.prize-row{flex-direction:column;gap:6px;padding:6px 0;display:flex}@media (width<=720px){.contest-banner{width:220px;padding:7px 10px}.cb-pot{font-size:22px}.cb-sub{display:none}.pot-row{grid-template-columns:1fr}.contest h2{font-size:21px}}
