:root{color-scheme:dark;--bg:#02091a;--panel:rgba(7,24,52,.86);--line:rgba(143,213,255,.25);--ink:#f4f7ff;--muted:#9aabc9;--cyan:#73e9ff;--pink:#ff9fd4;--gold:#ffd18d}
[hidden]{display:none!important}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;background:#000;color:var(--ink);font:14px/1.45 "Noto Sans SC","Microsoft YaHei",sans-serif}body{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{position:relative;width:min(100vw,430px);height:100dvh;min-height:620px;margin:auto;overflow:hidden;background:var(--bg);isolation:isolate;box-shadow:0 0 72px rgba(46,139,255,.25)}.starfield{position:absolute;inset:0;z-index:-1;background-color:#02091a;background-image:radial-gradient(circle at 17% 12%,#fff 0 1px,transparent 2px),radial-gradient(circle at 79% 8%,#ffcdb6 0 1px,transparent 2px),radial-gradient(circle at 52% 38%,#94d3ff 0 1px,transparent 2px),radial-gradient(circle at 9% 75%,#ff9bcf 0 2px,transparent 3px),radial-gradient(circle at 93% 86%,#6bdbff 0 1px,transparent 2px);background-size:281px 239px,347px 311px,193px 277px,419px 373px,223px 317px;opacity:.75}.intro-sequence{position:absolute;inset:0;z-index:40;background:#000;aspect-ratio:480/854;transition:opacity .7s}.intro-sequence.done{opacity:0;pointer-events:none}.intro-sequence video{display:block;width:100%;height:100%;object-fit:contain;background:#000}.intro-vignette,.intro-glow{position:absolute;inset:0;pointer-events:none}.intro-vignette{background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.45))}.intro-glow{inset:-20%;background:radial-gradient(ellipse at center,rgba(125,215,255,.2),transparent 48%);mix-blend-mode:screen;animation:pulse 1.8s ease-in-out infinite alternate}.intro-loader{position:absolute;left:50%;bottom:58px;display:flex;gap:8px;align-items:center;transform:translateX(-50%);padding:7px 10px;border:1px solid var(--line);border-radius:5px;background:rgba(2,14,33,.68);color:#d7efff;font-size:11px;white-space:nowrap}.loader-dot{width:8px;height:8px;border:1px solid #bff0ff;border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}.intro-play,.intro-skip{position:absolute;bottom:16px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:rgba(2,14,33,.72);color:#e8f6ff;font-size:12px}.intro-play{left:50%;bottom:58px;transform:translateX(-50%);border-color:var(--cyan)}.intro-skip{right:14px}.intro-play[hidden]{display:none}.app-content{position:relative;z-index:1;height:calc(100% - 78px);overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:9px 14px 4px}.brand-lockup{display:flex;align-items:center;gap:7px;color:#dbe7ff;font-size:13px}.brand-mark{color:var(--pink);font-size:18px;text-shadow:0 0 13px currentColor}.wallet-strip{display:flex;gap:5px;color:#d8e8ff;font-size:10px}.wallet-strip span{padding:4px 6px;border:1px solid rgba(145,210,255,.2);border-radius:4px;background:rgba(9,30,65,.55)}.page{display:none;height:calc(100% - 52px);overflow:hidden;padding:6px 12px 18px}.page.active{display:flex;flex-direction:column}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 5px 7px}.page-heading.compact{padding-bottom:14px}.page-heading h1,.page-heading h2{margin:0;font-family:Georgia,"Songti SC",serif;font-weight:500;letter-spacing:.08em;text-shadow:0 0 10px rgba(255,167,218,.7)}.page-heading h1{font-size:48px;color:#fff5fb}.page-heading h2{font-size:28px;color:#fff5fb}.page-heading p{margin:5px 0 0;color:#b8c7e1;font-size:11px}.eyebrow{margin:0 0 3px!important;color:#9bb9df!important;font:10px Consolas,monospace!important;letter-spacing:.2em}.outline-button,.secondary-button,.primary-button{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:5px;background:rgba(8,30,64,.7);color:#d9ecff;font-size:11px}.primary-button{width:100%;border-color:rgba(255,165,214,.75);background:rgba(122,47,109,.67);box-shadow:0 0 15px rgba(255,119,195,.16)}.secondary-button{width:100%;border-color:rgba(116,233,255,.38)}.surface{border:1px solid var(--line);border-radius:7px;background:var(--panel);box-shadow:inset 0 0 22px rgba(90,187,255,.05)}.wall-toolbar{display:flex;justify-content:space-between;padding:2px 6px 8px;color:#ccd9ee;font-size:12px}.wall-toolbar span:last-child{color:#879abb;font-size:10px}.wall-pages{flex:1;min-height:0;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}.wall-pages::-webkit-scrollbar{display:none}.wall-page{min-height:100%;padding:0 0 12px;scroll-snap-align:start}.wall-page-head{display:flex;justify-content:space-between;padding:3px 6px 6px;color:#b9cae5;font-size:10px}.wall-page-head span{color:#7f91b5}.wall-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 5px}.fate-card{position:relative;min-width:0;aspect-ratio:.62;padding:2px;clip-path:polygon(17% 0,83% 0,100% 13%,100% 84%,50% 100%,0 84%,0 13%);background:linear-gradient(155deg,#c9f7ff 0 4%,#4b9dff 22%,#ffb6e7 53%,#63d9ff 82%,#e7d8ff);filter:drop-shadow(0 0 7px rgba(86,199,255,.66))}.fate-card:after{content:"";position:absolute;inset:7px;z-index:1;clip-path:inherit;border:1px solid rgba(210,248,255,.74);pointer-events:none}.fate-card.vip-card{background:linear-gradient(150deg,#fff2c4 0 5%,#f59c5e 20%,#ffd27d 36%,#ff9bd3 59%,#63d9ff 86%,#f5e1b5)}.fate-card.vip-card:after{border-color:rgba(255,226,163,.94);box-shadow:inset 0 0 16px rgba(255,201,112,.38)}.card-inner{position:absolute;inset:10px 8px 14px;z-index:2;display:flex;flex-direction:column;min-width:0;overflow:hidden}.card-top{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) 11px;gap:3px;min-height:27px;align-items:start}.avatar{width:25px;height:25px;border-radius:50%;object-fit:cover;background:#20365f;box-shadow:0 0 7px rgba(255,160,214,.6)}.identity{min-width:0}.identity strong,.identity small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.identity strong{color:#fff8fa;font-family:Georgia,serif;font-size:9px;line-height:1.15}.identity small{margin-top:2px;color:#b7c8e3;font-size:6px}.spark{color:#ff9ccd;font-size:10px;text-align:center;text-shadow:0 0 7px currentColor}.vip-badge{position:absolute;right:0;top:0;padding:1px 3px;border:1px solid rgba(255,223,151,.8);border-radius:3px;background:rgba(100,47,26,.74);color:#ffe7a9;font-size:6px}.card-copy{display:flex;flex:1;flex-direction:column;min-width:0;margin-top:5px}.card-age{display:flex;align-items:baseline;gap:1px;white-space:nowrap}.card-age strong{color:#fff9f8;font:700 17px/1 Georgia,serif;text-shadow:0 0 8px rgba(255,181,221,.5)}.card-age em{color:#e7eaff;font-size:7px;font-style:normal}.card-copy p{display:-webkit-box;margin:6px 0 0;min-height:20px;overflow:hidden;color:#d2dbeb;font-size:6px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-detail{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px;max-height:17px;overflow:hidden}.tag-chip{padding:1px 3px;border:1px solid rgba(173,222,255,.5);border-radius:999px;background:rgba(62,126,191,.3);color:#e0efff;font-size:5px;white-space:nowrap}.card-stats{display:flex;gap:4px;padding-top:2px;color:#a7bedc;font-size:6px}.vip-empty{display:grid;place-items:center;text-align:center;background:linear-gradient(155deg,#fff0bb,#b77a33 36%,#211d3e 72%,#7f5370)}.vip-empty .card-inner{align-items:center;justify-content:center;inset:9px 5px 14px}.empty-crown{color:#ffe4a0;font-size:20px;text-shadow:0 0 12px #ffb64f}.vip-empty strong{color:#ffe9b2;font-size:10px}.vip-empty small,.vip-empty span{color:#c9a977;font-size:7px}.page-loader{text-align:center;padding:8px;color:#90a5c6;font-size:10px}.form-panel,.bid-panel,.mine-summary,.mine-profile{margin:0 3px 10px;padding:13px}.form-panel{overflow-y:auto}.form-panel label,.bid-panel label{display:block;margin-bottom:10px;color:#b8c7de;font-size:11px}.form-panel input,.form-panel textarea,.form-panel select,.bid-panel input{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid rgba(159,212,255,.25);border-radius:4px;outline:0;background:rgba(21,42,78,.75);color:#eef7ff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.avatar-row{display:flex;gap:10px;align-items:center;margin-bottom:10px}.avatar-row img,.mine-profile img{width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:0 0 14px rgba(255,156,210,.55)}.avatar-input{flex:1}.switch-row{position:relative;display:flex!important;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid rgba(143,213,255,.15)}.switch-row small{display:block;margin-top:2px;color:#8297b9;font-size:9px}.switch-row input{position:absolute!important;right:0;width:42px!important;height:24px;margin:0!important;opacity:0}.switch-row i{width:40px;height:22px;border:1px solid var(--line);border-radius:99px;background:#142a4d}.switch-row input:checked+i{border-color:var(--pink);background:#6d2c66}.switch-row i:after{content:"";display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:#9caecc;transition:.2s}.switch-row input:checked+i:after{margin-left:20px;background:#ffadd6}.bid-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 3px 10px;padding:12px;text-align:center}.bid-summary span,.bid-summary small{display:block;color:#899abd;font-size:9px}.bid-summary strong{display:inline-block;margin:3px;color:#ffe0a5;font:700 20px Georgia,serif}.bid-panel h3{margin:0;color:#fff1bc;font-size:14px}.bid-panel p{margin:5px 0 10px;color:#9eaecc;font-size:10px}.service-note{margin:6px;color:#8fa2c3;font-size:10px}.mine-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;text-align:center}.mine-summary strong,.mine-summary span{display:block}.mine-summary strong{color:#ffd98f;font:700 19px Georgia,serif}.mine-summary span{color:#899abd;font-size:9px}.mine-profile{display:flex;align-items:center;gap:10px}.mine-profile>div{flex:1;min-width:0}.mine-profile strong{font-size:14px}.mine-profile p{margin:3px 0 0;color:#9baccc;font-size:10px}.mine-posts{overflow:auto}.mine-post{display:flex;justify-content:space-between;gap:8px;margin:0 3px 8px;padding:11px;color:#dce8fa;font-size:10px}.mine-post strong{display:block;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mine-post small{display:block;margin-top:4px;color:#8295b8}.mine-post>span{white-space:nowrap;color:#9eb4d3;font-size:8px}.empty-state{margin:20px 4px;padding:24px;text-align:center;color:#8295b8;font-size:11px}.dock{position:absolute;z-index:12;right:10px;bottom:max(9px,env(safe-area-inset-bottom));left:10px;display:grid;grid-template-columns:repeat(4,1fr);height:68px;padding:5px;border:1px solid var(--line);border-radius:7px;background:rgba(3,18,42,.94);backdrop-filter:blur(15px)}.dock button{border:0;background:transparent;color:#8297b9;font-size:9px}.dock button span{display:block;margin-bottom:2px;color:currentColor;font-size:18px}.dock button.active{color:#ffd78f;text-shadow:0 0 10px rgba(255,215,143,.55)}.toast{position:absolute;z-index:60;left:50%;bottom:89px;max-width:calc(100% - 30px);padding:8px 12px;transform:translate(-50%,10px);border:1px solid var(--line);border-radius:5px;background:rgba(3,17,40,.96);color:#eaf5ff;font-size:11px;opacity:0;pointer-events:none;transition:.2s}.toast.show{transform:translate(-50%,0);opacity:1}.modal[hidden]{display:none}.modal{position:absolute;z-index:50;inset:0;display:grid;place-items:center;padding:15px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px)}.modal-card{position:relative;z-index:1;width:100%;max-height:calc(100% - 20px);overflow:auto;padding:18px;border:1px solid rgba(155,220,255,.45);border-radius:8px;background:linear-gradient(160deg,rgba(10,39,78,.98),rgba(28,18,58,.98));box-shadow:0 0 30px rgba(76,192,255,.28)}.modal-close{position:absolute;top:7px;right:8px;border:0;background:transparent;color:#d7e8ff;font-size:23px}.match-user{display:flex;gap:11px;align-items:center;padding-right:20px}.match-user img{width:55px;height:55px;border-radius:50%;object-fit:cover;box-shadow:0 0 14px rgba(255,154,212,.6)}.match-user strong{display:block;font-size:18px}.match-user small{display:block;margin-top:3px;color:#b8c9e4;font-size:10px}.score-ring{display:grid;place-items:center;width:104px;height:104px;margin:18px auto 10px;border:7px solid rgba(114,233,255,.18);border-top-color:var(--pink);border-right-color:var(--cyan);border-radius:50%;box-shadow:0 0 20px rgba(112,222,255,.32)}.score-ring strong{font-size:25px;text-shadow:0 0 12px rgba(255,165,216,.8)}.match-desc{margin:0 0 12px;color:#cfddf4;text-align:center;font-size:12px}.modal-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.modal-actions button,.comment-compose button{padding:9px 4px;border:1px solid var(--line);border-radius:4px;background:rgba(25,65,106,.6);color:#d9edff;font-size:10px}.comment-box{margin-top:15px;border-top:1px solid rgba(152,216,255,.18);padding-top:11px}.comment-head{display:flex;justify-content:space-between;color:#dceaff;font-size:11px}.comment-head span{color:#8fa6c7}.comment-item{margin:7px 0;padding:7px;border-radius:4px;background:rgba(2,16,39,.48);color:#d2dff1;font-size:10px}.comment-item small{display:block;margin-top:3px;color:#758aad;font-size:8px}.empty-comment,.loading-copy{color:#91a6c6;font-size:10px}.comment-compose{display:flex;gap:5px}.comment-compose input{flex:1;min-width:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:rgba(2,16,39,.5)}.reference-card{padding:8px}.reference-card img{display:block;max-width:100%;max-height:calc(100dvh - 50px);object-fit:contain}@keyframes pulse{to{transform:scale(1.04);opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}
/* Content lives on a stable dark surface; the neon treatment remains a border, not text background. */
.wall-grid{gap:9px 6px}.fate-card{aspect-ratio:.55;padding:2px;filter:drop-shadow(0 0 5px rgba(86,199,255,.5))}.fate-card:after{inset:5px;border-color:rgba(208,246,255,.58)}.fate-card.vip-card:after{border-color:rgba(255,226,163,.8)}.card-inner{inset:6px 5px 11px;padding:7px 6px 9px;clip-path:polygon(14% 0,86% 0,100% 11%,100% 82%,50% 100%,0 82%,0 11%);background:linear-gradient(160deg,rgba(4,18,42,.96),rgba(8,26,55,.93));box-shadow:inset 0 0 18px rgba(91,207,255,.15);overflow:hidden}.vip-card .card-inner{background:linear-gradient(160deg,rgba(59,34,45,.96),rgba(14,20,44,.95) 72%);box-shadow:inset 0 0 19px rgba(255,194,110,.16)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;min-height:27px}.avatar{width:26px;height:26px;border:1px solid rgba(255,235,203,.76);box-shadow:0 0 8px rgba(255,160,214,.42)}.identity,.spark{display:none}.vip-badge{position:static;padding:2px 3px;border-color:rgba(255,228,161,.92);background:rgba(120,69,28,.92);color:#fff0c2;font-size:7px;line-height:1.1}.card-copy{margin-top:4px}.card-name{display:block;overflow:hidden;color:#fff;font:700 12px/1.25 "Noto Sans SC","Microsoft YaHei",sans-serif;text-overflow:ellipsis;white-space:nowrap;text-shadow:none}.card-meta{display:flex;align-items:baseline;gap:5px;margin-top:2px;min-width:0}.card-age{gap:2px}.card-age strong{color:#fff;font:700 18px/1 "Noto Sans SC","Microsoft YaHei",sans-serif;text-shadow:none}.card-age em{color:#ffd996;font-size:9px;font-style:normal}.card-city{overflow:hidden;color:#bfe7ff;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.card-detail{gap:3px;margin-top:5px;max-height:21px}.card-copy p{margin:5px 0 0;min-height:30px;color:#f0f6ff;font-size:9px;font-weight:500;line-height:1.4;text-shadow:0 1px 1px rgba(0,0,0,.5);-webkit-line-clamp:2}.tag-chip{padding:2px 4px;border-color:rgba(167,226,255,.76);border-radius:4px;background:rgba(34,101,154,.62);color:#f5fbff;font-size:7px;line-height:1.1}.vip-card .tag-chip{border-color:rgba(255,216,151,.72);background:rgba(126,70,57,.62);color:#fff2d1}.card-stats{gap:6px;padding-top:4px;color:#c9dffa;font-size:7px;line-height:1}.vip-empty .card-inner,.normal-empty .card-inner{padding:0;background:transparent;box-shadow:none}.vip-empty .card-inner{inset:9px 5px 14px}.normal-empty .card-inner{inset:9px 5px 14px}.normal-empty{display:grid;place-items:center;text-align:center;background:linear-gradient(155deg,#bfefff,#2878c9 40%,#14284c 78%,#356b9b)}.empty-orbit{color:#a9ecff;font-size:20px;text-shadow:0 0 12px #4bdcff}.normal-empty strong{color:#dcf8ff;font-size:10px}.normal-empty small,.normal-empty span{color:#91c7e3;font-size:7px}
@media(min-width:621px){body{display:flex;justify-content:center}.app-shell{width:375px}.page{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.intro-glow{animation:none}}

/* A single stroked path keeps the neon frame equally thick on every bevel. */
.wall-grid{gap:10px 7px}.fate-card{aspect-ratio:.68;padding:0;background:none!important;clip-path:none;filter:none}.fate-card:after{display:none}.card-frame{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 5px rgba(114,220,255,.66))}.frame-fill{fill:rgba(7,22,49,.98)}.frame-line{fill:none;stroke-width:2.45;stroke-linejoin:round}.vip-card .frame-fill{fill:rgba(42,29,49,.98)}.vip-card .card-frame{filter:drop-shadow(0 0 5px rgba(255,183,118,.72))}.card-inner{inset:7px 6px 12px;z-index:1;padding:6px 6px 8px;clip-path:polygon(18% 0,82% 0,100% 13%,100% 75%,74% 100%,26% 100%,0 75%,0 13%);background:transparent!important;box-shadow:none!important}.card-top{min-height:28px}.avatar{width:27px;height:27px}.card-copy{margin-top:4px}.card-name{font-size:12px}.card-age strong{font-size:18px}.card-detail{margin-top:5px}.card-copy p{margin-top:5px;min-height:29px;line-height:1.35}.card-stats{padding-top:3px}.vip-empty,.normal-empty{background:none!important}.vip-empty .card-inner,.normal-empty .card-inner{inset:10px 8px 15px;clip-path:none;background:transparent!important}.vip-empty strong,.normal-empty strong{font-size:10px}

button{align-items:center;justify-content:center;gap:5px}.outline-button,.primary-button,.secondary-button,.intro-play,.intro-skip,.modal-actions button,.comment-compose button{display:inline-flex}.primary-button,.secondary-button{justify-content:center}.button-icon{width:14px;height:14px;flex:0 0 auto;stroke-width:2}.modal-close{display:grid;place-items:center;width:30px;height:30px;padding:0}.modal-close .button-icon{width:17px;height:17px}.dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.dock button .nav-icon{width:18px;height:18px;stroke-width:1.8}.dock button span{display:block;color:currentColor;font-size:9px;line-height:1.1}.intro-play .button-icon,.intro-skip .button-icon{width:15px;height:15px}
.intro-sequence{width:100%;height:100%;min-height:100%;aspect-ratio:auto}.app-content,.dock{visibility:hidden}.app-shell.ready .app-content,.app-shell.ready .dock{visibility:visible}.wall-pages{position:relative}.page-loader{position:sticky;z-index:4;bottom:8px;display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;min-height:30px;margin:8px auto 12px;padding:6px 10px;border:1px solid rgba(118,229,255,.5);border-radius:5px;background:rgba(4,21,48,.94);box-shadow:0 0 14px rgba(90,206,255,.18);color:#d9f4ff;font-size:10px}.page-loader[hidden]{display:none}

/* Cards are taller than one viewport, so mandatory snapping traps touch scrolling at page one. */
.wall-pages{scroll-snap-type:none}.wall-page{scroll-snap-align:none}

/* SVG supplies the score geometry; its motion is controlled exclusively by GSAP. */
.score-ring{position:relative;display:grid;place-items:center;width:116px;height:116px;margin:15px auto 8px;border:0;border-radius:50%;background:radial-gradient(circle,rgba(15,30,66,.98) 0 46%,rgba(20,49,91,.4) 47% 58%,transparent 59%);box-shadow:0 0 30px rgba(100,216,255,.26),inset 0 0 22px rgba(100,216,255,.16);isolation:isolate}.score-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.score-track,.score-arc{fill:none;stroke-linecap:round}.score-track{stroke:rgba(115,233,255,.12);stroke-width:5}.score-track-inner{stroke:rgba(255,159,212,.1);stroke-width:3}.score-arc{filter:drop-shadow(0 0 5px currentColor)}.score-arc-cyan{stroke:#64eaff;stroke-width:5;color:#64eaff}.score-arc-pink{stroke:#ff8fc8;stroke-width:3;color:#ff8fc8}.score-halo{position:absolute;z-index:-1;width:78%;height:78%;border:1px solid rgba(129,235,255,.75);border-radius:50%;box-shadow:0 0 19px rgba(111,224,255,.8),inset 0 0 14px rgba(255,146,204,.34)}.score-value{position:relative;z-index:1;display:grid;place-items:center;line-height:1}.score-value strong{font:700 29px/1 "Noto Sans SC","Microsoft YaHei",sans-serif;text-shadow:0 0 15px rgba(255,166,215,.78)}.score-value small{margin-top:7px;color:#a9c9e8;font-size:9px;letter-spacing:.16em}.score-particle{position:absolute;z-index:2;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#d8fbff;box-shadow:0 0 9px #68e8ff}.score-particle:nth-of-type(2n){background:#ffd0ea;box-shadow:0 0 9px #ff98d1}
.score-halo{z-index:0}.score-orbit{z-index:1}.score-value{z-index:3}.score-particle{z-index:4}
.score-orbit{will-change:transform}.score-rotor{position:absolute;z-index:2;inset:4px;border-radius:50%;will-change:transform}.score-rotor-pink{inset:13px}.score-comet{position:absolute;top:-3px;left:50%;display:block;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#efffff;box-shadow:0 0 0 2px rgba(99,234,255,.22),0 0 12px 4px rgba(70,231,255,.96)}.score-comet:after{content:"";position:absolute;top:2px;right:6px;width:20px;height:4px;border-radius:99px;background:linear-gradient(90deg,rgba(93,232,255,0),rgba(93,232,255,.95));filter:blur(1px);transform:rotate(8deg);transform-origin:right center}.score-rotor-pink .score-comet{background:#fff1fa;box-shadow:0 0 0 2px rgba(255,141,204,.22),0 0 12px 4px rgba(255,119,191,.95)}.score-rotor-pink .score-comet:after{background:linear-gradient(90deg,rgba(255,119,191,0),rgba(255,119,191,.95))}

/* My interactions stay compact so the user's own posts remain reachable on a phone. */
.activity-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 3px 8px}.activity-tabs button{position:relative;display:flex;min-height:42px;padding:5px 2px;border:1px solid rgba(143,213,255,.2);border-radius:5px;background:rgba(5,25,55,.6);color:#91a6c6;font-size:9px}.activity-tabs button.active{border-color:rgba(255,177,216,.7);background:rgba(88,39,89,.58);color:#fff0fa}.activity-tabs .button-icon{width:13px;height:13px}.activity-tabs b{position:absolute;top:3px;right:5px;min-width:14px;padding:0 3px;border-radius:8px;background:rgba(115,233,255,.18);color:#d9f8ff;font-size:8px;line-height:14px}.activity-list{max-height:172px;margin:0 3px 9px;overflow-y:auto;border-top:1px solid rgba(143,213,255,.13);border-bottom:1px solid rgba(143,213,255,.13);scrollbar-width:thin}.activity-item{display:grid;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:8px;width:100%;min-height:54px;padding:7px 4px;border:0;border-bottom:1px solid rgba(143,213,255,.1);background:transparent;color:#dceaff;text-align:left}.activity-item:last-child{border-bottom:0}.activity-item:active{transform:scale(.99)}.activity-item>img{width:32px;height:32px;border:1px solid rgba(163,225,255,.48);border-radius:50%;object-fit:cover;background:#1a365f}.activity-item>span{display:grid;min-width:0;gap:1px}.activity-item strong,.activity-item small,.activity-item time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-item strong{font-size:11px}.activity-item small{color:#b9cbe5;font-size:9px}.activity-item time{color:#6f86a8;font-size:8px}.activity-item>.button-icon{color:#83cde9}.activity-item.unavailable{opacity:.58;cursor:not-allowed}.activity-item.unavailable>.button-icon{color:#ffb0cc}.activity-empty{padding:18px 8px;color:#8195b5;text-align:center;font-size:10px}.mine-posts{flex:1;min-height:0}.match-detail-list{display:grid;gap:7px;margin-top:12px;padding:9px;border-top:1px solid rgba(152,216,255,.18);border-bottom:1px solid rgba(152,216,255,.18)}.match-detail-list>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:7px;align-items:start}.match-detail-list span{color:#8fa9cc;font-size:9px;line-height:1.8}.match-detail-list p{display:flex;flex-wrap:wrap;gap:4px;margin:0;color:#ddecff;font-size:10px;line-height:1.65}.match-detail-list .match-declaration{display:block;color:#d4e0ef}.match-empty{color:#758baa!important}.match-unavailable{display:grid;justify-items:center;gap:7px;padding:24px 8px 8px;color:#d8e8fa;text-align:center}.match-unavailable .button-icon{width:27px;height:27px;color:#ffabc8}.match-unavailable strong{font-size:14px}.match-unavailable p{margin:0;color:#91a6c6;font-size:10px}.modal-actions button:disabled,.comment-compose button:disabled,.comment-compose input:disabled{opacity:.45;cursor:not-allowed}
/* Messaging modal and paged activity controls. */
.activity-more-button{display:flex;align-items:center;justify-content:center;gap:5px;width:calc(100% - 6px);min-height:34px;margin:0 3px 9px;border:1px solid rgba(143,213,255,.24);border-radius:5px;background:rgba(5,25,55,.54);color:#b9d9f4;font-size:10px}.activity-more-button:disabled{opacity:.52;cursor:wait}.message-center-button{display:grid;grid-template-columns:18px minmax(0,1fr) auto 16px;align-items:center;gap:8px;width:calc(100% - 6px);min-height:44px;margin:0 3px 9px;padding:0 10px;border:1px solid rgba(143,213,255,.28);border-radius:6px;background:rgba(5,25,55,.62);color:#e0efff;text-align:left}.message-center-button>span{font-size:11px}.message-center-button>b,.message-row>b{min-width:17px;padding:1px 5px;border-radius:999px;background:#f37bb8;color:#fff;font-size:8px;line-height:14px;text-align:center}.message-center-arrow{color:#81cce9}.messages-card{width:min(100%,390px);min-height:380px;padding:18px 14px 14px}.message-modal-title{padding:2px 28px 10px 2px}.message-modal-title h2{margin:0;color:#fff3fb;font:500 25px Georgia,"Songti SC",serif;letter-spacing:.08em}.message-inbox{max-height:440px;overflow-y:auto;border-top:1px solid rgba(143,213,255,.16);border-bottom:1px solid rgba(143,213,255,.16)}.message-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 14px;align-items:center;gap:8px;width:100%;min-height:62px;padding:8px 3px;border:0;border-bottom:1px solid rgba(143,213,255,.1);background:transparent;color:#e6f2ff;text-align:left}.message-row:last-child{border-bottom:0}.message-row:active{transform:scale(.99)}.message-row>img{width:38px;height:38px;border:1px solid rgba(163,225,255,.52);border-radius:50%;object-fit:cover;background:#173862}.message-row>span{display:grid;min-width:0;gap:2px}.message-row strong,.message-row small,.message-row time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-row strong{font-size:11px}.message-row small{color:#b6cae4;font-size:9px}.message-row time{color:#7088ab;font-size:8px}.message-row>.button-icon{color:#83cde9}.thread-header{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:0 28px 10px 0;border-bottom:1px solid rgba(143,213,255,.16)}.icon-button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(143,213,255,.3);border-radius:5px;background:rgba(6,26,57,.7);color:#e3f1ff}.thread-header strong,.thread-header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-header strong{font-size:13px}.thread-header small{margin-top:2px;color:#8fa8c8;font-size:9px}.thread-list{display:flex;flex-direction:column;min-height:270px;max-height:420px;gap:8px;padding:13px 2px;overflow-y:auto}.thread-bubble{align-self:flex-start;max-width:78%;padding:8px 9px;border:1px solid rgba(143,213,255,.2);border-radius:6px;background:rgba(7,26,57,.72);color:#e7f2ff}.thread-bubble.outgoing{align-self:flex-end;border-color:rgba(255,164,212,.4);background:rgba(97,43,96,.58)}.thread-bubble p{margin:0;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.thread-bubble time{display:block;margin-top:3px;color:#92a7c5;font-size:8px}.thread-compose{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;padding-top:9px;border-top:1px solid rgba(143,213,255,.16)}.thread-compose input{min-width:0;height:36px;padding:0 9px;border:1px solid rgba(143,213,255,.3);border-radius:5px;outline:0;background:rgba(2,16,39,.62);color:#edf6ff}.thread-compose button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,165,214,.62);border-radius:5px;background:rgba(117,48,106,.72);color:#fff0fa}.thread-compose button:disabled,.thread-compose input:disabled{opacity:.5;cursor:not-allowed}
.thread-more-button{margin-top:9px;margin-bottom:0}
.dock button{position:relative}.dock button>#navMessageUnread{position:absolute;top:2px;left:calc(50% + 7px);display:block;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:#f37bb8;color:#fff;font-size:8px;line-height:15px;text-align:center;text-shadow:none}.dock button>#navMessageUnread[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.loader-dot{animation:none}.score-rotor,.score-halo,.score-particle{animation:none!important}.message-row:active,.activity-item:active{transform:none}}
