:root{--bg:oklch(98.2% .005 155);--surface:oklch(100% 0 0);--surface-2:oklch(96.3% .008 155);--surface-3:oklch(93.5% .011 155);--ink:oklch(24% .025 165);--ink-soft:oklch(43% .02 165);--ink-faint:oklch(55% .015 165);--line:oklch(91% .01 155);--line-strong:oklch(84.5% .014 155);--primary:oklch(50% .125 155);--primary-ink:#fff;--primary-soft:color-mix(in oklab, var(--primary) 13%, var(--surface));--primary-line:color-mix(in oklab, var(--primary) 30%, var(--surface));--leaf:oklch(49% .1 175);--leaf-soft:oklch(94% .035 175);--warm:oklch(53% .15 45);--warm-soft:oklch(95% .045 65);--star:oklch(78% .155 80);--mango:#f2a23a;--dark:oklch(23% .035 165);--dark-2:oklch(31% .06 160);--dark-raise:oklch(31% .03 165);--dark-line:oklch(34% .03 165);--on-dark:oklch(97% .01 155);--on-dark-soft:oklch(82% .02 160);--on-dark-faint:oklch(66% .02 160);--glass:oklch(100% 0 0/.88);--scrim:oklch(20% .03 165/.45);--scrim-strong:oklch(14% .02 165/.92);--veil:oklch(18% .03 165/.68);--tone0-bg:oklch(94% .04 25);--tone0-fg:oklch(50% .14 25);--tone0-solid:oklch(62% .15 25);--tone1-bg:oklch(94% .045 155);--tone1-fg:oklch(45% .11 155);--tone1-solid:oklch(56% .12 155);--tone2-bg:oklch(95% .06 90);--tone2-fg:oklch(50% .11 80);--tone2-solid:oklch(72% .14 85);--tone3-bg:oklch(94% .05 55);--tone3-fg:oklch(53% .14 50);--tone3-solid:oklch(66% .15 55);--tone4-bg:oklch(94% .035 235);--tone4-fg:oklch(48% .11 240);--tone4-solid:oklch(60% .12 240);--radius:14px;--radius-sm:calc(var(--radius) * .6);--radius-lg:calc(var(--radius) * 1.4);--shadow-sm:0 1px 2px oklch(30% .03 165/.06), 0 1px 3px oklch(30% .03 165/.05);--shadow:0 4px 14px oklch(30% .03 165/.08), 0 1px 3px oklch(30% .03 165/.06);--shadow-lg:0 18px 50px oklch(25% .03 165/.16);--ff-display:"Bricolage Grotesque", "Noto Sans Sinhala", system-ui, sans-serif;--ff:"Hanken Grotesk", "Noto Sans Sinhala", system-ui, sans-serif;--gap:30px;--pad:18px;--grid-min:230px;--fs:16px;--hpad:28px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--ff);font-size:var(--fs);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4{font-family:var(--ff-display);letter-spacing:-.01em;color:var(--ink);margin:0;line-height:1.08}button{cursor:pointer;font-family:inherit}.icon{flex:none}::selection{background:var(--primary-soft)}#root,.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}.main-bare{flex:1;display:flex}.screen{max-width:1920px;padding:var(--gap) var(--hpad) 64px;margin:0 auto}.screen.narrow{max-width:760px}.block{margin-top:var(--gap)}.block-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.block-title{font-size:clamp(20px,2.4vw,27px);font-weight:700}.block-sub{color:var(--ink-soft);margin:4px 0 0;font-size:.92em}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-title{font-size:clamp(26px,3vw,36px);font-weight:700}.page-sub{color:var(--ink-soft);max-width:60ch;margin:8px 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-inset{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.empty{text-align:center;color:var(--ink-faint);padding:40px}.error-banner{background:var(--warm-soft);color:var(--warm);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px 14px;font-size:.9em;font-weight:600;display:flex}.loading-row{color:var(--ink-soft);align-items:center;gap:10px;padding:24px;display:flex}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{--logo-petal:var(--primary);--logo-petal-soft:#3e9e68;--logo-heart:var(--mango);--logo-water:var(--primary);display:inline-flex}.logo.on-dark .logo-mark{--logo-petal:#fff;--logo-petal-soft:#9fd3b3;--logo-water:#fff}.logo-text{text-align:left;flex-direction:column;line-height:1;display:flex}.logo-name{font-family:var(--ff-display);color:var(--ink);letter-spacing:-.02em;font-size:1.16em;font-weight:800}.logo-sub{color:var(--ink-faint);letter-spacing:.04em;margin-top:2px;font-size:.66em;font-weight:600}.logo-btn{background:0 0;border:none;padding:0}.btn{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:.95em;font-weight:600;transition:scale .12s,background .15s,box-shadow .15s;display:inline-flex}.btn:active:not(:disabled){scale:.96}.btn-sm{padding:7px 14px;font-size:.88em}.btn-md{padding:10px 18px}.btn-lg{padding:13px 22px;font-size:1.02em}.btn-full{width:100%}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.btn-primary:hover{filter:brightness(1.05);box-shadow:var(--shadow)}.btn-soft{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-line)}.btn-soft:hover{background:color-mix(in oklab, var(--primary) 20%, var(--surface))}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:var(--surface);color:var(--warm);border-color:color-mix(in oklab, var(--warm) 35%, var(--surface))}.btn-danger:hover{background:var(--warm-soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{width:38px;height:38px;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.ghost-link{color:var(--primary);background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:.92em;font-weight:600;display:inline-flex}.ghost-link:hover{text-decoration:underline}.back-link{color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:6px 0;font-weight:600;display:inline-flex}.back-link:hover{color:var(--ink)}.pill{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.86em;font-weight:600;display:inline-flex}.pill:hover{border-color:var(--ink-faint);color:var(--ink)}.pill-active{background:var(--ink);color:var(--surface);border-color:var(--ink)}.filter-row{align-items:center;gap:8px;display:flex}.filter-row.wrap{flex-wrap:wrap;margin-bottom:22px}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:8px 13px;font-size:.85em;font-weight:600;display:inline-flex}.chip-on{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-line)}.chip-wrap{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.badge{letter-spacing:.01em;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.74em;font-weight:700;display:inline-flex}.badge-neutral{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}.badge-leaf{background:var(--leaf-soft);color:var(--leaf)}.badge-warm{background:var(--warm-soft);color:var(--warm)}.rating{color:var(--ink-soft);align-items:center;gap:3px;font-size:.85em;display:inline-flex}.rating-star{color:var(--star)}.rating b{color:var(--ink)}.rating-count{color:var(--ink-faint)}.ph{justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ph-label{color:color-mix(in oklab, var(--ink-soft) 75%, transparent);background:color-mix(in oklab, var(--surface) 60%, transparent);letter-spacing:.02em;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:80%;padding:3px 8px;font-family:ui-monospace,SF Mono,monospace;font-size:11px;overflow:hidden}.modal-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);max-height:92vh;animation:.18s pop;overflow:auto}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.98)}}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-head h3{font-size:1.2em}.modal-body{padding:20px}.level-badge{border-radius:999px;align-items:center;gap:4px;font-weight:700;line-height:1;display:inline-flex}.lvl-sm{padding:3px 8px;font-size:.7em}.lvl-lg{padding:5px 11px;font-size:.8em}.level-badge[data-tone="0"]{background:var(--tone0-bg);color:var(--tone0-fg)}.level-badge[data-tone="1"]{background:var(--tone1-bg);color:var(--tone1-fg)}.level-badge[data-tone="2"]{background:var(--tone2-bg);color:var(--tone2-fg)}.level-badge[data-tone="3"]{background:var(--tone3-bg);color:var(--tone3-fg)}.level-badge[data-tone="4"]{background:var(--tone4-bg);color:var(--tone4-fg)}.lc-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.lc-endorsed{color:var(--leaf);align-items:center;gap:3px;font-size:.72em;font-weight:700;display:inline-flex}.endorse{color:var(--leaf);background:var(--leaf-soft);border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:.76em;font-weight:600;display:inline-flex}.sup-level-row{align-items:center;gap:10px;display:flex}.sup-type{color:var(--ink-faint);font-size:.82em;font-weight:600}.sup-endorse{flex-wrap:wrap;gap:6px;display:flex}.ad-slot{border-radius:var(--radius);border:1px solid var(--line);margin-top:var(--gap);position:relative;overflow:hidden}.ad-banner{background:var(--surface)}.ad-slot[data-tone="3"]{background:linear-gradient(100deg, color-mix(in oklab, var(--tone3-bg) 70%, var(--surface)), var(--surface))}.ad-slot[data-tone="1"]{background:linear-gradient(100deg, color-mix(in oklab, var(--tone1-bg) 70%, var(--surface)), var(--surface))}.ad-slot[data-tone="4"]{background:linear-gradient(100deg, color-mix(in oklab, var(--tone4-bg) 70%, var(--surface)), var(--surface))}.ad-flag{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.66em;font-weight:700;position:absolute;top:12px;left:12px}.ad-body{padding:42px var(--pad) 18px;justify-content:space-between;align-items:center;gap:16px;display:flex}.ad-text b{font-family:var(--ff-display);font-size:1.15em;font-weight:700;display:block}.ad-text span{color:var(--ink-soft);font-size:.86em}.panel-note{color:var(--ink-soft);margin:-6px 0 14px;font-size:.88em}.ad-manager{flex-direction:column;gap:8px;display:flex}.ad-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:12px;padding:11px 12px;display:flex}.ad-thumb{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.ad-row-info{flex:1;min-width:0}.ad-row-info b{text-overflow:ellipsis;white-space:nowrap;font-size:.92em;font-weight:700;display:block;overflow:hidden}.ad-row-info span{color:var(--ink-faint);font-size:.8em}.ad-row-stats{gap:18px;display:flex}.ad-row-stats div{text-align:right}.ad-row-stats b{font-family:var(--ff-display);font-size:.95em;display:block}.ad-row-stats span{color:var(--ink-faint);font-size:.72em}.ad-empty-slot{border:2px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-faint);background:0 0;flex-direction:column;align-items:center;gap:3px;padding:18px;font-family:inherit;display:flex}.ad-empty-slot:hover{border-color:var(--primary-line);color:var(--primary)}.ad-empty-slot span{font-size:.9em;font-weight:700}.ad-empty-slot small{font-size:.76em}@media (width<=620px){.ad-row-stats{display:none}.ad-body{flex-direction:column;align-items:flex-start}}[data-tone="0"]{background:var(--tone0-bg);color:var(--tone0-fg)}[data-tone="1"]{background:var(--tone1-bg);color:var(--tone1-fg)}[data-tone="2"]{background:var(--tone2-bg);color:var(--tone2-fg)}[data-tone="3"]{background:var(--tone3-bg);color:var(--tone3-fg)}[data-tone="4"]{background:var(--tone4-bg);color:var(--tone4-fg)}.topbar{z-index:50;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{max-width:1920px;padding:11px var(--hpad);align-items:center;gap:22px;margin:0 auto;display:flex}.topnav{gap:4px;display:flex}.navlink{color:var(--ink-soft);background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:.94em;font-weight:600}.navlink:hover{background:var(--surface-2);color:var(--ink)}.navlink-on{color:var(--primary);background:var(--primary-soft)}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.bell-dot{background:var(--warm);border:1.5px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.user-chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:inline-flex}.user-chip:hover{background:var(--surface-2)}.user-avatar{background:var(--primary);width:30px;height:30px;color:var(--primary-ink);border-radius:50%;place-items:center;font-size:.85em;font-weight:700;display:grid}.user-name{font-size:.9em;font-weight:600}@media (width<=860px){.topnav,.user-name{display:none}}.footer{background:var(--dark);color:var(--on-dark-soft);margin-top:40px}.footer-inner{max-width:1920px;padding:52px var(--hpad) 32px;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;margin:0 auto;display:grid}.footer-brand .logo-name{color:var(--on-dark)}.footer-brand .logo-sub{color:var(--on-dark-faint)}.footer-brand p{color:var(--on-dark-soft);max-width:34ch;margin:16px 0;font-size:.92em;line-height:1.6}.social{gap:10px;display:flex}.social-btn{background:var(--dark-raise);width:40px;height:40px;color:var(--on-dark);cursor:pointer;border-radius:50%;place-items:center;transition:background .15s;display:grid}.social-btn:hover{background:var(--primary);color:var(--primary-ink)}.footer-col h4{font-family:var(--ff-display);color:var(--on-dark);margin-bottom:14px;font-size:.95em}.footer-link{color:var(--on-dark-soft);text-align:left;background:0 0;border:none;padding:5px 0;font-size:.9em;display:block}.footer-link:hover{color:var(--primary)}.footer-bar{border-top:1px solid var(--dark-line);padding:18px var(--hpad);max-width:1920px;color:var(--on-dark-faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;font-size:.82em;display:flex}@media (width<=820px){.footer-inner{grid-template-columns:1fr 1fr}}.dd{display:inline-flex;position:relative}.dd-trigger{min-width:0;max-width:100%;display:inline-flex}.dd-backdrop{z-index:80;position:fixed;inset:0}.dd-menu{z-index:90;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;position:absolute;top:calc(100% + 8px)}.dd-right{right:0}.dd-left{left:0}.dd-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);padding:8px 10px 4px;font-size:.72em;font-weight:700}.dd-item{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;font-family:inherit;font-size:.92em;font-weight:600;display:flex}.dd-item:hover:not(:disabled){background:var(--surface-2)}.dd-item.on{color:var(--primary);background:var(--primary-soft)}.dd-item:disabled{opacity:.55;cursor:not-allowed}.dd-item>span:first-of-type{flex:1}.dd-meta{color:var(--ink-faint);font-size:.78em;font-weight:600}.dd-soon{color:var(--warm);background:var(--warm-soft);border-radius:999px;padding:2px 8px;font-size:.7em;font-weight:700}.dd-check{color:var(--primary)}.dd-foot{color:var(--ink-soft);border-top:1px solid var(--line);gap:7px;margin-top:4px;padding:8px 10px 6px;font-size:.78em;line-height:1.4;display:flex}.dd-foot .icon{color:var(--leaf);flex:none;margin-top:2px}.village-btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:.86em;font-weight:600;display:inline-flex}.village-btn:hover{background:var(--surface-2)}.village-btn .icon:first-child{color:var(--primary)}.lang-toggle{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.lang-toggle button{color:var(--ink-soft);font-size:.82em;font-weight:700;font-family:var(--ff);background:0 0;border:none;border-radius:999px;padding:6px 11px}.lang-toggle .on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.viewas-btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:.84em;font-weight:600;display:inline-flex}.viewas-btn:hover{background:var(--surface-2)}.viewas-btn b{color:var(--ink)}.viewas-btn .icon:first-child{color:var(--ink-faint)}.mobile-tabbar{display:none}@media (width<=720px){.topnav,.viewas-btn{display:none}.topbar-inner{padding:8px var(--hpad);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo right""village right";align-items:center;gap:0 8px;display:grid}.topbar-inner>.logo-btn{grid-area:logo;place-self:end start}.topbar-inner>.village-dd{grid-area:village;place-self:start;min-width:0;max-width:100%}.topbar-right{grid-area:right;gap:6px}.topbar .logo-sub{display:none}.topbar .logo{gap:6px}.topbar .logo-mark svg{width:30px;height:30px}.village-dd .village-btn{color:var(--ink-soft);background:0 0;border:none;gap:3px;min-width:0;max-width:100%;padding:1px 0 0 36px;font-size:.74em;font-weight:600}.village-dd .village-btn:hover{color:var(--ink);background:0 0}.village-dd .village-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.village-dd .village-btn .icon{flex:none}.village-dd .dd-menu{top:calc(100% + 10px)}.lang-toggle{padding:2px}.lang-toggle button{padding:5px 9px;font-size:.76em}.topbar .icon-btn.bell{width:36px;height:36px}.user-chip{background:0 0;border:none;padding:0}.user-chip>.icon{display:none}.user-avatar{width:34px;height:34px}.topbar-signin .btn{padding:7px 12px;font-size:.82em}.mobile-tabbar{z-index:70;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mtab{color:var(--ink-faint);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 8px;font-family:inherit;font-size:.64em;font-weight:600;display:flex}.mtab.on{color:var(--primary)}.mtab-fab{color:var(--primary-ink)}.mtab-fab .icon{background:var(--primary);color:var(--primary-ink);width:46px;height:46px;box-shadow:var(--shadow);border-radius:50%;margin-top:-18px;padding:11px}.footer{margin-bottom:64px}.main{padding-bottom:8px}}@media (width<=480px){.hero-stats{font-size:.85em}.stat-grid{grid-template-columns:1fr 1fr}}.footer-credit a{color:var(--on-dark-soft);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--on-dark-faint);text-decoration-color:var(--on-dark-faint);font-weight:600}.footer-credit a:hover{color:var(--primary);text-decoration-color:currentColor}.icon-btn.bell{position:relative}.notif-backdrop{z-index:90;position:fixed;inset:0}.notif-panel{z-index:91;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:min(70vh,480px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;overflow:hidden}.notif-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 8px 10px 16px;display:flex}.notif-head h2{margin:0;font-size:1em;font-weight:800}.notif-close{width:34px;height:34px}.notif-body{overscroll-behavior:contain;padding:4px 6px 8px;overflow-y:auto}.notif-section{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);padding:10px 10px 4px;font-size:.72em;font-weight:700}.notif-item{border-radius:var(--radius-sm);color:var(--ink);align-items:flex-start;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.notif-item:hover,.notif-item:focus-visible{background:var(--surface-2)}.notif-item.unread{background:var(--primary-soft)}.notif-ico{background:var(--surface-2);width:30px;height:30px;color:var(--primary);border-radius:9px;flex:none;place-items:center;display:grid}.notif-text{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-text b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88em;line-height:1.35;display:-webkit-box;overflow:hidden}.notif-text span{color:var(--ink-faint);font-size:.76em}.notif-empty{color:var(--ink-faint);margin:4px 10px 8px;font-size:.86em}.notif-foot{border-top:1px solid var(--line);color:var(--primary);justify-content:center;align-items:center;gap:6px;padding:11px;font-size:.86em;font-weight:700;text-decoration:none;display:flex}.notif-foot:hover{background:var(--surface-2)}.hero{background:linear-gradient(160deg, var(--primary-soft) 10%, color-mix(in oklab, var(--primary) 4%, var(--bg)) 55%, color-mix(in oklab, var(--tone2-bg) 70%, var(--bg)));border-bottom:1px solid var(--line)}.hero-inner{max-width:1920px;padding:clamp(36px, 6vw, 72px) var(--hpad);margin:0 auto}.hero-title{letter-spacing:-.025em;max-width:16ch;margin:16px 0 0;font-size:clamp(32px,5vw,56px);font-weight:800}.hero-sub{color:var(--ink-soft);max-width:52ch;margin:16px 0 0;font-size:clamp(16px,1.7vw,20px)}.hero-search{background:var(--surface);border:1px solid var(--line-strong);max-width:720px;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;margin-top:28px;padding:8px 8px 8px 18px;display:flex}.hs-ico{color:var(--ink-faint)}.hs-input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1.02em}.hs-loc{background:var(--surface-2);color:var(--ink-soft);white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:5px;padding:9px 13px;font-size:.86em;font-weight:600;display:inline-flex}.hero-stats{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;font-size:.95em;display:flex}.hero-stats b{color:var(--ink)}.hero-stats .dot{background:var(--ink-faint);border-radius:50%;width:4px;height:4px}@media (width<=620px){.hero-search{border-radius:var(--radius);flex-wrap:wrap}.hs-loc{order:3}}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.cat-tile{padding:var(--pad);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;transition:translate .2s,scale .12s,box-shadow .2s,border-color .2s;display:flex}.cat-tile:hover{box-shadow:var(--shadow);border-color:var(--primary-line);translate:0 -2px}.cat-ico{border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:8px;display:grid}.cat-name{font-size:.96em;font-weight:700;font-family:var(--ff-display)}.cat-count{color:var(--ink-faint);font-size:.8em}.listing-grid{grid-template-columns:repeat(auto-fill, minmax(var(--grid-min), 1fr));gap:var(--pad);display:grid}.listing-card{text-align:left;flex-direction:column;padding:0;transition:translate .25s,scale .12s,box-shadow .25s;display:flex;overflow:hidden}.lc-wrap:hover .listing-card{box-shadow:var(--shadow-lg);translate:0 -3px}.lc-media{position:relative}.lc-fav{background:color-mix(in oklab, var(--surface) 90%, transparent);width:36px;height:36px;color:var(--ink-soft);box-shadow:var(--shadow-sm);z-index:2;border:none;border-radius:50%;place-items:center;transition:translate .25s,color .15s;display:grid;position:absolute;top:10px;right:10px}.lc-wrap:hover .lc-fav{color:var(--warm);translate:0 -3px}.lc-fav.on{color:var(--warm)}.lc-fav.on svg{fill:currentColor}.lc-flag{background:var(--ink);color:var(--surface);border-radius:999px;padding:4px 9px;font-size:.72em;font-weight:700;position:absolute;top:10px;left:10px}.lc-body{padding:var(--pad);flex-direction:column;flex:1;gap:6px;display:flex}.lc-price{font-family:var(--ff-display);color:var(--ink);font-size:1.16em;font-weight:800}.lc-unit{color:var(--ink-faint);font-size:.62em;font-weight:600}.lc-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.96em;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.lc-meta{color:var(--ink-faint);gap:12px;margin-top:2px;font-size:.8em;display:flex}.lc-meta span{align-items:center;gap:4px;display:inline-flex}.lc-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.lc-sup{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.82em;font-weight:600;overflow:hidden}.needs-strip{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--pad) var(--pad) calc(var(--pad) + 4px);margin-top:calc(var(--gap) + 6px)}.needs-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.need-card{text-align:left;padding:var(--pad);flex-direction:column;align-items:flex-start;gap:8px;display:flex}.need-card:hover{box-shadow:var(--shadow)}.need-title{font-weight:700;font-family:var(--ff-display);line-height:1.25}.need-meta{color:var(--ink-faint);align-items:center;gap:5px;font-size:.82em;display:inline-flex}.need-foot{justify-content:space-between;width:100%;margin-top:auto;padding-top:8px;display:flex}.need-budget{color:var(--leaf);font-size:.9em;font-weight:700}.need-offers{color:var(--ink-faint);font-size:.82em}.detail-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:32px;display:grid}.thumb-row{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;display:grid}.detail-section{margin-top:28px}.detail-section h3{margin-bottom:10px;font-size:1.15em}.detail-desc{color:var(--ink-soft);max-width:60ch;line-height:1.65}.tag-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.review{border-top:1px solid var(--line);padding:14px 0}.review-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.review p{color:var(--ink-soft);margin:0;font-size:.94em}.detail-aside{flex-direction:column;gap:16px;display:flex;position:sticky;top:80px}.buy-box{padding:var(--pad);flex-direction:column;gap:12px;display:flex}.detail-title{font-size:1.5em;font-weight:700;line-height:1.15}.detail-price{font-family:var(--ff-display);color:var(--primary);font-size:1.9em;font-weight:800}.detail-meta{color:var(--ink-soft);flex-wrap:wrap;gap:16px;font-size:.88em;display:flex}.detail-meta span{align-items:center;gap:5px;display:inline-flex}.qty-row{justify-content:space-between;align-items:center;padding-top:6px;display:flex}.stepper{border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:14px;padding:4px 6px;display:inline-flex}.stepper button{background:var(--surface-2);width:30px;height:30px;color:var(--ink);border:none;border-radius:50%;font-size:1.1em}.stepper button:hover{background:var(--primary-soft);color:var(--primary)}.total-row{border-top:1px dashed var(--line-strong);justify-content:space-between;align-items:baseline;padding:8px 0;display:flex}.total-row b{font-family:var(--ff-display);font-size:1.3em}.trust{color:var(--leaf);background:var(--leaf-soft);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:9px 12px;font-size:.82em;display:flex}.sup-card{padding:var(--pad);flex-direction:column;gap:14px;display:flex}.sup-head{align-items:center;gap:12px;display:flex}.sup-avatar{background:linear-gradient(135deg, var(--primary), color-mix(in oklab, var(--primary) 60%, var(--leaf)));width:46px;height:46px;color:var(--primary-ink);font-weight:800;font-family:var(--ff-display);border-radius:14px;flex:none;place-items:center;font-size:1.2em;display:grid}.sup-avatar.sm{border-radius:11px;width:38px;height:38px;font-size:1em}.sup-name{font-weight:700;font-family:var(--ff-display);align-items:center;gap:5px;display:flex}.verified{color:var(--leaf);background:var(--leaf-soft);border-radius:50%;padding:2px}.sup-stats{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0;display:grid}.sup-stats b{font-family:var(--ff-display);font-size:.98em;display:block}.sup-stats span{color:var(--ink-faint);font-size:.76em}@media (width<=880px){.detail-grid{grid-template-columns:1fr}.detail-aside{position:static}}.field-label{color:var(--ink-soft);margin:14px 0 6px;font-size:.85em;font-weight:600;display:block}.text-input{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);width:100%;color:var(--ink);outline:none;padding:11px 13px;font-family:inherit;font-size:.96em;transition:border-color .15s,box-shadow .15s}.text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea.text-input{resize:vertical}.password-input{position:relative}.password-input .text-input{padding-right:42px}.password-toggle{width:32px;height:32px;color:var(--ink-faint);background:0 0;border:none;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{background:var(--surface-2);color:var(--ink-soft)}.auth-notice{border-radius:var(--radius-sm);background:var(--leaf-soft);color:var(--ink);margin:14px 0 0;padding:12px 14px;font-size:.92em;line-height:1.45}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.auth-links .ghost-link{margin-top:12px}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;gap:4px;margin:18px 0 16px;padding:4px;display:inline-flex}.seg button{color:var(--ink-soft);background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:9px 18px;font-size:.92em;font-weight:600;display:inline-flex}.seg .seg-on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.form-card{padding:var(--pad) calc(var(--pad) + 4px) calc(var(--pad) + 4px)}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-faint);background:var(--surface-2);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:26px;display:flex}.dropzone:hover{border-color:var(--primary-line);color:var(--primary)}.dropzone small{font-size:.78em}.form-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;display:flex}.success-card{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:44px 32px;display:flex}.success-ring{background:var(--leaf-soft);width:76px;height:76px;color:var(--leaf);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.success-ring.failed{background:var(--warm-soft);color:var(--warm)}.success-card h1{font-size:1.7em}.success-card p{color:var(--ink-soft);max-width:44ch}.success-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.needs-list{gap:var(--pad);flex-direction:column;display:flex}.need-row{padding:var(--pad) calc(var(--pad) + 4px);gap:20px;display:flex}.need-row-main{flex:1}.need-row-top{gap:8px;margin-bottom:8px;display:flex}.need-row-title{font-size:1.2em;font-weight:700}.need-row-desc{color:var(--ink-soft);max-width:70ch;margin:6px 0 10px;font-size:.94em}.need-row-meta{color:var(--ink-faint);flex-wrap:wrap;gap:16px;font-size:.82em;display:flex}.need-row-meta span{align-items:center;gap:5px;display:inline-flex}.need-row-side{border-left:1px solid var(--line);flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:6px;width:180px;padding-left:20px;display:flex}.need-budget-big{font-family:var(--ff-display);color:var(--leaf);font-size:1.15em;font-weight:800}.need-offers-big{color:var(--ink-faint);margin-bottom:6px;font-size:.84em}@media (width<=720px){.need-row{flex-direction:column}.need-row-side{border-left:none;border-top:1px solid var(--line);width:auto;padding-top:14px;padding-left:0}}.news-feature{text-align:left;margin-bottom:var(--gap);grid-template-columns:1.1fr 1fr;padding:0;display:grid;overflow:hidden}.news-feature:hover{box-shadow:var(--shadow-lg)}.news-feature-body{padding:calc(var(--pad) + 8px);flex-direction:column;justify-content:center;gap:12px;display:flex}.news-tags{gap:8px;display:flex}.news-feature-body h2{font-size:clamp(20px,2.4vw,30px);font-weight:700;line-height:1.12}.news-feature-body p{color:var(--ink-soft);margin:0}.news-meta{color:var(--ink-faint);font-size:.82em}.news-grid{gap:var(--pad);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.news-card{text-align:left;flex-direction:column;padding:0;transition:translate .25s,box-shadow .25s;display:flex;overflow:hidden}.news-card:hover{box-shadow:var(--shadow-lg);translate:0 -3px}.news-card-body{padding:var(--pad);flex-direction:column;gap:8px;display:flex}.news-card-body h3{font-size:1.1em;line-height:1.2}.news-card-body p{color:var(--ink-soft);margin:0;font-size:.9em}@media (width<=720px){.news-feature{grid-template-columns:1fr}}.sub-toggle{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:.9em;font-weight:600;display:inline-flex}.sub-toggle.on{background:var(--leaf-soft);color:var(--leaf);border-color:#0000}.autosub-banner{background:var(--primary-soft);border:1px solid var(--primary-line);color:var(--primary);border-radius:var(--radius);margin-bottom:var(--pad);align-items:center;gap:10px;padding:12px 16px;font-size:.9em;font-weight:500;display:flex}.autosub-banner .icon{flex:none}.hub{max-width:1000px;padding-top:calc(var(--gap) + 30px)}.hub-head{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:36px;display:flex}.hub-title{max-width:18ch;font-size:clamp(28px,4vw,46px);font-weight:800}.hub-sub{color:var(--ink-soft);max-width:50ch;font-size:1.1em}.hub-grid{gap:var(--pad);grid-template-columns:1fr 1fr;display:grid}.hub-tile{text-align:left;padding:calc(var(--pad) + 8px);flex-direction:column;align-items:flex-start;gap:8px;transition:translate .2s,scale .12s,box-shadow .2s,border-color .2s;display:flex}.hub-tile:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-line);translate:0 -3px}.hub-ico{border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:6px;display:grid}.hub-tile h3{font-size:1.3em}.hub-tile p{color:var(--ink-soft);margin:0;font-size:.94em}.hub-go{color:var(--primary);align-items:center;gap:6px;margin-top:6px;font-weight:700;display:inline-flex}@media (width<=680px){.hub-grid{grid-template-columns:1fr}}.auth-wrap{background:linear-gradient(150deg, var(--primary-soft), var(--bg) 60%);flex:1;place-items:center;padding:40px 20px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:880px;box-shadow:var(--shadow-lg);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.auth-side{background:linear-gradient(160deg, var(--dark), var(--dark-2));color:var(--on-dark);flex-direction:column;gap:16px;padding:40px;display:flex}.auth-side .logo-name,.auth-side .logo-sub{color:var(--on-dark)}.auth-tag{color:var(--on-dark);margin-top:auto;font-size:1.7em;font-weight:800}.auth-blurb{color:var(--on-dark-soft);line-height:1.6}.auth-points{flex-direction:column;gap:12px;margin:8px 0 0;padding:0;list-style:none;display:flex}.auth-points li{color:var(--on-dark);align-items:center;gap:10px;font-size:.94em;display:flex}.auth-points .icon{color:var(--primary)}.auth-main{flex-direction:column;padding:44px 40px;display:flex}.auth-title{font-size:2em;font-weight:800}.auth-help{color:var(--ink-soft);margin:8px 0 22px}.phone-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);align-items:center;margin-bottom:18px;display:flex;overflow:hidden}.phone-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.phone-input .cc{background:var(--surface-2);color:var(--ink-soft);border-right:1px solid var(--line);padding:11px 14px;font-weight:700}.phone-input .text-input{box-shadow:none;border:none}.phone-input .text-input:focus{box-shadow:none}.auth-divider{text-align:center;color:var(--ink-faint);margin:22px 0;font-size:.85em;position:relative}.auth-divider:before{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{background:var(--surface);padding:0 12px;position:relative}.otp-row{gap:12px;margin-bottom:22px;display:flex}.otp-box{text-align:center;width:56px;height:64px;font-size:1.6em;font-weight:700;font-family:var(--ff-display);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);outline:none}.otp-box:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ghost-link{align-self:center;margin-top:16px}@media (width<=720px){.auth-card{grid-template-columns:1fr}.auth-side{display:none}}.dash-eyebrow{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;font-size:.8em;font-weight:700}.stat-grid{gap:var(--pad);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{padding:var(--pad);flex-direction:column;gap:2px;display:flex;position:relative}.stat-ico{border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:10px;display:grid}.stat-val{font-family:var(--ff-display);font-size:1.7em;font-weight:800}.stat-label{color:var(--ink-soft);font-size:.85em}.stat-delta{top:var(--pad);right:var(--pad);align-items:center;gap:3px;font-size:.78em;font-weight:700;display:inline-flex;position:absolute}.stat-delta.up{color:var(--leaf)}.stat-delta.down{color:var(--warm)}.dash-cols{gap:var(--pad);margin-top:var(--pad);grid-template-columns:1.4fr 1fr;display:grid}.panel{padding:var(--pad) calc(var(--pad) + 4px);margin-top:var(--pad)}.dash-cols .panel{margin-top:0}.panel-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-head h3{font-size:1.08em}.panel-num{font-family:var(--ff-display);font-size:1.2em;font-weight:800}.table{border-collapse:collapse;width:100%;font-size:.9em}.table th{text-align:left;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:8px 10px;font-size:.82em;font-weight:600}.table td{border-bottom:1px solid var(--line);padding:11px 10px}.table tr:last-child td{border-bottom:none}.mono{font-family:ui-monospace,monospace;font-size:.92em}.cell-listing{align-items:center;gap:10px;font-weight:600;display:flex}.row-actions{justify-content:flex-end;gap:4px;display:flex}.minibars{align-items:flex-end;gap:8px;height:120px;padding:8px 0;display:flex}.minibar{border-radius:6px 6px 0 0;flex:1;min-height:6px}.bar-labels{gap:8px;display:flex}.bar-labels span{text-align:center;color:var(--ink-faint);flex:1;font-size:.72em}.payout{justify-content:space-between;align-items:center;margin-top:16px;padding:12px 14px;display:flex}.payout span{color:var(--ink-faint);font-size:.8em;display:block}.payout b{font-family:var(--ff-display);font-size:1.1em}.approve-list{flex-direction:column;gap:4px;display:flex}.approve-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.approve-row:last-child{border-bottom:none}.approve-info{flex:1}.approve-info b{font-family:var(--ff-display);font-size:.96em;display:block}.approve-info span{color:var(--ink-faint);font-size:.8em}.approve-actions{gap:6px;display:flex}.cat-bars{flex-direction:column;gap:12px;display:flex}.cat-bar{grid-template-columns:130px 1fr 38px;align-items:center;gap:10px;font-size:.86em;display:grid}.cat-bar-label{color:var(--ink-soft)}.cat-bar-track{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.cat-bar-fill{border-radius:999px;height:100%;display:block}.cat-bar-fill[data-tone="0"]{background:var(--tone0-solid)}.cat-bar-fill[data-tone="1"]{background:var(--tone1-solid)}.cat-bar-fill[data-tone="2"]{background:var(--tone2-solid)}.cat-bar-fill[data-tone="3"]{background:var(--tone3-solid)}.cat-bar-val{text-align:right;font-size:.86em;font-weight:700}@media (width<=880px){.dash-cols{grid-template-columns:1fr}}.reg-head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:24px;display:flex}.reg-section{margin-bottom:14px;font-size:1.1em}.reg-grid{gap:var(--pad);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.reg-tile{padding:var(--pad);text-align:left;align-items:center;gap:14px;transition:translate .2s,scale .12s,box-shadow .2s,border-color .2s;display:flex;position:relative}.reg-tile:hover{box-shadow:var(--shadow);border-color:var(--primary-line);translate:0 -2px}.reg-ico{border-radius:14px;flex:none;place-items:center;width:50px;height:50px;display:grid}.reg-ico.lg{border-radius:16px;width:58px;height:58px}.reg-tile-body{flex:1}.reg-tile-body h4{font-size:1.05em;font-weight:700}.reg-tile-body p{color:var(--ink-soft);margin:3px 0 0;font-size:.85em}.reg-go{color:var(--ink-faint);flex:none}.reg-review-flag{color:var(--warm);background:var(--warm-soft);border-radius:999px;padding:3px 8px;font-size:.68em;font-weight:700;position:absolute;top:12px;right:40px}.reg-note{color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;margin-top:16px;padding:11px 13px;font-size:.85em;display:flex}.reg-note .icon{color:var(--leaf);flex:none;margin-top:1px}.reg-note.warm .icon{color:var(--warm)}.news-optin{background:var(--leaf-soft);border-radius:var(--radius-sm);align-items:center;gap:11px;margin-top:16px;padding:12px 13px;display:flex}.optin-check{background:var(--leaf);color:#fff;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.news-optin b{font-size:.9em;display:block}.news-optin span{color:var(--ink-soft);font-size:.8em}.endorse-list{flex-direction:column;display:flex}.endorse-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.endorse-row:last-child{border-bottom:none}.endorse-info{flex:1;min-width:0}.endorse-info b{font-family:var(--ff-display);font-size:.96em;display:block}.endorse-info span{color:var(--ink-faint);font-size:.8em}.endorse-done{color:var(--leaf);align-items:center;gap:5px;font-size:.85em;font-weight:700;display:inline-flex}.endorse-foot{color:var(--ink-soft);border-top:1px solid var(--line);align-items:flex-start;gap:8px;margin-top:14px;padding-top:14px;font-size:.82em;display:flex}.endorse-foot .icon{color:var(--leaf);flex:none;margin-top:1px}.checkout-grid{gap:var(--gap);grid-template-columns:1.5fr 1fr;align-items:start;margin-top:18px;display:grid}.secured-inline{color:var(--leaf);align-items:center;gap:5px;font-size:.78em;font-weight:600;display:inline-flex}.gateway-list{flex-direction:column;gap:8px;display:flex}.gateway{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);text-align:left;color:var(--ink);align-items:center;gap:12px;padding:13px 14px;display:flex}.gateway.on{border-color:var(--primary);background:var(--primary-soft)}.gw-logo{background:var(--ink);width:40px;height:40px;color:var(--surface);font-family:var(--ff-display);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.gateway.on .gw-logo{background:var(--primary)}.gw-text{flex:1}.gw-text b{font-size:.94em;display:block}.gw-text span{color:var(--ink-faint);font-size:.8em}.gw-tag{color:var(--ink-soft);background:var(--surface-2);border-radius:999px;padding:3px 9px;font-size:.7em;font-weight:700}.gw-processing{color:var(--ink-soft);align-items:center;gap:12px;padding:18px;font-weight:600;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;flex:none;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gw-trustrow{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.gw-trustrow span{color:var(--ink-faint);border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-size:.74em;font-weight:600}.checkout-side{position:sticky;top:80px}.order-summary{padding:var(--pad);flex-direction:column;gap:12px;display:flex}.order-summary h3{font-size:1.1em}.os-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:12px;display:flex}.os-item-info{flex:1;min-width:0}.os-item-info b{font-size:.92em;line-height:1.25;display:block}.os-item-info span{color:var(--ink-faint);font-size:.82em}.os-line{color:var(--ink-soft);justify-content:space-between;align-items:center;font-size:.9em;display:flex}.os-line b{color:var(--ink);font-weight:600}.os-total{border-top:1px dashed var(--line-strong);padding-top:12px;font-size:1em}.os-total b{font-family:var(--ff-display);font-size:1.3em}.os-keep{color:var(--leaf);background:var(--leaf-soft);border-radius:var(--radius-sm);align-items:center;gap:7px;padding:9px 12px;font-size:.8em;display:flex}.co-receipt{flex-direction:column;gap:8px;width:100%;margin:8px 0 14px;padding:14px;display:flex}.co-receipt>div{justify-content:space-between;align-items:center;display:flex}.co-receipt span{color:var(--ink-faint);font-size:.86em}.co-receipt b{font-family:var(--ff-display)}@media (width<=880px){.checkout-grid{grid-template-columns:1fr}.checkout-side{position:static}}.account{gap:var(--pad);flex-direction:column;display:flex}.account-head{padding:calc(var(--pad) + 4px);align-items:center;gap:16px;display:flex}.account-avatar{border-radius:18px;width:64px;height:64px;font-size:1.6em}.account-id{flex-direction:column;gap:4px;min-width:0;display:flex}.account-id .page-title{overflow-wrap:anywhere;font-size:clamp(21px,5.2vw,30px)}.account-email{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.9em}.account-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.account-finish{padding:var(--pad);border-color:var(--primary-line);background:var(--primary-soft);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.account-finish>div{flex:1;min-width:200px}.account-finish h3{font-size:1.05em}.account-finish p{color:var(--ink-soft);margin:4px 0 0;font-size:.9em}.account-links{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.account-link{align-items:center;gap:12px;padding:14px 16px;font-weight:700;transition:translate .2s,box-shadow .2s,border-color .2s;display:flex}.account-link .icon:first-child{color:var(--primary)}.account-link:hover{box-shadow:var(--shadow);border-color:var(--primary-line);translate:0 -2px}.account-link-go{color:var(--ink-faint);margin-left:auto}.account .panel{margin-top:0}.account-type{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;font-size:.94em;font-weight:600;display:flex}.account-type .ghost-link{margin:0}.account-check{cursor:pointer;align-items:center;gap:10px;margin-top:16px;font-size:.92em;font-weight:600;display:flex}.account-check input{width:18px;height:18px;accent-color:var(--leaf)}.account-signout{justify-content:center;display:flex}.user-chip .icon{color:var(--ink-faint)}.dd-email{text-transform:none;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dd-signout{color:var(--warm);border-top:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:4px}.orders-list{flex-direction:column;gap:12px;display:flex}.orders-empty{text-align:center;color:var(--ink-soft);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.orders-empty .icon{color:var(--ink-faint)}.order-card{padding:var(--pad);flex-direction:column;gap:10px;display:flex}.order-card[data-status=delivered]{border-color:var(--primary-line);box-shadow:0 0 0 3px var(--primary-soft)}.order-main{align-items:center;gap:14px;display:flex}.order-photo{flex:none;width:64px}.order-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.order-title{font-weight:700;font-family:var(--ff-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.order-title:hover{color:var(--primary)}.order-meta{color:var(--ink-faint);font-size:.8em}.order-side{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.order-total{font-family:var(--ff-display);font-size:1.1em}.order-help{color:var(--ink-soft);margin:0;font-size:.86em}.order-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;display:flex}.order-confirm span{flex:1;min-width:180px;font-size:.9em;font-weight:600}@media (width<=480px){.order-photo{width:52px}.order-side{align-items:flex-start}.order-main{flex-wrap:wrap}.order-side{flex-direction:row;justify-content:space-between;align-items:center;width:100%}}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap .table{min-width:520px}.table .cell-action{text-align:right;white-space:nowrap}.table td.mono{white-space:nowrap}.empty-state{text-align:center;background:var(--surface);border-style:dashed;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;display:flex}.empty-state-ico{background:var(--primary-soft);width:60px;height:60px;color:var(--primary);border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.empty-state h3{font-size:1.2em}.empty-state p{color:var(--ink-soft);max-width:46ch;margin:0 0 6px;font-size:.95em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-hint{color:var(--ink-faint);font-weight:500}.photo-picker{flex-direction:column;gap:10px;display:flex}.pp-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.pp-item{aspect-ratio:1;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;position:relative;overflow:hidden}.pp-item img{object-fit:cover;width:100%;height:100%;display:block}.pp-item[data-status=uploading] img{opacity:.55}.pp-item.error{border-color:var(--warm)}.pp-cover{background:var(--ink);color:var(--surface);border-radius:999px;padding:2px 8px;font-size:.66em;font-weight:700;position:absolute;bottom:6px;left:6px}.pp-state{place-items:center;display:grid;position:absolute;inset:0}.pp-failed{background:color-mix(in oklab, var(--warm-soft) 85%, transparent);color:var(--warm);text-align:center;padding:6px;font-size:.74em;font-weight:700}.pp-remove{background:var(--veil);color:#fff;border:none;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:6px;right:6px}.pp-remove:hover{background:var(--warm)}.dropzone{cursor:pointer;width:100%;font-family:inherit;transition:border-color .15s,color .15s,background .15s}.dropzone.dragging{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.news-article{flex-direction:column;gap:14px;display:flex}.news-article-title{font-size:clamp(26px,4vw,38px);line-height:1.15}.news-article-photo{margin:6px 0}.news-article-lead{color:var(--ink);margin:0;font-size:1.15em;font-weight:500;line-height:1.6}.news-article-body p{color:var(--ink-soft);white-space:pre-line;margin:0 0 14px;line-height:1.75}.admin-list{flex-direction:column;gap:8px;display:flex}.admin-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:12px;padding:11px 12px;display:flex}.admin-row-info{flex:1;min-width:0}.admin-row-info b{text-overflow:ellipsis;white-space:nowrap;font-size:.94em;display:block;overflow:hidden}.admin-row-info span{color:var(--ink-faint);font-size:.78em}.admin-row-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.tone-picker{gap:8px;display:flex}.tone-swatch{cursor:pointer;border:2px solid #0000;border-radius:10px;width:34px;height:34px}.tone-swatch.on{border-color:var(--ink)}.modal-form .field-label:first-child{margin-top:0}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@media (width<=560px){.admin-row{flex-wrap:wrap}.admin-row-actions{justify-content:flex-start;width:100%}}.admin-filters{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-bottom:12px;display:grid}.admin-filters select.text-input{width:auto}@media (width<=620px){.admin-filters{grid-template-columns:1fr 1fr}.admin-filters input{grid-column:1/-1}.admin-filters select.text-input{width:100%}}.admin-thumb{background:var(--surface);border:1px solid var(--line);width:46px;height:46px;color:var(--ink-faint);border-radius:10px;flex:none;place-items:center;display:grid;overflow:hidden}.admin-thumb img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=560px){.admin-thumb+.admin-row-info{flex-basis:calc(100% - 58px)}}.admin-row[data-status=removed] .admin-thumb,.admin-row[data-status=removed] .admin-row-info{opacity:.55}.badge-featured{background:var(--primary-soft);color:var(--primary)}.admin-more{justify-content:center;margin-top:12px;display:flex}.req{color:var(--warm);font-weight:700}.input-hint,.field-error{margin-top:5px;font-size:.78em;line-height:1.4;display:block}.input-hint{color:var(--ink-faint)}.field-error{color:var(--warm);font-weight:600}.text-input[aria-invalid=true]{border-color:var(--warm)}.details-privacy{color:var(--ink-soft);align-items:flex-start;gap:7px;margin:12px 0 0;font-size:.8em;line-height:1.5;display:flex}.details-privacy svg{color:var(--leaf);flex:none;margin-top:2px}.modal-intro{color:var(--ink-soft);margin:0 0 4px;font-size:.92em;line-height:1.55}.details-missing{border-color:var(--warm);background:var(--warm-soft);align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.details-missing>svg{color:var(--warm);flex:none}.details-missing>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.details-missing span{color:var(--ink-soft);font-size:.86em}@media (width<=560px){.details-missing{flex-wrap:wrap}}.own-listing{border-radius:var(--radius-sm);background:var(--leaf-soft);grid-template-columns:auto 1fr;align-items:start;gap:10px 12px;margin-top:16px;padding:14px;display:grid}.own-listing-ico{background:var(--surface);width:34px;height:34px;color:var(--leaf);border-radius:10px;place-items:center;display:grid}.own-listing>div{flex-direction:column;gap:3px;display:flex}.own-listing>div>span{color:var(--ink-soft);font-size:.86em;line-height:1.5}.own-listing .btn{grid-column:1/-1}.order-contact{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px;padding:10px 12px;font-size:.86em;display:flex}.order-contact-label{text-transform:uppercase;letter-spacing:.04em;width:100%;color:var(--ink-faint);font-size:.82em;font-weight:700}.order-contact-links{flex-wrap:wrap;gap:6px 12px;display:inline-flex}.order-contact a{color:var(--primary);align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}.order-contact a:hover{text-decoration:underline}.order-contact-address,.order-contact-missing{color:var(--ink-soft);align-items:flex-start;gap:5px;display:inline-flex}.order-contact.compact{background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:3px;margin:0;padding:0;font-size:1em}.order-contact.compact .order-contact-links,.order-contact.compact .order-contact-address{font-size:.86em}.screen.detail{max-width:1240px}.detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr)}.detail-photo-btn{aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface-2);cursor:zoom-in;border-radius:16px;place-items:center;width:100%;max-height:min(68vh,560px);padding:0;display:grid;position:relative;overflow:hidden}.detail-photo-btn img{object-fit:contain;width:100%;height:100%;display:block}.detail-zoom{background:var(--veil);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:.78em;font-weight:600;transition:opacity .2s;display:inline-flex;position:absolute;bottom:10px;right:10px}@media (hover:hover){.detail-zoom{opacity:0}.detail-photo-btn:hover .detail-zoom,.detail-photo-btn:focus-visible .detail-zoom{opacity:1}}@media (width<=880px){.detail-grid{grid-template-columns:1fr}.detail-photo-btn{max-height:56vh}}.viewer{z-index:120;background:var(--scrim-strong);touch-action:pan-y;place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}.viewer-img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:8px;max-width:94vw;max-height:88vh}.viewer-btn{color:#fff;cursor:pointer;background:oklch(100% 0 0/.14);border:none;border-radius:50%;place-items:center;width:46px;height:46px;transition:background .15s;display:grid;position:absolute}.viewer-btn:hover,.viewer-btn:focus-visible{background:oklch(100% 0 0/.28)}.viewer-close{top:max(14px, env(safe-area-inset-top,0px));right:14px}.viewer-prev{top:50%;left:14px;translate:0 -50%}.viewer-next{top:50%;right:14px;translate:0 -50%}.viewer-count{bottom:max(18px, env(safe-area-inset-bottom,0px));color:#fff;background:oklch(100% 0 0/.14);border-radius:999px;padding:4px 12px;font-size:.85em;font-weight:600;position:absolute;left:50%;translate:-50%}@media (width<=620px){.viewer-prev,.viewer-next{top:auto;bottom:12px;translate:none}}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}:where(a,button,[tabindex]):focus-visible{outline:3px solid color-mix(in oklab, var(--primary) 55%, transparent);outline-offset:2px;border-radius:10px}.block-head{flex-wrap:wrap}.dd-menu{transform-origin:top;animation:.18s pop}@media (width<=480px){:root{--hpad:16px;--gap:22px;--pad:14px}}.cat-tile:active,.hub-tile:active,.reg-tile:active{scale:.97}.lc-wrap:active .listing-card{scale:.985}.mtab{transition:scale .12s,color .2s}.mtab:active{scale:.92}.hw{vertical-align:top;margin-block:-.12em;padding-block:.12em;display:inline-block;overflow:hidden}.hw>span{display:inline-block}.hero-copy{min-width:0}.hero-collage{display:none}@media (width>=980px){.hero-inner:has(.hero-collage){grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;display:grid}.hero-collage{justify-self:end;width:100%;max-width:580px;height:430px;display:block;position:relative}}@media (width>=1500px){.hero-collage{justify-self:center;max-width:680px;height:500px}}.hc-tile{border:5px solid var(--surface);box-shadow:var(--shadow-lg);background:var(--surface-2);border-radius:22px;transition:scale .35s,box-shadow .35s;display:block;position:absolute;overflow:hidden}.hc-tile img{object-fit:cover;width:100%;height:100%;display:block}a.hc-tile:hover{z-index:3;scale:1.03}.hc-0{z-index:2;width:58%;height:70%;top:8%;left:6%;rotate:-2deg}.hc-1{width:38%;height:44%;top:0;right:0;rotate:3deg}.hc-2{width:40%;height:42%;bottom:2%;right:3%;rotate:-3deg}.hc-3{width:30%;height:30%;bottom:0;left:0;rotate:4deg}.hc-chip{z-index:4;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:16px;position:absolute}.hc-price{grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;max-width:220px;padding:10px 14px;display:grid;bottom:12%;left:36%}.hc-price b{font-family:var(--ff-display);color:var(--primary);font-size:1.25em;font-weight:800}.hc-price span{color:var(--ink-faint);font-size:.8em;font-weight:600}.hc-price small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:.76em;overflow:hidden}.hc-trust{color:var(--ink);align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:.8em;font-weight:700;display:flex;top:0;left:2%}.hc-trust-ico{background:var(--leaf-soft);width:28px;height:28px;color:var(--leaf);border-radius:50%;place-items:center;display:grid}.lc-wrap{min-width:0;display:flex;position:relative}.lc-wrap>.listing-card{flex:1;min-width:0}.lc-media{overflow:hidden}.lc-media img{transition:scale .5s}.lc-wrap:hover .lc-media img{scale:1.05}@media (width<=620px){.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lc-body{gap:4px;padding:10px 11px 11px}.lc-price{font-size:1.02em}.lc-title{font-size:.86em}.lc-meta{min-width:0;font-size:.72em}.lc-meta span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.lc-badges{gap:4px}.lc-badges .level-badge{font-size:.62em}.lc-endorsed{font-size:.66em}.lc-foot{gap:4px;padding-top:8px}.lc-sup{font-size:.74em}.lc-foot .rating{flex:none;font-size:.74em}.lc-fav{width:32px;height:32px;top:8px;right:8px}.lc-flag{font-size:.64em;top:8px;left:8px}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cat-tile{flex-direction:row;align-items:center;gap:10px;padding:10px 12px}.cat-ico{border-radius:10px;flex:none;width:36px;height:36px;margin-bottom:0}.cat-name{font-size:.86em;line-height:1.2}}.detail-main-photo{border-radius:16px;overflow:hidden}.thumb-row{scrollbar-width:thin;gap:8px;margin-top:10px;padding:2px;display:flex;overflow-x:auto}.thumb{border:2px solid var(--line);background:var(--surface-2);opacity:.75;border-radius:12px;flex:none;width:68px;height:68px;padding:0;transition:border-color .15s,opacity .15s,scale .12s;display:block;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb:hover{opacity:1}.thumb.on{border-color:var(--primary);opacity:1}@media (width<=620px){.thumb{border-radius:10px;width:58px;height:58px}}.thumb:active{scale:.95}.stepper button{transition:scale .12s,background .15s}.stepper button:active{scale:.88}.sticky-buy{display:none}@media (width<=880px){.sticky-buy{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:65;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:18px;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:fixed}.screen.detail{padding-bottom:130px}}@media (width<=720px){.sticky-buy{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}.sticky-buy-info{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.sticky-buy-title{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.76em;overflow:hidden}.sticky-buy-info b{font-family:var(--ff-display);color:var(--primary);white-space:nowrap;font-size:1.12em}.mtab-indicator{display:none}.topbar-post{display:inline-flex}@media (width<=720px){.topbar-post{display:none}.mtab{min-width:0;padding-inline:2px}.mtab span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.mtab-indicator{background:var(--primary);opacity:0;pointer-events:none;border-radius:0 0 4px 4px;width:28px;height:3px;margin-left:-14px;display:block;position:absolute;top:0;left:10%}}.skel{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 40%, var(--surface-2) 80%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite skel-shimmer;display:block}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-card{flex-direction:column;display:flex;overflow:hidden}.skel-media{aspect-ratio:4/3;border-radius:0;height:auto}.skel-body,.skel-row{padding:var(--pad);flex-direction:column;gap:10px;display:flex}.skel-tile{pointer-events:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
