*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--line-normal);color:var(--color-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background var(--dur-slow) var(--ease-out),color var(--dur-slow) var(--ease-out)}body,html{background:var(--color-bg)}body{display:flex;justify-content:center}.cat-tag,.count,.price,.range-row .v,.review-summary .score,.spec-list .v,.stat .n,.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1,"tnum"}.phone-shell{width:100%;max-width:420px;height:100vh;height:100dvh;position:relative;padding-bottom:calc(84px + env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);transition:background var(--dur-slow) var(--ease-out);background:radial-gradient(120% 60% at 100% 0,var(--satin-from) 0,var(--satin-to) 60%),var(--color-bg)}.phone-shell:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}.phone-shell>*{position:relative;z-index:1}@media (min-width:420px){.phone-shell{margin:0;border-radius:0;box-shadow:none}}.appbar{height:44px;padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.appbar h1{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:.04em}.appbar .back{font-size:20px;line-height:1;color:var(--color-fg);text-decoration:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out);background:transparent;border:none;cursor:pointer;font-family:inherit}.appbar .back:hover{background:var(--color-surface)}.appbar .actions{display:flex;gap:var(--space-2);align-items:center}.region-pill{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;white-space:nowrap;cursor:pointer;opacity:1;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.region-pill:hover{border-color:var(--color-border-rose)}.region-pill:active{transform:scale(.97)}.region-pill[disabled]{cursor:not-allowed;opacity:.6}.region-pill .ic{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:var(--color-primary)}.region-pill .ic svg{width:100%;height:100%}.region-pill .txt{line-height:1}.region-modal{position:fixed;inset:0;z-index:var(--z-toast)!important;display:none;align-items:center;justify-content:center;padding:var(--space-3);background:oklch(.18 .01 28/.52);-webkit-backdrop-filter:blur(8px) saturate(1.05);backdrop-filter:blur(8px) saturate(1.05);opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.region-modal[data-open=true]{display:flex;opacity:1}.region-modal__dialog{width:100%;max-width:min(90vw,360px);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-rose);padding:var(--space-4) var(--space-5) var(--space-5);box-shadow:0 16px 48px oklch(.18 .01 28/.28);transform:translateY(12px) scale(.98);transition:transform .28s var(--ease-out);max-height:calc(80dvh - var(--space-4));overflow-y:auto;display:flex;flex-direction:column}.region-modal[data-open=true] .region-modal__dialog{transform:translateY(0) scale(1)}.region-modal__handle{width:28px;height:3px;border-radius:var(--radius-full);background:var(--color-border-strong);margin:0 auto var(--space-3);opacity:.35}.region-modal__title{text-align:center;font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);color:var(--color-fg);margin-bottom:var(--space-1)}.region-modal__subtitle{text-align:center;font-size:var(--text-sm);color:var(--color-fg-muted);margin-bottom:var(--space-4)}.region-modal__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2);gap:var(--space-2);overflow-y:auto;padding-bottom:var(--space-2)}.region-chip{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;text-align:center;white-space:nowrap;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.region-chip:hover{border-color:var(--color-border-rose)}.region-chip:active{transform:scale(.96)}.region-chip.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-fg)}.region-chip.is-all{grid-column:span 4;background:var(--frost-bg);border-color:var(--color-border-rose);font-weight:var(--weight-semibold)}.region-modal__cancel{margin-top:var(--space-4);height:44px;width:100%;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-fg-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;flex-shrink:0}.region-modal__cancel:hover{background:var(--color-surface-alt);color:var(--color-fg)}@media (prefers-reduced-motion:reduce){.region-modal,.region-modal__dialog{transition:none}}.theme-toggle{transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--color-border-rose);box-shadow:var(--shadow-sm)}.theme-toggle:active{transform:translateY(0) scale(.96)}.theme-toggle .half{transition:opacity var(--dur-base) var(--ease-out)}.theme-toggle .half.left{background:oklch(.715 .135 25)}.theme-toggle .half.right{background:oklch(.785 .095 82)}.content{flex:1 1;padding:var(--space-4) var(--space-4) calc(80px + env(safe-area-inset-bottom));overflow-y:auto}@keyframes wolf-fadein{0%{opacity:0}to{opacity:1}}@keyframes wolf-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(var(--bar-target,1))}}@keyframes wolf-ripple{0%{transform:scale(0);opacity:.35}to{transform:scale(1.8);opacity:0}}@keyframes wolf-flip{0%{transform:rotateY(0) translateY(0)}40%{transform:rotateY(90deg) translateY(-6px)}to{transform:rotateY(180deg) translateY(0)}}.observe-fadein{opacity:0;transform:translate3d(0,8px,0);will-change:opacity,transform}.observe-fadein.is-visible{animation:wolf-fadein-up var(--dur-slow) var(--ease-out) forwards;animation-delay:calc(var(--stagger-head) + var(--stagger-step) * var(--idx, 0))}.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-top:var(--gap-section-lg);margin-bottom:var(--space-3);line-height:var(--line-tight);letter-spacing:.01em}.section-title .sub{display:block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-1)}.btn{height:48px;padding:0 var(--space-5);border-radius:var(--radius-full);font-size:var(--text-base);letter-spacing:.02em;position:relative;overflow:hidden;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0) scale(.98)}.btn-ghost{border-color:var(--color-border-strong)}.btn .ripple{position:absolute;border-radius:50%;width:100px;height:100px;background:oklch(1 0 0/.4);pointer-events:none;transform:scale(0);animation:wolf-ripple .52s var(--ease-out)}[data-theme=black-gold] .btn .ripple{background:oklch(.785 .095 82/.35)}.draw-banner{position:relative;border-radius:var(--radius-xl);background:radial-gradient(120% 90% at 100% 0,var(--color-primary-soft) 0,transparent 55%),var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);padding:var(--space-6);overflow:hidden;border:1px solid var(--color-border-rose);box-shadow:var(--shadow-sm),var(--frost-inset)}.draw-banner .kicker{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-fg-muted);margin-bottom:var(--space-2)}.draw-banner h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1;letter-spacing:-.01em}.draw-banner h2 em{font-style:normal;color:var(--color-primary)}.draw-banner p{margin-top:var(--space-3);color:var(--color-fg-muted);font-size:var(--text-sm);max-width:220px;line-height:var(--line-normal)}.draw-banner .meta{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.draw-banner .count{font-family:var(--font-numeric);font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-fg)}.draw-banner .count .small{font-size:var(--text-sm);color:var(--color-fg-muted);margin-left:2px}.draw-banner .card-stack{right:-10px;top:50%;transform:translateY(-50%) rotate(-8deg);width:110px;height:150px;pointer-events:none;box-shadow:var(--shadow-md)}.draw-banner .card-stack,.draw-banner .card-stack:after,.draw-banner .card-stack:before{position:absolute;border-radius:var(--radius-lg);background:var(--color-surface-alt);border:1px solid var(--color-border-strong)}.draw-banner .card-stack:after,.draw-banner .card-stack:before{content:"";inset:0}.draw-banner .card-stack:before{transform:translate(-8px,4px) rotate(-4deg);z-index:-1}.draw-banner .card-stack:after{transform:translate(-16px,8px) rotate(-8deg);z-index:-2;opacity:.7}.category-trio{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-5) 0 var(--gap-section)}.cat-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:var(--space-3) var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--color-border-rose);box-shadow:var(--shadow-xs),var(--frost-inset);text-decoration:none;color:var(--color-fg);overflow:hidden;min-height:116px;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.cat-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-card-hover),var(--frost-inset)}.cat-card:active{transform:translateY(0)}.cat-card.feature{grid-row:auto;background:radial-gradient(120% 80% at 100% 0,var(--color-primary-soft) 0,transparent 62%),var(--frost-bg);min-height:116px}.cat-card .cat-ic{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-primary);margin:0 0 var(--space-2);border:1px solid var(--color-border);flex-shrink:0}.cat-card.feature .cat-ic{color:var(--color-accent)}.cat-card .cat-ic svg{width:60%;height:60%}.cat-card .cat-name{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-base);line-height:var(--line-tight)}.cat-card.feature .cat-name{font-size:var(--text-base);letter-spacing:-.005em}.cat-card .cat-sub{margin-top:2px;font-size:10px;color:var(--color-fg-muted);line-height:var(--line-normal)}.cat-card.feature .cat-sub{font-size:10px}.cat-card .cat-arrow,.cat-card .cat-sub br,.cat-card .cat-tag{display:none}.cat-card .cat-sub:before{content:""}.home-search-hint{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px dashed var(--color-border-rose);display:flex;align-items:center;gap:var(--space-3);cursor:pointer;text-decoration:none;color:var(--color-fg);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.home-search-hint:hover{border-style:solid;border-color:var(--color-primary);transform:translateY(-2px);background:linear-gradient(180deg,var(--color-primary-soft),var(--frost-bg))}.home-search-hint .ic{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.home-search-hint .ic svg{width:18px;height:18px}.home-search-hint .body{flex:1 1}.home-search-hint .body .t{font-size:var(--text-sm);font-weight:var(--weight-medium)}.home-search-hint .body .s{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px}.home-search-hint .chev{color:var(--color-fg-subtle);transition:transform var(--dur-base) var(--ease-out)}.home-search-hint:hover .chev{transform:translateX(3px);color:var(--color-primary)}.therapist-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-3)}.therapist-card{position:relative;display:block;background:var(--color-surface);border-radius:16px;overflow:hidden;border:1px solid var(--color-border);cursor:pointer;text-decoration:none;color:var(--color-fg);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.therapist-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover),0 8px 22px -10px oklch(.45 .08 25/.45);border-color:var(--color-border-rose)}[data-theme=black-gold] .therapist-card:hover{box-shadow:var(--shadow-card-hover),0 0 0 1px var(--color-primary-fog),0 12px 28px -14px oklch(0 0 0/.7)}.therapist-card:active{transform:translateY(0)}.therapist-card .photo{aspect-ratio:4/5;background:linear-gradient(160deg,var(--color-surface-alt) 0,var(--color-primary-soft) 100%);position:relative;overflow:hidden}.therapist-card .photo:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,var(--color-surface-alt) 0,var(--color-primary-soft) 45%,var(--color-surface-alt) 90%);background-size:240% 100%;animation:wolf-skeleton 1.6s ease-in-out infinite;z-index:0}.therapist-card .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:1;transition:transform var(--dur-slow) var(--ease-out),filter var(--dur-base) var(--ease-out)}.therapist-card:hover .photo img{transform:scale(1.06)}.therapist-card .photo:after{content:"";position:absolute;inset:50% 0 0 0;background:linear-gradient(180deg,transparent,oklch(.235 .02 28/.55));pointer-events:none}[data-theme=black-gold] .therapist-card .photo:after{background:linear-gradient(180deg,transparent,oklch(0 0 0/.65))}.therapist-card .photo .lock{position:absolute;top:5px;right:5px;width:14px;height:14px;color:oklch(.98 0 0);opacity:.85;filter:drop-shadow(0 1px 2px oklch(0 0 0/.4));z-index:2}.therapist-card .photo .badge-rare{position:absolute;top:5px;left:5px;font-size:9px;font-family:var(--font-numeric);letter-spacing:.08em;padding:1px 4px;border-radius:var(--radius-xs);background:var(--color-primary);color:var(--color-fg-on-primary);z-index:2}.therapist-card .photo .photo-service-chips{position:absolute;top:6px;left:6px;display:flex;flex-direction:column;gap:3px;z-index:2;pointer-events:none}.therapist-card .photo .photo-service-chips span{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;padding:2px 6px;border-radius:var(--radius-sm);background:oklch(.98 0 0/.92);color:oklch(.2 .02 28);border:1px solid oklch(0 0 0/.1);box-shadow:0 1px 3px oklch(0 0 0/.2);white-space:nowrap}[data-theme=black-gold] .therapist-card .photo .photo-service-chips span{background:oklch(.18 .02 28/.85);color:var(--color-primary);border-color:var(--color-border-rose)}.therapist-card .photo .nationality-chip{position:absolute;top:8px;right:8px;width:auto;height:auto;padding:0;background:transparent;border:none;box-shadow:none;z-index:2;pointer-events:none;display:block}.therapist-card .photo .nationality-chip img,.therapist-card .photo .nationality-chip svg{width:60px;height:45px;display:block;border-radius:4px;object-fit:cover;border:2px solid oklch(1 0 0/.9);box-shadow:0 2px 8px oklch(0 0 0/.5)}[data-theme=black-gold] .therapist-card .photo .nationality-chip{background:oklch(.18 .02 28/.85);color:var(--color-primary);border-color:var(--color-border-rose)}.therapist-card .photo .photo-overlay{position:absolute;left:0;right:0;bottom:0;padding:4px 6px 5px;z-index:2;color:oklch(.98 0 0)}.therapist-card .photo .photo-overlay .name{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1.2;letter-spacing:.02em;text-shadow:0 1px 2px oklch(0 0 0/.5)}.therapist-card .photo .photo-overlay .rating{margin-top:2px;font-size:var(--text-xs);display:inline-flex;align-items:center;gap:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.95}.therapist-card .photo .photo-overlay .rating .star,[data-theme=black-gold] .therapist-card .photo .photo-overlay .rating .star{color:var(--color-primary)}.therapist-card .body{padding:10px;display:flex;flex-direction:column;gap:4px}.therapist-card .body .name-row{display:flex;align-items:baseline;gap:4px}.therapist-card .body .name-row .name{font-family:var(--font-display);font-size:20px;font-weight:var(--weight-bold);color:var(--color-fg);line-height:1.1;letter-spacing:0}.therapist-card .body .name-row .age{font-size:12px;color:var(--color-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.therapist-card .body .spec{font-size:10px;margin-top:-2px;color:var(--color-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.therapist-card .body .spec .spec-area{margin-left:6px;opacity:.8}.therapist-card .body .type-price-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}.therapist-card .body .type-chip{font-size:12px;font-weight:var(--weight-medium);padding:1px 8px;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:0}.therapist-card .body .type-chip[data-type=parlor]{background:oklch(.72 .1 80);color:oklch(.18 .02 28)}.therapist-card .body .type-chip[data-type=indie]{background:oklch(.62 .14 240);color:oklch(.98 0 0)}.therapist-card .body .type-chip[data-type=outcall]{background:var(--color-primary-soft);color:var(--color-primary)}.therapist-card .body .price{font-family:var(--font-numeric);font-size:16px;font-weight:var(--weight-bold);color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.therapist-card .body .cta{margin-top:8px;width:100%;padding:8px 0;font-size:12px;font-weight:var(--weight-semibold);border-radius:16px}.therapist-card .body .tags{display:flex;gap:3px;margin-top:3px;flex-wrap:nowrap;overflow:hidden}.therapist-card .body .tags span{font-size:8.5px;line-height:1.4;letter-spacing:.03em;padding:1px 4px;border-radius:var(--radius-xs);background:var(--color-surface-alt);color:var(--color-fg-muted);white-space:nowrap;border:1px solid var(--color-border)}[data-theme=black-gold] .therapist-card .body .tags span{color:var(--color-primary);border-color:var(--color-border-rose)}.home-hero{position:relative;margin:0 calc(-1 * var(--space-4)) var(--space-4);height:240px;overflow:hidden;border-bottom:1px solid var(--color-border)}.home-hero__bg{position:absolute;inset:0;z-index:0}.home-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:brightness(.55) saturate(1.05)}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(0 0 0/0) 0,oklch(0 0 0/.35) 60%,var(--color-bg) 100%),radial-gradient(120% 80% at 20% 100%,var(--color-primary-fog) 0,transparent 55%);z-index:1;pointer-events:none}[data-theme=black-gold] .home-hero:after{background:linear-gradient(180deg,oklch(0 0 0/.1) 0,oklch(0 0 0/.55) 60%,var(--color-bg) 100%),radial-gradient(120% 80% at 20% 100%,oklch(.785 .095 82/.18) 0,transparent 55%)}.home-hero__inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-5) var(--space-4) var(--space-4);color:oklch(.98 0 0)}.home-hero__kicker{font-family:var(--font-numeric);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;opacity:.85;margin-bottom:var(--space-2)}.home-hero__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1;letter-spacing:-.015em}.home-hero__title em{font-style:normal;color:var(--color-primary);text-shadow:0 2px 12px oklch(.45 .12 25/.5)}[data-theme=black-gold] .home-hero__title em{color:var(--color-accent);text-shadow:0 2px 12px oklch(.785 .095 82/.6)}.home-hero__sub{margin-top:var(--space-2);font-size:var(--text-sm);opacity:.92;letter-spacing:.04em}.home-hero__cta{margin-top:var(--space-3);display:flex;gap:var(--space-2)}.home-hero__cta .btn{height:40px;padding:0 var(--space-4);font-size:var(--text-sm)}.home-hero__cta .btn-ghost{color:oklch(.98 0 0);border-color:oklch(.98 0 0/.45);background:oklch(0 0 0/.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-hero__cta .btn-ghost:hover{background:oklch(0 0 0/.35);border-color:oklch(.98 0 0/.7)}.draw-card-frame .card-back-art{position:absolute;inset:6%;width:88%;height:88%;object-fit:cover;object-position:center top;border-radius:var(--radius-lg);filter:blur(14px) saturate(.85) brightness(.7);z-index:0;opacity:.85}.draw-card-frame .pattern{z-index:1;background:transparent}.draw-card-frame:after{content:"";position:absolute;inset:0;border-radius:var(--radius-xl);background:radial-gradient(70% 50% at 50% 30%,transparent 0,var(--color-bg) 95%);opacity:.55;pointer-events:none}.card-deck{display:flex;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2);justify-content:center}.deck-thumb{position:relative;width:44px;aspect-ratio:3/4;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border-strong);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.deck-thumb img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:blur(8px) saturate(.8)}.deck-thumb:hover{transform:translateY(-2px);border-color:var(--color-primary)}.deck-thumb .deck-tag{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);font-family:var(--font-numeric);font-size:7px;letter-spacing:.1em;padding:1px 4px;border-radius:var(--radius-xs);background:var(--color-bg);color:var(--color-fg);font-weight:var(--weight-semibold)}.deck-thumb[data-rarity=legendary]{border-color:var(--color-legendary);box-shadow:0 0 12px -2px var(--color-legendary)}.deck-thumb[data-rarity=epic]{border-color:var(--color-epic)}.deck-thumb[data-rarity=rare]{border-color:var(--color-rare)}.coupon.coupon--with-art{padding-left:var(--space-3)}.coupon-art{width:44px;height:44px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;border:1px solid var(--color-border);position:relative}.coupon-art img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.85)}.coupon[data-rarity=legendary] .coupon-art{box-shadow:0 0 8px -2px var(--color-legendary);border-color:var(--color-legendary)}.detail-gallery-wrap{position:relative}.favorite-btn--on-gallery{position:absolute;top:var(--space-3);right:var(--space-3);z-index:4}.hero-gallery{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--space-4))}.hero-gallery::-webkit-scrollbar{display:none}.g-thumb{position:relative;width:72px;flex-shrink:0;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.g-thumb:hover{transform:translateY(-2px);border-color:var(--color-primary)}.g-thumb img{width:100%;height:100%;object-fit:cover;object-position:center top}.g-thumb.is-locked img{filter:blur(8px) saturate(.75) brightness(.85)}.g-thumb.is-locked:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,oklch(.235 .02 28/.4))}[data-theme=black-gold] .g-thumb.is-locked:after{background:linear-gradient(180deg,transparent 40%,oklch(0 0 0/.55))}.g-lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;color:oklch(.98 0 0);filter:drop-shadow(0 1px 3px oklch(0 0 0/.5));z-index:1}.g-lock svg{width:100%;height:100%}.advisor-avatar{width:84px;height:84px;border-radius:var(--radius-full);overflow:hidden;margin:0 auto var(--space-3);position:relative;border:2px solid var(--color-border-rose);box-shadow:var(--shadow-md),0 0 0 4px var(--color-primary-fog)}.advisor-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top}.advisor-status{position:absolute;right:4px;bottom:4px;width:14px;height:14px;border-radius:var(--radius-full);background:var(--color-success);border:2px solid var(--color-bg);box-shadow:0 0 10px var(--color-success);animation:wolf-pulse 2s ease-in-out infinite}@keyframes wolf-pulse{0%,to{box-shadow:0 0 0 0 var(--color-success)}50%{box-shadow:0 0 0 6px transparent}}.profile-header .avatar-lg{position:relative;overflow:hidden;background:var(--color-surface-alt)}.profile-header .avatar-lg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.fav-strip{display:flex;gap:var(--space-2);padding:var(--space-1) 0 var(--space-2);overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4)}.fav-strip::-webkit-scrollbar{display:none}.fav-thumb{position:relative;width:84px;flex-shrink:0;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);text-decoration:none;color:var(--color-fg);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.fav-thumb:hover{transform:translateY(-2px);border-color:var(--color-border-rose)}.fav-thumb img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:blur(6px) saturate(.85)}.fav-thumb:after{content:"";position:absolute;inset:50% 0 0 0;background:linear-gradient(180deg,transparent,oklch(.235 .02 28/.65))}[data-theme=black-gold] .fav-thumb:after{background:linear-gradient(180deg,transparent,oklch(0 0 0/.7))}.fav-thumb .fav-name{position:absolute;left:0;right:0;bottom:4px;text-align:center;font-size:10px;font-family:var(--font-display);font-weight:var(--weight-semibold);color:oklch(.98 0 0);text-shadow:0 1px 2px oklch(0 0 0/.6);letter-spacing:.04em;z-index:1}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(84px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;z-index:var(--z-sticky);max-width:375px;left:50%;right:auto;transform:translateX(-50%)}@media (min-width:420px){.bottom-nav{position:absolute;left:0;right:0;max-width:none;transform:none}}.nav-item{flex-direction:column;justify-content:flex-start;padding-top:10px;padding-bottom:6px;gap:4px;font-size:11px;line-height:1.1;text-decoration:none;position:relative;transition:color var(--dur-fast) var(--ease-out)}.nav-item.active{color:var(--color-primary);font-weight:var(--weight-medium)}.nav-item.active:after{content:"";position:absolute;top:0;width:22px;height:3px;background:var(--color-primary);border-radius:0 0 var(--radius-full) var(--radius-full);animation:wolf-fadein var(--dur-base) var(--ease-out)}.nav-item svg{width:22px;height:22px;stroke-width:1.6}.nav-item.center{padding-top:0;padding-bottom:8px;justify-content:flex-end;gap:2px}.nav-item.center .fab{width:52px;height:52px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);display:flex;align-items:center;justify-content:center;margin-top:-22px;margin-bottom:2px;box-shadow:var(--shadow-md);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.nav-item.center .fab:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.nav-item.center .fab:active{transform:translateY(0) scale(.96)}.nav-item.center .fab svg{width:24px;height:24px;stroke-width:1.8;color:inherit}.draw-stage{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-7) var(--space-4) var(--space-4);position:relative}.draw-stage .stage-kicker{font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--color-fg-muted);font-family:var(--font-numeric)}.draw-stage h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-top:var(--space-2);text-align:center;letter-spacing:-.005em;line-height:var(--line-tight)}.draw-card-frame{margin:var(--space-8) 0 var(--space-6);width:220px;aspect-ratio:5/7;border-radius:var(--radius-xl);background:radial-gradient(80% 60% at 50% 28%,var(--color-primary-soft) 0,transparent 70%),var(--color-surface);border:1px solid var(--color-border-rose);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-lg),var(--frost-inset);transform:rotate(-2deg);cursor:pointer;transition:transform var(--dur-slow) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out);transform-style:preserve-3d}.draw-card-frame:hover{transform:rotate(-2deg) translateY(-4px);box-shadow:var(--shadow-lg),0 0 32px var(--color-primary-fog)}.draw-card-frame[data-state=flipping]{animation:wolf-flip .8s var(--ease-out)}.draw-card-frame .pattern{width:78%;height:78%;border:1px solid var(--color-border-rose);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-fg-muted);font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:.2em;position:relative}.draw-card-frame .pattern:after{content:"";position:absolute;inset:10px;border:1px solid var(--color-border-rose);border-radius:var(--radius-md);opacity:.5}.draw-stage .draw-cta{margin-top:var(--space-2);width:100%;max-width:280px}.draw-stage .draw-cta .btn{width:100%;height:56px;font-size:var(--text-lg)}.draw-stage .free-hint{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.08em}.coupon-list{margin-top:var(--gap-section);display:flex;flex-direction:column;gap:var(--space-2)}.coupon{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);border:1px dashed var(--color-border-strong);position:relative;overflow:hidden;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.coupon:hover{transform:translateY(-1px);border-style:solid;border-color:var(--color-border-rose);box-shadow:var(--shadow-sm)}.coupon .rarity-bar{width:4px;position:absolute;left:0;top:0;bottom:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.coupon[data-rarity=common] .rarity-bar{background:var(--color-border-strong)}.coupon[data-rarity=rare] .rarity-bar{background:var(--color-rare)}.coupon[data-rarity=epic] .rarity-bar{background:var(--color-epic)}.coupon[data-rarity=legendary] .rarity-bar{background:var(--color-legendary)}.coupon .info{flex:1 1}.coupon .info .title{font-size:var(--text-sm);font-weight:var(--weight-medium)}.coupon .info .sub{margin-top:2px}.coupon .expire,.coupon .info .sub{font-size:var(--text-xs);color:var(--color-fg-muted)}.coupon .expire{font-family:var(--font-numeric);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.favorite-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:oklch(.18 .02 28/.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:oklch(.98 0 0);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.favorite-btn:hover{transform:scale(1.08)}.favorite-btn:active{transform:scale(.94)}.favorite-btn[data-favorited=true]{color:var(--color-primary)}.favorite-btn svg{width:24px;height:24px}.detail-header{margin-top:var(--space-3);position:relative;z-index:1;padding:0;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.detail-header__main{display:flex;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);min-width:0}.detail-header .tagline{margin:0;padding-top:var(--space-2);line-height:1.3;white-space:nowrap;text-align:right}.detail-header .badge-type{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);font-weight:var(--weight-semibold)}.detail-header h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-top:var(--space-1);line-height:1;letter-spacing:-.01em}.detail-header .tagline{margin-top:var(--space-2);color:var(--color-fg-muted);font-size:var(--text-sm);line-height:var(--line-normal)}.spec-list{margin-top:var(--space-4);display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.spec-list .row{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.spec-list .k{color:var(--color-fg-muted);letter-spacing:.06em}.spec-list .v{color:var(--color-fg);font-weight:var(--weight-medium)}.cta-stack{margin-top:var(--gap-section-lg);padding:var(--space-4) var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--color-border-rose);box-shadow:var(--shadow-sm),var(--frost-inset)}.cta-stack .pre{font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--space-2)}.cta-stack .lead{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.cta-stack .sub{font-size:var(--text-sm);color:var(--color-fg-muted);line-height:var(--line-normal);margin-bottom:var(--space-4)}.cta-stack .btn-row{display:flex;gap:var(--space-2)}.cta-stack .btn-row .btn{flex:1 1;height:48px;padding:0 var(--space-3);font-size:var(--text-sm)}.cta-stack .btn-row .btn-primary{flex:1.4 1;font-size:var(--text-base)}.plf-line-input{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-3) 0 var(--space-2)}.plf-line-input:focus-within{border-color:var(--ch-line-border)}.plf-line-input .plf-icon{flex:0 0 auto;width:26px;height:26px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--plf-icon-bg);color:var(--plf-icon-fg)}.plf-line-input .plf-icon svg{width:16px;height:16px}.plf-line-input input{flex:1 1;min-width:0;border:0!important;background:transparent!important;outline:0;padding:var(--space-3) 0;font-family:var(--font-body);color:var(--color-fg);font-size:var(--text-sm)}.plf-line-input input::placeholder{color:var(--plf-prefix-fg)}.plf-line-input .plf-valid{flex:0 0 auto;display:none;width:20px;height:20px;border-radius:var(--radius-full);align-items:center;justify-content:center;background:var(--plf-valid-bg);color:var(--plf-valid-fg);font-size:var(--text-xs);line-height:1}.plf-line-input[data-valid=true] .plf-valid{display:inline-flex}.plf-hint{font-size:10px;color:var(--plf-hint-fg);margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.plf-hint code{font-family:var(--font-mono);font-size:10px;color:var(--color-fg-muted)}.line-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:52px;border-radius:var(--radius-full);border:1px solid transparent;background:var(--line-cta-bg);color:var(--line-cta-fg);box-shadow:var(--line-cta-shadow);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out)}.line-cta:hover{transform:translateY(-1px);background:var(--line-cta-hover-bg);filter:brightness(1.03)}.line-cta:active{transform:translateY(0) scale(.98)}.line-cta svg{width:21px;height:21px;color:var(--line-cta-icon-fg);flex:0 0 auto}.line-cta--off{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:52px;border-radius:var(--radius-full);background:var(--line-cta-off-bg);color:var(--line-cta-off-fg);border:1px solid var(--line-cta-off-border);box-shadow:none;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:.02em;cursor:not-allowed;pointer-events:none}.line-cta--off svg{width:19px;height:19px;opacity:.55;flex:0 0 auto}.cta-stack .line-cta-off-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--line-cta-off-hint-fg);text-align:center;line-height:var(--line-normal)}@media (prefers-reduced-motion:reduce){.line-cta{transition:none}}.service-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.service-grid .svc{font-size:var(--text-xs);padding:6px var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-fg);letter-spacing:.04em;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.service-grid .svc:hover{border-color:var(--color-border-rose)}.service-grid .svc.note{color:var(--color-fg-muted);border-style:dashed}.review-summary{margin-top:var(--space-3);gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.review-summary .score{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1;letter-spacing:-.01em}.review-summary .meta{font-size:var(--text-sm);color:var(--color-fg-muted)}.review-summary .meta .stars{color:var(--color-primary);letter-spacing:.06em;font-size:var(--text-base)}.review-item{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.review-item:last-child{border-bottom:none}.review-item .head{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-fg-muted);margin-bottom:var(--space-1)}.review-item .head .stars{color:var(--color-primary);letter-spacing:.04em}.review-item .body{font-size:var(--text-sm);color:var(--color-fg);line-height:var(--line-relaxed)}.notice-block{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border)}.notice-block .t{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.notice-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.notice-block li{font-size:var(--text-sm);color:var(--color-fg);padding-left:var(--space-4);position:relative;line-height:var(--line-normal)}.notice-block li:before{content:"";position:absolute;left:0;top:.65em;width:8px;height:1px;background:var(--color-primary)}.advisor-card{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);padding:var(--space-10) var(--space-4) var(--space-6);background:radial-gradient(120% 90% at 50% 0,var(--color-primary-soft) 0,transparent 60%),var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-bottom:1px solid var(--color-border);text-align:center;position:relative}.advisor-card .badge-ic{width:64px;height:64px;margin:0 auto var(--space-3);border-radius:var(--radius-full);background:var(--color-bg);border:1px solid var(--color-border-rose);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm),var(--frost-inset);position:relative}.advisor-card .badge-ic:after{content:"";position:absolute;right:4px;bottom:4px;width:12px;height:12px;border-radius:var(--radius-full);background:var(--color-success);border:2px solid var(--color-bg)}.advisor-card .badge-ic svg{width:28px;height:28px;color:var(--color-primary)}.advisor-card .role{font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--color-fg-muted)}.advisor-card .h{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin-top:var(--space-1);letter-spacing:-.005em}.advisor-card .desc{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-fg-muted);line-height:var(--line-normal);max-width:280px;margin-left:auto;margin-right:auto}.advisor-card .actions{margin-top:var(--space-5)}.advisor-card .actions,.contact-chips{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.contact-chips{margin-top:var(--space-4)}.contact-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-bg);border:1px solid var(--color-border-strong);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;color:var(--color-fg);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.contact-chip:hover{transform:translateY(-1px);border-color:var(--color-primary);background:var(--color-primary-soft)}.contact-chip svg{width:16px;height:16px}.menu-list{margin-top:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.menu-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-base);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.menu-row:last-child{border-bottom:none}.menu-row .ic,.menu-row:hover{background:var(--color-surface-alt)}.menu-row .ic{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.menu-row .ic svg{width:18px;height:18px}.menu-row .label{flex:1 1;font-weight:var(--weight-medium);font-size:var(--text-sm)}.menu-row .meta{font-size:var(--text-xs);color:var(--color-fg-muted)}.menu-row .chev{color:var(--color-fg-subtle);transition:transform var(--dur-fast) var(--ease-out)}.menu-row:hover .chev{transform:translateX(2px);color:var(--color-primary)}.menu-row .task-check{width:22px;height:22px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);cursor:pointer}.menu-row .task-check svg{width:14px;height:14px;color:var(--color-fg-on-primary);opacity:0;transform:scale(.6);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.menu-row.is-done .task-check{background:var(--color-primary);border-color:var(--color-primary)}.menu-row.is-done .task-check svg{opacity:1;transform:scale(1)}.menu-row.is-done .label{color:var(--color-fg-muted);text-decoration:line-through}.profile-header{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-2) 0 var(--space-4)}.profile-header .avatar-lg{width:64px;height:64px;border-radius:var(--radius-full);background:radial-gradient(60% 60% at 30% 30%,var(--color-primary-soft),var(--color-accent) 90%);border:1px solid var(--color-border-rose);flex-shrink:0;box-shadow:var(--shadow-sm)}.profile-header .who{flex:1 1}.profile-header .who .name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.profile-header .who .level{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px;letter-spacing:.06em}.level-bar{margin-top:var(--space-2);height:6px;background:var(--color-surface-alt);overflow:hidden;position:relative}.level-bar,.level-bar>span{border-radius:var(--radius-full)}.level-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary) 0,var(--color-accent) 100%);transform-origin:left center;width:100%;transform:scaleX(0)}.level-bar.is-visible>span{animation:wolf-bar-grow .7s var(--ease-out) forwards;animation-delay:.2s}.advisor-inline{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--color-border-rose);box-shadow:var(--shadow-xs),var(--frost-inset);display:flex;align-items:center;gap:var(--space-3);cursor:pointer;text-decoration:none;color:var(--color-fg);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.advisor-inline:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm),var(--frost-inset)}.advisor-inline .ic{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.advisor-inline .ic svg{width:20px;height:20px}.advisor-inline .body{flex:1 1}.advisor-inline .body .t{font-size:var(--text-sm);font-weight:var(--weight-medium)}.advisor-inline .body .s{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px}.advisor-inline .go{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3)}.stat-grid .stat{padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:center;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.stat-grid .stat:hover{transform:translateY(-1px);border-color:var(--color-border-rose)}.stat .n{font-family:var(--font-numeric);font-size:var(--text-lg);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .l{font-size:11px;color:var(--color-fg-muted);letter-spacing:.1em;margin-top:2px}.search-hero{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);padding:var(--space-6) var(--space-4) var(--space-4);background:radial-gradient(140% 90% at 100% 0,var(--color-primary-soft) 0,transparent 55%),var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-bottom:1px solid var(--color-border)}.search-hero .kicker{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-fg-muted)}.search-hero h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--line-tight);margin-top:var(--space-2);letter-spacing:-.005em}.search-bar{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);box-shadow:var(--shadow-xs);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.search-bar:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-sm),0 0 0 3px var(--color-primary-fog)}.search-bar svg{width:18px;height:18px;color:var(--color-fg-muted);flex-shrink:0}.search-bar input{flex:1 1;border:0;outline:0;background:transparent;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-fg)}.search-bar input::placeholder{color:var(--color-fg-subtle)}.quickfilter-row{margin-top:var(--space-4);display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-1)}.quickfilter-row::-webkit-scrollbar{display:none}.qf-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-bg);border:1px solid var(--color-border-strong);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;color:var(--color-fg);transition:all var(--dur-fast) var(--ease-out)}.qf-chip:hover{border-color:var(--color-border-rose);transform:translateY(-1px)}.qf-chip.active,.qf-chip[data-state=active]{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg)}.qf-chip .caret{font-size:10px;opacity:.6;margin-left:2px}.type-tabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-alt);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.type-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.type-tab svg{width:18px;height:18px}.type-tab:hover{color:var(--color-fg)}.type-tab.active,.type-tab[data-state=active]{background:var(--color-bg);color:var(--color-fg);box-shadow:var(--shadow-xs)}.type-tab .lbl{font-size:var(--text-xs);letter-spacing:.02em}.filter-section{margin-top:var(--gap-section)}.filter-section .filter-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3)}.filter-section .filter-head .label{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:.02em}.filter-section .filter-head .count{font-family:var(--font-numeric);font-size:var(--text-xs);color:var(--color-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag-cloud .tag{padding:6px var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-sm);font-weight:var(--weight-regular);cursor:pointer;color:var(--color-fg);transition:all var(--dur-fast) var(--ease-out)}.tag-cloud .tag:hover{border-color:var(--color-border-rose);transform:translateY(-1px)}.tag-cloud .tag.active,.tag-cloud .tag[data-state=active]{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-fg);font-weight:var(--weight-medium);box-shadow:inset 0 0 0 1px var(--color-primary)}.range-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px dashed var(--color-border)}.range-row .k{font-size:var(--text-sm);color:var(--color-fg-muted)}.range-row .v{font-family:var(--font-numeric);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg)}.range-track{margin-top:var(--space-2);height:4px;background:var(--color-surface-alt);border-radius:var(--radius-full);position:relative}.range-track .fill{top:0;bottom:0;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.range-track .fill,.range-track .knob{position:absolute;border-radius:var(--radius-full)}.range-track .knob{top:50%;width:18px;height:18px;background:var(--color-bg);border:2px solid var(--color-primary);transform:translate(-50%,-50%);box-shadow:var(--shadow-sm),0 0 0 4px var(--color-primary-fog);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);cursor:-webkit-grab;cursor:grab}.range-track .knob:hover{transform:translate(-50%,-50%) scale(1.1)}.sort-row{margin-top:var(--space-4);display:flex;gap:var(--space-3);align-items:center;font-size:var(--text-sm)}.sort-row .lbl{color:var(--color-fg-muted);letter-spacing:.06em}.sort-row .opts{display:flex;gap:var(--space-4);flex:1 1;flex-wrap:wrap}.sort-row .opt{font-size:var(--text-sm);color:var(--color-fg-muted);cursor:pointer;position:relative;padding-bottom:4px;transition:color var(--dur-fast) var(--ease-out)}.sort-row .opt:hover{color:var(--color-fg)}.sort-row .opt.active{color:var(--color-fg);font-weight:var(--weight-medium)}.sort-row .opt.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-primary);border-radius:var(--radius-full)}.search-cta-bar{position:-webkit-sticky;position:sticky;bottom:0;margin:var(--space-6) calc(-1 * var(--space-4)) 0;padding:var(--space-3) var(--space-4);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);align-items:center}.search-cta-bar .reset{font-size:var(--text-sm);color:var(--color-fg-muted);cursor:pointer;padding:var(--space-2);transition:color var(--dur-fast) var(--ease-out)}.search-cta-bar .reset:hover{color:var(--color-fg)}.search-cta-bar .apply{flex:1 1}.index-shell{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-4);background:var(--color-bg);min-height:100vh}.index-shell h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.01em}.index-shell .lead{margin-top:var(--space-2);color:var(--color-fg-muted);max-width:640px;line-height:var(--line-normal)}.index-shell .theme-row{margin:var(--space-6) 0;display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.frames{display:grid;grid-template-columns:repeat(auto-fit,minmax(395px,1fr));grid-gap:var(--space-8);gap:var(--space-8);margin-top:var(--space-6)}.frame{display:flex;flex-direction:column;align-items:stretch}.frame .lbl{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);padding:var(--space-2) var(--space-3);display:flex;align-items:baseline;gap:var(--space-2)}.frame .lbl .num{font-family:var(--font-numeric);color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-base)}.frame iframe{width:100%;height:812px;border:1px solid var(--color-border-rose);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-md)}[data-theme=black-gold] .btn-primary{background:var(--gold-grad-base);color:var(--color-fg-on-primary);border:1px solid transparent;background-clip:padding-box}[data-theme=black-gold] .btn-primary:hover{background:var(--gold-grad-soft),var(--gold-grad-base);filter:brightness(1.05)}[data-theme=black-gold] .nav-item.center .fab{background:var(--gold-grad-base)}[data-theme=black-gold] .therapist-card .photo .badge-rare{background:var(--gold-grad-base);color:var(--color-fg-on-primary);border:none}[data-theme=black-gold] .appbar h1,[data-theme=black-gold] .draw-stage .rare-num,[data-theme=black-gold] .draw-stage .rarity-label{background:var(--gold-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}[data-theme=black-gold] .therapist-card{border:1px solid transparent;background-image:linear-gradient(var(--color-surface),var(--color-surface)),var(--gold-grad-base);background-origin:border-box;background-clip:padding-box,border-box}.appbar h1,.banner h1,.banner-card h1,.banner-card h2,.product-card .title,.profile-header .who .name,.section-title,.therapist-card .body .name,h1,h2,h3{font-family:var(--font-heading);font-weight:900;letter-spacing:-.01em}.price,.price .num,.price-large,.stat .n{font-family:var(--font-number);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.num-display,.title-en{font-family:"Funnel Display",var(--font-heading);font-weight:800;letter-spacing:-.02em}.channel-modal{position:fixed;inset:0;z-index:200;display:none;align-items:flex-end;justify-content:center;background:oklch(.18 .01 28/.52);-webkit-backdrop-filter:blur(8px) saturate(1.05);backdrop-filter:blur(8px) saturate(1.05);opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.channel-modal[data-open=true]{display:flex;opacity:1}.channel-modal__dialog{width:min(100%,375px);max-height:calc(100dvh - var(--space-6));overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--color-surface);border-top-left-radius:var(--radius-xl,20px);border-top-right-radius:var(--radius-xl,20px);border:1px solid var(--color-border-rose);border-bottom:none;padding:var(--space-3) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));box-shadow:0 -12px 40px oklch(.18 .01 28/.28);transform:translateY(24px);transition:transform .36s var(--ease-out);position:relative}.channel-modal[data-open=true] .channel-modal__dialog{transform:translateY(0)}.channel-modal--center{align-items:center;padding:var(--space-4)}.channel-modal--center .channel-modal__dialog{border-radius:var(--radius-xl);border:1px solid var(--color-border-rose);box-shadow:var(--shadow-lg);max-height:calc(100dvh - var(--space-8));padding-bottom:var(--space-6)}.channel-modal__handle{width:40px;height:4px;border-radius:var(--radius-full);background:var(--color-border-strong);margin:0 auto var(--space-3);opacity:.55}.channel-modal__title{text-align:center;font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);color:var(--color-fg);margin-bottom:var(--space-1)}.channel-modal__subtitle{text-align:center;font-size:var(--text-sm);color:var(--color-fg-muted);margin-bottom:var(--space-5)}.channel-modal__actions{display:flex;flex-direction:column;gap:var(--space-3)}.channel-btn{display:flex;gap:var(--space-3);height:56px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out)}.channel-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.channel-btn:active{transform:translateY(0)}.channel-btn.line{background:oklch(.745 .19 145);color:oklch(.985 .005 145);box-shadow:0 6px 18px oklch(.745 .19 145/.32)}.channel-btn.tg{background:oklch(.665 .14 235);color:oklch(.985 .005 235);box-shadow:0 6px 18px oklch(.665 .14 235/.32)}.channel-modal__cancel{margin-top:var(--space-4);height:48px;width:100%;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-fg-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.channel-modal__cancel:hover{background:var(--color-surface-alt);color:var(--color-fg)}@media (prefers-reduced-motion:reduce){.channel-modal,.channel-modal__dialog{transition:none}}@keyframes wolf-draw-shake{0%,to{transform:rotate(-2deg) translate(0)}20%{transform:rotate(-3deg) translate(-2px,1px)}40%{transform:rotate(-1deg) translate(2px,-1px)}60%{transform:rotate(-3deg) translate(-1px,2px)}80%{transform:rotate(-2deg) translate(1px,-1px)}}@keyframes wolf-draw-glow{0%,to{box-shadow:var(--shadow-lg),0 0 24px var(--color-primary-fog)}50%{box-shadow:var(--shadow-lg),0 0 48px var(--color-primary-fog),0 0 80px var(--color-primary-fog)}}@keyframes wolf-draw-reveal{0%{transform:rotate(-2deg) rotateY(0deg)}50%{transform:rotate(0deg) rotateY(90deg) scale(1.05)}to{transform:rotate(0deg) rotateY(0deg) scale(1)}}@keyframes wolf-prize-pop{0%{opacity:0;transform:translateY(16px) scale(.92)}60%{opacity:1;transform:translateY(-4px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wolf-cooldown-ring{0%{stroke-dashoffset:0}to{stroke-dashoffset:251.2}}.draw-card-frame[data-state=drawing]{animation:wolf-draw-shake .32s var(--ease-in-out) infinite,wolf-draw-glow 1.2s var(--ease-in-out) infinite;cursor:wait}.draw-card-frame[data-state=revealing]{animation:wolf-draw-reveal 1.2s var(--ease-out) forwards;cursor:default}.draw-card-frame[data-state=cooldown]{opacity:.55;filter:grayscale(.4);cursor:not-allowed;pointer-events:none}.draw-prize-card{width:220px;aspect-ratio:5/7;border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border-rose);box-shadow:var(--shadow-lg),var(--frost-inset);margin:var(--space-8) auto var(--space-6);padding:var(--space-5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);animation:wolf-prize-pop .6s var(--ease-out) forwards;position:relative;overflow:hidden}.draw-prize-card .rarity-label{font-family:var(--font-numeric);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--color-fg-muted)}.draw-prize-card .prize-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:800;text-align:center;line-height:var(--line-tight)}.draw-prize-card .prize-barcode{font-family:var(--font-numeric);font-size:var(--text-xs);letter-spacing:.12em;color:var(--color-fg-muted);padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.draw-prize-card .prize-expire{font-size:var(--text-xs);color:var(--color-fg-muted)}.draw-prize-card[data-rarity=legendary]{border-color:var(--color-legendary);box-shadow:var(--shadow-lg),0 0 24px oklch(.78 .165 86/.18)}.draw-prize-card[data-rarity=epic]{border-color:var(--color-epic)}.draw-prize-card[data-rarity=rare]{border-color:var(--color-rare)}.draw-prize-card.prize-card-provider{width:var(--drawcard-w);max-width:var(--drawcard-w-max);aspect-ratio:auto;padding:0;gap:0;align-items:stretch;justify-content:flex-start;border-color:var(--drawcard-frame-bd)}.draw-prize-card.prize-card-provider:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,var(--drawcard-shine) 0,transparent 38%,transparent 100%);z-index:3}.draw-prize-card.prize-card-provider[data-rarity=common]{border-color:var(--rarity-common-bd);box-shadow:var(--shadow-lg),0 0 24px var(--rarity-common-glow)}.draw-prize-card.prize-card-provider[data-rarity=rare]{border-color:var(--rarity-rare-bd);box-shadow:var(--shadow-lg),0 0 26px var(--rarity-rare-glow)}.draw-prize-card.prize-card-provider[data-rarity=epic]{border-color:var(--rarity-epic-bd);box-shadow:var(--shadow-lg),0 0 30px var(--rarity-epic-glow)}.draw-prize-card.prize-card-provider[data-rarity=legendary]{border-color:var(--rarity-legendary-bd);box-shadow:var(--shadow-lg),0 0 36px var(--rarity-legendary-glow)}.draw-prize-card.prize-card-provider .pc-rarity{position:absolute;top:var(--space-3);left:var(--space-3);z-index:4;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-numeric);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.18em;text-transform:uppercase;line-height:1;backdrop-filter:var(--frost-blur);-webkit-backdrop-filter:var(--frost-blur)}.draw-prize-card.prize-card-provider[data-rarity=common] .pc-rarity{background:var(--rarity-common-bd);color:var(--rarity-common-fg)}.draw-prize-card.prize-card-provider[data-rarity=rare] .pc-rarity{background:var(--rarity-rare-bd);color:var(--rarity-rare-fg)}.draw-prize-card.prize-card-provider[data-rarity=epic] .pc-rarity{background:var(--rarity-epic-bd);color:var(--rarity-epic-fg)}.draw-prize-card.prize-card-provider[data-rarity=legendary] .pc-rarity{background:var(--rarity-legendary-bd);color:var(--rarity-legendary-fg)}.draw-prize-card.prize-card-provider .pc-photo{position:relative;width:100%;aspect-ratio:var(--drawcard-photo-ratio);background:var(--drawcard-photo-bg);overflow:hidden;display:flex;align-items:center;justify-content:center}.draw-prize-card.prize-card-provider .pc-photo__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--drawcard-photo-blur);transform:scale(1.1);z-index:0}.draw-prize-card.prize-card-provider .pc-photo__img{position:relative;z-index:1;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.draw-prize-card.prize-card-provider .pc-info{position:relative;z-index:2;background:var(--drawcard-info-bg);padding:var(--drawcard-info-pad);display:flex;flex-direction:column;gap:var(--space-3);border-top:1px solid var(--color-border)}.draw-prize-card.prize-card-provider .pc-name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-heading);line-height:var(--line-tight);color:var(--color-fg);text-align:center}.draw-prize-card.prize-card-provider .pc-sub{font-size:var(--text-xs);color:var(--color-fg-subtle);text-align:center;letter-spacing:.04em;margin-top:calc(-1 * var(--space-2))}.draw-prize-card.prize-card-provider .pc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.draw-prize-card.prize-card-provider .pc-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--drawcard-chip-radius);background:var(--drawcard-chip-bg);color:var(--drawcard-chip-fg);font-size:var(--text-2xs);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap}.draw-prize-card.prize-card-provider .pc-chip__k{color:var(--color-fg-subtle)}.draw-prize-card.prize-card-provider .pc-chip__v{color:var(--color-fg);font-family:var(--font-numeric);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.draw-prize-card.prize-card-provider .pc-cta{width:100%;margin-top:var(--space-1)}.draw-prize-card.prize-card-provider .pc-cta[disabled]{opacity:.55;cursor:not-allowed}.draw-cooldown{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.draw-cooldown__ring{width:88px;height:88px;transform:rotate(-90deg)}.draw-cooldown__ring circle{fill:none;stroke-width:6}.draw-cooldown__ring .track{stroke:var(--color-surface-alt)}.draw-cooldown__ring .head{stroke:var(--color-primary);stroke-linecap:round;stroke-dasharray:251.2}.draw-cooldown__time{font-family:var(--font-numeric);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.draw-cooldown__label{font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.08em}.draw-bonus-row{display:flex;gap:var(--space-2);margin-top:var(--space-3);width:100%;max-width:280px}.draw-bonus-row .btn{flex:1 1;height:40px;font-size:var(--text-sm)}@media (prefers-reduced-motion:reduce){.draw-card-frame[data-state=drawing],.draw-card-frame[data-state=revealing],.draw-prize-card{animation-duration:1ms!important}}.install-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + var(--space-4));transform:translateX(-50%);z-index:9000;width:min(440px,calc(100vw - var(--space-6)));padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-surface-alt);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:install-toast-slide-up .24s ease-out}.install-toast,.install-toast__body{display:flex;align-items:center;gap:var(--space-3)}.install-toast__body{flex:1 1;min-width:0}.install-toast__icon{flex:0 0 auto;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-fg-on-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading,inherit);font-weight:900;font-size:var(--text-xl)}.install-toast__text{min-width:0;display:flex;flex-direction:column;gap:2px}.install-toast__title{font-size:var(--text-base);font-weight:700;color:var(--color-fg);line-height:1.2}.install-toast__desc{font-size:var(--text-xs);color:var(--color-fg-muted);line-height:1.3}.install-toast__actions{flex:0 0 auto;display:flex;gap:var(--space-2)}.install-toast__cta,.install-toast__later{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-md)}@keyframes install-toast-slide-up{0%{opacity:0;transform:translate(-50%,var(--space-4))}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.install-toast{animation-duration:1ms}}.offline-page{min-height:100dvh;flex-direction:column;padding:var(--space-8) var(--space-4);gap:var(--space-4);background:var(--color-bg);color:var(--color-fg);text-align:center}.offline-page,.offline-page__icon{display:flex;align-items:center;justify-content:center}.offline-page__icon{width:96px;height:96px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-3xl);font-weight:900}.offline-page__title{font-size:var(--text-2xl);font-weight:800;color:var(--color-fg);margin:0}.offline-page__desc{font-size:var(--text-base);color:var(--color-fg-muted);max-width:32ch;margin:0}.offline-page__actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filter-select{display:block;width:100%;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-fg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.filter-select:focus{border-color:var(--color-border-rose);box-shadow:0 0 0 2px var(--color-border-rose-soft,var(--color-border-rose))}.filter-select:disabled{opacity:.55;cursor:not-allowed}.merchant-redeem{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.merchant-redeem__field{display:flex;flex-direction:column;gap:var(--space-2)}.merchant-redeem__input{width:100%;padding:var(--space-3);font-size:var(--text-base);color:var(--color-fg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none}.merchant-redeem__input:focus{border-color:var(--color-border-rose)}.merchant-redeem__result{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-fg)}.merchant-redeem__result[data-kind=ok]{border-color:var(--color-success,var(--color-border-rose));color:var(--color-fg)}.merchant-redeem__result[data-kind=err]{border-color:var(--color-danger);color:var(--color-danger)}.merchant-redeem__toast{position:fixed;left:50%;bottom:var(--space-8);transform:translateX(-50%);background:var(--color-bg);color:var(--color-fg);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);border:1px solid var(--color-border-rose);font-size:var(--text-sm);z-index:60}.review-section{margin-top:var(--space-6)}.review-summary{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.review-summary__avg{font-size:var(--text-3xl);font-weight:800;color:var(--color-fg)}.review-summary__count{font-size:var(--text-sm);color:var(--color-fg-muted)}.review-list{display:flex;flex-direction:column;gap:var(--space-3)}.review-item{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.review-item__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.review-item__name{font-size:var(--text-sm);font-weight:600;color:var(--color-fg)}.review-item__date{font-size:var(--text-xs);color:var(--color-fg-muted)}.review-item__content{font-size:var(--text-sm);color:var(--color-fg);line-height:1.6;white-space:pre-wrap;word-break:break-word}.review-stars{display:inline-flex;gap:2px;color:var(--color-accent);font-size:var(--text-base)}.review-stars[data-size=lg]{font-size:var(--text-2xl)}.review-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.review-form__stars{display:flex;gap:var(--space-2);font-size:var(--text-2xl)}.review-form__star{background:none;border:none;cursor:pointer;padding:0;color:var(--color-border);font-size:inherit;line-height:1}.review-form__star[data-active=true]{color:var(--color-accent)}.review-form__textarea{width:100%;min-height:96px;padding:var(--space-3);font-size:var(--text-base);color:var(--color-fg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;resize:vertical}.review-form__textarea:focus{border-color:var(--color-border-rose)}.review-form__count{font-size:var(--text-xs);color:var(--color-fg-muted);text-align:right}.review-form__error{color:var(--color-danger);font-size:var(--text-sm)}.review-modal__scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:70;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.review-modal__sheet{width:100%;max-width:480px;background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding-bottom:var(--space-4);max-height:calc(100dvh - var(--space-8));overflow-y:auto}.review-modal__head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.review-modal__head h3{margin:0;font-size:var(--text-lg);color:var(--color-fg)}.review-modal__close{background:none;border:none;font-size:var(--text-2xl);color:var(--color-fg-muted);cursor:pointer;line-height:1}.admin-shell{width:412px;min-height:100vh;margin:0 auto;position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);background:radial-gradient(120% 60% at 100% 0,var(--satin-from) 0,var(--satin-to) 60%),var(--color-bg);transition:background var(--dur-slow) var(--ease-out)}.admin-shell:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}.admin-shell>*{position:relative;z-index:1}.merchant-topbar{height:56px;padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.merchant-topbar .brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:.04em}.merchant-topbar .brand .dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-fog)}.merchant-topbar .brand .sub{font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.12em;text-transform:uppercase;margin-left:var(--space-1)}.merchant-topbar .actions{display:flex;gap:var(--space-2);align-items:center}.icon-btn{cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.icon-btn .badge{position:absolute;top:4px;right:4px;min-width:14px;height:14px;padding:0 3px;border-radius:var(--radius-full);background:var(--color-danger);color:var(--color-fg-on-primary);font-size:9px;font-weight:var(--weight-bold);justify-content:center;border:1.5px solid var(--color-bg)}.icon-btn .badge,.merchant-id{display:inline-flex;align-items:center}.merchant-id{gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-fog);border:1px solid var(--color-border-rose);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg)}.merchant-id .avatar{width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);font-size:10px;font-weight:var(--weight-bold);display:inline-flex;align-items:center;justify-content:center}.admin-content{flex:1 1;padding:var(--space-4) var(--space-4) calc(80px + env(safe-area-inset-bottom));overflow-y:auto}.breadcrumb{gap:var(--space-1);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-3)}.breadcrumb a{color:var(--color-fg-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb .sep{color:var(--color-fg-subtle)}.breadcrumb .current{color:var(--color-fg)}.page-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:-.01em;margin-bottom:var(--space-1)}.page-subtitle{font-size:var(--text-sm);color:var(--color-fg-muted);margin-bottom:var(--space-5)}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.kpi-card{padding:var(--pad-card-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);box-shadow:var(--shadow-xs),var(--frost-inset);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.kpi-card:hover{transform:translateY(-2px);border-color:var(--color-border-rose);box-shadow:var(--shadow-sm)}.kpi-card .kpi-ic{width:32px;height:32px;margin-bottom:var(--space-2)}.kpi-card .kpi-ic svg{width:16px;height:16px}.kpi-card .label{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);letter-spacing:.14em;text-transform:uppercase}.kpi-card .n{font-family:var(--font-number);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--line-tight);margin-top:var(--space-1);color:var(--color-fg)}.kpi-card .n .unit{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg-muted);margin-left:2px}.kpi-card .delta{margin-top:var(--space-2);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px}.kpi-card .delta.up{color:var(--color-success)}.kpi-card .delta.down{color:var(--color-danger)}.therapist-rank{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--pad-card-lg);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.rank-row{grid-template-columns:18px 1fr 56px;font-size:var(--text-sm)}.rank-row .idx{font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-xs);color:var(--color-fg-subtle)}.rank-row.top-3 .idx{color:var(--color-primary)}.rank-row .name{color:var(--color-fg);font-weight:var(--weight-medium)}.rank-row .bar-wrap{position:relative;height:22px;background:var(--color-surface-alt);border-radius:var(--radius-sm);overflow:hidden}.rank-row .bar{position:absolute;inset:0;border-radius:var(--radius-sm);background:var(--color-primary-fog);transform-origin:left;transform:scaleX(var(--w,.5));z-index:0;transition:transform var(--dur-slow) var(--ease-out)}.rank-row .bar-wrap .name{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--space-2);font-size:var(--text-xs);z-index:1;white-space:nowrap}.rank-row .val{font-family:var(--font-number);font-size:var(--text-xs);color:var(--color-fg-muted);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gmv-chart{position:relative;padding:var(--pad-card-lg);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.gmv-chart .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3)}.gmv-chart .head .title{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.gmv-chart .head .total{font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--color-primary)}.gmv-chart svg{width:100%;height:120px;display:block}.gmv-chart .axis{display:grid;grid-template-columns:repeat(7,1fr);font-size:10px;color:var(--color-fg-subtle);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:var(--space-1);text-align:center}.task-list{display:flex;flex-direction:column;gap:var(--space-2)}.task-card{position:relative;padding:var(--pad-card-lg);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);display:grid;grid-template-columns:38px 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.task-card:hover{transform:translateY(-2px);border-color:var(--color-border-rose);box-shadow:var(--shadow-sm)}.task-card .ic{width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-primary-fog);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.task-card .ic svg{width:18px;height:18px}.task-card .body .t{font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--line-tight)}.task-card .body .s{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px}.task-card .progress{margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-2xs);color:var(--color-fg-muted)}.task-card .progress .bar{flex:1 1;height:4px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden;position:relative}.task-card .progress .bar>i{display:block;height:100%;width:var(--p,50%);background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--dur-slow) var(--ease-out)}.task-card .reward{font-family:var(--font-number);font-weight:var(--weight-bold);color:var(--color-primary);font-size:var(--text-sm);white-space:nowrap}.task-card .reward .unit{font-size:var(--text-2xs);color:var(--color-fg-muted);margin-left:2px}.task-card.is-done{opacity:.6}.task-card.is-done .reward{color:var(--color-success)}.task-card.is-expired{opacity:.55}.task-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-3);gap:var(--space-3)}@media (min-width:640px){.task-grid{grid-template-columns:1fr 1fr}}.task-grid .task-card{grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:start}.task-grid .task-card .reward{grid-column:2;grid-row:2;margin-top:var(--space-1)}.task-grid .task-card .progress{grid-column:1/-1;margin-top:var(--space-3)}.seg-tabs{display:inline-flex;padding:4px;background:var(--color-surface-alt);border-radius:var(--radius-full);border:1px solid var(--color-border);margin-bottom:var(--space-3)}.seg-tabs .tab{padding:6px var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);border-radius:var(--radius-full);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);border:0;background:transparent}.seg-tabs .tab.active{background:var(--color-bg);color:var(--color-fg);box-shadow:var(--shadow-xs)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.quick-card{padding:var(--space-3);border-radius:var(--radius-md);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--color-border-rose);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-fg);text-align:center;cursor:pointer;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.quick-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.quick-card .ic{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-fog);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center}.quick-card .ic svg{width:20px;height:20px}.quick-card .t{font-size:var(--text-xs);font-weight:var(--weight-semibold)}.barcode-input{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--barcode-track-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);margin-bottom:var(--space-3)}.barcode-input .scan-ic{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-bg);color:var(--barcode-scan-fg);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:transform var(--dur-base) var(--ease-out)}.barcode-input .scan-ic:hover{transform:scale(1.05)}.barcode-input .scan-ic svg{width:20px;height:20px}.barcode-input input{flex:1 1;height:40px;background:transparent;border:0;outline:0;font-family:var(--font-number);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:.08em;color:var(--barcode-track-fg)}.barcode-input input::placeholder{color:var(--color-fg-subtle);letter-spacing:.04em;font-weight:var(--weight-regular)}.barcode-input .hint{position:absolute;bottom:-18px;left:var(--space-3);font-size:var(--text-2xs);color:var(--color-fg-subtle);letter-spacing:.06em}.lookup-state{position:relative;padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid;display:grid;grid-template-columns:44px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;margin-top:var(--space-4);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.lookup-state .ic{width:44px;height:44px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.lookup-state .ic svg{width:22px;height:22px}.lookup-state .body .t{font-size:var(--text-base);font-weight:var(--weight-bold);line-height:var(--line-tight)}.lookup-state .body .s{font-size:var(--text-xs);margin-top:2px;opacity:.85}.lookup-state.ok{background:var(--state-ok-bg);border-color:var(--state-ok-border);color:var(--state-ok-fg)}.lookup-state.ok .ic{background:var(--color-bg);color:var(--state-ok-fg)}.lookup-state.used{background:var(--state-used-bg);border-color:var(--state-used-border);color:var(--state-used-fg)}.lookup-state.used .ic{background:var(--color-bg);color:var(--state-used-fg)}.lookup-state.expired{background:var(--state-expired-bg);border-color:var(--state-expired-border);color:var(--state-expired-fg)}.lookup-state.expired .ic{background:var(--color-bg);color:var(--state-expired-fg)}.lookup-state.other{background:var(--state-other-bg);border-color:var(--state-other-border);color:var(--state-other-fg)}.lookup-state.other .ic{background:var(--color-bg);color:var(--state-other-fg)}.lookup-state.indie{background:var(--state-indie-bg);border-color:var(--state-indie-border);color:var(--state-indie-fg)}.lookup-state.indie .ic{background:var(--color-bg);color:var(--state-indie-fg)}.lookup-state.none{background:var(--state-none-bg);border-color:var(--state-none-border);color:var(--state-none-fg)}.lookup-state.none .ic{background:var(--color-bg);color:var(--state-none-fg)}.lookup-state+.lookup-state{margin-top:var(--space-2)}.history-list{display:flex;flex-direction:column;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);overflow:hidden}.history-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);transition:background var(--dur-fast) var(--ease-out)}.history-row:last-child{border-bottom:0}.history-row:hover{background:var(--color-surface-alt)}.history-row .dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-success)}.history-row.refunded .dot{background:var(--color-danger)}.history-row .info .code{font-family:var(--font-number);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.06em}.history-row .info .meta{font-size:var(--text-2xs);color:var(--color-fg-muted);margin-top:2px;letter-spacing:.04em}.history-row .amount{font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--color-fg)}.history-filter{display:flex;gap:var(--space-1);flex-wrap:wrap;margin-bottom:var(--space-2)}.history-filter .chip{height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);cursor:pointer;display:inline-flex;align-items:center;transition:all var(--dur-fast) var(--ease-out)}.history-filter .chip.active{background:var(--color-primary);color:var(--color-fg-on-primary);border-color:var(--color-primary)}.load-more{text-align:center;padding:var(--space-3);font-size:var(--text-xs);color:var(--color-fg-muted);cursor:pointer;border-top:1px solid var(--color-border);transition:color var(--dur-fast) var(--ease-out)}.load-more:hover{color:var(--color-primary)}.ad-slot-grid{grid-template-columns:1fr;grid-gap:var(--space-3)}.ad-slot,.ad-slot-grid{display:grid;gap:var(--space-3)}.ad-slot{position:relative;grid-template-columns:44px 1fr auto;grid-gap:var(--space-3);align-items:center;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--ad-slot-bg);border:1px solid var(--color-border);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.ad-slot:hover{transform:translateY(-2px);border-color:var(--color-border-rose)}.ad-slot.is-selected{background:var(--ad-slot-active-bg);border-color:var(--color-primary);color:var(--ad-slot-active-fg)}.ad-slot .ic{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-primary-fog);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center}.ad-slot .ic svg{width:20px;height:20px}.ad-slot .body .t{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ad-slot .body .s{font-size:var(--text-2xs);color:var(--color-fg-muted);margin-top:2px}.ad-slot .price{font-family:var(--font-number);font-weight:var(--weight-bold);color:var(--color-fg);font-size:var(--text-sm);white-space:nowrap}.ad-slot .price .unit{font-size:var(--text-2xs);color:var(--color-fg-muted);margin-left:2px}.ad-slot .check{position:absolute;top:8px;right:10px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);display:none;align-items:center;justify-content:center}.ad-slot.is-selected .check{display:inline-flex}.period-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-3) 0 var(--space-4)}.period-row .opt{padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:center;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.period-row .opt .price{display:block;font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--color-primary);margin-top:2px}.period-row .opt.active{background:var(--color-primary-fog);border-color:var(--color-primary)}.ad-preview{border-radius:var(--radius-lg);background:radial-gradient(120% 80% at 100% 0,var(--color-primary-soft) 0,transparent 60%),var(--color-surface);border:1px dashed var(--color-border-rose);padding:var(--space-5);text-align:center;margin-bottom:var(--space-4)}.ad-preview .label{font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-fg-subtle)}.ad-preview .preview-box{margin-top:var(--space-3);height:96px;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);align-items:center;justify-content:center;color:var(--color-fg-on-primary);font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:.04em}.ad-preview .preview-box,.ad-summary{border-radius:var(--radius-md);display:flex}.ad-summary{justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);margin-bottom:var(--space-3);font-size:var(--text-sm)}.ad-summary .v{font-family:var(--font-number);font-weight:var(--weight-bold);color:var(--color-primary)}.modal-scrim{position:fixed;inset:0;background:oklch(0 0 0/.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:var(--space-3);padding-top:max(var(--space-3),env(safe-area-inset-top));padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.modal-scrim[data-open=true]{display:flex}.modal{width:100%;max-width:min(412px,100%);background:var(--color-bg);border-radius:var(--radius-xl);border:1px solid var(--color-border-rose);padding:var(--space-5);max-height:calc(100dvh - var(--space-8));overflow-y:auto;-webkit-overflow-scrolling:touch;animation:wolf-modal-in var(--dur-slow) var(--ease-out)}@keyframes wolf-modal-in{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal .handle{width:36px;height:4px;border-radius:var(--radius-full);background:var(--color-border-strong);margin:0 auto var(--space-4)}.modal .title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.modal .subtitle{font-size:var(--text-sm);color:var(--color-fg-muted);margin-bottom:var(--space-4)}.modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.modal-actions .btn{flex:1 1}@media (min-width:640px){.modal{max-width:480px}}.merchant-toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--color-fg);color:var(--color-bg);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-lg);z-index:var(--z-toast);display:inline-flex;align-items:center;gap:var(--space-2);animation:wolf-toast-in var(--dur-slow) var(--ease-out)}@keyframes wolf-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.merchant-toast .ic{width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-success);color:var(--color-bg);display:inline-flex;align-items:center;justify-content:center}.empty{padding:var(--space-12) var(--space-5)}.empty .ic{width:64px;height:64px;margin:0 auto var(--space-4)}.empty .ic svg{width:32px;height:32px}.empty .t{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-fg);margin-bottom:var(--space-1)}.empty .s{font-size:var(--text-sm);color:var(--color-fg-muted);max-width:280px;margin:0 auto;line-height:var(--line-normal)}.loading-skeleton{height:80px;border-radius:var(--radius-lg);background:linear-gradient(110deg,var(--color-surface-alt) 0,var(--color-primary-soft) 45%,var(--color-surface-alt) 90%);background-size:240% 100%;animation:wolf-skeleton 1.6s ease-in-out infinite}@keyframes wolf-skeleton{0%{background-position:100% 0}to{background-position:-40% 0}}.error-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--state-none-bg);border:1px solid var(--state-none-border);font-size:var(--text-sm);margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.error-banner,.error-banner .ic{color:var(--state-none-fg)}.admin-bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:412px;max-width:100vw;height:64px;padding:0 var(--space-2) calc(env(safe-area-inset-bottom));background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(5,1fr);z-index:var(--z-sticky)}.admin-bottom-nav .item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-fg-muted);text-decoration:none;font-size:10px;font-weight:var(--weight-medium);letter-spacing:.06em;transition:color var(--dur-fast) var(--ease-out);position:relative;cursor:pointer}.admin-bottom-nav .item svg{width:22px;height:22px}.admin-bottom-nav .item.active{color:var(--color-primary)}.admin-bottom-nav .item.active:before{content:"";position:absolute;top:8px;width:28px;height:3px;border-radius:var(--radius-full);background:var(--color-primary)}.admin-bottom-nav .item:hover{color:var(--color-fg)}@media (min-width:1024px){.admin-shell{width:100%;max-width:none;flex:1 1 100%;flex-direction:row}.admin-shell:before{display:none}.admin-bottom-nav{position:relative;left:auto;transform:none;width:220px;height:auto;flex-direction:column;display:flex;border-right:1px solid var(--color-border);border-top:0;padding:var(--space-4) var(--space-2);gap:var(--space-1)}.admin-bottom-nav .item{flex-direction:row;justify-content:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);gap:var(--space-3)}.admin-bottom-nav .item.active:before{display:none}.admin-bottom-nav .item.active{background:var(--color-primary-fog)}}.row{gap:var(--space-2)}.row,.row-between{display:flex;align-items:center}.row-between{justify-content:space-between}.text-muted{color:var(--color-fg-muted)}@keyframes wolf-fadein-up{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}.fade-in{animation:wolf-fadein-up var(--dur-slow) var(--ease-out) both}.gps-opt-in-card{margin:var(--space-4) 0;padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background:radial-gradient(120% 80% at 0 0,var(--gps-accent-fog) 0,transparent 55%),var(--color-surface);border:1px solid var(--gps-accent-fog);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-4)}.gps-opt-in-card .gps-hero{display:flex;align-items:center;gap:var(--space-4)}.gps-opt-in-card .gps-pin{width:56px;height:56px;border-radius:var(--radius-full);background:var(--gps-accent-soft);color:var(--gps-accent);display:grid;place-items:center;position:relative;flex-shrink:0}.gps-opt-in-card .gps-pin:after{content:"";position:absolute;inset:-6px;border-radius:var(--radius-full);border:2px solid var(--gps-pulse);animation:gps-pulse 2s var(--ease-out) infinite}@keyframes gps-pulse{0%{transform:scale(.85);opacity:.9}to{transform:scale(1.35);opacity:0}}.gps-opt-in-card .gps-pin svg{width:26px;height:26px}.gps-opt-in-card .gps-copy h2{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-lg);line-height:var(--line-tight);color:var(--color-fg)}.gps-opt-in-card .gps-copy p{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-fg-muted);line-height:var(--line-snug)}.gps-opt-in-card .gps-bullets{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-fg-muted)}.gps-opt-in-card .gps-bullets li{list-style:none;display:flex;gap:var(--space-2);align-items:flex-start}.gps-opt-in-card .gps-bullets li:before{content:"\2713";color:var(--color-success);font-weight:var(--weight-bold)}.gps-opt-in-card .gps-cta{display:flex;flex-direction:column;gap:var(--space-2)}.gps-opt-in-card .gps-cta .btn-primary{background:var(--gps-accent);color:var(--color-fg-on-primary);padding:var(--space-3) var(--space-5);font-weight:var(--weight-semibold)}.gps-opt-in-card .gps-cta .btn-primary:hover{background:var(--gps-accent);filter:brightness(.95)}.gps-opt-in-card .gps-cta .privacy-hint{font-size:var(--text-xs);color:var(--color-fg-subtle);text-align:center}.gps-radius-bar{margin:var(--space-3) 0 var(--space-4);padding:var(--space-1);background:var(--gps-radius-track);border-radius:var(--radius-full);display:grid;grid-template-columns:repeat(5,1fr);grid-gap:var(--space-1);gap:var(--space-1);border:1px solid var(--color-border)}.gps-radius-bar .seg{border:0;background:transparent;padding:var(--space-2) 0;border-radius:var(--radius-full);font-family:var(--font-number);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg-muted);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.gps-radius-bar .seg:hover{color:var(--color-fg)}.gps-radius-bar .seg.is-active{background:var(--gps-radius-active-bg);color:var(--gps-radius-active-fg)}.gps-radius-bar .seg .unit{font-size:var(--text-2xs);font-weight:var(--weight-medium);margin-left:2px}.gps-provider-list{display:flex;flex-direction:column;gap:var(--space-3)}.gps-provider-row{padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.gps-provider-row:hover{transform:translateY(-1px);border-color:var(--color-border-rose);box-shadow:var(--shadow-sm)}.gps-provider-row .avatar{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-family:var(--font-heading);font-weight:var(--weight-heading);flex-shrink:0}.gps-provider-row .meta{flex:1 1;min-width:0}.gps-provider-row .meta .name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-fg)}.gps-provider-row .meta .sub{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px}.gps-distance-chip{display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--gps-distance-bg);color:var(--gps-distance-fg);font-family:var(--font-number);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.gps-distance-chip svg{width:12px;height:12px}.gps-state-card{margin:var(--space-3) 0;padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid;display:flex;gap:var(--space-4);align-items:flex-start}.gps-state-card.is-denied{background:var(--gps-denied-bg);color:var(--gps-denied-fg);border-color:var(--gps-denied-border)}.gps-state-card.is-unavail{background:var(--gps-unavail-bg);color:var(--gps-unavail-fg);border-color:var(--gps-unavail-border)}.gps-state-card.is-timeout{background:var(--gps-timeout-bg);color:var(--gps-timeout-fg);border-color:var(--gps-timeout-border)}.gps-state-card .ic{width:36px;height:36px;border-radius:var(--radius-md);background:oklch(1 0 0/.18);display:grid;place-items:center;flex-shrink:0}.gps-state-card .ic svg{width:20px;height:20px}.gps-state-card .body{flex:1 1}.gps-state-card .body .t{font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--line-tight)}.gps-state-card .body .d{margin-top:var(--space-1);font-size:var(--text-sm);line-height:var(--line-snug);opacity:.85}.gps-state-card .body .actions{margin-top:var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap}.gps-state-card .body .actions .btn{font-size:var(--text-sm)}.gps-location-form{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.gps-location-form .map-preview{height:180px;border-radius:var(--radius-md);position:relative;overflow:hidden;background:radial-gradient(60% 60% at 50% 50%,var(--gps-accent-fog) 0,transparent 70%),repeating-linear-gradient(0deg,var(--color-border) 0,var(--color-border) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,var(--color-border) 0,var(--color-border) 1px,transparent 1px,transparent 24px),var(--color-surface-alt);border:1px solid var(--color-border)}.gps-location-form .map-preview .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);color:var(--gps-accent)}.gps-location-form .map-preview .pin svg{width:32px;height:32px;filter:drop-shadow(0 4px 6px oklch(0 0 0/.25))}.gps-location-form .map-preview .approx-ring{position:absolute;top:50%;left:50%;width:120px;height:120px;border-radius:var(--radius-full);transform:translate(-50%,-50%);background:var(--gps-pulse);border:2px dashed var(--gps-accent);opacity:.55}.gps-location-form .field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.gps-location-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-fg-muted);font-weight:var(--weight-medium)}.gps-location-form input[type=number],.gps-location-form input[type=text]{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-fg);font-family:var(--font-number);font-size:var(--text-base);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gps-location-form input:focus{outline:none;border-color:var(--gps-accent);box-shadow:0 0 0 3px var(--gps-accent-fog)}.visibility-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.visibility-toggle .opt{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1)}.visibility-toggle .opt .t{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg)}.visibility-toggle .opt .d{font-size:var(--text-xs);color:var(--color-fg-muted)}.visibility-toggle .opt.is-active{border-color:var(--gps-accent);background:var(--visibility-approx-bg);color:var(--visibility-approx-fg)}.visibility-toggle .opt.is-active .t{color:var(--visibility-approx-fg)}.visibility-toggle .opt.is-active .d{color:var(--visibility-approx-fg);opacity:.85}.visibility-hint{margin-top:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--visibility-approx-bg);color:var(--visibility-approx-fg);font-size:var(--text-xs);line-height:var(--line-snug);display:flex;gap:var(--space-2)}.visibility-hint svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.visibility-hint.is-hidden{background:var(--visibility-hidden-bg);color:var(--visibility-hidden-fg)}.push-opt-in-card{margin:var(--space-4) 0;padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background:radial-gradient(120% 80% at 100% 0,var(--push-accent-fog) 0,transparent 55%),var(--color-surface);border:1px solid var(--push-accent-fog);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-4)}.push-opt-in-card .push-hero{display:flex;align-items:center;gap:var(--space-4)}.push-bell{width:56px;height:56px;border-radius:var(--radius-full);background:var(--push-bell-bg);color:var(--push-bell-fg);display:grid;place-items:center;position:relative;flex-shrink:0}.push-bell svg{width:26px;height:26px}.push-bell .dot{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:var(--radius-full);background:var(--push-badge-bg)}.push-opt-in-card .push-copy h2{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-lg);line-height:var(--line-tight);color:var(--color-fg)}.push-opt-in-card .push-copy p{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-fg-muted);line-height:var(--line-snug)}.push-opt-in-card .push-list{display:flex;flex-direction:column;gap:var(--space-3)}.push-opt-in-card .push-list li{list-style:none;display:flex;gap:var(--space-3);align-items:flex-start}.push-opt-in-card .push-list .pic{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0}.push-opt-in-card .push-list .pic.t-draw{background:var(--notif-type-draw-bg);color:var(--notif-type-draw-fg)}.push-opt-in-card .push-list .pic.t-coupon{background:var(--notif-type-coupon-bg);color:var(--notif-type-coupon-fg)}.push-opt-in-card .push-list .pic.t-camp{background:var(--notif-type-camp-bg);color:var(--notif-type-camp-fg)}.push-opt-in-card .push-list .pic svg{width:20px;height:20px}.push-opt-in-card .push-list .txt .t{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg)}.push-opt-in-card .push-list .txt .d{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px;line-height:var(--line-snug)}.push-opt-in-card .push-cta{display:flex;flex-direction:column;gap:var(--space-2)}.push-opt-in-card .push-cta .btn-primary{background:var(--push-accent);color:var(--color-fg-on-primary);padding:var(--space-3) var(--space-5);font-weight:var(--weight-semibold)}.push-opt-in-card .push-cta .btn-primary:hover{background:var(--push-accent);filter:brightness(.95)}.push-opt-in-card .push-cta .secondary{font-size:var(--text-sm);text-align:center;color:var(--color-fg-muted);background:transparent;border:0;padding:var(--space-2);cursor:pointer}.push-opt-in-card .push-cta .privacy-hint{font-size:var(--text-xs);color:var(--color-fg-subtle);text-align:center}.notif-inbox{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-3) 0}.notif-inbox-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-1)}.notif-inbox-head .count{font-size:var(--text-xs);color:var(--color-fg-muted)}.notif-inbox-head .mark-all{background:transparent;border:0;color:var(--push-accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.notif-inbox-head .mark-all:hover{background:var(--push-accent-soft)}.notif-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);padding:0 var(--space-1)}.notif-tabs .tab{background:transparent;border:0;padding:var(--space-3) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg-muted);border-bottom:2px solid transparent;cursor:pointer;position:relative}.notif-tabs .tab.is-active{color:var(--push-accent);border-bottom-color:var(--push-accent)}.notif-tabs .tab .tab-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--push-badge-bg);color:var(--push-badge-fg);font-family:var(--font-number);font-size:var(--text-2xs);font-weight:var(--weight-bold);margin-left:4px;vertical-align:1px}.notif-row{position:relative;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);background:var(--notif-read-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;gap:var(--space-3);align-items:flex-start;transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.notif-row:hover{transform:translateY(-1px);border-color:var(--color-border-rose)}.notif-row.is-unread{background:var(--notif-unread-bg)}.notif-row.is-unread:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--notif-unread-bar)}.notif-row .pic{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0}.notif-row .pic.t-draw{background:var(--notif-type-draw-bg);color:var(--notif-type-draw-fg)}.notif-row .pic.t-coupon{background:var(--notif-type-coupon-bg);color:var(--notif-type-coupon-fg)}.notif-row .pic.t-camp{background:var(--notif-type-camp-bg);color:var(--notif-type-camp-fg)}.notif-row .pic svg{width:20px;height:20px}.notif-row .body{flex:1 1;min-width:0}.notif-row .body .t{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg);line-height:var(--line-tight)}.notif-row .body .d{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px;line-height:var(--line-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-row .time{font-size:var(--text-2xs);color:var(--notif-time-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.notif-empty{margin:var(--space-8) auto;max-width:320px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-fg-muted);padding:var(--space-6)}.notif-empty .ic{width:72px;height:72px;border-radius:var(--radius-full);background:var(--push-accent-soft);color:var(--push-accent);display:grid;place-items:center}.notif-empty .ic svg{width:32px;height:32px}.notif-empty .t{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-fg)}.notif-empty .d{font-size:var(--text-sm);color:var(--color-fg-muted)}.push-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--push-badge-bg);color:var(--push-badge-fg);font-family:var(--font-number);font-size:var(--text-2xs);font-weight:var(--weight-bold);display:grid;place-items:center}.push-denied-card{margin:var(--space-4) 0;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--push-denied-bg);color:var(--push-denied-fg);border:1px solid var(--push-denied-border);display:flex;flex-direction:column;gap:var(--space-3)}.push-denied-card .head{display:flex;align-items:center;gap:var(--space-3)}.push-denied-card .head .ic{width:40px;height:40px;border-radius:var(--radius-full);background:oklch(1 0 0/.16);display:grid;place-items:center;flex-shrink:0}.push-denied-card .head .ic svg{width:20px;height:20px}.push-denied-card .head .t{font-size:var(--text-base);font-weight:var(--weight-semibold)}.push-denied-card .steps{background:oklch(1 0 0/.12);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.push-denied-card .steps .step{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);line-height:var(--line-snug)}.push-denied-card .steps .step .n{width:22px;height:22px;border-radius:var(--radius-full);background:var(--push-denied-fg);color:var(--push-denied-bg);display:grid;place-items:center;font-family:var(--font-number);font-size:var(--text-2xs);font-weight:var(--weight-bold);flex-shrink:0}.push-denied-card .actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.push-denied-card .actions .btn{font-size:var(--text-sm)}.push-denied-card .actions .btn-primary{background:var(--push-denied-fg);color:var(--push-denied-bg)}@media (min-width:640px){.gps-opt-in-card,.push-opt-in-card{padding:var(--space-8) var(--space-7)}.gps-location-form .field-row{grid-template-columns:1fr 1fr 1fr}}.agent-shell{width:100%;max-width:420px;height:100vh;height:100dvh;margin:0 auto;position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);transition:background var(--dur-slow) var(--ease-out);background:radial-gradient(120% 60% at 100% 0,var(--satin-from) 0,var(--satin-to) 60%),var(--color-bg)}.agent-shell:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}.agent-shell>*{position:relative;z-index:1}@media (min-width:420px){.agent-shell{margin:0;border-radius:0;box-shadow:none}}.agent-topbar{height:56px;padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.agent-topbar .brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:.04em}.agent-topbar .brand .dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-fog)}.agent-topbar .brand .sub{font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.12em;text-transform:uppercase;margin-left:var(--space-1)}.agent-topbar .actions,.agent-topbar-left{display:flex;align-items:center;gap:var(--space-2)}.agent-topbar-left{min-width:0}.agent-back-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-fg);cursor:pointer;transition:background-color .12s ease,color .12s ease;flex:0 0 auto}.agent-back-btn:hover{background:var(--color-bg-elevated,hsla(0,0%,100%,.06))}.agent-back-btn:active{transform:scale(.96)}.agent-back-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.agent-back-btn svg{width:20px;height:20px}.agent-crumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-fg-muted);padding:var(--space-3) var(--space-4) 0}.agent-crumb .sep{opacity:.5}.agent-crumb .cur{color:var(--color-fg);font-weight:var(--weight-semibold)}.agent-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.agent-h1{font-size:var(--text-2xl);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:-.01em}.agent-h2{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--line-snug);margin-top:var(--space-2)}.agent-kpi-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.agent-kpi-card{border-radius:var(--radius-lg);padding:var(--pad-card);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--space-2);position:relative;overflow:hidden;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.agent-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.agent-kpi-card .ic{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center}.agent-kpi-card .ic svg{width:18px;height:18px}.agent-kpi-card .label{font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.06em;text-transform:uppercase}.agent-kpi-card .n{font-family:var(--font-number);font-size:var(--text-2xl);font-weight:var(--weight-heading);line-height:1}.agent-kpi-card .delta{font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-fg-muted)}.agent-kpi-card .delta.up{color:var(--color-success)}.agent-kpi-card .delta.down{color:var(--color-danger)}.agent-kpi-card.k-customer .ic{background:var(--agent-kpi-customer-bg);color:var(--agent-kpi-customer-fg)}.agent-kpi-card.k-commission .ic{background:var(--agent-kpi-commission-bg);color:var(--agent-kpi-commission-fg)}.agent-kpi-card.k-referral .ic{background:var(--agent-kpi-referral-bg);color:var(--agent-kpi-referral-fg)}.agent-kpi-card.k-pending .ic{background:var(--agent-kpi-pending-bg);color:var(--agent-kpi-pending-fg)}.agent-quick-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(3,1fr)}.agent-quick{border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-fg);cursor:pointer;transition:all var(--dur-base) var(--ease-out);text-decoration:none}.agent-quick:hover{border-color:var(--color-border-rose);transform:translateY(-1px)}.agent-quick .ic{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center}.agent-quick .ic svg{width:20px;height:20px}.agent-bottomnav{position:-webkit-sticky;position:sticky;bottom:0;z-index:var(--z-sticky);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(5,1fr);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom))}.agent-bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--color-fg-muted);text-decoration:none;padding:var(--space-2) 0}.agent-bottomnav a svg{width:18px;height:18px}.agent-bottomnav a[aria-current=page]{color:var(--color-primary)}.agent-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.agent-list .row{display:grid;grid-template-columns:40px 1fr auto;align-items:start;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.agent-list .row:last-child{border-bottom:0}.agent-list .avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-weight:var(--weight-bold);font-family:var(--font-heading)}.agent-list .meta .name{font-weight:var(--weight-semibold)}.agent-list .meta .sub{font-size:var(--text-xs);color:var(--color-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.agent-list .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.agent-list .row-act{display:flex;gap:4px;align-items:center;font-size:var(--text-xs);color:var(--color-fg-muted)}.crm-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--weight-semibold);border:1px solid transparent;letter-spacing:.02em;white-space:nowrap}.crm-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.crm-tag-success{background:var(--crm-tag-success-bg);color:var(--crm-tag-success-fg);border-color:var(--crm-tag-success-border)}.crm-tag-warn{background:var(--crm-tag-warn-bg);color:var(--crm-tag-warn-fg);border-color:var(--crm-tag-warn-border)}.crm-tag-cold{background:var(--crm-tag-cold-bg);color:var(--crm-tag-cold-fg);border-color:var(--crm-tag-cold-border)}.crm-tag-return{background:var(--crm-tag-return-bg);color:var(--crm-tag-return-fg);border-color:var(--crm-tag-return-border)}.crm-tag-vip{background:var(--crm-tag-vip-bg);color:var(--crm-tag-vip-fg);border-color:var(--crm-tag-vip-border)}.crm-note-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.crm-note-card .head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--color-fg-muted)}.crm-note-card .body{font-size:var(--text-sm);line-height:var(--line-relaxed)}.phone-masked{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em}.phone-masked .mask{color:var(--color-fg-muted)}.ledger-tabs{display:flex;gap:4px;background:var(--color-surface);padding:4px;border-radius:var(--radius-full);border:1px solid var(--color-border)}.ledger-tabs button{flex:1 1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:transparent;border:0;cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-fg-muted)}.ledger-tabs button.is-active{background:var(--color-primary);color:var(--color-fg-on-primary)}.ledger-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.ledger-row{display:grid;grid-template-columns:1fr auto;padding:var(--space-3);border-bottom:1px solid var(--color-border);align-items:center;grid-gap:var(--space-3);gap:var(--space-3)}.ledger-row:last-child{border-bottom:0}.ledger-row .title{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.ledger-row .sub{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ledger-row .amt{font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-lg)}.ledger-status{display:inline-flex;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em;margin-bottom:4px}.ledger-status-pending{background:var(--ledger-pending-bg);color:var(--ledger-pending-fg)}.ledger-status-approved{background:var(--ledger-approved-bg);color:var(--ledger-approved-fg)}.ledger-status-settled{background:var(--ledger-settled-bg);color:var(--ledger-settled-fg)}.ledger-status-voided{background:var(--ledger-voided-bg);color:var(--ledger-voided-fg)}.ledger-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.ledger-summary .big{font-family:var(--font-number);font-size:var(--text-3xl);font-weight:var(--weight-heading);line-height:1}.ledger-summary .hint{font-size:var(--text-xs);color:var(--color-fg-muted)}.rate-placeholder{gap:4px;padding:3px 8px;border-radius:var(--radius-full);background:var(--color-surface-alt);font-size:var(--text-2xs);letter-spacing:.04em;border:1px dashed var(--color-border-strong)}.tree{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.tree-node{grid-template-columns:44px 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-2) var(--space-3);position:relative}.tree-node,.tree-node .badge{display:grid;border-radius:var(--radius-md)}.tree-node .badge{width:44px;height:44px;place-items:center;font-weight:var(--weight-bold);font-family:var(--font-heading);box-shadow:0 0 0 3px var(--ring,transparent)}.tree-node .name{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.tree-node .sub{font-size:var(--text-xs);color:var(--color-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.tree-node .amt{font-family:var(--font-number);font-weight:var(--weight-semibold);font-size:var(--text-sm)}.tree-l0{background:var(--color-surface-alt)}.tree-l0 .badge{background:var(--tree-l0-bg);color:var(--tree-l0-fg);--ring:var(--tree-l0-ring)}.tree-l1{margin-left:var(--space-4)}.tree-l1 .badge{background:var(--tree-l1-bg);color:var(--tree-l1-fg);--ring:var(--tree-l1-ring)}.tree-l2{margin-left:calc(var(--space-4) * 2)}.tree-l2 .badge{background:var(--tree-l2-bg);color:var(--tree-l2-fg);--ring:var(--tree-l2-ring)}.tree-l3{margin-left:calc(var(--space-4) * 3)}.tree-l3 .badge{background:var(--tree-l3-bg);color:var(--tree-l3-fg);--ring:var(--tree-l3-ring)}.tree-l1:before,.tree-l2:before,.tree-l3:before{content:"";position:absolute;left:calc(-1 * var(--space-3));top:0;bottom:50%;width:1px;background:var(--tree-line)}.tree-l1:after,.tree-l2:after,.tree-l3:after{content:"";position:absolute;left:calc(-1 * var(--space-3));top:50%;width:var(--space-3);height:1px;background:var(--tree-line)}.tree-depth-cap{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-fg-muted);text-align:center;letter-spacing:.04em}.invite-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center}.invite-card .code{font-family:var(--font-number);font-size:var(--text-xl);font-weight:var(--weight-heading);letter-spacing:.06em}.invite-card .link{font-size:var(--text-xs);color:var(--color-fg-muted);word-break:break-all}.invite-qr{width:80px;height:80px;border-radius:var(--radius-md);background:repeating-linear-gradient(0deg,var(--invite-qr-fg) 0 2px,transparent 2px 4px),repeating-linear-gradient(90deg,var(--invite-qr-fg) 0 2px,transparent 2px 4px),var(--invite-qr-bg);background-size:8px 8px,8px 8px,100% 100%;border:4px solid var(--invite-qr-bg);box-shadow:var(--shadow-sm)}.builder-tabs{display:flex;gap:4px;background:var(--color-surface);padding:4px;border-radius:var(--radius-full);border:1px solid var(--color-border)}.builder-tabs button{flex:1 1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:transparent;border:0;cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-fg-muted)}.builder-tabs button.is-active{background:var(--color-primary);color:var(--color-fg-on-primary)}.poster-builder{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.poster-canvas{aspect-ratio:3/4;background:var(--poster-canvas-bg);border:1px solid var(--poster-canvas-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.poster-canvas:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 100% 0,var(--poster-accent-soft),transparent 60%);pointer-events:none}.poster-canvas .badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:var(--poster-accent);color:var(--color-fg-on-primary);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;width:max-content;z-index:1}.poster-canvas .headline{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-3xl);line-height:var(--line-tight);color:var(--poster-headline-fg);z-index:1}.poster-canvas .sub{font-size:var(--text-sm);color:var(--color-fg-muted);z-index:1}.poster-canvas .footer{display:flex;align-items:end;justify-content:space-between;gap:var(--space-2);z-index:1}.poster-canvas .price{font-family:var(--font-number);font-size:var(--text-2xl);font-weight:var(--weight-heading);color:var(--poster-accent)}.poster-toolbar{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.poster-tool{padding:var(--space-2) var(--space-2);background:var(--poster-tool-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-2xs);display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:var(--color-fg-muted)}.poster-tool svg{width:18px;height:18px}.poster-tool.is-active{background:var(--poster-tool-active-bg);color:var(--poster-tool-active-fg);border-color:var(--color-border-rose)}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.template-thumb{aspect-ratio:3/4;border-radius:var(--radius-md);background:var(--poster-canvas-bg);border:1px solid var(--poster-canvas-border);position:relative;overflow:hidden;cursor:pointer;display:flex;align-items:end;padding:6px;font-size:10px;color:var(--color-fg-muted)}.template-thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--poster-accent-soft),transparent 60%)}.template-thumb.is-active{outline:2px solid var(--poster-accent);outline-offset:2px}.coupon-preview{position:relative;border-radius:var(--radius-lg);background:var(--poster-canvas-bg);border:1px dashed var(--poster-accent);padding:var(--space-4);display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;overflow:hidden}.coupon-preview:after,.coupon-preview:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--color-bg);top:50%;transform:translateY(-50%)}.coupon-preview:before{left:-7px}.coupon-preview:after{right:-7px}.coupon-preview .face .title{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-xl);color:var(--poster-headline-fg)}.coupon-preview .face .desc{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:4px}.coupon-preview .price{font-family:var(--font-number);font-size:var(--text-3xl);color:var(--poster-accent);font-weight:var(--weight-heading)}.campaign-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;gap:var(--space-3);align-items:center}.campaign-card .thumb{width:64px;height:80px;border-radius:var(--radius-md);background:var(--poster-canvas-bg);border:1px solid var(--poster-canvas-border);position:relative;overflow:hidden}.campaign-card .thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--poster-accent-soft),transparent 70%)}.campaign-card .name{font-weight:var(--weight-semibold)}.campaign-card .meta{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px}.blacklist-shared-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--blacklist-shared-bg);color:var(--blacklist-shared-fg);border:1px solid var(--blacklist-banner-border);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.blacklist-shared-banner .ic{width:32px;height:32px;border-radius:var(--radius-md);background:var(--blacklist-banner-bg);color:var(--blacklist-banner-fg);display:grid;place-items:center}.blacklist-shared-banner .ic svg{width:18px;height:18px}.blacklist-shared-banner .pill{margin-left:auto;padding:3px 10px;border-radius:var(--radius-full);background:var(--blacklist-banner-bg);color:var(--blacklist-banner-fg);font-size:var(--text-2xs);letter-spacing:.06em}.blacklist-row{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-3);grid-template-columns:44px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.blacklist-row,.blacklist-row .avatar{border-radius:var(--radius-md);display:grid}.blacklist-row .avatar{width:44px;height:44px;background:var(--blacklist-banner-bg);color:var(--blacklist-banner-fg);place-items:center;font-weight:var(--weight-bold)}.blacklist-row .name{font-weight:var(--weight-semibold)}.blacklist-row .reason{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px}.blacklist-row .meta-row{margin-top:6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:var(--text-2xs);color:var(--color-fg-subtle)}.severity{display:inline-flex;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.severity-high{background:var(--blacklist-severity-high-bg);color:var(--blacklist-severity-high-fg)}.severity-mid{background:var(--blacklist-severity-mid-bg);color:var(--blacklist-severity-mid-fg)}.severity-low{background:var(--blacklist-severity-low-bg);color:var(--blacklist-severity-low-fg)}.shared-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--blacklist-shared-bg);color:var(--blacklist-shared-fg);font-size:var(--text-2xs);font-weight:var(--weight-semibold);border:1px solid var(--blacklist-banner-border)}.shared-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.report-modal{position:fixed;inset:0;z-index:var(--z-toast)!important;background:oklch(0 0 0/.5);display:flex;align-items:center;justify-content:center;padding:var(--space-3);padding-top:max(var(--space-3),env(safe-area-inset-top));padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.report-modal .sheet,.report-modal-card{width:100%;max-width:min(412px,100%);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3);max-height:calc(100dvh - var(--space-8));overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch}.report-modal .sheet>h2:first-child,.report-modal .sheet>h3:first-child,.report-modal-card>h2:first-child,.report-modal-card>h3:first-child{position:-webkit-sticky;position:sticky;top:calc(var(--space-4) * -1);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) 0;padding:var(--space-4) var(--space-4) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:2}.report-modal .actions,.report-modal .report-modal-actions{position:-webkit-sticky;position:sticky;bottom:calc(var(--space-4) * -1);margin:var(--space-2) calc(var(--space-4) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);justify-content:flex-end;z-index:2}.report-modal .sheet h2{font-size:var(--text-lg);font-weight:var(--weight-heading)}.report-modal .field{display:flex;flex-direction:column;gap:4px}.report-modal label{font-size:var(--text-xs);color:var(--color-fg-muted)}.report-modal input,.report-modal select,.report-modal textarea{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-family:var(--font-body);color:var(--color-fg);font-size:var(--text-sm)}.report-modal textarea{min-height:80px;resize:vertical}.report-modal .actions .btn{flex:1 1}.report-modal .report-modal-actions .btn{flex:0 0 auto}.report-modal .field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.report-modal .field-row>*{min-width:0}.report-modal .field-row .field input,.report-modal .field-row .field select,.report-modal .field-row .field textarea{width:100%;min-width:0}.report-modal .field-note{font-size:10px;color:var(--color-fg-muted);margin-top:2px}.report-modal .pill-group{display:flex;flex-wrap:wrap;gap:6px}.report-modal .pill-opt{padding:4px 10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-fg-muted);font-size:var(--text-xs);cursor:pointer}.report-modal .pill-opt[aria-pressed=true]{background:var(--color-primary-fog);color:var(--color-primary);border-color:var(--color-primary)}.report-modal .field-disabled{opacity:.55;pointer-events:none}.report-modal .field-disabled input,.report-modal .field-disabled select,.report-modal .field-disabled textarea{cursor:not-allowed}.agent-searchbar{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px var(--space-3)}.agent-searchbar svg{width:16px;height:16px;color:var(--color-fg-muted)}.agent-searchbar input{flex:1 1;background:transparent;border:0;outline:0;font-family:var(--font-body);color:var(--color-fg);font-size:var(--text-sm)}.agent-filter-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.agent-filter-row::-webkit-scrollbar{display:none}.agent-filter-chip{flex:0 0 auto;padding:6px var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-fg-muted);cursor:pointer;white-space:nowrap}.agent-filter-chip.is-active{background:var(--color-primary);color:var(--color-fg-on-primary);border-color:var(--color-primary)}.btn{justify-content:center;gap:6px;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--dur-base) var(--ease-out);border:1px solid transparent;text-decoration:none}.btn-ghost{background:var(--color-surface);color:var(--color-fg);border-color:var(--color-border)}.btn-ghost:hover{border-color:var(--color-border-rose)}.btn-danger{background:var(--blacklist-banner-fg)}.skeleton{background:linear-gradient(90deg,var(--color-surface) 0,var(--color-surface-alt) 50%,var(--color-surface) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.6s var(--ease-in-out) infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{padding:var(--space-8) var(--space-4);color:var(--color-fg-muted);font-size:var(--text-sm)}.empty .ic{background:var(--color-surface-alt);color:var(--color-fg-subtle);display:grid;place-items:center}.empty .ic svg{width:24px;height:24px}.theme-toggle{width:48px;height:28px;background:var(--color-surface-alt);padding:0 4px}.theme-toggle .half{display:none}.theme-toggle .dot{width:20px;height:20px;border-radius:50%;background:var(--color-primary);transition:transform var(--dur-base) var(--ease-out)}[data-theme=black-rose] .theme-toggle .dot{transform:translateX(20px)}@media (min-width:768px){.agent-kpi-grid{grid-template-columns:repeat(4,1fr)}}.user-shell{width:100%;max-width:420px;height:100vh;height:100dvh;margin:0 auto;background:var(--color-bg);position:relative;display:flex;flex-direction:column;padding-bottom:calc(84px + env(safe-area-inset-bottom));overflow:hidden;box-shadow:var(--shadow-lg)}@media (min-width:420px){.user-shell{margin:0 auto;border-radius:0;box-shadow:none}}.user-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);height:var(--user-topbar-h);padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-bottom:1px solid var(--color-border)}.user-topbar .brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--weight-heading);letter-spacing:.02em}.user-topbar .brand .dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-fog)}.user-topbar .back{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted)}.user-topbar .back svg{width:18px;height:18px}.user-topbar .right{display:flex;gap:var(--space-2);align-items:center}.user-topbar h1.page-title{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-base);letter-spacing:.02em}.icon-btn-sm{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn-sm:hover{border-color:var(--color-border-rose);color:var(--color-primary)}.icon-btn-sm svg{width:18px;height:18px}.theme-toggle{width:30px;height:30px;border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.theme-toggle .half{position:absolute;inset:0;width:50%}.theme-toggle .half.left{left:0;background:oklch(.685 .195 18)}.theme-toggle .half.right{right:0;background:oklch(.755 .11 30)}.theme-toggle .dot{position:relative;width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-fg);z-index:1;box-shadow:0 0 0 2px var(--color-bg)}.user-content{padding:var(--space-4) var(--space-4) calc(var(--space-6) + 8px);display:flex;flex-direction:column;gap:var(--space-4);flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.user-content>*{flex-shrink:0;min-height:auto}.user-tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--user-shell-max);height:var(--user-tabbar-h);display:grid;grid-template-columns:repeat(5,1fr);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);z-index:var(--z-sticky)}.user-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:var(--text-2xs);color:var(--color-fg-subtle);letter-spacing:.06em}.user-tabbar a svg{width:22px;height:22px}.user-tabbar a[aria-current=page]{color:var(--color-primary);font-weight:var(--weight-semibold)}.user-tabbar a[aria-current=page]:after{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 var(--radius-full) var(--radius-full);background:var(--color-primary)}.user-tabbar a{position:relative}.btn{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-fg);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.btn:hover{border-color:var(--color-border-rose)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:var(--color-fg-on-primary);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 6px 16px var(--color-primary-fog)}.btn-danger{background:var(--color-danger);color:var(--color-fg-on-primary);border-color:var(--color-danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-fg-muted)}.btn-ghost:hover{background:var(--color-surface);color:var(--color-fg)}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn-block{width:100%;justify-content:center}.btn svg{width:16px;height:16px}.admin-action-btn{display:inline-flex;align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.02em;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);cursor:pointer}.admin-action-btn:hover{border-color:var(--color-border-rose);color:var(--color-fg);background:var(--color-primary-fog)}.admin-action-btn:active{transform:translateY(1px)}.admin-action-btn:disabled,.admin-action-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.admin-action-btn svg{width:14px;height:14px;flex:0 0 auto}.admin-action-btn.is-primary{background:var(--color-primary);color:var(--color-fg-on-primary);border-color:var(--color-primary)}.admin-action-btn.is-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.admin-action-btn.is-danger{color:var(--color-danger);border-color:var(--color-border-rose)}.admin-action-btn.is-danger:hover{background:var(--color-danger);color:var(--color-fg-on-primary);border-color:var(--color-danger)}.admin-action-btn.is-edit{background:var(--color-primary-fog);border-color:var(--color-primary);color:var(--color-primary)}.admin-action-btn.is-edit:hover{background:var(--color-primary);color:var(--color-fg-on-primary)}.admin-action-btn.is-warning{border-color:var(--color-warning,var(--color-border-rose));color:var(--color-warning,var(--color-danger))}.admin-action-btn.is-warning:hover{background:var(--color-warning,var(--color-danger));color:var(--color-fg-on-primary);border-color:transparent}.input,.select,.textarea{width:100%;height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.textarea{height:auto;min-height:96px;padding:var(--space-3);resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--color-border-rose);box-shadow:0 0 0 3px var(--color-primary-fog)}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.06em;border:1px solid transparent;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;opacity:.7}.pill.no-dot:before{display:none}.pill-st-active{background:var(--st-active-bg);color:var(--st-active-fg);border-color:var(--st-active-bd)}.pill-st-pending{background:var(--st-pending-bg);color:var(--st-pending-fg);border-color:var(--st-pending-bd)}.pill-st-banned{background:var(--st-banned-bg);color:var(--st-banned-fg);border-color:var(--st-banned-bd)}.pill-st-review{background:var(--st-review-bg);color:var(--st-review-fg);border-color:var(--st-review-bd)}.pill-st-info{background:var(--st-info-bg);color:var(--st-info-fg);border-color:var(--st-info-bd)}.pill-st-rejected{background:var(--st-rejected-bg);color:var(--st-rejected-fg);border-color:var(--st-rejected-bd)}.lv-hero{position:relative;overflow:hidden;padding:var(--space-5);border-radius:var(--radius-xl);background:radial-gradient(120% 80% at 100% 0,var(--lv-hero-bg-from),var(--lv-hero-bg-to));border:1px solid var(--color-border-rose);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:96px 1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:center}.lv-hero .lv-ring{width:96px;height:96px}.lv-hero .name{font-size:var(--text-sm)}.lv-hero .level-name,.lv-hero .name{color:var(--lv-hero-fg);letter-spacing:.04em}.lv-hero .level-name{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-xl);margin-top:2px}.lv-hero .tagline{font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:4px}.lv-hero .next{margin-top:var(--space-2);font-size:var(--text-2xs);color:var(--color-fg-muted);letter-spacing:.04em}.lv-hero .next b{color:var(--lv-hero-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lv-hero:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;background:radial-gradient(circle at 50% 50%,var(--lv-progress-glow),transparent 60%);pointer-events:none}.lv-ring{position:relative;display:inline-grid;place-items:center;width:80px;height:80px;border-radius:var(--radius-full);background:var(--lv-ring-track)}.lv-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.lv-ring circle.tr{stroke:var(--lv-ring-track);stroke-width:8;fill:none}.lv-ring circle.fl{stroke:var(--lv-ring-fill);stroke-width:8;fill:none;stroke-linecap:round;transition:stroke-dasharray var(--dur-slow) var(--ease-out)}.lv-ring.vip circle.fl{stroke:var(--lv-ring-fill-vip)}.lv-ring .center{position:relative;z-index:1;display:grid;place-items:center;width:64%;height:64%;background:var(--color-bg);font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-base);color:var(--lv-hero-fg)}.lv-pill,.lv-ring .center{border-radius:var(--radius-full)}.lv-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.1em}.lv-pill:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.lv-pill-0{background:var(--lv-0-bg);color:var(--lv-0-fg)}.lv-pill-1{background:var(--lv-1-bg);color:var(--lv-1-fg)}.lv-pill-2{background:var(--lv-2-bg);color:var(--lv-2-fg)}.lv-pill-3{background:var(--lv-3-bg);color:var(--lv-3-fg)}.lv-pill-4{background:var(--lv-4-bg);color:var(--lv-4-fg)}.lv-bar{display:flex;flex-direction:column;gap:6px}.lv-bar .row{display:flex;justify-content:space-between;font-size:var(--text-2xs);color:var(--color-fg-muted)}.lv-bar .row b{color:var(--color-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lv-bar .track{height:8px;background:var(--lv-ring-track);overflow:hidden}.lv-bar .fill,.lv-bar .track{border-radius:var(--radius-full)}.lv-bar .fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.perk-list{display:flex;flex-direction:column;gap:var(--space-2)}.perk-row{display:grid;grid-template-columns:28px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.perk-row.locked{opacity:.55}.perk-row .ic{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center}.perk-row .ic svg{width:16px;height:16px}.perk-row .ttl{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.perk-row .desc{font-size:var(--text-2xs);color:var(--color-fg-muted);margin-top:2px}.perk-row .v{font-size:var(--text-xs);color:var(--color-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.level-stepper{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px}.level-stepper .seg{height:8px;border-radius:var(--radius-full);background:var(--lv-ring-track);position:relative}.level-stepper .seg.done{background:var(--color-primary)}.level-stepper .seg.cur{background:linear-gradient(90deg,var(--color-primary),var(--lv-ring-track))}.level-stepper .seg .lab{position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:var(--text-2xs);color:var(--color-fg-subtle);letter-spacing:.08em;white-space:nowrap}.level-stepper .seg.cur .lab,.level-stepper .seg.done .lab{color:var(--color-fg);font-weight:var(--weight-semibold)}.user-task-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}@media (max-width:360px){.user-task-grid{grid-template-columns:1fr}}.user-task-card{position:relative;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2);min-height:130px;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.user-task-card:hover{border-color:var(--color-border-rose);transform:translateY(-1px)}.user-task-card .ic{width:36px;height:36px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-soft);color:var(--color-accent)}.user-task-card .ic svg{width:18px;height:18px}.user-task-card .ttl{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.user-task-card .reward{font-size:var(--text-2xs);color:var(--color-fg-muted);display:flex;gap:6px;align-items:center}.user-task-card .reward b{color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.user-task-card .pg-mini{height:4px;border-radius:var(--radius-full);background:var(--lv-ring-track);overflow:hidden;margin-top:auto}.user-task-card .pg-mini>i{display:block;height:100%;background:var(--color-primary);border-radius:var(--radius-full)}.user-task-card .state{position:absolute;top:var(--space-2);right:var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-bold);padding:2px 8px;border-radius:var(--radius-full);letter-spacing:.06em}.user-task-card.t-todo .state{background:var(--task-todo-bg);color:var(--task-todo-fg)}.user-task-card.t-prog .state{background:var(--task-prog-bg);color:var(--task-prog-fg)}.user-task-card.t-claim .state{background:var(--task-claim-bg);color:var(--task-claim-fg)}.user-task-card.t-done .state{background:var(--task-done-bg);color:var(--task-done-fg)}.user-task-card.t-done{opacity:.85}.checkin-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.checkin-day{aspect-ratio:1;border-radius:var(--radius-md);background:var(--checkin-day-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:var(--text-2xs);color:var(--color-fg-muted);border:1px solid transparent;position:relative}.checkin-day .d{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-sm)}.checkin-day .lab{font-size:10px;letter-spacing:.04em}.checkin-day.done{background:var(--checkin-day-done-bg);color:var(--checkin-day-done-fg)}.checkin-day.today{border-color:var(--checkin-day-today-bd);box-shadow:0 0 0 3px var(--color-primary-fog)}.checkin-day.future{opacity:.55}.checkin-day .check{position:absolute;top:4px;right:4px;width:12px;height:12px;opacity:.85}.streak-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--checkin-streak-fg);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.streak-badge b{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--weight-heading)}.streak-badge svg{width:18px;height:18px}.community-feed{gap:var(--space-3)}.community-feed,.community-post{display:flex;flex-direction:column}.community-post{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--community-card-bg);border:1px solid var(--community-card-border);gap:var(--space-2)}.community-post .head{display:flex;align-items:center;gap:var(--space-2)}.community-post .avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-accent);font-size:14px;font-weight:var(--weight-bold);display:inline-flex;align-items:center;justify-content:center}.community-post .who{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.community-post .ago{font-size:var(--text-2xs);color:var(--color-fg-subtle)}.community-post .body{font-size:var(--text-sm);line-height:var(--line-relaxed);color:var(--color-fg)}.community-post .tags{display:flex;gap:6px;flex-wrap:wrap}.community-post .tag{background:var(--community-tag-bg);color:var(--community-tag-fg);font-size:var(--text-2xs);padding:2px 8px;border-radius:var(--radius-full);letter-spacing:.04em}.community-post .photos{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;margin-top:4px}.community-post .photos>div{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-surface-alt);display:grid;place-items:center;color:var(--color-fg-subtle);font-size:11px}.reaction-bar{display:flex;gap:var(--space-1);padding-top:var(--space-2);border-top:1px dashed var(--color-border)}.reaction-bar button{flex:1 1;padding:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-fg-muted);display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background var(--dur-fast) var(--ease-out)}.reaction-bar button.on,.reaction-bar button:hover{background:var(--community-react-bg);color:var(--community-react-fg)}.reaction-bar button.on{font-weight:var(--weight-semibold)}.reaction-bar svg{width:16px;height:16px}.compose-bar{position:-webkit-sticky;position:sticky;bottom:var(--user-tabbar-h);left:0;margin:var(--space-2) calc(var(--space-4) * -1) 0;padding:var(--space-3) var(--space-4);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);align-items:center}.compose-bar .grow{flex:1 1}.tech-fav-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}@media (max-width:380px){.tech-fav-grid{grid-template-columns:1fr}}.tech-fav{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--tech-fav-card-bg);border:1px solid var(--tech-fav-card-bd);display:flex;flex-direction:column;gap:var(--space-2);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tech-fav:hover{background:var(--tech-fav-card-hover);border-color:var(--color-border-rose)}.tech-fav .photo{aspect-ratio:4/3;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface-alt));display:grid;place-items:center;color:var(--color-accent);font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-lg)}.tech-fav .row{display:flex;align-items:center;justify-content:space-between;gap:6px}.tech-fav .who{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.tech-fav .rating{font-size:var(--text-2xs);color:var(--color-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tech-fav .meta{font-size:var(--text-2xs);color:var(--color-fg-subtle)}.tech-fav .actions{display:flex;gap:4px;margin-top:auto}.tech-fav .actions .btn{flex:1 1}.fav-tabs{display:inline-flex;padding:3px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);gap:2px}.fav-tabs button{padding:8px 14px;border-radius:calc(var(--radius-md) - 3px);font-size:var(--text-xs);color:var(--color-fg-muted);font-weight:var(--weight-medium)}.fav-tabs button[aria-pressed=true]{background:var(--color-primary);color:var(--color-fg-on-primary)}.entry-list{display:flex;flex-direction:column;gap:var(--space-2)}.entry-row{display:grid;grid-template-columns:40px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.entry-row:hover{border-color:var(--color-border-rose)}.entry-row .ic{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-accent);display:grid;place-items:center}.entry-row .ic svg{width:20px;height:20px}.entry-row .ttl{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.entry-row .desc{font-size:var(--text-2xs);color:var(--color-fg-muted);margin-top:2px}.entry-row .chev{color:var(--color-fg-subtle)}.entry-row .chev svg{width:18px;height:18px}.entry-row .badge{min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:var(--weight-bold)}.admin-shell-v7{display:grid;grid-template-columns:240px 1fr;min-height:100vh;width:100%;flex:1 1 100%;max-width:none;background:var(--admin-content-bg)}@media (max-width:1279.98px){.admin-shell-v7{grid-template-columns:64px 1fr}.admin-shell-v7 .admin-sidebar .brand .sub,.admin-shell-v7 .admin-sidebar .label,.admin-shell-v7 .admin-sidebar .sec-title{display:none}.admin-shell-v7 .admin-sidebar .nav-item{justify-content:center;padding:var(--space-2)}.admin-shell-v7 .admin-sidebar .brand .brand-logo{font-size:18px;gap:2px}.admin-shell-v7 .admin-sidebar .brand .brand-logo-word{font-size:0}.admin-shell-v7 .admin-sidebar .brand .brand-logo-word:before{content:"沃";font-size:18px;letter-spacing:0}}.admin-sidebar{background:var(--admin-sidebar-bg);border-right:1px solid var(--admin-sidebar-border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;box-shadow:var(--shadow-sm)}[data-theme=peach-matte] .admin-sidebar{border-right-color:var(--color-border-strong);box-shadow:var(--shadow-md)}@media (max-width:1023.98px){main.admin-shell-v7{grid-template-columns:1fr}main.admin-shell-v7 .admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-overlay);width:260px;height:100vh;transform:translateX(-100%);transition:transform var(--dur-base) var(--ease-out)}main.admin-shell-v7[data-drawer=open] .admin-sidebar{transform:translateX(0)}main.admin-shell-v7 .admin-sidebar .brand .sub,main.admin-shell-v7 .admin-sidebar .label,main.admin-shell-v7 .admin-sidebar .sec-title{display:block}main.admin-shell-v7 .admin-sidebar .nav-item{justify-content:flex-start;padding:var(--space-2) var(--space-3)}main.admin-shell-v7 .admin-sidebar .brand .brand-logo{font-size:24px;gap:var(--space-1)}main.admin-shell-v7 .admin-sidebar .brand .brand-logo-word{font-size:24px;letter-spacing:.04em}main.admin-shell-v7 .admin-sidebar .brand .brand-logo-word:before{content:none}main.admin-shell-v7 .admin-drawer-backdrop{display:none;position:fixed;inset:0;z-index:calc(var(--z-overlay) - 1);background:rgba(0,0,0,.4)}main.admin-shell-v7[data-drawer=open] .admin-drawer-backdrop{display:block}main.admin-shell-v7 .admin-hamburger{display:inline-flex}}.admin-drawer-backdrop,.admin-hamburger{display:none}.admin-sidebar .brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--admin-sidebar-border);font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:.04em}.admin-sidebar .brand .dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-fog);flex:0 0 auto}.admin-sidebar .brand .brand-logo{display:inline-flex;align-items:baseline;gap:var(--space-1);font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:24px;letter-spacing:.04em;line-height:1;color:var(--color-fg)}.admin-sidebar .brand .brand-logo-word{display:inline-block}.admin-sidebar .brand .brand-logo-dot{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-primary);display:inline-block;flex:0 0 auto;transform:translateY(-2px)}.admin-sidebar .brand .sub{font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-2xs);color:var(--color-fg-muted);letter-spacing:.16em;text-transform:uppercase;margin-left:auto}.admin-sidebar .nav{padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:2px}.admin-sidebar .sec-title{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.18em;text-transform:uppercase;color:var(--color-fg-subtle);padding:var(--space-4) var(--space-3) var(--space-2);margin-top:var(--space-2);position:relative}.admin-sidebar .sec-title:before{content:"";display:block;height:1px;background:var(--admin-sidebar-border);margin:0 var(--space-1) var(--space-3)}.admin-sidebar .nav>div:first-child .sec-title{margin-top:0;padding-top:var(--space-2)}.admin-sidebar .nav>div:first-child .sec-title:before{display:none}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-fg-muted);font-size:var(--text-sm);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav-item:hover{background:var(--color-primary-fog);color:var(--color-fg)}.nav-item[aria-current=page]{background:var(--admin-sidebar-active-bg);color:var(--admin-sidebar-active-fg);font-weight:var(--weight-semibold)}.nav-item svg{width:18px;height:18px;flex:0 0 auto}.nav-item .badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);font-size:var(--text-2xs);font-weight:var(--weight-bold);display:inline-flex;align-items:center;justify-content:center}.admin-sidebar .me{margin-top:auto;padding:var(--space-3) var(--space-4);border-top:1px solid var(--admin-sidebar-border);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs)}.admin-sidebar .me .avatar{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);font-weight:var(--weight-bold);font-size:12px;display:inline-flex;align-items:center;justify-content:center}.admin-main{display:flex;flex-direction:column;min-width:0}.admin-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);height:56px;padding:0 var(--space-5);display:flex;align-items:center;gap:var(--space-3);background:var(--admin-topbar-bg);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur)}.admin-topbar .search{flex:1 1;max-width:480px;position:relative}.admin-topbar .search input{width:100%;height:36px;padding:0 var(--space-3) 0 36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg)}.admin-topbar .search input:focus{outline:0;border-color:var(--color-border-rose);box-shadow:0 0 0 3px var(--color-primary-fog)}.admin-topbar .search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-fg-subtle)}.admin-topbar .right{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.env-badge{font-size:var(--text-2xs);padding:2px 8px;border-radius:var(--radius-full);background:var(--st-info-bg);color:var(--st-info-fg);border:1px solid var(--st-info-bd);letter-spacing:.08em;font-weight:var(--weight-semibold)}.icon-btn{width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg-muted);display:inline-flex;align-items:center;justify-content:center;position:relative}.icon-btn:hover{border-color:var(--color-border-rose);color:var(--color-primary)}.icon-btn svg{width:18px;height:18px}.breadcrumb{padding:var(--space-3) var(--space-5) 0;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-fg-subtle)}.breadcrumb .sep{opacity:.6}.breadcrumb .cur{color:var(--color-fg);font-weight:var(--weight-semibold)}.page-header{padding:var(--space-3) var(--space-5) var(--space-4);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-header h1{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-2xl);letter-spacing:.02em;line-height:var(--line-tight)}.page-header .desc{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-fg-muted)}.page-header .actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.audit-banner{margin:0 var(--space-5) var(--space-3);padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-2);border-left:3px solid var(--audit-bar);background:var(--audit-bg);color:var(--audit-fg);font-size:var(--text-xs);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.audit-banner .ic{width:24px;height:24px;border-radius:var(--radius-full);background:var(--audit-icon-bg);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.audit-banner .ic svg{width:14px;height:14px}.audit-banner b{font-weight:var(--weight-bold);letter-spacing:.04em}.panel{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.panel-head{padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border)}.panel-head h2{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-base);letter-spacing:.02em}.panel-head .right{margin-left:auto;display:flex;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-fg-muted)}.panel-body{padding:var(--space-4)}.fact-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:130px 1fr}.fact-list dt{color:var(--color-fg-muted);font-size:var(--text-xs)}.fact-list dd{color:var(--color-fg);font-size:var(--text-sm)}.toolbar{padding:0 var(--space-5) var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.toolbar .grow{flex:1 1;min-width:200px}.seg{display:inline-flex;padding:3px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);gap:2px}.seg button{padding:6px 12px;border-radius:calc(var(--radius-md) - 3px);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted)}.seg button[aria-pressed=true]{background:var(--color-primary);color:var(--color-fg-on-primary)}.table-wrap{margin:0 var(--space-5) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto;overflow-y:hidden}.table-dense{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.table-dense tbody td{position:relative;z-index:1}.table-dense thead{position:relative;z-index:0}.table-dense thead th{height:40px;padding:0 14px;text-align:left;background:var(--table-head-bg);color:var(--table-head-fg);font-weight:var(--weight-semibold);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.table-dense tbody tr,.table-dense thead th{border-bottom:1px solid var(--table-row-border)}.table-dense tbody tr:last-child{border-bottom:0}.table-dense tbody tr:hover{background:var(--table-row-hover-bg)}.table-dense td{height:44px;padding:10px 14px;vertical-align:middle;color:var(--color-fg)}.table-dense .cell-id{font-family:var(--font-mono);color:var(--color-fg-subtle)}.table-dense .cell-actions{display:flex;gap:4px;justify-content:flex-end}.fp-mask{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--fp-mask-bg);color:var(--fp-mask-fg);border:1px solid var(--fp-mask-bd);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em}.fp-mask:before{content:"FP";font-weight:var(--weight-bold);font-size:10px;color:var(--color-primary);letter-spacing:.12em}.fp-mask:after{content:"•••• ••••";opacity:.6}.fp-mask .tail{font-weight:var(--weight-semibold)}.ip-mask{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ip-mask-fg);letter-spacing:.04em}.ip-mask .geo{color:var(--color-fg-muted);margin-right:4px}.ip-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.ip-pill,.ip-pill:before{border-radius:var(--radius-full)}.ip-pill:before{content:"";width:6px;height:6px;background:currentColor;opacity:.7}.ip-pill-good{background:var(--ip-trust-good-bg);color:var(--ip-trust-good-fg)}.ip-pill-mid{background:var(--ip-trust-mid-bg);color:var(--ip-trust-mid-fg)}.ip-pill-low{background:var(--ip-trust-low-bg);color:var(--ip-trust-low-fg)}.ip-pill-bad{background:var(--ip-trust-bad-bg);color:var(--ip-trust-bad-fg)}.risk-gauge{position:relative;width:160px;height:88px;margin:0 auto}.risk-gauge svg{width:100%;height:100%;display:block}.risk-gauge .track{stroke:var(--gauge-track)}.risk-gauge .fill,.risk-gauge .track{stroke-width:14;fill:none;stroke-linecap:round}.risk-gauge .fill{transition:stroke-dasharray var(--dur-slow) var(--ease-out)}.risk-gauge.g-low .fill{stroke:var(--gauge-low)}.risk-gauge.g-mid .fill{stroke:var(--gauge-mid)}.risk-gauge.g-high .fill{stroke:var(--gauge-high)}.risk-gauge.g-block .fill{stroke:var(--gauge-block)}.risk-gauge .val{bottom:2px;font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-2xl);color:var(--color-fg);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.risk-gauge .lab,.risk-gauge .val{position:absolute;left:50%;transform:translateX(-50%)}.risk-gauge .lab{top:8px;font-size:var(--text-2xs);color:var(--color-fg-subtle);letter-spacing:.16em;text-transform:uppercase}.signal-list{display:flex;flex-direction:column;gap:var(--space-2)}.signal-row{display:grid;grid-template-columns:24px 160px 1fr 90px;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--signal-bar);background:var(--signal-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;align-items:center;font-size:var(--text-xs)}.signal-row .ic{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-accent);display:grid;place-items:center}.signal-row .ic svg{width:14px;height:14px}.signal-row .k{color:var(--color-fg);font-weight:var(--weight-semibold)}.signal-row .v{color:var(--color-fg-muted)}.signal-row .delta{text-align:right;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-fg-subtle)}.signal-row.high{background:var(--cluster-3-bg);border-left-color:var(--cluster-3-fg)}.signal-row.bad{background:var(--cluster-4-bg);border-left-color:var(--cluster-4-fg)}.cluster-card{padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);display:grid;grid-template-columns:48px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;transition:border-color var(--dur-fast) var(--ease-out)}.cluster-card:hover{border-color:var(--color-border-rose)}.cluster-card .heat{width:48px;height:48px;border-radius:var(--radius-md);display:grid;place-items:center;font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-lg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cluster-card.h-1 .heat{background:var(--cluster-1-bg);color:var(--cluster-1-fg)}.cluster-card.h-2 .heat{background:var(--cluster-2-bg);color:var(--cluster-2-fg)}.cluster-card.h-3 .heat{background:var(--cluster-3-bg);color:var(--cluster-3-fg)}.cluster-card.h-4 .heat{background:var(--cluster-4-bg);color:var(--cluster-4-fg)}.cluster-card .ttl{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.cluster-card .meta{font-size:var(--text-2xs);color:var(--color-fg-muted);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}.review-detail{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);padding:0 var(--space-5) var(--space-5)}@media (max-width:1023.98px){.review-detail{grid-template-columns:1fr}}.review-content{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.review-content .stars{color:var(--color-warning);letter-spacing:2px;font-size:var(--text-lg)}.review-content .body{font-size:var(--text-base);line-height:var(--line-relaxed);color:var(--color-fg)}.review-content .quote{padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-fg);font-size:var(--text-sm);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.review-side{display:flex;flex-direction:column;gap:var(--space-3)}.review-action-bar{position:-webkit-sticky;position:sticky;bottom:0;margin:0 calc(var(--space-5) * -1) calc(var(--space-5) * -1);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);display:flex;gap:var(--space-2);align-items:center;z-index:var(--z-sticky)}.review-action-bar .grow{flex:1 1}.btn-approve{background:var(--review-approve-bg);color:var(--review-approve-fg);border-color:var(--review-approve-bg)}.btn-reject{background:var(--review-reject-bg);color:var(--review-reject-fg);border-color:var(--review-reject-bg)}.btn-hold{background:var(--review-hold-bg);color:var(--review-hold-fg);border-color:var(--review-hold-bg)}.bl-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;border:1px solid transparent}.bl-pill:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.bl-pill-watch{background:var(--bl-watch-bg);color:var(--bl-watch-fg);border-color:var(--bl-watch-bd)}.bl-pill-restricted{background:var(--bl-restricted-bg);color:var(--bl-restricted-fg);border-color:var(--bl-restricted-bd)}.bl-pill-blocked{background:var(--bl-blocked-bg);color:var(--bl-blocked-fg);border-color:var(--bl-blocked-bd)}.appeal-banner{padding:var(--space-3) var(--space-4);border-left:3px solid var(--appeal-bar);background:var(--appeal-bg);color:var(--appeal-fg);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-xs);display:flex;align-items:center;gap:var(--space-3)}.appeal-banner .ic{width:28px;height:28px;border-radius:var(--radius-full);background:oklch(0 0 0/.08);display:grid;place-items:center}.appeal-banner b{font-weight:var(--weight-bold)}.ago{color:var(--color-fg-subtle);font-size:var(--text-2xs)}.tag-row{display:flex;gap:6px;flex-wrap:wrap}.section-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.section-head h2{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:.02em}.section-head .more{margin-left:auto;font-size:var(--text-xs);color:var(--color-fg-muted)}.rate-placeholder:before{display:inline-block;min-width:18px;text-align:center;font-family:var(--font-mono);color:var(--color-fg-subtle)}.rate-placeholder{color:var(--color-fg-subtle);font-style:italic;font-size:var(--text-xs)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border);padding:0 var(--space-4)}.tabs button{padding:var(--space-3) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);border-bottom:2px solid transparent}.tabs button[aria-pressed=true]{color:var(--color-fg);border-bottom-color:var(--color-primary);font-weight:var(--weight-semibold)}kbd{display:inline-block;padding:1px 6px;font-family:var(--font-mono);font-size:11px;background:var(--color-surface);border:solid var(--color-border);border-width:1px 1px 2px;border-radius:var(--radius-xs);color:var(--color-fg-muted)}.empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--color-fg-subtle)}.empty .ic{width:56px;height:56px;margin:0 auto var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:oklch(0 0 0/.42);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,92vw);background:var(--color-bg);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.drawer-head{padding:var(--space-4);display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border)}.drawer-head h2{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg)}.drawer-body{padding:var(--space-4);overflow-y:auto;flex:1 1}.drawer-foot{border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;background:var(--color-surface)}.drawer-foot,.rate-placeholder{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.rate-placeholder{position:relative;display:inline-flex;align-items:center;min-width:120px;border-radius:var(--radius-md);background:repeating-linear-gradient(135deg,var(--rate-ph-bg) 0 10px,var(--rate-ph-stripe) 10px 20px);border:1px dashed var(--rate-ph-border);color:var(--rate-ph-fg);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:.02em}.rate-placeholder:before{content:"—";font-size:var(--text-base);font-weight:var(--weight-bold);opacity:.7}.rate-placeholder .ph-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--rate-ph-tag-bg);color:var(--rate-ph-tag-fg);font-family:var(--font-body);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.08em}.rate-placeholder.is-block{display:flex;width:100%;justify-content:space-between}.level-pill{display:inline-flex;align-items:center;gap:6px;padding:var(--level-pill-pad-y) var(--level-pill-pad-x);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;line-height:1.4;border:1px solid transparent;white-space:nowrap}.level-pill:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.level-pill.lp-watch{background:var(--bl-watch-bg);color:var(--bl-watch-fg);border-color:var(--bl-watch-bd)}.level-pill.lp-restricted{background:var(--bl-restricted-bg);color:var(--bl-restricted-fg);border-color:var(--bl-restricted-bd)}.level-pill.lp-blocked{background:var(--bl-blocked-bg);color:var(--bl-blocked-fg);border-color:var(--bl-blocked-bd)}.level-pill.lp-draft{background:var(--app-st-draft-bg);color:var(--app-st-draft-fg);border-color:var(--app-st-draft-bd)}.level-pill.lp-submit{background:var(--app-st-submit-bg);color:var(--app-st-submit-fg);border-color:var(--app-st-submit-bd)}.level-pill.lp-pending{background:var(--app-st-pending-bg);color:var(--app-st-pending-fg);border-color:var(--app-st-pending-bd)}.level-pill.lp-approved{background:var(--app-st-approved-bg);color:var(--app-st-approved-fg);border-color:var(--app-st-approved-bd)}.level-pill.lp-rejected{background:var(--app-st-rejected-bg);color:var(--app-st-rejected-fg);border-color:var(--app-st-rejected-bd)}.level-pill.lp-cancel{background:var(--app-st-cancel-bg);color:var(--app-st-cancel-fg);border-color:var(--app-st-cancel-bd)}.kpi-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.kpi-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.kpi-card .kpi-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.08em;text-transform:uppercase;font-weight:var(--weight-semibold)}.kpi-card .kpi-ic{width:36px;height:36px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.kpi-card .kpi-ic svg{width:18px;height:18px}.kpi-card .kpi-num{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-heading);font-size:var(--text-2xl);line-height:1.05;color:var(--color-fg);letter-spacing:-.01em}.kpi-card .kpi-delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-card .kpi-delta.up{color:var(--color-success)}.kpi-card .kpi-delta.down{color:var(--color-danger)}.kpi-card .kpi-delta.flat,.kpi-card .kpi-sub{color:var(--color-fg-subtle)}.kpi-card .kpi-sub{font-size:var(--text-2xs)}.kpi-card.k-redeem .kpi-ic{background:var(--kpi-redeem-bg);color:var(--kpi-redeem-fg)}.kpi-card.k-gmv .kpi-ic{background:var(--kpi-gmv-bg);color:var(--kpi-gmv-fg)}.kpi-card.k-member .kpi-ic{background:var(--kpi-member-bg);color:var(--kpi-member-fg)}.kpi-card.k-task .kpi-ic{background:var(--kpi-task-bg);color:var(--kpi-task-fg)}.audit-timeline{position:relative;display:flex;flex-direction:column;padding-left:var(--space-6)}.audit-timeline:before{content:"";position:absolute;left:10px;top:6px;bottom:6px;width:2px;background:var(--tl-line);border-radius:2px}.audit-timeline .tl-item{position:relative;padding:var(--space-3) 0 var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:4px}.audit-timeline .tl-item:before{content:"";position:absolute;left:-16px;top:var(--space-3);width:12px;height:12px;border-radius:var(--radius-full);background:var(--tl-dot);box-shadow:0 0 0 4px var(--tl-dot-ring)}.audit-timeline .tl-head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg)}.audit-timeline .tl-meta{font-size:var(--text-2xs);color:var(--tl-time-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.audit-timeline .tl-body{font-size:var(--text-xs);color:var(--color-fg-muted);line-height:var(--line-snug)}.audit-timeline .tl-diff{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-fg)}.audit-timeline .tl-diff .arr{color:var(--color-fg-subtle)}.app-stepper{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.app-stepper,.app-stepper .step{display:flex;align-items:center;gap:var(--space-2)}.app-stepper .step{flex:0 0 auto}.app-stepper .step-num{width:28px;height:28px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-sm);background:var(--step-todo-bg);color:var(--step-todo-fg);border:1px solid var(--color-border)}.app-stepper .step-label{font-size:var(--text-xs);color:var(--color-fg-muted);font-weight:var(--weight-medium)}.app-stepper .step.is-active .step-num{background:var(--step-active-bg);color:var(--step-active-fg);border-color:transparent;box-shadow:0 0 0 4px var(--color-primary-fog)}.app-stepper .step.is-active .step-label{color:var(--color-fg);font-weight:var(--weight-semibold)}.app-stepper .step.is-done .step-num{background:var(--step-done-bg);color:var(--step-done-fg);border-color:transparent}.app-stepper .step.is-done .step-label{color:var(--color-success)}.app-stepper .step-line{flex:1 1 auto;height:2px;background:var(--step-line);border-radius:2px;min-width:24px}.app-stepper .step-line.is-done{background:var(--step-done-bg)}.dashboard-chart{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.dashboard-chart .chart-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.dashboard-chart .chart-title{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg)}.dashboard-chart .chart-legend{display:inline-flex;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-2xs);color:var(--color-fg-muted)}.dashboard-chart .chart-legend .lg{display:inline-flex;align-items:center;gap:6px}.dashboard-chart .chart-legend .sw{width:10px;height:10px;border-radius:2px}.dashboard-chart .chart-area{position:relative;height:220px;background:linear-gradient(to top,var(--chart-grid) 1px,transparent 1px) 0 0 /100% 25%,linear-gradient(to right,var(--chart-grid) 1px,transparent 1px) 0 0 /14.28% 100%;border-radius:var(--radius-md);overflow:hidden}.dashboard-chart .chart-area svg{width:100%;height:100%;display:block}.rank-list{display:flex;flex-direction:column;gap:var(--space-2)}.rank-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.rank-row .rk{font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--color-fg-muted);text-align:center}.rank-row.rk-1 .rk{color:var(--rank-medal-1)}.rank-row.rk-2 .rk{color:var(--rank-medal-2)}.rank-row.rk-3 .rk{color:var(--rank-medal-3)}.rank-row .rk-name{display:flex;flex-direction:column;gap:2px}.rank-row .rk-title{font-weight:var(--weight-semibold);color:var(--color-fg);font-size:var(--text-sm)}.rank-row .rk-sub{font-size:var(--text-2xs);color:var(--color-fg-subtle)}.rank-row .rk-bar{width:160px;height:6px;background:var(--rank-bar-bg);border-radius:var(--radius-full);position:relative;overflow:hidden;margin-top:4px}.rank-row .rk-bar>i{position:absolute;left:0;top:0;bottom:0;background:var(--rank-bar-fill);border-radius:var(--radius-full)}.rank-row .rk-amt{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);color:var(--color-fg)}.date-range{display:inline-flex;background:var(--color-surface);border:1px solid var(--color-border);padding:4px;gap:2px}.date-range,.date-range button{border-radius:var(--radius-full)}.date-range button{padding:6px 14px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);transition:all var(--dur-fast) var(--ease-out)}.date-range button[aria-pressed=true]{background:var(--color-primary);color:var(--color-fg-on-primary);font-weight:var(--weight-semibold)}.merchant-shell{max-width:480px;width:100%;margin:0 auto;min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.merchant-shell .ms-hero{padding:var(--space-6) var(--space-4) var(--space-4);background:linear-gradient(180deg,var(--color-primary-fog),transparent)}.merchant-shell .ms-title{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-xl);line-height:var(--line-tight);color:var(--color-fg)}.merchant-shell .ms-sub{margin-top:6px;font-size:var(--text-sm);color:var(--color-fg-muted)}.merchant-shell .ms-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);flex:1 1}.merchant-shell .ms-foot{position:-webkit-sticky;position:sticky;bottom:0;padding:var(--space-3) var(--space-4);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);display:flex;gap:var(--space-2)}.merchant-shell .ms-foot .btn{flex:1 1}.form-field{display:flex;flex-direction:column;gap:6px}.form-field>label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-fg-muted);letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px}.form-field>label .req{color:var(--color-danger)}.form-field .hint{font-size:var(--text-2xs);color:var(--color-fg-subtle)}.form-field .input,.form-field .select,.form-field textarea{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-fg);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out)}.form-field .input:focus,.form-field .select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-fog)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.form-grid>.full{grid-column:1/-1}@media (max-width:768px){.form-grid{grid-template-columns:1fr}}.upload-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.upload-tile{aspect-ratio:4/3;border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--color-fg-muted);font-size:var(--text-xs);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.upload-tile:hover{border-color:var(--color-primary);color:var(--color-primary)}.upload-tile.is-uploaded{border-style:solid;border-color:var(--color-success);color:var(--color-fg);background:var(--color-surface-alt)}.upload-tile svg{width:24px;height:24px}.app-status-card{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.app-status-card .as-head{display:flex;justify-content:space-between;align-items:center}.app-status-card .as-no{font-family:var(--font-number);font-weight:var(--weight-bold);letter-spacing:.04em;color:var(--color-fg)}.app-status-card .as-line{font-size:var(--text-xs);color:var(--color-fg-muted)}.settings-list{display:flex;flex-direction:column;gap:var(--space-2)}.settings-row{display:grid;grid-template-columns:180px 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.settings-row .s-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg)}.settings-row .s-hint{font-size:var(--text-2xs);color:var(--color-fg-subtle);margin-top:2px}.settings-row .s-value{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}@media (max-width:768px){.settings-row{grid-template-columns:1fr}}.contact-card{position:relative;padding:var(--space-6) var(--space-5);border-radius:var(--radius-xl);background:var(--contact-card-bg);border:1px solid var(--contact-card-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;overflow:hidden}.contact-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(120% 80% at 50% -10%,var(--contact-card-ring),transparent 60%);pointer-events:none}.contact-card>*{position:relative}.contact-card .agent-avatar{width:84px;height:84px;border-radius:var(--radius-full);background:var(--ph-avatar-bg);color:var(--ph-avatar-fg);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-2xl);border:2px solid var(--color-border-rose);box-shadow:var(--shadow-sm)}.contact-card .agent-role{font-size:var(--text-xs);letter-spacing:.18em;color:var(--color-fg-subtle);text-transform:uppercase}.contact-card .agent-name{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-xl);color:var(--color-fg);letter-spacing:.02em}.refcode-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 10px 4px 8px;border-radius:var(--radius-full);background:var(--refcode-chip-bg);color:var(--refcode-chip-fg);border:1px solid var(--refcode-chip-border);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.08em}.refcode-chip .label{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:.12em;opacity:.78}.refcode-chip .copy-btn{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.7}.refcode-chip .copy-btn svg{width:14px;height:14px}.channel-actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.channel-actions.dual{flex-direction:row}.channel-actions.dual .channel-btn{flex:1 1}.channel-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:52px;width:100%;padding:0 var(--space-4);border-radius:var(--radius-lg);border:1px solid transparent;font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-base);letter-spacing:.04em;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-fast) var(--ease-out)}.channel-btn svg{width:22px;height:22px}.channel-btn:active{transform:translateY(1px)}.channel-btn--line{background:var(--ch-line-brand);color:var(--ch-line-fg);border-color:var(--ch-line-brand);box-shadow:0 6px 18px var(--ch-line-border)}.channel-btn--line:hover{background:var(--ch-line-brand-hover);border-color:var(--ch-line-brand-hover)}.channel-btn--tg{background:var(--ch-tg-brand);color:var(--ch-tg-fg);border-color:var(--ch-tg-brand);box-shadow:0 6px 18px var(--ch-tg-border)}.channel-btn--tg:hover{background:var(--ch-tg-brand-hover);border-color:var(--ch-tg-brand-hover)}.channel-btn--line-soft{background:var(--ch-line-soft-bg);color:var(--ch-line-soft-fg);border-color:var(--ch-line-border)}.channel-btn--tg-soft{background:var(--ch-tg-soft-bg);color:var(--ch-tg-soft-fg);border-color:var(--ch-tg-border)}.deeplink-preview{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--deeplink-bg);color:var(--deeplink-fg);border:1px dashed var(--deeplink-border);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--line-snug);word-break:break-all}.deeplink-preview .host{color:var(--deeplink-host-fg);font-weight:var(--weight-semibold)}.deeplink-preview .ic{width:28px;height:28px;flex:0 0 auto;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);color:var(--deeplink-host-fg);border:1px solid var(--deeplink-border)}.deeplink-preview .ic svg{width:16px;height:16px}.deeplink-preview.empty{font-style:italic;color:var(--color-fg-subtle)}.no-contact-fallback{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--no-contact-bg);color:var(--no-contact-fg);border:1px solid var(--no-contact-border);text-align:center}.no-contact-fallback .head{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--weight-semibold)}.no-contact-fallback .head svg{width:18px;height:18px}.no-contact-fallback .hint{font-size:var(--text-xs);opacity:.86;line-height:var(--line-relaxed)}.platform-cs-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:transparent;color:var(--color-fg-muted);border:1px solid var(--color-border);font-size:var(--text-sm);width:100%;justify-content:center}.platform-cs-link:hover{color:var(--color-primary);border-color:var(--color-border-rose)}.platform-cs-link svg{width:16px;height:16px}.contact-form{display:flex;flex-direction:column;gap:var(--space-5)}.contact-form .field{display:flex;flex-direction:column;gap:var(--space-2)}.contact-form .field label{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-fg);display:inline-flex;align-items:center;gap:var(--space-2)}.contact-form .field label .badge-brand{font-size:var(--text-2xs);padding:2px 6px;border-radius:var(--radius-full);letter-spacing:.06em}.contact-form .field label .badge-brand.line{background:var(--ch-line-soft-bg);color:var(--ch-line-soft-fg)}.contact-form .field label .badge-brand.tg{background:var(--ch-tg-soft-bg);color:var(--ch-tg-soft-fg)}.contact-form .field .hint{font-size:var(--text-xs);color:var(--color-fg-subtle)}.contact-form .field .input-row{display:flex;gap:var(--space-2)}.contact-form .field .input-row .prefix{display:inline-flex;align-items:center;padding:0 var(--space-3);height:44px;background:var(--deeplink-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-subtle);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.contact-form .field .input-row .input{flex:1 1}.contact-form-hint{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--no-contact-bg);color:var(--no-contact-fg);border:1px solid var(--no-contact-border);font-size:var(--text-xs);line-height:var(--line-relaxed)}.contact-form-hint svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px}.contact-form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.contact-form-actions .btn{flex:1 1}@media (min-width:768px){.contact-form{gap:var(--space-6)}.contact-form .form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5)}.contact-form .form-grid>.field{margin:0}}.bottomnav-v10{position:fixed;bottom:env(safe-area-inset-bottom,0);left:50%;transform:translateX(-50%);width:100%;max-width:420px;height:calc(var(--user-tabbar-h) + 8px);display:grid;grid-template-columns:1fr 1fr 88px 1fr 1fr;align-items:end;background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-top:1px solid var(--color-border);z-index:var(--z-sticky);padding-bottom:6px}.bottomnav-v10 .nav-i{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:var(--user-tabbar-h);gap:2px;font-size:var(--text-2xs);color:var(--color-fg-subtle);letter-spacing:.06em;-webkit-tap-highlight-color:transparent}.bottomnav-v10 .nav-i svg{width:22px;height:22px}.bottomnav-v10 .nav-i[aria-current=page]{color:var(--color-primary);font-weight:var(--weight-semibold)}.bottomnav-v10 .nav-i[aria-current=page]:after{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 var(--radius-full) var(--radius-full);background:var(--color-primary)}.bottomnav-v10 .nav-i .ripple{position:absolute;inset:12% 18%;border-radius:var(--radius-full);background:var(--color-primary-fog);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);transform:scale(.7)}.bottomnav-v10 .nav-i:active .ripple{opacity:1;transform:scale(1)}.bottomnav-v10 .nav-fab{position:relative;display:flex;align-items:flex-start;justify-content:center;height:100%}.bottomnav-v10 .nav-fab .fab-btn{position:absolute;top:-22px;width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);display:inline-flex;align-items:center;justify-content:center;border:4px solid var(--color-bg);box-shadow:0 10px 26px var(--color-primary-fog),var(--shadow-md)}.bottomnav-v10 .nav-fab .fab-btn svg{width:28px;height:28px}.bottomnav-v10 .nav-fab .fab-label{position:absolute;bottom:6px;font-size:var(--text-2xs);letter-spacing:.06em;color:var(--color-fg-subtle)}.consult-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-5);background:var(--consult-card-bg);border:1px solid var(--consult-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative}.consult-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 4px var(--consult-card-ring);pointer-events:none;opacity:.6}.consult-card .consult-avatar{width:64px;height:64px;border-radius:var(--radius-full);background:var(--consult-avatar-bg);color:var(--consult-avatar-fg);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:var(--weight-bold)}.consult-card .consult-role{font-size:var(--text-sm);color:var(--consult-role-fg);letter-spacing:.04em}.consult-card .consult-name{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--consult-name-fg)}.consult-card--default{background:var(--consult-default-bg);border-color:var(--consult-default-border)}.consult-card--default .consult-avatar{background:var(--consult-default-avatar-bg);color:var(--consult-default-avatar-fg)}.consult-topics{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.consult-topics .topics-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg-muted);letter-spacing:.04em}.consult-topics .topics-title svg{width:16px;height:16px;color:var(--color-primary)}.consult-topics .topics-hint{font-size:var(--text-sm);color:var(--color-fg);line-height:1.55;margin:0}.consult-topics ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.consult-topics li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-fg);line-height:1.55}.consult-topics li .dot{flex-shrink:0;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-primary);margin-top:8px}.consult-fab{position:fixed;right:var(--space-4);bottom:calc(84px + env(safe-area-inset-bottom) + var(--space-3));display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:var(--ch-tg-brand);color:var(--ch-tg-fg);border:1px solid var(--ch-tg-brand);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.04em;text-decoration:none;z-index:var(--z-sticky);transition:transform .15s ease,filter .15s ease}.consult-fab:hover{background:var(--ch-tg-brand-hover);border-color:var(--ch-tg-brand-hover);transform:translateY(-1px)}.consult-fab:active{transform:translateY(0)}.consult-fab svg{width:18px;height:18px;fill:currentColor}@media (min-width:420px){.consult-fab{position:absolute;right:var(--space-4);bottom:calc(84px + var(--space-3))}}.merchant-modal-backdrop{position:fixed;inset:0;background:var(--merchant-modal-backdrop);z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--space-4);padding-top:max(var(--space-4),env(safe-area-inset-top));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.merchant-modal{background:var(--merchant-modal-bg);border:1px solid var(--merchant-modal-border);border-radius:var(--radius-lg);box-shadow:var(--merchant-modal-shadow);max-width:min(560px,100%);width:100%;max-height:calc(100dvh - var(--space-8));overflow:auto;-webkit-overflow-scrolling:touch;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.merchant-modal-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.merchant-modal-title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.merchant-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.merchant-form-field>label{font-size:var(--text-sm);color:var(--merchant-form-label-fg);font-weight:var(--weight-medium)}.merchant-form-field input,.merchant-form-field select,.merchant-form-field textarea{background:var(--merchant-form-input-bg);border:1px solid var(--merchant-form-input-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-base);color:var(--color-fg)}.merchant-form-hint{font-size:var(--text-xs);color:var(--merchant-form-hint-fg)}.merchant-tg-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--merchant-tg-pill-bg);color:var(--merchant-tg-pill-fg);border:1px solid var(--merchant-tg-pill-border);font-size:var(--text-xs)}.merchant-detail-section{background:var(--merchant-detail-section-bg);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.merchant-detail-section h3{font-size:var(--text-sm);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.06em}.merchant-action-danger{color:var(--merchant-action-danger-fg);background:var(--merchant-action-danger-bg);border:1px solid var(--merchant-action-danger-fg)}.bottomnav-v10 .nav-i[data-nav-key=consult] svg,.bottomnav-v10 .nav-i[data-nav-key=my-agent] svg{width:22px;height:22px}.kpi-grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.kpi-card-v13{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:3px;min-height:96px;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.kpi-card-v13:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-card-v13 .kpi-ic{width:26px;height:26px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary);flex-shrink:0;margin-bottom:2px}.kpi-card-v13 .kpi-ic svg{width:16px;height:16px;stroke-width:1.8}.kpi-card-v13 .label{font-size:var(--text-xs);color:var(--color-fg-muted);font-weight:var(--weight-medium);letter-spacing:.04em;line-height:1.2;white-space:nowrap}.kpi-card-v13 .value{font-family:var(--font-number);font-size:21px;font-weight:var(--weight-heading);line-height:1.05;color:var(--color-fg);margin:1px 0}.kpi-card-v13 .sub{font-size:var(--text-2xs);color:var(--color-fg-subtle);line-height:1.25}.refcode-chip-v13{font-family:var(--font-mono,ui-monospace,"JetBrains Mono",SFMono-Regular,Menlo,monospace);font-size:13px;font-weight:700;letter-spacing:-.025em;background:var(--color-primary-soft);color:var(--color-primary);padding:1px 7px;border-radius:var(--radius-xs);display:inline-block;line-height:1.35;vertical-align:baseline}.refcode-chip-v13,.referral-card{border:1px solid var(--color-border-rose)}.referral-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.referral-card-title{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);letter-spacing:.06em;text-transform:uppercase}.referral-link-row{display:flex;flex-direction:column;gap:var(--space-1)}.referral-link-text{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.45;color:var(--color-fg);background:var(--color-surface-alt);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);-moz-user-select:all;user-select:all;-webkit-user-select:all;cursor:pointer;word-break:break-all}.referral-link-text:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-fog)}.referral-actions{display:flex;gap:var(--space-2)}.referral-btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;height:38px;font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.referral-btn-primary{background:var(--color-primary);color:var(--color-fg-on-primary)}.referral-btn-primary:hover{box-shadow:0 0 0 3px var(--color-primary-fog)}.referral-btn-ghost{background:transparent;color:var(--color-fg);border-color:var(--color-border-strong)}.referral-btn-ghost:hover{background:var(--color-surface-alt)}.qr-code-frame{width:140px;height:140px;background:var(--color-qr-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);box-sizing:border-box;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);margin:0 auto}.qr-svg{width:100%;height:100%;color:var(--color-qr-fg);display:block}.referral-footnote{font-size:var(--text-xs);color:var(--color-fg-subtle);text-align:center;line-height:1.35}.platform-contact-form{gap:var(--space-4)}.form-row,.platform-contact-form{display:flex;flex-direction:column}.form-row{gap:var(--space-1)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg-muted)}.form-input,.form-textarea{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-fg);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);outline:none}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-fog)}.form-textarea{min-height:88px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-full,9999px);border:1px solid var(--color-border);color:var(--color-fg-muted);background:var(--color-surface-alt)}.status-pill-ok{color:var(--color-success);border-color:var(--color-success);background:transparent}.audit-log{display:flex;flex-direction:column;padding-left:var(--space-4)}.audit-log,.audit-log-item{gap:var(--space-3);position:relative}.audit-log-item{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-3)}.audit-log-dot{width:10px;height:10px;border-radius:var(--radius-full,9999px);background:var(--color-primary);margin-top:6px;flex-shrink:0}.audit-log-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-subtle)}.audit-log-body{font-size:var(--text-sm);color:var(--color-fg);line-height:1.5}.login-ref-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-primary-soft);border:1px solid var(--color-border-rose);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-fg);flex-wrap:wrap;min-width:0}.login-ref-avatar{width:28px;height:28px;border-radius:var(--radius-full,9999px);background:var(--color-primary);color:var(--color-fg-on-primary);display:grid;place-items:center;flex-shrink:0}.login-ref-text{flex:1 1 auto;min-width:0;line-height:1.35;word-break:break-word}.refcode-chip-v14{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);background:var(--color-primary-soft);color:var(--color-primary);padding:1px var(--space-2);border-radius:var(--radius-xs);border:1px solid var(--color-border-rose);letter-spacing:-.02em;display:inline-block}.memberno-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--memberno-chip-bg);border:1px solid var(--memberno-chip-border);color:var(--memberno-chip-fg);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);line-height:var(--line-tight);transition:background var(--dur-fast) var(--ease-out);white-space:nowrap;max-width:100%}.memberno-chip:hover{background:var(--memberno-chip-bg-hover)}.memberno-chip .memberno-label{font-family:var(--font-body);font-weight:var(--weight-regular);font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.02em}.memberno-chip .memberno-digits{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis}.memberno-chip.is-sm{padding:2px var(--space-2)}.memberno-chip.is-sm,.memberno-chip.is-sm .memberno-digits{font-size:var(--text-xs)}.memberno-chip.is-md{padding:var(--space-1) var(--space-3)}.memberno-chip.is-md,.memberno-chip.is-md .memberno-digits{font-size:var(--text-sm)}.memberno-chip.is-lg{padding:var(--space-2) var(--space-4);font-size:clamp(var(--text-lg),5.5vw,var(--text-2xl));border-radius:var(--radius-lg)}.memberno-chip.is-lg .memberno-digits{font-size:clamp(var(--text-xl),6vw,var(--text-3xl));font-weight:var(--weight-bold)}.memberno-chip.is-masked .memberno-digits{color:var(--memberno-mask-fg)}.memberno-copy-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--memberno-copy-bg);color:var(--memberno-copy-fg);border:1px solid var(--color-border);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.memberno-copy-btn:hover{background:var(--memberno-copy-bg-hover)}.memberno-chip.is-lg .memberno-copy-btn{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.memberno-toast{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--memberno-toast-bg);color:var(--memberno-toast-fg);font-size:var(--text-sm);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out);z-index:var(--z-toast)}.memberno-toast.is-shown{opacity:1}@media (prefers-reduced-motion:reduce){.memberno-chip,.memberno-copy-btn,.memberno-toast{transition:none}}.winners-page{min-height:100vh;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);padding-bottom:var(--space-16)}.winners-hero{padding:var(--space-8) var(--space-4) var(--space-6);background:var(--color-bg-2);border-bottom:1px solid var(--color-border)}.winners-hero h1{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-3xl);line-height:var(--line-tight);margin:0 0 var(--space-2);color:var(--color-fg)}.winners-hero .subtitle{color:var(--color-fg-muted);font-size:var(--text-base);margin:0}.winners-back{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);color:var(--color-fg-muted);font-size:var(--text-sm);text-decoration:none;background:none;border:0;cursor:pointer}.winners-filter-bar{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.winners-filter-bar .filter-label{font-size:var(--text-sm);color:var(--color-fg-muted)}.winners-filter-bar select{flex:0 1 220px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-sm)}.winners-list{padding:var(--space-2) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.winners-row{display:grid;grid-template-columns:92px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--winners-row-bg);border:1px solid var(--winners-row-border);border-radius:var(--radius-lg);transition:background var(--dur-fast) var(--ease-out);animation:winners-fade-in var(--dur-base) var(--ease-out) backwards}.winners-row:hover{background:var(--winners-row-bg-hover)}.winners-row .row-thumb{width:56px;height:56px;border-radius:var(--radius-md);background:var(--color-surface-deep);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-fg-subtle);font-size:var(--text-xs)}.winners-row .row-thumb img{width:100%;height:100%;object-fit:cover}.winners-row .row-time{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.winners-row .row-time .pulse{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--winners-time-fg)}.winners-row .row-time .pulse:before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--winners-pulse-dot);animation:winners-pulse 2s var(--ease-in-out) infinite}.winners-row .row-time .timestamp{font-size:var(--text-xs);color:var(--color-fg-subtle)}.winners-row .row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.winners-row .row-main .winner-line{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.winners-row .row-main .prize{font-weight:var(--weight-semibold);color:var(--winners-prize-fg);font-size:var(--text-base)}.winners-row .row-main .prize em{color:var(--winners-prize-accent);font-style:normal}.winners-row .row-main .round{font-size:var(--text-sm);color:var(--winners-round-fg);text-decoration:none}.winners-row .row-main .round:hover{text-decoration:underline}.winners-load-more{margin:var(--space-6) auto 0;display:block;padding:var(--space-3) var(--space-8);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border-strong);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.winners-load-more:hover{background:var(--color-surface-alt)}.winners-load-more:disabled{opacity:.5;cursor:not-allowed}.winners-empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--color-fg-muted)}.winners-empty .empty-icon{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.winners-skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) var(--space-4)}.winners-skeleton .sk-row{height:84px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:winners-skeleton 1.4s var(--ease-in-out) infinite}@keyframes winners-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes winners-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes winners-skeleton{0%,to{opacity:.55}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.winners-load-more,.winners-row,.winners-row .row-time .pulse:before,.winners-skeleton .sk-row{animation:none;transition:none}}@media (max-width:767px){.winners-row{grid-template-columns:56px 1fr;grid-template-rows:auto auto}.winners-row .row-time{grid-column:2/3;grid-row:1/2;flex-direction:row;align-items:center;gap:var(--space-2)}.winners-row .row-thumb{grid-column:1/2;grid-row:1/3}.winners-row .row-main{grid-column:2/3;grid-row:2/3}.winners-hero h1{font-size:var(--text-2xl)}.memberno-chip.is-lg .memberno-digits{font-size:clamp(var(--text-lg),7vw,var(--text-2xl));letter-spacing:.03em}}.register-complete{min-height:100vh;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center}.register-complete .complete-card{max-width:440px;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-lg)}.register-complete h1{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-2xl);margin:0 0 var(--space-2);color:var(--color-fg)}.register-complete .welcome-emoji{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.register-complete .lead{color:var(--color-fg-muted);font-size:var(--text-base);margin:0 0 var(--space-6)}.register-complete .memberno-hero{margin:var(--space-4) 0 var(--space-6);padding:var(--space-4) var(--space-3);background:var(--color-bg-2);border-radius:var(--radius-lg);border:1px dashed var(--memberno-chip-border)}.register-complete .memberno-hero .memberno-chip{margin-bottom:var(--space-3)}.register-complete .note{background:var(--color-surface-alt);border-left:3px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-fg-muted);text-align:left;margin-top:var(--space-4)}.register-complete .note strong{color:var(--color-fg);display:block;margin-bottom:var(--space-1)}.register-complete .cta-row{margin-top:var(--space-6);display:flex;gap:var(--space-3);justify-content:center}.register-complete .btn-primary{padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-fg-on-primary);border:0;font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.register-complete .btn-primary:hover{background:var(--color-primary-hover)}.profile-member-no-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.profile-hero-block{position:relative;padding:var(--space-5) var(--space-5) var(--space-4);background:linear-gradient(155deg,var(--color-surface) 0,var(--color-surface-alt) 60%,var(--color-surface-deep) 100%);border-radius:var(--radius-xl);border:1px solid var(--color-border-rose);overflow:hidden;isolation:isolate}.phb-glow{top:-40%;right:-20%;width:70%;height:140%;background:radial-gradient(closest-side,var(--color-primary-fog),transparent 70%)}.phb-glow,.phb-grain{position:absolute;pointer-events:none;z-index:0}.phb-grain{inset:0;background-image:radial-gradient(var(--color-fg) 1px,transparent 1px);background-size:3px 3px;opacity:var(--noise-opacity)}.profile-hero-block>:not(.phb-glow):not(.phb-grain){position:relative;z-index:1}.phb-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.phb-kicker{font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.12em;text-transform:uppercase}.phb-name{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-3xl);color:var(--color-fg);margin:0;letter-spacing:.02em;line-height:var(--line-tight);min-width:0;flex:1 1 auto}.phb-name--memberno{font-size:var(--text-base);font-family:var(--font-number,var(--font-mono,ui-monospace,monospace));font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phb-name-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);min-width:0}.phb-copy-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin-top:4px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated,var(--color-bg));color:var(--color-fg);font-size:var(--text-base);line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.phb-copy-btn:hover{background:var(--color-primary-fog,var(--color-bg-elevated));border-color:var(--color-primary,var(--color-border))}.phb-copy-btn:active{transform:scale(.95)}.phb-copy-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.phb-copy-toast{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-fg);color:var(--color-bg);font-size:var(--text-xs);font-weight:var(--weight-semibold);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);z-index:2}.phb-copy-toast.is-shown{opacity:1;transform:translateY(0)}.phb-loading{padding:var(--space-6) 0;text-align:center;color:var(--color-fg-muted);font-size:var(--text-sm)}.phb-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin:0}.phb-meta-grid>div{display:flex;flex-direction:column;gap:2px}.phb-meta-grid dt{font-size:var(--text-2xs);color:var(--color-fg-muted);letter-spacing:.1em;text-transform:uppercase}.phb-meta-grid dd{font-size:var(--text-sm);color:var(--color-fg);margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.m-tag,.phb-meta-grid dd{font-weight:var(--weight-medium)}.m-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.04em}.m-tag--role{background:var(--crm-tag-vip-bg);color:var(--crm-tag-vip-fg);border:1px solid var(--crm-tag-vip-border)}.m-tag--role.m-tag--solid{background:var(--color-primary);color:var(--color-fg-on-primary);border-color:transparent}.m-tag--time{background:var(--state-expired-bg);color:var(--state-expired-fg);border:1px solid var(--state-expired-border);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--member-section-gap)}.mini-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.mini-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.mini-card>header{display:flex;align-items:center;gap:var(--space-2)}.mini-ico{font-size:var(--text-lg)}.mini-label{font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.04em}.mini-num-row{display:inline-flex;align-items:baseline;gap:4px}.mini-num{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);font-size:var(--text-2xl);color:var(--color-fg);line-height:var(--line-tight)}.mini-checkin .mini-num{color:var(--color-primary)}.mini-diamond .mini-num{color:var(--color-accent)}.mini-unit{font-size:var(--text-xs);color:var(--color-fg-muted)}.mini-rate{font-size:var(--text-2xs);color:var(--color-fg-subtle);letter-spacing:.04em}.mini-card .btn{margin-top:auto}.mini-err{font-size:var(--text-2xs);color:var(--color-danger)}.mini-card.medal-card{background:radial-gradient(120% 80% at 50% 0,var(--color-primary-fog),transparent 55%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--pad-card);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.medal-wrap{display:flex;align-items:center;justify-content:center;padding:var(--space-1) 0}.medal{position:relative;width:100px;height:100px}.medal-svg{width:100%;height:100%;transform:rotate(-90deg)}.medal-track{fill:none;stroke:var(--gauge-track,var(--color-border));stroke-width:8}.medal-fill{fill:none;stroke:var(--color-primary);stroke-width:8;stroke-linecap:round;stroke-dasharray:var(--circ,264);stroke-dashoffset:var(--offset,264);filter:drop-shadow(0 0 4px var(--lv-progress-glow));transition:stroke-dashoffset var(--dur-slow) var(--ease-out-expo),stroke var(--dur-base) var(--ease-out)}.medal-fill.is-claim{stroke:var(--color-accent)}.medal-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;pointer-events:none}.medal-flame{font-size:var(--text-base);filter:drop-shadow(0 0 4px var(--color-primary-fog));line-height:1;margin-bottom:2px}.medal-num{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-heading);font-size:var(--text-2xl);color:var(--color-fg);line-height:1;letter-spacing:-.02em}.medal-card.is-zero .medal-num{color:var(--color-fg-muted)}.medal-unit{font-family:var(--font-body);font-size:10px;color:var(--color-fg-subtle);letter-spacing:.08em;margin-top:2px;font-weight:var(--weight-medium)}.next-tier{text-align:center;font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.02em;line-height:var(--line-snug);margin:0}.next-tier .nt-day{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-primary);font-weight:var(--weight-bold);font-size:var(--text-sm)}.next-tier .nt-dia{color:var(--color-accent);font-family:var(--font-number);font-weight:var(--weight-semibold)}.next-tier .nt-extra,.next-tier.is-all-claimed{color:var(--color-fg-subtle)}.next-tier .nt-extra{display:block;margin-top:4px;font-size:var(--text-2xs);font-family:var(--font-number)}.next-tier .nt-extra .ck{color:var(--color-primary);margin-right:2px;font-weight:var(--weight-bold)}.mini-card.gem-card{background:conic-gradient(from 180deg at 50% 100%,var(--color-primary-fog) 0deg,transparent 120deg,transparent 240deg,var(--color-primary-fog) 1turn),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--pad-card);flex-direction:column;align-items:stretch;gap:var(--space-3);box-shadow:var(--shadow-sm);overflow:hidden}.gem-wrap,.mini-card.gem-card{display:flex;position:relative}.gem-wrap{align-items:center;justify-content:center;padding:var(--space-1) 0}.gem{width:130px;height:110px;position:relative;filter:drop-shadow(0 4px 10px var(--lv-progress-glow))}.gem-svg{width:100%;height:100%;display:block}.gem-facet-1{fill:var(--color-primary)}.gem-facet-2{fill:var(--color-accent)}.gem-facet-3{fill:var(--color-primary-hover)}.gem-facet-4{fill:var(--color-primary-soft)}.gem-facet-edge{fill:none;stroke:var(--color-border-rose);stroke-width:.8;stroke-linejoin:miter}.gem-card.is-zero .gem-facet-1,.gem-card.is-zero .gem-facet-2,.gem-card.is-zero .gem-facet-3{fill:var(--color-surface-alt)}.gem-card.is-zero .gem-facet-4{fill:var(--color-surface-deep)}.gem-card.is-zero .gem{filter:none}.gem-card.is-zero .gem-facet-edge{stroke:var(--color-border)}.gem-card.is-loading .gem{animation:gem-pulse 1.6s var(--ease-in-out) infinite}@keyframes gem-pulse{0%,to{opacity:.55}50%{opacity:1}}.gem-num-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.gem-num{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-heading);font-size:var(--text-xl);color:var(--color-fg);line-height:1;letter-spacing:-.02em;text-shadow:0 1px 2px oklch(0 0 0/.35)}.gem-num.size-xl{font-size:var(--text-2xl)}.gem-num.size-lg{font-size:var(--text-xl)}.gem-num.size-md{font-size:var(--text-base)}.gem-num.size-sm{font-size:var(--text-sm)}.gem-card.is-zero .gem-num{color:var(--color-fg-muted);text-shadow:none}.gem-card.is-loading .gem-num{color:var(--color-fg-subtle);text-shadow:none}.gem-unit{font-family:var(--font-body);font-size:10px;color:var(--color-fg-on-primary);letter-spacing:.1em;margin-top:2px;font-weight:var(--weight-medium);opacity:.92}.gem-card.is-loading .gem-unit,.gem-card.is-zero .gem-unit{color:var(--color-fg-subtle);opacity:1}.gem-rate{text-align:center;font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:.02em;line-height:var(--line-snug);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0}.gem-rate .rate-strong{color:var(--color-accent);font-weight:var(--weight-bold)}.gem-err{font-size:var(--text-2xs);color:var(--color-danger);background:var(--state-none-bg);border:1px solid var(--state-none-border);border-radius:var(--radius-sm);padding:6px var(--space-2)}.gem-card .gem-rate-skel{background:linear-gradient(90deg,var(--color-surface-alt) 0,var(--color-surface) 50%,var(--color-surface-alt) 100%);background-size:200% 100%;animation:gem-skel-shimmer 1.4s var(--ease-in-out) infinite;border-radius:var(--radius-sm);height:16px;width:100%}@keyframes gem-skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gem-card .btn-accent{box-shadow:0 6px 16px var(--color-primary-fog)}.gem-card.is-loading .btn{background:var(--color-surface-alt);color:var(--color-fg-subtle);cursor:not-allowed;pointer-events:none;box-shadow:none}.list-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-top:var(--member-section-gap)}.list-section>.ls-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-bg-2)}.ls-head h2{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--color-fg);margin:0}.ls-sub{font-size:var(--text-xs);flex:1 1 100%}.ls-count,.ls-sub{color:var(--color-fg-muted)}.ls-count{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-xs);background:var(--color-surface);padding:2px var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border)}.ls-body{padding:var(--space-5)}.ls-loading{padding:var(--space-4);text-align:center;color:var(--color-fg-muted);font-size:var(--text-sm)}.empty-state--b{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-4);text-align:left;padding:var(--space-4) 0}.empty-state--b .empty-art{opacity:.85;flex-shrink:0}.empty-state--b .empty-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.empty-state--b .empty-copy p{margin:0;font-size:var(--text-sm);color:var(--color-fg-muted)}.btn-go{font-weight:var(--weight-medium);letter-spacing:.02em}.btn-accent{background:var(--color-accent);color:var(--color-fg-on-primary);border-color:transparent}.btn-accent:hover{filter:brightness(1.08)}.btn-outline{background:transparent;color:var(--color-primary);border:1px solid var(--color-border-rose)}.btn-outline:hover{background:var(--color-primary-fog);border-color:var(--color-primary)}.m-logout-row{display:flex;justify-content:center;margin-top:var(--space-4);padding-bottom:var(--space-4)}.m-logout-row .btn{min-width:160px}@media (max-width:380px){.mini-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.mini-card:hover{transform:none}}.barcode-chip{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);position:relative}.barcode-chip .barcode-label{font-family:var(--font-body);font-size:var(--text-2xs,11px);color:var(--color-fg-subtle);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}.barcode-digits{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:.12em;color:var(--color-fg)}.barcode-stripes{height:28px;margin-top:var(--space-2);background:repeating-linear-gradient(90deg,var(--color-fg) 0,var(--color-fg) 2px,transparent 2px,transparent 4px,var(--color-fg) 4px,var(--color-fg) 5px,transparent 5px,transparent 8px,var(--color-fg) 8px,var(--color-fg) 11px,transparent 11px,transparent 13px);border-radius:2px;grid-column:1/-1;opacity:.92}.barcode-chip.is-expired .barcode-digits,.barcode-chip.is-used .barcode-digits{color:var(--color-fg-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-fg-subtle);text-decoration-color:var(--color-fg-subtle);text-decoration-thickness:1px}.barcode-chip.is-expired .barcode-stripes,.barcode-chip.is-used .barcode-stripes{opacity:.28}.barcode-copy{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);background:var(--color-primary);color:var(--color-fg-on-primary);border:0;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.barcode-copy:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.barcode-copy.is-disabled,.barcode-copy:disabled{background:var(--color-surface-alt);color:var(--color-fg-subtle);cursor:not-allowed}.barcode-copy.is-disabled:hover,.barcode-copy:disabled:hover{background:var(--color-surface-alt);transform:none}@media (prefers-reduced-motion:reduce){.barcode-copy{transition:none}.barcode-copy:hover{transform:none}}.providerno-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-fg-muted);font-family:var(--font-mono);font-weight:var(--weight-semibold);font-size:var(--text-xs);letter-spacing:.08em;line-height:1.4;white-space:nowrap}.providerno-chip .pno-digits{font-family:var(--font-mono);color:var(--color-fg)}.providerno-chip .providerno-label{display:none}.providerno-chip.is-md{padding:2px var(--space-3);font-size:var(--text-sm)}.providerno-chip.is-lg{padding:var(--space-1) var(--space-3);font-size:var(--text-base);border-radius:var(--radius-md)}.kpi-headline{display:flex;align-items:stretch;gap:0;padding:var(--space-3) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.kpi-headline .kpi-cell{flex:1 1;padding:0 var(--space-4);border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.kpi-headline .kpi-cell:first-child{padding-left:0}.kpi-headline .kpi-cell:last-child{border-right:0}.kpi-headline .kpi-kicker{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-fg-subtle)}.kpi-headline .kpi-n{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:1;color:var(--color-fg);letter-spacing:-.01em}.kpi-headline .kpi-cell.k-active .kpi-n{color:var(--color-success)}.kpi-headline .kpi-cell.k-inactive .kpi-n{color:var(--color-warning)}.kpi-headline .kpi-cell.k-archived .kpi-n{color:var(--color-danger)}.admin-shell-v7 .type-tabs{display:flex;gap:0;padding:0 var(--space-6);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3)}.admin-shell-v7 .type-tabs .tab{padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-fg-muted);background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-2)}.admin-shell-v7 .type-tabs .tab:hover{color:var(--color-fg)}.admin-shell-v7 .type-tabs .tab.is-active{color:var(--color-fg);border-bottom-color:var(--color-primary);font-weight:var(--weight-semibold)}.admin-shell-v7 .type-tabs .tab .count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-subtle);background:var(--color-surface-alt);padding:1px var(--space-2);border-radius:var(--radius-full)}.admin-shell-v7 .type-tabs .tab.is-active .count{color:var(--color-primary);background:var(--memberno-chip-bg-hover)}.parlor-filter-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6) var(--space-3);font-size:var(--text-sm)}.parlor-filter-row .filter-label{color:var(--color-fg-muted);font-size:var(--text-xs);letter-spacing:.06em}.parlor-filter-row select{min-width:200px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-sm)}.pe-modal{overflow:hidden;padding:0;max-width:min(720px,100%)}.pe-head{justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.pe-head,.pe-head-titlerow{display:flex;align-items:center}.pe-head-titlerow{gap:var(--space-3)}.pe-title{margin:0;font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--color-fg)}.pe-close{background:transparent;border:0;color:var(--color-fg-muted);font-size:var(--text-xl);cursor:pointer;padding:0 var(--space-2)}.pe-close:hover{color:var(--color-fg)}.pe-section{border-bottom:1px solid var(--color-border)}.pe-section summary{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);cursor:pointer;list-style:none;background:var(--color-surface);-webkit-user-select:none;-moz-user-select:none;user-select:none}.pe-section summary::-webkit-details-marker{display:none}.pe-section summary:hover{background:var(--color-surface-alt)}.pe-section .sec-label{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-fg);display:inline-flex;align-items:center;gap:var(--space-2)}.pe-section .sec-num{width:18px;height:18px;border-radius:50%;background:var(--color-primary-fog);color:var(--color-primary);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);display:inline-flex;align-items:center;justify-content:center}.pe-section .sec-hint{font-size:var(--text-xs);color:var(--color-fg-subtle)}.pe-section .caret{color:var(--color-fg-subtle);transition:transform var(--dur-fast) var(--ease-out)}.pe-section[open] summary .caret{transform:rotate(90deg)}.pe-section .sec-body{padding:var(--space-4) var(--space-5);background:var(--merchant-modal-bg)}.pe-field{margin-bottom:var(--space-3)}.pe-field label{display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--merchant-form-label-fg);margin-bottom:var(--space-1);letter-spacing:.04em}.pe-field input[type=number],.pe-field input[type=text],.pe-field select,.pe-field textarea{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--merchant-form-input-border);background:var(--merchant-form-input-bg);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-sm);box-sizing:border-box}.pe-field .hint{font-size:var(--text-xs);color:var(--merchant-form-hint-fg);margin-top:4px}.pe-row-2{grid-template-columns:1fr 1fr;grid-gap:var(--space-3)}.pe-row-2,.pe-row-3{display:grid;gap:var(--space-3)}.pe-row-3{grid-template-columns:1fr 1fr 1fr;grid-gap:var(--space-3)}.tag-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag-chip{padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-fg-muted);font-size:var(--text-xs);cursor:pointer;font-family:var(--font-body);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tag-chip:hover{color:var(--color-fg)}.tag-chip.is-on{background:var(--color-primary-fog);color:var(--color-primary);border-color:var(--memberno-chip-border);font-weight:var(--weight-semibold)}.service-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.service-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm)}.service-row input[type=checkbox]{accent-color:var(--color-primary)}.service-row.is-on{border-color:var(--color-primary);background:var(--color-primary-fog)}.service-row .svc-name{color:var(--color-fg)}.service-row .svc-price{margin-left:auto;color:var(--color-fg-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.pe-foot{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface)}.pe-foot .audit-hint{font-size:var(--text-xs);color:var(--color-fg-subtle)}.pe-foot-actions{display:flex;gap:var(--space-2)}.customer-card{background:var(--cust-card-bg);border:1px solid var(--cust-card-border);border-radius:var(--cust-card-radius);padding:var(--pad-card-lg);display:flex;flex-direction:column;gap:var(--cust-zone-gap);transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.customer-card:hover{background:var(--cust-card-hover-bg);border-color:var(--color-border-rose);box-shadow:var(--shadow-sm)}.customer-card-grid{display:flex;flex-direction:column;gap:var(--space-3)}.customer-card .zone{display:flex;flex-direction:column;gap:var(--space-2)}.customer-card .zone+.zone{padding-top:var(--cust-zone-gap);border-top:1px solid var(--cust-zone-divider)}.customer-card .zone-label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.06em;color:var(--cust-zone-label-fg);text-transform:none}.customer-card .zone-basic{position:relative;display:grid;grid-template-columns:44px 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-items:start;padding-right:calc(var(--space-8) + var(--space-1))}.customer-card .zone-basic .avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-weight:var(--weight-bold);font-family:var(--font-heading);font-size:var(--text-lg)}.customer-card .basic-main{min-width:0}.customer-card .cust-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--cust-name-fg);line-height:var(--line-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-card .cust-name.is-unnamed{color:var(--cust-name-unnamed-fg);font-weight:var(--weight-medium);font-style:italic}.customer-card .cust-name.is-unnamed:after{content:"（點擊補上姓名）";font-size:var(--text-2xs);font-style:normal;margin-left:var(--space-2);color:var(--cust-note-add-fg)}.customer-card .memberno-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.customer-card .memberno-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:var(--cust-memberno-bg);color:var(--cust-memberno-fg);border:1px solid var(--cust-memberno-border);border-radius:var(--radius-full);font-size:var(--text-2xs);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.customer-card .memberno-chip .label{color:var(--cust-zone-label-fg)}.customer-card .memberno-none,.customer-card .source-tag{font-size:var(--text-2xs);color:var(--cust-source-fg)}.customer-card .phone-block{display:flex;align-items:center;gap:var(--space-2);background:var(--cust-phone-bg);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.customer-card .phone-block .phone-ico{width:18px;height:18px;flex:0 0 auto;color:var(--cust-phone-icon-fg)}.customer-card .phone-full{flex:1 1;min-width:0;font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--cust-phone-fg)}.customer-card .phone-block.is-masked{background:var(--cust-phone-reveal-bg)}.customer-card .phone-block.is-masked .phone-full,.customer-card .phone-block.is-masked .phone-ico{color:var(--cust-phone-reveal-fg)}.customer-card .phone-none{font-size:var(--text-sm);color:var(--cust-source-fg);padding:var(--space-2) 0}.cust-iconbtn{display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--cust-iconbtn-bg);color:var(--cust-iconbtn-fg);border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.cust-iconbtn svg{width:15px;height:15px}.cust-iconbtn:hover{background:var(--cust-iconbtn-hover-bg);color:var(--cust-iconbtn-hover-fg)}.cust-iconbtn.is-copied{color:var(--cust-iconbtn-ok-fg)}.cust-iconbtn:disabled{opacity:.4;cursor:not-allowed}.customer-card .note-zone-head{display:flex;align-items:center;justify-content:space-between}.customer-card .note-add-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;cursor:pointer;color:var(--cust-note-add-fg);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:4px 6px;border-radius:var(--radius-sm)}.customer-card .note-add-btn:hover{background:var(--cust-iconbtn-hover-bg)}.customer-card .note-add-btn svg{width:14px;height:14px}.customer-card .note-list{display:flex;flex-direction:column;gap:var(--space-2)}.customer-card .note-item{position:relative;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);padding-left:var(--space-4);display:flex;flex-direction:column;gap:4px}.customer-card .note-item:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:var(--radius-full);background:var(--cust-note-bar)}.customer-card .note-item .note-time{font-size:var(--text-2xs);color:var(--cust-note-time-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.customer-card .note-item .note-body{font-size:var(--text-sm);line-height:var(--line-relaxed);color:var(--cust-note-body-fg);white-space:pre-wrap;word-break:break-word}.customer-card .note-empty{background:var(--cust-note-empty-bg);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;color:var(--cust-note-empty-fg);font-size:var(--text-xs)}.customer-card .note-skeleton{display:flex;flex-direction:column;gap:var(--space-2)}.customer-card .note-skeleton .sk-line{height:14px;border-radius:var(--radius-sm);background:var(--cust-note-skeleton);animation:cust-sk-pulse 1.2s var(--ease-in-out) infinite}.customer-card .note-skeleton .sk-line.w70{width:70%}.customer-card .note-skeleton .sk-line.w90{width:90%}@keyframes cust-sk-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.customer-card .note-skeleton .sk-line{animation:none}}.customer-card .action-zone{display:flex;flex-direction:column;gap:var(--space-2)}.customer-card .promote-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;border-radius:var(--radius-md);border:0;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:var(--cust-promote-bg);color:var(--cust-promote-fg);transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.customer-card .promote-btn svg{width:16px;height:16px}.customer-card .promote-btn:hover{background:var(--cust-promote-hover-bg);transform:translateY(-1px)}.customer-card .promote-btn:active{transform:translateY(0) scale(.99)}.customer-card .promote-btn.is-disabled,.customer-card .promote-btn:disabled{background:var(--cust-promote-disabled-bg);color:var(--cust-promote-disabled-fg);cursor:not-allowed;transform:none}.customer-card .promote-hint{font-size:var(--text-2xs);color:var(--cust-promote-hint-fg);text-align:center}.customer-card .is-agent-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:42px;border-radius:var(--radius-md);background:var(--cust-is-agent-bg);color:var(--cust-is-agent-fg);border:1px solid var(--cust-is-agent-border);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.customer-card .is-agent-pill svg{width:16px;height:16px}.customer-card .cust-name-btn{display:inline-block;max-width:100%;background:transparent;border:0;padding:0;margin:0;text-align:left;cursor:pointer;font-family:inherit}.customer-card .cust-name-btn:hover{text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--cust-note-add-fg);text-decoration-color:var(--cust-note-add-fg)}.customer-card .cust-name-edit{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.customer-card .cust-name-input{flex:1 1 auto;min-width:0;height:36px;padding:0 var(--space-3);background:var(--color-surface-alt);border:1px solid var(--cust-card-border);border-radius:var(--radius-md);color:var(--cust-name-fg);font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:inherit}.customer-card .cust-name-input:focus{outline:none;border-color:var(--color-border-rose)}.customer-card .cust-name-input:disabled{opacity:.6;cursor:not-allowed}.customer-card .cust-name-cancel,.customer-card .cust-name-save{flex:0 0 auto;height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);border:0;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.customer-card .cust-name-save{background:var(--cust-promote-bg);color:var(--cust-promote-fg)}.customer-card .cust-name-save:hover{background:var(--cust-promote-hover-bg)}.customer-card .cust-name-cancel{background:var(--cust-iconbtn-bg);color:var(--cust-iconbtn-fg)}.customer-card .cust-name-cancel:hover{background:var(--cust-iconbtn-hover-bg);color:var(--cust-iconbtn-hover-fg)}.customer-card .cust-name-cancel:disabled,.customer-card .cust-name-save:disabled{opacity:.5;cursor:not-allowed}.customer-card .cust-collapse-btn{position:absolute;top:0;right:0;display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--cust-iconbtn-bg);color:var(--cust-iconbtn-fg);border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.customer-card .cust-collapse-btn:hover{background:var(--cust-iconbtn-hover-bg);color:var(--cust-iconbtn-hover-fg)}.customer-card .cust-collapse-btn svg{width:18px;height:18px;transition:transform var(--dur-base) var(--ease-out)}.customer-card.is-collapsed .cust-collapse-btn svg{transform:rotate(-90deg)}.customer-card.is-collapsed{gap:0}.customer-card .note-item{flex-direction:row;align-items:flex-start;gap:var(--space-2)}.customer-card .note-item .note-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.customer-card .note-del-btn{flex:0 0 auto;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;color:var(--cust-note-time-fg);border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.customer-card .note-del-btn svg{width:15px;height:15px}.customer-card .note-del-btn:hover{background:var(--color-danger-soft,var(--cust-iconbtn-hover-bg));color:var(--color-danger)}.customer-card .note-del-btn:disabled{opacity:.4;cursor:not-allowed}.rtree{padding:var(--space-2);background:transparent}.rtree,.rtree-children{list-style:none;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.rtree-children{padding-left:var(--rtree-indent-step);position:relative}.rtree-children:before{content:"";position:absolute;left:calc(var(--rtree-indent-step) / 2 - var(--rtree-guide-w) / 2);top:calc(-1 * var(--space-1));bottom:var(--space-3);width:var(--rtree-guide-w);background:var(--rtree-guide);border-radius:var(--radius-full)}.rtree-node{list-style:none;margin:0;position:relative}.rtree-children>.rtree-node:before{content:"";position:absolute;left:calc(var(--rtree-indent-step) / -2 + var(--rtree-guide-w) / 2);top:var(--space-5);width:calc(var(--rtree-indent-step) / 2 - var(--space-1));height:var(--rtree-guide-w);background:var(--rtree-guide)}.rtree-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;grid-column-gap:var(--space-2);column-gap:var(--space-2);grid-row-gap:var(--space-1);row-gap:var(--space-1);padding:var(--space-3);background:var(--rtree-node-bg);border:1px solid var(--rtree-node-border);border-radius:var(--rtree-node-radius);transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.rtree-row:hover{background:var(--rtree-node-bg-hover)}.rtree-node.is-root>.rtree-row{box-shadow:inset 3px 0 0 var(--color-primary)}.rtree-toggle{width:24px;height:24px;display:grid;place-items:center;border:none;background:var(--rtree-toggle-bg);color:var(--rtree-toggle-fg);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);line-height:1;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.rtree-toggle:hover{background:var(--rtree-toggle-hover)}.rtree-toggle:before{content:"\25B8"}.rtree-node[aria-expanded=true]>.rtree-row>.rtree-toggle{transform:rotate(90deg)}.rtree-node.is-leaf>.rtree-row>.rtree-toggle{visibility:hidden}.rtree-leafdot{width:24px;height:24px;display:grid;place-items:center;color:var(--rtree-dot-l3);font-size:8px}.rtree-leafdot:before{content:"\25CF"}.rtree-main{min-width:0}.rtree-name{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--rtree-name-fg);line-height:var(--line-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtree-name.is-unnamed{color:var(--rtree-unnamed-fg);font-style:italic;font-weight:var(--weight-medium)}.rtree-sub{font-size:var(--text-xs);color:var(--rtree-sub-fg);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtree-stats{display:flex;gap:var(--space-1);align-items:center;flex-shrink:0}.rtree-badge{display:inline-flex;align-items:center;gap:4px;padding:3px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.rtree-badge .n{font-family:var(--font-number)}.rtree-badge--down{background:var(--rtree-badge-down-bg);color:var(--rtree-badge-down-fg)}.rtree-badge--member{background:var(--rtree-badge-member-bg);color:var(--rtree-badge-member-fg)}.rtree-badge.is-zero{background:var(--rtree-badge-zero-bg);color:var(--rtree-badge-zero-fg)}.rtree-cap{margin-top:var(--space-1);margin-left:var(--rtree-indent-step);padding:var(--space-1) var(--space-3);font-size:var(--text-2xs);color:var(--rtree-cap-fg);border-left:var(--rtree-guide-w) solid var(--rtree-cap-border);letter-spacing:.02em}.rtree-node[aria-expanded=false]>.rtree-children{display:none}.rtree-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-fg-muted);font-size:var(--text-sm)}@media (max-width:360px){.rtree-badge .label-full{display:none}.rtree-badge .label-short{display:inline}}@media (min-width:361px){.rtree-badge .label-short{display:none}}.report-modal .pcf-progress{position:-webkit-sticky;position:sticky;top:var(--space-8);z-index:3;margin:0 calc(var(--space-4) * -1);padding:var(--space-2) var(--space-4);background:var(--pcf-progress-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-bottom:1px solid var(--pcf-progress-border);display:flex;flex-direction:column;gap:6px;flex:0 0 auto}.report-modal .pcf-progress-row{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-2xs);color:var(--color-fg-muted)}.report-modal .pcf-progress-row .pcf-progress-svc{color:var(--pcf-svc-count-fg);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-modal .pcf-progress-track{height:4px;border-radius:var(--radius-full);background:var(--pcf-progress-track);overflow:hidden}.report-modal .pcf-progress-track>i{display:block;height:100%;border-radius:var(--radius-full);background:var(--pcf-progress-fill);transition:width var(--dur-base) var(--ease-out)}.report-modal .pcf-section{border:1px solid var(--pcf-section-border);border-radius:var(--pcf-section-radius);background:var(--pcf-section-bg);overflow:hidden;flex:0 0 auto}.report-modal .pcf-section+.pcf-section{margin-top:var(--space-2)}.report-modal .pcf-step-head{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:transparent;border:0;cursor:pointer;text-align:left;color:var(--pcf-step-head-fg);font-family:var(--font-body)}.report-modal .pcf-step-idx{flex:0 0 auto;width:22px;height:22px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:var(--weight-bold);background:var(--pcf-step-idx-bg);color:var(--pcf-step-idx-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-modal .pcf-section[data-done=true] .pcf-step-idx{background:var(--pcf-step-idx-done-bg);color:var(--pcf-step-idx-done-fg)}.report-modal .pcf-step-titles{flex:1 1;min-width:0}.report-modal .pcf-step-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex;align-items:center;gap:6px}.report-modal .pcf-step-title .req{color:var(--pcf-required-fg)}.report-modal .pcf-step-caption{font-size:var(--text-2xs);color:var(--pcf-step-caption-fg);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-modal .pcf-step-chevron{flex:0 0 auto;color:var(--pcf-step-chevron-fg);transition:transform var(--dur-base) var(--ease-out);font-size:var(--text-sm)}.report-modal .pcf-section[data-open=true] .pcf-step-chevron{transform:rotate(180deg)}.report-modal .pcf-step-body{padding:0 var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.report-modal .pcf-section[data-open=false] .pcf-step-body{display:none}.report-modal .pill-opt:hover{background:var(--pcf-pill-hover-bg)}.report-modal .pcf-tag-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2)}.report-modal .pcf-tagchip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:var(--radius-full);background:var(--pcf-tagchip-bg);color:var(--pcf-tagchip-fg);font-size:var(--text-xs)}.report-modal .pcf-tagchip button{border:0;background:transparent;cursor:pointer;line-height:1;color:var(--pcf-tagchip-x-fg);font-size:var(--text-sm);padding:0 2px}.report-modal .pcf-tag-input input{flex:1 1;min-width:80px;border:0;background:transparent;outline:0;padding:4px;color:var(--color-fg);font-size:var(--text-sm)}.report-modal .pcf-tag-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.report-modal .pcf-tag-suggest button{padding:3px 10px;border-radius:var(--radius-full);border:1px dashed var(--color-border);background:var(--pcf-tag-suggest-bg);color:var(--pcf-tag-suggest-fg);font-size:var(--text-xs);cursor:pointer}.report-modal .pcf-svc-count{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-full);background:var(--pcf-svc-count-bg);color:var(--pcf-svc-count-fg);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-modal .pcf-svc-count[data-zero=true]{background:var(--pcf-svc-count-zero-bg);color:var(--pcf-svc-count-zero-fg);font-weight:var(--weight-regular)}.report-modal .pcf-svc-search{display:flex;align-items:center;gap:var(--space-2);background:var(--pcf-svc-search-bg);border:1px solid var(--pcf-svc-search-border);border-radius:var(--radius-md);padding:6px var(--space-3)}.report-modal .pcf-svc-search svg{width:15px;height:15px;color:var(--color-fg-muted);flex:0 0 auto}.report-modal .pcf-svc-search input{flex:1 1;background:transparent;border:0;outline:0;padding:2px 0;font-family:var(--font-body);color:var(--pcf-svc-search-fg);font-size:var(--text-sm)}.report-modal .pcf-svc-search input::placeholder{color:var(--pcf-svc-search-ph)}.report-modal .pcf-svc-search .pcf-svc-clear{border:0;background:transparent;cursor:pointer;color:var(--color-fg-muted);font-size:var(--text-base);line-height:1}.report-modal .pcf-svc-cats{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--pcf-section-bg)}.report-modal .pcf-svc-cats::-webkit-scrollbar{display:none}.report-modal .pcf-svc-cat{flex:0 0 auto;cursor:pointer;white-space:nowrap;padding:5px var(--space-3);border-radius:var(--radius-full);background:var(--pcf-svc-cat-bg);border:1px solid var(--color-border);color:var(--pcf-svc-cat-fg);font-size:var(--text-xs);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.report-modal .pcf-svc-cat .n{color:var(--pcf-svc-cat-count-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:4px}.report-modal .pcf-svc-cat[aria-pressed=true]{background:var(--pcf-svc-cat-active-bg);color:var(--pcf-svc-cat-active-fg);border-color:transparent}.report-modal .pcf-svc-cat[aria-pressed=true] .n{color:var(--pcf-svc-cat-active-fg);opacity:.8}.report-modal .pcf-svc-selected{display:flex;flex-wrap:wrap;gap:6px;padding:var(--space-2);border-radius:var(--radius-md);background:var(--pcf-svc-selected-bar-bg)}.report-modal .pcf-svc-selected-empty{font-size:var(--text-xs);color:var(--pcf-svc-empty-fg);padding:6px var(--space-2)}.report-modal .pcf-svc-sel-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:var(--radius-full);background:var(--pcf-svc-item-sel-bg);color:var(--pcf-svc-item-sel-fg);border:1px solid var(--pcf-svc-item-sel-border);font-size:var(--text-xs)}.report-modal .pcf-svc-sel-chip button{border:0;background:transparent;cursor:pointer;line-height:1;color:var(--pcf-svc-item-sel-fg);font-size:var(--text-sm);padding:0 2px;opacity:.75}.report-modal .pcf-svc-grid{display:flex;flex-wrap:wrap;gap:6px;max-height:240px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px}.report-modal .pcf-svc-item{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:5px 12px;border-radius:var(--radius-full);background:var(--pcf-svc-item-bg);color:var(--pcf-svc-item-fg);border:1px solid var(--pcf-svc-item-border);font-size:var(--text-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.report-modal .pcf-svc-item:active{transform:scale(.96)}.report-modal .pcf-svc-item .pcf-svc-note{font-size:10px;color:var(--pcf-svc-item-note-fg)}.report-modal .pcf-svc-item .pcf-svc-check{display:none;color:var(--pcf-svc-item-check-fg);font-size:var(--text-sm);line-height:1}.report-modal .pcf-svc-item[aria-pressed=true]{background:var(--pcf-svc-item-sel-bg);color:var(--pcf-svc-item-sel-fg);border-color:var(--pcf-svc-item-sel-border)}.report-modal .pcf-svc-item[aria-pressed=true] .pcf-svc-check{display:inline}.report-modal .pcf-svc-item[aria-pressed=true] .pcf-svc-note{color:var(--pcf-svc-item-sel-fg);opacity:.8}.report-modal .pcf-svc-item[hidden]{display:none}.report-modal .pcf-svc-noresult{font-size:var(--text-xs);color:var(--pcf-svc-empty-fg);text-align:center;padding:var(--space-4)}.report-modal .pcf-photo{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-6) var(--space-4);border:1.5px dashed var(--pcf-photo-border);border-radius:var(--radius-md);background:var(--pcf-photo-bg);color:var(--pcf-photo-fg);text-align:center}.report-modal .pcf-photo .pcf-photo-icon{font-size:var(--text-2xl);line-height:1;opacity:.7}.report-modal .pcf-photo .pcf-photo-text{font-size:var(--text-xs)}.report-modal .pcf-photo-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);background:var(--pcf-photo-badge-bg);color:var(--pcf-photo-badge-fg);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.report-modal .pcf-form-err{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--pcf-err-bg);color:var(--pcf-err-fg);border:1px solid var(--pcf-err-border);font-size:var(--text-xs)}.report-modal .field[data-invalid=true] input,.report-modal .field[data-invalid=true] textarea{border-color:var(--pcf-field-err-border)}.report-modal .field .pcf-field-err{font-size:10px;color:var(--pcf-err-fg);margin-top:2px}.report-modal .pcf-section[data-invalid=true] .pcf-step-idx{background:var(--pcf-err-bg);color:var(--pcf-err-fg)}.report-modal .pcf-spinner{width:15px;height:15px;border-radius:var(--radius-full);border:2px solid var(--pcf-submitting-spinner);border-top:2px solid transparent;animation:pcf-spin .72s linear infinite}@keyframes pcf-spin{to{transform:rotate(1turn)}}.report-modal-card[data-submitting=true] .pcf-progress,.report-modal-card[data-submitting=true] .pcf-section{opacity:.6;pointer-events:none}.report-modal .btn[aria-busy=true]{pointer-events:none;opacity:.9}@media (prefers-reduced-motion:reduce){.report-modal .pcf-spinner{animation-duration:1ms}}.pg-uploader{gap:var(--space-3)}.pg-dropzone,.pg-uploader{display:flex;flex-direction:column}.pg-dropzone{position:relative;align-items:center;justify-content:center;gap:var(--space-2);min-height:116px;padding:var(--space-5) var(--space-4);border:1.5px dashed var(--pg-drop-border);border-radius:var(--radius-lg);background:var(--pg-drop-bg);color:var(--pg-drop-fg);text-align:center;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.pg-dropzone .pg-drop-ic{width:40px;height:40px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-surface-alt);color:var(--pg-drop-icon-fg)}.pg-dropzone .pg-drop-ic svg{width:20px;height:20px}.pg-dropzone .pg-drop-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg)}.pg-dropzone .pg-drop-sub{font-size:var(--text-xs);color:var(--color-fg-subtle)}.pg-dropzone:hover,.pg-dropzone[data-dragover=true]{border-color:var(--pg-drop-hover-border);background:var(--pg-drop-hover-bg);color:var(--pg-drop-hover-fg)}.pg-dropzone[data-dragover=true] .pg-drop-ic{background:var(--color-primary-fog);color:var(--color-primary)}.pg-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.pg-count{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--pg-count-fg)}.pg-count[data-state=warn]{color:var(--pg-count-warn-fg)}.pg-count[data-state=full]{color:var(--pg-count-full-fg)}.pg-count .pg-count-num{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.pg-thumb-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2);gap:var(--space-2)}@media (min-width:420px){.pg-thumb-grid{grid-template-columns:repeat(4,1fr)}}.pg-thumb{position:relative;aspect-ratio:1/1;border-radius:var(--radius-md);overflow:hidden;background:var(--pg-thumb-bg);border:1px solid var(--pg-thumb-border);box-shadow:var(--pg-thumb-shadow);cursor:-webkit-grab;cursor:grab;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.pg-thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.pg-thumb[data-dragging=true]{box-shadow:var(--pg-thumb-drag-shadow);transform:scale(1.04);opacity:.92;cursor:-webkit-grabbing;cursor:grabbing;z-index:var(--z-raised)}.pg-thumb[data-drop-target=true]{outline:2px solid var(--color-primary);outline-offset:1px}.pg-thumb .pg-handle{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--pg-handle-bg);color:var(--pg-handle-fg);cursor:-webkit-grab;cursor:grab}.pg-thumb .pg-handle svg{width:13px;height:13px}.pg-thumb .pg-index{position:absolute;bottom:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--pg-index-bg);color:var(--pg-index-fg);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:10px;font-weight:var(--weight-semibold)}.pg-thumb .pg-cover-tag{position:absolute;bottom:4px;left:4px;padding:2px 6px;border-radius:var(--radius-sm);background:var(--pg-cover-bg);color:var(--pg-cover-fg);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.04em}.pg-thumb .pg-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--pg-del-bg);color:var(--pg-del-fg);border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.pg-thumb .pg-del:hover{background:var(--pg-del-hover-bg);color:var(--pg-del-hover-fg)}.pg-thumb .pg-del svg{width:12px;height:12px}.pg-thumb[data-state=uploading]{cursor:default}.pg-thumb[data-state=uploading] img{filter:brightness(.5)}.pg-thumb .pg-uploading{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--pg-prog-track);color:var(--pg-prog-fg)}.pg-thumb[data-state=uploading] .pg-uploading{display:flex}.pg-thumb .pg-prog-bar{width:64%;height:4px;border-radius:var(--radius-full);background:oklch(.985 .005 30/.22);overflow:hidden}.pg-thumb .pg-prog-bar>i{display:block;height:100%;width:0;background:var(--pg-prog-bar);border-radius:var(--radius-full);transition:width var(--dur-base) var(--ease-out)}.pg-thumb .pg-prog-pct{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.pg-thumb[data-state=error]{border-color:var(--pg-err-border)}.pg-thumb[data-state=error] .pg-uploading{display:flex;background:var(--pg-err-bg);color:var(--pg-err-fg)}.pg-err-chip{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--pg-err-bg);color:var(--pg-err-fg);border:1px solid var(--pg-err-border);font-size:var(--text-xs)}.pg-err-chip svg{width:13px;height:13px;flex:0 0 auto}.pg-thumb-add{aspect-ratio:1/1;border:1.5px dashed var(--pg-drop-border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--pg-drop-icon-fg);background:var(--pg-drop-bg);transition:border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.pg-thumb-add:hover{border-color:var(--pg-drop-hover-border);color:var(--pg-drop-hover-fg)}.pg-thumb-add svg{width:20px;height:20px}.pg-thumb-add span{font-size:10px}.pg-gallery{display:flex;flex-direction:column;gap:var(--space-2)}.pg-stage{position:relative;max-height:75vh;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-deep);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}.pg-stage img{max-width:100%;max-height:75vh;width:auto;height:auto;object-fit:contain;display:block}.pg-stage[data-tier=visitor] img{filter:blur(var(--pg-visitor-blur)) saturate(.92);transform:scale(1.06)}.pg-stage[data-tier=visitor]:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,var(--pg-visitor-scrim-from),var(--pg-visitor-scrim-to))}.pg-stage[data-tier=member]{cursor:zoom-in}.pg-watermark{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden}.pg-watermark .wm-tile{position:absolute;inset:-40%;transform:rotate(-24deg);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-8) var(--space-6);gap:var(--space-8) var(--space-6);align-content:center;justify-items:center;color:var(--pg-wm-fg);font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-sm);letter-spacing:.18em;white-space:nowrap}.pg-watermark .wm-logo{position:relative;z-index:1;color:var(--pg-wm-strong-fg);font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-xl);letter-spacing:.12em;display:inline-flex;align-items:center;gap:var(--space-2)}.pg-watermark .wm-logo .dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--pg-wm-strong-fg)}.pg-preview-badge{position:absolute;top:var(--space-3);left:var(--space-3);z-index:2;display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--pg-preview-badge-bg);color:var(--pg-preview-badge-fg);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.pg-preview-badge svg{width:12px;height:12px}.pg-gate{position:absolute;left:0;right:0;bottom:0;z-index:3;margin:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--frost-border);color:var(--pg-gate-fg);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.pg-gate .pg-gate-ic{width:40px;height:40px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--pg-gate-icon-bg);color:var(--pg-gate-icon-fg)}.pg-gate .pg-gate-ic svg{width:20px;height:20px}.pg-gate .pg-gate-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-fg)}.pg-gate .pg-gate-sub{font-size:var(--text-xs);color:var(--color-fg-muted);line-height:var(--line-normal)}.pg-gate .pg-gate-cta{margin-top:var(--space-1);width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-full);background:var(--pg-gate-cta-bg);color:var(--pg-gate-cta-fg);border:0;cursor:pointer;text-decoration:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.pg-gate .pg-gate-cta:hover{background:var(--pg-gate-cta-hover);transform:translateY(-1px)}.pg-gate .pg-gate-cta:active{transform:translateY(0) scale(.98)}.pg-gate .pg-gate-cta svg{width:16px;height:16px}.pg-thumbs{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:none}.pg-thumbs::-webkit-scrollbar{display:none}.pg-thumbs .pg-thumbs-item{position:relative;flex:0 0 auto;width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);opacity:.7;padding:0;background:var(--color-surface-deep)}.pg-thumbs .pg-thumbs-item img{width:100%;height:100%;object-fit:cover}.pg-thumbs .pg-thumbs-item[aria-current=true]{border-color:var(--color-primary);opacity:1}.pg-thumbs .pg-thumbs-item:hover{opacity:1}.pg-gallery[data-tier=visitor] .pg-thumbs-item img{filter:blur(2px) saturate(.92)}.pg-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;background:var(--pg-lightbox-scrim)}.pg-lightbox[data-open=true]{display:flex}.pg-lightbox .pg-lb-img{width:min(92vw,560px);height:min(86vh,700px);object-fit:contain;border-radius:var(--radius-md)}.pg-lightbox .pg-lb-close{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--pg-lightbox-ctrl-bg);color:var(--pg-lightbox-ctrl-fg);border:0;cursor:pointer}.pg-lightbox .pg-lb-close svg{width:20px;height:20px}.pg-mgr-status{font-size:var(--text-sm);color:var(--color-fg-muted);padding:var(--space-3) 0}.pg-mgr-status[data-kind=error]{color:var(--color-danger)}@media (prefers-reduced-motion:reduce){.pg-dropzone,.pg-gate .pg-gate-cta,.pg-prog-bar>i,.pg-thumb{transition:none}}.vg-uploader{gap:var(--space-3)}.vg-dropzone,.vg-uploader{display:flex;flex-direction:column}.vg-dropzone{position:relative;align-items:center;justify-content:center;gap:var(--space-2);min-height:116px;padding:var(--space-5) var(--space-4);border:1.5px dashed var(--vg-drop-border);border-radius:var(--radius-lg);background:var(--vg-drop-bg);color:var(--vg-drop-fg);text-align:center;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.vg-dropzone .vg-drop-ic{width:40px;height:40px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-surface-alt);color:var(--vg-drop-icon-fg)}.vg-dropzone .vg-drop-ic svg{width:20px;height:20px}.vg-dropzone .vg-drop-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg)}.vg-dropzone .vg-drop-sub{font-size:var(--text-xs);color:var(--color-fg-subtle);line-height:var(--line-normal)}.vg-dropzone:hover,.vg-dropzone[data-dragover=true]{border-color:var(--vg-drop-hover-border);background:var(--vg-drop-hover-bg);color:var(--vg-drop-hover-fg)}.vg-dropzone[data-dragover=true] .vg-drop-ic{background:var(--color-primary-fog);color:var(--color-primary)}.vg-dropzone[data-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.vg-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.vg-count{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--vg-count-fg)}.vg-count[data-state=warn]{color:var(--vg-count-warn-fg)}.vg-count[data-state=full]{color:var(--vg-count-full-fg)}.vg-count .vg-count-num{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.vg-list{flex-direction:column}.vg-card,.vg-list{display:flex;gap:var(--space-3)}.vg-card{position:relative;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--vg-card-bg);border:1px solid var(--vg-card-border);box-shadow:var(--vg-card-shadow)}.vg-card[data-dragging=true]{opacity:.5;box-shadow:var(--shadow-lg)}.vg-card[data-drop-target=true]{border-color:var(--color-primary)}.vg-thumb{position:relative;flex:0 0 auto;width:124px;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;background:var(--vg-poster-bg)}.vg-thumb img,.vg-thumb video{width:100%;height:100%;object-fit:cover;display:block}.vg-thumb .vg-poster-ic{position:absolute;inset:0;display:grid;place-items:center;color:var(--vg-poster-icon-fg)}.vg-thumb .vg-poster-ic svg{width:30px;height:30px}.vg-thumb .vg-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--vg-play-bg);color:var(--vg-play-fg);border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.vg-thumb .vg-play:hover{background:var(--vg-play-hover-bg);transform:translate(-50%,-50%) scale(1.08)}.vg-thumb .vg-play svg{width:15px;height:15px;margin-left:2px}.vg-thumb .vg-dur{position:absolute;bottom:4px;right:4px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--vg-dur-bg);color:var(--vg-dur-fg);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:10px;font-weight:var(--weight-semibold)}.vg-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding-right:var(--space-1)}.vg-meta .vg-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vg-meta .vg-sub{font-size:var(--text-xs);color:var(--color-fg-subtle);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vg-handle{position:absolute;top:50%;left:-2px;transform:translateY(-50%);width:18px;height:28px;display:grid;place-items:center;color:var(--color-fg-subtle);cursor:-webkit-grab;cursor:grab;opacity:.6}.vg-handle svg{width:14px;height:14px}.vg-card .vg-del{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--vg-del-bg);color:var(--vg-del-fg);border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.vg-card .vg-del:hover{background:var(--vg-del-hover-bg);color:var(--vg-del-hover-fg)}.vg-card .vg-del svg{width:13px;height:13px}.vg-card[data-state=uploading] .vg-thumb{filter:brightness(.5)}.vg-card[data-state=uploading] .vg-dur,.vg-card[data-state=uploading] .vg-play{display:none}.vg-card[data-state=uploading] .vg-overlay{display:flex;background:var(--vg-prog-track)}.vg-card .vg-overlay{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-lg);color:var(--vg-prog-fg);text-align:center;padding:var(--space-3)}.vg-overlay-on-thumb{position:absolute;inset:0;width:124px;height:100%}.vg-prog-bar{width:70%;height:4px;background:oklch(.985 .005 30/.22);overflow:hidden}.vg-prog-bar,.vg-prog-bar>i{border-radius:var(--radius-full)}.vg-prog-bar>i{display:block;height:100%;width:0;background:var(--vg-prog-bar);transition:width var(--dur-base) var(--ease-out)}.vg-prog-pct{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.vg-overlay .vg-overlay-label{font-size:var(--text-2xs)}.vg-card[data-state=processing] .vg-thumb{filter:brightness(.55)}.vg-card[data-state=processing] .vg-dur,.vg-card[data-state=processing] .vg-play{display:none}.vg-card[data-state=processing] .vg-overlay{display:flex;background:var(--vg-proc-bg);color:var(--vg-proc-fg)}.vg-spin{width:26px;height:26px;border-radius:var(--radius-full);border:3px solid var(--vg-proc-spin-track);border-top-color:var(--vg-proc-spin-fg);animation:vg-spin .8s linear infinite}@keyframes vg-spin{to{transform:rotate(1turn)}}.vg-card[data-state=error]{border-color:var(--vg-err-border)}.vg-card[data-state=error] .vg-thumb{filter:brightness(.5) saturate(.6)}.vg-card[data-state=error] .vg-dur,.vg-card[data-state=error] .vg-play{display:none}.vg-card[data-state=error] .vg-overlay{display:flex;background:var(--vg-err-bg);color:var(--vg-err-fg)}.vg-card[data-state=error] .vg-name,.vg-err-chip{color:var(--vg-err-fg)}.vg-err-chip{display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--vg-err-bg);border:1px solid var(--vg-err-border);font-size:var(--text-xs)}.vg-err-chip svg{width:13px;height:13px;flex:0 0 auto}.vg-retry{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);background:transparent;color:var(--color-primary);border:1px solid var(--color-border-rose);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.vg-retry:hover{background:var(--color-primary-soft)}.vg-retry svg{width:12px;height:12px}.vg-mgr-status{font-size:var(--text-sm);color:var(--color-fg-muted);padding:var(--space-3) 0}.vg-mgr-status[data-kind=error]{color:var(--color-danger)}.vg-block{display:flex;flex-direction:column;gap:var(--space-3)}.vg-block-head{display:flex;align-items:center;gap:var(--space-2)}.vg-block-head .vg-block-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-fg)}.vg-member-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--vg-member-badge-bg);color:var(--vg-member-badge-fg);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em}.vg-member-badge svg{width:11px;height:11px}.vg-gate{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border-radius:var(--radius-lg);background:linear-gradient(to bottom,var(--color-primary-soft),var(--vg-gate-lock-bg));border:1px solid var(--frost-border);text-align:center;overflow:hidden}.vg-gate:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(-24deg,transparent 0 22px,var(--color-border-rose) 22px 23px);-webkit-mask-image:radial-gradient(circle at 50% 38%,oklch(0 0 0) 0,transparent 70%);mask-image:radial-gradient(circle at 50% 38%,oklch(0 0 0) 0,transparent 70%)}.vg-gate .vg-gate-ic{position:relative;z-index:1;width:56px;height:56px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--vg-gate-icon-bg);color:var(--vg-gate-icon-fg)}.vg-gate .vg-gate-ic svg{width:28px;height:28px}.vg-gate .vg-gate-title{position:relative;z-index:1;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-fg)}.vg-gate .vg-gate-sub{color:var(--color-fg-muted);line-height:var(--line-normal);max-width:30ch}.vg-gate .vg-gate-cta,.vg-gate .vg-gate-sub{position:relative;z-index:1;font-size:var(--text-sm)}.vg-gate .vg-gate-cta{margin-top:var(--space-1);width:100%;max-width:320px;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-full);background:var(--vg-gate-cta-bg);color:var(--vg-gate-cta-fg);border:0;cursor:pointer;text-decoration:none;font-family:var(--font-body);font-weight:var(--weight-semibold);transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.vg-gate .vg-gate-cta:hover{background:var(--vg-gate-cta-hover);transform:translateY(-1px)}.vg-gate .vg-gate-cta:active{transform:translateY(0) scale(.98)}.vg-gate .vg-gate-cta svg{width:16px;height:16px}.vg-gate .vg-gate-count{position:relative;z-index:1;font-size:var(--text-xs);color:var(--color-fg-subtle)}.vg-player{position:relative;aspect-ratio:16/9;border-radius:var(--vg-player-radius);overflow:hidden;box-shadow:var(--vg-player-shadow)}.vg-player,.vg-player video{background:var(--vg-player-bg)}.vg-player video{width:100%;height:100%;object-fit:contain;display:block}.vg-player .vg-bigplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--vg-bigplay-bg);color:var(--vg-bigplay-fg);border:0;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.vg-player .vg-bigplay:hover{background:var(--vg-bigplay-hover-bg);transform:translate(-50%,-50%) scale(1.06)}.vg-player .vg-bigplay svg{width:28px;height:28px;margin-left:3px}.vg-player[data-state=playing] .vg-bigplay{display:none}.vg-player .vg-loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:var(--vg-load-scrim)}.vg-player[data-state=loading] .vg-loading{display:flex}.vg-player[data-state=loading] .vg-bigplay{display:none}.vg-player .vg-loading .vg-spin{border-color:var(--vg-load-spin-track);border-top-color:var(--vg-load-spin-fg)}.vg-player .vg-member-tag{position:absolute;top:var(--space-3);left:var(--space-3);z-index:2;display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--vg-ctrl-bg);color:var(--vg-ctrl-fg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.vg-player .vg-member-tag svg{width:11px;height:11px}.vg-ctrl{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--space-3) var(--space-3);background:linear-gradient(to top,var(--vg-ctrl-scrim-to),var(--vg-ctrl-scrim-from));color:var(--vg-ctrl-fg);opacity:1;transition:opacity var(--dur-base) var(--ease-out)}.vg-player[data-state=playing][data-idle=true] .vg-ctrl{opacity:0}.vg-ctrl .vg-seek{position:relative;height:4px;border-radius:var(--radius-full);background:var(--vg-ctrl-track);cursor:pointer}.vg-ctrl .vg-seek .vg-buffer{background:var(--vg-ctrl-track-buffer)}.vg-ctrl .vg-seek .vg-buffer,.vg-ctrl .vg-seek .vg-played{position:absolute;left:0;top:0;height:100%;border-radius:var(--radius-full)}.vg-ctrl .vg-seek .vg-played{background:var(--vg-ctrl-bar)}.vg-ctrl .vg-seek .vg-thumb-knob{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:var(--radius-full);background:var(--vg-ctrl-thumb);box-shadow:var(--shadow-sm)}.vg-ctrl .vg-ctrl-row{display:flex;align-items:center;gap:var(--space-2)}.vg-ctrl .vg-btn{width:32px;height:32px;border-radius:var(--radius-full);display:grid;place-items:center;background:transparent;color:var(--vg-ctrl-fg);border:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.vg-ctrl .vg-btn:hover{background:oklch(.985 .005 30/.14)}.vg-ctrl .vg-btn svg{width:18px;height:18px}.vg-ctrl .vg-time{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--vg-ctrl-fg-muted)}.vg-ctrl .vg-time b{color:var(--vg-ctrl-fg);font-weight:var(--weight-semibold)}.vg-ctrl .vg-spacer{flex:1 1 auto}.vg-switch{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:none}.vg-switch::-webkit-scrollbar{display:none}.vg-switch .vg-switch-item{position:relative;flex:0 0 auto;width:96px;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;background:var(--vg-poster-bg);transition:border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);opacity:.7}.vg-switch .vg-switch-item img{width:100%;height:100%;object-fit:cover}.vg-switch .vg-switch-item .vg-poster-ic{position:absolute;inset:0;display:grid;place-items:center;color:var(--vg-poster-icon-fg)}.vg-switch .vg-switch-item .vg-poster-ic svg{width:18px;height:18px}.vg-switch .vg-switch-item .vg-dur{position:absolute;bottom:3px;right:3px;padding:0 5px;border-radius:var(--radius-sm);background:var(--vg-dur-bg);color:var(--vg-dur-fg);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:9px;font-weight:var(--weight-semibold)}.vg-switch .vg-switch-item[aria-current=true]{border-color:var(--color-primary);opacity:1}.vg-switch .vg-switch-item:hover{opacity:1}@media (prefers-reduced-motion:reduce){.vg-spin{animation-duration:.01ms}.vg-card .vg-del,.vg-ctrl,.vg-ctrl .vg-btn,.vg-dropzone,.vg-gate .vg-gate-cta,.vg-play,.vg-player .vg-bigplay,.vg-prog-bar>i{transition:none}}.contact-form-v2{display:flex;flex-direction:column;gap:var(--space-5)}.contact-form-v2 .channels{display:flex;flex-direction:column;gap:var(--space-4)}.channel-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--cc-card-bg);border:1px solid var(--cc-card-border)}.channel-card .head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.channel-card .head label{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-fg);white-space:nowrap}.input-join{display:flex;align-items:stretch;border:1px solid var(--cc-join-border);border-radius:var(--radius-md);background:var(--cc-join-bg);overflow:hidden;transition:border-color var(--dur-fast,.12s) var(--ease-out,ease-out),box-shadow var(--dur-fast,.12s) var(--ease-out,ease-out)}.input-join:focus-within{border-color:var(--cc-join-border-focus);box-shadow:0 0 0 3px var(--cc-join-ring-focus)}.input-join[data-invalid=true]{border-color:var(--cc-join-border-err);box-shadow:0 0 0 3px var(--cc-join-ring-err)}.input-join .prefix{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-3);min-width:40px;background:var(--cc-prefix-bg);color:var(--cc-prefix-fg);font-family:var(--font-mono);font-size:var(--text-sm);border-right:1px solid var(--cc-prefix-seam)}.input-join .input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;padding:0 var(--space-3);height:46px;color:var(--color-fg);font:inherit;font-size:var(--text-base)}.input-join .input::placeholder{color:var(--color-fg-subtle)}.channel-card .field-hint{font-size:var(--text-xs);color:var(--color-fg-subtle);line-height:var(--line-snug)}.channel-card .field-hint.err{color:var(--color-danger)}.preview-chip{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;max-width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--deeplink-bg);border:1px solid var(--deeplink-border);color:var(--deeplink-host-fg);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1;text-decoration:none;overflow:hidden;white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast,.12s) var(--ease-out,ease-out),background var(--dur-fast,.12s) var(--ease-out,ease-out)}.preview-chip:hover{border-color:var(--color-primary)}.preview-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.preview-chip .host{color:var(--color-fg-subtle);font-weight:var(--weight-medium)}.preview-chip .id{color:var(--color-fg);text-overflow:ellipsis;overflow:hidden}.preview-chip .ext{width:12px;height:12px;flex:0 0 auto;opacity:.6}.cc-status-line{font-size:var(--text-xs);display:flex;align-items:center;gap:6px;line-height:var(--line-snug)}.cc-status-line svg{width:14px;height:14px;flex:0 0 auto}.cc-status-line.warn{color:var(--no-contact-fg)}.cc-status-line.err{color:var(--color-danger)}.cc-status-line.ok{color:var(--color-success)}.contact-actions{display:flex;gap:var(--space-3);margin-top:var(--space-1)}.contact-actions .btn{flex:1 1;height:48px}.agent-provider-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.agent-provider-card{border-radius:var(--radius-lg) var(--radius-md) var(--radius-lg) var(--radius-md);background:var(--apc-card-bg);border:1px solid var(--apc-card-border);box-shadow:var(--apc-card-shadow);padding:var(--space-4) var(--space-4) var(--space-3);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;grid-template-areas:"head    type" "meta    meta" "actions actions";grid-column-gap:var(--space-3);column-gap:var(--space-3);grid-row-gap:var(--space-2);row-gap:var(--space-2);transition:border-color .16s var(--ease-in-out,ease-in-out),background .16s var(--ease-in-out,ease-in-out)}.agent-provider-card:hover{border-color:var(--apc-card-border-hover);background:var(--apc-card-bg-hover)}.agent-provider-card[data-disabled=true]{opacity:.55;pointer-events:none}.agent-provider-card .apc-head{grid-area:head;display:flex;align-items:center;gap:var(--space-2);min-width:0}.agent-provider-card .apc-name{font-family:var(--font-heading);font-weight:var(--apc-name-weight);font-size:var(--text-lg);color:var(--apc-name-fg);line-height:1.3;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-provider-card .apc-name:hover{position:relative}.agent-provider-card .apc-providerno{flex:0 0 auto}.agent-provider-card .apc-meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--apc-meta-fg);line-height:1.5}.agent-provider-card .apc-meta-label{color:var(--color-fg-subtle);font-size:var(--text-xs)}.agent-provider-card .apc-meta-divider{width:1px;height:12px;background:var(--apc-meta-divider);display:inline-block}.agent-provider-card .apc-rating{display:inline-flex;align-items:center;gap:var(--space-1)}.agent-provider-card .apc-rating .stars{color:var(--apc-stars-fg);letter-spacing:.04em;font-size:var(--text-base)}.agent-provider-card .apc-rating .apc-rating-value{font-family:var(--font-mono,var(--font-body));font-weight:var(--weight-semibold);color:var(--color-fg)}.agent-provider-card .apc-rating .apc-rating-count{color:var(--color-fg-subtle);font-size:var(--text-xs)}.agent-provider-card .apc-no-rating{color:var(--apc-norating-fg);font-size:var(--text-sm);font-style:italic}.agent-provider-card .apc-type-pill{grid-area:type;align-self:start;justify-self:end;display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--apc-type-pill-bg);color:var(--apc-type-pill-fg);border:1px solid var(--apc-type-pill-border);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;white-space:nowrap}.agent-provider-card .apc-type-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.85}.agent-provider-card .apc-actions{grid-area:actions;display:flex;flex-wrap:nowrap;gap:var(--space-1);margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px dashed var(--apc-meta-divider)}.agent-provider-card .apc-action-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:transparent;color:var(--apc-action-fg);border:1px solid var(--apc-action-border);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium,500);white-space:nowrap;cursor:pointer;transition:background .14s var(--ease-in-out,ease-in-out),color .14s var(--ease-in-out,ease-in-out),border-color .14s var(--ease-in-out,ease-in-out)}.agent-provider-card .apc-action-btn:hover{background:var(--apc-action-hover-bg);color:var(--apc-action-hover-fg);border-color:var(--apc-action-hover-border)}.agent-provider-card .apc-action-btn:disabled{opacity:.5;cursor:not-allowed}.agent-provider-card .apc-action-btn svg{width:14px;height:14px}.agent-provider-card .apc-action-btn--toggle-on,.agent-provider-card .apc-action-btn--toggle-on:hover{color:var(--color-success);border-color:var(--color-success)}.agent-provider-card .apc-action-btn--toggle-on:hover{background:color-mix(in oklch,var(--color-success) 12%,transparent)}.agent-provider-card .apc-action-btn--toggle-on svg{color:var(--color-success)}.agent-provider-card .apc-action-btn--toggle-off{color:var(--color-fg-muted);border-color:var(--apc-action-border);border-style:dashed}.agent-provider-card .apc-action-btn--toggle-off:hover{background:var(--apc-action-hover-bg);color:var(--color-fg);border-color:var(--apc-action-hover-border);border-style:solid}.agent-provider-card .apc-action-btn--toggle-off svg{color:var(--color-fg-muted);opacity:.7}.agent-provider-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.agent-provider-header .apc-titles{flex:1 1 auto;min-width:0}.agent-provider-header .apc-page-title{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-2xl);color:var(--color-fg);margin:0 0 4px;line-height:1.2}.agent-provider-header .apc-page-sub{font-size:var(--text-sm);color:var(--color-fg-muted);margin:0;line-height:1.5}.apc-empty{padding:var(--space-12) var(--space-5);text-align:center;color:var(--color-fg-muted);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.apc-empty .apc-empty-ic{width:56px;height:56px;margin:0 auto var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-fg-subtle);display:inline-flex;align-items:center;justify-content:center}.apc-empty .apc-empty-ic svg{width:28px;height:28px}.apc-empty .apc-empty-t{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-fg);margin-bottom:var(--space-1)}.apc-empty .apc-empty-s{font-size:var(--text-sm);color:var(--color-fg-muted)}@media (max-width:380px){.agent-provider-card{grid-template-areas:"head    head" "meta    type" "actions actions"}.agent-provider-card .apc-type-pill{justify-self:start;align-self:center}}@media (prefers-reduced-motion:reduce){.agent-provider-card,.agent-provider-card .apc-action-btn{transition:none}}.vg-thumb-row{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:none}.vg-thumb-row::-webkit-scrollbar{display:none}.vg-thumb-row .vg-thumb-item{position:relative;flex:0 0 auto;width:124px;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:0;padding:0;background:var(--vg-poster-bg);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.vg-thumb-row .vg-thumb-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.vg-thumb-row .vg-thumb-item img{width:100%;height:100%;object-fit:cover;display:block}.vg-thumb-row .vg-thumb-item .vg-poster-ic{position:absolute;inset:0;display:grid;place-items:center;color:var(--vg-poster-icon-fg)}.vg-thumb-row .vg-thumb-item .vg-poster-ic svg{width:30px;height:30px}.vg-thumb-row .vg-thumb-item .vg-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--vg-play-bg);color:var(--vg-play-fg);border:0;pointer-events:none}.vg-thumb-row .vg-thumb-item .vg-play svg{width:15px;height:15px;margin-left:2px}.vg-thumb-row .vg-thumb-item .vg-dur{position:absolute;bottom:4px;right:4px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--vg-dur-bg);color:var(--vg-dur-fg);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:10px;font-weight:var(--weight-semibold)}.vg-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;background:var(--pg-lightbox-scrim);padding:var(--space-4)}.vg-lightbox[data-open=true]{display:flex}.vg-lightbox .vg-lb-frame{position:relative;width:min(92vw,960px);max-height:86vh}.vg-lightbox .vg-lb-frame .vg-player{aspect-ratio:16/9;width:100%}.vg-lightbox .vg-lb-close{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--pg-lightbox-ctrl-bg);color:var(--pg-lightbox-ctrl-fg);border:0;cursor:pointer;z-index:1}.vg-lightbox .vg-lb-close svg{width:20px;height:20px}.v12-kpi-card{position:relative;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--color-border);box-shadow:var(--shadow-xs),var(--frost-inset);overflow:hidden;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out);isolation:isolate}.v12-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);opacity:.85}.v12-kpi-card:hover{transform:translateY(-3px);border-color:var(--color-border-rose,var(--color-border-strong));box-shadow:var(--shadow-sm),var(--frost-inset)}.v12-kpi-card.k-users:before{background:var(--kpi-member-fg)}.v12-kpi-card.k-merchants:before{background:var(--kpi-task-fg)}.v12-kpi-card.k-agents:before{background:var(--color-primary)}.v12-kpi-card.k-orders:before{background:var(--kpi-gmv-fg)}.v12-kpi-card.k-revenue:before{background:var(--kpi-redeem-fg)}.v12-kpi-card.k-draw:before{background:var(--color-info)}.v12-kpi-card-icon{width:36px;height:36px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-fog);color:var(--color-primary)}.v12-kpi-card-icon svg{width:18px;height:18px}.v12-kpi-card.k-users .v12-kpi-card-icon{background:var(--kpi-member-bg);color:var(--kpi-member-fg)}.v12-kpi-card.k-merchants .v12-kpi-card-icon{background:var(--kpi-task-bg);color:var(--kpi-task-fg)}.v12-kpi-card.k-agents .v12-kpi-card-icon{background:var(--color-primary-fog);color:var(--color-primary)}.v12-kpi-card.k-orders .v12-kpi-card-icon{background:var(--kpi-gmv-bg);color:var(--kpi-gmv-fg)}.v12-kpi-card.k-revenue .v12-kpi-card-icon{background:var(--kpi-redeem-bg);color:var(--kpi-redeem-fg)}.v12-kpi-card.k-draw .v12-kpi-card-icon{background:oklch(from var(--color-info) l c h/.18);color:var(--color-info)}.v12-kpi-card-number{font-family:var(--font-number);font-size:var(--text-3xl);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:-.025em;color:var(--color-fg);margin-top:var(--space-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:block}.v12-kpi-card-number .unit{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-fg-muted);margin-left:4px;letter-spacing:0}.v12-kpi-card-delta{margin-top:var(--space-2);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px;color:var(--color-fg-subtle)}.v12-kpi-card-delta.up{color:var(--color-success)}.v12-kpi-card-delta.down{color:var(--color-danger)}.v12-kpi-card-delta .arrow{font-size:var(--text-2xs)}.v12-kpi-card-delta .vs{color:var(--color-fg-subtle);font-weight:var(--weight-medium);margin-left:var(--space-1)}.v12-kpi-card-sparkline{position:absolute;right:var(--space-5);bottom:var(--space-5);width:84px;height:28px;opacity:.8;pointer-events:none}.v12-kpi-card-sparkline path.area{fill:var(--color-primary);opacity:.1}.v12-kpi-card-sparkline path.line{fill:none;stroke:var(--color-primary);stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}.v12-kpi-card.k-users .v12-kpi-card-sparkline path.area{fill:var(--kpi-member-fg)}.v12-kpi-card.k-users .v12-kpi-card-sparkline path.line{stroke:var(--kpi-member-fg)}.v12-kpi-card.k-merchants .v12-kpi-card-sparkline path.area{fill:var(--kpi-task-fg)}.v12-kpi-card.k-merchants .v12-kpi-card-sparkline path.line{stroke:var(--kpi-task-fg)}.v12-kpi-card.k-orders .v12-kpi-card-sparkline path.area{fill:var(--kpi-gmv-fg)}.v12-kpi-card.k-orders .v12-kpi-card-sparkline path.line{stroke:var(--kpi-gmv-fg)}.v12-kpi-card.k-revenue .v12-kpi-card-sparkline path.area{fill:var(--kpi-redeem-fg)}.v12-kpi-card.k-revenue .v12-kpi-card-sparkline path.line{stroke:var(--kpi-redeem-fg)}.v12-kpi-card.k-draw .v12-kpi-card-sparkline path.area{fill:var(--color-info)}.v12-kpi-card.k-draw .v12-kpi-card-sparkline path.line{stroke:var(--color-info)}.v12-rank-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;overflow:hidden;min-width:0}.v12-rank-card .head{padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.v12-rank-card .head h3{margin:0;font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-base);letter-spacing:.02em;color:var(--color-fg)}.v12-rank-card .head .more{font-size:var(--text-xs);color:var(--color-primary);font-weight:var(--weight-semibold);text-decoration:none}.v12-rank-card .head .more:hover{color:var(--color-primary-hover)}.v12-rank-card .body{padding:var(--space-2) 0;flex:1 1}.v12-rank-card .body.empty{padding:var(--space-5)}.v12-rank-card .rank-item{display:grid;grid-template-columns:28px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);border-bottom:1px solid var(--color-border);transition:background var(--dur-fast) var(--ease-out)}.v12-rank-card .rank-item:last-child{border-bottom:0}.v12-rank-card .rank-item:hover{background:var(--admin-sidebar-active-bg)}.v12-rank-card .rank-item .rk{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-family:var(--font-number);font-weight:var(--weight-bold);font-size:var(--text-xs);background:var(--color-surface-alt);color:var(--color-fg-muted)}.v12-rank-card .rank-item.top-1 .rk{background:linear-gradient(135deg,oklch(.835 .14 80),oklch(.745 .14 60));color:oklch(.2 .04 60)}.v12-rank-card .rank-item.top-2 .rk{background:linear-gradient(135deg,oklch(.86 .02 200),oklch(.745 .018 200));color:oklch(.18 0 0)}.v12-rank-card .rank-item.top-3 .rk{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--color-fg-on-primary)}.v12-rank-card .rank-item .who{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.v12-rank-card .rank-item .who .avatar{width:30px;height:30px;border-radius:var(--radius-full);background:var(--color-primary-fog);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-xs);font-family:var(--font-heading);flex:0 0 auto}.v12-rank-card .rank-item .who .name{font-weight:var(--weight-semibold);color:var(--color-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v12-rank-card .rank-item .who .sub{font-size:var(--text-2xs);color:var(--color-fg-subtle);margin-top:1px}.v12-rank-card .rank-item .stat{text-align:right;font-family:var(--font-number);font-weight:var(--weight-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--color-fg)}.v12-rank-card .rank-item .stat .lbl{font-size:var(--text-2xs);color:var(--color-fg-subtle);font-weight:var(--weight-medium);display:block;font-family:var(--font-body)}.v12-empty-state{display:flex;flex-direction:column;text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:repeating-linear-gradient(45deg,transparent 0 12px,var(--color-primary-fog) 12px 13px)}.v12-empty-state,.v12-empty-state .ico{align-items:center;justify-content:center}.v12-empty-state .ico{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-primary-fog);color:var(--color-primary);display:inline-flex}.v12-empty-state .ico svg{width:22px;height:22px}.v12-empty-state .title{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--color-fg)}.v12-empty-state .desc{font-size:var(--text-xs);color:var(--color-fg-muted);max-width:280px;line-height:var(--line-snug)}.v12-empty-state .cta{margin-top:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--color-primary);color:var(--color-fg-on-primary);border:0;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);font-family:inherit;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 4px 12px var(--color-primary-fog);transition:transform var(--dur-fast),box-shadow var(--dur-fast)}.v12-empty-state .cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px var(--color-primary-fog)}.v12-chart-container{background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs),var(--frost-inset);display:flex;flex-direction:column;min-width:0}.v12-chart-container .chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-3)}.v12-chart-container .chart-head h3{margin:0;font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--text-base);letter-spacing:.02em;color:var(--color-fg)}.v12-chart-container .chart-head .meta{font-size:var(--text-2xs);color:var(--color-fg-subtle);letter-spacing:.06em;text-transform:uppercase}.v12-chart-container .chart-area{position:relative;width:100%;height:220px;margin-top:var(--space-2)}.v12-chart-container .chart-area svg{width:100%;height:100%;display:block}.v12-chart-container .chart-area .grid line{stroke:var(--color-border);stroke-dasharray:2 4;opacity:.45}.v12-chart-container .chart-area .axis text{font-family:var(--font-number);font-size:9px;fill:var(--color-fg-subtle)}.v12-chart-container .chart-area .area-line{fill:var(--color-primary);opacity:.1}.v12-chart-container .chart-area .line-line{fill:none;stroke:var(--color-primary);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.v12-chart-container .chart-area .dot{fill:var(--color-surface);stroke:var(--color-primary);stroke-width:1.6}.v12-chart-container .funnel{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.v12-chart-container .funnel-row{display:grid;grid-template-columns:80px 1fr 60px 56px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;font-size:var(--text-xs)}.v12-chart-container .funnel-row .label{color:var(--color-fg-muted);font-weight:var(--weight-semibold)}.v12-chart-container .funnel-row .bar-track{position:relative;height:26px;background:var(--color-surface-alt);border-radius:var(--radius-sm);overflow:hidden}.v12-chart-container .funnel-row .bar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-sm);box-shadow:0 0 12px var(--color-primary-fog)}.v12-chart-container .funnel-row .num{font-family:var(--font-number);font-weight:var(--weight-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;color:var(--color-fg)}.v12-chart-container .funnel-row .pct{font-size:var(--text-2xs);color:var(--color-fg-subtle);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v12-dashboard-hero{padding:0 var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}.v12-dashboard-hero .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.v12-dashboard-hero .chart-row{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.v12-dashboard-hero .ranking-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.v12-dashboard-hero .kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.v12-dashboard-hero .kpi-head .label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--color-fg-muted);letter-spacing:.16em;text-transform:uppercase}@media (max-width:1100px){.v12-dashboard-hero .chart-row{grid-template-columns:1fr}.v12-dashboard-hero .ranking-row{grid-template-columns:1fr 1fr}}@media (max-width:760px){.v12-dashboard-hero{padding:0 var(--space-3) var(--space-6);gap:var(--space-4)}.v12-dashboard-hero .ranking-row{grid-template-columns:1fr}.v12-dashboard-hero .kpi-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.v12-kpi-card{padding:var(--space-4)}.v12-kpi-card-number{font-size:var(--text-2xl)}.v12-kpi-card-sparkline{display:none}}.mc-role{display:inline-flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;border:1px solid;white-space:nowrap;line-height:1}.mc-role .mc-role-dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex:0 0 auto}.mc-role--member{background:var(--mc-role-member-bg);color:var(--mc-role-member-fg);border-color:var(--mc-role-member-border)}.mc-role--agent{background:var(--mc-role-agent-bg);color:var(--mc-role-agent-fg);border-color:var(--mc-role-agent-border)}.mc-role--admin{background:var(--mc-role-admin-bg);color:var(--mc-role-admin-fg);border-color:var(--mc-role-admin-border)}.mc-no-copy{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--memberno-chip-fg);font-size:var(--text-sm);line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.mc-no-copy:hover{background:var(--color-primary-fog)}.mc-no-copy:active{transform:scale(.9)}.mc-no-copy:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mc-bind--on{color:var(--mc-bind-on-fg)}.mc-bind--off{color:var(--mc-bind-off-fg)}.mc-card--idcard{position:relative;background:linear-gradient(150deg,var(--mc-id-bg-from) 0,var(--mc-id-bg-to) 100%);border:1px solid var(--mc-id-border);border-radius:var(--mc-radius);padding:0;overflow:hidden;isolation:isolate;box-shadow:var(--shadow-md)}.mc-card--idcard:before{content:"";border-radius:var(--mc-radius);padding:1px;z-index:2;background:linear-gradient(135deg,var(--mc-id-foil),transparent 40%,transparent 60%,var(--mc-id-foil));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7}.mc-card--idcard:before,.mc-id-grain{position:absolute;inset:0;pointer-events:none}.mc-id-grain{z-index:0;background-image:radial-gradient(var(--color-fg) 1px,transparent 1px);background-size:3px 3px;opacity:var(--noise-opacity)}.mc-id-strip{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--mc-pad);background:var(--mc-id-strip-bg);border-bottom:1px solid var(--mc-id-border)}.mc-id-brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--mc-id-foil)}.mc-id-brand-mark{width:8px;height:8px;border-radius:2px;background:var(--mc-id-foil);transform:rotate(45deg)}.mc-id-body{position:relative;z-index:1;padding:var(--mc-pad);display:flex;flex-direction:column;gap:var(--space-5)}.mc-id-row{display:flex;align-items:center;gap:var(--space-4)}.mc-id-chip{flex:0 0 auto;width:46px;height:34px;border-radius:var(--radius-sm);background:var(--mc-id-chip-bg);border:1px solid var(--mc-id-chip-line);position:relative;overflow:hidden}.mc-id-chip:after,.mc-id-chip:before{content:"";position:absolute;left:18%;right:18%;height:1px;background:var(--mc-id-chip-line);opacity:.7}.mc-id-chip:before{top:38%}.mc-id-chip:after{top:62%}.mc-id-namewrap{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:4px}.mc-id-holder-label{font-size:var(--text-2xs);color:var(--mc-label-fg);letter-spacing:.18em;text-transform:uppercase}.mc-id-name{margin:0;font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-xl);color:var(--mc-name-fg);line-height:var(--line-tight);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-id-role-slot{margin-left:auto;flex:0 0 auto}.mc-id-emboss{font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:.22em;text-shadow:0 1px 0 var(--color-surface-deep);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.mc-id-emboss,.mc-id-emboss .mc-no-copy{color:var(--mc-id-emboss-fg)}.mc-id-foot{align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.mc-id-foot,.mc-id-meta{display:flex;flex-wrap:wrap}.mc-id-meta{gap:var(--space-6)}.mc-id-meta>div{display:flex;flex-direction:column;gap:2px;min-width:0}.mc-id-meta dt{font-size:var(--text-2xs);color:var(--mc-label-fg);letter-spacing:.12em;text-transform:uppercase}.mc-id-meta dd{margin:0;font-size:var(--text-sm);color:var(--mc-value-fg);font-weight:var(--weight-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis}.mc-id-barcode{display:block;width:100%;height:34px;border-radius:2px;background-image:repeating-linear-gradient(90deg,var(--mc-id-barcode) 0,var(--mc-id-barcode) 1px,transparent 1px,transparent 3px,var(--mc-id-barcode) 3px,var(--mc-id-barcode) 5px,transparent 5px,transparent 6px,var(--mc-id-barcode) 6px,var(--mc-id-barcode) 9px,transparent 9px,transparent 11px);opacity:.85}.mc-id-name-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.mc-id-name-edit-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--mc-id-foil);font-size:var(--text-sm);line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.mc-id-name-edit-btn:hover{background:var(--color-primary-fog)}.mc-id-name-edit-btn:active{transform:scale(.92)}.mc-id-name-edit-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mc-id-name-editor{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.mc-id-name-input{flex:1 1 auto;min-width:0;max-width:100%;padding:4px var(--space-3);font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--line-tight);color:var(--mc-name-fg);background:var(--color-surface);border:1px solid var(--color-border-rose);border-radius:var(--radius-sm)}.mc-id-name-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.mc-id-name-cancel,.mc-id-name-save{flex:0 0 auto;padding:4px var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;border:1px solid;line-height:1.2;transition:opacity var(--dur-fast) var(--ease-out)}.mc-id-name-save{background:var(--color-primary);color:var(--color-fg-on-primary);border-color:transparent}.mc-id-name-cancel{background:transparent;color:var(--mc-label-fg);border-color:var(--color-border-strong)}.mc-id-name-save[disabled]{opacity:.55;cursor:default}.mc-id-name-err{width:100%;font-size:var(--text-2xs);color:var(--color-danger)}.mc-id-name-counter{font-size:var(--text-2xs);color:var(--mc-label-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:480px){.mc-id-body{padding:var(--mc-pad-sm);gap:var(--space-4)}.mc-id-row{flex-wrap:wrap}.mc-id-role-slot{margin-left:0}.mc-id-emboss{font-size:var(--text-base);letter-spacing:.14em}.mc-id-foot{flex-direction:column;align-items:flex-start}.mc-id-meta{gap:var(--space-4)}}