:root{--blue:#1d4ed8;--blue-dark:#1e40af;--blue-soft:#eff4ff;--blue-line:#c7d7fe;--ink:#0f172a;--text:#334155;--muted:#64748b;--line:#e5e9f0;--bg:#fff;--bg-soft:#f7f9fc;--red:#b42318;--red-soft:#fef3f2;--green:#067647;--green-soft:#ecfdf3;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font:15px/1.55 var(--font);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}main{flex:1}img{max-width:100%;display:block}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--ink);letter-spacing:-.02em;margin:0;line-height:1.2}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:720px}.section{padding-top:28px;padding-bottom:40px}.nav{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.nav-inner{align-items:center;gap:20px;height:64px;display:flex}.logo{letter-spacing:-.03em;color:var(--ink);white-space:nowrap;font-size:20px;font-weight:800}.logo:hover{text-decoration:none}.logo span{color:var(--blue)}.logo-sm{font-size:15px}.nav-search{flex:1;max-width:520px;position:relative}.nav-search svg{fill:none;width:17px;height:17px;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.nav-search input[type=search]{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;width:100%;height:42px;padding:0 16px 0 40px;transition:border-color .15s,background .15s,box-shadow .15s}.nav-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft);background:#fff;outline:none}.nav-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.nav-link{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:inline-flex}.nav-link:hover{color:var(--blue);text-decoration:none}.badge-count{background:var(--blue);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-flex}.menu{position:relative}.menu>summary{cursor:pointer;list-style:none;display:flex}.menu>summary::-webkit-details-marker{display:none}.menu-panel{border:1px solid var(--line);border-radius:var(--radius);width:230px;box-shadow:var(--shadow);z-index:40;background:#fff;padding:6px;position:absolute;top:calc(100% + 10px);right:0}.menu-head{border-bottom:1px solid var(--line);flex-direction:column;margin-bottom:6px;padding:10px 12px 12px;display:flex}.menu-head strong{color:var(--ink)}.menu-head span{color:var(--muted);font-size:13px}.menu-panel a,.menu-panel form>button:not(.btn){text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px;display:block}.menu-panel a:hover,.menu-panel form>button:not(.btn):hover{background:var(--bg-soft);text-decoration:none}.compose{gap:10px;width:300px;padding:12px;display:grid}.btn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 18px;font-size:14.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-lg{height:48px;padding:0 24px;font-size:15.5px}.btn-block{width:100%}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);box-shadow:0 4px 14px #1d4ed840}.btn-outline{color:var(--blue);border-color:var(--blue-line);background:#fff}.btn-outline:hover{background:var(--blue-soft);border-color:var(--blue)}.btn-ghost{background:var(--bg-soft);color:var(--text);border-color:var(--line)}.btn-ghost:hover{background:#eef2f7}.btn-danger{color:var(--red);background:#fff;border-color:#fecdca}.btn-danger:hover{background:var(--red-soft)}.flash{border-radius:var(--radius-sm);border:1px solid var(--blue-line);background:var(--blue-soft);color:var(--blue-dark);margin:16px 0 0;padding:12px 16px;font-weight:500}.flash-success{background:var(--green-soft);color:var(--green);border-color:#abefc6}.flash-error{background:var(--red-soft);color:var(--red);border-color:#fecdca}.form+.flash,.flash+.form,.page-sub+.flash{margin-bottom:16px}.hero{background:radial-gradient(900px 380px at 85% -10%, #dbe7ff 0%, #dbe7ff00 70%), linear-gradient(180deg, var(--blue-soft) 0%, #fff 100%);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:radial-gradient(#1d4ed829 1.2px,#0000 1.2px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 85%);mask-image:linear-gradient(#000 0%,#0000 85%)}.hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;max-width:1180px;padding-top:64px;padding-bottom:72px;display:grid;position:relative}.hero-art{min-width:0;height:430px;position:relative}.art-blob{background:linear-gradient(140deg,#dbe7ff 0%,#eff4ff 100%);border-radius:46% 54% 58% 42%/48% 44% 56% 52%;position:absolute;inset:6% 4% 4% 8%}.art-card{--r:0deg;border:1px solid var(--line);width:196px;transform:rotate(var(--r));background:#fff;border-radius:16px;animation:7s ease-in-out infinite art-float;position:absolute;overflow:hidden;box-shadow:0 2px 4px #0f172a0a,0 18px 40px #1d4ed824}.art-card-a{--r:-5deg;top:34px;left:3%}.art-card-b{--r:4deg;animation-duration:8.5s;animation-delay:-3s;top:112px;right:2%}.art-card-c{--r:3deg;width:168px;animation-duration:6.5s;animation-delay:-1.5s;bottom:0;left:24%}.art-img{background:var(--blue-soft);justify-content:center;align-items:center;height:118px;display:flex}.art-card-c .art-img{height:96px}.art-img svg{fill:none;height:74%;stroke:var(--blue);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.art-img .fill{fill:#fff}.art-img .dot{fill:var(--blue)}.art-body{flex-direction:column;padding:11px 14px 13px;line-height:1.35;display:flex}.art-body strong{color:var(--ink);letter-spacing:-.02em;font-size:16px}.art-body span{color:var(--text);font-size:13.5px}.art-body small{color:var(--muted);margin-top:4px;font-size:11.5px}.art-bubble{--r:0deg;white-space:nowrap;border-radius:18px;padding:10px 16px;font-size:14px;font-weight:600;animation:6s ease-in-out infinite art-float;position:absolute;box-shadow:0 10px 24px #1d4ed829}.art-bubble-want{background:var(--blue);color:#fff;border-bottom-right-radius:5px;animation-delay:-2s;top:36px;right:8%}.art-bubble-have{color:var(--ink);border:1px solid var(--line);background:#fff;border-bottom-left-radius:5px;animation-duration:7.5s;animation-delay:-4s;bottom:64px;right:0}.art-need{border:1px solid var(--blue-line);color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:8px 14px 8px 8px;font-size:13px;font-weight:500;animation:8s ease-in-out -5s infinite art-float;position:absolute;bottom:6px;right:5%;box-shadow:0 8px 20px #1d4ed81f}.art-need b{background:var(--blue-soft);color:var(--blue);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin-right:6px;padding:2px 9px;font-size:11px;display:inline-block}.art-doodle{fill:none;stroke:var(--blue);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.55;position:absolute}.art-doodle-a{width:22px;top:4px;left:44%}.art-doodle-b{width:70px;bottom:150px;left:0}.art-doodle-c{fill:#fff;width:26px;top:78px;right:0}.art-mascot{z-index:2;width:270px;position:absolute;bottom:-10px;left:3%}.mascot{width:100%;height:auto;display:block;overflow:visible}.m-shadow{fill:#0f172a1f}.m-body{fill:var(--blue)}.m-leg{fill:var(--blue-dark)}.m-tuft{fill:none;stroke:var(--blue);stroke-width:6px;stroke-linecap:round}.m-eye,.m-glint{fill:#fff}.m-pupil{fill:var(--ink)}.m-cheek{fill:#8fb0ff;opacity:.7}.m-smile{fill:none;stroke:#fff;stroke-width:4.5px;stroke-linecap:round}.m-arm path{fill:none;stroke:var(--blue-dark);stroke-width:14px;stroke-linecap:round}.m-arm circle{fill:#fff;stroke:var(--blue-dark);stroke-width:3.5px}.m-item{fill:#fff;stroke:var(--blue-dark);stroke-width:3.5px;stroke-linejoin:round;stroke-linecap:round}.m-item .m-line{fill:none}.m-item .m-leaf{fill:#bcd0ff}.m-sparks{fill:#fff;stroke:var(--blue);stroke-width:2.5px;stroke-linejoin:round;opacity:0}.m-arm-far{transform-origin:132px 150px;transform:rotate(-78deg)}.m-arm-near{transform-origin:116px 154px;transform:rotate(-80deg)}.m-all{transform-origin:104px 212px}.m-eyes{transform-origin:112px 126px}.m-item{transform-origin:172px 138px;opacity:0}.m-item-1{opacity:1}.m-sparks{transform-origin:212px 126px}.m-leg-l{transform-origin:89px 190px}.m-leg-r{transform-origin:117px 190px}.mascot--give .m-arm-far{animation:4s ease-in-out infinite m-arm-far}.mascot--give .m-arm-near{animation:4s ease-in-out infinite m-arm-near}.mascot--give .m-all{animation:4s ease-in-out infinite m-lean}.mascot--give .m-eyes,.mascot--walk .m-eyes{animation:4s infinite m-blink}.mascot--give .m-sparks{animation:4s ease-in-out infinite m-sparks}.mascot--give .m-item{opacity:0;animation:12s ease-in-out infinite m-item}.mascot--give .m-item-2{animation-delay:4s}.mascot--give .m-item-3{animation-delay:8s}@keyframes m-arm-far{0%,12%{transform:rotate(0)}27%{transform:rotate(-86deg)}33%,58%{transform:rotate(-78deg)}66%{transform:rotate(-94deg)}82%,to{transform:rotate(0)}}@keyframes m-arm-near{0%,12%{transform:rotate(0)}27%{transform:rotate(-88deg)}33%,58%{transform:rotate(-80deg)}66%{transform:rotate(-96deg)}82%,to{transform:rotate(0)}}@keyframes m-lean{0%,12%{transform:rotate(0)translateY(0)}20%{transform:rotate(-2deg)translateY(2px)}30%,58%{transform:rotate(4deg)translateY(0)}66%{transform:rotate(9deg)translateY(-3px)}84%,to{transform:rotate(0)translateY(0)}}@keyframes m-blink{0%,44%,50%,92%,98%,to{transform:scaleY(1)}47%,95%{transform:scaleY(.1)}}@keyframes m-sparks{0%,30%{opacity:0;transform:scale(.6)}38%,54%{opacity:1;transform:scale(1)}64%,to{opacity:0;transform:scale(1.1)}}@keyframes m-item{0%,8%{opacity:0;transform:translateY(10px)scale(.3)}10%{opacity:1;transform:translate(0)scale(1.12)}11.5%,19.3%{opacity:1;transform:translate(0)scale(1)}23%{opacity:0;transform:translate(64px,-18px)scale(.9)rotate(10deg)}to{opacity:0;transform:translate(64px,-18px)scale(.9)}}.empty-mascot{width:132px;margin:-8px auto 2px}.mascot--empty .m-item{opacity:0}.mascot--empty .m-arm-far{animation:5s ease-in-out infinite m-shrug-far}.mascot--empty .m-arm-near{animation:5s ease-in-out infinite m-shrug-near}.mascot--empty .m-look{animation:5s ease-in-out infinite m-look}.mascot--empty .m-eyes{animation:5s infinite m-blink}.mascot--empty .m-all{animation:5s ease-in-out infinite m-sigh}@keyframes m-shrug-far{0%,55%,to{transform:rotate(-66deg)}65%,85%{transform:rotate(-84deg)}}@keyframes m-shrug-near{0%,55%,to{transform:rotate(-68deg)}65%,85%{transform:rotate(-86deg)}}@keyframes m-look{0%,10%,55%,to{transform:translate(0)}20%,30%{transform:translate(-8px)}40%,48%{transform:translate(2px)}}@keyframes m-sigh{0%,55%,to{transform:translateY(0)}65%,85%{transform:translateY(-4px)}}.walk-lane{height:62px;margin-top:-8px;position:relative;overflow:hidden}.walker{width:64px;animation:34s linear infinite m-stroll;position:absolute;bottom:-4px;left:0}.mascot--walk .m-leg-l{animation:.56s ease-in-out infinite alternate m-step}.mascot--walk .m-leg-r{animation:.56s ease-in-out infinite alternate-reverse m-step}.mascot--walk .m-all{animation:.28s ease-in-out infinite alternate m-bob}@keyframes m-step{0%{transform:rotate(-20deg)}to{transform:rotate(20deg)}}@keyframes m-bob{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes m-stroll{0%{transform:translate(-80px)}to{transform:translate(100vw)}}@keyframes art-float{0%,to{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(-9px)}}@media (prefers-reduced-motion:reduce){.art-card,.art-bubble,.art-need,.mascot *,.walker{animation:none!important}.walker{left:24px}}.eyebrow{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:12.5px;font-weight:700}.hero h1{letter-spacing:-.04em;font-size:clamp(38px,6vw,64px);font-weight:800;line-height:1.05}.hero h1 span{color:var(--blue)}.hero-sub{color:var(--muted);max-width:520px;margin-top:18px;font-size:18px}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.steps h3{margin:14px 0 6px;font-size:17px}.steps p{color:var(--muted)}.step-num{background:var(--blue-soft);width:34px;height:34px;color:var(--blue);border:1px solid var(--blue-line);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.resend{margin-top:20px}.chips{scrollbar-width:none;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:999px;flex:none;padding:8px 16px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s,color .15s}.chip:hover{border-color:var(--blue-line);color:var(--blue);text-decoration:none}.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:26px 0 18px;display:flex}.toolbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.section-title{font-size:22px;font-weight:700}.container>.section-title{margin:32px 0 18px}.muted-link{color:var(--muted);font-size:13.5px}.segmented{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.segmented a{color:var(--muted);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:500}.segmented a:hover{color:var(--ink);text-decoration:none}.segmented a.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0f172a1f}.sort select{border-radius:999px;height:38px;padding:0 34px 0 14px}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;display:grid}.card{color:inherit;border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow);border-color:var(--blue-line);text-decoration:none;transform:translateY(-3px)}.card-img{aspect-ratio:4/3;background:var(--bg-soft);position:relative}.card-img img{object-fit:cover;width:100%;height:100%}.card.is-gone .card-img img{filter:grayscale();opacity:.6}.card-body{padding:14px 16px 16px}.card-price{color:var(--ink);letter-spacing:-.02em;font-size:18px;font-weight:700}.card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.card-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:13px;overflow:hidden}.no-photo{color:#94a3b8;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex;position:absolute;inset:0}.tag{letter-spacing:.02em;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute;top:12px;left:12px}.tag-gone{background:var(--ink);color:#fff}.pager{color:var(--muted);justify-content:center;align-items:center;gap:16px;margin-top:32px;display:flex}.empty{text-align:center;border:1px dashed var(--blue-line);border-radius:var(--radius);background:var(--bg-soft);padding:64px 20px}.empty h3{font-size:20px}.empty p{color:var(--muted);max-width:420px;margin:8px auto 0}.empty .btn{margin-top:20px}.empty .eyebrow{letter-spacing:-.03em;margin-bottom:6px;font-size:32px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:22px}.panel-quiet{background:var(--bg-soft)}.panel-title{margin-bottom:10px;font-size:17px}.page-title{font-size:28px;font-weight:800}.page-sub{color:var(--muted);margin:6px 0 22px}.label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700;display:block}.note{color:var(--muted);font-size:13.5px}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.crumb{margin-bottom:8px;font-size:13.5px;font-weight:600;display:inline-block}.form{gap:18px;display:grid}.field{gap:7px;min-width:0;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field label,.want label{color:var(--ink);font-size:14px;font-weight:600}.hint{color:var(--muted);margin-left:6px;font-weight:400}input:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{border-radius:var(--radius-sm);background:#fff;border:1px solid #d5dbe5;width:100%;padding:11px 14px;transition:border-color .15s,box-shadow .15s}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:15px;padding-right:36px}textarea{resize:vertical;min-height:46px}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft);outline:none}::placeholder{color:#94a3b8}.input-prefix{display:flex}.input-prefix span{background:var(--bg-soft);border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--muted);border:1px solid #d5dbe5;border-right:0;align-items:center;padding:0 14px;font-weight:600;display:flex}.input-prefix input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.form-actions{justify-content:flex-end;align-items:center;gap:12px;padding-top:6px;display:flex}.dropzone{border:1.5px dashed var(--blue-line);border-radius:var(--radius);background:var(--blue-soft);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;padding:28px 16px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover{border-color:var(--blue);background:#e6eeff}.dropzone svg{fill:none;width:30px;height:30px;stroke:var(--blue);stroke-width:1.7px;stroke-linejoin:round}.dropzone strong{color:var(--blue)}.dropzone span{color:var(--muted);font-size:13px;font-weight:400}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.photo-row{flex-wrap:wrap;gap:10px;display:flex}.photo-row:empty{display:none}.photo-row img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);width:104px;height:78px}.photo-existing{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:4px;font-size:13px;display:grid;color:var(--muted)!important;font-weight:400!important}.photo-existing img{grid-column:1/-1}.photo-existing:has(input:checked) img{opacity:.35}.list-title{margin:32px 0 14px}.rows{padding:6px 20px}.row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.row:last-child{border-bottom:0}.row-main{min-width:0;color:var(--muted);flex-direction:column;font-size:13.5px;display:flex}.row-main strong{color:var(--ink);overflow-wrap:anywhere;font-size:15px}.auth{justify-content:center;padding-top:56px;display:flex}.auth-card{width:100%;max-width:420px;box-shadow:var(--shadow);padding:32px}.auth-alt{text-align:center;color:var(--muted);margin-top:20px}.avatar{object-fit:cover;background:var(--blue-soft);color:var(--blue);border:1px solid var(--blue-line);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar-sm{width:38px;height:38px;font-size:13.5px}.avatar-md{width:46px;height:46px;font-size:16px}.avatar-xl{width:96px;height:96px;font-size:32px}.person{color:inherit;align-items:center;gap:12px;display:flex}.person:hover{text-decoration:none}.person-info{min-width:0;color:var(--muted);flex-direction:column;flex:1;font-size:13.5px;display:flex}.person-name{color:var(--ink);font-size:15px;font-weight:600}.person+.note{margin-top:14px}.people{padding:6px}.people .person{border-radius:var(--radius-sm);padding:12px 14px}.people .person:hover{background:var(--bg-soft)}.listing{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:28px;display:grid}.listing-main,.listing-side{gap:20px;min-width:0;display:grid}.listing-side{position:sticky;top:88px}.gallery-stage{aspect-ratio:4/3;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.gallery-stage img{object-fit:contain;width:100%;height:100%}.gallery-thumbs{gap:10px;margin-top:10px;padding:2px;display:flex;overflow-x:auto}.gallery-thumbs button{border-radius:var(--radius-sm);cursor:pointer;opacity:.7;background:0 0;border:2px solid #0000;flex:none;width:84px;height:63px;padding:0;overflow:hidden}.gallery-thumbs button.is-active,.gallery-thumbs button:hover{border-color:var(--blue);opacity:1}.gallery-thumbs img{object-fit:cover;width:100%;height:100%}.listing-title{font-size:24px;font-weight:700}.listing-price{color:var(--blue);letter-spacing:-.03em;margin-top:8px;font-size:32px;font-weight:800}.facts{border-top:1px solid var(--line);margin:18px 0;display:grid}.facts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:11px 0;display:flex}.facts dt{color:var(--muted)}.facts dd{color:var(--ink);text-align:right;margin:0;font-weight:500}.owner-actions,.want{gap:10px;display:grid}.want{margin-top:4px}.profile-head{align-items:flex-start;gap:24px;padding:28px;display:flex}.profile-info{flex:1;min-width:0}.profile-handle{color:var(--muted);margin:4px 0 10px}.profile-actions{align-items:center;gap:10px;display:flex}.stats{color:var(--muted);gap:24px;margin-top:16px;display:flex}.stats a{color:inherit}.stats strong{color:var(--ink);margin-right:3px;font-size:17px}.avatar-field{grid-template-columns:auto 1fr;align-items:center;gap:20px}.avatar-field>div{gap:7px;display:grid}.chat{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 190px);min-height:460px;display:grid;overflow:hidden}.chat-list{border-right:1px solid var(--line);overflow-y:auto}.chat-list-title{padding:20px 20px 14px;font-size:20px}.chat-list-empty{padding:0 20px 20px}.chat-item{color:inherit;border-left:3px solid #0000;align-items:center;gap:12px;padding:14px 20px;display:flex}.chat-item:hover{background:var(--bg-soft);text-decoration:none}.chat-item.is-active{background:var(--blue-soft);border-left-color:var(--blue)}.chat-item-text{flex:1;min-width:0}.chat-item-top{justify-content:space-between;gap:8px;display:flex}.chat-item-top strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-item-top span{color:var(--muted);flex:none;font-size:12.5px}.chat-item p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.chat-thread{flex-direction:column;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 20px;display:flex}.chat-back{color:var(--text);padding:4px 8px 4px 0;font-size:20px;display:none}.chat-messages{background:var(--bg-soft);flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.msg{flex-direction:column;max-width:min(72%,520px);display:flex}.msg-mine{align-self:flex-end;align-items:flex-end}.msg-theirs{align-self:flex-start;align-items:flex-start}.msg-bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;padding:10px 14px}.msg-mine .msg-bubble{background:var(--blue);color:#fff;border-bottom-right-radius:6px}.msg-theirs .msg-bubble{border:1px solid var(--line);color:var(--ink);background:#fff;border-bottom-left-radius:6px}.msg time{color:var(--muted);margin-top:3px;padding:0 4px;font-size:11.5px}.msg-about{border:1px solid var(--blue-line);background:#fff;border-radius:999px;margin-bottom:4px;padding:4px 10px;font-size:12.5px;font-weight:600}.chat-form{border-top:1px solid var(--line);align-items:flex-end;gap:10px;padding:14px 20px;display:flex}.chat-form textarea{resize:none;border-radius:22px;max-height:140px;padding:10px 16px}.chat-placeholder{color:var(--muted);background:var(--bg-soft);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:28px;margin-bottom:20px;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 0 12px;font-size:16px;font-weight:600;display:inline-flex}.tabs a:hover{color:var(--ink);text-decoration:none}.tabs a.is-active{color:var(--ink);border-bottom-color:var(--blue)}.tabs a span{color:var(--muted);font-size:13px;font-weight:400}.badge-quiet{background:var(--bg-soft);color:var(--muted);border:1px solid var(--line)}.need-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;display:grid}.need-card{color:inherit;flex-direction:column;gap:12px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.need-card:hover{text-decoration:none}.need-head{color:var(--muted);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.need-who{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.need-who b{color:var(--ink);font-weight:600}.need-who i{font-style:normal}.need-time{flex:none;margin-left:auto}.need-main{flex-direction:column;gap:4px;display:flex}.need-cat{color:var(--blue);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.need-title{color:var(--ink);overflow-wrap:anywhere;font-size:17px;line-height:1.35}.need-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.need-budget{color:var(--ink);font-weight:600}.need-budget small{color:var(--muted);font-size:13px;font-weight:400}.need-cta{color:var(--blue);white-space:nowrap;font-size:14px;font-weight:600}.need-grid{gap:26px 20px}.need-card{gap:8px}.need-head .avatar{width:36px;height:36px;font-size:13px}.need-head{font-size:13.5px}.need-time{display:none}.need-main{border:1px solid var(--line);background:#fff;border-radius:4px 18px 18px;flex:1;margin-left:44px;padding:14px 16px;box-shadow:0 6px 18px #0f172a0d}.need-card:hover .need-main{border-color:var(--blue);box-shadow:var(--shadow)}.need-main .need-cat{color:var(--muted);order:2;margin-top:6px;font-size:11px}.need-title{font-size:17.5px}.need-foot{margin:0 0 0 44px}.need-budget{font-size:14px}.need-cta{background:var(--blue);color:#fff;border-radius:18px 18px 4px;padding:6px 14px}.need-cta:after{content:""}.btn-report svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.btn-report{color:var(--muted)}.btn-report:hover{color:var(--red);background:var(--red-soft);border-color:#fecdca}.panel .btn-report{margin-top:12px}.admin-remove{background:#fffcf5;border-color:#fedf89}.admin-remove>summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-weight:600;list-style:none;display:flex}.admin-remove>summary::-webkit-details-marker{display:none}.admin-remove[open]>summary{margin-bottom:14px}.need-body{margin-top:14px}.avatar-xs{width:24px;height:24px;font-size:10px}.tag-inline{vertical-align:middle;background:var(--blue-soft);color:var(--blue);border:1px solid var(--blue-line);display:inline-block;position:static}.tag-warn{color:#b54708;background:#fffaeb;border-color:#fedf89}.btn-icon{width:40px;padding:0;font-size:18px}.side-link{margin-top:10px;display:inline-block}.listing-side>.side-link{margin:0 4px}.report{gap:10px;margin-bottom:14px;display:grid}.report-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-target{color:var(--ink);font-weight:500}.report-details{background:var(--bg-soft);border-radius:var(--radius-sm);padding:10px 14px}.report-actions{flex-wrap:wrap;gap:10px;display:flex}.waitlist{border-radius:var(--radius-sm);background:var(--blue-soft);border:1px solid var(--blue-line);gap:12px;margin-bottom:20px;padding:16px;display:grid}.chat-closed{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:16px 20px}.chat-head .menu{margin-left:auto}.chat-head .person{flex:1;min-width:0}.stat-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:8px;display:grid}.stat{flex-direction:column;gap:2px;padding:18px;display:flex}.stat .label{margin-bottom:6px}.stat strong{color:var(--ink);letter-spacing:-.03em;font-size:26px;font-weight:800}.stat strong small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:500}.stat-bad{background:var(--red-soft);border-color:#fecdca}.stat-bad strong{color:var(--red)}.tag-ok{background:var(--green-soft);color:var(--green);border-color:#abefc6}.tag-info{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-line)}.tag-bad{background:var(--red-soft);color:var(--red);border-color:#fecdca}.bill{gap:12px;margin-bottom:14px;display:grid}.bill-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bill-period{color:var(--ink);margin-right:8px;font-size:17px}.bill-total{color:var(--ink);letter-spacing:-.03em;font-size:24px;font-weight:800}.ref{color:var(--ink);letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.how-note{margin-top:10px}.fee{color:var(--ink);white-space:nowrap;font-weight:600}.flash a{color:inherit;font-weight:700;text-decoration:underline}.fees{color:inherit;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.fees:hover{border-color:var(--blue-line);text-decoration:none}.fees>div{flex-direction:column;min-width:0;display:flex}.fees .label{margin-bottom:4px}.fees strong{color:var(--ink);font-size:18px}.fees-bad{background:var(--red-soft);border-color:#fecdca}.fees-bad strong{color:var(--red)}.choice{color:var(--ink);cursor:pointer;align-items:center;gap:10px;font-weight:500;display:flex}.choice input{width:17px;height:17px;accent-color:var(--blue);flex:none}.gone>summary{list-style:none}.gone>summary::-webkit-details-marker{display:none}.gone[open]>summary{display:none}.gone-form{border:1px solid var(--blue-line);border-radius:var(--radius-sm);background:var(--blue-soft);gap:12px;padding:14px;display:grid}.gone-price{padding-left:27px}.gone-form:has(input[value=unsold]:checked) .gone-price{display:none}.sale-note{text-align:center}.footer{border-top:1px solid var(--line);color:var(--muted);font-size:13.5px}.footer-inner{justify-content:space-between;align-items:center;gap:16px;height:58px;display:flex}@media (width<=900px){.hero-inner{grid-template-columns:1fr;gap:36px}.hero-art{width:100%;max-width:440px;height:400px;margin:0 auto}.art-mascot{width:200px;left:2%}.listing{grid-template-columns:1fr}.listing-side{position:static}.chat{grid-template-columns:1fr}.chat.has-active .chat-list,.chat:not(.has-active) .chat-thread{display:none}.chat-back{display:block}.chat-list{border-right:0}}@media (width<=680px){.nav-inner{flex-wrap:wrap;gap:12px;height:auto;padding-top:12px;padding-bottom:12px}.nav-search{flex-basis:100%;order:3;max-width:none}.nav-actions{gap:10px}.hero-inner{padding-top:40px;padding-bottom:44px}.hero-art{height:350px}.art-card{width:158px}.art-card-a{top:28px;left:0}.art-card-b{top:70px;right:0}.art-mascot{width:150px;bottom:-4px;left:0}.art-need,.art-bubble-have{display:none}.art-img{height:92px}.art-bubble{padding:8px 13px;font-size:12.5px}.art-bubble-want{top:18px;right:4%}.art-bubble-have{bottom:4px;right:0}.art-need{font-size:12px;bottom:50px;left:0}.art-doodle-b{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-body{padding:10px 12px 12px}.card-price{font-size:16px}.field-row{grid-template-columns:1fr}.profile-head{flex-direction:column;padding:20px}.profile-actions{width:100%}.chat{height:calc(100vh - 190px)}.msg{max-width:86%}.footer-inner span:last-child,.tabs a span{display:none}}#root{flex-direction:column;min-height:100vh;display:flex}.menu-panel>button:not(.btn){text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px;display:block}.menu-panel>button:not(.btn):hover{background:var(--bg-soft)}.flash[role=status]{cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.footer-links{gap:18px;margin-left:auto;display:flex}.footer-links a{color:var(--muted)}.footer-links a:hover{color:var(--blue)}.footer-tag{margin-left:4px}.terms-check{color:var(--text);align-items:flex-start;font-size:14px;font-weight:400}.terms-check input{margin-top:2px}.danger-zone{border-color:#fecdca}.danger-zone>summary{cursor:pointer;color:var(--red);font-weight:600;list-style:none}.danger-zone>summary::-webkit-details-marker{display:none}.danger-zone[open]>summary{margin-bottom:14px}.people-search{gap:10px;margin-bottom:14px;display:flex}.people-search input{border-radius:999px;padding-left:18px}.people-rows{margin-top:16px}.people-rows .row{justify-content:flex-start}.people-rows .row-main{flex:1;gap:2px}.people-rows .row-main a{color:inherit}.legal .panel{margin-bottom:36px}.legal h2{margin:26px 0 8px;font-size:17px}.legal h2:first-child{margin-top:0}.legal p{margin:0 0 10px}.legal ul{gap:6px;margin:0 0 10px;padding-left:20px;display:grid}.legal [id]{scroll-margin-top:84px}@media (width<=680px){.footer-tag{display:none}.people-rows .row{flex-wrap:wrap}}.deal{gap:12px;margin-bottom:14px;display:grid}.deal-ask{border-color:var(--blue-line);background:var(--blue-soft)}.deal-text{color:var(--ink)}.deal .person{width:fit-content}.deal-actions{flex-wrap:wrap;gap:10px;display:flex}.buyer-box{border:1px solid var(--blue-line);border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--ink);gap:10px;margin-bottom:4px;padding:14px;display:grid}.deal-flag{text-align:center;margin:0;display:block}.deal-flag:hover{border-color:var(--blue);text-decoration:none}.rep{color:var(--green);font-weight:600}.rep-new{color:var(--muted);font-weight:400}.stats .rep-stat:hover{text-decoration:none}.event-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.event-list-waiting{margin-bottom:16px}.event-card{color:inherit;border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:stretch;gap:16px;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.event-card:hover{box-shadow:var(--shadow);border-color:var(--blue-line);text-decoration:none;transform:translateY(-2px)}.event-card.is-waiting{background:var(--bg-soft);border-style:dashed}.event-date{border-radius:var(--radius-sm);background:var(--blue-soft);width:64px;color:var(--blue);border:1px solid var(--blue-line);flex-direction:column;flex:none;justify-content:center;align-items:center;line-height:1.15;display:flex}.event-date small{letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;font-weight:700}.event-date b{letter-spacing:-.03em;color:var(--blue-dark);font-size:26px;font-weight:800}.event-main{flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;display:flex}.event-title{color:var(--ink);overflow-wrap:anywhere;font-size:17px;line-height:1.3}.event-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.event-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.event-going{color:var(--muted);font-size:13px}.event-thumb{object-fit:cover;border-radius:var(--radius-sm);flex:none;align-self:center;width:84px;height:84px}.facts-top{margin-top:0}.owner-actions-gap{margin-top:12px}.going-faces{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.label-gap{margin-top:18px}.event-rows .row{align-items:flex-start}.event-rows .row-main a{color:inherit}@media (width<=680px){.event-list{grid-template-columns:1fr}.event-thumb{width:64px;height:64px}.event-rows .row{flex-direction:column}}.insights .stat-row{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.insight-filter{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.insight-filter .label{margin:0}.insight-filter select{width:auto;min-width:220px}.insight-export{flex-wrap:wrap;gap:10px;width:100%;display:flex}.insight-tile strong{font-size:28px}.insight-change{color:var(--muted);font-size:12.5px}.insight-up{color:var(--green)}.insight-down{color:var(--red)}.insight-charts{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.insight-chart{gap:8px;margin:0;display:grid}.insight-chart figcaption{flex-direction:column;gap:2px;display:flex}.insight-chart figcaption strong{color:var(--ink)}.insight-chart svg{width:100%;height:auto;overflow:visible}.chart-bar{fill:var(--blue)}.chart-bar.is-hover{fill:var(--blue-dark)}.chart-hit{fill:#0000;cursor:default}.chart-axis{stroke:var(--line);stroke-width:1px}.chart-tick{fill:var(--muted);font-size:10px}.insight-table summary{cursor:pointer;color:var(--muted);font-size:12.5px}.insight-table table,.insight-list table{border-collapse:collapse;width:100%;font-size:14px}.insight-table td,.insight-list td,.insight-list th{border-bottom:1px solid var(--line);text-align:left;padding:7px 4px}.insight-list th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.insight-list td:not(:first-child),.insight-list th:not(:first-child),.insight-table td:last-child{text-align:right}.insight-list tr:last-child td{border-bottom:0}.insight-list .tag-inline{margin-left:8px}.insight-list .note{margin-top:10px}.insight-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:0 20px;display:grid}.loading{justify-content:center;gap:8px;padding:72px 0;display:flex}.loading span{background:var(--blue-line);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite loading-pulse}.loading span:nth-child(2){animation-delay:.15s}.loading span:nth-child(3){animation-delay:.3s}@keyframes loading-pulse{0%,to{opacity:.5;transform:scale(.7)}50%{opacity:1;background:var(--blue);transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.loading span{animation:none}}
