:root{--bg: #f5f5f7;--surface: #ffffff;--ink: #1d1d1f;--ink-2: #6e6e73;--ink-3: #86868b;--line: rgba(0, 0, 0, .06);--border: var(--line);--blue: #0071e3;--blue-hover: #0077ed;--accent: var(--blue);--accent-hover: var(--blue-hover);--green: #30d158;--danger: #d70015;--warning: #ff9f0a;--radius: 18px;--radius-sm: 12px;--shadow: 0 4px 24px rgba(0, 0, 0, .06);--nav-bg: rgba(245, 245, 247, .72);--nav-bg-scrolled: rgba(245, 245, 247, .86);--brand-mark-from: #64d2ff;--brand-mark-mid: #0071e3;--brand-mark-to: #0040dd;--fill: var(--bg);--fill-elevated: color-mix(in srgb, var(--ink) 4%, var(--surface));--hover: color-mix(in srgb, var(--ink) 6%, transparent);--hover-strong: color-mix(in srgb, var(--ink) 10%, transparent);--focus-ring: color-mix(in srgb, var(--blue) 18%, transparent);--focus-border: color-mix(in srgb, var(--blue) 50%, transparent);--accent-soft: color-mix(in srgb, var(--blue) 12%, transparent);--accent-soft-border: color-mix(in srgb, var(--blue) 35%, transparent);--surface-glass: color-mix(in srgb, var(--bg) 92%, transparent);--font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;--display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--max: 980px;--page-pad: 20px;--topnav-bar: 52px;--topnav-height: calc(var(--topnav-bar) + env(safe-area-inset-top, 0px));--topnav-gap: 12px;--topnav-offset: calc(var(--topnav-height) + var(--topnav-gap));--bottom-nav-space: calc(96px + env(safe-area-inset-bottom, 0px)) ;color:var(--ink);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light}*{box-sizing:border-box}html{margin:0;min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body,#root{margin:0;min-height:100%}body{background:var(--bg);overflow-x:hidden;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea,select{font-size:16px}img{max-width:100%;display:block}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:var(--bottom-nav-space)}.app-main{padding-top:var(--topnav-offset);min-width:0;box-sizing:border-box;flex:1 0 auto}.site-footer{width:100%;margin-top:auto;padding:36px 20px 10px;box-sizing:border-box;background:transparent;border:0}.site-footer-inner{width:min(100%,var(--max));margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.site-footer-links{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 0;max-width:100%}.site-footer-beian,.site-footer-mail{font-size:.72rem;line-height:1.5;color:color-mix(in srgb,var(--ink-2, #6b6b70) 92%,transparent);text-decoration:none;letter-spacing:.04em;padding:2px 0;border-bottom:none;transition:color .15s ease,opacity .15s ease;opacity:.88;word-break:break-all}.site-footer-beian:hover,.site-footer-beian:focus-visible,.site-footer-mail:hover,.site-footer-mail:focus-visible{color:var(--ink, #1d1d1f);opacity:1;outline:none;text-decoration:underline;text-underline-offset:3px}.site-footer-brand{margin:0;font-size:.68rem;line-height:1.4;color:color-mix(in srgb,var(--ink-2, #6b6b70) 75%,transparent);letter-spacing:.02em}.site-footer-dot{margin:0 .35em;opacity:.5}@media (max-width: 640px){.site-footer{padding:28px 16px 6px}.site-footer-beian,.site-footer-mail{font-size:.7rem;letter-spacing:.02em}.site-footer-brand{font-size:.64rem}}body:has(.chat-thread-page) .site-footer{display:none}body:has(.chat-thread-page) .app-main,body:has(.today-page) .app-main,body:has(.home-page) .app-main{padding-top:0}.topnav{position:fixed;inset:0 0 auto;z-index:50;min-height:var(--topnav-height);padding-top:env(safe-area-inset-top,0px);padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));background:color-mix(in srgb,var(--nav-bg) 82%,var(--bg));backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid transparent;transition:border-color .25s ease,background .25s ease;isolation:isolate;pointer-events:none}.topnav>*{pointer-events:auto}.topnav.scrolled{border-bottom-color:var(--line);background:color-mix(in srgb,var(--nav-bg-scrolled) 88%,var(--bg))}.topnav-inner{width:min(100%,var(--max));margin:0 auto;min-height:var(--topnav-bar);display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto;font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.03em}.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{width:26px;height:26px;flex-shrink:0;border-radius:7px;object-fit:cover;display:block;background:#fff;box-shadow:inset 0 0 0 .5px #0000000f}.topnav-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex:1 1 auto;max-width:min(62%,420px)}.topnav-auth{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end;min-width:0}.topnav-user-cluster{display:flex;align-items:center;gap:6px;position:relative;min-width:0;max-width:100%}.identity-switch{position:relative;flex-shrink:0}.identity-switch-btn{font-size:inherit;font-weight:650;height:36px;padding:0 12px}.identity-switch-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;padding:6px;border-radius:12px;background:var(--surface, #fff);border:1px solid var(--border, rgba(0, 0, 0, .08));box-shadow:0 10px 28px #0000001f;z-index:40;display:grid;gap:4px}.identity-switch-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;border:0;background:transparent;padding:10px 12px;border-radius:8px;cursor:pointer;text-align:left;font:inherit;color:inherit}.identity-switch-menu button:hover,.identity-switch-menu button.on{background:color-mix(in srgb,var(--blue, #2563eb) 10%,transparent)}.identity-switch-menu button .muted{font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border:0;border-radius:var(--radius-sm);font-weight:650;letter-spacing:-.01em;white-space:nowrap;flex-shrink:0;transition:transform .18s ease,background .18s ease,opacity .18s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-hover)}.btn-danger{background:var(--danger, #d70015);color:#fff;border:0}.btn-danger:hover{filter:brightness(.92)}.btn-ghost{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.btn-ghost:hover{background:color-mix(in srgb,var(--ink) 10%,transparent)}.btn-text{background:transparent;color:var(--blue);height:auto;padding:8px 2px}.btn-light{background:#ffffffeb;color:#1d1d1f}.btn-light:hover{background:var(--surface)}.hero{position:relative;min-height:100svh;width:100%;display:grid;align-items:end;overflow:hidden;color:#fff;isolation:isolate}.hero-carousel{position:absolute;inset:0;z-index:0;overflow:hidden;background:#0b1f36}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}.hero-slide.is-active{opacity:1;pointer-events:auto}.hero-slide-img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);animation:heroDrift 18s ease-in-out infinite alternate}.hero-slide:not(.is-active) .hero-slide-img{animation:none}.hero-media-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0a122038,#0a122052 42%,#0a1220c7),radial-gradient(900px 520px at 78% 18%,rgba(100,210,255,.18),transparent 58%)}.hero-dots{position:absolute;right:max(14px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px}.hero-dot{width:9px;height:9px;padding:0;border:1.5px solid rgba(255,255,255,.78);border-radius:50%;background:transparent;cursor:pointer;transition:background .25s ease,transform .25s ease,border-color .25s ease;box-shadow:0 1px 4px #00000059}.hero-dot:hover{background:#ffffff73}.hero-dot.is-active{background:#fff;border-color:#fff;transform:scale(1.18)}.hero-dot:focus-visible{outline:2px solid #fff;outline-offset:3px}.hero-watermark{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:max(10px,env(safe-area-inset-bottom,0px));z-index:2;margin:0;max-width:min(52vw,280px);padding:6px 10px;font-size:.66rem;font-weight:500;letter-spacing:.02em;line-height:1.35;text-align:right;color:#ffffffdb;text-shadow:0 1px 3px rgba(0,0,0,.55);background:#00000057;border-radius:6px;pointer-events:none;user-select:none}.hero-watermark-sub{display:block;margin-top:2px;font-size:.6rem;font-weight:400;color:#ffffffb8}@media (max-width: 640px){.hero-watermark{max-width:min(62vw,200px);font-size:.6rem;bottom:calc(var(--bottom-nav-space) + 36px)}}@media (prefers-reduced-motion: reduce){.hero-slide{transition:none}.hero-slide-img{animation:none}}.hero-inner{position:relative;z-index:1;width:min(100% - 40px,var(--max));margin:0 auto;padding:120px 0 72px;animation:rise .9s cubic-bezier(.22,1,.36,1) both}.hero-date{margin:0 0 14px;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffffffb8}.hero-brand{margin:0 0 14px;font-family:var(--display);font-size:clamp(3rem,9vw,5.4rem);font-weight:700;letter-spacing:-.055em;line-height:.92}.hero-line{margin:0 0 10px;font-size:clamp(1.2rem,2.6vw,1.65rem);font-weight:600;letter-spacing:-.025em;max-width:18ch}.hero-sub{margin:0 0 28px;max-width:34ch;color:#fffc;font-size:1.05rem;line-height:1.55}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.hero-cta-secondary{color:#fff;background:#ffffff24}.hero-cta-secondary:hover{background:#ffffff38}.today-page .hero-inner{padding-top:calc(var(--topnav-offset) + 28px);padding-bottom:calc(var(--bottom-nav-space) + 12px);min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;box-sizing:border-box}.today-apps-section{padding-bottom:48px}.today-app-list{padding:8px 16px}.page{width:min(100% - (var(--page-pad) * 2),var(--max));margin:0 auto}.section{padding:0 0 8px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.section-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.section-kicker{margin:0 0 4px;color:var(--ink-3);font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.section-title{margin:0;font-family:var(--display);font-size:clamp(1.7rem,3.2vw,2.25rem);letter-spacing:-.04em}.section-desc{margin:8px 0 0;color:var(--ink-2);max-width:42ch;line-height:1.5}.stories{display:grid;gap:18px}.story{position:relative;display:block;min-height:420px;border-radius:28px;overflow:hidden;color:#fff;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.22,1,.36,1)}.story:hover{transform:translateY(-4px)}.story-bg{position:absolute;inset:0;z-index:0}.story-bg-img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;transform:scale(1.01)}.story-match .story-bg{background:#f7ecec}.story-match .story-bg:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#5a0c1814,#5a0c182e 42%,#370810b8)}.story-match .story-title,.story-match .story-text,.story-match .story-label{text-shadow:0 1px 10px rgba(40,0,8,.35)}.story-forum .story-bg{background:linear-gradient(180deg,#0000000a,#00000094),radial-gradient(700px 420px at 20% 0%,rgba(120,255,190,.28),transparent 55%),linear-gradient(155deg,#0f3d2e,#2f9e6a 55%,#b7f0d0)}.story-carpool .story-bg{background:linear-gradient(180deg,#0000000d,#0009),radial-gradient(700px 420px at 70% 0%,rgba(100,210,255,.35),transparent 55%),linear-gradient(150deg,#063a63,#0071e3 52%,#64d2ff)}.story-campus-card .story-bg{background:linear-gradient(180deg,#0000000f,#00000094),radial-gradient(680px 400px at 18% 8%,rgba(90,200,250,.4),transparent 55%),linear-gradient(148deg,#0b2c4a,#0a84ff 48%,#5ac8fa)}.story-body{position:relative;z-index:1;height:100%;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,4vw,40px);animation:rise .7s ease both}.story-label{margin:0 0 10px;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.78}.story-title{margin:0 0 10px;font-family:var(--display);font-size:clamp(1.8rem,4vw,2.55rem);letter-spacing:-.04em;line-height:1.05;max-width:12ch}.story-text{margin:0;max-width:34ch;opacity:.88;line-height:1.5;font-size:1.02rem}.app-list{display:grid;gap:8px}.app-row{display:grid;grid-template-columns:68px 1fr auto;gap:14px;align-items:center;padding:12px 8px;border-radius:var(--radius);transition:background .2s ease}.app-row+.app-row{border-top:1px solid var(--line)}.app-row:hover{background:var(--hover)}.app-icon{width:68px;height:68px;border-radius:16px;display:grid;place-items:center;color:#fff;font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:-.03em;box-shadow:inset 0 0 0 .5px #fff3}.app-meta h3{margin:0 0 4px;font-size:1.05rem;letter-spacing:-.02em}.app-meta p{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.4}.get-btn{min-width:72px;height:32px;padding:0 14px;border-radius:980px;background:var(--accent-soft);color:var(--blue);border:0;font-weight:750;font-size:.88rem}.get-btn:hover{background:color-mix(in srgb,var(--blue) 16%,transparent)}.bottomnav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:60;overflow:visible;width:min(calc(100% - 12px),720px);max-width:calc(100vw - 12px);padding:0;border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow)}.bottomnav-track{display:flex;gap:0;padding:10px 6px 5px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;border-radius:18px}.bottomnav-track::-webkit-scrollbar{display:none}.bottomnav a{flex:1 0 auto;min-width:3.1rem;padding:10px 4px;border-radius:12px;text-align:center;color:var(--ink-2);font-size:.74rem;font-weight:650;white-space:nowrap;position:relative;overflow:visible;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottomnav-ico{display:none;line-height:0;color:inherit}.bottomnav-label{display:block;line-height:1.15}.bottomnav a.active{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.bottomnav-more-btn{flex:1 0 auto;min-width:3.1rem;padding:10px 4px;border:0;border-radius:12px;background:transparent;text-align:center;color:var(--ink-2);font-size:.74rem;font-weight:650;white-space:nowrap;position:relative;overflow:visible;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;-webkit-tap-highlight-color:transparent}.bottomnav-more-btn.active{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.bottomnav-more-layer{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.bottomnav-more-scrim{position:absolute;inset:0;border:0;padding:0;margin:0;background:#00000052;pointer-events:auto;cursor:pointer}.bottomnav-more-sheet{position:relative;z-index:1;pointer-events:auto;margin:0 10px calc(var(--bottom-nav-space) + 6px);padding:14px 12px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 40px #00000024;animation:bottomnavMoreIn .22s ease both;max-height:min(52vh,420px);overflow:auto;-webkit-overflow-scrolling:touch}@keyframes bottomnavMoreIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bottomnav-more-title{margin:0 6px 12px;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}.bottomnav-more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bottomnav-more-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:10px 4px;border-radius:14px;color:var(--ink-2);font-size:.72rem;font-weight:650;position:relative;text-align:center}.bottomnav-more-grid a .bottomnav-ico{display:block;color:inherit}.bottomnav-more-grid a.active{background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.panel-title{margin:0 0 6px;font-family:var(--display);font-size:1.55rem;letter-spacing:-.035em}.panel-sub{margin:0 0 20px;color:var(--ink-2)}.auth-merchant-entry{margin:18px 0 0;font-size:.9rem;text-align:center}.auth-panel{max-width:520px;margin:24px auto;animation:rise .55s ease both}.campus-email-help-btn{margin-top:4px;padding-left:0;font-size:.82rem}.campus-email-guide .campus-email-panel{max-width:720px;margin:24px auto;animation:rise .55s ease both}.campus-email-list{display:grid;gap:16px;margin-top:8px}.campus-email-card{border:1px solid var(--line);border-radius:16px;padding:16px 16px 14px;background:color-mix(in srgb,var(--ink) 2.5%,var(--surface))}.campus-email-card.is-open{border-color:color-mix(in srgb,var(--blue) 28%,var(--line))}.campus-email-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.campus-email-card-head h2{margin:0 0 4px;font-size:1.12rem;letter-spacing:-.02em}.campus-email-card-head .muted{margin:0;font-size:.82rem}.campus-email-domain{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;color:var(--blue)}.campus-email-badge{flex:none;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;color:#fff;background:var(--blue)}.campus-email-shots{display:grid;gap:14px}.campus-email-shot{margin:0}.campus-email-shot-btn{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0b1220;cursor:zoom-in}.campus-email-shot-btn img{display:block;width:100%;height:auto;vertical-align:middle}.campus-email-shot figcaption{margin-top:8px;font-size:.84rem;font-weight:600;color:var(--ink-2)}.campus-email-note{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--ink) 4%,var(--surface));color:var(--ink-2);font-size:.86rem;line-height:1.5}.campus-email-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.campus-email-lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#080c14d1;cursor:zoom-out}.campus-email-lightbox img{max-width:min(1080px,100%);max-height:calc(100svh - 96px);border-radius:10px;box-shadow:0 18px 48px #00000059}.campus-email-lightbox-close{position:absolute;top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));border:0;border-radius:999px;padding:8px 14px;background:#ffffffeb;color:#111;font-weight:600;cursor:pointer}@media (max-width: 640px){.campus-email-foot .btn{flex:1 1 auto;justify-content:center}}.form-grid{display:grid;gap:14px}.field{display:grid;gap:8px;min-width:0}.field label{display:block;margin:0;font-size:.8125rem;font-weight:600;line-height:1.3;letter-spacing:.01em;color:var(--ink-2)}.field input,.field textarea,.field select,.field .password-field-input,.college-select-trigger,.date-select select{width:100%;height:44px;box-sizing:border-box;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:0 14px;font-size:.9375rem;font-weight:500;line-height:1.3;color:var(--ink);outline:none;box-shadow:none;appearance:none;-webkit-appearance:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.password-field{position:relative;display:block;width:100%;min-width:0}.password-field-input{padding-right:46px!important}.password-field-input::-ms-reveal,.password-field-input::-ms-clear,input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important}.password-field-input::-webkit-credentials-auto-fill-button,.password-field-input::-webkit-strong-password-auto-fill-button{display:none!important;visibility:hidden;pointer-events:none;position:absolute;right:0;width:0;height:0;margin:0;padding:0}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--ink-2);cursor:pointer;padding:0;line-height:0}.password-toggle:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.password-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:1px}.password-toggle:disabled{opacity:.4;cursor:not-allowed}.password-toggle[aria-pressed=true]{color:var(--blue)}.field textarea{height:auto;padding:12px 14px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.field .password-field-input:focus,.college-select-trigger:focus-visible,.date-select select:focus{border-color:color-mix(in srgb,var(--blue) 55%,transparent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent);outline:none}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible,.field .password-field-input:focus-visible{outline:none}.date-select{display:grid;grid-template-columns:1.15fr .9fr .9fr;gap:8px}.date-select select{padding-right:28px}.email-split,.email-split-card{display:flex;align-items:stretch;min-height:48px;padding:0;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:visible;transition:border-color .15s ease,box-shadow .15s ease}.email-split:focus-within,.email-split-card:focus-within{border-color:color-mix(in srgb,var(--blue) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}.email-split>input,.email-split-card>input{flex:1 1 42%;min-width:0;min-height:46px;margin:0;padding:0 14px;border:0!important;border-radius:12px 0 0 12px;background:transparent!important;box-shadow:none!important;outline:none;font-size:.9375rem}.email-at{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:28px;padding:0 2px;color:var(--ink-3);font-weight:700;font-size:.95rem;user-select:none;background:#0f172a08;border-left:1px solid rgba(15,23,42,.06);border-right:1px solid rgba(15,23,42,.06)}.email-domain-select{position:relative;flex:1 1 48%;min-width:0}.email-domain-trigger{width:100%;height:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 0 14px;border:0;border-radius:0 12px 12px 0;background:transparent;color:var(--ink);font-size:.875rem;font-weight:600;cursor:pointer;text-align:left}.email-domain-trigger:hover{background:var(--accent-soft)}.email-domain-trigger.open,.email-domain-trigger:focus-visible{outline:none;background:var(--accent-soft)}.email-domain-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue)}.email-domain-caret{display:inline-flex;color:var(--ink-3);flex:0 0 auto;transition:transform .18s ease}.email-domain-trigger.open .email-domain-caret{transform:rotate(180deg);color:var(--blue)}.email-domain-panel{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 8px);min-width:min(100%,260px);width:max(100%,240px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #0f172a24;overflow:hidden;max-height:260px;overflow-y:auto;animation:email-panel-in .16s ease both}@keyframes email-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.email-domain-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;color:var(--ink)}.email-domain-option:last-child{border-bottom:0}.email-domain-option-main{display:grid;gap:2px;min-width:0}.email-domain-option strong{font-size:.9rem;font-weight:650;color:var(--ink)}.email-domain-option-main>span{font-size:.75rem;color:var(--ink-3)}.email-domain-option:hover,.email-domain-option.active{background:var(--accent-soft)}.email-domain-check{flex:0 0 auto;color:var(--blue);font-weight:700;font-size:.9rem}.email-domain-hint{display:none}.code-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.captcha-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.captcha-row>input{height:44px;min-height:44px;box-sizing:border-box}.captcha-img-btn{display:inline-flex;align-items:center;justify-content:center;width:120px;height:44px;min-height:44px;max-height:44px;padding:0;border-radius:10px;border:1px solid var(--line);background:var(--bg);cursor:pointer;overflow:hidden;box-sizing:border-box}.captcha-img-btn img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.captcha-img-btn:hover{border-color:var(--accent-soft-border)}.captcha-img-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;justify-content:space-between}.ok-msg{margin:0;color:#1a7f37;font-size:.875rem}.check-row{display:flex;gap:12px;align-items:center;min-height:44px;margin:0;padding:0 2px;color:var(--ink);font-size:.9375rem;font-weight:500;line-height:1.4;cursor:pointer}.check-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;flex:0 0 auto;border:1.5px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:6px;background:var(--surface);outline:none;box-shadow:none;cursor:pointer;position:relative}.check-row input[type=checkbox]:checked{background:var(--blue);border-color:var(--blue)}.check-row input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.check-row input[type=checkbox]:focus,.check-row input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.campus-pick{display:grid;gap:12px}.campus-school-name{margin:0 0 8px;font-size:.875rem;font-weight:650;color:var(--ink)}.campus-chips{display:flex;flex-wrap:wrap;gap:8px}.chip,.chip-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:.875rem;font-weight:550;outline:none;box-shadow:none;cursor:pointer}.chip-btn:focus,.chip-btn:focus-visible,.chip:focus-within{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.chip-btn.on{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--blue)}.merchant-ads-form{gap:18px!important}.merchant-ads-step{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.merchant-ads-step:last-of-type{border-bottom:0}.merchant-ads-step-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.merchant-ads-step-hint{margin:0;font-size:.9rem;line-height:1.45}.merchant-ads-sublabel{margin:8px 0 0;font-size:.9rem;font-weight:650;color:var(--ink-2)}.merchant-ads-form .chip-btn{min-height:42px;padding:0 16px;font-size:.95rem;border-radius:12px}.merchant-ads-summary{padding:14px 16px;border-radius:12px;background:var(--fill-elevated);border:1px solid var(--line)}.school-target-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}.school-target-block{display:flex;flex-direction:column;gap:8px}.school-tag{justify-content:space-between;gap:8px;width:fit-content;max-width:100%}.school-tag-caret{margin-left:4px;opacity:.7;font-size:.75rem}.school-campus-chips{padding:10px 12px;border-radius:12px;background:var(--fill-elevated);border:1px solid var(--line)}.analytics-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.analytics-header>div:first-child{flex:1;min-width:180px}.analytics-window-chips{margin:0;flex-shrink:0}.analytics-window-chips .chip-btn{min-height:36px;padding:0 14px;font-size:.88rem;border-radius:999px}.campaign-record-list{display:grid;gap:12px}.campaign-record-card{padding:16px 18px!important}.campaign-record-head{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.campaign-record-title{margin:8px 0 0;font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.35}.campaign-record-time{margin:0;font-size:.86rem}.campaign-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.campaign-metric{padding:10px 12px;border-radius:12px;background:var(--fill-elevated);border:1px solid var(--line)}.campaign-metric-label{display:block;font-size:.78rem;color:var(--ink-2);margin-bottom:4px}.campaign-metric-value{font-size:1.05rem;font-weight:700;color:var(--ink)}@media (max-width: 520px){.campaign-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chip input{display:none}@media (max-width: 520px){.email-split,.email-split-card{flex-wrap:wrap;min-height:0}.email-split>input,.email-split-card>input{flex:1 1 100%;border-radius:12px 12px 0 0;border-bottom:1px solid rgba(15,23,42,.06)!important}.email-at{flex:0 0 auto;min-height:44px;border:0;border-right:1px solid rgba(15,23,42,.06);background:transparent}.email-domain-select{flex:1 1 auto}.email-domain-trigger{border-radius:0 0 12px}.email-domain-panel{left:auto;right:0;width:min(100vw - 48px,280px)}.code-row{grid-template-columns:1fr}}.post-list,.post-feed{display:grid;gap:12px}.post-item,.post-card,.user-card,.composer-card{padding:18px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.post-card{animation:rise .45s ease both}.post-title,.post-card h3,.post-item h3{margin:8px 0;font-size:1.08rem;letter-spacing:-.02em;line-height:1.35;word-break:break-word}.post-topic-tag{display:inline-block;margin:0 0 4px;padding:2px 8px;border-radius:999px;font-size:.75rem;color:var(--blue, #2563eb);background:color-mix(in srgb,var(--blue, #2563eb) 12%,transparent)}.post-body,.post-item p{margin:0;color:var(--ink-2);line-height:1.55;white-space:pre-wrap;word-break:break-word}.post-meta{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;color:var(--ink-3);font-size:.82rem}.forum-page{padding-bottom:28px;position:relative}.forum-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.forum-toolbar .section-title{font-size:clamp(1.55rem,4vw,2.1rem)}.forum-toolbar .section-desc{max-width:48ch}.forum-publish-btn{flex-shrink:0;min-width:88px;height:40px;border-radius:999px}.forum-banner-err{margin:0 0 12px}.forum-empty-card{padding:48px 22px;text-align:center;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.forum-empty-title{margin:0 0 8px;font-family:var(--display);font-size:1.2rem;letter-spacing:-.02em}.forum-empty-card .btn{margin-top:16px}.forum-fab{position:fixed;right:max(18px,calc((100vw - var(--max)) / 2 + 12px));bottom:calc(var(--bottom-nav-space) + 12px);z-index:55;display:none;align-items:center;gap:6px;height:48px;padding:0 18px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;box-shadow:0 10px 28px color-mix(in srgb,var(--blue) 35%,transparent)}.forum-fab span{font-size:1.35rem;line-height:1;font-weight:600}.sheet-root,.chat-open-overlay,.carpool-compose-overlay,.notice-overlay,.lightbox{align-items:center!important;justify-content:center!important;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px))!important;box-sizing:border-box}.sheet-root{position:fixed;inset:0;z-index:80;display:grid;align-items:center;justify-items:center}.sheet-backdrop{position:absolute;inset:0;border:0;background:#00000061;cursor:pointer}.sheet-panel{position:relative;z-index:1;width:min(100%,720px);max-height:min(90vh,920px);margin:0 auto;padding:16px 18px 18px;border-radius:22px;background:var(--surface);box-shadow:0 16px 48px #0000002e;overflow:auto;animation:sheetIn .24s ease}.compose-panel{display:flex;flex-direction:column;min-height:min(70vh,680px);max-height:min(90vh,880px)}.compose-panel--emoji{height:min(94vh,920px);max-height:min(94vh,920px);overflow:hidden}.compose-head-actions{display:flex;align-items:center;gap:4px}.compose-form{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.compose-form--emoji{overflow:hidden}.compose-scroll{flex:0 1 auto;min-height:0;overflow:auto;display:grid;gap:12px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.compose-form--emoji .compose-scroll{flex:0 0 auto;overflow:visible}.compose-emoji-slot{flex:1 1 auto;min-height:220px;display:flex;flex-direction:column;overflow:hidden}.compose-emoji-slot .emoji-pop{flex:1;margin-top:0;min-height:0;height:100%}.compose-preview{display:grid;gap:12px;overflow:auto;padding-bottom:8px}.compose-preview-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.compose-preview-actions .btn-primary{min-width:120px}.sheet-handle{display:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.sheet-head h2{margin:0;font-family:var(--display);font-size:1.2rem;letter-spacing:-.03em}.sheet-close{color:var(--ink-2)}.sheet-author{margin:8px 0 14px}.sheet-form{padding-bottom:8px}.sheet-submit{width:100%;height:46px;border-radius:14px}@keyframes sheetIn{0%{transform:translateY(12px) scale(.98);opacity:.55}to{transform:translateY(0) scale(1);opacity:1}}@keyframes sheetUp{0%{transform:translateY(12px) scale(.98);opacity:.55}to{transform:translateY(0) scale(1);opacity:1}}@media (min-width: 720px){.sheet-root{padding:24px}.sheet-panel{max-height:min(88vh,880px);padding:18px 24px 22px}.compose-panel{min-height:min(64vh,720px)}}@media (max-width: 720px){.forum-page.section{padding-top:0}.forum-toolbar{align-items:flex-start;flex-wrap:wrap}.forum-publish-btn{display:none}.forum-fab{display:inline-flex}.post-card{padding:14px;border-radius:16px}.post-title{font-size:1.02rem}.comment-compose{grid-template-columns:1fr}.comment-compose .btn{width:100%}.share-grid,.media-grid.three{grid-template-columns:repeat(3,1fr)}}.post-card-link{display:block;color:inherit}.post-card-link:hover .post-title{color:var(--blue)}.read-more{color:var(--blue);font-weight:650}.post-media-wrap{margin-top:12px}.post-title.detail{font-size:clamp(1.25rem,3.5vw,1.55rem);margin:10px 0 12px}.post-body.detail{color:var(--ink);font-size:1.02rem;line-height:1.65;margin-bottom:14px}.meta-btn.static{cursor:default}.meta-btn.static:hover{background:var(--hover)}.repost-origin{display:block;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--hover);border:1px solid var(--line);color:inherit}.repost-origin p{margin:6px 0 0;color:var(--ink-2);line-height:1.45;font-size:.92rem}.media-grid{display:grid;gap:6px;margin-top:10px}.media-grid.one{grid-template-columns:1fr;max-width:320px}.media-grid.two{grid-template-columns:repeat(2,1fr)}.media-grid.three{grid-template-columns:repeat(3,1fr)}.media-grid.feed-cover.one{max-width:none}.media-grid.feed-cover.one .media-cell{aspect-ratio:16 / 10;max-height:280px}.media-cell{position:relative;border:0;padding:0;border-radius:12px;overflow:hidden;aspect-ratio:1;background:var(--bg);cursor:pointer}.media-cell img{width:100%;height:100%;object-fit:cover}.media-more{position:absolute;inset:0;display:grid;place-items:center;background:#0000006b;color:#fff;font-weight:750;font-size:1.1rem}.lightbox{position:fixed;inset:0;z-index:90;background:#000000e0;display:grid;place-items:center;padding:48px 16px 72px}.lightbox img{max-width:min(100%,920px);max-height:min(78vh,820px);object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:14px;right:14px;border:0;background:#ffffff24;color:#fff;border-radius:999px;padding:8px 14px}.lightbox-nav{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;color:#fff}.lightbox-nav .btn-ghost{color:#fff;background:#ffffff1f}.image-picker{display:grid;gap:8px}.image-picker.is-file-drag{outline:2px dashed color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:4px;border-radius:14px;background:color-mix(in srgb,var(--blue) 6%,transparent)}.image-picker-row{display:flex;flex-wrap:wrap;gap:8px}.image-picker-thumb,.image-picker-add{width:80px;height:80px;border-radius:12px;position:relative;overflow:hidden}.image-picker-thumb.is-reorder{cursor:grab}.image-picker-thumb.is-reorder:active{cursor:grabbing}.image-picker-thumb img{width:100%;height:100%;object-fit:cover}.image-picker-x{position:absolute;top:2px;right:2px;width:22px;height:22px;border:0;border-radius:999px;background:#0000008c;color:#fff;font-size:14px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:2}.image-picker-order{position:absolute;left:0;right:0;bottom:0;display:flex;gap:2px;padding:2px;background:linear-gradient(transparent,#0000008c)}.image-picker-order button{flex:1;border:0;background:#ffffff38;color:#fff;font-size:.95rem;line-height:1.2;border-radius:6px;padding:2px 0;cursor:pointer}.image-picker-order button:disabled{opacity:.35;cursor:default}.image-picker-add{border:1.5px dashed color-mix(in srgb,var(--ink) 20%,transparent);background:var(--hover);color:var(--ink-2);font-size:1.5rem}.image-picker-add.is-drop-target{border-color:var(--blue);color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);font-size:.95rem;font-weight:700}.image-picker-done{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:14px 44px 14px 16px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--green) 40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--green) 16%,var(--surface)),color-mix(in srgb,var(--green) 8%,var(--surface)));box-sizing:border-box}.image-picker-done-check{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;flex-shrink:0;font-size:1.05rem;font-weight:800;color:#fff;background:var(--green)}.image-picker-done-text{display:grid;gap:2px;min-width:0}.image-picker-done-text strong{font-size:1rem;font-weight:800;color:color-mix(in srgb,var(--green) 55%,#0a5)}.image-picker-done-text span{font-size:.8rem;color:var(--ink-2)}.image-picker-done .image-picker-x{top:50%;right:10px;transform:translateY(-50%);width:26px;height:26px;font-size:15px}.image-picker-hint{margin:0;font-size:.78rem}.emoji-pop{margin-top:8px;border:1px solid var(--line);border-radius:16px;background:var(--bg);overflow:hidden;display:grid;grid-template-rows:auto minmax(180px,1fr);min-height:0}.emoji-pop--dock-side{height:100%;grid-template-rows:auto 1fr}.emoji-pop-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;border-bottom:1px solid var(--line);background:var(--surface);font-size:.88rem;flex:0 0 auto}.emoji-close{font-size:.82rem!important;padding:4px 8px!important}.emoji-main{display:grid;grid-template-columns:1fr 72px;min-height:0;height:100%;overflow:hidden}.emoji-body{overflow:auto;padding:8px 10px 12px;background:var(--bg);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;touch-action:pan-y}.emoji-empty{margin:28px 8px;text-align:center;font-size:.86rem}.emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.emoji-btn{border:0;background:transparent;font-size:1.4rem;padding:8px 2px;border-radius:10px;line-height:1;cursor:pointer}.emoji-btn:hover,.emoji-btn:active{background:var(--hover-strong)}.emoji-dock{display:flex;gap:2px;overflow-x:auto;padding:6px;border-top:1px solid var(--line);background:var(--bg);-webkit-overflow-scrolling:touch}.emoji-dock--vertical{flex-direction:column;overflow-x:hidden;overflow-y:auto;border-top:0;border-left:1px solid var(--line);padding:6px 4px;gap:4px;overscroll-behavior:contain;touch-action:pan-y}.emoji-dock-btn{flex:0 0 auto;display:grid;gap:2px;justify-items:center;border:0;background:transparent;border-radius:10px;padding:8px 4px;font-size:.62rem;color:var(--ink-2);cursor:pointer;min-width:0;width:100%}.emoji-dock-btn span{font-size:1.05rem;line-height:1}.emoji-dock-btn.on{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 4px #0000000f}.kg-sticker{display:inline-grid;place-items:center;vertical-align:-.35em;line-height:0;flex:0 0 auto}.kg-sticker svg{display:block;overflow:visible}.kg-sticker-inline{margin:0 1px}.kg-sticker--bounce{animation:kg-bounce 1.15s ease-in-out infinite}.kg-sticker--wiggle{animation:kg-wiggle .9s ease-in-out infinite}.kg-sticker--pulse{animation:kg-pulse 1.2s ease-in-out infinite}.kg-sticker--spin{animation:kg-spin 2.4s linear infinite}.kg-sticker--float{animation:kg-float 1.8s ease-in-out infinite}@keyframes kg-bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-3px) scale(1.04)}60%{transform:translateY(1px) scale(.98)}}@keyframes kg-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes kg-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes kg-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes kg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.kg-sticker--bounce,.kg-sticker--wiggle,.kg-sticker--pulse,.kg-sticker--spin,.kg-sticker--float{animation:none}}.compose-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.compose-tools-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.compose-count{margin:0;flex-shrink:0;white-space:nowrap}.compose-anon-chip{white-space:nowrap}.compose-anon-chip.on{background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink)}.share-sheet .share-preview{margin:0 0 14px;line-height:1.45}.share-primary{width:100%;margin:0 0 14px;height:48px;border:0;border-radius:14px;font:inherit;font-weight:750;font-size:.98rem;color:#fff;cursor:pointer;background:linear-gradient(135deg,#07c160,#12b7f5);box-shadow:0 8px 20px #12b7f540}.share-primary:disabled{opacity:.6;cursor:not-allowed}.share-link-box{margin:0 0 14px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid var(--line)}.share-link-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:.8rem;color:var(--ink-2);font-weight:650}.share-copy-inline{border:0;background:var(--accent-soft);color:var(--blue);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700;cursor:pointer}.share-copy-inline:disabled{opacity:.55;cursor:not-allowed}.share-link-text{width:100%;resize:none;border:0;background:transparent;font:inherit;font-size:.86rem;line-height:1.45;color:var(--ink);outline:none}.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.share-tile{display:grid;gap:8px;justify-items:center;border:0;background:var(--hover);border-radius:16px;padding:14px 8px;font-size:.82rem;font-weight:650;color:var(--ink);cursor:pointer}.share-tile:disabled{opacity:.55}.share-ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800}.share-ico.wechat{background:#07c160}.share-ico.qq{background:#12b7f5}.share-ico.link{background:#5e5ce6}.share-ico.native{background:var(--blue)}.share-ico.repost{background:#ff9f0a}.share-hint{margin:12px 0 0;color:var(--blue);font-weight:650;font-size:.9rem}.share-tip{margin:12px 0 0;font-size:.8rem;line-height:1.45}.repost-sheet .repost-form{display:grid;gap:14px}.repost-composer textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;resize:vertical;min-height:96px;color:var(--ink);background:var(--bg)}.repost-origin-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--line)}.repost-origin-avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(145deg,#8e8e93,#aeaeb2)}.repost-origin-meta{margin:0 0 4px;font-size:.8rem;color:var(--ink-3)}.repost-origin-title{margin:0 0 4px;font-size:.95rem;font-weight:700;line-height:1.35}.repost-origin-body{margin:0;font-size:.86rem;color:var(--ink-2);line-height:1.45}.repost-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.repost-actions{display:flex;justify-content:flex-end;margin-top:4px}.repost-submit{width:100%;min-width:120px;border-radius:14px!important;height:46px}@media (max-width: 520px){.share-grid{grid-template-columns:repeat(3,1fr)}.emoji-grid{grid-template-columns:repeat(6,1fr)}.emoji-main{grid-template-columns:1fr 64px}}.forum-detail-nav{margin-bottom:12px}.comment-section{margin-top:18px}.comment-section-title{margin:0 0 12px;font-size:1.05rem;letter-spacing:-.02em}.comment-tree{display:grid;gap:12px;margin-bottom:16px}.comment-block{padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}.comment-row.reply{margin:10px 0 0 14px;padding:10px 12px;border-radius:12px;background:var(--hover)}.comment-composer.cardish{display:grid;gap:10px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.comment-composer textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;resize:vertical;min-height:72px}.reply-chip{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:10px;background:var(--accent-soft);color:var(--blue);font-size:.88rem}.reply-chip button{border:0;background:transparent;color:var(--ink-2)}.user-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.user-card-head.compact{margin-bottom:8px}.user-card-head>div:nth-child(2){flex:1;min-width:0}.user-card-head strong{display:block;letter-spacing:-.02em}.user-card-head .muted{margin:2px 0 0;font-size:.82rem}.user-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(145deg,var(--blue),var(--brand-mark-from));flex-shrink:0}.user-avatar.sm{width:34px;height:34px;border-radius:11px;font-size:.9rem}.forum-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.forum-search{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:8px 10px 8px 14px;border-radius:999px;background:#ffffffdb;border:1px solid var(--line);box-shadow:0 8px 24px #0f172a0a}.forum-search-ico{color:var(--ink-3);font-size:1.05rem;line-height:1;flex-shrink:0}.forum-search input{flex:1;border:0;outline:none;background:transparent;font:inherit;font-size:.95rem;min-width:0;color:var(--ink)}.forum-search-clear{border:0;background:var(--hover-strong);width:26px;height:26px;border-radius:999px;cursor:pointer;color:var(--ink-2);flex-shrink:0}.forum-search-go{height:36px;border-radius:999px;padding:0 16px;flex-shrink:0}.forum-mode-tabs{display:flex;gap:4px;margin:0 0 12px;padding:4px;width:fit-content;max-width:100%;border-radius:14px;background:var(--hover)}.forum-mode-tab{border:0;background:transparent;color:var(--ink-2);font:inherit;font-weight:600;font-size:.92rem;padding:8px 16px;border-radius:11px;cursor:pointer}.forum-mode-tab.on{background:var(--surface);color:var(--ink);box-shadow:0 2px 10px #0f172a14}.hot-window-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.forum-main-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.forum-main-head h2{margin:0;font-size:1.05rem;font-weight:700}.hot-board{position:sticky;top:76px;padding:16px 14px 12px;border-radius:18px;background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%);border:1px solid var(--line);box-shadow:0 12px 28px #0f172a0d}.hot-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.hot-board-head h2{margin:0;font-size:1rem;font-weight:800;letter-spacing:.02em}.hot-board-empty{margin:8px 0 12px;font-size:.86rem}.hot-board-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.hot-board-row{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;border:0;background:transparent;text-align:left;padding:8px 6px;border-radius:10px;cursor:pointer;font:inherit;color:inherit}.hot-board-row:hover{background:var(--accent-soft)}.hot-board-rank{font-weight:800;font-size:.92rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.hot-board-rank.r1{color:#ff2d55}.hot-board-rank.r2{color:#ff6b2d}.hot-board-rank.r3{color:#ff9f0a}.hot-board-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600}.hot-board-heat{font-size:.75rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.hot-board-more{margin-top:8px;width:100%;border:0;background:transparent;color:var(--blue);font:inherit;font-size:.86rem;font-weight:600;padding:8px 4px;cursor:pointer;text-align:left}.post-card.hot-ranked{position:relative;padding-left:44px}.hot-rank-badge{position:absolute;left:12px;top:16px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:.82rem;font-weight:800;color:#fff;background:#8e8e93}.hot-rank-badge.r1{background:linear-gradient(145deg,#ff2d55,#ff6482)}.hot-rank-badge.r2{background:linear-gradient(145deg,#ff6b2d,#ff9f0a)}.hot-rank-badge.r3{background:linear-gradient(145deg,#ff9f0a,#ffd60a);color:#3a2a00}@media (max-width: 960px){.forum-layout{grid-template-columns:1fr}.forum-side{order:-1}.hot-board{position:static;margin-bottom:4px}.hot-board-list{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}}@media (max-width: 640px){.forum-search{border-radius:14px;padding:8px;flex-wrap:nowrap;gap:8px}.forum-search input{width:auto;flex:1 1 auto;min-width:0}.forum-search-go{margin-left:0;flex-shrink:0;min-width:68px}.forum-side{order:2}.forum-main{order:1}.hot-board{margin-top:12px;margin-bottom:0}.hot-board-list{grid-template-columns:1fr}.post-card.hot-ranked{padding-left:40px}.forum-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.forum-tabs::-webkit-scrollbar{display:none}.forum-safety{font-size:.82rem;line-height:1.45}}.field-hint{display:block;margin-top:4px;font-size:.78rem;color:var(--ink-3);text-align:right}.meta-btn{border:0;background:var(--hover);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:.82rem;cursor:pointer}.meta-btn.on{background:var(--accent-soft);color:var(--blue)}.comment-panel{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:10px}.comment-row p{margin:4px 0 0;line-height:1.45;color:var(--ink-2)}.comment-compose{display:grid;grid-template-columns:1fr auto;gap:8px}.match-detail-frame{padding:12px 14px;border-radius:14px;background:var(--hover);margin:4px 0 8px}.match-detail-frame .frame-kicker{margin:0 0 8px;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.match-detail-frame .frame-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.match-detail-frame .frame-list li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.88rem}.match-detail-frame .frame-list span{color:var(--ink-3);flex-shrink:0}.match-detail-frame .frame-list strong{font-weight:600;text-align:right;color:var(--ink)}.settings-page{max-width:1080px;margin:0 auto;padding:0 20px 40px}.settings-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.settings-shell-solo{grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto}.settings-nav{position:sticky;top:var(--topnav-offset);display:grid;gap:4px;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--line)}.settings-nav-title{margin:4px 10px 10px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.settings-nav-item{display:grid;gap:2px;text-align:left;border:0;background:transparent;border-radius:12px;padding:12px;color:var(--ink)}.settings-nav-item small{color:var(--ink-3);font-size:.78rem}.settings-nav-item:hover{background:var(--hover)}.settings-nav-item.active{background:var(--accent-soft);color:var(--blue)}.settings-nav-item.active small{color:color-mix(in srgb,var(--blue) 75%,transparent)}.settings-main{min-width:0}.settings-header h1{margin:0 0 8px;font-family:var(--display);font-size:1.75rem;font-weight:700;letter-spacing:-.04em;line-height:1.2;color:var(--ink)}.settings-header p{margin:0 0 20px;color:var(--ink-2);max-width:40rem;font-size:.9375rem;font-weight:450;line-height:1.55}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 16px;margin-bottom:14px;box-shadow:var(--shadow)}.account-identity-card{gap:12px;margin-bottom:14px;padding:18px 20px}.account-identity-card .user-card-head{margin-bottom:0}.account-identity-card strong{display:block;font-size:1.12rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.account-identity-card .muted{font-size:.82rem;line-height:1.45}.account-identity-card .match-tags{margin-top:0;--match-tag-fs: 12px;--match-tag-fw: 600}.account-identity-card .match-tag,.account-identity-card button.match-tag{font-size:var(--match-tag-fs)!important;font-weight:var(--match-tag-fw)!important;flex-shrink:0}.account-identity-card .match-tag.is-mbti{font-size:11.5px!important}.match-tag.is-identity,.identity-badge-row .match-tag{cursor:default;pointer-events:none;user-select:none}.account-identity-tags{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.account-identity-tags::-webkit-scrollbar{display:none}.account-identity-tags .identity-badge-row,.account-identity-tags .match-tags{display:contents}.identity-badge-row+.match-tags{margin-top:0}.settings-card.form-grid{padding:20px;gap:16px}.settings-main .form-grid{gap:16px}.college-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.college-select-trigger.open{border-color:color-mix(in srgb,var(--blue) 55%,transparent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}.college-select-option{font-size:.9375rem;font-weight:500}.pool-toggle{outline:none}.pool-toggle:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.settings-row,.settings-link-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 4px;border:0;background:transparent;text-align:left;border-bottom:1px solid var(--line)}.settings-card>.settings-link-row:last-child,.settings-card>.settings-row:last-child{border-bottom:0}.settings-link-row:hover{color:var(--blue)}.settings-link-row.danger{color:var(--danger, #c42b1c)}.appearance-block{display:grid;gap:12px}.appearance-block-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em}.appearance-block-desc{margin:-4px 0 0;font-size:.88rem}.appearance-scheme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.appearance-scheme-card{display:grid;gap:4px;text-align:left;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.appearance-scheme-card strong{font-size:.95rem}.appearance-scheme-card span{font-size:.78rem;color:var(--ink-2);line-height:1.35}.appearance-scheme-card.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.appearance-theme-grid{display:grid;gap:10px}.appearance-theme-card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.appearance-theme-card.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.appearance-swatch{width:40px;height:40px;border-radius:12px;box-shadow:inset 0 0 0 .5px #ffffff4d}.appearance-theme-meta{display:grid;gap:2px;min-width:0}.appearance-theme-meta strong{font-size:.95rem}.appearance-theme-meta span{font-size:.78rem;color:var(--ink-2);line-height:1.35}.appearance-dots{display:flex;gap:5px;align-items:center}.appearance-dots:before,.appearance-dots:after{content:"";width:12px;height:12px;border-radius:50%;border:1px solid var(--line)}.appearance-dots:before{background:var(--sw-bg)}.appearance-dots:after{background:var(--sw-accent);box-shadow:0 0 0 3px var(--sw-surface)}@media (max-width: 640px){.appearance-scheme-grid{grid-template-columns:1fr}}.account-chip{font-weight:650!important;max-width:min(160px,42vw);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;height:36px;padding:0 12px}.college-select{position:relative}.college-caret{color:var(--ink-3);font-size:.75rem}.college-hidden{position:absolute;opacity:0;pointer-events:none;height:0;width:0}.college-select-panel{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.college-select-search{width:100%;height:44px;border:0;border-bottom:1px solid var(--line);padding:0 14px;outline:none;background:var(--bg);color:var(--ink);font-size:.9375rem}.college-select-list{max-height:min(260px,40vh);overflow:auto;overscroll-behavior:contain}.college-select-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:12px 14px;outline:none}.college-select-option:hover,.college-select-option.active{background:var(--accent-soft);color:var(--blue)}.pool-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid color-mix(in srgb,var(--blue) 22%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 10%,var(--surface)) 0%,var(--surface) 100%);border-radius:14px;padding:18px;margin-bottom:4px;outline:none;box-shadow:none}.pool-toggle:focus,.pool-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.pool-toggle.on{border-color:var(--focus-border);background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 16%,var(--surface)),color-mix(in srgb,var(--blue) 6%,var(--surface)))}.pool-toggle strong{display:block;font-size:1rem;font-weight:700;margin-bottom:4px;color:var(--ink)}.pool-toggle p{margin:0;color:var(--ink-2);font-size:.875rem;font-weight:450;line-height:1.45}.pool-switch{flex:0 0 auto;width:52px;height:30px;border-radius:999px;background:#c7c7cc;position:relative;transition:background .2s ease}.pool-toggle.on .pool-switch{background:var(--blue)}.pool-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0003;transition:transform .2s ease}.pool-toggle.on .pool-knob{transform:translate(22px)}@media (max-width: 860px){.settings-shell{grid-template-columns:1fr}.settings-nav{position:static;grid-template-columns:1fr}}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.match-history{display:grid;gap:28px}.match-run{animation:rise .45s ease both}.match-run-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.match-run-kicker{margin:0 0 2px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.match-run-head h2{margin:0;font-size:1.15rem;letter-spacing:-.02em}.match-run-count{padding:6px 10px;border-radius:999px;background:var(--bg);font-size:.82rem;font-weight:650;color:var(--ink-2)}.match-card{padding:20px;border-radius:22px;background:var(--surface);border:1px solid var(--line);animation:rise .55s ease both;display:grid;gap:12px}.match-card.is-unlocked,.match-card.user-card.is-unlocked,.match-card.user-card.is-expanded,.match-card.user-card.is-hero{border-color:color-mix(in srgb,var(--match-heat, #c45b6a) 28%,var(--line));background:radial-gradient(120% 70% at 88% -8%,var(--match-soft, rgba(196, 91, 106, .16)),transparent 58%),linear-gradient(180deg,var(--match-top, rgba(196, 91, 106, .22)) 0%,var(--match-soft, rgba(196, 91, 106, .14)) 16%,var(--match-mid, rgba(196, 91, 106, .06)) 38%,var(--match-wash, rgba(196, 91, 106, .025)) 58%,#fff 76%,#fff 100%)!important;box-shadow:0 12px 28px var(--match-glow, rgba(196, 91, 106, .12))}.match-score-block{text-align:right;flex-shrink:0}.match-score{margin:0;font-family:var(--display);font-size:1.85rem;letter-spacing:-.05em;color:var(--blue);line-height:1}.match-source{display:inline-block;margin-top:4px;font-size:.72rem;font-weight:650;color:var(--match-heat, var(--accent));letter-spacing:.02em}.match-mode-chip{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.01em;border:1px solid transparent}.match-mode-chip.is-ai{color:#9f3d4f;background:#c45b6a1f;border-color:#c45b6a38}.match-mode-chip.is-rule{color:#3d6ea8;background:color-mix(in srgb,var(--blue) 10%,transparent);border-color:color-mix(in srgb,var(--blue) 20%,transparent)}.match-explain-chip{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid transparent}.match-explain-chip.is-ai{color:#9f3d4f;background:#c45b6a1a;border-color:#c45b6a33}.match-explain-chip.is-rule{color:#6b7280;background:#6b728014;border-color:#6b728029}.match-board-hint{margin:-4px 0 10px;font-size:.8rem;line-height:1.45}.match-history-top{display:block;font-size:.84rem;font-weight:650;color:var(--ink)}.match-history-item small{display:block;margin-top:2px;line-height:1.4}.match-history-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.match-qver-chip{display:block;margin-top:4px;font-size:.7rem;font-weight:700;color:var(--blue)}.match-run-qver{margin:4px 0 0;font-size:.82rem;font-weight:650;color:var(--blue)}.match-tags{--match-tag-fs: 12px;--match-tag-fw: 600;--match-tag-lh: 1.2;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.match-tag,button.match-tag{display:inline-flex;align-items:center;box-sizing:border-box;margin:0;padding:5px 10px;border-radius:999px;border:1px solid transparent;background:transparent;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,Segoe UI,sans-serif!important;font-size:var(--match-tag-fs)!important;font-weight:var(--match-tag-fw)!important;line-height:var(--match-tag-lh)!important;letter-spacing:0!important;color:inherit;-webkit-text-size-adjust:100%;text-size-adjust:100%}.match-tag>.match-tag-label,.match-tag>.match-tag-path-text{font:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}.match-tag.is-mbti{font-size:11.5px!important;letter-spacing:.02em!important;font-weight:600!important;font-synthesis:none}.match-tag.tone-blue{background:var(--accent-soft);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 20%,transparent)}.match-tag.tone-teal{background:#00a6991f;color:#00857a;border-color:#00a69938}.match-tag.tone-green{background:#30d15824;color:#1a7f37;border-color:#30d15840}.match-tag.tone-purple{background:#5e5ce61f;color:#5e5ce6;border-color:#5e5ce638}.match-tag.tone-amber{background:#ff9f0a24;color:#b86e00;border-color:#ff9f0a40}.match-tag.tone-orange{background:#ff782829;color:#c45a00;border-color:#ff782847}.match-tag.tone-gray,.match-tag.tone-neutral{background:var(--fill-elevated);color:var(--ink-2)}.match-headline{margin:0;font-size:.98rem;font-weight:650;line-height:1.4;letter-spacing:-.01em;color:color-mix(in srgb,var(--match-heat, #c45b6a) 72%,var(--ink))}.match-tag-path{cursor:pointer;gap:4px;max-width:100%;text-align:left;appearance:none;-webkit-appearance:none}.match-tag-path-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-tag-path.is-open .match-tag-path-text{white-space:normal;overflow:visible;text-overflow:unset}.match-tag-path-caret{flex:0 0 auto;opacity:.65;font-size:10px!important;font-weight:600!important;line-height:1!important}.match-reason-chips{display:flex;flex-wrap:wrap;gap:6px}.match-reason-chips span{padding:4px 8px;border-radius:8px;background:var(--bg);font-size:.78rem;color:var(--ink-2)}.sim-panel{padding:16px;border-radius:18px;background:linear-gradient(165deg,#ffecf0f2,#fff8fafa 55%,#fff);border:1px solid rgba(196,91,106,.18);box-shadow:0 8px 20px #c45b6a12;display:grid;gap:12px}.sim-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:0}.sim-panel-head h4{margin:0;font-size:1rem;color:#9f3d4f;font-weight:750}.sim-panel-head .muted{margin:3px 0 0;font-size:.76rem}.sim-panel-badge{flex-shrink:0;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;color:#b5475a;background:#c45b6a1a;border:1px solid rgba(196,91,106,.16)}.sim-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(180px,.72fr);gap:12px;align-items:stretch}.sim-bars{display:grid;gap:0;align-content:stretch;padding:2px 0;border-radius:14px;background:#ffffffb8;border:1px solid rgba(196,91,106,.12);overflow:hidden;min-height:100%}.sim-side{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:100%}.sim-row{padding:10px 12px;border-bottom:1px solid rgba(196,91,106,.1)}.sim-row:last-child{border-bottom:0}.sim-row-meta{display:flex;justify-content:space-between;gap:8px;font-size:.84rem;font-weight:700;margin-bottom:6px}.sim-level{font-style:normal;color:var(--ink-2);font-weight:650}.sim-level.lv-高{color:#16a34a}.sim-level.lv-中{color:#c45b6a}.sim-level.lv-低{color:#a88990}.sim-bar{height:9px;border-radius:999px;background:#c45b6a1a;overflow:hidden}.sim-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0a0ad,var(--match-heat, #c45b6a))}.sim-comment{margin:5px 0 0;font-size:.74rem;color:var(--ink-2);line-height:1.4}.sim-radar-wrap{flex:0 0 auto;display:grid;place-items:center;padding:6px 6px 2px;border-radius:14px;background:#ffffffc7;border:1px solid rgba(196,91,106,.12);overflow:visible;min-height:0}.sim-radar-box{width:100%;display:grid;gap:4px;justify-items:center;overflow:visible}.sim-radar{width:min(100%,220px);height:auto;max-height:196px;aspect-ratio:1;margin:0 auto;display:block;overflow:visible}.sim-radar-grid{fill:none;stroke:#c45b6a29;stroke-width:1}.sim-radar-axis{stroke:#c45b6a24;stroke-width:1}.sim-radar-area{fill:color-mix(in srgb,var(--match-heat, #c45b6a) 20%,transparent);stroke:var(--match-heat, #c45b6a);stroke-width:1.6}.sim-radar-dot{fill:var(--match-heat, #c45b6a)}.sim-radar-label{fill:#8a5a64;font-size:22px;font-weight:750}.sim-radar-label.is-on{fill:#9f3d4f;font-weight:850}.sim-radar-hit{cursor:pointer;outline:none}.sim-radar-hit.is-on .sim-radar-dot{filter:drop-shadow(0 0 6px rgba(196,91,106,.45))}.sim-radar-tip{width:100%;min-height:0;padding:6px 8px;border-radius:10px;background:#fff;border:1px solid rgba(196,91,106,.14);font-size:.72rem;line-height:1.35;color:var(--ink-2)}.sim-radar-tip.is-on{border-color:#c45b6a47;color:var(--ink)}.sim-radar-tip strong{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.78rem;color:#9f3d4f}.sim-radar-tip em{font-style:normal;font-weight:800;color:var(--match-pct, #c45b6a)}.sim-radar-tip em.sim-level.lv-高{color:#16a34a!important}.sim-radar-tip em.sim-level.lv-中{color:#c45b6a!important}.sim-radar-tip em.sim-level.lv-低{color:#a88990!important}.sim-radar-tip p{margin:3px 0 0}.sim-radar-fallback{margin:0;padding:14px 10px;text-align:center;font-size:.78rem}.sim-peer-values{flex:1 1 auto;padding:10px 12px;border-radius:14px;background:#ffffffd1;border:1px solid rgba(196,91,106,.12);display:grid;gap:8px;align-content:start}.sim-peer-values h5{margin:0;font-size:.82rem;color:#9f3d4f}.sim-peer-values-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.sim-peer-values-grid li{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:650;color:var(--ink);min-width:0}.sim-peer-values-grid li>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-peer-rank{flex-shrink:0;width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-size:.66rem;font-weight:800;color:#b5475a;background:#c45b6a1f}.sim-panel-empty{margin:0;padding:12px 4px;font-size:.86rem}.match-detail-status{margin:0 0 8px;padding:8px 10px;border-radius:12px;font-size:.78rem;line-height:1.45;font-weight:650;border:1px solid var(--line);background:var(--bg);color:var(--ink-2)}.match-detail-status.is-on{border-color:color-mix(in srgb,#22c55e 35%,var(--line));background:#30d1581a;color:#15803d}.match-detail-status.is-off{border-color:color-mix(in srgb,#c45b6a 25%,var(--line));background:#c45b6a0f;color:#9f3d4f}.match-detail-gate{margin:8px 0 0;font-size:.8rem}.match-peer-detail{margin-top:12px;padding:14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--blue) 4%,#fff));display:grid;gap:12px}.match-peer-detail-head h4{margin:0 0 4px;font-size:.92rem}.match-peer-detail-head .muted{margin:0;font-size:.76rem}.match-peer-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.match-peer-detail-grid>div{padding:10px;border-radius:12px;background:var(--bg);display:grid;gap:4px}.match-peer-detail-grid em{font-style:normal;font-size:.72rem;color:var(--ink-2);font-weight:650}.match-peer-detail-grid strong{font-size:.86rem;color:var(--ink)}.match-peer-apps{display:flex;flex-wrap:wrap;gap:6px}.match-peer-apps span{padding:4px 9px;border-radius:999px;font-size:.74rem;font-weight:700;color:var(--blue);background:var(--accent-soft);border:1px solid var(--accent-soft-border)}.match-explain{display:grid;gap:10px;padding:14px 14px 12px;border-radius:16px;background:linear-gradient(145deg,#fff0f4f2,#fffafbfa);border:1px solid rgba(196,91,106,.16);box-shadow:inset 0 1px #ffffffb3}.match-explain-head{display:flex;align-items:center;gap:10px}.match-explain-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:#e11d48;background:linear-gradient(145deg,#fff,#ffe8ee);border:1px solid rgba(225,29,72,.18);box-shadow:0 4px 12px #e11d481f}.match-explain-mark svg{width:16px;height:16px}.match-explain-titles{min-width:0;display:grid;gap:2px}.match-explain-titles strong{font-size:.9rem;color:#9f3d4f;letter-spacing:-.01em}.match-explain-titles .muted{font-size:.74rem}.match-explain-body{margin:0;font-size:.9rem;line-height:1.6;color:var(--ink)}.match-explain-whypick{margin:0 0 8px;font-size:.82rem;line-height:1.4}.match-verdict-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.match-verdict-col{border-radius:14px;padding:10px 12px;display:grid;gap:6px}.match-verdict-col h5{margin:0;font-size:.78rem;letter-spacing:.02em}.match-verdict-col ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.match-verdict-col li{font-size:.8rem;line-height:1.4;font-weight:600}.match-verdict-col.is-fit{background:linear-gradient(160deg,#30d15838,#dcfce7f2);border:1.5px solid rgba(34,197,94,.45)}.match-verdict-col.is-fit h5,.match-verdict-col.is-fit li{color:#15803d;font-weight:800}.match-verdict-col.is-gap{background:linear-gradient(160deg,#c45b6a1a,#ffffffb3);border:1px solid rgba(196,91,106,.2)}.match-verdict-col.is-gap h5,.match-verdict-col.is-gap li{color:#9f3d4f}.match-insight-cards{display:grid;gap:8px}.match-insight-card{border-radius:14px;padding:11px 12px;display:grid;gap:4px;border:1px solid rgba(196,91,106,.12);background:#ffffffb8}.match-insight-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.match-insight-label{font-size:.72rem;font-weight:700;color:#8a5a64}.match-insight-card header em{font-style:normal;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px}.match-insight-card strong{font-size:.86rem;color:#4a2f36;line-height:1.35}.match-insight-card p{margin:0;font-size:.78rem;color:#7a5560;line-height:1.45}.match-insight-pair{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.74rem;color:#6b4650}.match-insight-apps{display:flex;flex-wrap:wrap;gap:6px}.match-insight-apps span{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#ea580c1a;color:#c2410c;border:1px solid rgba(234,88,12,.18)}.match-insight-card.verdict-fit{border-color:#22c55e66;background:linear-gradient(145deg,#30d15829,#ffffffe6);box-shadow:0 6px 16px #22c55e1f}.match-insight-card.verdict-fit header em{color:#15803d;background:#30d15833}.match-insight-card.verdict-gap{border-color:#c45b6a47;background:linear-gradient(145deg,#c45b6a14,#ffffffd9);box-shadow:0 6px 16px #c45b6a14}.match-insight-card.verdict-gap header em{color:#9f3d4f;background:#c45b6a1f}.match-insight-card.verdict-partial header em{color:#9a6b12;background:#eab30824}.sim-verdict-strip{display:grid;gap:8px;margin-bottom:0}.sim-verdict-strip.is-split{grid-template-columns:1fr 1fr}.sim-verdict{display:grid;gap:2px;padding:8px 10px;border-radius:12px;font-size:.78rem}.sim-verdict strong{font-size:.74rem}.sim-verdict.is-fit{background:#30d15829;border:1.5px solid rgba(34,197,94,.42);color:#15803d}.sim-verdict.is-fit strong,.sim-verdict.is-fit span{color:#15803d;font-weight:800}.sim-verdict.is-gap{background:#c45b6a14;border:1px solid rgba(196,91,106,.18);color:#9f3d4f}.sim-row.is-fit .sim-level{color:#16a34a;font-weight:750}.sim-row.is-fit .sim-bar i{background:linear-gradient(90deg,#4ade80,#22c55e 45%,#16a34a);box-shadow:0 0 10px #4ade8073}.sim-row.is-gap .sim-bar i{background:linear-gradient(90deg,#e8a0ab,#c45b6a)}.q-interest-apps{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);background:transparent;display:grid;gap:10px}.q-interest-apps-head h3{margin:0 0 6px;font-size:.95rem;font-weight:650;color:var(--ink)}.q-interest-apps-head .muted{margin:0;font-size:.82rem;line-height:1.5;color:var(--ink-2)}.q-interest-app-slots{display:grid;gap:10px}.q-interest-app-field input{width:100%}.q-interest-app-preview{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.q-interest-app-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--blue);background:var(--accent-soft);border:1px solid var(--accent-soft-border)}.match-insight-apps.is-func span{background:#3b82f61a;color:#1d4ed8;border-color:#3b82f633}.match-app-hints{display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#ea580c14;border:1px solid rgba(234,88,12,.18)}.match-app-hints p{margin:0;font-size:.78rem;line-height:1.45;color:#c2410c;font-weight:650}.match-explain-points{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.match-explain-points li{padding:5px 10px;border-radius:999px;font-size:.76rem;font-weight:650;color:#b5475a;background:#c45b6a1a;border:1px solid rgba(196,91,106,.14)}.match-explain-note{margin:0;font-size:.72rem;color:#a88990;line-height:1.4}.match-ai-block{padding:12px 14px;border-radius:14px;background:#c45b6a0f;border:1px solid rgba(196,91,106,.12)}.match-ai-block h4{margin:0 0 6px;font-size:.88rem;color:#b5475a}.match-ai-block p{margin:0;font-size:.9rem;line-height:1.55;color:var(--ink)}.match-expand{border:0;background:transparent;color:#b5475a;font-weight:650;font-size:.88rem;padding:0;text-align:left;cursor:pointer}.match-more{display:grid;gap:10px;margin-top:4px;padding:12px;border-radius:16px;border:1px solid rgba(196,91,106,.16);background:linear-gradient(180deg,#c45b6a14,#fff8faf5 42%,#fff)}.match-more-empty{margin:0;padding:4px 2px;font-size:.86rem}.match-more-card{padding:12px 14px;border-radius:14px;background:linear-gradient(165deg,#fff5f7f2,#fff 70%);border:1px solid rgba(196,91,106,.14)}.match-more-card.is-watch{background:linear-gradient(165deg,#c45b6a1a,#fffafbfa 65%,#fff);border-color:#c45b6a38}.match-more-card h5,.match-more h5{margin:0 0 8px;font-size:.82rem;color:#9f3d4f;letter-spacing:.01em}.match-more ul{margin:0;padding-left:18px;color:var(--ink);font-size:.88rem;line-height:1.5}.match-more ul.watch{color:#9f3d4f}.match-more-chips{list-style:none;margin:0;padding:0!important;display:flex;flex-wrap:wrap;gap:6px}.match-more-chips li{padding:5px 10px;border-radius:999px;font-size:.76rem;font-weight:650;color:#b5475a;background:#c45b6a14;border:1px solid rgba(196,91,106,.14)}.match-ice{list-style:none;padding:0;margin:0;display:grid;gap:8px}.match-ice li{padding:10px 12px;border-radius:12px;background:linear-gradient(160deg,#fff8fafa,#fff);border:1px solid rgba(196,91,106,.12);display:grid;gap:2px}.match-ice strong{font-size:.88rem;color:#9f3d4f}.match-ice .muted{font-size:.78rem}.match-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--line)}.match-page{position:relative}.match-page:before{content:"";position:absolute;inset:-28px -16px auto;height:340px;background:radial-gradient(55% 70% at 10% 0%,rgba(0,113,227,.14),transparent 68%),radial-gradient(48% 60% at 92% 8%,rgba(0,113,227,.08),transparent 62%),linear-gradient(180deg,rgba(232,242,255,.78),transparent 78%);pointer-events:none;z-index:0}.match-shared-result .match-board-head{display:none}.match-shared-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.match-shared-head h1{margin:4px 0 0;font-family:var(--display);font-size:1.35rem;letter-spacing:-.02em}.match-expand{color:var(--blue)!important;border-color:color-mix(in srgb,var(--blue) 28%,var(--line))!important;background:color-mix(in srgb,var(--blue) 8%,transparent)!important}.match-status-panel{position:relative;overflow:hidden;margin-bottom:18px;padding:18px 18px 16px;border-radius:22px;border:1px solid color-mix(in srgb,var(--blue) 14%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--blue) 7%,var(--surface)),var(--surface) 55%);animation:rise .4s ease both}.match-status-panel.is-done{border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.match-status-glow{position:absolute;width:180px;height:180px;right:-40px;top:-60px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 18%,transparent),transparent 70%);pointer-events:none}.match-status-main{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.match-status-mark{width:42px;height:42px;border-radius:14px;background:radial-gradient(circle at 30% 30%,#64d2ff,var(--blue));box-shadow:0 8px 20px color-mix(in srgb,var(--blue) 25%,transparent)}.match-status-panel.is-running .match-status-mark{animation:matchPulse 1.1s ease-in-out infinite}.match-status-mark.ok{background:radial-gradient(circle at 30% 30%,var(--brand-mark-from),var(--accent));box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 28%,transparent)}.match-status-kicker{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:700}.match-status-copy strong{display:block;margin-top:2px;font-family:var(--display);font-size:1.18rem;letter-spacing:-.02em}.match-status-copy .muted{margin:4px 0 0;font-size:.86rem;line-height:1.45}.match-status-history{white-space:nowrap}.match-outcome{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:22px;align-items:center;margin-bottom:20px;padding:28px 26px;border-radius:28px;border:1px solid color-mix(in srgb,#0e74b8 12%,transparent);background:linear-gradient(145deg,#ffffffe0,#ffffff8c),linear-gradient(125deg,#dceef8,#e8f4ef 42%,#f2f6fa);box-shadow:0 18px 40px #0e3c5a0f;animation:matchReveal .5s ease both;overflow:hidden}.match-outcome--empty{background:linear-gradient(150deg,#ffffffeb,#fff9),linear-gradient(130deg,#e4eef6,#edf2f5,#e7f3ee)}.match-outcome-visual{position:relative;min-height:140px;border-radius:22px;background:radial-gradient(circle at 35% 30%,rgba(14,116,184,.22),transparent 55%),radial-gradient(circle at 70% 75%,rgba(15,118,110,.16),transparent 50%),linear-gradient(160deg,#cfe4f4,#e6eef4)}.match-outcome-visual--soft{background:radial-gradient(circle at 40% 35%,rgba(14,116,184,.28),transparent 58%),linear-gradient(160deg,#bddcf2,#e8f1f7)}.match-outcome-orbit{position:absolute;inset:18% 16%;border-radius:50%;border:1.5px dashed color-mix(in srgb,#0e74b8 40%,transparent);animation:matchOrbit 12s linear infinite}.match-outcome-orbit--delay{inset:28% 26%;animation-duration:18s;animation-direction:reverse;opacity:.55}.match-outcome-core{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--brand-mark-from),var(--accent));box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 14%,transparent)}.match-outcome-core--blue{background:radial-gradient(circle at 30% 30%,#7ec8f5,#0e74b8);box-shadow:0 0 0 10px #0e74b824}.match-outcome-kicker{margin:0 0 6px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent)}.match-outcome--lobby .match-outcome-kicker{color:#0e74b8}.match-outcome-copy h2{margin:0 0 10px;font-family:var(--display);font-size:clamp(1.25rem,2.4vw,1.55rem);letter-spacing:-.03em;line-height:1.25}.match-outcome-copy>p{margin:0;max-width:42rem;color:var(--ink-2);line-height:1.6;font-size:.95rem}.match-outcome-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}@keyframes matchOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 720px){.match-status-main{grid-template-columns:auto 1fr}.match-status-history{grid-column:1 / -1}.match-outcome{grid-template-columns:1fr;padding:22px 18px}.match-outcome-visual{min-height:96px}}.match-running{display:grid;gap:12px;margin-bottom:18px;padding:18px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,transparent),#64d2ff1f);border:1px solid color-mix(in srgb,var(--blue) 15%,transparent);animation:rise .4s ease both}.match-running strong{display:block;font-size:1.05rem}.match-running .muted{margin:4px 0 0}.match-running-orb{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--brand-mark-from),var(--blue));animation:matchPulse 1.1s ease-in-out infinite}.match-skel-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.match-skel{height:72px;border-radius:14px;background:linear-gradient(90deg,#ffffff59,#ffffffbf,#ffffff59);background-size:200% 100%;animation:matchShimmer 1.2s linear infinite}@keyframes matchPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.82}}@keyframes matchShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.match-page{gap:0}.match-hero{margin-bottom:14px}.match-run-cta{min-width:168px;min-height:46px;font-weight:700}.match-toolbar{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;margin-bottom:16px;align-items:stretch}.match-quota-card{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,var(--surface),var(--bg));border:1px solid var(--line)}.match-quota-card.is-empty{border-color:#c42b1c38;background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 8%,var(--surface)),var(--surface))}.match-quota-main{display:grid;gap:2px}.match-quota-label{font-size:.75rem;color:var(--ink-2);font-weight:600}.match-quota-main strong{font-family:var(--display);font-size:1.45rem;letter-spacing:-.03em}.match-quota-divider{width:1px;align-self:stretch;background:var(--line)}.match-quota-side{display:grid;gap:2px;font-size:.78rem;color:var(--ink-2)}.match-quota-side em{font-style:normal;font-size:1.15rem;font-weight:700;color:var(--ink)}.match-quota-warn{flex:1 1 100%;margin:0;font-size:.8rem;color:#c42b1c;font-weight:600}.match-quota-note{flex:1 1 100%;margin:0;font-size:.78rem;line-height:1.45}.match-toolbar-links{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;justify-content:flex-end}.match-nav-link{appearance:none;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:.86rem;font-weight:650;padding:8px 10px;border-radius:10px;cursor:pointer}.match-nav-link:hover{color:var(--ink);background:color-mix(in srgb,var(--blue) 6%,transparent)}.match-nav-link.on{color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent)}.match-nav-link:disabled{opacity:.45;cursor:not-allowed}.match-err{margin:0 0 12px}.match-err-banner{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,#c45c26 12%,transparent);border:1px solid color-mix(in srgb,#c45c26 28%,transparent)}.match-err-banner .match-err{margin:0}.match-err-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.match-running{gap:14px;border-radius:22px}.match-running.is-done{background:linear-gradient(145deg,#30d1581a,color-mix(in srgb,var(--blue) 8%,transparent));border-color:#30d15847}.match-running-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.match-running-copy strong{display:block;font-size:1.05rem}.match-running-copy .muted{margin:4px 0 0;font-size:.86rem}.match-running-pct{font-family:var(--display);font-size:1.2rem;font-weight:700;color:var(--blue)}.match-running.is-done .match-running-pct{color:var(--accent)}.match-running-orb{width:34px;height:34px;box-shadow:0 0 0 6px color-mix(in srgb,var(--blue) 12%,transparent)}.match-running-orb.done{animation:none;background:radial-gradient(circle at 30% 30%,var(--brand-mark-from),var(--blue));box-shadow:0 0 0 6px color-mix(in srgb,var(--blue) 14%,transparent)}.match-progress{height:6px;border-radius:999px;background:#ffffff8c;overflow:hidden}.match-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-mark-from),var(--blue));transition:width .45s ease}.match-running.is-done .match-progress i{background:linear-gradient(90deg,var(--brand-mark-from),var(--accent))}.match-stage-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.match-stage-list li{display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start;opacity:.42;transition:opacity .25s ease}.match-stage-list li.on,.match-stage-list li.done{opacity:1}.match-stage-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#0000001f;box-shadow:0 0 0 3px #ffffff80}.match-stage-list li.on .match-stage-dot{background:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}.match-stage-text{display:grid;gap:1px}.match-stage-text em{font-style:normal;font-size:.9rem;font-weight:650;color:var(--ink)}.match-stage-text small{font-size:.76rem;color:var(--ink-2)}.match-skel-wide{height:88px;margin-bottom:10px}.match-loading-skel{margin-top:8px}.match-empty{display:grid;gap:10px;justify-items:center;padding:48px 20px}.match-empty-icon{width:56px;height:56px;border-radius:18px;background:radial-gradient(circle at 30% 30%,rgba(100,210,255,.9),transparent 55%),linear-gradient(145deg,color-mix(in srgb,var(--blue) 18%,transparent),#64d2ff1f);border:1px solid color-mix(in srgb,var(--blue) 15%,transparent)}.match-empty-run{margin-bottom:18px;padding:22px;border-radius:20px}.match-empty-run h2{margin:0 0 8px;font-size:1.15rem}.match-empty-actions,.match-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.match-history-panel{margin-bottom:18px;padding:18px 20px;border-radius:20px}.match-history-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.match-history-panel-head h2{margin:0;font-size:1.1rem}.match-history-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.match-history-item{width:100%;text-align:left;display:grid;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.match-history-item strong{font-size:.95rem}.match-history-item span{font-size:.86rem;font-weight:650;color:var(--blue)}.match-history-item:hover,.match-history-item.on{border-color:var(--focus-border);background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.match-toolbar-links .btn.on{color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent)}.match-result-board{display:grid;gap:22px;margin-bottom:24px}.match-board-head{margin-bottom:4px}.match-section{display:grid;gap:12px}.match-section-head h3{margin:0;font-family:var(--display);font-size:1.05rem;letter-spacing:-.02em}.match-section-head .muted{margin:4px 0 0;font-size:.84rem}.match-mirror-banner{padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}.match-mirror-banner p{margin:0;font-size:.9rem;font-weight:650;color:var(--ink)}.match-card.is-hero{position:relative;overflow:hidden;padding-top:16px;border-color:color-mix(in srgb,var(--match-heat, #c45b6a) 30%,transparent);background:radial-gradient(100% 60% at 100% 0%,color-mix(in srgb,var(--match-heat, #c45b6a) 14%,transparent),transparent 55%),radial-gradient(120% 70% at 12% -10%,var(--match-soft, rgba(196, 91, 106, .16)),transparent 55%),linear-gradient(180deg,var(--match-top, rgba(196, 91, 106, .22)) 0%,var(--match-soft, rgba(196, 91, 106, .12)) 18%,var(--match-mid, rgba(196, 91, 106, .05)) 40%,#fff 68%,#fff 100%)!important;box-shadow:0 16px 40px var(--match-glow, rgba(196, 91, 106, .12));animation:matchHeroIn .65s ease both}@keyframes matchHeroIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.match-heart-badge{display:inline-flex;align-items:center;gap:6px;line-height:1;padding:5px 11px 5px 9px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 10%,#fff),color-mix(in srgb,var(--blue) 16%,#fff) 80%);color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 28%,transparent);box-shadow:0 6px 16px color-mix(in srgb,var(--blue) 14%,transparent)}.match-heart-icon{flex:0 0 auto;width:14px;height:14px;color:var(--blue);animation:matchHeartbeat 1.15s ease-in-out infinite;transform-origin:center;display:block}@keyframes matchHeartbeat{0%,to{transform:scale(1)}28%{transform:scale(1.22)}42%{transform:scale(.94)}58%{transform:scale(1.12)}}.match-heart-burst{position:absolute;right:12px;top:36px;width:88px;height:88px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--match-glow, color-mix(in srgb, var(--blue) 28%, transparent)),transparent 72%);animation:matchPulseGlow 2.2s ease-in-out infinite}@keyframes matchPulseGlow{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:.85;transform:scale(1.12)}}.match-hero-sparkles{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 22%,rgba(232,93,111,.22) 0 2px,transparent 3px),radial-gradient(circle at 78% 48%,rgba(196,91,106,.18) 0 1.5px,transparent 2.5px),radial-gradient(circle at 92% 62%,rgba(255,170,180,.35) 0 1.5px,transparent 2.5px);animation:matchSparkle 3.2s ease-in-out infinite}@keyframes matchSparkle{0%,to{opacity:.45}50%{opacity:1}}.match-avatar-link{position:relative}.match-heart-ring{position:absolute;left:50%;top:50%;width:118%;height:118%;border-radius:50%;border:2px solid var(--match-heat, var(--blue));opacity:.4;pointer-events:none;transform:translate(-50%,-50%) scale(.86);animation:matchHeartRing 1.8s ease-out infinite}@keyframes matchHeartRing{0%{transform:translate(-50%,-50%) scale(.86);opacity:.42}70%{transform:translate(-50%,-50%) scale(1.35);opacity:0}to{transform:translate(-50%,-50%) scale(1.35);opacity:0}}.match-avatar-link.is-heartbeat{animation:matchAvatarBeat 1.25s ease-in-out infinite;z-index:1}@keyframes matchAvatarBeat{0%,to{transform:scale(1)}30%{transform:scale(1.05)}50%{transform:scale(.98)}}.match-locked-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.match-secondary-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.match-secondary-list>.match-card.is-expanded,.match-secondary-list>.match-card.user-card{grid-column:1 / -1}.match-card-compact{display:grid;gap:12px;position:relative;padding:40px 16px 14px;border-radius:18px;border:1px solid color-mix(in srgb,var(--match-heat, #c45b6a) 26%,var(--line));background:linear-gradient(180deg,var(--match-top, rgba(196, 91, 106, .16)) 0%,var(--match-soft, rgba(196, 91, 106, .08)) 28%,#fff 70%,#fff 100%)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--match-heat, #c45b6a) 10%,transparent)}.match-compact-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.match-compact-avatar{width:48px;height:48px;border-radius:16px;font-size:1rem}.match-compact-meta{min-width:0}.match-compact-meta .muted{margin:2px 0 0;font-size:.8rem}.match-compact-score{flex-shrink:0}.match-compact-actions{display:flex;flex-wrap:wrap;gap:8px}.match-unlocked-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;color:#1a7f37;background:#1a7f371a;border:1px solid rgba(26,127,55,.18)}.match-card-foldbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:nowrap}.match-rank-chip{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;left:10px;z-index:3;flex:0 0 auto;width:max-content;max-width:calc(100% - 20px);box-sizing:border-box;font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap!important;word-break:keep-all;overflow:hidden;text-overflow:ellipsis;line-height:1.2;color:#fff;background:color-mix(in srgb,var(--match-heat, var(--blue)) 92%,#fff);padding:5px 11px;border-radius:999px;pointer-events:none}.match-card-locked,.match-card-compact{padding-top:40px}.match-card-locked{display:grid;gap:12px;position:relative;padding:40px 16px 16px;border-radius:20px;border:1px solid color-mix(in srgb,var(--match-heat, #c45b6a) 28%,var(--line));background:linear-gradient(180deg,var(--match-top, rgba(196, 91, 106, .14)) 0%,var(--match-soft, rgba(196, 91, 106, .07)) 30%,#fff 72%,#fff 100%)!important;box-shadow:0 8px 22px color-mix(in srgb,var(--match-heat, #c45b6a) 10%,transparent)}.match-card.is-unlocked.is-expanded .match-rank-chip,.match-card-foldbar .match-rank-chip{position:static;max-width:none;pointer-events:auto}.match-heart-badge-inline{position:static;top:auto;left:auto}.match-fold-btn{min-height:32px!important;padding:0 10px!important;font-size:.78rem!important;margin-left:auto}.match-card.is-expanded{padding-top:16px}.match-section-head h3{margin:0;font-family:var(--display);font-size:1.05rem;letter-spacing:-.02em;color:var(--blue)}.match-kind-pill{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.match-kind-pill.on{color:#fff;background:color-mix(in srgb,var(--match-heat, var(--blue)) 88%,#fff)}.match-hero-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.match-pool-stat{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;min-width:168px;height:46px;min-height:46px;padding:0 18px;border-radius:var(--radius-sm);font-size:.92rem;font-weight:650;color:var(--ink-2);background:color-mix(in srgb,var(--blue) 8%,var(--panel, #fff));border:1px solid color-mix(in srgb,var(--blue) 18%,transparent);white-space:nowrap;flex-shrink:0}.match-pool-stat strong{margin:0 2px;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.match-locked-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.match-avatar-blurred{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-weight:700;color:var(--ink-2);background:linear-gradient(145deg,#d6dde8,#eef1f6);filter:blur(1.2px);position:relative;overflow:hidden}.match-avatar-blurred:after{content:"";position:absolute;inset:0;backdrop-filter:blur(6px);background:#ffffff59}.match-locked-meta strong{display:block;font-size:1rem}.match-locked-score{display:flex;align-items:center;gap:10px;margin-top:8px}.match-unlock-btn{width:100%}.match-locked-tip{margin:0;text-align:center;font-size:.76rem}.match-bidir-meta{margin:2px 0 0;font-size:.78rem}.match-empty-slot{padding:20px;border-radius:18px;text-align:center}.match-empty-slot p{margin:0 0 4px;font-weight:700}.match-unlock-hint{margin:0;font-size:.84rem}.match-contact{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--match-heat, var(--accent)) 8%,var(--surface));font-size:.86rem}.match-wechat{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.match-stage-list li.done .match-stage-dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.match-running.is-done .match-progress i,.match-progress i{background:linear-gradient(90deg,var(--brand-mark-from),var(--accent))}.match-run.is-latest{padding:16px;border-radius:24px;background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 5%,transparent),transparent 48%);border:1px solid color-mix(in srgb,var(--blue) 12%,transparent)}.match-run.is-reveal{animation:matchReveal .55s ease both}@keyframes matchReveal{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}.match-run-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.match-run-avg{font-size:.78rem;color:var(--ink-2);font-weight:600}.match-card{position:relative}.match-card.is-fresh{box-shadow:0 10px 28px color-mix(in srgb,var(--match-heat, var(--blue)) 10%,transparent)}.match-card.is-top{border-color:color-mix(in srgb,var(--match-heat, #c45b6a) 28%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--match-heat, #c45b6a) 9%,transparent),var(--surface) 42%)}.match-top-badge{position:absolute;top:12px;left:12px;z-index:2;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,#fff);border:1px solid color-mix(in srgb,var(--blue) 22%,transparent)}.match-card.is-top{padding-top:40px}.match-score-ring{position:relative;display:grid;place-items:center;flex-shrink:0}.match-score-ring>svg{display:block;width:100%;height:100%}.match-score-ring-track{stroke:color-mix(in srgb,var(--ink) 10%,transparent)}.match-score-ring-value{stroke:var(--match-heat, #c45b6a);transition:stroke-dashoffset .6s ease}.match-card.is-top .match-score-ring-value{stroke:var(--match-heat, var(--accent))}.match-score-ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;text-align:center;line-height:1;pointer-events:none;color:var(--match-pct, var(--match-heat, #c45b6a))}.match-score-ring-label strong{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:1;color:inherit!important;margin:0;padding:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.match-score-ring-label.is-decimal strong{letter-spacing:-.055em}.match-score-ring-label span{line-height:1;color:inherit;opacity:.8;font-weight:700;margin:0 0 0 1px;padding:0;transform:translateY(.06em)}.match-score-block{display:grid;justify-items:center;gap:4px;text-align:center;flex-shrink:0}.match-card-identity{min-width:0;flex:1}.match-card-title-row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px 8px;min-width:0}.match-card-title-row>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-card-title-row .match-kind-pill,.match-card-title-row .match-unlocked-chip,.match-card-title-row .match-intent-chip{flex-shrink:0;white-space:nowrap}.match-intent-chip{padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:650;color:#5e5ce6;background:#5e5ce61a;border:1px solid rgba(94,92,230,.18)}.match-contact{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:#f5f8fc;border:1px solid color-mix(in srgb,var(--blue) 12%,transparent)}.match-contact-label{display:block;font-size:.72rem;color:var(--ink-2);margin-bottom:2px;font-weight:600}.match-wechat{font-size:.95rem;font-weight:700;color:var(--ink);background:transparent}.match-copy-btn{flex-shrink:0;min-height:36px;padding:0 14px;font-size:.84rem}.match-contact-missing{margin:0;padding:8px 10px;border-radius:12px;background:var(--bg);font-size:.82rem}.match-card-toggles{display:flex;flex-wrap:wrap;gap:8px}.match-expand{border:1px solid color-mix(in srgb,#c45b6a 28%,var(--line))!important;background:#fff!important;border-radius:999px!important;padding:7px 12px!important;font-size:.8rem!important;font-weight:650;color:#b5475a!important}.match-expand.on{border-color:color-mix(in srgb,#c45b6a 42%,var(--line))!important;color:#9f3d4f!important;background:#c45b6a1a!important}.match-avatar-link{text-decoration:none}.muted{color:var(--ink-2)}.err{color:#c62828;font-size:.9rem}.empty{padding:40px 18px;text-align:center;color:var(--ink-2)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes heroDrift{0%{transform:scale(1.02) translateZ(0)}to{transform:scale(1.06) translate3d(-1.5%,-1%,0)}}@media (max-width: 860px){.match-grid,.sim-layout,.sim-verdict-strip.is-split{grid-template-columns:1fr}.sim-side{display:grid;grid-template-rows:auto auto}.sim-radar{width:min(100%,220px);max-height:200px}.match-skel-row{grid-template-columns:1fr 1fr}.match-toolbar{grid-template-columns:1fr}.match-toolbar-links{justify-content:stretch}.match-toolbar-links .btn{flex:1}.story,.story-body{min-height:320px}.sim-radar{max-width:260px}}@media (max-width: 640px){:root{--page-pad: 14px;--topnav-gap: 8px;--bottom-nav-space: calc(64px + env(safe-area-inset-bottom, 0px)) ;--radius: 16px;--radius-sm: 12px}.topnav{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.topnav-inner{gap:8px}.brand{gap:8px;font-size:.98rem}.brand-mark{width:24px;height:24px;border-radius:6px}.topnav-actions{max-width:min(68%,280px);gap:6px}.topnav-auth .btn{height:36px;padding:0 12px;font-size:.88rem}.topnav-auth-merchant{display:none}.account-chip{max-width:min(120px,36vw);padding:0 10px}.identity-switch-btn{padding:0 10px}.page,.hero-inner{width:min(100% - (var(--page-pad) * 2),var(--max))}.hero{min-height:100svh;min-height:100dvh}.today-page .hero-inner{padding-top:calc(var(--topnav-offset) + 8px);padding-bottom:calc(var(--bottom-nav-space) + 28px)}.hero-brand{font-size:clamp(2.35rem,11vw,3rem);margin-bottom:10px}.hero-line{max-width:none;font-size:clamp(1.02rem,4.2vw,1.2rem);line-height:1.35}.hero-sub{max-width:none;font-size:.92rem;line-height:1.5;margin-bottom:18px}.hero-cta{flex-direction:column;align-items:stretch;gap:10px;width:100%}.hero-cta .btn{width:100%;justify-content:center;min-height:46px}.hero-dots{flex-direction:row;top:auto;right:auto;left:50%;bottom:calc(var(--bottom-nav-space) + 8px);transform:translate(-50%);gap:8px}.hero-dot{width:7px;height:7px}.hero-watermark{max-width:min(62vw,200px);font-size:.62rem;bottom:calc(var(--bottom-nav-space) + 36px);opacity:.72}.stories{gap:14px}.story{min-height:260px;border-radius:20px}.story:hover{transform:none}.story:active{transform:scale(.985)}.story-body{min-height:260px;padding:22px 18px}.story-title{font-size:clamp(1.45rem,6.5vw,1.85rem);max-width:14ch}.story-text{font-size:.9rem;max-width:none}.app-row{grid-template-columns:52px 1fr;gap:12px}.app-icon{width:52px;height:52px;border-radius:14px;font-size:1.05rem}.app-row .get-btn{grid-column:2;justify-self:start;margin-top:2px;min-height:32px;height:32px}.today-apps-section{padding-bottom:28px}.today-app-list{padding:4px 12px}.bottomnav{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;border-radius:0;border:0;border-top:1px solid var(--line);box-shadow:0 -6px 24px #0000000d;background:color-mix(in srgb,var(--surface) 94%,transparent);padding-bottom:env(safe-area-inset-bottom,0px)}.bottomnav-track{padding:4px 2px 6px;border-radius:0;justify-content:space-around;gap:0;min-height:56px}.bottomnav a{flex:1 1 0;min-width:0;max-width:none;min-height:48px;padding:4px 2px 6px;font-size:.62rem;border-radius:10px;letter-spacing:-.01em;gap:1px}.bottomnav-ico{display:block}.bottomnav-ico svg{display:block}.bottomnav a.active{background:color-mix(in srgb,var(--blue) 12%,transparent)}.bottomnav-more-btn{flex:1 1 0;min-width:0;max-width:none;min-height:48px;padding:4px 2px 6px;font-size:.62rem;border-radius:10px;letter-spacing:-.01em;gap:1px}.bottomnav-more-btn .bottomnav-ico{display:block}.bottomnav-more-btn.active{background:color-mix(in srgb,var(--blue) 12%,transparent)}.bottomnav-more-sheet{margin-left:0;margin-right:0;border-radius:18px 18px 0 0;border-left:0;border-right:0;border-bottom:0;margin-bottom:var(--bottom-nav-space);padding-bottom:12px}.bottomnav-more-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.bottomnav-more-grid a{min-height:58px;font-size:.68rem}.section{padding-top:0}.section-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.section-actions{width:100%}.section-actions .btn{flex:1 1 calc(50% - 4px);min-height:44px}.section-actions .btn-primary{flex:1 1 100%}.section-title{font-size:clamp(1.4rem,6.2vw,1.8rem)}.section-desc{max-width:none;font-size:.9rem}.match-history{gap:20px}.match-run.is-latest{padding:12px;border-radius:18px}.match-run-head{align-items:flex-start;gap:8px}.match-run-head h2{font-size:1.02rem}.match-run-qver{font-size:.78rem}.match-running-top{grid-template-columns:auto 1fr}.match-running-pct{display:none}.match-card{padding:16px;border-radius:18px;gap:10px}.match-card.is-top{padding-top:38px}.user-card-head{gap:10px;align-items:flex-start}.user-avatar{width:40px;height:40px;border-radius:12px}.match-score{font-size:1.55rem}.match-score-block{min-width:64px}.match-contact{flex-direction:column;align-items:stretch}.match-copy-btn{width:100%}.match-qver-chip{max-width:7.5rem;line-height:1.25;white-space:normal}.match-tags{gap:5px}.match-tag,button.match-tag{padding:5px 9px;max-width:100%}.match-headline{font-size:.94rem}.match-verdict-grid{grid-template-columns:1fr}.sim-panel{padding:10px;border-radius:14px}.sim-layout{grid-template-columns:1fr;gap:8px}.sim-radar{max-width:240px;margin:4px auto 0}.match-peer-detail-grid{grid-template-columns:1fr}.sim-row-meta{font-size:.76rem}.sim-comment{font-size:.7rem}.match-ai-block{padding:10px 12px}.match-ai-block p{font-size:.86rem}.match-expand{min-height:40px;padding:8px 0}.match-card-actions .btn{flex:1;min-height:44px}.match-running{padding:14px;border-radius:16px}.match-skel-row{grid-template-columns:1fr}.panel{padding:18px 16px;border-radius:16px}.btn{min-height:44px}.auth-page{width:min(100% - (var(--page-pad) * 2),var(--max))}.auth-panel{max-width:none;margin:12px auto 24px;animation:rise .55s ease both;border-radius:18px}.auth-switch-row{flex-wrap:wrap;gap:8px}.auth-switch-row .btn{flex:1 1 auto;justify-content:center}.settings-page{padding:0 12px 24px}.settings-shell{grid-template-columns:1fr;gap:14px}.settings-nav{position:static;grid-template-columns:1fr;gap:2px;padding:6px;border-radius:14px}.settings-nav-title{margin:6px 10px 8px}.settings-nav-item{padding:14px 12px;border-radius:12px;min-height:48px}.settings-header h1{font-size:1.4rem}.settings-form,.form-grid{grid-template-columns:1fr!important}.q-actions.sticky{bottom:calc(var(--bottom-nav-space) + 8px)}.forum-fab{right:14px;bottom:calc(var(--bottom-nav-space) + 12px)}.forum-toolbar{flex-direction:column;align-items:stretch;gap:10px}.forum-publish-btn{width:100%}}@media (max-width: 640px) and (max-height: 720px){.today-page .hero-inner{padding-top:calc(var(--topnav-offset) + 4px);padding-bottom:calc(var(--bottom-nav-space) + 20px)}.hero-brand{font-size:clamp(2rem,9.5vw,2.55rem);margin-bottom:6px}.hero-line{font-size:1rem}.hero-sub{font-size:.86rem;margin-bottom:12px}.hero-cta{gap:8px}.hero-cta .btn{min-height:42px}.hero-watermark{display:none}.hero-dots{bottom:calc(var(--bottom-nav-space) + 4px)}}@media (max-width: 900px) and (max-height: 480px){.hero{min-height:100svh}.today-page .hero-inner{padding-top:calc(var(--topnav-offset) + 2px);padding-bottom:calc(var(--bottom-nav-space) + 12px)}.hero-brand{font-size:clamp(1.6rem,6vw,2.1rem);margin-bottom:4px}.hero-date{margin-bottom:4px;font-size:.78rem}.hero-line{font-size:.92rem;margin-bottom:4px}.hero-sub,.hero-watermark{display:none}.hero-cta{flex-direction:row;flex-wrap:wrap}.hero-cta .btn{width:auto;flex:1 1 auto;min-height:40px}.hero-dots{display:none}}@media (max-width: 380px){.bottomnav a,.bottomnav-more-btn{font-size:.58rem;padding-left:1px;padding-right:1px}.bottomnav-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.carpool-day-tabs{gap:2px}.carpool-day-tab{min-height:44px;padding:4px 1px;border-radius:10px}.carpool-day-tab-label{font-size:.84rem}.carpool-day-tab-date{font-size:.52rem}.carpool-day-row{grid-template-columns:64px minmax(0,1fr);min-height:64px}.account-chip{max-width:min(96px,30vw)}.brand-name{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.field small.muted{display:block;margin-top:6px;font-size:.8rem}.field input.field-readonly,.field input.field-readonly:disabled{background:var(--fill-elevated);color:var(--ink);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--ink)}.school-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,transparent),#64d2ff1f);border:1px solid color-mix(in srgb,var(--blue) 15%,transparent);grid-column:1 / -1}.school-banner-kicker{margin:0 0 4px;font-size:.78rem;color:var(--ink-2)}.school-banner-name{margin:0;font-family:var(--display);font-size:1.25rem;font-weight:700;letter-spacing:-.03em}.school-banner-meta{margin:6px 0 0;font-size:.82rem}.school-banner-lock{flex-shrink:0;font-size:.78rem;font-weight:600;color:var(--ink-2);padding:6px 10px;border-radius:999px;background:#ffffffb3}.q-selected-bar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.q-interest-path-tags{gap:8px}.q-interest-path-tag{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--focus-border);background:var(--surface);border-radius:999px;padding:8px 12px;font-size:.88rem;font-weight:650;color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 12%,transparent);cursor:pointer;text-align:left;transition:background .15s ease,box-shadow .15s ease,max-width .2s ease}.q-interest-path-tag:hover{background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.q-interest-path-tag.focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 25%,transparent)}.q-interest-path-tag.expanded{border-radius:12px;background:color-mix(in srgb,var(--blue) 8%,var(--surface))}.q-interest-path-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(78vw,420px)}.q-interest-path-tag.expanded .q-interest-path-text{white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35}.q-interest-intro textarea{min-height:96px;width:100%;resize:vertical}.q-chip.focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 25%,transparent)}.q-form{display:grid;gap:18px;padding-bottom:88px}.q-form.q-readonly .q-block{opacity:.92}.q-form.q-readonly button:not(.q-step):not(.q-actions button):not(.q-interest-head):not(.q-interest-path-tag),.q-form.q-readonly input,.q-form.q-readonly .q-level,.q-form.q-readonly .q-chip,.q-form.q-readonly .q-mbti-card,.q-form.q-readonly .q-attach-card,.q-form.q-readonly .q-scale-point,.q-form.q-readonly .q-choice button{pointer-events:none}.q-form.q-readonly input[type=range],.q-form.q-readonly input[type=number]{pointer-events:none;opacity:.75}.q-edit-lock,.q-edit-hint{margin:10px 0 0;padding:10px 12px;border-radius:12px;font-size:.88rem;line-height:1.45}.q-edit-lock{background:#c42b1c14;color:#9b1c1c;border:1px solid rgba(196,43,28,.15)}.q-edit-hint{background:var(--accent-soft);color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 15%,transparent)}.q-step-caption-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;min-height:28px}.q-step-caption{margin:0}.q-clear-toast{flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;color:#9b1c1c;background:#c42b1c1a;border:1px solid rgba(196,43,28,.18);animation:q-toast-in .25s ease}@keyframes q-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.q-step.filled:not(.active) .q-step-num{background:var(--accent-soft);color:var(--blue)}.q-step.dirty .q-step-num{box-shadow:0 0 0 2px #c96e0059}.q-step-dot{position:absolute;top:6px;right:8px;width:7px;height:7px;border-radius:50%;background:#c96e00}.q-page-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #00000008}.q-page-tools-copy{display:grid;gap:3px;min-width:0;flex:1}.q-page-tools-copy strong{font-size:.9rem;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.q-page-tools-hint{margin:0;font-size:.78rem;line-height:1.45;color:var(--ink-2)}.q-page-tools-actions{display:flex;gap:8px;flex-wrap:nowrap;align-items:center}.q-tool-btn{appearance:none;border:1px solid var(--line);background:var(--hover);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease}.q-tool-btn:hover{background:var(--hover-strong);border-color:#00000024}.q-tool-btn.q-tool-clear{color:#b42318;background:#b423180d;border-color:#b423182e}.q-tool-btn.q-tool-clear:hover{background:#b423181a;border-color:#b4231852}.q-form.q-readonly .q-page-tools{display:none}.q-choice-stack{display:grid;gap:14px;margin:16px 0 8px}.q-section-sub{margin:28px 0 4px;font-size:1rem;font-weight:650;letter-spacing:-.01em}.q-section-sub-desc{margin:0 0 12px;font-size:.84rem;line-height:1.45}.q-boundary-section{margin-top:22px;padding-top:4px}.q-boundary-section h3{margin:0 0 4px;font-size:.95rem}.q-boundary-page .q-boundary-item{position:relative}.q-boundary-page .q-scale-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.q-boundary-field-tag{flex-shrink:0;font-size:.75rem;font-weight:700;color:#b42318;letter-spacing:.02em}.q-boundary-hint{margin:0;font-size:.85rem}.q-boundary-page .q-chip.pref-locked{cursor:default;opacity:1}.q-boundary-page .q-chip.pref-locked:disabled{opacity:1}.q-boundary-page .q-chip.refuse{background:#b423181a;border-color:#b4231873;color:#b42318;box-shadow:inset 0 0 0 1px #b4231824}.q-boundary-page .q-scale-point.pref-locked{cursor:default;opacity:1}.q-boundary-page .q-scale-point.pref-locked:disabled{opacity:1}.q-boundary-page .q-scale-point.refuse{background:linear-gradient(180deg,#b423181f,#b423180f)!important;border-color:#b4231873!important;box-shadow:inset 0 0 0 1px #b423181f!important;transform:none}.q-boundary-page .q-scale-point.refuse .q-scale-num{background:#b42318!important;color:#fff!important}.q-boundary-page .q-scale-point.refuse .q-scale-label{color:#b42318!important;font-weight:650}.q-boundary-page .q-scale-point.on.pref-locked{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 10%,transparent),color-mix(in srgb,var(--blue) 5%,transparent));border-color:var(--focus-border);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 8%,transparent)}.q-boundary-page .q-scale-point.on.pref-locked .q-scale-num{background:var(--blue);color:#fff}.q-boundary-page .q-scale-point:not(.on):not(.refuse):hover{background:#b423180f;border-color:#b4231847}.q-boundary-page .q-chip:not(.on):not(.refuse):hover{border-color:#b4231859;background:#b423180d}.q-rank-board{margin-top:18px;padding:16px;border-radius:18px;background:var(--bg);border:1px solid var(--line)}.q-rank-board.is-readonly{opacity:.92}.q-rank-board-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px;flex-wrap:nowrap}.q-rank-board-head>div{min-width:0;flex:1}.q-rank-board-head .btn{flex-shrink:0;white-space:nowrap}.q-rank-board-head h3{margin:0 0 4px;font-size:1rem}.q-rank-board-head .muted{margin:0;font-size:.85rem;line-height:1.45}.q-rank-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;align-items:start}.q-rank-slots{display:grid;gap:8px}.q-rank-slot{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;min-height:52px;padding:8px 10px;border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--ink) 14%,transparent);background:var(--surface);transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.q-rank-slot.filled{border-style:solid;border-color:#0000000f}.q-rank-slot.drag-over{border-color:var(--focus-border);background:var(--accent-soft);box-shadow:0 0 0 3px var(--focus-ring);transform:translateY(-1px)}.q-rank-slot.flash{animation:qRankFlash .28s ease}.q-rank-slot.picked{border-color:#ff69b473}.q-rank-idx{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--ink-2);background:var(--fill-elevated)}.q-rank-slot.filled .q-rank-idx{color:var(--blue);background:var(--accent-soft)}.q-rank-placeholder{font-size:.82rem;color:var(--ink-3)}.q-rank-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:650;color:var(--ink);cursor:grab;user-select:none;touch-action:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.q-rank-chip:active{cursor:grabbing}.q-rank-chip.in-slot{width:100%;justify-content:space-between;background:var(--bg)}.q-rank-chip.in-pool{background:var(--surface)}.q-rank-chip.picked{border-color:var(--focus-border);color:var(--blue);box-shadow:0 4px 14px color-mix(in srgb,var(--blue) 12%,transparent);transform:scale(1.03)}.q-rank-chip.dragging{opacity:.55;transform:scale(.98)}.q-rank-x{width:26px;height:26px;border:0;border-radius:50%;background:var(--hover-strong);color:var(--ink-2);font-size:1rem;line-height:1;flex-shrink:0;cursor:pointer}.q-rank-x:hover{background:#c42b1c1f;color:#c42b1c}.q-rank-pool{padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);position:sticky;top:var(--topnav-offset)}.q-rank-pool-title{margin:0 0 10px;font-size:.82rem;font-weight:700;color:var(--ink-2)}.q-rank-pool-list{display:flex;flex-wrap:wrap;gap:8px;min-height:48px}.q-rank-pool-empty{margin:8px 0;font-size:.85rem}.q-rank-hint{margin:12px 0 0;font-size:.8rem;color:var(--blue);line-height:1.4}@keyframes qRankFlash{0%{box-shadow:0 0 color-mix(in srgb,var(--blue) 35%,transparent)}to{box-shadow:0 0 0 8px color-mix(in srgb,var(--blue) 0%,transparent)}}.q-step-caption{margin:0 0 12px;font-size:.9rem}.q-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}.q-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink-2)}.q-step-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.82rem;font-weight:700;background:var(--hover-strong)}.q-step-label{font-size:.78rem;font-weight:600}.q-step.active{border-color:var(--focus-border);color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}.q-step.active .q-step-num{background:var(--blue);color:#fff}.q-step.done{color:var(--ink)}.q-step.done .q-step-num{background:#30d15833;color:#1a7f37}.q-progress{height:4px;border-radius:999px;background:var(--hover-strong);margin-bottom:16px;overflow:hidden}.q-progress-bar{height:100%;background:linear-gradient(90deg,var(--brand-mark-from),var(--blue));transition:width .25s ease}.q-block{padding:22px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}.q-block h2{margin:0 0 8px;font-family:var(--display);font-size:1.2rem;letter-spacing:-.03em}.q-block h3{margin:16px 0 8px;font-size:.95rem}.q-mbti-block{overflow:hidden}.q-mbti-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.q-mbti-result{min-width:112px;text-align:center;padding:12px 14px;border-radius:16px;background:var(--bg);border:1px solid var(--line);transition:background .2s ease,border-color .2s ease,color .2s ease}.q-mbti-result.ready{background:var(--accent-soft);border-color:var(--accent-soft-border)}.q-mbti-result-label{display:block;font-size:.75rem;color:var(--ink-2);margin-bottom:4px}.q-mbti-result strong{font-family:var(--display);font-size:1.45rem;letter-spacing:.08em;color:var(--ink)}.q-mbti-result.ready strong{color:var(--blue)}.q-mbti-result.tone-blue.ready{background:var(--accent-soft);border-color:var(--accent-soft-border)}.q-mbti-result.tone-blue.ready strong{color:var(--blue)}.q-mbti-result.tone-green.ready{background:#30d1581f;border-color:#248a3d4d}.q-mbti-result.tone-green.ready strong{color:#1a7f37}.q-mbti-result.tone-purple.ready{background:#af52de1f;border-color:#9032c452}.q-mbti-result.tone-purple.ready strong{color:#7d3c98}.q-mbti-result.tone-amber.ready{background:#ff9f0a24;border-color:#c96e0052}.q-mbti-result.tone-amber.ready strong{color:#c96e00}.q-mbti-result.tone-neutral.ready{background:#6e6e731a;border-color:#6e6e7347}.q-mbti-result.tone-neutral.ready strong{color:var(--ink-2)}.q-mbti-axes{display:grid;gap:16px}.q-mbti-axis{padding:14px;border-radius:18px;background:var(--bg);border:1px solid var(--line);transition:border-color .2s ease,background .2s ease}.q-mbti-axis.picked{background:var(--surface);border-color:var(--accent-soft-border)}.q-mbti-axis-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.q-mbti-axis-num{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-family:var(--display);background:var(--accent-soft);color:var(--blue)}.q-mbti-axis-title{margin:0;font-weight:700;font-size:1rem;letter-spacing:-.02em}.q-mbti-axis-sub{margin:2px 0 0;font-size:.8rem}.q-mbti-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.q-mbti-card{display:grid;gap:6px;text-align:left;padding:18px 16px;min-height:118px;border-radius:16px;border:1.5px solid transparent;background:var(--surface);box-shadow:0 1px 2px #0000000a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.q-mbti-card:hover{transform:translateY(-1px);border-color:var(--accent-soft-border)}.q-mbti-card.on{border-color:var(--focus-border);background:linear-gradient(160deg,color-mix(in srgb,var(--blue) 10%,transparent),#64d2ff1f);box-shadow:0 0 0 3px var(--focus-ring)}.q-mbti-letter{font-family:var(--display);font-size:2rem;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink)}.q-mbti-card.on .q-mbti-letter{color:var(--blue)}.q-mbti-name{font-size:1.05rem;font-weight:700}.q-mbti-hint{font-size:.82rem;color:var(--ink-2);line-height:1.4}.q-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.q-fieldset{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px}.q-fieldset legend{padding:0 6px;font-size:.85rem;color:var(--ink-2)}.q-attach-block{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.q-attach-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.q-attach-head h2{margin:0 0 4px;font-size:1.15rem}.q-attach-picked{flex-shrink:0;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--blue);font-size:.82rem;font-weight:600}.q-attach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.q-attach-card{display:grid;gap:10px;text-align:left;padding:18px 16px;border-radius:16px;border:1.5px solid transparent;background:var(--surface);color:var(--ink);min-height:180px;box-shadow:0 1px 2px #0000000a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.q-attach-card:hover{transform:translateY(-1px);border-color:var(--accent-soft-border)}.q-attach-card.on{border-color:var(--focus-border);background:linear-gradient(160deg,color-mix(in srgb,var(--blue) 10%,transparent),#64d2ff1f);box-shadow:0 0 0 3px var(--focus-ring)}.q-attach-card.on .q-attach-card-top strong{color:var(--blue)}.q-attach-card-top{display:flex;flex-direction:column;gap:2px}.q-attach-card-top strong{font-size:1rem}.q-attach-card-top em{font-style:normal;font-size:.75rem;color:var(--ink-2);letter-spacing:.01em}.q-attach-traits,.q-attach-relation{margin:0;font-size:.82rem;line-height:1.45;color:var(--ink-2)}.q-attach-traits span,.q-attach-relation span{display:block;margin-bottom:2px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);opacity:.55}.q-attach-card.on .q-attach-traits span,.q-attach-card.on .q-attach-relation span{opacity:.75}.q-scale-stack{display:grid;gap:14px;margin:8px 0 4px}.q-scale,.q-choice-card{padding:18px 16px;border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:0 1px 2px #00000005;transition:border-color .15s ease,box-shadow .15s ease}.q-scale.has-value,.q-choice-card.has-value{border-color:color-mix(in srgb,var(--blue) 18%,transparent);box-shadow:0 1px 3px color-mix(in srgb,var(--blue) 6%,transparent)}.q-scale-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.q-scale-head h3{margin:0;font-size:.98rem;font-weight:650;letter-spacing:-.01em}.q-scale-head .muted{margin:5px 0 0;font-size:.8rem;line-height:1.4}.q-scale-ends{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:12px;font-size:.75rem;font-weight:600;color:var(--ink-3)}.q-scale-track-line{height:3px;border-radius:999px;background:linear-gradient(90deg,var(--hover-strong),color-mix(in srgb,var(--blue) 28%,transparent),var(--hover-strong))}.q-scale-points{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.q-scale-point{display:grid;gap:8px;justify-items:center;align-content:start;padding:12px 6px 10px;border-radius:14px;border:1px solid transparent;background:var(--hover);color:var(--ink);min-height:82px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.q-scale-point:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--blue) 16%,transparent)}.q-scale-point.on{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 10%,transparent),color-mix(in srgb,var(--blue) 5%,transparent));border-color:var(--focus-border);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 8%,transparent);transform:translateY(-1px)}.q-scale-num{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;font-weight:700;font-size:.86rem;color:var(--ink-2);background:var(--hover-strong);transition:background .15s ease,color .15s ease}.q-scale-point.on .q-scale-num{background:var(--blue);color:#fff}.q-scale-label{font-size:.72rem;line-height:1.3;text-align:center;color:var(--ink-2);word-break:keep-all}.q-scale-point.on .q-scale-label{color:var(--ink);font-weight:650}.q-scale-desc{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px dashed var(--line);background:var(--hover);display:grid;gap:4px;font-size:.86rem;line-height:1.45;color:var(--ink-2);min-height:52px}.q-scale-desc.ready{border-style:solid;border-color:color-mix(in srgb,var(--blue) 14%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 7%,transparent),color-mix(in srgb,var(--blue) 3%,transparent));color:var(--ink);box-shadow:inset 3px 0 0 var(--blue)}.q-scale-desc strong{font-size:.9rem;font-weight:650;color:var(--ink)}.q-scale-desc.ready span{color:var(--ink-2)}.q-chips{display:flex;flex-wrap:wrap;gap:8px}.q-chip{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--hover);border-radius:999px;padding:8px 12px;font-size:.9rem;color:var(--ink);white-space:nowrap}.q-chip.on{background:var(--surface);border-color:var(--focus-border);color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 12%,transparent)}.q-chip.danger.on{background:#c42b1c1a;border-color:#c42b1c59;color:#c42b1c}.q-interest-list{display:grid;gap:10px;margin-top:12px}.q-interest{border:1px solid var(--line);border-radius:14px;padding:0 0 10px;background:var(--bg)}.q-interest.has{border-color:var(--accent-soft-border)}.q-interest.open{background:var(--surface)}.q-interest-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:0;background:transparent;font-weight:600;text-align:left}.q-leaf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 4px}.q-leaf{display:grid;gap:8px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid transparent}.q-leaf.on{border-color:var(--accent-soft-border)}.q-leaf-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;font-size:.92rem}.q-leaf input[type=range]{width:100%}.q-leaf em{font-style:normal;color:var(--ink-2);font-size:.85rem;font-weight:500}.q-level-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.q-level{height:34px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font-size:.85rem;font-weight:600;color:var(--ink-2)}.q-level.on{background:var(--accent-soft);border-color:var(--focus-border);color:var(--blue)}.q-leaf-notes{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.q-leaf-notes-hint{margin:0 0 8px;font-size:.75rem;font-weight:500;color:var(--ink-3);line-height:1.4}.q-leaf-suggest{min-width:0}.q-leaf-suggest-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:148px;overflow-y:auto;padding-right:2px;-webkit-overflow-scrolling:touch}.q-suggest-chip{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink-2);border-radius:999px;padding:5px 11px;font-size:.78rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.q-suggest-chip:hover{background:var(--fill-elevated);border-color:color-mix(in srgb,var(--blue) 25%,var(--line));color:var(--ink)}.q-suggest-chip.on{background:var(--accent-soft);border-color:var(--focus-border);color:var(--blue)}.q-leaf-note-slots{display:flex;flex-direction:column;gap:8px}.q-leaf-note{width:100%;box-sizing:border-box;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:0 14px;font-size:.88rem;font-weight:500;color:var(--ink);outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.q-leaf-note::placeholder{color:var(--ink-3);font-weight:450}.q-leaf.on .q-leaf-notes{border-top-color:color-mix(in srgb,var(--blue) 12%,var(--line))}.q-leaf-note:hover{background:var(--fill-elevated)}.q-leaf-note:focus{border-color:var(--focus-border);background:var(--surface);box-shadow:0 0 0 3px var(--focus-ring)}.q-priority{margin-top:18px;padding:16px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}.q-priority h3{margin:0 0 4px}.q-priority-block{margin-top:14px}.q-priority-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem;font-weight:650}.q-priority-badge{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:var(--accent-soft);color:var(--blue)}.q-priority-badge.soft{background:var(--hover-strong);color:var(--ink-2)}.q-priority-chips{display:flex;flex-wrap:wrap;gap:8px}.q-priority-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:600;color:var(--ink);transition:border-color .15s ease,background .15s ease,color .15s ease}.q-priority-chip:hover{border-color:var(--accent-soft-border)}.q-priority-chip.on{background:var(--accent-soft);border-color:var(--focus-border);color:var(--blue)}.q-priority-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.q-priority-row label{display:grid;gap:6px;font-size:.9rem}.q-weight-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.q-weight-sum{min-width:76px;text-align:center;padding:10px 12px;border-radius:14px;font-family:var(--display);display:grid;gap:2px;line-height:1.1}.q-weight-sum-label{font-size:.72rem;font-weight:600;opacity:.75;letter-spacing:.04em}.q-weight-sum strong{font-size:1.35rem;font-weight:750}.q-weight-sum.ok{background:#30d15826;color:#1a7f37}.q-weight-sum.bad{background:#c42b1c1f;color:#c42b1c}.q-weight-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.q-weight-tool{border-radius:999px;padding:8px 14px;font-size:.88rem}.q-weight-list{display:grid;gap:8px}.q-weight-row{display:grid;grid-template-columns:minmax(132px,1.25fr) minmax(80px,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);transition:border-color .15s ease,background .15s ease,opacity .15s ease}.q-weight-row.is-app,.q-weight-row.is-interest{background:color-mix(in srgb,var(--blue) 10%,var(--surface));border-color:color-mix(in srgb,var(--blue) 22%,var(--line));box-shadow:inset 3px 0 color-mix(in srgb,var(--blue) 55%,transparent)}.q-weight-row.is-app.is-locked,.q-weight-row.is-interest.is-locked{opacity:.92;background:color-mix(in srgb,var(--blue) 7%,var(--surface));border-color:color-mix(in srgb,var(--blue) 16%,var(--line));box-shadow:inset 3px 0 color-mix(in srgb,var(--blue) 35%,transparent)}.q-weight-row.is-locked{opacity:.92;background:color-mix(in srgb,var(--ink) 3%,var(--surface))}.q-weight-meta{min-width:0}.q-weight-app-tag,.q-weight-interest-tag{display:inline-block;margin-bottom:4px;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.q-weight-row strong{display:block;font-size:.94rem}.q-weight-row small{display:block;margin-top:3px;line-height:1.35}.q-weight-row input[type=range]{width:100%;accent-color:var(--blue)}.q-weight-row.is-locked input[type=range]{accent-color:#8a8f98}.q-weight-controls{display:flex;align-items:center;gap:6px}.q-weight-num{width:56px;height:36px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:6px 8px;text-align:center;font-weight:650;background:var(--bg);color:var(--ink);outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;-moz-appearance:textfield}.q-weight-num::-webkit-outer-spin-button,.q-weight-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-weight-num:hover:not(:disabled){background:var(--fill-elevated)}.q-weight-num:focus{border-color:var(--focus-border);background:var(--surface);box-shadow:0 0 0 3px var(--focus-ring)}.q-weight-num:disabled{opacity:.7;cursor:not-allowed}.q-weight-lock{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink-2);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.q-weight-lock:hover:not(:disabled){background:var(--fill-elevated);color:var(--ink)}.q-weight-lock.on{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 10%,var(--bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 12%,transparent)}.q-weight-lock:disabled{opacity:.55;cursor:not-allowed}.q-review{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--bg)}.q-review h3{margin:0 0 8px}.q-review ul{margin:0;padding-left:18px;color:var(--ink-2);line-height:1.55;font-size:.92rem}.q-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:nowrap;padding-bottom:24px}.q-actions .btn{white-space:nowrap;flex:1 1 0;min-width:max-content}.q-actions.sticky{position:sticky;bottom:calc(var(--bottom-nav-space) + 8px);z-index:20;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:0 -8px 24px #0000000d}@media (max-width: 720px){.q-steps{gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.q-steps::-webkit-scrollbar{display:none}.q-step{flex:1 0 auto;min-width:56px;padding:8px 6px}.q-step-label{font-size:.66rem}.q-step-num{width:22px;height:22px;font-size:.72rem}.q-mbti-hero{flex-direction:column}.q-mbti-result{align-self:stretch}.q-mbti-pair{grid-template-columns:1fr}.q-mbti-card{min-height:88px;padding:14px}.q-attach-grid{grid-template-columns:1fr}.q-attach-head{flex-direction:column}.q-scale-points{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.q-scale-point{min-height:64px;padding:8px 4px}.q-scale-label{font-size:.64rem}.q-scale-head,.q-page-tools{flex-direction:column;align-items:stretch}.q-page-tools-actions{width:100%}.q-tool-btn{flex:1;text-align:center}.q-step-caption-row{flex-direction:column;align-items:flex-start}.q-choice-grid,.q-leaf-grid,.q-priority-row{grid-template-columns:1fr}.q-weight-row{grid-template-columns:1fr;gap:10px}.q-weight-controls{justify-content:flex-end}.q-weight-num{width:72px;height:44px}.q-weight-lock{width:44px;height:44px}.q-level-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.q-level{height:40px;min-height:40px;font-size:.8rem;border-radius:8px}.q-leaf{padding:10px}.q-leaf-note{height:44px;font-size:16px}.q-suggest-chip{min-height:36px;padding:7px 12px;font-size:.82rem}.q-interest-head{min-height:48px;padding:12px}.q-chip{min-height:40px;padding:8px 12px}.q-interest-path-tag{min-height:40px;padding:8px 12px;font-size:.84rem}.q-interest-path-text{max-width:min(86vw,360px)}.q-block{padding:14px;border-radius:14px}.q-block h2{font-size:1.1rem}.q-form{padding-bottom:110px;gap:14px}.q-actions{gap:8px}.q-actions .btn{flex:1 1 0;min-height:46px;min-width:max-content;white-space:nowrap}.q-actions.sticky{bottom:calc(var(--bottom-nav-space) + 8px);margin-left:calc(var(--page-pad) * -.25);margin-right:calc(var(--page-pad) * -.25)}.q-edit-lock,.q-edit-hint{font-size:.84rem}.school-banner{flex-direction:column;align-items:flex-start}.q-rank-layout{grid-template-columns:1fr}.q-rank-pool{position:static;order:-1}.q-rank-board-head{flex-direction:row;align-items:flex-start}.q-rank-slot{min-height:56px}.q-rank-chip{min-height:40px}}@media (max-width: 380px){.q-level-row{gap:3px}.q-level{font-size:.72rem;padding:0 2px}.match-tags{--match-tag-fs: 12px}.match-tag,button.match-tag{padding:4px 8px}.brand{font-size:.95rem}.section-head .btn{font-size:.85rem;padding:0 10px}}.ad-card{position:relative;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,var(--surface)),var(--surface))}.ad-card-badge{position:absolute;top:12px;right:12px;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);border-radius:999px;padding:4px 10px}.pay-point-list{margin:10px 0 0;padding-left:18px}.pay-point-list li{margin-bottom:8px}.sku-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.billing-page{padding-bottom:48px}.admin-product-panel{margin-bottom:18px;padding:18px 18px 14px}.admin-product-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;flex-wrap:wrap}.admin-product-title{margin:0 0 6px;font-size:1.08rem}.admin-product-desc{margin:0;max-width:52ch;font-size:.86rem;color:var(--ink-2);line-height:1.5}.admin-product-stats{display:flex;gap:14px;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--ink) 4%,var(--surface));border:1px solid var(--line);font-size:.84rem;color:var(--ink-2)}.admin-product-stats strong{color:var(--ink);font-weight:750}.admin-price-guide{margin:0 0 16px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.admin-price-guide-title{margin:0 0 8px;font-size:.8rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}.admin-price-guide-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.admin-price-guide-list li{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.88rem;line-height:1.4}.admin-price-guide-list strong{min-width:4.5em;color:var(--ink)}.admin-price-guide-list span{color:var(--ink-2)}.admin-product-hint{margin:0 0 10px}.admin-product-group{margin-top:16px}.admin-product-group-title{margin:0 0 10px;font-size:.95rem;display:flex;align-items:baseline;gap:10px}.admin-product-group-title em{font-style:normal;font-size:.78rem;font-weight:650;color:var(--ink-3)}.admin-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.admin-product-card{display:grid;gap:10px;padding:14px;border-radius:16px;border:1.5px solid var(--line);background:color-mix(in srgb,var(--ink) 2%,var(--surface));transition:border-color .18s ease,box-shadow .18s ease}.admin-product-card.is-on{border-color:color-mix(in srgb,var(--blue) 28%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 8%,transparent)}.admin-product-card.is-off{opacity:.78}.admin-product-card.is-dirty{border-color:color-mix(in srgb,var(--warning, #ff9f0a) 45%,var(--line))}.admin-product-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-product-status{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:750}.admin-product-status.on{background:color-mix(in srgb,var(--green) 16%,transparent);color:color-mix(in srgb,var(--green) 70%,var(--ink))}.admin-product-status.off{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-3)}.admin-product-dirty{font-size:.72rem;font-weight:750;color:color-mix(in srgb,var(--warning, #ff9f0a) 80%,#8a5a00)}.admin-product-unit{margin-left:auto;font-size:.78rem}.admin-product-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-product-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-product-actions .btn{height:36px;padding:0 14px;font-size:.88rem}@media (max-width: 640px){.admin-product-fields{grid-template-columns:1fr}.admin-product-actions .btn{flex:1 1 auto}}.billing-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.billing-flash{margin:0 0 12px}.billing-balance{margin-bottom:18px;padding:16px 16px 10px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.billing-balance-head{margin-bottom:8px}.billing-balance-head h2{margin:0;font-size:1.05rem}.billing-balance-head p{margin:4px 0 0;font-size:.84rem;color:var(--ink-3)}.billing-quota-list{margin:0;padding:0;list-style:none}.billing-quota-list li+li{border-top:1px solid var(--line)}.billing-quota-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 4px;border:0;background:transparent;cursor:pointer;color:inherit;font:inherit;text-align:left;border-radius:10px}.billing-quota-row:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}.billing-quota-row.is-on .billing-quota-label{color:var(--blue)}.billing-quota-label{font-weight:650;color:var(--ink)}.billing-quota-num{font-family:var(--display, inherit);font-size:1.2rem;font-weight:800;letter-spacing:-.02em;min-width:2.5ch;text-align:right}.billing-quota-unit{color:var(--ink-3);font-size:.84rem;min-width:1.5em}.billing-chip-row,.billing-chip{display:none}.billing-checkout{display:grid;gap:16px}.billing-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow)}.billing-block-head{margin-bottom:14px}.billing-block-head h2{margin:0;font-family:var(--display, inherit);font-size:1.05rem;font-weight:700}.billing-block-head p{margin:4px 0 0;color:var(--ink-2);font-size:.88rem}.billing-block-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.billing-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.billing-tab{border:1px solid var(--line);background:transparent;color:var(--ink-2);border-radius:999px;padding:7px 14px;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.billing-tab.is-on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.billing-sku-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.billing-sku{position:relative;text-align:left;border:1.5px solid var(--line);background:color-mix(in srgb,var(--ink) 2%,var(--surface));border-radius:16px;padding:14px 14px 12px;cursor:pointer;color:inherit;font:inherit;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.billing-sku:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.billing-sku.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.billing-sku-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:999px;padding:3px 8px;margin-bottom:8px}.billing-sku-name{display:block;font-size:.98rem;font-weight:700;line-height:1.3}.billing-sku-meta{display:block;margin-top:4px;color:var(--ink-2);font-size:.82rem}.billing-sku-price{display:block;margin-top:12px;font-family:var(--display, inherit);font-size:1.45rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.billing-sku-yen{font-size:.85rem;margin-right:2px;font-weight:600}.billing-sku-check{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}.billing-quota-strip{margin:14px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:720px}.billing-quota-strip li{min-width:0;display:flex}.billing-quota-chip{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;gap:8px;width:100%;min-height:72px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--ink) 2%,var(--surface));border:1.5px solid var(--line);cursor:pointer;color:inherit;font:inherit;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.billing-quota-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.billing-quota-chip.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.billing-quota-chip strong{color:var(--ink);font-weight:750;font-size:.92rem;line-height:1.25}.billing-quota-chip-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;color:var(--ink-2);font-size:.8rem;line-height:1.35}.billing-quota-chip-meta b{color:var(--ink);font-weight:750;font-variant-numeric:tabular-nums;font-size:.95rem;margin-left:2px}@media (max-width: 720px){.billing-quota-strip{grid-template-columns:1fr}.billing-quota-chip{min-height:0}}.billing-order-stale{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--warning, #ff9f0a) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warning, #ff9f0a) 28%,var(--line));color:var(--ink);font-size:.82rem;line-height:1.4}.billing-methods{display:grid;gap:10px}.billing-method{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 14px;cursor:pointer;color:inherit;font:inherit;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.billing-method:hover:not(:disabled){border-color:color-mix(in srgb,var(--ink) 18%,var(--line))}.billing-method.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.billing-method:disabled{opacity:.55;cursor:not-allowed}.pay-brand-icon{flex:0 0 auto;width:32px;height:32px;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px #0000001a}.billing-method-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.billing-method-text strong{font-size:.98rem}.billing-method-text span{color:var(--ink-2);font-size:.8rem}.billing-method-radio{width:20px;height:20px;border-radius:50%;border:2px solid color-mix(in srgb,var(--ink) 22%,transparent);position:relative;flex:0 0 auto}.billing-method.is-on .billing-method-radio{border-color:var(--accent)}.billing-method.is-on .billing-method-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}.billing-paybar{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 10%,var(--surface)) 0%,var(--surface) 55%);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:grid;gap:12px}.billing-paybar-sum{display:flex;justify-content:space-between;align-items:baseline}.billing-paybar-sum span{color:var(--ink-2);font-size:.92rem}.billing-paybar-sum strong{font-family:var(--display, inherit);font-size:1.85rem;font-weight:700;letter-spacing:-.03em}.billing-paybar-sum em{font-style:normal;font-size:1rem;margin-right:2px;font-weight:600}.billing-pay-btn{width:100%;min-height:48px;font-size:1.02rem;font-weight:700}.billing-paybar-hint{margin:0;font-size:.84rem;text-align:center}.billing-ent-list,.billing-order-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.billing-ent-list li,.billing-order-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 0;border-top:1px solid var(--line)}.billing-ent-list li:first-child,.billing-order-list li:first-child{border-top:0;padding-top:0}.billing-ent-list strong{font-variant-numeric:tabular-nums}.billing-ent-list em{font-style:normal;color:var(--ink-3);font-size:.82rem}.billing-order-list li>div{display:flex;flex-direction:column;gap:2px}.billing-order-actions{display:flex;gap:4px}.billing-sheet{position:fixed;inset:0;z-index:80;display:grid;place-items:end center;padding:16px}.billing-sheet-backdrop{position:absolute;inset:0;border:0;background:#0f121c7a;cursor:pointer;animation:billing-fade .22s ease both}.billing-sheet-card{position:relative;width:min(440px,100%);max-height:min(88vh,720px);overflow:auto;background:var(--surface);border-radius:22px 22px 18px 18px;padding:18px 18px 20px;box-shadow:0 -8px 40px #0000002e;animation:billing-rise .28s cubic-bezier(.22,1,.36,1) both}.billing-sheet-card-lg{width:min(520px,100%);padding:22px 22px 24px}.billing-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.billing-sheet-brand{display:flex;gap:12px;align-items:center}.billing-sheet-brand .pay-brand-icon{width:40px;height:40px}.billing-sheet-brand strong{display:block;font-size:1.12rem}.billing-sheet-brand span{display:block;color:var(--ink-2);font-size:.84rem;margin-top:2px}.billing-sheet-close{flex:0 0 auto}.billing-sheet-price{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 16px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--ink) 3%,var(--surface));border:1px solid var(--line)}.billing-sheet-price span{color:var(--ink-2);font-size:.95rem}.billing-sheet-price strong{font-family:var(--display, inherit);font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.billing-sheet-price em{font-style:normal;font-size:1.05rem;margin-right:2px;font-weight:600}.billing-jump-btn{width:100%;min-height:48px;font-size:1.02rem;font-weight:700;margin-bottom:8px}.billing-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px 0 8px;width:100%}.billing-qr img{display:block;width:260px;max-width:min(260px,72vw);height:auto;margin:0 auto;border-radius:12px;background:#fff;box-shadow:0 4px 20px #00000014}.billing-qr p{margin:12px 0 0;color:var(--ink-2);font-size:.88rem;text-align:center;width:100%}.billing-sheet-hint{margin:8px 0 0;text-align:center;font-size:.86rem}.billing-sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.billing-sheet-actions .btn-primary,.billing-sheet-actions .btn-ghost{flex:1 1 140px}.billing-order-card{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px 0!important;border-top:1px solid var(--line)}.billing-order-card:first-child{border-top:0!important;padding-top:0!important}.billing-order-main{flex:1;min-width:0}.billing-order-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.billing-order-title strong{font-size:.98rem}.billing-status{font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 8px;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-2)}.billing-status.is-paid{background:color-mix(in srgb,var(--green) 16%,transparent);color:color-mix(in srgb,var(--green) 70%,#0a0)}.billing-status.is-pending,.billing-status.is-created{background:color-mix(in srgb,var(--warning) 18%,transparent);color:color-mix(in srgb,var(--warning) 55%,#111)}.billing-status.is-closed,.billing-status.is-refunded{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-3)}.billing-order-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-2);font-size:.82rem;margin-bottom:4px}.billing-order-time{font-size:.78rem;word-break:break-all}.billing-order-side{text-align:right;flex:0 0 auto;display:grid;gap:8px;justify-items:end}.billing-order-amount{font-family:var(--display, inherit);font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.billing-order-amount em{font-style:normal;font-size:.85rem;margin-right:1px}.billing-order-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.billing-order-actions .btn-primary{min-height:34px;padding:0 12px;font-size:.86rem}.billing-success-card{text-align:center}.billing-success-mark{width:64px;height:64px;margin:8px auto 12px;border-radius:50%;display:grid;place-items:center;font-size:1.8rem;font-weight:700;color:#fff;background:linear-gradient(145deg,#34c759,#248a3d);box-shadow:0 8px 24px #34c75959}.billing-success-title{margin:0;font-family:var(--display, inherit);font-size:1.35rem}.billing-success-sub{margin:6px 0 0;font-size:.9rem}.billing-success-amount{margin:18px 0 14px;font-family:var(--display, inherit);font-size:2.4rem;font-weight:700;letter-spacing:-.03em}.billing-success-amount em{font-style:normal;font-size:1.2rem;margin-right:2px}.billing-success-facts{list-style:none;margin:0 0 18px;padding:0;text-align:left;border:1px solid var(--line);border-radius:14px;overflow:hidden}.billing-success-facts li{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid var(--line);font-size:.92rem}.billing-success-facts li:first-child{border-top:0}.billing-success-facts span{color:var(--ink-2)}.billing-success-facts strong{text-align:right}.billing-success-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}.quota-paywall{position:fixed;inset:0;z-index:80;display:grid;place-items:end center;padding:0}.quota-paywall-backdrop{position:absolute;inset:0;border:0;background:#0f0f146b;cursor:pointer}.quota-paywall-card{position:relative;z-index:1;width:min(100%,440px);margin:0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--surface);box-shadow:0 -12px 40px #0000002e;animation:billing-rise .28s ease}.quota-paywall-kicker{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--ink-3);text-transform:uppercase}.quota-paywall-card h2{margin:6px 0 8px;font-size:1.25rem}.quota-paywall-card .muted{margin:0 0 14px;font-size:.9rem;line-height:1.45}.quota-paywall-balance{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--ink) 4%,var(--surface));font-size:.92rem}.quota-paywall-balance strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.quota-paywall-actions{display:flex;flex-direction:column;gap:8px}.quota-paywall-actions .btn{width:100%;min-height:44px}@media (min-width: 720px){.quota-paywall{place-items:center;padding:24px}.quota-paywall-card{border-radius:20px;padding:24px;box-shadow:0 16px 48px #0003}}@keyframes billing-fade{0%{opacity:0}to{opacity:1}}@keyframes billing-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 720px){.billing-sheet{place-items:center}.billing-sheet-card{border-radius:20px}.billing-sheet-card-lg{width:min(560px,92vw)}}@media (max-width: 560px){.billing-sku-grid{grid-template-columns:1fr}.billing-paybar-sum strong{font-size:1.55rem}.billing-order-card{flex-direction:column}.billing-order-side{width:100%;text-align:left;justify-items:start;flex-direction:row;display:flex;align-items:center;justify-content:space-between}.billing-sheet-price strong{font-size:1.7rem}}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.analytics-kpi{background:color-mix(in srgb,var(--ink) 3%,var(--surface));border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:4px}.analytics-kpi strong{font-size:1.25rem;font-family:var(--display)}.funnel-bars{display:flex;flex-direction:column;gap:8px}.funnel-row{display:grid;grid-template-columns:96px 1fr 40px;gap:8px;align-items:center}.funnel-label{font-size:.85rem;color:var(--ink-2)}.funnel-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--ink) 6%,transparent);overflow:hidden}.funnel-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),color-mix(in srgb,var(--blue) 55%,var(--green)));min-width:2px;transition:width .35s ease}.funnel-value{text-align:right;font-size:.85rem;font-weight:600}@media (max-width: 640px){.analytics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.funnel-row{grid-template-columns:72px 1fr 36px}.sku-row{flex-direction:column;align-items:flex-start}}.ops-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;margin-top:16px}.ops-kpi{position:relative;padding:16px 16px 14px;border-radius:var(--radius-sm);background:linear-gradient(165deg,color-mix(in srgb,var(--blue) 8%,var(--surface)),var(--surface));border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.ops-kpi:after{content:"";position:absolute;inset:auto -20% -40% auto;width:90px;height:90px;border-radius:50%;background:color-mix(in srgb,var(--blue) 10%,transparent);pointer-events:none}.ops-kpi-label{margin:0;font-size:.78rem;font-weight:600;color:var(--ink-2);letter-spacing:.02em}.ops-kpi-value{margin:8px 0 6px;font-family:var(--display);font-size:1.75rem;font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}.ops-kpi-sub{margin:0;font-size:.75rem;line-height:1.4;color:var(--ink-3)}.hour-hist{margin-top:4px}.hour-hist-bars{position:relative;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px;align-items:end;height:120px;padding:8px 4px 4px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 3%,var(--surface));border:1px solid var(--line)}.hour-hist-col{display:flex;align-items:flex-end;justify-content:center;height:100%;padding:0;border:0;background:transparent;border-radius:6px;cursor:pointer}.hour-hist-bar{display:block;width:100%;max-width:14px;height:var(--bar-h, 8%);min-height:2px;border-radius:5px 5px 3px 3px;background:color-mix(in srgb,var(--ink) 18%,transparent);transition:height .25s ease,background .15s ease,transform .15s ease}.hour-hist-col.peak .hour-hist-bar{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 75%,#64d2ff),var(--blue))}.hour-hist-col.hover .hour-hist-bar,.hour-hist-col:focus-visible .hour-hist-bar{background:var(--blue);transform:scaleX(1.15)}.hour-hist-tooltip{position:absolute;left:50%;top:10px;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--ink) 88%,transparent);color:#fff;font-size:.78rem;line-height:1.3;pointer-events:none;box-shadow:0 8px 24px #0000002e;white-space:nowrap;max-width:calc(100% - 16px)}.hour-hist-tooltip strong{font-family:var(--display);font-size:.85rem}.hour-hist-axis{display:flex;justify-content:space-between;margin-top:8px;font-size:.72rem;color:var(--ink-3)}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.4;border:1px solid transparent}.status-pill.ok{color:color-mix(in srgb,var(--green) 70%,var(--ink));background:color-mix(in srgb,var(--green) 14%,transparent);border-color:color-mix(in srgb,var(--green) 28%,transparent)}.status-pill.warn{color:color-mix(in srgb,var(--warning) 80%,var(--ink));background:color-mix(in srgb,var(--warning) 16%,transparent);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.status-pill.bad{color:color-mix(in srgb,var(--danger) 75%,var(--ink));background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.status-pill.neutral{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:var(--line)}.role-perm-grid{display:grid;gap:10px}.role-perm-card{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--ink) 2.5%,var(--surface));border:1px solid var(--line)}.role-perm-card strong{display:block;margin-bottom:4px;font-size:.92rem}.role-perm-card p{margin:0;font-size:.8rem;line-height:1.5;color:var(--ink-2)}.admin-search-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.admin-roles-hint{margin-bottom:14px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 2%,var(--surface))}.admin-roles-hint summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--ink-2)}.admin-user-layout{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(0,1.35fr);gap:14px;align-items:start}.admin-user-list{padding:6px;max-height:min(70vh,720px);overflow:auto}.admin-user-item{display:grid;gap:8px;width:100%;text-align:left;border:0;border-radius:12px;padding:12px;background:transparent;color:var(--ink);cursor:pointer}.admin-user-item:hover{background:var(--hover)}.admin-user-item.active{background:var(--accent-soft)}.admin-user-item-main{display:grid;gap:2px}.admin-user-item-main strong{font-size:.95rem}.admin-user-item-main .muted{font-size:.75rem}.admin-user-item-meta{display:flex;flex-wrap:wrap;gap:6px}.admin-user-detail{display:grid;gap:0;min-width:0}.admin-user-hero{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;padding:18px 20px}.admin-user-hero strong{font-size:1.15rem;letter-spacing:-.02em}.admin-status-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-entitlement-summary{display:flex;flex-wrap:wrap;gap:6px}.admin-mini-ledger{margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}.admin-mini-ledger-row{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;padding:5px 0;border-bottom:1px dashed color-mix(in srgb,var(--line) 80%,transparent)}.admin-mini-ledger-row:last-child{border-bottom:0}@media (max-width: 900px){.admin-user-layout{grid-template-columns:1fr}.admin-user-list{max-height:280px}}.funnel-row{position:relative}.funnel-row:hover .funnel-fill,.funnel-row:focus-within .funnel-fill{filter:brightness(1.08)}.funnel-tip{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--ink) 88%,transparent);color:#fff;font-size:.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease;z-index:2}.funnel-row:hover .funnel-tip,.funnel-row:focus-within .funnel-tip{opacity:1}.analytics-kpi{border:1px solid var(--line);box-shadow:0 2px 12px #0071e30a;transition:transform .15s ease,border-color .15s ease}.analytics-kpi:hover{transform:translateY(-1px);border-color:var(--accent-soft-border)}.home-page{padding:0;max-width:720px;margin:0 auto}.home-shell{padding-bottom:32px}.home-cover{position:relative;height:min(42vw,220px);min-height:160px;background:linear-gradient(145deg,#dfe7f2,#eef2f7 45%,#f7f3ee);overflow:hidden}.home-cover-img{width:100%;height:100%;object-fit:cover;display:block}.home-cover-fallback{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,color-mix(in srgb,var(--blue) 18%,transparent),transparent 55%),radial-gradient(ellipse at 80% 70%,rgba(48,209,88,.12),transparent 50%)}.home-back,.home-edit-btn{position:absolute;top:calc(var(--topnav-offset) + 8px);z-index:2;background:#ffffffd1!important;backdrop-filter:blur(8px);border-radius:999px!important;min-width:40px;padding:6px 12px!important}.home-back{left:12px}.home-edit-btn{right:12px}.home-profile{position:relative;padding:0 20px 8px;margin-top:-36px}.home-avatar-wrap{width:72px;height:72px;border-radius:50%;border:3px solid var(--surface);overflow:hidden;background:var(--surface);box-shadow:0 4px 16px #00000014}.home-avatar-img,.home-avatar-fallback{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.4rem;background:linear-gradient(135deg,#7eb6ff,#4cd964);color:#fff}.home-name{margin:12px 0 4px;font-size:1.35rem;letter-spacing:-.03em}.home-meta{margin:0;font-size:.86rem}.home-bio{margin:12px 0 0;line-height:1.55;white-space:pre-wrap;word-break:break-word}.home-shop-card{margin-top:16px;padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--blue) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line))}.home-shop-kicker{margin:0 0 4px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.home-shop-intro{margin:8px 0 0;font-size:.92rem;line-height:1.45}.home-gallery{margin-top:18px}.home-section-title{margin:0;font-size:1.02rem;letter-spacing:-.02em}.home-edit-panel{margin:12px 16px 0}.home-notes{padding:18px 16px 0}.home-notes-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.home-empty{padding:28px 12px;text-align:center}.home-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-note-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.home-note-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.home-note-media{aspect-ratio:3 / 4;background:var(--fill-elevated);overflow:hidden}.home-note-media img{width:100%;height:100%;object-fit:cover}.home-note-textonly{aspect-ratio:3 / 4;padding:14px;background:linear-gradient(160deg,#f7f8fa,#eef2f7);display:flex;align-items:center}.home-note-textonly p{margin:0;font-size:.92rem;line-height:1.45;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.home-note-foot{padding:10px 12px 12px;display:grid;gap:4px}.home-note-foot strong{font-size:.88rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-note-foot .muted{font-size:.75rem}.author-link{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;color:inherit;font:inherit;flex:1;min-width:0}.author-link:hover strong{color:var(--blue)}.forum-search-tabs{display:flex;gap:8px;margin:10px 0 4px}.forum-search-tab{border:0;background:transparent;padding:6px 12px;border-radius:999px;font:inherit;font-weight:650;font-size:.88rem;color:var(--ink-2);cursor:pointer}.forum-search-tab.on{background:#111;color:#fff}.forum-user-results{margin-bottom:14px}.forum-user-results-title{margin:0 0 8px;font-size:.92rem;color:var(--ink-2)}.forum-user-list{display:grid;gap:8px}.forum-user-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);font:inherit;color:inherit}.forum-user-row:hover{border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.forum-user-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:2px;text-align:left;cursor:pointer;font:inherit;color:inherit}.forum-user-row .user-avatar{overflow:hidden;flex-shrink:0}.forum-user-row .user-avatar img{width:100%;height:100%;object-fit:cover}.forum-user-row-text{flex:1;min-width:0}.forum-user-row-text strong{display:block}.forum-user-row-text .muted{margin:2px 0 0;font-size:.8rem}.forum-user-bio{margin:4px 0 0;font-size:.82rem;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 640px){.home-note-grid{gap:8px}.home-cover{min-height:140px}}.notice-toast-host{position:fixed;z-index:12000;top:calc(var(--topnav-height) + 8px);left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 24px));display:grid;gap:8px;pointer-events:none}.notice-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);animation:notice-in .22s ease both}.notice-toast-success{border-left:3px solid var(--green)}.notice-toast-error{border-left:3px solid var(--danger, #d70015)}.notice-toast-warning{border-left:3px solid var(--warning, #ff9f0a)}.notice-toast-info{border-left:3px solid var(--blue)}.notice-toast-body{flex:1;min-width:0}.notice-toast-title{display:block;font-size:.8125rem;font-weight:700;color:var(--ink);margin-bottom:2px}.notice-toast-msg{margin:0;font-size:.875rem;line-height:1.45;color:var(--ink-2);white-space:pre-wrap}.notice-toast-x{border:0;background:transparent;color:var(--ink-3);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 2px}.notice-overlay{position:fixed;inset:0;z-index:12100;background:#0f172a6b;display:grid;place-items:center;padding:20px;animation:notice-fade .18s ease both}.notice-dialog{width:min(420px,100%);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:22px 22px 18px;box-shadow:var(--shadow);animation:notice-pop .22s ease both}.notice-brand{margin:0 0 6px;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--blue);display:inline-flex;align-items:center;gap:6px}.notice-brand-mark{width:18px;height:18px;border-radius:5px;object-fit:cover;flex-shrink:0}.notice-dialog-title{margin:0 0 10px;font-size:1.125rem;font-weight:750;color:var(--ink);line-height:1.35}.notice-dialog-msg{margin:0;font-size:.9375rem;line-height:1.55;color:var(--ink-2);white-space:pre-wrap}.notice-dialog-detail{margin:8px 0 0;font-size:.8125rem;line-height:1.5;color:var(--ink-3);white-space:pre-wrap}.notice-prompt-form{margin-top:14px}.notice-prompt-input{width:100%;height:44px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:.9375rem;color:var(--ink);background:var(--bg)}.notice-prompt-input:focus{outline:none;border-color:color-mix(in srgb,var(--blue) 55%,transparent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}.notice-dialog-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@keyframes notice-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-fade{0%{opacity:0}to{opacity:1}}@keyframes notice-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.benefits-center{display:grid;gap:18px}.benefits-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.benefits-balance-card{min-width:140px;padding:14px 18px;border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 14%,var(--surface)),color-mix(in srgb,var(--blue) 6%,var(--bg)));border:1px solid var(--accent-soft-border);text-align:right}.benefits-balance-label{display:block;font-size:.78rem;color:var(--ink-3)}.benefits-balance-num{font-family:var(--display);font-size:2rem;letter-spacing:-.04em;color:var(--blue)}.benefits-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:stretch}@media (max-width: 860px){.benefits-grid{grid-template-columns:1fr}}.benefits-side{display:grid;gap:14px;grid-template-rows:auto 1fr;min-height:0;height:100%}.benefits-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--surface);box-shadow:0 8px 24px #0000000a}.benefits-card.wheel-card{display:flex;flex-direction:column;height:100%;min-height:0}.benefits-card h2{margin:0 0 4px;font-size:1.05rem}.benefits-card-head{margin-bottom:12px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.benefits-card-head .odds-btn{flex-shrink:0;height:36px;padding:0 12px;font-size:.84rem}.odds-dialog{width:min(440px,100%);padding:20px 18px 16px}.odds-dialog .notice-dialog-msg{margin-bottom:0;font-size:.88rem}.odds-table-wrap{margin-top:14px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--ink) 1.5%,var(--surface))}.odds-table{width:100%;border-collapse:collapse;font-size:.9rem}.odds-table th,.odds-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line)}.odds-table th{font-size:.78rem;font-weight:650;color:var(--ink-2);background:var(--hover)}.odds-table tbody tr:last-child td{border-bottom:0}.odds-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}.odds-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}.ok-hint{color:#15803d;font-size:.9rem;margin:0}.tiny{font-size:.78rem}.luck-wheel-stage{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:28px 16px 24px;border-radius:28px;overflow:hidden;min-height:360px;background:linear-gradient(168deg,color-mix(in srgb,var(--blue) 14%,var(--surface)),color-mix(in srgb,var(--blue) 28%,var(--surface)));border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line))}.luck-wheel-vignette,.luck-wheel-sparkles,.luck-wheel-rays,.luck-wheel-glow,.luck-wheel-bead-ring,.luck-wheel-orbit,.luck-wheel-rim,.luck-wheel-hub,.luck-wheel-inner-ring,.luck-wheel-lights{display:none}.luck-wheel-wrap{position:relative;width:min(100%,340px);aspect-ratio:1;margin:auto;z-index:1}.luck-wheel-pointer{position:absolute;top:-16px;left:50%;z-index:5;width:26px;height:34px;margin-left:-13px;filter:drop-shadow(0 4px 6px color-mix(in srgb,var(--blue) 22%,transparent))}.luck-wheel-pointer span{display:block;width:100%;height:100%;background:linear-gradient(180deg,#64d2ff 0%,var(--blue) 48%,#0040dd 100%);clip-path:polygon(50% 100%,8% 8%,92% 8%);border-radius:6px 6px 2px 2px}.luck-wheel{width:100%;height:100%;border-radius:50%;border:8px solid var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 28%,transparent);position:relative;transition:transform 4.2s cubic-bezier(.12,.82,.08,1)}.luck-wheel-dividers{position:absolute;inset:0;z-index:2;pointer-events:none}.luck-wheel-dividers i{position:absolute;left:50%;top:4%;width:1px;height:18%;margin-left:-.5px;background:#ffffff8c;transform-origin:50% 255%}.luck-wheel.is-spinning{pointer-events:none}.luck-wheel-label{position:absolute;inset:0;display:flex;justify-content:center;pointer-events:none;transform-origin:50% 50%;z-index:2}.luck-wheel-label em{display:block;margin-top:9%;font-style:normal;font-size:clamp(.78rem,2.8vw,.92rem);font-weight:800;letter-spacing:0;color:#fff;text-shadow:none;white-space:nowrap;max-width:none;overflow:visible;text-overflow:clip;text-align:center;padding:0;border-radius:0;background:none;line-height:1.1}.luck-spin-btn{position:absolute;inset:33%;z-index:4;display:grid;place-content:center;gap:2px;border:3px solid var(--surface);border-radius:50%;background:linear-gradient(155deg,#64d2ff,var(--blue) 48%,#0040dd);color:#fff;font-weight:800;letter-spacing:.03em;box-shadow:0 8px 18px color-mix(in srgb,var(--blue) 28%,transparent);cursor:pointer;line-height:1.1;transition:transform .15s ease}.luck-spin-btn:hover:not(:disabled){transform:scale(1.04)}.luck-spin-btn strong{font-size:.9rem;white-space:nowrap}.luck-spin-btn small{font-size:.55rem;font-weight:700;opacity:.92;letter-spacing:.14em}.luck-spin-btn:disabled,.luck-spin-btn.is-done{background:linear-gradient(160deg,color-mix(in srgb,var(--ink) 16%,var(--bg)),color-mix(in srgb,var(--ink) 28%,var(--bg)));color:var(--ink-2);box-shadow:none;cursor:default;transform:none}.luck-prize-toast{text-align:center;font-weight:800;color:var(--blue);margin:16px auto 0;padding:10px 18px;max-width:320px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-soft-border);animation:luck-toast-in .45s ease both}.luck-prize-toast.is-muted{color:var(--ink-2);background:color-mix(in srgb,var(--surface) 80%,transparent);border-color:var(--line);font-weight:600}.invitee-list{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.invitee-list h3{margin:0 0 8px;font-size:.88rem}.invitee-list ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.invitee-list li{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:.86rem}@keyframes luck-toast-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.wheel-card.is-burst .luck-prize-toast{animation:luck-toast-in .45s ease both,luck-pulse 1.2s ease .2s 2}@keyframes luck-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.luck-wheel-lights{display:none}.share-brand-banner{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;background:linear-gradient(120deg,#c6282814,#0071e314);border:1px solid rgba(198,40,40,.12);margin-bottom:10px}.share-brand-row{display:flex;align-items:center;gap:8px}.share-brand-banner strong{font-size:1.05rem;letter-spacing:-.02em}.share-brand-banner span{font-size:.8rem;color:var(--ink-2);padding-left:36px}.quota-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.quota-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:var(--hover)}.invite-code-row{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:nowrap}.invite-code-row .invite-code{flex:1;min-width:0;padding:10px 14px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent-soft-border);font-family:var(--font);font-size:1.05rem;font-weight:750;letter-spacing:.08em;color:var(--ink);line-height:1.2}.invite-code-row .btn{white-space:nowrap;flex-shrink:0}.redeem-grid{display:grid;margin-top:14px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--ink) 1.5%,var(--surface))}.redeem-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.redeem-item:last-child{border-bottom:0}.redeem-item-main{display:grid;gap:4px;min-width:0}.redeem-item-main strong{font-size:.95rem;font-weight:750;color:var(--ink);line-height:1.3}.redeem-item-main span{color:var(--ink-2);font-size:.82rem;font-variant-numeric:tabular-nums}.redeem-btn{flex-shrink:0;height:36px;padding:0 14px;font-size:.86rem}.redeem-btn:disabled{opacity:.45}.ledger-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.ledger-list li{display:flex;justify-content:space-between;font-size:.9rem;padding:8px 0;border-bottom:1px solid var(--line)}.ledger-list .plus{color:#15803d}.ledger-list .minus{color:#b91c1c}.ledger-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.ledger-card-head h2{margin:0 0 4px}.ledger-total{flex-shrink:0;white-space:nowrap}.ledger-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.ledger-table{width:100%;border-collapse:collapse;font-size:.88rem}.ledger-table th,.ledger-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.ledger-table th{font-size:.78rem;font-weight:650;color:var(--ink-2);background:var(--hover);white-space:nowrap}.ledger-table tbody tr:last-child td{border-bottom:0}.ledger-table tbody tr:hover td{background:color-mix(in srgb,var(--blue) 4%,transparent)}.ledger-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-table .plus{color:#15803d;font-weight:700}.ledger-table .minus{color:#b91c1c;font-weight:700}.ledger-time{white-space:nowrap;color:var(--ink-2);font-size:.82rem}.ledger-detail{color:var(--ink-2);max-width:220px}.ledger-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.ledger-pager-meta{font-size:.85rem;white-space:nowrap}@media (max-width: 720px){.ledger-table th:nth-child(3),.ledger-table td:nth-child(3){display:none}.ledger-detail{max-width:140px}}.coupon-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.coupon-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.coupon-code{display:inline-block;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}.notify-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.notify-list li{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.notify-list li.unread{border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.notify-list strong{display:block;margin-bottom:4px}.notify-list p{margin:0 0 8px;color:var(--ink-2);font-size:.9rem}.notify-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.notify-item-head strong{margin:0}.notify-cat{font-size:.75rem;flex-shrink:0}.notify-exchange{display:grid;gap:10px;margin:8px 0 10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--blue) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line))}.notify-perspective{margin:0;font-size:.82rem;line-height:1.45}.notify-exchange-actions{display:grid;gap:10px}.notify-reject-box{display:grid;gap:6px}.notify-reject-box textarea{width:100%;resize:vertical;min-height:56px;border-radius:10px;border:1px solid var(--line);padding:8px 10px;font:inherit;background:var(--surface);color:var(--ink)}.notify-check{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--ink-2)}.notify-wechat{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.notify-wechat strong{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.03em}.notify-ack-reject{display:grid;gap:8px}.notify-reject-reason{margin:0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--danger, #d70015) 8%,var(--surface));color:var(--ink);font-size:.9rem}.settings-subhead{margin:16px 0 8px;font-size:.95rem}.chat-open-overlay{position:fixed;inset:0;z-index:80;background:#0f0f126b;display:flex;align-items:center;justify-content:center;padding:16px;animation:chat-fade-in .18s ease}.chat-open-sheet{width:min(560px,100%);max-height:min(88vh,720px);overflow:auto;background:var(--surface);border-radius:22px;padding:16px 18px 18px;box-shadow:0 16px 48px #00000029;animation:chat-sheet-in .22s cubic-bezier(.22,1,.36,1)}.chat-open-handle{display:none}.chat-open-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.chat-open-head h2{margin:0;font-size:1.12rem;font-weight:750;letter-spacing:-.01em}.chat-open-head .muted{margin:4px 0 0;font-size:.82rem}.chat-open-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chat-suggest-chip{border:0;border-radius:999px;padding:8px 12px;background:color-mix(in srgb,var(--ink) 5%,var(--bg));color:var(--ink);font-size:.82rem;cursor:pointer;max-width:100%;text-align:left;line-height:1.35}.chat-suggest-chip:hover{background:color-mix(in srgb,var(--blue) 12%,var(--bg));color:var(--blue)}.chat-open-input{width:100%;box-sizing:border-box;border:0;border-radius:16px;background:color-mix(in srgb,var(--ink) 5%,var(--bg));padding:12px 14px;font:inherit;color:var(--ink);resize:none;min-height:88px;outline:none}.chat-open-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 30%,transparent)}.chat-open-count{text-align:right;font-size:.72rem;color:var(--ink-3);margin:6px 2px 12px}.chat-open-actions{display:flex;gap:10px;justify-content:flex-end}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}@keyframes chat-sheet-in{0%{transform:translateY(10px) scale(.98);opacity:.55}to{transform:translateY(0) scale(1);opacity:1}}@keyframes chat-sheet-up{0%{transform:translateY(10px) scale(.98);opacity:.55}to{transform:translateY(0) scale(1);opacity:1}}.chat-page{max-width:560px;margin:0 auto;padding-bottom:96px;box-sizing:border-box}.chat-pad{padding:16px 20px}.chat-list-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 8px}.chat-list-title{margin:0;font-family:var(--display);font-size:1.65rem;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px}.chat-list-unread-pill{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#fa5151;color:#fff;font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:0;line-height:1}.chat-list-sub{margin:6px 0 0;color:var(--ink-2);font-size:.88rem}.chat-empty{text-align:center;padding:64px 24px 40px}.chat-empty-title{margin:0 0 8px;font-size:1.1rem;font-weight:700}.chat-empty-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.chat-list{list-style:none;margin:0;padding:0}.chat-list-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 18px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);transition:background .15s ease}.chat-list-item:hover,.chat-list-item:active{background:color-mix(in srgb,var(--ink) 3.5%,transparent)}.chat-list-item.unread .chat-preview{color:var(--ink);font-weight:600}.chat-avatar-wrap{position:relative;flex-shrink:0;width:48px;height:48px}.chat-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 55%,#94a3b8),var(--blue));color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.05rem;overflow:hidden;flex-shrink:0;border:0;padding:0;cursor:pointer}.chat-avatar.sm{width:36px;height:36px;font-size:.9rem}.chat-avatar.xs{width:28px;height:28px;font-size:.75rem}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-list-main{flex:1;min-width:0}.chat-list-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-list-row strong{font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-row time{flex-shrink:0;font-size:.75rem;color:var(--ink-2)}.chat-list-row.preview{margin-top:4px}.chat-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);font-size:.86rem}.chat-list-row.preview .chat-unread-dot{margin-left:4px}.chat-source-chip{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);font-size:.7rem;font-weight:650;vertical-align:1px}.chat-unread-dot{width:8px;height:8px;border-radius:50%;background:#fa5151;flex-shrink:0}.chat-unread-dot.on-avatar{position:absolute;top:-1px;right:-1px;width:10px;height:10px;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--bg) 92%,#fff)}.chat-thread-page{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 50% -10%,color-mix(in srgb,var(--blue) 8%,transparent),transparent 55%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%,#ececf0),var(--bg));max-width:560px;margin:0 auto}.chat-thread-bar{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 4px;padding-top:max(10px,env(safe-area-inset-top));background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);flex-shrink:0}.chat-icon-btn{width:40px;height:40px;border:0;background:transparent;font-size:1.8rem;line-height:1;color:var(--ink);cursor:pointer;border-radius:12px}.chat-icon-btn:hover{background:var(--hover)}.chat-thread-peer{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;padding:4px;border-radius:12px}.chat-thread-peer strong{display:block;font-size:.98rem}.chat-thread-from{display:block;margin-top:2px;font-size:.72rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.chat-thread-bar-actions{flex-shrink:0}.chat-bar-link{font-size:.82rem;padding:6px 10px}.chat-thread-scroll{flex:1;overflow-y:auto;padding:12px 14px 18px;-webkit-overflow-scrolling:touch}.chat-hint-banner{margin:0 auto 14px;max-width:92%;text-align:center;font-size:.78rem;color:var(--ink-2);background:color-mix(in srgb,var(--warning) 14%,var(--surface));border-radius:999px;padding:8px 14px}.chat-hint-banner.soft{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.chat-hint-banner.safety{max-width:96%;border-radius:14px;padding:10px 14px;line-height:1.45;font-weight:600;color:color-mix(in srgb,var(--danger) 72%,#5a1018);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 22%,var(--line))}.safety-notice{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:start;margin:0 0 16px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--danger) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 20%,var(--line))}.safety-notice-tag{display:inline-flex;align-items:center;justify-content:center;margin-top:1px;padding:.28em .62em;border-radius:999px;font-size:.72rem;font-weight:750;letter-spacing:.02em;white-space:nowrap;line-height:1;color:#fff;background:linear-gradient(145deg,#c62828,#e53935)}.safety-notice p{margin:0;font-size:.84rem;line-height:1.5;color:color-mix(in srgb,var(--danger) 68%,#4a1218);font-weight:600}.chat-list-safety{margin:0 0 14px}.match-safety{margin-top:12px;margin-bottom:0}.forum-safety{margin:0 0 14px}@media (max-width: 560px){.safety-notice{grid-template-columns:1fr;gap:8px}}.chat-pin-banner{display:flex;align-items:flex-start;gap:10px;margin:0 12px 8px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--blue) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));flex-shrink:0}.chat-pin-body{flex:1;min-width:0}.chat-pin-body strong{display:block;font-size:.82rem;color:var(--blue);margin-bottom:2px}.chat-pin-body p{margin:0;font-size:.86rem;color:var(--ink)}.chat-pin-close{border:0;background:transparent;color:var(--ink-3);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 2px}.chat-carpool-card-msg{margin:8px auto;max-width:86%;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line));text-align:left}.chat-carpool-card-msg strong{display:block;margin-bottom:4px}.chat-carpool-card-msg p{margin:0;font-size:.86rem}.chat-shortcut-row{display:flex;flex-wrap:wrap;gap:8px;padding:0 2px 8px}.chat-shortcut-btn{border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));background:color-mix(in srgb,var(--blue) 6%,var(--surface));color:var(--blue);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:650;cursor:pointer}.chat-shortcut-btn:disabled{opacity:.55;cursor:not-allowed}.chat-thread-page.is-group .chat-thread-peer{cursor:default}.chat-bubbles{display:flex;flex-direction:column;gap:12px}.chat-msg-block{display:flex;flex-direction:column;gap:10px}.chat-day-sep{align-self:center;margin:6px auto;padding:4px 12px;border-radius:999px;font-size:.72rem;font-weight:600;color:var(--ink-2);background:color-mix(in srgb,var(--ink) 6%,transparent)}.chat-match-card-msg{align-self:center;width:min(100% - 24px,360px);margin:4px auto 10px;padding:14px 14px 12px;border-radius:18px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--blue) 10%,var(--surface)),var(--surface));box-shadow:0 8px 20px color-mix(in srgb,var(--blue) 8%,transparent);display:grid;gap:10px}.chat-match-card-top{display:flex;align-items:center;gap:8px}.chat-match-card-kicker{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.chat-match-card-body{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-match-card-body strong{display:block;font-size:.98rem;letter-spacing:-.01em}.chat-match-card-body .muted{margin:4px 0 0;font-size:.82rem}.chat-match-card-pct{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.86rem;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);border:2px solid color-mix(in srgb,var(--blue) 28%,transparent)}.chat-match-card-cta{justify-self:start}.chat-contact-msg{align-self:center;width:min(100% - 24px,360px);margin:6px auto 10px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));background:color-mix(in srgb,var(--blue) 6%,var(--surface));display:grid;gap:10px;box-shadow:0 6px 18px color-mix(in srgb,var(--blue) 8%,transparent)}.chat-contact-msg-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.chat-contact-status-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;color:#b86e00;background:#b86e001f;white-space:nowrap}.chat-contact-msg.status-accepted .chat-contact-status-chip{color:#1a7f37;background:#1a7f371f}.chat-contact-msg.status-declined .chat-contact-status-chip{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 8%,transparent)}.chat-contact-msg-main{min-width:0;flex:1}.chat-contact-msg.status-accepted{border-color:color-mix(in srgb,#1a7f37 28%,var(--line));background:color-mix(in srgb,#1a7f37 8%,var(--surface))}.chat-contact-msg.status-declined{border-color:color-mix(in srgb,var(--ink) 14%,var(--line));background:color-mix(in srgb,var(--ink) 4%,var(--surface))}.chat-contact-msg-head{display:flex;gap:10px;align-items:flex-start}.chat-contact-msg-ico{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:700;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.chat-contact-msg.status-accepted .chat-contact-msg-ico{color:#1a7f37;background:#1a7f371f}.chat-contact-msg-head strong{display:block;font-size:.92rem}.chat-contact-msg-head .muted{margin:2px 0 0;font-size:.78rem}.chat-contact-msg-actions{display:flex;flex-wrap:wrap;gap:8px}.chat-contact-msg-wechat{display:grid;gap:8px;padding-top:4px;border-top:1px solid var(--line)}.chat-contact-msg-wechat>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86rem}.chat-contact-msg-wechat span{color:var(--ink-2);min-width:4.2em}.chat-contact-msg-wechat strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chat-pin-banner.match-pin{border-color:color-mix(in srgb,var(--blue) 24%,var(--line));background:color-mix(in srgb,var(--blue) 7%,var(--surface))}.chat-shortcut-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.chat-shortcut-btn{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:var(--blue);font-size:.8rem;font-weight:700;cursor:pointer}.chat-shortcut-status{font-size:.76rem;color:var(--ink-2)}.chat-shortcut-status.warn{color:#b86e00}.chat-bubble-row{display:flex;align-items:flex-end;gap:8px;max-width:88%}.chat-bubble-row.mine{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.chat-bubble-row.peer{align-self:flex-start}.chat-bubble-col{display:grid;gap:4px;min-width:0}.chat-bubble-row.mine .chat-bubble-col{justify-items:end}.chat-bubble{padding:10px 14px;border-radius:18px;font-size:.95rem;line-height:1.45;word-break:break-word;box-shadow:0 1px color-mix(in srgb,var(--ink) 4%,transparent)}.chat-bubble.peer{background:var(--surface);color:var(--ink);border-bottom-left-radius:6px}.chat-bubble.mine{background:linear-gradient(160deg,var(--blue),color-mix(in srgb,var(--blue) 75%,#0040dd));color:#fff;border-bottom-right-radius:6px}.chat-bubble-time{font-size:.68rem;color:var(--ink-2);padding:0 4px}.chat-sys{align-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;margin:10px auto;max-width:92%;text-align:center;font-size:.78rem;color:var(--ink-2)}.chat-sys>span:first-child{background:color-mix(in srgb,var(--ink) 7%,transparent);padding:4px 11px;border-radius:4px;line-height:1.5;color:var(--ink-2);font-size:.76rem;letter-spacing:.01em}.chat-sys-contact>span:first-child{font-size:.78rem;color:#888;background:color-mix(in srgb,var(--ink) 6%,transparent)}.chat-sys-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.chat-sys-wechat{display:flex;flex-direction:column;gap:6px;width:min(100%,280px);margin-top:2px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-align:left;font-size:.82rem}.chat-sys-wechat>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chat-sys-wechat span{color:var(--ink-3);flex-shrink:0}.chat-sys-wechat strong{font-weight:650;word-break:break-all}.chat-contact-card{margin:16px 4px 8px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 4%,transparent)}.chat-contact-card.pending{border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.chat-contact-title{margin:0 0 10px;font-weight:700;font-size:.95rem}.chat-contact-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.9rem}.chat-contact-row span:first-child{color:var(--ink-2);min-width:4.5em}.chat-contact-row strong{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem}.chat-contact-actions{display:flex;gap:10px;margin-top:12px}.chat-composer{flex-shrink:0;padding:8px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.chat-contact-cta,.chat-contact-cta-ico{display:none!important}.chat-composer-hint{margin:0 0 8px;text-align:center;font-size:.78rem;color:var(--ink-2)}.chat-composer-form{display:flex;align-items:flex-end;gap:8px}.chat-composer-tools{display:flex;align-items:center;gap:6px;flex-shrink:0}.chat-media-wrap{position:relative}.chat-media-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:30;min-width:132px;padding:6px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:0 10px 28px #0000001f;display:grid;gap:4px}.chat-media-menu button{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;font-size:.86rem;font-weight:650;color:var(--ink);cursor:pointer}.chat-media-menu button:hover,.chat-media-menu button:focus-visible{background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue)}.chat-thread-page .emoji-pop{margin:8px 0 0}.chat-attach-btn{flex-shrink:0;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-2);font-size:.82rem;font-weight:700;cursor:pointer}.chat-attach-btn:disabled{opacity:.45;cursor:not-allowed}.chat-attach-btn:not(:disabled):hover{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.chat-bubble-image{padding:4px!important;overflow:hidden;max-width:min(72vw,280px)}.chat-image-btn{display:block;border:0;padding:0;background:transparent;cursor:zoom-in;border-radius:14px;overflow:hidden;line-height:0}.chat-image-btn img{display:block;max-width:min(68vw,268px);max-height:320px;width:auto;height:auto;object-fit:contain;background:color-mix(in srgb,var(--ink) 4%,transparent)}.chat-image-caption{margin:6px 8px 4px;font-size:.88rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.chat-lightbox img{max-width:min(96vw,960px);max-height:88vh;border-radius:12px}.chat-composer-input{flex:1;min-height:40px;max-height:120px;resize:none;border:0;border-radius:20px;background:color-mix(in srgb,var(--ink) 5%,var(--bg));padding:10px 14px;font:inherit;color:var(--ink);outline:none;overflow-y:auto}.chat-composer-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 35%,transparent)}.chat-composer-input:disabled{opacity:.65}.chat-send-btn{border:0;border-radius:20px;padding:10px 16px;background:var(--blue);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;flex-shrink:0}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-nav-badge{position:absolute;top:0;right:2px;z-index:2;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#fa5151;color:#fff;font-size:.65rem;font-weight:700;display:grid;place-items:center;line-height:1;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--surface) 92%,#fff);pointer-events:none}.chat-nav-badge.is-dot{min-width:9px;width:9px;height:9px;padding:0;font-size:0;top:4px;right:10px}.bottomnav a.chat-nav-link{position:relative;overflow:visible}.match-contact-hint{margin:8px 0 0;font-size:.84rem}body:has(.chat-thread-page) .bottomnav,body:has(.chat-thread-page) .topnav{display:none}@media (max-width: 640px){.chat-list-title{font-size:1.45rem}.chat-thread-page{max-width:none}}.carpool-page{padding-bottom:var(--bottom-nav-space)}.carpool-head{margin-bottom:18px}.carpool-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:12px}.carpool-filters label{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--ink-2)}.carpool-filters select,.carpool-compose select,.carpool-compose input[type=date],.carpool-compose input[type=text],.carpool-field input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 10px;font:inherit}.carpool-arrow{color:var(--ink-3);font-weight:700}.carpool-week-nav{--carpool-nav-h: 40px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-left:auto;font-weight:600}.carpool-week-stepper,.carpool-week-action,.carpool-jump-week{box-sizing:border-box;display:inline-flex;align-items:center;height:var(--carpool-nav-h);min-height:var(--carpool-nav-h);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 6%,transparent);border:0;color:var(--ink);font-size:.88rem;font-weight:650;letter-spacing:-.01em}.carpool-week-stepper{gap:0;padding:0 2px;overflow:hidden}.carpool-week-stepper-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:calc(var(--carpool-nav-h) - 4px);margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer}.carpool-week-stepper-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.carpool-week-label{display:inline-flex;align-items:center;justify-content:center;min-width:5.6rem;padding:0 4px;font-size:inherit;font-weight:inherit;color:inherit;white-space:nowrap}.carpool-week-action{padding:0 14px;justify-content:center}.carpool-week-action.btn{height:var(--carpool-nav-h);min-height:var(--carpool-nav-h)}.carpool-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;font-size:.85rem;color:var(--ink-2)}.carpool-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:4px;border:2px solid transparent}.carpool-dot.solid{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 28%,transparent)}.carpool-dot.soft{border-color:color-mix(in srgb,var(--blue) 45%,#fff);background:color-mix(in srgb,var(--blue) 12%,transparent)}.carpool-cal-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.carpool-day-tabs,.carpool-cal-wrap--day{display:none}.carpool-loading{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 70%,transparent);z-index:2;color:var(--ink-2);font-size:.9rem}.carpool-cal{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:720px}.carpool-cal th,.carpool-cal td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0;text-align:center;vertical-align:middle}.carpool-cal thead th{padding:12px 6px;font-size:.82rem;color:var(--ink-2);font-weight:650;background:color-mix(in srgb,var(--ink) 3%,var(--surface))}.carpool-cal tbody th{width:96px;padding:10px 8px;background:color-mix(in srgb,var(--ink) 2%,var(--surface))}.carpool-cal tbody td{height:96px;max-height:96px;overflow:hidden;padding:0;vertical-align:top;background:var(--surface)}.carpool-period{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--ink-3)}.carpool-period strong{font-size:1rem;color:var(--ink);font-family:var(--display);letter-spacing:-.02em}.carpool-cell{display:block;width:100%;min-height:96px;padding:0;border:0;background:transparent;cursor:pointer}.carpool-course-cell{display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;gap:0;width:100%;min-height:96px;height:96px;max-height:96px;padding:0;border:0;cursor:pointer;text-align:left;overflow:hidden;background:#f3f4f6;transition:filter .12s ease,background .12s ease}.carpool-course-cell.is-empty:hover{background:#e8eaed}.carpool-course-cell.has-course{background:transparent;padding:0;position:relative}.carpool-course-cell.has-course:hover{filter:brightness(.97)}.carpool-course-stack{display:flex;flex-direction:column;gap:1px;min-width:0;width:100%;height:100%;overflow:hidden}.carpool-course-block,.carpool-course-chip{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;flex:1 1 0;min-height:0;width:100%;height:100%;padding:7px 8px;border-radius:0;border:0;color:#fff;box-sizing:border-box;box-shadow:none;background-image:none!important}.carpool-course-block strong,.carpool-course-chip strong{font-size:.76rem;font-weight:700;color:#fff!important;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.carpool-course-block em,.carpool-course-chip em{font-style:normal;font-size:.66rem;color:#ffffffeb!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carpool-course-more{position:absolute;right:4px;bottom:3px;font-size:.6rem;color:#ffffffeb;background:#00000047;border-radius:999px;padding:1px 5px;line-height:1.3;pointer-events:none;z-index:1}.carpool-course-empty{display:grid;place-items:center;height:100%;font-size:.72rem;color:#9ca3af;text-align:center}.carpool-match-hint{font-size:.65rem;text-align:center}.carpool-jump-week{gap:6px;margin:0;padding:0 4px 0 12px;white-space:nowrap}.carpool-jump-week input{width:40px;height:28px;min-height:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:center;font-size:.88rem;font-weight:650;line-height:1;padding:0 4px}.carpool-jump-week .btn{height:28px;min-height:28px;padding:0 12px;border-radius:8px;font-size:.82rem;font-weight:650}.carpool-week-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.88rem;color:var(--ink-2)}.carpool-week-range input[type=number]{width:64px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-align:center;font:inherit}.carpool-field-hint{display:block;margin-top:6px;font-size:.78rem;color:var(--ink-3);line-height:1.45}.carpool-compose-draggable{will-change:transform}.carpool-drag-bar{display:flex;justify-content:center;padding:8px 0 2px;cursor:grab;touch-action:none}.carpool-drag-bar span{width:40px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 16%,transparent)}.carpool-drag-handle{cursor:grab;user-select:none;touch-action:none}.carpool-drag-handle:active,.carpool-drag-bar:active{cursor:grabbing}.carpool-import-hint{font-size:.82rem;line-height:1.5}.carpool-ball{position:absolute;left:0;top:0;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--blue) 42%,#fff);padding:0;overflow:hidden;background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--ink);font-size:.78rem;font-weight:700;display:grid;place-items:center;cursor:pointer;will-change:transform;touch-action:manipulation;box-shadow:0 3px 10px color-mix(in srgb,var(--blue) 14%,transparent);z-index:1;transition:box-shadow .2s ease}.carpool-ball.dropping{box-shadow:0 6px 16px color-mix(in srgb,var(--blue) 22%,transparent)}.carpool-ball.border-solid{border-color:var(--blue);box-shadow:0 4px 14px color-mix(in srgb,var(--blue) 22%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--blue) 30%,transparent)}.carpool-ball.border-soft{border-color:color-mix(in srgb,var(--blue) 40%,#9ec9f5)}.carpool-ball.online{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 28%,transparent),0 4px 14px color-mix(in srgb,var(--blue) 20%,transparent)}.carpool-ball img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.carpool-ball-more{position:absolute;right:6px;bottom:6px;z-index:2;min-width:28px;height:22px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--ink) 72%,transparent);color:#fff;font-size:.7rem;font-weight:700;display:grid;place-items:center;pointer-events:none}.carpool-user-card{position:fixed;z-index:120;width:220px;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 36px #00000029;pointer-events:auto}.carpool-user-card-head{display:flex;gap:10px;align-items:center}.carpool-user-card-head strong{display:block;font-size:.95rem}.carpool-user-card-head p{margin:2px 0 0;font-size:.78rem}.carpool-online-pill{display:inline-block;margin-top:4px;font-size:.7rem;font-weight:650;color:var(--blue);background:var(--accent-soft);border-radius:999px;padding:1px 7px}.carpool-user-card-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.carpool-group-item{align-items:flex-start!important}.carpool-group-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:280px}.carpool-time-line{margin:2px 0 4px;font-size:.78rem}.carpool-avatars{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.carpool-avatars.compact{justify-content:flex-start;margin-top:6px;gap:6px}.carpool-avatar{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--blue) 42%,#fff);padding:0;overflow:hidden;background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:var(--ink);font-size:.85rem;font-weight:700;display:grid;place-items:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.carpool-avatar.sm{width:28px;height:28px;min-width:28px;min-height:28px;cursor:default;border-width:1.5px;border-color:color-mix(in srgb,var(--ink) 20%,transparent)}.carpool-avatar.border-solid{border-color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 35%,transparent)}.carpool-avatar.border-soft{border-color:color-mix(in srgb,var(--blue) 40%,#9ec9f5)}.carpool-avatar.online{box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 30%,transparent)}.carpool-avatar.border-solid.online{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 35%,transparent),0 0 0 2px color-mix(in srgb,var(--blue) 28%,transparent)}.carpool-avatar img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.carpool-more{font-size:.78rem;color:var(--ink-3);align-self:center;min-height:40px;display:grid;place-items:center}.carpool-block{margin-top:28px}.carpool-block h2{margin:0 0 12px;font-family:var(--display);font-size:1.25rem;letter-spacing:-.03em}.carpool-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.carpool-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}.carpool-list li p{margin:4px 0 0;font-size:.86rem}.carpool-row-actions{display:flex;gap:8px;flex-shrink:0}.carpool-tag{font-size:.78rem;color:var(--blue);font-weight:650;white-space:nowrap}.carpool-forum-hint{margin-top:24px;font-size:.86rem}.carpool-forum-hint a{color:var(--accent)}.carpool-compose-overlay{position:fixed;inset:0;z-index:80;background:#0f0f126b;display:flex;align-items:center;justify-content:center;padding:16px;animation:chat-fade-in .18s ease}.carpool-compose{position:relative;width:min(100%,440px);max-height:min(88vh,680px);overflow:auto;background:var(--surface);border-radius:20px;padding:8px 18px 18px;box-shadow:0 16px 48px #0000002e}.carpool-compose-foot .btn-primary,.carpool-sheet-btn-primary{min-width:132px;height:42px;border-radius:999px;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 18px color-mix(in srgb,var(--blue) 32%,transparent)}.carpool-compose-foot .btn-primary:hover:not(:disabled),.carpool-sheet-btn-primary:hover:not(:disabled){filter:brightness(1.04)}.carpool-compose-foot .btn-ghost,.carpool-sheet-btn{height:42px;border-radius:999px;padding-inline:18px;font-weight:600}.carpool-compose-body{display:grid;gap:12px;margin:8px 0 16px}.carpool-field{display:grid;gap:6px;font-size:.88rem;color:var(--ink-2)}.carpool-field legend{padding:0;margin-bottom:6px}.carpool-seg,.carpool-days{display:flex;flex-wrap:wrap;gap:6px}.carpool-seg button,.carpool-days button{border:1px solid var(--line);background:var(--fill-elevated);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:.84rem;cursor:pointer}.carpool-seg button.on,.carpool-days button.on{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--blue);font-weight:650}.carpool-check{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;color:var(--ink-2)}.carpool-compose-foot{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 640px){.carpool-page{padding-bottom:12px}.carpool-filters{flex-direction:column;align-items:stretch;gap:10px}.carpool-filters label{width:100%;justify-content:space-between}.carpool-filters select{flex:1;min-height:44px}.carpool-arrow{display:none}.carpool-week-nav{--carpool-nav-h: 44px;margin-left:0;width:100%;justify-content:flex-start;gap:6px}.carpool-week-stepper,.carpool-week-action,.carpool-jump-week{height:var(--carpool-nav-h);min-height:var(--carpool-nav-h)}.carpool-list li{flex-direction:column;align-items:stretch}.carpool-row-actions{justify-content:flex-end}.carpool-cal-wrap--week{display:none}.carpool-day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 10px}.carpool-day-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:6px 2px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-2);font-weight:650;cursor:pointer;-webkit-tap-highlight-color:transparent}.carpool-day-tab-label{font-size:.92rem;line-height:1.1;font-weight:700}.carpool-day-tab-date{font-size:.58rem;color:var(--ink-3);font-weight:500;letter-spacing:-.02em}.carpool-day-tab.is-active{background:color-mix(in srgb,var(--blue) 12%,var(--surface));border-color:color-mix(in srgb,var(--blue) 35%,var(--line));color:var(--blue)}.carpool-day-tab.is-active .carpool-day-tab-date{color:color-mix(in srgb,var(--blue) 70%,var(--ink-3))}.carpool-cal-wrap--day{display:block;overflow:hidden}.carpool-day-list{display:flex;flex-direction:column}.carpool-day-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:0;width:100%;min-height:72px;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.carpool-day-row:last-child{border-bottom:0}.carpool-day-row .carpool-period{display:flex;flex-direction:column;justify-content:center;padding:10px 8px;background:color-mix(in srgb,var(--ink) 2%,var(--surface));border-right:1px solid var(--line)}.carpool-day-row .carpool-period strong{font-size:.95rem}.carpool-day-row .carpool-course-cell{min-height:72px;height:auto;max-height:none;border-radius:0}.carpool-day-row .carpool-course-block,.carpool-day-row .carpool-course-chip{padding:10px 12px}.carpool-day-row .carpool-course-block strong,.carpool-day-row .carpool-course-chip strong{font-size:.88rem;-webkit-line-clamp:2}.carpool-day-row .carpool-course-empty{font-size:.82rem}.carpool-ball-cell{min-height:108px;height:108px}.carpool-avatar{width:44px;height:44px;min-width:44px;min-height:44px}.carpool-compose-overlay{align-items:center;padding:12px}.carpool-compose{width:100%;max-height:min(90vh,720px);border-radius:18px}}.campus-card-page{max-width:720px;margin:0 auto;padding-bottom:56px}.campus-card-page.section{padding-top:28px}.campus-card-page .page-title{margin:8px 0 12px;font-family:var(--display);font-size:clamp(1.75rem,4.5vw,2.25rem);letter-spacing:-.02em;line-height:1.3;position:relative;z-index:1}.campus-card-page .page-desc{margin:0;color:var(--ink-2);line-height:1.65;font-size:.98rem}.campus-card-page .cc-em{display:inline-flex;align-items:center;vertical-align:middle;font-size:1.12em;font-weight:800;line-height:1.15;color:#1b7ef0;background:color-mix(in srgb,#4aa3f0 22%,transparent);padding:.08em .34em;border-radius:6px}.campus-card-page .cc-code,.campus-card-page code.cc-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.2em;font-weight:800;letter-spacing:.06em;padding:.18em .5em;border-radius:8px;background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:color-mix(in srgb,var(--blue) 82%,var(--ink));border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));vertical-align:middle;line-height:1.2;display:inline-flex;align-items:center}.campus-card-page .cc-code-lg,.campus-card-page code.cc-code-lg{font-size:1.35em;padding:.22em .58em;border-radius:10px;background:color-mix(in srgb,var(--blue) 14%,var(--surface));color:color-mix(in srgb,var(--blue) 78%,#123);border-width:1.5px;min-height:1.55em}.campus-card-page .cc-alert{margin:10px 0 12px;padding:12px 14px;border-radius:12px;font-size:1.02rem;font-weight:700;line-height:1.5;color:color-mix(in srgb,var(--blue) 72%,var(--ink));background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 10%,var(--surface)),color-mix(in srgb,var(--blue) 6%,var(--surface)));border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line))}.campus-card-page .cc-disclaimer{margin:12px 0 4px;padding:12px 14px;border-radius:12px;font-size:.95rem;font-weight:750;line-height:1.55;color:#c62828;background:color-mix(in srgb,#e53935 8%,var(--surface));border:1px solid color-mix(in srgb,#e53935 28%,var(--line))}.campus-card-page .cc-disclaimer-inline{margin:0 0 14px;font-size:.9rem}.cc-hero{margin-bottom:18px}.cc-block,.cc-flow,.campus-card-form,.campus-card-done{margin-bottom:16px}.cc-flow-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cc-flow-list li{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--ink) 3.5%,var(--surface));border:1px solid var(--line)}.cc-flow-n{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;font-family:var(--display);font-weight:800;font-size:.9rem;line-height:1;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.12);background:linear-gradient(145deg,#0a84ff,#5ac8fa)}.cc-flow-list strong{display:block;margin-bottom:2px;font-size:1.02rem}.cc-flow-list p{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.45}.cc-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:0}.cc-gallery-one{grid-template-columns:minmax(0,1fr);max-width:none;justify-items:stretch}.cc-gallery-one .cc-shot{width:100%;max-width:100%}.cc-shot{margin:0;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);text-align:left;cursor:zoom-in;transition:transform .25s ease,box-shadow .25s ease}.cc-shot:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.cc-shot img{width:100%;aspect-ratio:3 / 4;object-fit:cover;object-position:top;display:block;background:transparent;vertical-align:top}.cc-gallery-one .cc-shot img{aspect-ratio:auto;height:auto;max-height:none;object-fit:unset;object-position:top center;background:transparent}.cc-shot span{display:block;padding:10px 12px;font-size:.86rem;font-weight:600;color:var(--ink);background:var(--surface)}.cc-steps{margin:0 0 14px;padding-left:1.2rem;color:var(--ink-2);line-height:1.75;font-size:1rem}.cc-steps li{margin-bottom:8px}.cc-callout{margin-top:12px;padding:14px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.cc-callout strong{display:block;margin-bottom:4px;font-size:1.05rem;color:var(--ink)}.cc-callout p{margin:0;color:var(--ink-2);line-height:1.5;font-size:.95rem}.campus-card-page .cc-callout .cc-code-lg{vertical-align:baseline}.cc-note{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px color-mix(in srgb,var(--ink) 4%,transparent)}.cc-note-warn{border-color:color-mix(in srgb,var(--blue) 28%,var(--line));background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.cc-note-label{display:inline-flex;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;min-height:34px;padding:.42em .85em;border-radius:999px;font-size:.95rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;line-height:1;color:#f7fbff;background:linear-gradient(145deg,#2a74d4,#3f96e6)}.cc-note p{margin:0;color:var(--ink-2);line-height:1.55;font-size:.92rem}.cc-wechat-panel{border-color:color-mix(in srgb,var(--blue) 28%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 8%,transparent)}.cc-check{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--blue) 8%,transparent);border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));cursor:pointer;font-size:.95rem;line-height:1.45;font-weight:650}.cc-check input{margin-top:3px;width:18px;height:18px;flex-shrink:0}.campus-card-form .field,.campus-card-done .campus-card-dl{margin-top:14px}.campus-card-form{padding-bottom:28px}.campus-card-form .panel-title{margin-bottom:6px}.campus-card-form .cc-form-lead{margin:0 0 4px;font-size:.92rem;line-height:1.55}.campus-card-form .cc-form-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.campus-card-form .cc-form-section-title{margin:0 0 4px;font-size:.98rem;font-weight:750;letter-spacing:.01em;color:var(--ink)}.campus-card-form .cc-form-section-desc{margin:0 0 14px;font-size:.86rem;line-height:1.5;color:var(--ink-2)}.campus-card-form .cc-form-section>.field:first-of-type{margin-top:10px}.campus-card-form .cc-upload-block{display:grid;gap:12px;margin-top:12px;padding:14px;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 2.5%,var(--surface))}.campus-card-form .cc-upload-block+.cc-upload-block{margin-top:12px}.campus-card-form .cc-upload-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.campus-card-form .cc-upload-step{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 10px;border-radius:999px;font-size:.78rem;font-weight:750;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent);border:1px solid color-mix(in srgb,var(--blue) 28%,transparent)}.campus-card-form .cc-upload-head strong{display:block;font-size:.95rem;font-weight:700;color:var(--ink)}.campus-card-form .cc-upload-head p{margin:3px 0 0;font-size:.82rem;line-height:1.4;color:var(--ink-2)}.campus-card-form .cc-upload-block .image-picker{margin:0}.campus-card-form .cc-upload-block .image-picker-row{width:100%}.campus-card-form .cc-upload-block .image-picker-add,.campus-card-form .cc-upload-block .image-picker-thumb{width:100%;max-width:100%;height:112px;border-radius:12px}.campus-card-form .cc-upload-block .image-picker-done{width:100%;max-width:100%;min-height:88px}.campus-card-form .cc-upload-hint{margin:0;font-size:.84rem;line-height:1.45;color:var(--ink-2)}.campus-card-form .cc-upload-block .image-picker-hint{margin-top:2px}.campus-card-form .cc-form-actions{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.campus-card-form .cc-form-actions .btn{width:100%;min-height:48px;font-size:1.02rem;font-weight:700}.campus-card-form .cc-form-actions .btn:disabled{opacity:.55}.campus-card-page .cc-page-footer{margin-top:8px;margin-bottom:32px;padding-bottom:env(safe-area-inset-bottom,0px)}.campus-card-done{padding-bottom:28px}.campus-card-done .cc-done-hero{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin-bottom:8px}.campus-card-done .cc-done-check{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;font-size:1.35rem;font-weight:800;color:#fff;background:linear-gradient(145deg,#30d158,#34c759);box-shadow:0 8px 20px color-mix(in srgb,var(--green) 28%,transparent)}.campus-card-done .cc-done-sub{margin:6px 0 0;color:var(--ink-2);line-height:1.55;font-size:.95rem}.campus-card-done .cc-done-points{color:color-mix(in srgb,var(--green) 55%,#0a5);font-size:1.1rem}.campus-card-done .cc-done-tip{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--ink-3);font-size:.86rem;line-height:1.5}.campus-card-badge{display:inline-block;margin:0 0 8px;padding:5px 12px;border-radius:999px;font-size:.82rem;font-weight:700;color:var(--blue);background:var(--accent-soft)}.campus-card-dl{display:grid;gap:12px;margin:18px 0 8px;padding:0}.campus-card-dl>div{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:baseline}.campus-card-dl dt{margin:0;color:var(--ink-3);font-size:.86rem}.campus-card-dl dd{margin:0;font-weight:600;word-break:break-all}.campus-card-page .row-actions{display:flex;flex-wrap:wrap;gap:10px}.campus-card-page .error{margin:12px 0 0;color:var(--danger);font-size:.95rem;font-weight:600;line-height:1.45}.campus-card-page .cc-err-banner{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--danger, #c45c26) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger, #c45c26) 26%,transparent)}.cc-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;margin:0;padding:0;background:#000000eb;cursor:zoom-out}.cc-lightbox.is-max img{width:100vw;height:100vh;max-width:100vw;max-height:100vh;object-fit:contain;border-radius:0;background:transparent;pointer-events:none}@media (max-width: 640px){.cc-gallery{grid-template-columns:1fr}.cc-gallery-one{max-width:none}.campus-card-page.section{padding-top:20px}.campus-card-page{padding-bottom:24px}.campus-card-page .page-title{font-size:clamp(1.55rem,7vw,1.95rem)}.campus-card-page .page-desc{font-size:.92rem}.campus-card-form .cc-upload-block .image-picker-add,.campus-card-form .cc-upload-block .image-picker-thumb{height:104px}}.token-admin-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:16px;align-items:stretch}@media (max-width: 900px){.token-admin-layout{grid-template-columns:1fr}}.token-pool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:8px}.token-tone-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;font-size:.78rem;color:var(--ink-2, #5b6570)}.token-tone-legend .tone-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle;box-shadow:0 0 0 2px #fffc}.tone-dot.tone-green{background:#7eb8d4}.tone-dot.tone-yellow{background:#e0c48a}.tone-dot.tone-red{background:#e0a8a4}.token-sphere-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 18px 20px;background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.95),transparent 55%),var(--card, #fff);border:1px solid color-mix(in srgb,var(--line, #d8dee6) 80%,transparent);box-shadow:0 10px 28px #1424300d}.token-sphere-card .section-kicker{margin-bottom:4px}.token-sphere-caption{margin:14px 0 0;font-size:.82rem;line-height:1.45;max-width:20em}.token-kpi-grid{margin-top:0;align-content:start}.flow-ball{--fb-ring: #8ec4de;--fb-a: #b7dff0;--fb-b: #6db3d4;--fb-foam: rgba(255, 255, 255, .55);--fb-ink: #2f5568;--fb-muted: rgba(47, 85, 104, .65);--fb-core: #f5f9fc;--fb-size: 176px;width:var(--fb-size);margin:8px auto 0;display:flex;flex-direction:column;align-items:center;position:relative}.flow-ball--green{--fb-ring: #8ec4de;--fb-a: #c2e6f4;--fb-b: #6db3d4;--fb-ink: #2f5568;--fb-muted: rgba(47, 85, 104, .62)}.flow-ball--yellow{--fb-ring: #e0c48a;--fb-a: #f3e4c0;--fb-b: #d4b46e;--fb-ink: #6a5530;--fb-muted: rgba(106, 85, 48, .62)}.flow-ball--red{--fb-ring: #e0a8a4;--fb-a: #f0d2ce;--fb-b: #d4928c;--fb-ink: #6a4542;--fb-muted: rgba(106, 69, 66, .62)}.flow-ball--unknown{--fb-ring: #b8c2ce;--fb-a: #dde4ec;--fb-b: #9aa8b8;--fb-ink: #4a5562;--fb-muted: rgba(74, 85, 98, .58)}.flow-ball .flow-stop-a{stop-color:var(--fb-a)}.flow-ball .flow-stop-b{stop-color:var(--fb-b)}.flow-ball-bob{width:var(--fb-size);height:var(--fb-size);animation:flow-bob 5s ease-in-out infinite;position:relative;z-index:1}.flow-ball-ring{width:100%;height:100%;border-radius:50%;padding:7px;background:linear-gradient(145deg,color-mix(in srgb,var(--fb-ring) 55%,#fff),var(--fb-ring));box-shadow:0 0 0 1px color-mix(in srgb,var(--fb-ring) 35%,transparent),0 10px 28px color-mix(in srgb,var(--fb-b) 22%,transparent)}.flow-ball-core{width:100%;height:100%;border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle at 32% 24%,#fff 0%,var(--fb-core) 48%,color-mix(in srgb,var(--fb-a) 22%,#e8eef4) 100%);box-shadow:inset 0 10px 20px #ffffffbf,inset 0 -14px 24px #2846640f}.flow-ball-water-wrap{position:absolute;inset:0;overflow:hidden;border-radius:50%}.flow-ball-water{position:absolute;left:0;right:0;top:0;height:100%;transition:transform 1s cubic-bezier(.22,1,.36,1);will-change:transform}.flow-ball-wave-layer{position:absolute;left:0;top:-1px;width:100%;height:28px;overflow:hidden}.flow-ball-wave-svg{position:absolute;left:0;top:0;width:200%;height:28px;display:block;animation:flow-wave-scroll 3.8s linear infinite}.flow-ball-wave-svg--foam{animation-duration:5.6s;animation-direction:reverse;opacity:.7}.flow-ball-wave-svg--foam path{fill:#ffffff73}.flow-ball-body{position:absolute;inset:20px 0 -30%;background:linear-gradient(180deg,var(--fb-a) 0%,var(--fb-b) 100%)}.flow-ball-bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 28%,#ffffffe6,#ffffff26);animation:flow-bubble 5s ease-in infinite;pointer-events:none}.flow-ball-bubble.b1{width:7px;height:7px;left:26%;bottom:22%;animation-delay:.2s}.flow-ball-bubble.b2{width:5px;height:5px;left:48%;bottom:14%;animation-delay:1.6s;animation-duration:5.8s}.flow-ball-bubble.b3{width:6px;height:6px;left:64%;bottom:28%;animation-delay:2.8s;animation-duration:4.4s}.flow-ball-bubble.b4{width:4px;height:4px;left:38%;bottom:36%;animation-delay:.9s;animation-duration:6.2s}.flow-ball-glass{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse 42% 28% at 30% 22%,rgba(255,255,255,.85),transparent 70%),radial-gradient(ellipse 30% 18% at 72% 78%,rgba(255,255,255,.18),transparent 70%);box-shadow:inset 0 0 0 1px #ffffff73;z-index:2}.flow-ball-readout{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.flow-ball-readout strong{font-family:var(--display, "Segoe UI", system-ui, sans-serif);font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--fb-ink);line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.75)}.flow-ball-readout span{margin-top:6px;font-size:.7rem;font-weight:650;letter-spacing:.12em;color:var(--fb-muted)}.flow-ball.is-high .flow-ball-readout strong,.flow-ball.is-high .flow-ball-readout span{color:#2a4a5c;text-shadow:0 1px 2px rgba(255,255,255,.55)}.flow-ball-shadow{width:54%;height:12px;margin-top:8px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--fb-b) 25%,rgba(60,80,100,.12)),transparent 72%);filter:blur(2px);animation:flow-shadow 5s ease-in-out infinite}.flow-ball.is-loading .flow-ball-water{opacity:.45}.flow-ball.is-loading .flow-ball-bob{animation-duration:2.4s}@keyframes flow-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes flow-shadow{0%,to{transform:scaleX(1);opacity:.5}50%{transform:scaleX(.84);opacity:.32}}@keyframes flow-wave-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes flow-bubble{0%{transform:translateY(0) scale(1);opacity:0}12%{opacity:.8}to{transform:translateY(-64px) scale(.5);opacity:0}}@media (prefers-reduced-motion: reduce){.flow-ball-bob,.flow-ball-shadow,.flow-ball-wave-svg,.flow-ball-bubble{animation:none}.flow-ball-water{transition:none}}.token-orb,.token-sphere{display:none!important}.match-card.is-hero{background:#fff!important;border-top:3px solid color-mix(in srgb,var(--match-heat, #c0265e) 72%,#fff);box-shadow:0 14px 34px #1f293714}.match-peer-detail{border-color:#dbe3ee;background:#fff}.match-peer-detail-grid>div{background:#f6f7f9}.match-explain{background:#fff;border-color:#e3e6eb;box-shadow:0 6px 20px #1f29370f}.match-explain-mark{color:#c0265e;background:#fff0f5}.match-explain-titles strong{color:var(--ink)}.match-explain-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.match-source-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:5px;font-size:.68rem;font-weight:750}.match-source-badge.is-rule{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.match-source-badge.is-ai{color:#a21caf;background:#faf5ff;border:1px solid #e9d5ff}.match-source-badge.is-ai-soft{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.match-explain.is-ai .match-explain-body{line-height:1.65;font-size:.92rem}.match-verdict-col.is-fit{background:#f0fdf4;border:1px solid #bbf7d0}.match-verdict-col.is-gap{background:#fff7ed;border:1px solid #fed7aa}.match-verdict-col.is-gap h5,.match-verdict-col.is-gap li{color:#9a3412}.match-insight-card{border-color:#e5e7eb;background:#fafafa}.match-insight-label{color:#6b7280}.match-insight-card strong{color:#1f2937}.match-insight-card p{color:#6b7280}.match-insight-pair{color:#4b5563}.match-insight-card.verdict-fit{border-color:#bbf7d0;background:linear-gradient(90deg,#f0fdf4,#fff 72%);box-shadow:none}.match-insight-card.verdict-gap{border-color:#fed7aa;background:linear-gradient(90deg,#fff7ed,#fff 72%);box-shadow:none}.match-insight-card.verdict-gap header em{color:#9a3412;background:#ffedd5}.match-more{border-color:#e3e6eb;background:#f7f8fa}.match-more-card{background:#fff;border-color:#e5e7eb}.match-more-card h5,.match-more h5{color:#374151}.match-more-chips li{color:#9f2855;background:#fff5f8;border-color:#f5c7d7}.match-ice li{background:#fff;border-color:#e5e7eb}.match-ice strong{color:#9f2855}.match-heart-burst,.match-hero-sparkles{display:none}.match-expand{border-color:#d1d5db!important;color:#4b5563!important;background:#fff!important}.match-expand:hover{border-color:#9ca3af!important;background:#f9fafb!important}.match-expand.on{border-color:#e7a3ba!important;color:#9f2855!important;background:#fff5f8!important}.sim-panel{background:#fff;border-color:#e5e7eb;box-shadow:none}.sim-layout,.sim-main,.sim-side{background:transparent}.sim-radar{background:#fafafa;border-color:#e5e7eb}.match-detail-status.is-on{background:#f0fdf4;border-color:#bbf7d0}.match-contact{background:#f6f7f9;border-color:#dbe3ee}.match-explain,.match-explain *{font-family:var(--font)}.match-explain-titles strong,.match-explain-body,.match-insight-card>strong{font-size:.875rem}.match-explain-titles strong{font-weight:750}.match-explain-body{font-weight:400}.route-loading{min-height:45vh;display:grid;place-items:center;color:var(--ink-2);font-size:.875rem}
