body:has(.v2-app){--bg:oklch(0.16 0.012 295);--bg-deep:oklch(0.125 0.014 295);--surface-1:oklch(0.2 0.012 295);--surface-2:oklch(0.235 0.014 295);--surface-3:oklch(0.28 0.014 295);--surface-hi:oklch(0.34 0.014 295);--text:oklch(0.965 0.008 295);--text-muted:oklch(0.74 0.012 295);--text-faint:oklch(0.7 0.014 295);--text-dim:oklch(0.66 0.014 295);--border:oklch(0.3 0.014 295/0.7);--border-strong:oklch(0.38 0.016 295/0.9);--border-faint:oklch(0.28 0.014 295/0.4);--warm:oklch(0.82 0.11 350);--warm-dim:oklch(0.68 0.11 350);--warm-soft:oklch(0.82 0.11 350/0.14);--warm-line:oklch(0.82 0.11 350/0.4);--cool:oklch(0.78 0.1 295);--cool-soft:oklch(0.78 0.1 295/0.14);--cool-line:oklch(0.78 0.1 295/0.4);--teal:oklch(0.84 0.08 205);--teal-soft:oklch(0.84 0.08 205/0.14);--good:oklch(0.84 0.08 205);--warn:oklch(0.82 0.11 25);--danger-fill:oklch(0.52 0.17 25);--danger-text:oklch(0.75 0.15 25);--brand-grad:linear-gradient(135deg,oklch(0.86 0.08 205),oklch(0.82 0.1 295) 50%,oklch(0.85 0.09 350));overflow:visible;height:auto;min-height:100%;font-size:14px}html:has(.v2-app){overflow-x:hidden;overflow-y:auto;height:auto}.v2-app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(900px 500px at 12% -10%,oklch(.78 .1 295/.06),transparent 60%),radial-gradient(900px 600px at 90% 10%,oklch(.84 .08 205/.05),transparent 60%),var(--bg)}.ic{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle;flex-shrink:0}.ic.sm{width:12px;height:12px}.ic.lg{width:18px;height:18px}.ic.warm{color:var(--warm)}.v2-brand-mark{width:30px;height:30px;display:grid;place-items:center}.v2-brand-mark img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.v2-points{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:var(--surface-1);border:1px solid var(--border-faint);font-family:var(--mono);font-size:12px}.v2-points .dot{width:18px;height:18px;display:grid;place-items:center}.v2-points .dot img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.v2-points .num{color:var(--text);font-weight:600}.v2-points .unit{color:var(--text-faint);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.v2-loginbtn{padding:9px 18px;border-radius:999px;background:var(--warm);color:oklch(.22 .02 295);font-size:13px;font-weight:500;border:none;cursor:pointer;transition:background .12s}.v2-loginbtn:hover{background:oklch(.88 .11 350)}.v2-screen{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:56px 40px 160px}.v2-hero{margin-bottom:56px;padding:12px 0 8px}.v2-hero h1{font-family:var(--serif);font-size:52px;letter-spacing:-.02em;font-weight:500;line-height:1.16;padding-top:.12em;margin-bottom:16px;text-wrap:balance}.v2-hero h1 em{font-style:italic;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.3em .06em .18em 0}.v2-hero p{font-size:16px;color:var(--text-muted);max-width:540px;line-height:1.6}.v2-section{margin-bottom:36px}.v2-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border-faint)}.v2-section-title{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-.005em}.v2-section-sub{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint)}.v2-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;font-size:13.5px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:all .12s;font-weight:500;font-family:inherit}.v2-btn:hover{background:var(--surface-3)}.v2-btn:disabled,.v2-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.v2-btn:disabled:hover{background:var(--surface-2)}.v2-btn.primary{background:var(--warm);color:oklch(.22 .02 295);border-color:var(--warm)}.v2-btn.primary:hover{background:oklch(.88 .11 350)}.v2-btn.ghost{background:transparent;border-color:var(--border-faint);color:var(--text-muted)}.v2-btn.ghost:hover{background:var(--surface-1);color:var(--text);border-color:var(--border)}.v2-btn.danger{background:var(--danger-fill);color:#fff;border-color:var(--danger-fill)}.v2-btn.danger:hover{background:oklch(.46 .17 25)}.v2-btn.sm{padding:7px 12px;font-size:12px;border-radius:8px}.v2-btn.lg{padding:14px 26px;font-size:14.5px;border-radius:12px}.v2-field{margin-bottom:14px}.v2-field label{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:6px}.v2-input{width:100%;padding:11px 14px;background:var(--surface-2);border:1px solid var(--border-faint);border-radius:9px;color:var(--text);font-size:13.5px;font-family:inherit;outline:none;color-scheme:dark;transition:border-color .12s,background .12s}.v2-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}.v2-input::-webkit-calendar-picker-indicator:hover{opacity:1}.v2-input:focus{border-color:var(--warm-line);background:var(--surface-3)}.v2-input::-moz-placeholder{color:var(--text-dim)}.v2-input::placeholder{color:var(--text-dim)}@media (max-width:760px){.v2-input{font-size:16px}}.v2-modal-bg{position:fixed;inset:0;z-index:56;background:color-mix(in oklch,var(--bg-deep) 70%,transparent);backdrop-filter:blur(10px) saturate(120%);display:grid;place-items:center;padding:24px;animation:v2-fade .16s ease-out}@keyframes v2-fade{0%{opacity:0}to{opacity:1}}.v2-modal{--v2-modal-inset:22px;background:var(--surface-1);border:1px solid var(--border);border-radius:18px;box-shadow:0 30px 80px -20px oklch(0 0 0/.55);max-width:1000px;width:100%;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;overflow:hidden;animation:v2-pop .18s cubic-bezier(.22,1,.36,1)}.v2-modal.sm{max-width:440px}.v2-modal.md{max-width:640px}.v2-modal.lg{max-width:1000px}@keyframes v2-pop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.v2-modal-head{display:flex;align-items:center;padding:16px var(--v2-modal-inset);border-bottom:1px solid var(--border-faint)}.v2-modal-head .v2-modal-x{margin-left:auto}.v2-modal-title{font-family:var(--serif);font-size:18px;font-weight:500;flex:1}.v2-modal-x{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--text-faint);cursor:pointer;background:transparent;border:none}.v2-modal-x:hover{background:var(--surface-2);color:var(--text)}.v2-modal-body{padding:var(--v2-modal-inset);overflow-y:auto;flex:1}.v2-modal-foot{padding:14px var(--v2-modal-inset);border-top:1px solid var(--border-faint);display:flex;gap:10px;justify-content:flex-end;align-items:center}@media (max-width:560px){.v2-modal-bg{padding:12px}.v2-modal{--v2-modal-inset:16px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}}.v2-confirm-msg{color:var(--text-muted);font-size:13.5px;line-height:1.55}.v2-auth-head{padding-left:33px;padding-right:33px}.v2-auth{max-width:380px;margin:0 auto;padding:18px 4px 6px}.v2-auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border-radius:10px;padding:3px;margin-bottom:26px}.v2-auth-tab{padding:8px;font-size:13px;border-radius:8px;color:var(--text-muted);cursor:pointer;border:none;background:transparent;font-family:inherit;transition:all .12s}.v2-auth-tab.active{background:var(--surface-hi);color:var(--text)}.v2-auth-hint{display:flex;gap:8px;padding:10px 12px;background:var(--warm-soft);border:1px solid var(--warm-line);border-radius:9px;font-size:12px;color:var(--warm);margin-bottom:18px;align-items:flex-start}.v2-auth-hint.v2-2fa-hint{padding:8px 10px;font-size:11px;line-height:1.45;border-radius:7px;margin-top:10px;margin-bottom:0}.v2-field:has(.v2-2fa-hint)+.v2-auth-error{margin-top:2px;margin-bottom:14px}.v2-auth-hint b{color:var(--text);font-weight:600}.v2-auth-error{font-size:12px;color:oklch(.78 .14 25);margin:-8px 0 14px;font-family:var(--mono)}.v2-auth-submit{width:100%;padding:13px;justify-content:center;margin-top:4px}.v2-auth-divider{display:flex;align-items:center;text-align:center;margin:16px 0 4px;color:var(--text-faint);font-family:var(--mono);font-size:10px;letter-spacing:.1em}.v2-auth-divider:after,.v2-auth-divider:before{content:"";flex:1;height:1px;background:var(--border-faint)}.v2-auth-divider span{padding:0 12px}.v2-auth-google{display:flex;justify-content:center;margin-top:10px;min-height:40px;color-scheme:light}.v2-auth-footer{font-size:11.5px;margin-top:16px;font-family:var(--mono);letter-spacing:.06em}.v2-auth-consent,.v2-auth-footer{text-align:center;color:var(--text-faint)}.v2-auth-consent{font-size:11px;margin-top:10px;line-height:1.5}.v2-auth-consent a{color:var(--text-dim);text-decoration:underline}.v2-auth-consent a:hover{color:var(--warm)}.v2-auth-quicklink{text-align:center;font-size:12px;margin-top:10px}.v2-auth-quicklink a{color:var(--text-dim);text-decoration:underline}.v2-auth-quicklink a:hover{color:var(--warm)}.v2-auth-sent{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 4px 6px}.v2-auth-sent-title{font-size:15px;font-weight:600;color:var(--text);margin-top:10px}.v2-auth-sent-body{font-size:12.5px;color:var(--text-dim);line-height:1.6;margin-top:8px;margin-bottom:18px}.v2-auth-sent a{color:var(--text-dim);text-decoration:underline;font-size:12px}.v2-auth-sent a:hover{color:var(--warm)}.v2-empty{padding:80px 24px;text-align:center;border:1px dashed var(--border-faint);border-radius:14px;color:var(--text-faint)}.v2-empty .v2-empty-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;color:var(--text-muted)}.v2-empty h3{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--text);margin-bottom:6px}.v2-empty p{font-size:13px;color:var(--text-muted);margin-bottom:18px}.v2-toast-stack{position:fixed;top:80px;right:28px;z-index:60;display:flex;flex-direction:column;gap:10px;pointer-events:none}.v2-toast{background:var(--surface-hi);border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;align-items:flex-start;gap:10px;max-width:360px;box-shadow:0 18px 40px -10px oklch(0 0 0/.45);animation:v2-toast-in .22s cubic-bezier(.22,1,.36,1);pointer-events:auto}@keyframes v2-toast-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.v2-toast-anchored{position:fixed;z-index:60;pointer-events:none}.v2-toast-anchored .v2-toast{animation:v2-toast-in .18s cubic-bezier(.22,1,.36,1)}.v2-toast-icon{width:20px;height:20px;border-radius:50%;background:var(--warm);color:var(--bg-deep);display:grid;place-items:center;flex-shrink:0;margin-top:1px}.v2-toast-icon.warn{background:oklch(.78 .14 25);color:white}.v2-toast-title{font-size:13px;color:var(--text);font-weight:500;margin-bottom:2px}.v2-toast-body{font-size:12px;color:var(--text-muted);line-height:1.5}.v2-toast-action{margin-top:8px;padding:6px 14px;border:none;border-radius:7px;background:var(--warm);font-size:12.5px;font-weight:700;color:oklch(.22 .02 295);cursor:pointer}.v2-toast-action:hover{background:oklch(.88 .11 350)}.ph-stripe{display:block;width:100%;height:100%}body:has(.v2-app) .v2-asset-card:focus-visible,body:has(.v2-app) .v2-btn:focus-visible,body:has(.v2-app) .v2-detail-del:focus-visible,body:has(.v2-app) .v2-filter:focus-visible,body:has(.v2-app) .v2-modal-x:focus-visible,body:has(.v2-app) [role=button]:focus-visible{outline:2px solid var(--warm);outline-offset:2px}body:has(.v2-app) .v2-detail-media .v2-modal-x:focus-visible{outline-color:white;outline-offset:2px}body:has(.v2-app) .v2-skeleton{background:linear-gradient(90deg,var(--surface-2) 0,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:v2-skeleton-pulse 1.4s ease-in-out infinite;border-radius:6px}@keyframes v2-skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}body:has(.v2-app) .v2-skel-card{background:var(--surface-1);border:1px solid var(--border-faint);overflow:hidden}body:has(.v2-app) .v2-skel-card-body{padding:13px 15px 15px;display:flex;flex-direction:column;gap:8px}body:has(.v2-app) .v2-content-enter{animation:v2-content-enter .25s ease}@keyframes v2-content-enter{0%{opacity:0}to{opacity:1}}.v2-gen-spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--surface-3);border-top-color:var(--warm);animation:v2-gen-spin .8s linear infinite}@keyframes v2-gen-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){body:has(.v2-app) *,body:has(.v2-app) :after,body:has(.v2-app) :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body:has(.v2-app) .v2-audio-opt:focus-visible,body:has(.v2-app) .v2-duration-opt:focus-visible,body:has(.v2-app) .v2-mention-item:focus-visible,body:has(.v2-app) .v2-mode-opt:focus-visible,body:has(.v2-app) .v2-quality-opt:focus-visible,body:has(.v2-app) .v2-ratio-opt:focus-visible,body:has(.v2-app) .v2-ref-add:focus-visible,body:has(.v2-app) .v2-wf-card:focus-visible,body:has(.v2-app) .v2-wf-tab:focus-visible,body:has(.v2-app) .vx-brand:focus-visible,body:has(.v2-app) .vx-cta:focus-visible,body:has(.v2-app) .vx-home-hero-play:focus-visible,body:has(.v2-app) .vx-home-hero-remake:focus-visible,body:has(.v2-app) .vx-nav-item:focus-visible,body:has(.v2-app) .vx-points-card:focus-visible,body:has(.v2-app) .vx-sheet-item:focus-visible,body:has(.v2-app) .vx-side-signout:focus-visible,body:has(.v2-app) .vx-step:focus-visible,body:has(.v2-app) .vx-sum-edit:focus-visible,body:has(.v2-app) .vx-tab-fab:focus-visible,body:has(.v2-app) .vx-tab:focus-visible,body:has(.v2-app) .vx-top-brand:focus-visible,body:has(.v2-app) .vx-user-row:focus-visible,body:has(.v2-app) .vx-wall-card:focus-visible{outline:2px solid var(--warm);outline-offset:2px}body:has(.v2-app) .v2-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (pointer:coarse){body:has(.v2-app) .v2-auth-tab,body:has(.v2-app) .v2-btn.sm,body:has(.v2-app) .v2-filter{min-height:44px;display:inline-flex;align-items:center;justify-content:center}body:has(.v2-app) .v2-modal-x{width:44px;height:44px}body:has(.v2-app) .v2-points{min-height:40px}}@media (max-width:640px){.v2-points{padding:5px 9px 5px 5px;flex-shrink:0}.v2-points .unit{display:none}.v2-screen{padding:28px 16px 120px}.v2-hero{margin-bottom:32px;padding:8px 0 4px}.v2-hero h1{font-size:clamp(30px,8.5vw,44px);line-height:1.1}.v2-hero p{font-size:15px}.v2-toast-stack{left:14px;right:14px;top:68px}.v2-toast{max-width:none}}.v2-filters{display:flex;flex-wrap:wrap;gap:6px}.v2-filter{padding:7px 14px;font-size:12.5px;border-radius:999px;border:1px solid var(--border-faint);color:var(--text-muted);background:transparent;cursor:pointer;transition:all .12s}.v2-filter:hover{color:var(--text);border-color:var(--border)}.v2-filter.active{color:var(--bg-deep);background:var(--text);border-color:var(--text)}.v2-filters.v2-picker-tabs{padding:16px var(--v2-modal-inset,22px) 14px;margin-bottom:0}@media (max-width:560px){.v2-filters.v2-picker-tabs{flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.v2-filters.v2-picker-tabs::-webkit-scrollbar{display:none}.v2-filters.v2-picker-tabs>.v2-filter{flex:0 0 auto;white-space:nowrap}}.v2-picker-upload{margin-bottom:12px}.v2-picker-upload-err{display:block;margin-top:6px;font-size:12px;color:var(--danger-text)}.v2-picker-search{display:flex;align-items:center;gap:7px;margin-bottom:14px;padding:8px 13px;border-radius:999px;border:1px solid var(--border-faint);background:var(--surface-1);color:var(--text-faint)}.v2-picker-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font-family:inherit;font-size:13px;outline:none}.v2-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:9px}.v2-picker-tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:9px;border:1px solid var(--border-faint);background:var(--bg-deep);padding:0;cursor:pointer;transition:border-color .14s ease,transform .14s ease}.v2-picker-tile:hover{border-color:var(--node-accent,var(--text));transform:translateY(-1px)}.v2-picker-tile:focus-visible{outline:2px solid var(--cool,var(--text));outline-offset:2px}.v2-picker-audio{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:oklch(.83 .12 95);font-size:10px;letter-spacing:.05em}.v2-picker-audio,.v2-picker-badge{position:absolute;font-family:var(--mono)}.v2-picker-badge{left:5px;top:5px;padding:1px 5px;border-radius:5px;background:rgba(0,0,0,.6);color:#fff;font-size:9px;letter-spacing:.06em}.v2-picker-state{flex-direction:column;gap:10px;min-height:220px;color:var(--text-faint);font-size:13px;text-align:center}.v2-picker-foot,.v2-picker-state{display:flex;align-items:center;justify-content:center}.v2-picker-foot{margin-top:16px}.v2-picker-count{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-faint)}body:has(.v2-app){--vx-side-w:232px;--vx-tabbar-h:62px}:where(a.vx-brand,a.vx-cta,a.vx-nav-item,a.vx-points-card,a.vx-user-row,a.vx-admin-link,a.vx-top-brand,a.v2-points,a.vx-tab,a.vx-tab-fab,a.vx-sheet-item){color:inherit;text-decoration:none;text-align:center}.v2-app.vx-app{display:flex;flex-direction:row;min-height:100vh}.vx-side{position:fixed;inset:0 auto 0 0;width:var(--vx-side-w);display:flex;flex-direction:column;background:oklch(.185 .014 295);border-right:1px solid var(--border-faint);z-index:40;padding:18px 12px 14px;gap:4px}.vx-brand{display:flex;align-items:center;gap:9px;padding:4px 10px 16px;border:none;background:none;cursor:pointer;font-family:inherit;text-align:left}.vx-brand-mark{width:30px;height:30px;display:none;place-items:center;flex-shrink:0}.vx-brand-mark img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.vx-brand-lockup{display:block;height:34px;width:auto}.vx-cta{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 4px 14px;padding:11px 12px;border:none;border-radius:10px;background:var(--brand-grad);color:oklch(.2 .02 295);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 8px 24px -10px oklch(.7 .14 350/.55);transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .15s}.vx-cta:hover{transform:translateY(-1px);box-shadow:0 12px 30px -10px oklch(.7 .14 350/.7)}.vx-cta:active{transform:translateY(0)}.vx-nav{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.vx-nav-group{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);padding:14px 12px 6px;white-space:nowrap}.vx-nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;border-radius:9px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:13.5px;cursor:pointer;text-align:left;width:100%;white-space:nowrap;transition:background .13s,color .13s}.vx-nav-item:hover{background:var(--surface-1);color:var(--text)}.vx-nav-item.active{background:var(--surface-2);color:var(--text)}.vx-nav-item.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--brand-grad)}.vx-nav-item .ic{flex-shrink:0;opacity:.75}.vx-nav-item.active .ic{opacity:1}.vx-side-foot{gap:8px;padding-top:10px;border-top:1px solid var(--border-faint)}.vx-points-card,.vx-side-foot{display:flex;flex-direction:column}.vx-points-card{gap:7px;padding:11px 12px;border:1px solid var(--border-faint);border-radius:11px;background:var(--surface-1);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .13s,background .13s}.vx-points-card:hover{border-color:var(--border);background:var(--surface-2)}.vx-points-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.vx-points-num{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--text);letter-spacing:.02em;white-space:nowrap}.vx-points-num .unit{font-size:9px;letter-spacing:.14em;color:var(--text-faint);margin-left:4px}.vx-points-plan{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-points-meter{display:block;height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden}.vx-points-meter span{display:block;height:100%;border-radius:999px;background:var(--brand-grad);transition:width .4s ease}.vx-user-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border:none;border-radius:9px;background:transparent;cursor:pointer;font-family:inherit;text-align:left;width:100%;transition:background .13s}.vx-user-row:hover{background:var(--surface-1)}.vx-user-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;background:var(--surface-3);color:var(--text);flex-shrink:0;overflow:hidden}.vx-user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vx-user-text{display:flex;flex-direction:column;flex:1;min-width:0}.vx-user-name{display:block;min-width:0;font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-user-sub{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.vx-side-signout{display:flex;align-items:center;gap:9px;padding:7px 10px;border:none;border-radius:9px;background:transparent;color:var(--text-faint);font-family:inherit;font-size:11.5px;cursor:pointer;text-align:left;width:100%;transition:background .13s,color .13s}.vx-side-signout:hover{background:var(--surface-1);color:var(--warn)}.vx-admin-link{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:1px solid color-mix(in oklab,var(--warm) 28%,var(--border-faint));border-radius:9px;background:color-mix(in oklab,var(--warm-soft) 70%,transparent);color:var(--warm);font-family:inherit;font-size:11.5px;cursor:pointer;text-align:left;transition:background .13s,border-color .13s,color .13s}.vx-admin-link:hover{background:var(--warm-soft);border-color:var(--warm-line);color:var(--text)}.vx-signin{width:100%;justify-content:center}.vx-body{flex:1;min-width:0;margin-left:var(--vx-side-w);display:flex;flex-direction:column;min-height:100vh}.vx-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;height:56px;padding:0 28px;background:color-mix(in oklab,oklch(.205 .015 295) 86%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-faint)}.vx-top-title{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.vx-top-title b{color:var(--text);font-weight:500}.vx-sp{flex:1}.vx-top .v2-points{cursor:pointer;font:inherit}.vx-user-dropdown{position:relative;display:inline-flex}.vx-user-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:2px 10px 2px 4px;border:1px solid var(--border-faint);border-radius:999px;background:var(--surface-1);color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.vx-user-btn:hover,.vx-user-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border)}.vx-user-btn .vx-user-avatar{width:26px;height:26px;font-size:11px}.vx-user-btn-name{font-size:12px;font-weight:500;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-user-btn-chevron{color:var(--text-faint);transition:transform .15s ease}.vx-user-btn-chevron.open{transform:rotate(180deg)}.vx-user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface-1);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px oklch(0 0 0/.45);z-index:45}.vx-user-menu-header{display:flex;align-items:center;gap:10px;padding:8px 10px 6px}.vx-user-menu-header .vx-user-avatar{width:34px;height:34px;font-size:13px}.vx-user-menu-info{display:flex;flex-direction:column;min-width:0}.vx-user-menu-name{font-size:13px;font-weight:600;color:var(--text)}.vx-user-menu-name,.vx-user-menu-plan{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-user-menu-plan{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}.vx-user-menu-divider{height:1px;background:var(--border-faint);margin:4px 0}.vx-user-menu-section{display:flex;flex-direction:column;gap:2px;padding:2px 0}.vx-user-menu-section-label{display:flex;align-items:center;gap:6px;padding:4px 8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.vx-user-menu-wallet{display:flex;flex-direction:column;gap:2px}.vx-user-menu-wallet .vx-wallet-item{display:flex;flex-direction:row;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;font-size:12px}.vx-user-menu-wallet .vx-wallet-item.is-active{background:color-mix(in oklab,var(--warm) 14%,var(--surface-2));color:var(--text)}.vx-user-menu .vx-admin-link,.vx-user-menu .vx-points-card,.vx-user-menu .vx-side-signout,.vx-user-menu .vx-user-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;padding:8px 10px;border-radius:8px;border:none;background:transparent;font-size:12.5px;color:var(--text-muted);cursor:pointer;text-align:left;width:100%;transition:background .13s,color .13s}.vx-user-menu .vx-admin-link:hover,.vx-user-menu .vx-points-card:hover,.vx-user-menu .vx-user-row:hover{background:var(--surface-2);color:var(--text)}.vx-user-menu .vx-side-signout:hover{background:color-mix(in oklab,var(--warn) 15%,transparent);color:var(--warn)}.vx-lang{position:relative;display:inline-flex}.vx-lang-btn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.vx-lang-btn:hover,.vx-lang-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border-faint);color:var(--text)}.vx-lang-tag{font-family:var(--mono);font-size:11px;letter-spacing:.04em}.vx-lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:176px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface-1);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px oklch(0 0 0/.45);z-index:45}.vx-lang-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:none;border-radius:9px;background:none;color:var(--text-muted);font:inherit;font-size:13px;text-align:left;cursor:pointer}.vx-lang-item:hover{background:var(--surface-2);color:var(--text)}.vx-lang-item.is-active{color:var(--text)}.vx-lang-item-tag{flex:0 0 auto;min-width:22px;font-family:var(--mono);font-size:10px;color:var(--text-faint)}.vx-lang-item-name{flex:1 1 auto}.vx-lang-btn:focus-visible,.vx-lang-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vx-wallet{position:relative;display:inline-flex}.vx-wallet-btn{display:inline-flex;align-items:center;gap:5px;height:34px;max-width:160px;padding:0 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.vx-wallet-btn:hover,.vx-wallet-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border-faint);color:var(--text)}.vx-wallet-btn:disabled{opacity:.6;cursor:progress}.vx-wallet-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-wallet-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:248px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface-1);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px oklch(0 0 0/.45);z-index:45}.vx-wallet-hint{margin:2px 8px 6px;font-size:11px;line-height:1.45;color:var(--text-muted)}.vx-wallet-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:12px;text-align:start;cursor:pointer}.vx-wallet-item:hover{background:var(--surface-2);color:var(--text)}.vx-wallet-item.is-active{color:var(--text)}.vx-wallet-item-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-wallet-item-pts{flex:0 0 auto;font-family:var(--mono);font-size:11px;color:var(--text-muted)}.vx-wallet-btn:focus-visible,.vx-wallet-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width:760px){.vx-wallet-name{display:none}}.vx-bell,.vx-bell-btn{position:relative;display:inline-flex}.vx-bell-btn{align-items:center;justify-content:center;width:34px;height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.vx-bell-btn:hover{background:var(--surface-2);border-color:var(--border-faint);color:var(--text)}.vx-bell-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.vx-bell-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 2px var(--bg)}.vx-bell-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-width:calc(100vw - 32px);max-height:min(70vh,460px);display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px oklch(0 0 0/.45);overflow:hidden;z-index:45}.vx-bell-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-faint)}.vx-bell-title{font-size:13px;font-weight:600;color:var(--text)}.vx-bell-allread{border:none;background:none;padding:0;font:inherit;font-size:11px;color:var(--text-faint);cursor:pointer}.vx-bell-allread:hover{color:var(--text);text-decoration:underline}.vx-bell-list{overflow-y:auto;overscroll-behavior:contain}.vx-bell-empty{padding:28px 16px;text-align:center;font-size:12px;color:var(--text-faint)}.vx-bell-item{position:relative;display:flex;gap:10px;width:100%;text-align:left;padding:11px 14px;border:none;border-bottom:1px solid var(--border-faint);background:transparent;cursor:pointer;font:inherit;transition:background .12s ease}.vx-bell-item:last-child{border-bottom:none}.vx-bell-item:hover{background:var(--surface-2)}.vx-bell-item.is-unread{background:color-mix(in oklab,var(--surface-2) 60%,transparent)}.vx-bell-item-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--surface-3);color:var(--text-muted)}.vx-bell-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.vx-bell-item-title{font-size:12.5px;font-weight:500;color:var(--text)}.vx-bell-item-body{font-size:11.5px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.vx-bell-item-time{font-size:10.5px;color:var(--text-dim);margin-top:1px}.vx-bell-item-dot{flex:0 0 auto;align-self:center;width:7px;height:7px;border-radius:50%;background:#ef4444}@media (max-width:520px){.vx-bell-panel{position:fixed;top:56px;right:8px;left:8px;width:auto}}.vx-top-brand{display:none;align-items:center;gap:8px;border:none;background:none;cursor:pointer;font-family:inherit;padding:0}.vx-main{flex:1;display:flex;flex-direction:column}.vx-main .v2-screen{max-width:1320px;padding:36px 36px 100px;animation:vx-screen-in .28s cubic-bezier(.22,1,.36,1)}@keyframes vx-screen-in{0%{transform:translateY(10px)}to{transform:none}}.vx-main .v2-hero{margin-bottom:40px}.vx-main .v2-hero h1{font-size:clamp(30px,3.6vw,44px)}.vx-tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px 8px calc(8px + env(safe-area-inset-bottom, 0px));background:color-mix(in oklab,oklch(.185 .014 295) 92%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--border-faint)}.vx-tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:none;background:transparent;color:var(--text-faint);font-family:inherit;font-size:10px;cursor:pointer;min-height:48px;justify-content:center;border-radius:10px;transition:color .13s}.vx-tab.active{color:var(--text)}.vx-tab.active .ic{color:var(--warm)}.vx-tab-fab{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:-22px auto 0;border:none;border-radius:50%;background:var(--brand-grad);color:oklch(.2 .02 295);cursor:pointer;box-shadow:0 10px 26px -8px oklch(.7 .14 350/.65);transition:transform .15s cubic-bezier(.22,1,.36,1)}.vx-tab-fab:active{transform:scale(.94)}.vx-sheet-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.5);backdrop-filter:blur(3px)}.vx-sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--surface-1);border-top:1px solid var(--border);border-radius:18px 18px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom, 0px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;animation:vx-sheet-up .24s cubic-bezier(.22,1,.36,1)}@keyframes vx-sheet-up{0%{transform:translateY(40px)}to{transform:none}}.vx-sheet-close{position:absolute;top:10px;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:var(--surface-2);color:var(--text-muted);cursor:pointer}.vx-sheet-close:hover{background:var(--surface-3);color:var(--text)}.vx-sheet-grip{width:36px;height:4px;border-radius:999px;background:var(--surface-3);margin:0 auto 14px}.vx-sheet-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 10px;border:none;border-radius:10px;background:transparent;color:var(--text);font-family:inherit;font-size:14.5px;cursor:pointer;text-align:left;min-height:48px}.vx-sheet-item:hover{background:var(--surface-2)}.vx-sheet-item .ic{color:var(--text-muted)}.vx-sheet-item.admin{margin-bottom:4px;background:var(--warm-soft);color:var(--warm)}.vx-sheet-item.admin .ic{color:var(--warm)}.vx-sheet-item.admin:hover{background:var(--warm-soft);color:var(--text)}.vx-sheet-item.danger,.vx-sheet-item.danger .ic{color:var(--warn)}.vx-sheet-group{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding:12px 10px;border-top:1px solid var(--border-faint)}.vx-sheet-group-label{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--text-muted)}.vx-sheet-chips{display:flex;flex-wrap:wrap;gap:6px}.vx-sheet-chip{flex:1 1 0;min-width:44px;min-height:40px;padding:0 8px;border:1px solid var(--border-faint);border-radius:10px;background:var(--surface-2);color:var(--text-muted);font-family:var(--mono);font-size:12px;letter-spacing:.04em;cursor:pointer}.vx-sheet-chip.is-active{background:var(--surface-3);border-color:var(--border);color:var(--text)}.vx-sheet-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vx-sheet-wallet{display:flex;flex-direction:column;gap:4px}.vx-sheet-wallet .vx-wallet-item{min-height:44px;font-size:13.5px;border:1px solid transparent}.vx-sheet-wallet .vx-wallet-item.is-active{background:var(--surface-2);border-color:var(--border-faint)}.vx-sheet-wallet .vx-wallet-item:disabled{opacity:.6;cursor:progress}.vx-sheet-overlay.settling,.vx-sheet.settling{pointer-events:none}@media (min-width:761px){.vx-sheet,.vx-sheet-overlay{display:none}}@media (max-width:1080px){body:has(.v2-app){--vx-side-w:64px}.vx-side{padding:14px 8px 12px}.vx-brand{justify-content:center;padding:4px 0 14px}.vx-brand .vx-brand-lockup{display:none}.vx-brand .vx-brand-mark{display:grid}.vx-cta{margin:0 0 12px;padding:11px 0}.vx-cta span{display:none}.vx-nav-group{text-align:center;padding:12px 0 5px;letter-spacing:0;overflow:hidden;height:26px}.vx-nav-item{justify-content:center;padding:11px 0}.vx-nav-item span{display:none}.vx-nav-item.active:before{left:-8px}.vx-points-card{padding:9px 6px;align-items:center}.vx-points-row{flex-direction:column;align-items:center;gap:2px}.vx-points-num{font-size:12px}.vx-points-num .unit,.vx-points-plan{display:none}.vx-points-meter{width:100%;align-self:stretch}.vx-user-row{justify-content:center;padding:7px 0}.vx-user-name,.vx-user-sub,.vx-user-text{display:none}.vx-side-signout{justify-content:center;padding:7px 0}.vx-side-signout span{display:none}.vx-admin-link{justify-content:center;padding:7px 0}.vx-admin-link span{display:none}.vx-signin{padding-left:0;padding-right:0;font-size:11px}}@media (max-width:760px){.vx-side{display:none}.vx-body{margin-left:0}.vx-tabbar{display:grid}.vx-top{padding:0 16px;height:52px;gap:10px}.vx-top .vx-lang,.vx-top .vx-user-dropdown,.vx-top .vx-wallet{display:none}.vx-top .vx-bell-btn{width:44px;height:44px}.vx-top .v2-points,.vx-top .vx-bell,.vx-top-brand{flex-shrink:0}.vx-top-brand{display:flex}.vx-top-brand .vx-brand-lockup{height:24px}.vx-top-title{display:none}.vx-main .v2-screen{padding:22px 16px 130px}.vx-main .v2-hero{margin-bottom:26px}.vx-main .v2-hero h1{font-size:clamp(26px,7.4vw,34px)}}@media (prefers-reduced-motion:reduce){.vx-main .v2-screen,.vx-sheet{animation:none}.vx-cta,.vx-cta:hover,.vx-points-meter span,.vx-tab-fab{transition:none;transform:none}}