.about-page{--ink: #161f33;--ink-2: #2a3650;--muted: #5c6779;--muted-2: #8b95a6;--field: #f4f8fc;--field-2: #eaf1f8;--surface: #ffffff;--hair: #e7eef6;--hair-2: #dbe6f1;--blue: #13a8e8;--blue-deep: #1e7fc2;--blue-soft: #e2f3fc;--blue-mist: #eff8fe;--k-goal: #13a8e8;--k-read: #ef5350;--k-system: #2bae74;--k-reward: #e0a52b;--k-life: #161f33;--k-goal-soft: #e1f3fc;--k-read-soft: #fde7e6;--k-system-soft: #e2f5ec;--k-reward-soft: #fbf0d4;--k-life-soft: #e7eef6;--k: var(--blue);--k-soft: var(--blue-soft);--r-card: 22px;--r-chip: 999px;--r-soft: 14px;--sh-card: 0 1px 0 rgba(22, 31, 51, .02), 0 18px 44px -24px rgba(30, 64, 110, .3);--sh-soft: 0 2px 10px -4px rgba(30, 64, 110, .18);--sh-float: 0 24px 60px -28px rgba(20, 52, 96, .45);--font: Inter, "Noto Sans SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--reveal-y: 22px;min-height:100dvh;color:var(--ink);background:var(--surface);font-family:var(--font);font-feature-settings:"ss01","cv05";line-height:1.5;overflow-x:clip;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.about-page *,.about-page *:before,.about-page *:after{box-sizing:border-box}.about-page a{color:inherit;text-decoration:none}.about-page img{display:block;max-width:100%}.about-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.about-page section{position:relative}.about-page .wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 32px}.about-page .wm{display:inline-flex;align-items:center;gap:.26em;color:var(--ink);font-weight:800;letter-spacing:-.025em;line-height:.96;white-space:nowrap}.about-page .wm .o{display:inline-grid;position:relative;flex:none;place-items:center;width:.94em;height:.94em;border-radius:50%;background:var(--k);color:#fff;font-size:.82em;font-weight:800;line-height:1}.about-page .wm .o-char{position:absolute;top:50%;left:50%;display:block;line-height:1;transform:translate(-50%,-56%)}.about-page .k-goal{--k: var(--k-goal);--k-soft: var(--k-goal-soft)}.about-page .k-read{--k: var(--k-read);--k-soft: var(--k-read-soft)}.about-page .k-system{--k: var(--k-system);--k-soft: var(--k-system-soft)}.about-page .k-reward{--k: var(--k-reward);--k-soft: var(--k-reward-soft)}.about-page .k-life{--k: var(--k-life);--k-soft: var(--k-life-soft)}.about-page .nav{position:sticky;top:0;z-index:60;background:#ffffffd1;border-bottom:1px solid transparent;-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);transition:border-color .25s,box-shadow .25s}.about-page .nav.scrolled{border-color:var(--hair);box-shadow:0 8px 30px -22px #14346080}.about-page .nav-in{display:flex;align-items:center;gap:28px;height:70px}.about-page .brand{display:flex;align-items:center;gap:11px;font-size:16.5px;font-weight:800;letter-spacing:-.01em}.about-page .brand .mark{flex:none;width:38px;height:38px;overflow:hidden;border-radius:10px;box-shadow:var(--sh-soft)}.about-page .brand .mark img{width:100%;height:100%;object-fit:cover}.about-page .nav-links{display:flex;gap:4px;margin-left:14px}.about-page .nav-links a{padding:8px 14px;border-radius:9px;color:var(--muted);font-size:14.5px;font-weight:600;transition:color .18s,background .18s}.about-page .nav-links a:hover{color:var(--ink);background:var(--field)}.about-page .nav-spacer{flex:1}.about-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;height:46px;padding:0 22px;border:1px solid transparent;border-radius:var(--r-chip);font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:transform .16s ease,box-shadow .2s,background .2s,border-color .2s,color .2s}.about-page .btn:active{transform:translateY(1px)}.about-page .btn-primary{color:#fff;background:var(--blue);box-shadow:0 10px 24px -10px #13a8e8b3}.about-page .btn-primary:hover{background:#0f9bd8;box-shadow:0 14px 30px -10px #13a8e8cc}.about-page .btn-ghost{color:var(--ink);background:var(--surface);border-color:var(--hair-2)}.about-page .btn-ghost:hover{color:var(--blue-deep);border-color:var(--blue)}.about-page .btn-sm{height:40px;padding:0 18px;font-size:14px}.about-page .btn .arr{transition:transform .2s}.about-page .btn:hover .arr{transform:translate(3px)}.about-page .hero{overflow:hidden;background:radial-gradient(1200px 520px at 78% -8%,var(--blue-mist) 0%,rgba(239,248,254,0) 60%),linear-gradient(180deg,#fbfdff 0%,var(--field) 100%);border-bottom:1px solid var(--hair)}.about-page .hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;max-width:1320px;margin:0 auto;padding:72px 32px 88px}.about-page .hero-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:26px;padding:7px 13px 7px 11px;border-radius:var(--r-chip);color:var(--blue-deep);background:var(--blue-soft);font-size:12.5px;font-weight:800;letter-spacing:.18em}.about-page .hero-eyebrow:before{content:"";width:3px;height:13px;border-radius:2px;background:var(--blue)}.about-page .hero-wm{display:flex;flex-direction:column;gap:.12em;margin:0 0 26px;font-size:clamp(38px,5.4vw,76px)}.about-page .hero-wm .wm{letter-spacing:-.03em}.about-page .hero-sub{max-width:30em;margin:0 0 30px;color:var(--muted);font-size:clamp(16px,1.35vw,19px);font-weight:500;line-height:1.7}.about-page .hero-sub b{color:var(--ink-2);font-weight:700}.about-page .hero-video-link{display:inline-flex;align-items:center;width:fit-content;margin:-10px 0 24px;color:var(--blue-deep);font-size:15px;font-weight:800;line-height:1.5;text-decoration:underline;text-decoration-color:#1e7fc252;text-decoration-thickness:1px;text-underline-offset:5px;transition:color .18s,text-decoration-color .18s}.about-page .hero-video-link:hover{color:var(--blue);text-decoration-color:currentColor}.about-page .hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:28px}.about-page .hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:var(--muted);font-size:13.5px;font-weight:600}.about-page .hero-meta-item{display:inline-flex;align-items:center;gap:14px}.about-page .pip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.about-page .pip i{width:7px;height:7px;border-radius:50%;background:var(--k, var(--blue))}.about-page .sep{width:4px;height:4px;border-radius:50%;background:var(--hair-2)}.about-page .hero-stage{position:relative;display:grid;place-items:center;min-height:540px}.about-page .hero-phone{position:relative;z-index:2;width:min(86%,360px);filter:drop-shadow(0 40px 70px rgba(20,52,96,.28))}.about-page .hero-glow{position:absolute;z-index:1;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,#13a8e82e,#13a8e800 68%);filter:blur(6px)}.about-page .float{position:absolute;z-index:3;display:flex;flex-direction:column;gap:2px;padding:12px 15px;border:1px solid var(--hair);border-radius:16px;background:var(--surface);box-shadow:var(--sh-float)}.about-page .float .lab{color:var(--muted-2);font-size:11.5px;font-weight:700;letter-spacing:.02em}.about-page .float .val{display:flex;align-items:baseline;gap:5px;color:var(--ink);font-size:19px;font-weight:800;letter-spacing:-.02em}.about-page .float .val small{color:var(--muted);font-size:12px;font-weight:700}.about-page .float .accent{color:var(--k, var(--blue))}.about-page .float-a{top:7%;left:-2%;--k: var(--blue)}.about-page .float-b{bottom:15%;left:-5%;--k: var(--k-reward)}.about-page .float-c{top:31%;right:-2%;--k: var(--k-system)}.about-page.about-video-page{min-height:100vh;display:grid;grid-template-rows:auto 1fr;background:#10192c;color:#fff}.about-page .about-video-back{align-self:start;width:fit-content;margin:clamp(18px,4vw,34px);display:inline-flex;align-items:center;gap:10px;color:#ffffffdb;font-size:15px;font-weight:800;letter-spacing:0;text-decoration:none}.about-page .about-video-back:hover{color:#fff}.about-page .about-video-player{display:flex;align-items:center;justify-content:center;min-height:0;padding:0 clamp(14px,4vw,34px) clamp(24px,4vw,40px)}.about-page .intro-video{width:min(420px,100%);max-height:calc(100vh - 108px);aspect-ratio:9 / 16;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:#000;box-shadow:0 28px 90px #00000061}.about-page .sec-pad{padding:clamp(72px,9vw,128px) 0}.about-page .sec-head{max-width:760px;margin:0 0 54px}.about-page .eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--blue-deep);font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.about-page .eyebrow:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--blue)}.about-page .sec-title{margin:0;color:var(--ink);font-size:clamp(27px,3.5vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.1}.about-page .sec-lede{max-width:44em;margin:16px 0 0;color:var(--muted);font-size:clamp(16px,1.3vw,18px);font-weight:500;line-height:1.65}.about-page .path{background:var(--field);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.about-page .path-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:18px}.about-page .path-head .sec-head{margin-bottom:0}.about-page .path-head .sec-lede{max-width:24em;margin-top:0}.about-page .path-body{position:relative;display:flex;flex-direction:column}.about-page .act-row{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:clamp(24px,4vw,58px);align-items:stretch}.about-page .act-row+.act-row{border-top:1px dashed var(--hair-2)}.about-page .act-row:before{position:absolute;top:0;bottom:0;left:4px;width:2px;content:"";background:linear-gradient(to bottom,transparent,var(--hair-2) 14%,var(--hair-2) 86%,transparent)}.about-page .act-row:first-child:before{top:clamp(48px,7vw,86px)}.about-page .act-row:last-child:before{bottom:clamp(48px,7vw,86px)}.about-page .rail-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-self:start;align-self:start;gap:12px;margin-top:clamp(48px,7vw,86px);padding:8px 10px 8px 0;border:0;border-radius:var(--r-chip);background:transparent;font:inherit;cursor:pointer}.about-page .rail-dot i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--hair-2);transition:background .25s,transform .25s,box-shadow .25s}.about-page .rail-dot span{color:var(--muted-2);font-size:11px;font-weight:800;letter-spacing:.14em;white-space:nowrap;transition:color .25s}.about-page .rail-dot:hover i{background:var(--k)}.about-page .rail-dot:hover span{color:var(--ink)}.about-page .rail-dot.active i{background:var(--k);box-shadow:0 0 0 4px var(--k-soft);transform:scale(1.35)}.about-page .rail-dot.active span{color:var(--k)}.about-page .act{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:center;padding:clamp(48px,7vw,86px) 0}.about-page .act.flip .act-text{order:2}.about-page .act.flip .act-media{order:1}.about-page .act-text{max-width:30em}.about-page .act-index{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--muted-2);font-size:13px;font-weight:800;letter-spacing:.06em}.about-page .act-index b{color:var(--k)}.about-page .act-wm{margin:14px 0 20px;font-size:clamp(26px,2.6vw,36px)}.about-page .act-line{margin:0 0 16px;color:var(--ink);font-size:clamp(22px,2.3vw,31px);font-weight:800;letter-spacing:-.01em;line-height:1.28}.about-page .act-line em{color:var(--k);font-style:normal}.about-page .act-desc{margin:0 0 26px;color:var(--muted);font-size:16.5px;font-weight:500;line-height:1.7}.about-page .dchips{display:flex;flex-wrap:wrap;gap:12px}.about-page .dchip{display:flex;flex-direction:column;gap:3px;min-width:0;padding:14px 18px;border:1px solid var(--hair);border-radius:var(--r-soft);background:var(--surface);box-shadow:var(--sh-soft)}.about-page .dchip .lab{color:var(--muted-2);font-size:12px;font-weight:700}.about-page .dchip .val{display:flex;align-items:baseline;gap:4px;color:var(--ink);font-size:22px;font-weight:800;letter-spacing:-.02em}.about-page .dchip .val small{color:var(--muted);font-size:12.5px;font-weight:700}.about-page .dchip.hot{background:var(--k-soft);border-color:transparent}.about-page .dchip.hot .val{color:var(--k)}.about-page .act-media{position:relative;display:grid;place-items:center}.about-page .act-media .halo{position:absolute;z-index:0;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--k-soft),transparent 70%);opacity:.9}.about-page .act-phone{position:relative;z-index:1;width:min(78%,330px);filter:drop-shadow(0 34px 60px rgba(20,52,96,.24))}.about-page .act-tag-float{position:absolute;top:8%;z-index:2;display:flex;flex-direction:column;gap:2px;padding:11px 15px;border:1px solid var(--hair);border-radius:14px;background:#fff;box-shadow:var(--sh-float)}.about-page .act.flip .act-tag-float{right:4%}.about-page .act:not(.flip) .act-tag-float{left:4%}.about-page .act-tag-float .lab{color:var(--muted-2);font-size:11px;font-weight:700}.about-page .act-tag-float .val{color:var(--k);font-size:17px;font-weight:800;letter-spacing:-.01em}.about-page .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center}.about-page .bullets{display:flex;flex-direction:column;gap:4px;margin-top:34px}.about-page .bullet{display:flex;gap:16px;padding:18px 4px;border-top:1px solid var(--hair)}.about-page .bullet:last-child{border-bottom:1px solid var(--hair)}.about-page .bullet .bi{flex:none;width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--k)}.about-page .bullet .bt{margin-bottom:4px;color:var(--ink);font-size:17.5px;font-weight:800}.about-page .bullet .bd{color:var(--muted);font-size:15px;font-weight:500;line-height:1.6}.about-page .lbcard{position:relative;overflow:hidden;padding:24px;border:1px solid var(--hair);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--sh-card)}.about-page .lbhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}.about-page .lbhead .t{color:var(--muted-2);font-size:13px;font-weight:800;letter-spacing:.04em}.about-page .lbhead .is-blue{color:var(--blue-deep)}.about-page .lbtotal{margin-bottom:18px;color:var(--ink);font-size:22px;font-weight:800;letter-spacing:-.02em}.about-page .lbtotal small{color:var(--muted);font-size:13px;font-weight:700}.about-page .lbrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--hair)}.about-page .rk{width:22px;color:var(--muted-2);font-size:14px;font-weight:800;text-align:center}.about-page .rk.top{color:var(--k-reward)}.about-page .lbav{flex:none;width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 1px var(--hair)}.about-page img.lbav{display:block;object-fit:cover;background:var(--field-2)}.about-page .lbav-text{display:grid;place-items:center;color:var(--muted-2);background:var(--field-2);font-size:12px;font-weight:800}.about-page .nm{flex:1;min-width:0;overflow:hidden;color:var(--ink);font-size:14.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.about-page .bar{flex:1.3;height:8px;overflow:hidden;border-radius:5px;background:var(--field-2)}.about-page .bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--blue),#5fc6f0)}.about-page .hm{min-width:62px;color:var(--blue-deep);font-size:13.5px;font-weight:800;text-align:right}.about-page .heatwrap{margin-top:18px}.about-page .heatcap{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.about-page .heatcap .ht{color:var(--muted-2);font-size:13px;font-weight:800;letter-spacing:.04em}.about-page .heatcap .hs{color:var(--muted);font-size:13px;font-weight:700}.about-page .heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:4px;width:100%}.about-page .heat span{width:100%;aspect-ratio:1;border-radius:3px}.about-page .steps,.about-page .devices{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.about-page .step,.about-page .dev{position:relative;overflow:hidden;padding:26px 24px 28px;border:1px solid var(--hair);border-radius:var(--r-card);background:var(--surface);transition:transform .2s,box-shadow .2s,border-color .2s}.about-page .step:hover,.about-page .dev:hover{border-color:var(--hair-2);box-shadow:var(--sh-card);transform:translateY(-4px)}.about-page .step .no{margin-bottom:16px;color:var(--blue);font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1}.about-page .step .no:after{content:"";display:block;width:26px;height:3px;margin-top:14px;border-radius:2px;background:var(--blue-soft)}.about-page .step h3,.about-page .dev h3{margin:0 0 8px;color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.01em}.about-page .step p,.about-page .dev p{margin:0;color:var(--muted);font-size:14.5px;font-weight:500;line-height:1.6}.about-page .dev{display:block;padding:26px 24px}.about-page .dev:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--dev-c, var(--blue));opacity:.9}.about-page .dev .tagline{margin-bottom:12px;color:var(--dev-c, var(--blue));font-size:12.5px;font-weight:800;letter-spacing:.04em}.about-page .dev h3{margin-bottom:9px;font-size:19px}.about-page .dev p{font-size:14px}.about-page .dev .note{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--muted-2);font-size:12.5px;font-weight:700}.about-page .footcta{padding:clamp(72px,9vw,120px) 0;color:#fff;background:radial-gradient(900px 400px at 50% -40%,#1b2c4a 0%,var(--ink) 60%);text-align:center}.about-page .footcta .wm{justify-content:center;color:#fff}.about-page .footcta .wm .o{background:var(--blue)}.about-page .ft-wm{display:flex;justify-content:center;margin:0 0 22px;font-size:clamp(30px,4.5vw,60px)}.about-page .footcta p{max-width:32em;margin:0 auto 34px;color:#aebbd0;font-size:17px;line-height:1.7}.about-page .fc-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.about-page .footcta .btn-ghost{color:#fff;background:transparent;border-color:#ffffff40}.about-page .footcta .btn-ghost:hover{color:#fff;border-color:#fff}.about-page .foot{padding:30px 0 44px;color:#8893a8;background:var(--ink);border-top:1px solid rgba(255,255,255,.08)}.about-page .foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.about-page .foot .brand{color:#fff;font-size:15px}.about-page .foot .brand .mark{background:#ffffff1a}.about-page .foot small{display:block;margin-top:10px;color:#5c6986;font-size:12.5px}.about-page .foot-links{display:flex;gap:22px;font-size:13.5px;font-weight:600}.about-page .foot-links a:hover{color:#fff}@keyframes aboutRevealIn{0%{opacity:0;transform:translateY(var(--reveal-y))}}@keyframes aboutBob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@media(prefers-reduced-motion:no-preference){.about-page .reveal.in{animation:aboutRevealIn .7s cubic-bezier(.2,.7,.2,1) both}.about-page .reveal.in.d1{animation-delay:.09s}.about-page .reveal.in.d2{animation-delay:.18s}.about-page .reveal.in.d3{animation-delay:.27s}.about-page .float.f-anim.in{animation:aboutBob 6s ease-in-out infinite}}@media(max-width:1024px){.about-page .hero-in{grid-template-columns:1fr;gap:12px;padding:56px 28px 64px}.about-page .hero-stage{order:2;min-height:480px}.about-page .hero-phone{width:min(70%,320px)}.about-page .act{grid-template-columns:1fr;gap:36px}.about-page .act.flip .act-text,.about-page .act.flip .act-media{order:0}.about-page .act-media{order:-1!important}.about-page .act-row{grid-template-columns:104px minmax(0,1fr);column-gap:24px}.about-page .field-grid{grid-template-columns:1fr}.about-page .steps,.about-page .devices{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.about-page .wrap{padding:0 20px}.about-page .nav-links{display:none}.about-page .nav-in{height:62px;gap:12px}.about-page .brand{min-width:0;font-size:15px}.about-page .brand .mark{width:36px;height:36px}.about-page .nav .btn{flex:none;padding:0 16px}.about-page .hero-in{padding:40px 20px 52px}.about-page .hero-eyebrow{display:none}.about-page .hero-wm{font-size:clamp(38px,12vw,50px)}.about-page .hero-cta{width:100%}.about-page .hero-cta .btn{flex:1;padding-inline:18px}.about-page .hero-stage{min-height:470px;overflow:hidden}.about-page .hero-phone{width:min(78%,320px)}.about-page .float-a{top:2%;left:0}.about-page .float-b{bottom:6%;left:0}.about-page .float-c{right:0}.about-page .path-head .sec-lede{margin-top:0}.about-page .act-row{grid-template-columns:1fr;column-gap:0}.about-page .act-row:before{top:34px;bottom:0;left:-8px}.about-page .act-row:first-child:before{top:34px}.about-page .act-row:last-child:before{bottom:42px}.about-page .rail-dot{gap:8px;margin-left:-12px;margin-top:32px;padding:8px 12px 8px 0}.about-page .act{padding-top:24px}.about-page .rail-dot span{font-size:10.5px;letter-spacing:.1em}.about-page .steps,.about-page .devices{grid-template-columns:1fr}.about-page .dchips{width:100%}.about-page .dchip{flex:1}.about-page .lbcard{padding:18px}.about-page .lbrow{gap:8px}.about-page .bar{flex:.8}.about-page .heatcap{align-items:flex-start;flex-direction:column;gap:2px}.about-page .foot-in{flex-direction:column;align-items:flex-start;gap:18px}}@media(max-width:390px){.about-page .nav .btn{padding:0 12px;font-size:13px}.about-page .brand{font-size:14px}.about-page .hero-wm{font-size:38px}}.group-page{--group-bg: #f3f7fb;--group-ink: #243044;--group-muted: #6f7d91;--group-line: #dfe8f1;--group-blue: #35aaf4;--group-green: #33b78f;--group-gold: #e3ad43;min-height:100dvh;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 46px;background:linear-gradient(180deg,#eaf7ff 0,var(--group-bg) 330px),var(--group-bg);color:var(--group-ink);overflow-x:hidden}.group-page a{color:inherit}.group-header,.group-hero,.group-section{width:min(100%,1080px);margin-inline:auto}.group-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;background:#eef8ffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.group-brand,.group-header-cta,.group-notes,.group-copy-actions{display:flex;align-items:center}.group-brand{gap:10px;text-decoration:none;font-size:16px;font-weight:850}.group-brand img{width:34px;height:34px;border-radius:8px}.group-header-cta{justify-content:center;min-height:38px;padding:0 16px;border:1px solid rgba(53,170,244,.34);border-radius:999px;color:#176f9e;background:#ffffffc7;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}.group-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,.72fr);gap:46px;align-items:center;min-height:min(650px,calc(100dvh - 86px));padding:28px 0 58px}.group-copy{min-width:0}.group-copy h1{max-width:8em;margin:0;font-size:clamp(42px,6.6vw,72px);line-height:1.04;font-weight:900;letter-spacing:0;overflow-wrap:anywhere}.group-copy p,.group-qr-panel p,.group-section p{margin:18px 0 0;color:#526074;font-size:16px;line-height:1.72;font-weight:700}.group-copy p{max-width:660px;font-size:clamp(17px,2.1vw,20px)}.group-notes{flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}.group-notes li{padding:8px 12px;border:1px solid rgba(53,170,244,.22);border-radius:999px;color:#267ea9;background:#ffffffad;font-size:13px;font-weight:850}.group-qr-panel,.group-fallback,.group-step-list li{border:1px solid var(--group-line);border-radius:8px;background:#ffffffdb;box-shadow:0 16px 46px #3040581a}.group-qr-panel{display:grid;gap:18px;padding:20px}.group-panel-label{display:block;color:#267ea9;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.group-qr-panel h2,.group-section h2{margin:8px 0 0;font-size:clamp(26px,3.4vw,38px);line-height:1.15;font-weight:900;letter-spacing:0;overflow-wrap:anywhere}.group-qr-frame{display:grid;gap:10px;margin:0}.group-qr-frame img{display:block;width:min(100%,430px);justify-self:center;border:1px solid rgba(223,232,241,.96);border-radius:8px;background:#fff;box-shadow:0 14px 34px #3040581f}.group-qr-frame figcaption{color:var(--group-muted);font-size:13px;font-weight:800;line-height:1.45;text-align:center}.group-section{margin-top:28px}.group-fallback{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);gap:22px;align-items:center;padding:24px}.group-copy-actions{flex-wrap:wrap;gap:12px;justify-content:flex-end}.group-copy-box{display:grid;gap:8px;min-width:min(100%,210px);padding:16px;border:1px solid rgba(217,229,239,.96);border-radius:8px;background:#f9fcff}.group-copy-box span{color:var(--group-muted);font-size:12px;font-weight:850}.group-copy-box strong{color:var(--group-ink);font-size:21px;line-height:1.2;font-weight:900;overflow-wrap:anywhere}.group-copy-box .secondary-button{width:100%;min-height:40px}.group-section-head{margin-bottom:14px}.group-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:group-steps}.group-step-list li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:16px;color:#465368;font-size:15px;font-weight:800;line-height:1.55;counter-increment:group-steps}.group-step-list li:before{content:counter(group-steps);display:grid;place-items:center;width:38px;height:38px;border-radius:999px;color:#fff;background:var(--group-green);font-size:14px;font-weight:900}@media(max-width:820px){.group-page{padding-inline:12px}.group-hero,.group-fallback,.group-step-list{grid-template-columns:minmax(0,1fr)}.group-hero{gap:24px;min-height:auto;padding:18px 0 34px}.group-qr-panel{order:-1}.group-copy h1{max-width:100%;font-size:clamp(36px,11vw,48px)}.group-copy-actions{justify-content:stretch}.group-copy-box{flex:1 1 220px}}@media(max-width:460px){.group-header-cta{min-height:36px;padding:0 12px;font-size:13px}.group-copy-box{min-width:100%}}.v2cc-root{--blue-50: #eff8fe;--blue-100: #e2f3fc;--blue-200: #e8f7ff;--blue-300: #79c7ef;--blue-400: #35aaf4;--blue-500: #13a8e8;--blue-600: #1e7fc2;--blue-cyan: #62d4e9;--ink-900: #161f33;--ink-800: #1a2233;--ink-700: #253041;--ink-600: #2a3650;--ink-500: #5c6779;--ink-400: #8a95a5;--ink-300: #8b95a6;--ink-200: #c8d6e3;--hair: #e5ebf2;--hair-2: #e7eef6;--hair-3: #dbe6f1;--white: #fff;--bg: #f3f5f8;--bg-tint-top: #eef7ff;--panel: #fff;--panel-soft: #f8fafc;--field: #f4f8fc;--field-2: #eaf1f8;--k-goal: #13a8e8;--k-goal-soft: #e1f3fc;--k-read: #ef5350;--k-read-soft: #fde7e6;--k-system: #2bae74;--k-system-soft: #e2f5ec;--k-reward: #e0a52b;--k-reward-soft: #fbf0d4;--k-life: #161f33;--k-life-soft: #e7eef6;--gold: #f2c56b;--success: #1c7d4e;--warn: #995820;--danger: #d54b4b;--font-sans: Inter, "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--v-shadow-card: 0 1px 0 rgba(255,255,255,.9) inset, 0 10px 30px -12px rgba(30,80,130,.22), 0 2px 8px rgba(48,64,88,.05);--v-shadow-pop: 0 18px 40px -16px rgba(30,90,150,.4);--v-ring: rgba(205, 224, 240, .7);--act: var(--k-goal);--act-soft: var(--k-goal-soft);--act-deep: #0c6ea0;--act-hi: #5cc6f6;min-height:100dvh;font-family:var(--font-sans);color:var(--ink-900);background:#eaf4fd;background-image:radial-gradient(120% 60% at 50% -10%,var(--act-soft) 0%,rgba(255,255,255,0) 60%),linear-gradient(180deg,var(--act-soft) 0,#eef6fc 340px,#f1f5f9 760px,#f1f5f9 100%);transition:background .45s ease;-webkit-font-smoothing:antialiased;width:100%;max-width:100vw;overflow-x:clip}.v2cc-root[data-act=goal]{--act: var(--k-goal);--act-soft: var(--k-goal-soft);--act-deep: #0c6ea0;--act-hi: #5cc6f6}.v2cc-root[data-act=read]{--act: var(--k-read);--act-soft: var(--k-read-soft);--act-deep: #c0403d;--act-hi: #f8918e}.v2cc-root[data-act=system]{--act: var(--k-system);--act-soft: var(--k-system-soft);--act-deep: #1f8a5b;--act-hi: #5ecf9c}.v2cc-root[data-act=reward]{--act: var(--k-reward);--act-soft: var(--k-reward-soft);--act-deep: #8a6410;--act-hi: #eec25e}.v2cc-root[data-act=life]{--act: var(--k-life);--act-soft: var(--k-life-soft);--act-deep: #161f33;--act-hi: #3d4a66}.v2cc-root .week,.v2cc-root .tiles,.v2cc-root .uk-metric-grid{min-width:0}.v2cc-root *{box-sizing:border-box}.v2cc-root .phone{width:100%;max-width:440px!important;min-height:100dvh;margin:0 auto;padding:8px 14px 96px;position:relative}.v2cc-root .hdr{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;margin:-8px -14px 14px;padding:12px 14px 10px;background:linear-gradient(180deg,color-mix(in srgb,var(--act-soft) 72%,rgba(255,255,255,.92)),#ffffff9e);transition:background .45s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.v2cc-root .hdr-mark{width:36px;height:36px;border-radius:11px;overflow:hidden;flex:0 0 auto;box-shadow:0 6px 16px #35aaf44d,0 0 0 1px #fff9}.v2cc-root .hdr-mark img{width:100%;height:100%;display:block}.v2cc-root .hdr-id{flex:1;min-width:0}.v2cc-root .hdr-id strong{display:block;font-size:16px;font-weight:850;line-height:1.4;letter-spacing:-.01em}.v2cc-root .hdr-id>span{display:block;font-size:11.5px;font-weight:750;color:var(--ink-400);margin-top:1px}.v2cc-root .hdr-id strong,.v2cc-root .hdr-id>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .streak{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px 0 10px;border:0;border-radius:999px;background:linear-gradient(180deg,#fff7e8,#ffedd0);box-shadow:0 1px #fffc inset,0 6px 14px -6px #e0a52b99;color:#b9761a;font-family:var(--font-sans);font-size:14px;font-weight:900;flex:0 0 auto;cursor:pointer}.v2cc-root .streak:active{transform:translateY(1px)}.v2cc-root .streak:focus-visible{outline:3px solid rgba(19,168,232,.3);outline-offset:2px}.v2cc-root .streak svg{width:17px;height:17px}.v2cc-root .hdr-bell{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:12px;background:#ffffffb3;color:var(--ink-500);box-shadow:0 0 0 1px #d5e4f2cc;cursor:pointer;position:relative}.v2cc-root .hdr-bell svg{width:19px;height:19px}.v2cc-root .hdr-bell[data-notify=true]:after{content:"";position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--k-read);box-shadow:0 0 0 2px #ffffffe6}.v2cc-root .streak-celebration{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:22px;background:#161f332e;backdrop-filter:blur(10px) saturate(135%);-webkit-backdrop-filter:blur(10px) saturate(135%)}.v2cc-root .streak-confetti{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}.v2cc-root .streak-confetti i{position:absolute;left:50%;top:45%;width:9px;height:22px;border-radius:3px;opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(0);animation:streak-confetti-burst var(--dur) cubic-bezier(.16,1,.3,1) var(--delay) forwards}.v2cc-root .streak-confetti i.shape-dot{width:10px;height:10px;border-radius:50%}.v2cc-root .streak-confetti i.shape-chip{width:16px;height:9px;border-radius:999px}.v2cc-root .streak-confetti i.tone-goal{background:var(--k-goal)}.v2cc-root .streak-confetti i.tone-read{background:var(--k-read)}.v2cc-root .streak-confetti i.tone-system{background:var(--k-system)}.v2cc-root .streak-confetti i.tone-reward{background:var(--k-reward)}.v2cc-root .streak-confetti i.tone-life{background:var(--k-life)}.v2cc-root .daily-launch-confetti{position:fixed;inset:0;z-index:2147482990;pointer-events:none;overflow:hidden}.v2cc-root .daily-launch-confetti i{position:absolute;left:var(--ox);top:var(--oy);width:7px;height:18px;border-radius:999px;opacity:0;transform:translate(-50%,-50%) scale(.28) rotate(0);background:currentColor;box-shadow:0 0 12px currentColor;animation:daily-launch-confetti-burst var(--dur) cubic-bezier(.15,.86,.28,1) var(--delay) forwards}.v2cc-root .daily-launch-confetti i.shape-dot{width:8px;height:8px;border-radius:50%}.v2cc-root .daily-launch-confetti i.shape-chip{width:14px;height:7px;border-radius:999px}.v2cc-root .daily-launch-confetti i.shape-spark{width:4px;height:16px;border-radius:999px}.v2cc-root .daily-launch-confetti i.tone-goal{color:var(--k-goal)}.v2cc-root .daily-launch-confetti i.tone-read{color:var(--k-read)}.v2cc-root .daily-launch-confetti i.tone-system{color:var(--k-system)}.v2cc-root .daily-launch-confetti i.tone-reward{color:var(--k-reward)}.v2cc-root .daily-launch-confetti i.tone-life{color:var(--k-life)}.v2cc-root .daily-launch-confetti-debug{position:fixed;top:calc(74px + var(--safe-top));right:max(16px,calc((100vw - 440px)/2 + 16px));z-index:2147482991;border:0;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:850;letter-spacing:0;color:#0f3048;background:#ffffffdb;box-shadow:0 12px 26px -18px #161f3394,inset 0 0 0 1px #bedaeedb;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);cursor:pointer}.v2cc-root .daily-launch-confetti-debug:focus-visible{outline:3px solid rgba(19,168,232,.32);outline-offset:2px}.v2cc-root .streak-modal{position:relative;z-index:2;width:min(100%,342px);border-radius:24px;padding:28px 22px 24px;text-align:center;background:radial-gradient(120% 110% at 50% -16%,#fff2c89e,#fff2c800 54%),linear-gradient(180deg,#ffffff8f,#e8f6ff5c);border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(26px) saturate(165%);-webkit-backdrop-filter:blur(26px) saturate(165%);box-shadow:0 28px 70px -26px #161f3380,inset 0 1px #fffc,0 0 0 1px #a0d2f038}.v2cc-root .streak-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;background:#ffffff61;color:var(--ink-500);cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff94}.v2cc-root .streak-modal-icon{width:58px;height:58px;margin:0 auto 14px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(180deg,#fff7e8d1,#ffedd0a8);color:#b9761a;box-shadow:0 12px 22px -12px #e0a52bb3,inset 0 1px #ffffffb8}.v2cc-root .streak-modal h2{display:grid;gap:4px;margin:8px auto 0;max-width:12em;color:var(--ink-900);font-size:24px;font-weight:950;line-height:1.18}.v2cc-root .streak-modal h2 span,.v2cc-root .streak-modal h2 strong{display:block}.v2cc-root .streak-modal h2 strong{font-size:26px}.v2cc-root .streak-modal small{display:block;margin:12px auto 0;max-width:18em;color:var(--ink-500);font-size:12.5px;font-weight:760;line-height:1.55}.v2cc-root .stack{display:grid;gap:14px;min-width:0}.v2cc-root .stack>*{width:100%;min-width:0;max-width:100%}.v2cc-root .v2-actbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:-8px 0 8px;padding:8px 6px 12px}.v2cc-root .stack>.v2-actbar{margin:0;padding:10px 6px 6px}.v2cc-root .v2-actbar-main{display:grid;gap:5px;min-width:0}.v2cc-root .v2-act-eyebrow{font-size:10.5px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--act-deep);white-space:nowrap}.v2cc-root .v2-act-eyebrow span{color:var(--ink-400);letter-spacing:.02em}.v2cc-root .v2-act-lockup{display:flex;align-items:center;gap:.2em;color:var(--act-deep);font-size:26px;font-weight:850;line-height:1;letter-spacing:-.03em;white-space:nowrap}.v2cc-root .v2-act-a{display:inline-grid;place-items:center;flex:none;width:.9em;height:.9em;border-radius:50%;background:var(--act);color:#fff;font-size:.76em;font-weight:850;line-height:1;box-shadow:0 8px 18px -6px var(--act)}.v2cc-root .v2-act-dots{display:flex;align-items:center;gap:7px;padding-bottom:4px;flex:0 0 auto}.v2cc-root .v2-act-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:var(--act-deep);opacity:.16;cursor:pointer;transition:width .3s ease,opacity .3s ease,background-color .3s ease}.v2cc-root .v2-act-dots button.on{width:22px;border-radius:999px;background:var(--act);opacity:1;box-shadow:0 4px 10px -3px var(--act)}.v2cc-root .v2-act-dots button:focus-visible,.v2cc-root .v2-jstep:focus-visible{outline:3px solid color-mix(in srgb,var(--act) 28%,transparent);outline-offset:3px}.v2cc-root .v2-journey{display:grid;gap:10px;margin-bottom:72px;padding:8px 0 0}.v2cc-root .v2-journey-label{color:var(--ink-300);font-size:11px;font-weight:900;letter-spacing:.14em;text-align:center;text-transform:uppercase}.v2cc-root .v2-journey-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.v2cc-root .v2-jstep{display:grid;justify-items:center;gap:5px;min-width:0;min-height:58px;border:0;border-radius:13px;padding:9px 2px 8px;background:transparent;color:var(--ink-400);font-family:var(--font-sans);cursor:pointer;transition:background .2s ease,box-shadow .2s ease,color .2s ease}.v2cc-root .v2-jstep i{width:8px;height:8px;border-radius:50%;background:var(--v2-jc);opacity:.85;transition:width .3s ease,opacity .3s ease}.v2cc-root .v2-jstep span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:10px;font-weight:850;letter-spacing:.01em}.v2cc-root .v2-jstep.on{background:#ffffffdb;color:var(--ink-700);box-shadow:0 8px 22px -10px #3040584d,0 0 0 1px #dae6f2a8}.v2cc-root .v2-jstep.on i{width:18px;border-radius:999px;opacity:1}.v2cc-root .hero{position:relative;overflow:hidden;border-radius:26px;padding:20px;background:radial-gradient(120% 130% at 88% -20%,#e4f4ff,#e4f4ff00 52%),linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(225,238,248,.9)}.v2cc-root .hero-head{display:flex;gap:14px;align-items:flex-start}.v2cc-root .hero-avatar-wrap{position:relative;width:76px;height:76px;flex:0 0 auto}.v2cc-root .hero-avatar-wrap>svg{display:block;width:76px;height:76px;transform:rotate(-90deg)}.v2cc-root .hero-av-bg{fill:none;stroke:var(--v-ring);stroke-width:5.5}.v2cc-root .hero-av-fg{fill:none;stroke:url(#v2ringGrad);stroke-width:5.5;stroke-linecap:round}.v2cc-root .hero-av-img{position:absolute;inset:8px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(180deg,#bfe3fb,#7cc5f1);color:#fff;font-size:23px;font-weight:900}.v2cc-root .hero-av-img img{width:100%;height:100%;object-fit:cover;display:block}.v2cc-root .hero-rank{position:absolute;left:-3px;bottom:-3px;min-width:27px;height:27px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:var(--blue-500);color:#fff;font-size:13px;font-weight:900;box-shadow:0 4px 10px -3px #13a8e8cc,0 0 0 3px #fff}.v2cc-root .hero-mascot-badge{position:absolute;right:-5px;top:-5px;width:28px;height:28px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2.5px #fff,0 5px 10px -3px #35aaf466}.v2cc-root .hero-mascot-badge img{width:100%;height:100%;display:block}.v2cc-root .hero-id{flex:1;min-width:0}.v2cc-root .hero-id.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.v2cc-root .hero-id-main{min-width:0;display:grid;gap:8px}.v2cc-root .hero-name{font-size:18px;font-weight:850;letter-spacing:-.01em;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .hero-mb{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:0 0 auto}.v2cc-root .hero-mb-row{display:flex;gap:6px}.v2cc-root .hero-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11.5px;font-weight:900;line-height:1;white-space:nowrap}.v2cc-root .hero-badge.gold{background:#fdf0cf;color:#b9761a}.v2cc-root .hero-badge.blue{background:var(--blue-100);color:var(--blue-600)}.v2cc-root .hero-badge.system{background:var(--k-system-soft);color:var(--k-system)}.v2cc-root .hero-big{display:flex;align-items:baseline;gap:1px;flex:0 0 auto}.v2cc-root .hero-big b{font-size:34px;font-weight:950;line-height:.95;letter-spacing:-.02em}.v2cc-root .hero-big i{font-size:14px;font-weight:900;font-style:normal;color:var(--ink-400);margin:0 1px}.v2cc-root .hero-bubble{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;border-radius:14px 14px 14px 5px;background:var(--blue-50);border:1px solid rgba(160,210,240,.5)}.v2cc-root .hero-bubble img{width:26px;height:26px;border-radius:7px;flex:0 0 auto}.v2cc-root .hero-bubble span{font-size:13px;font-weight:820;color:var(--ink-700);line-height:1.35}.v2cc-root .hero-bubble em{font-style:normal;color:var(--blue-600);font-weight:900}.v2cc-root .card{border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff,#fcfdff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.v2cc-root .card-title{font-size:15px;font-weight:900}.v2cc-root .card-sub{font-size:12px;font-weight:820;color:var(--ink-400);white-space:nowrap}.v2cc-root .week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;margin-top:16px}.v2cc-root .day{display:grid;justify-items:center;align-content:end;gap:5px;min-width:0}.v2cc-root .day-val{font-size:9.5px;font-weight:900;color:var(--blue-600);height:12px;line-height:1.25;white-space:nowrap}.v2cc-root .day.empty .day-val{color:transparent}.v2cc-root .day-cap{width:28px;min-height:28px;border-radius:999px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background:var(--field-2);color:var(--ink-300);transition:height .2s cubic-bezier(.16,1,.3,1)}.v2cc-root .day-cap .cap-dot{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;font-size:11px;font-weight:850}.v2cc-root .day-cap .cap-dot svg{width:13px;height:13px}.v2cc-root .day-cap.done{background:linear-gradient(180deg,#8ed0f7,#22a3e8);color:#fff;box-shadow:0 5px 12px -4px #138fd68c}.v2cc-root .day-cap.done.is-today{background:linear-gradient(180deg,#4fb8f2,#1a8fd6);box-shadow:0 6px 14px -4px #138fd6bf}.v2cc-root .day-cap.todo{background:#fff;color:var(--blue-600);box-shadow:0 0 0 2.5px var(--blue-400),0 4px 10px -4px #13a8e880}.v2cc-root .day-name{font-size:11px;font-weight:800;color:var(--ink-400)}.v2cc-root .day.today .day-name{color:var(--blue-600)}.v2cc-root .reading{display:grid;gap:7px;margin-top:16px;min-width:0;max-width:100%}.v2cc-root .reading>*{min-width:0;max-width:100%}.v2cc-root .read-row{width:100%;min-width:0;max-width:100%;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:13px;background:#f6fafe;border:1px solid rgba(222,235,247,.8)}.v2cc-root a.read-row,.v2cc-root a.bs-row{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.v2cc-root a.read-row:active,.v2cc-root a.bs-row:active{transform:scale(.99)}.v2cc-root .read-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--blue-100);color:var(--blue-600)}.v2cc-root .read-ic svg{width:16px;height:16px}.v2cc-root .read-row .read-title{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:820}.v2cc-root .read-row b{flex:0 0 auto;font-size:13px;font-weight:900;color:var(--blue-600);white-space:nowrap}.v2cc-root .home-booklist-recommendations-card{display:grid;gap:13px}.v2cc-root .home-booklist-recommendation-list{display:grid;gap:11px;min-width:0}.v2cc-root .home-booklist-recommendation-row{width:100%;min-width:0;display:grid;gap:12px;padding:13px;border:1px solid rgba(228,238,248,.95);border-radius:17px;background:#fff;color:var(--ink-800);font-family:var(--font-sans);text-align:left;cursor:pointer;box-shadow:0 8px 22px -18px #2250826b}.v2cc-root .home-booklist-recommendation-row:active{transform:scale(.99)}.v2cc-root .home-booklist-recommendation-main{display:grid;gap:5px;min-width:0}.v2cc-root .home-booklist-recommendation-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.v2cc-root .home-booklist-recommendation-title b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:950;line-height:1.25}.v2cc-root .home-booklist-recommendation-title i{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;color:var(--ink-300);font-size:12px;font-weight:900;font-style:normal;white-space:nowrap}.v2cc-root .home-booklist-recommendation-main small,.v2cc-root .home-booklist-recommendation-main em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .home-booklist-recommendation-main small{color:var(--ink-400);font-size:11.5px;font-weight:780}.v2cc-root .home-booklist-recommendation-main em{color:var(--blue-600);font-size:12px;font-weight:850;font-style:normal}.v2cc-root .home-booklist-recommendation-covers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.v2cc-root .home-booklist-recommendation-cover{min-width:0;aspect-ratio:3 / 4;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#eef5fb,#dce8f3);color:var(--ink-300);box-shadow:0 8px 16px -14px #2250828c}.v2cc-root .home-booklist-recommendation-cover img{width:100%;height:100%;display:block;object-fit:cover}.v2cc-root .tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:5px;border-radius:16px;background:#e3eef8;box-shadow:inset 0 1px 3px #3040580f}.v2cc-root .tab{min-height:40px;border:0;border-radius:12px;background:transparent;padding:0 4px;font-family:var(--font-sans);font-size:13px;font-weight:900;color:var(--ink-400);cursor:pointer;transition:color .2s,background .2s,box-shadow .2s;white-space:nowrap}.v2cc-root .tab.active{background:#fff;color:var(--blue-600);box-shadow:0 4px 12px -4px #3040582e}.v2cc-root .panel{display:grid;gap:14px}.v2cc-root .panel-hero{position:relative;overflow:hidden;border-radius:22px;padding:18px;background:radial-gradient(120% 120% at 100% 0%,#13a8e824,#13a8e800 55%),linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .panel-eyebrow{font-size:11.5px;font-weight:850;letter-spacing:.08em;color:var(--blue-600);text-transform:uppercase}.v2cc-root .panel-title{font-size:26px;font-weight:900;letter-spacing:-.01em;margin:6px 0 0;line-height:1.1}.v2cc-root .panel-note{font-size:12px;font-weight:850;color:var(--ink-400);margin-top:6px}.v2cc-root .tz-note{margin:2px 4px 0;color:var(--ink-400);font-size:11px;font-weight:760;line-height:1.5;text-align:center}.v2cc-root .v2-session-gate{min-height:190px;display:grid;align-content:center}.v2cc-root .v2-session-pulse{display:inline-flex;gap:7px;align-items:center;margin-top:18px}.v2cc-root .v2-session-pulse span{width:9px;height:9px;border-radius:50%;background:var(--blue-400);opacity:.35;animation:v2-session-pulse 1.15s ease-in-out infinite}.v2cc-root .v2-session-pulse span:nth-child(2){animation-delay:.14s}.v2cc-root .v2-session-pulse span:nth-child(3){animation-delay:.28s}.v2cc-root .tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2cc-root .tile{position:relative;border-radius:18px;padding:14px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:grid;gap:8px;align-content:start;min-height:116px}.v2cc-root .tile-ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center}.v2cc-root .tile-ic svg{width:18px;height:18px}.v2cc-root .tile-k-goal{background:var(--k-goal-soft);color:var(--k-goal)}.v2cc-root .tile-k-read{background:var(--k-read-soft);color:var(--k-read)}.v2cc-root .tile-k-system{background:var(--k-system-soft);color:var(--k-system)}.v2cc-root .tile-k-reward{background:var(--k-reward-soft);color:var(--k-reward)}.v2cc-root .tile-val{font-size:26px;font-weight:950;letter-spacing:-.01em;line-height:1}.v2cc-root .tile-val i{font-size:13px;font-weight:900;font-style:normal;color:var(--ink-400);margin-left:2px}.v2cc-root .tile-lbl{font-size:12px;font-weight:850;color:var(--ink-400)}.v2cc-root .tile-avatars{display:flex;align-items:center}.v2cc-root .tile-avatars b{width:22px;height:22px;border-radius:50%;margin-left:-6px;border:2px solid #fff;display:grid;place-items:center;font-size:9px;font-weight:900;color:#fff}.v2cc-root .tile-avatars b:first-child{margin-left:0}.v2cc-root .tile-link{cursor:pointer;text-align:left;font:inherit;font-family:var(--font-sans);transition:transform .12s ease,box-shadow .2s,border-color .2s}.v2cc-root .tile-link:active{transform:translateY(1px)}.v2cc-root .tile-arrow{position:absolute;top:13px;right:11px;color:var(--ink-300);display:inline-grid}.v2cc-root .panel-rules{padding:16px 18px;border-radius:18px;background:#f5f9fdbf;border:1px solid rgba(225,236,247,.9)}.v2cc-root .panel-rules-title{display:flex;align-items:center;gap:7px;margin-bottom:11px;font-size:12px;font-weight:900;letter-spacing:.04em;color:var(--ink-500)}.v2cc-root .panel-rules-title svg{width:15px;height:15px;color:var(--blue-500)}.v2cc-root .panel-rules ol{margin:0;padding:0;list-style:none;counter-reset:r;display:grid;gap:9px}.v2cc-root .panel-rules li{position:relative;padding-left:26px;counter-increment:r;font-size:12.5px;font-weight:720;color:var(--ink-500);line-height:1.5}.v2cc-root .panel-rules li:before{content:counter(r);position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--blue-100);color:var(--blue-600);font-size:10px;font-weight:900}.v2cc-root .cta-wrap{padding-top:2px}.v2cc-root .cta{width:100%;min-height:56px;border:0;border-radius:18px;background:linear-gradient(180deg,#43b3f3,#1f93dd);color:#fff;font-family:var(--font-sans);font-size:16px;font-weight:900;letter-spacing:.01em;box-shadow:0 6px #1573b3,0 14px 26px -10px #138fd6b3;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.v2cc-root .cta svg{width:20px;height:20px}.v2cc-root .cta:active{transform:translateY(5px);box-shadow:0 1px #1573b3,0 6px 14px -8px #138fd6b3}.v2cc-root .fab-layer{position:fixed;left:50%;bottom:calc(94px + var(--safe-bottom));transform:translate(-50%);width:100%;max-width:440px;display:flex;justify-content:flex-end;padding:0 18px;z-index:45;pointer-events:none}.v2cc-root .fab{pointer-events:auto;position:relative;width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;cursor:pointer;background:var(--blue-500);box-shadow:0 6px 16px -6px #138fd673;transition:transform .14s var(--ease-out),background .16s ease}.v2cc-root .fab:active{transform:scale(.92)}.v2cc-root .fab svg{width:22px;height:22px}.v2cc-root .nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:100%;max-width:440px;padding:8px 8px calc(8px + var(--safe-bottom));background:#fffffff7;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:26px 26px 0 0;box-shadow:0 -10px 28px #2a3b521f,0 0 0 1px #dce6f2db}.v2cc-root .nav button{position:relative;display:grid;justify-items:center;align-content:center;gap:4px;min-width:0;min-height:58px;border:0;border-radius:22px;background:transparent;color:var(--ink-400);font-family:var(--font-sans);font-size:11px;font-weight:850;cursor:pointer;transition:color .18s,background .18s,box-shadow .18s}.v2cc-root .nav button svg{width:25px;height:25px}.v2cc-root .nav button.active{color:var(--act-deep);background:var(--act-soft);box-shadow:inset 0 0 0 1px #ffffff73}.v2cc-root .nav-act{position:absolute;top:7px;right:16px;color:var(--act-deep);font-size:8px;font-weight:950;letter-spacing:.04em;line-height:1;opacity:0;transition:opacity .18s ease}.v2cc-root .nav button.active .nav-act{opacity:.7}.v2cc-root .wx-btn{width:100%;min-height:54px;border:0;border-radius:16px;background:linear-gradient(180deg,#2bcf72,#07b85c);color:#fff;font-family:var(--font-sans);font-size:16px;font-weight:900;letter-spacing:.01em;box-shadow:0 6px #06934a,0 14px 26px -10px #07b85ca6;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease;display:inline-flex;align-items:center;justify-content:center;gap:9px}.v2cc-root .wx-btn svg{width:21px;height:21px}.v2cc-root .wx-btn:active{transform:translateY(5px);box-shadow:0 1px #06934a,0 6px 14px -8px #07b85c99}.v2cc-root .wx-btn.sm{min-height:40px;font-size:13.5px;border-radius:12px;box-shadow:0 4px #06934a,0 10px 18px -10px #07b85c99;padding:0 16px;width:auto}.v2cc-root .wx-btn.sm svg{width:17px;height:17px}.v2cc-root .ghdr-login{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;flex:0 0 auto;border:0;border-radius:999px;background:linear-gradient(180deg,#2bcf72,#07b85c);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 4px 10px -3px #07b85c8c;transition:transform .1s ease}.v2cc-root .ghdr-login:active{transform:scale(.95)}.v2cc-root .ghdr-login svg{width:15px;height:15px}.v2cc-root .gbanner{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 14px;border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid rgba(228,238,248,.9);box-shadow:var(--v-shadow-card)}.v2cc-root .gbanner-ic{width:38px;height:38px;border-radius:12px;flex:0 0 auto;display:grid;place-items:center;background:var(--blue-100);color:var(--blue-600)}.v2cc-root .gbanner-ic svg{width:20px;height:20px}.v2cc-root .gbanner-tx{flex:1 1 auto;min-width:0}.v2cc-root .gbanner-tx strong{display:block;font-size:13.5px;font-weight:900;line-height:1.35}.v2cc-root .gbanner-tx span{display:block;margin-top:2px;color:var(--ink-400);font-size:11.5px;font-weight:750;line-height:1.45}.v2cc-root .gbanner .wx-btn.sm{flex:0 0 auto}.v2cc-root .glogin{position:relative;overflow:hidden;border-radius:26px;padding:24px 20px 20px;text-align:center;background:radial-gradient(130% 120% at 50% -16%,#d7efff,#d7efff00 58%),linear-gradient(180deg,#fff,#f6fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(225,238,248,.9)}.v2cc-root .glogin-mascot{width:84px;height:84px;margin:0 auto 14px;border-radius:26px;overflow:hidden;box-shadow:0 10px 26px -8px #35aaf473,0 0 0 4px #fff}.v2cc-root .glogin-mascot img{width:100%;height:100%;display:block}.v2cc-root .glogin-eyebrow{font-size:12px;font-weight:900;letter-spacing:.06em;color:var(--blue-600);text-transform:uppercase}.v2cc-root .glogin-title{font-size:25px;font-weight:950;letter-spacing:-.01em;line-height:1.18;margin:8px 0 0}.v2cc-root .glogin-sub{font-size:13.5px;font-weight:760;color:var(--ink-500);line-height:1.55;margin:10px auto 0;max-width:19em}.v2cc-root .glogin-social{display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:7px 14px 7px 8px;border-radius:999px;background:var(--blue-50);border:1px solid rgba(160,210,240,.5)}.v2cc-root .glogin-social .stack-av{display:flex}.v2cc-root .glogin-social .stack-av b{width:24px;height:24px;border-radius:50%;margin-left:-8px;border:2px solid #fff;display:grid;place-items:center;font-size:10px;font-weight:900;color:#fff;overflow:hidden}.v2cc-root .glogin-social .stack-av b:first-child{margin-left:0}.v2cc-root .glogin-social .stack-av b img{width:100%;height:100%;object-fit:cover}.v2cc-root .glogin-social span{font-size:12.5px;font-weight:850;color:var(--ink-600)}.v2cc-root .glogin-social em{font-style:normal;color:var(--blue-600);font-weight:900}.v2cc-root .glogin-cta{margin-top:18px}.v2cc-root .glogin-fine{font-size:11px;font-weight:700;color:var(--ink-400);margin-top:11px;line-height:1.5}.v2cc-root .glock{position:relative;overflow:hidden}.v2cc-root .glock-veil{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:18px;background:linear-gradient(180deg,#ffffff59,#ffffffdb 58%,#fff);backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px)}.v2cc-root .glock-veil-inner{display:grid;justify-items:center;gap:10px;text-align:center}.v2cc-root .glock-badge{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--blue-100);color:var(--blue-600);box-shadow:0 6px 14px -6px #35aaf466}.v2cc-root .glock-badge svg{width:22px;height:22px}.v2cc-root .glock-veil-inner strong{font-size:14.5px;font-weight:900}.v2cc-root .glock-veil-inner span{font-size:12px;font-weight:780;color:var(--ink-400);max-width:16em;line-height:1.5}.v2cc-root .glock-body{filter:grayscale(.35);opacity:.9;pointer-events:none}.v2cc-root .glock-skel{height:13px;border-radius:7px;background:linear-gradient(90deg,#e9f1f8,#f3f8fc,#e9f1f8)}body.ios-native-chrome .v2cc-root .phone,.v2cc-root.v2cc-native-chrome .phone{padding-top:14px;padding-bottom:calc(88px + var(--safe-bottom))}.v2cc-root.v2cc-reader-fullscreen{min-height:100dvh;background:#e8f3ff}.v2cc-root.v2cc-reader-fullscreen .phone{width:100%!important;max-width:none!important;min-height:100dvh;margin:0!important;padding:0!important}body.ios-native-chrome .v2cc-root .hdr,.v2cc-root.v2cc-native-chrome .hdr,body.ios-native-chrome .v2cc-root .nav,.v2cc-root.v2cc-native-chrome .nav{display:none}body.ios-native-chrome .v2cc-root .fab-layer,.v2cc-root.v2cc-native-chrome .fab-layer{bottom:calc(74px + var(--safe-bottom))}@keyframes v2-session-pulse{0%,to{transform:translateY(0);opacity:.35}45%{transform:translateY(-4px);opacity:1}}@keyframes streak-confetti-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}7%,70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1) rotate(calc(var(--rot) + 520deg))}}@keyframes daily-launch-confetti-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(0)}8%{opacity:1;transform:translate(-50%,-50%) scale(.72) rotate(24deg)}62%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1) rotate(calc(var(--rot) + 420deg))}}@media(prefers-reduced-motion:reduce){.daily-launch-confetti,.daily-launch-confetti i{display:none;animation:none}}.v2cc-root[data-display-mode=eink]{--blue-50: #f7f7f7;--blue-100: #eeeeee;--blue-200: #e8e8e8;--blue-300: #666666;--blue-400: #333333;--blue-500: #111111;--blue-600: #000000;--blue-cyan: #444444;--ink-900: #000000;--ink-800: #000000;--ink-700: #111111;--ink-600: #222222;--ink-500: #333333;--ink-400: #555555;--ink-300: #777777;--ink-200: #999999;--hair: #000000;--hair-2: #666666;--hair-3: #999999;--white: #ffffff;--bg: #ffffff;--bg-tint-top: #ffffff;--panel: #ffffff;--panel-soft: #ffffff;--field: #ffffff;--field-2: #eeeeee;--k-goal: #000000;--k-goal-soft: #ffffff;--k-read: #000000;--k-read-soft: #ffffff;--k-system: #000000;--k-system-soft: #ffffff;--k-reward: #000000;--k-reward-soft: #ffffff;--k-life: #000000;--k-life-soft: #ffffff;--success: #000000;--warn: #000000;--danger: #000000;--act: #000000;--act-soft: #ffffff;--act-deep: #000000;--act-hi: #000000;--v-shadow-card: none;--v-shadow-pop: none;--v-ring: #000000;color:#000;background:#fff;background-image:none;transition:none;-webkit-font-smoothing:auto}.v2cc-root[data-display-mode=eink],.v2cc-root[data-display-mode=eink] *{animation:none!important;transition:none!important;text-shadow:none!important;box-shadow:none!important}.v2cc-root[data-display-mode=eink] .daily-launch-confetti,.v2cc-root[data-display-mode=eink] .daily-launch-confetti-debug,.v2cc-root[data-display-mode=eink] .streak-confetti,.v2cc-root[data-display-mode=eink] .streak-celebration{display:none!important}.v2cc-root[data-display-mode=eink] .phone,.v2cc-root[data-display-mode=eink] .hdr,.v2cc-root[data-display-mode=eink] .back-hdr,.v2cc-root[data-display-mode=eink] .nav,.v2cc-root[data-display-mode=eink] .panel-hero,.v2cc-root[data-display-mode=eink] .panel,.v2cc-root[data-display-mode=eink] .tile,.v2cc-root[data-display-mode=eink] .card,.v2cc-root[data-display-mode=eink] .gbanner,.v2cc-root[data-display-mode=eink] .glogin,.v2cc-root[data-display-mode=eink] .tabs,.v2cc-root[data-display-mode=eink] .tab.active,.v2cc-root[data-display-mode=eink] .set-card,.v2cc-root[data-display-mode=eink] .set-profile{color:#000;background:#fff!important;background-image:none!important;border-color:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.v2cc-root[data-display-mode=eink] .hdr,.v2cc-root[data-display-mode=eink] .back-hdr,.v2cc-root[data-display-mode=eink] .nav{border-bottom:1px solid #000000}.v2cc-root[data-display-mode=eink] .nav{border-top:1px solid #000000;border-radius:0}.v2cc-root[data-display-mode=eink] button,.v2cc-root[data-display-mode=eink] .set-btn,.v2cc-root[data-display-mode=eink] .cta,.v2cc-root[data-display-mode=eink] .wx-btn,.v2cc-root[data-display-mode=eink] .fab,.v2cc-root[data-display-mode=eink] .streak,.v2cc-root[data-display-mode=eink] .hdr-bell,.v2cc-root[data-display-mode=eink] .tab,.v2cc-root[data-display-mode=eink] .nav button{color:#000!important;background:#fff!important;background-image:none!important;border:1px solid #000000!important}.v2cc-root[data-display-mode=eink] button:disabled{color:#777!important;border-color:#777!important;opacity:1}.v2cc-root[data-display-mode=eink] .active,.v2cc-root[data-display-mode=eink] button.active,.v2cc-root[data-display-mode=eink] .nav button.active{color:#fff!important;background:#000!important;border-color:#000!important}.v2cc-root[data-display-mode=eink] .active svg,.v2cc-root[data-display-mode=eink] button.active svg,.v2cc-root[data-display-mode=eink] .nav button.active svg{color:#fff!important}.v2cc-root[data-display-mode=eink] .tabs .tab.active{color:#fff!important;background:#000!important;border-color:#000!important}.v2cc-root[data-display-mode=eink] input,.v2cc-root[data-display-mode=eink] textarea,.v2cc-root[data-display-mode=eink] select{color:#000;background:#fff;border-color:#000}.v2cc-root .av-bubble{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;overflow:hidden;color:#fff;font-size:15px;font-weight:900;box-shadow:0 4px 10px -4px #30405866,0 0 0 2px #fff}.v2cc-root .av-bubble img{width:100%;height:100%;object-fit:cover;display:block}.v2cc-root .stu-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:900;flex:0 0 auto;box-shadow:0 6px 16px -6px #1e5a9680,0 0 0 3px #fff}.v2cc-root .stu-avatar img{width:100%;height:100%;object-fit:cover;display:block}.v2cc-root .lb-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end;margin-top:4px}.v2cc-root .lb-pod{position:relative;border-radius:18px;padding:14px 10px 12px;text-align:center;display:grid;justify-items:center;gap:6px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);cursor:pointer;font-family:var(--font-sans)}.v2cc-root .lb-pod.p1{padding-top:20px;background:linear-gradient(180deg,#fff8e8,#fff);border-color:#f4dca0}.v2cc-root .lb-pod.p2{background:linear-gradient(180deg,#f4f8fc,#fff)}.v2cc-root .lb-pod.p3{background:linear-gradient(180deg,#fbf2ec,#fff)}.v2cc-root .lb-medal{position:absolute;top:-11px;left:50%;transform:translate(-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;box-shadow:0 4px 10px -3px #30405866,0 0 0 2.5px #fff}.v2cc-root .lb-medal.m1{background:linear-gradient(180deg,#f6c652,#e0a52b)}.v2cc-root .lb-medal.m2{background:linear-gradient(180deg,#c3d0dd,#9fb0c2)}.v2cc-root .lb-medal.m3{background:linear-gradient(180deg,#e0a886,#c8825c)}.v2cc-root .lb-pod .av-bubble{width:48px;height:48px;font-size:17px}.v2cc-root .lb-pod.p1 .av-bubble{width:56px;height:56px}.v2cc-root .lb-pod-name{font-size:12.5px;font-weight:850;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .lb-pod-time{font-size:13px;font-weight:950;color:var(--blue-600);white-space:nowrap}.v2cc-root .lb-list{display:grid;gap:10px;min-width:0}.v2cc-root .lb-list>*{min-width:0;max-width:100%}.v2cc-root .mcard{width:100%;min-width:0;max-width:100%;text-align:left;font-family:var(--font-sans);border:1px solid rgba(228,238,248,.9);border-radius:18px;padding:14px;background:#fff;box-shadow:var(--v-shadow-card);display:grid;gap:11px;cursor:pointer;transition:transform .12s ease,border-color .2s}.v2cc-root .mcard>*{min-width:0;max-width:100%}.v2cc-root .mcard.me{background:linear-gradient(180deg,#eef8ff,#e6f3ff);border-color:#35aaf473}.v2cc-root .mcard:active{transform:scale(.99)}.v2cc-root .mcard-top{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}.v2cc-root .mcard-rank{flex:0 0 auto;width:22px;text-align:center;font-size:15px;font-weight:900;color:var(--ink-300)}.v2cc-root .mcard.me .mcard-rank{color:var(--blue-600)}.v2cc-root .mcard .stu-avatar{width:44px;height:44px;flex:0 0 auto}.v2cc-root .mcard-id{flex:1;min-width:0}.v2cc-root .mcard-name{font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .mcard-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.v2cc-root .mcard-meta{font-size:12px;font-weight:800;color:var(--ink-400)}.v2cc-root .mcard .rwh-big b{font-size:26px}.v2cc-root .mcard .rwh-big i{font-size:13px}.v2cc-root .myc{position:relative;width:100%;min-width:0;max-width:100%;border-radius:22px;padding:16px;background:linear-gradient(180deg,#eef8fff5,#e6f4fff0);border:1.5px solid rgba(53,170,244,.45);box-shadow:0 14px 32px -22px #2180c8a6;display:grid;gap:13px;font-family:var(--font-sans);color:var(--ink-900);transition:transform .12s ease,border-color .18s ease,box-shadow .18s ease}.v2cc-root .myc[role=button]{cursor:pointer}.v2cc-root .myc:active{transform:scale(.99)}.v2cc-root .myc>*{min-width:0;max-width:100%}.v2cc-root .myc-head{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:6px}.v2cc-root .myc-dot{width:10px;height:10px;border-radius:50%;background:var(--blue-500);box-shadow:0 0 0 7px #42bcf521}.v2cc-root .myc-head strong{font-size:17px;font-weight:950;color:var(--blue-600);letter-spacing:-.01em}.v2cc-root .myc-head b{justify-self:end;min-width:0;color:var(--ink-400);font-size:14px;font-weight:920;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .myc .mcard-top{gap:12px}.v2cc-root .myc .stu-avatar{width:46px;height:46px}.v2cc-root .myc .mcard-name{color:var(--ink-400);font-size:15px;font-weight:950}.v2cc-root .myc .rwh-big b{font-size:32px;line-height:.94}.v2cc-root .myc .rwh-big i{font-size:13px}.v2cc-root .myc .rwh-time span{font-size:12px;font-weight:900}.v2cc-root .myc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v2cc-root .myc-tile{min-width:0;min-height:96px;border-radius:15px;padding:12px;background:#ffffffd1;border:1px solid rgba(199,226,245,.82);box-shadow:inset 0 1px #ffffff9e;display:grid;align-content:start;gap:7px}.v2cc-root .myc-tile-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--ink-400);font-size:13.5px;font-weight:920}.v2cc-root .myc-tile-head b{flex:0 0 auto;color:var(--blue-500);font-size:13.5px;font-weight:950}.v2cc-root .myc-tile-val{display:flex;align-items:baseline;gap:1px;color:var(--ink-900);font-size:30px;font-weight:950;line-height:.96}.v2cc-root .myc-tile-val b{font-size:30px;letter-spacing:-.02em}.v2cc-root .myc-tile-val i{font-size:15px;font-style:normal;font-weight:920;color:var(--ink-400);margin:0 1px}.v2cc-root .myc-tile-val em{font-size:12px;font-style:normal;font-weight:900;color:var(--ink-400);margin-left:2px}.v2cc-root .myc-pbar{width:100%;height:6px;border-radius:999px;overflow:hidden;background:#dcecf8}.v2cc-root .myc-pbar i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--blue-400),var(--blue-cyan))}.v2cc-root .myc-tile p{margin:0;color:var(--ink-400);font-size:12px;font-weight:900;line-height:1.25}.v2cc-root .myc .week{margin-top:2px}.v2cc-root .myc .rwh-read{background:#ffffffdb;border-color:#d7e8f5e0}.v2cc-root .myc-long-heatmap{min-width:0;margin-top:1px}.v2cc-root .myc-long-heatmap .long-challenge-window-heatmap{margin:0}.v2cc-root .myc-long-heatmap .year-heatmap-board{--heatmap-month-gap-row: 10px;--heatmap-month-gap-column: 7px;--heatmap-cell-gap: 2px;width:100%;gap:8px;margin:0;padding:10px;border:1px solid rgba(199,226,245,.82);border-radius:15px;background:#ffffffc2;box-shadow:inset 0 1px #ffffff9e;overflow:hidden}.v2cc-root .myc-long-heatmap .year-heatmap-months{grid-template-columns:repeat(6,minmax(0,1fr))}.v2cc-root .myc-long-heatmap .year-heatmap-month{grid-template-rows:auto 14px;gap:4px}.v2cc-root .myc-long-heatmap .year-heatmap-month-label{font-size:9px;line-height:14px}.v2cc-root .myc-long-heatmap .year-heatmap-inspector{justify-self:stretch;justify-content:flex-start;width:100%;gap:5px;border-radius:12px;padding:7px 9px;background:#f7fcffe6}.v2cc-root .myc-long-heatmap .year-heatmap-inspector-date,.v2cc-root .myc-long-heatmap .year-heatmap-inspector-separator,.v2cc-root .myc-long-heatmap .year-heatmap-inspector-status{font-size:10.5px}.v2cc-root .myc-long-heatmap .year-heatmap-inspector-duration{font-size:13px}.v2cc-root .myc-long-heatmap .year-heatmap-cell{border-radius:3px}.v2cc-root .myc-long-heatmap .year-heatmap-today-mark{font-size:8px}.v2cc-root .myc-long-heatmap .year-heatmap-tooltip{display:none}.v2cc-root .rwh{border-radius:22px;padding:18px;position:relative;overflow:hidden;background:radial-gradient(120% 130% at 100% 0%,#13a8e81f,#13a8e800 55%),linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:grid;gap:14px}.v2cc-root .rwh-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v2cc-root .rwh-head .eyebrow{font-size:11.5px;font-weight:850;letter-spacing:.08em;color:var(--blue-600);text-transform:uppercase}.v2cc-root .rwh-head h2{margin:4px 0 0;font-size:19px;font-weight:900;letter-spacing:-.01em;white-space:nowrap}.v2cc-root .rwh-head>div:first-child{min-width:0}.v2cc-root .rwh-member{width:100%;min-width:0;max-width:100%;display:grid;gap:13px;padding:14px;border-radius:16px;background:#f6fafe;border:1px solid rgba(222,235,247,.8);cursor:pointer;overflow:hidden}.v2cc-root .rwh-member>*{min-width:0;max-width:100%}.v2cc-root .rwh-top{min-width:0;max-width:100%;display:flex;align-items:center;gap:12px}.v2cc-root .rwh-top .stu-avatar{width:48px;height:48px;flex:0 0 auto}.v2cc-root .rwh-id{flex:1;min-width:0;overflow:hidden}.v2cc-root .rwh-name{font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .rwh-time{flex:0 0 auto;text-align:right}.v2cc-root .rwh-big{display:flex;align-items:baseline;gap:1px;justify-content:flex-end}.v2cc-root .rwh-big b{font-size:34px;font-weight:950;line-height:.95;letter-spacing:-.02em}.v2cc-root .rwh-big i{font-size:14px;font-weight:900;font-style:normal;color:var(--ink-400);margin:0 1px}.v2cc-root .rwh-time span{display:block;font-size:11px;font-weight:800;color:var(--ink-400);margin-top:3px}.v2cc-root .rwh-read{min-width:0;max-width:100%;display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:11px;background:#fff;border:1px solid rgba(222,235,247,.8);overflow:hidden}.v2cc-root .rwh-read .read-ic{width:26px;height:26px}.v2cc-root .rwh-read .read-ic svg{width:14px;height:14px}.v2cc-root .rwh-read .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:820}.v2cc-root .rwh-read b{flex:0 0 auto;font-size:12px;font-weight:900;color:var(--blue-600);white-space:nowrap}.v2cc-root .follow-btn{flex:0 0 auto;align-self:flex-start;display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 16px;border:0;border-radius:999px;font-family:var(--font-sans);font-size:13.5px;font-weight:900;cursor:pointer;transition:background .18s,transform .1s}.v2cc-root .follow-btn svg{width:15px;height:15px}.v2cc-root .follow-btn.idle{background:var(--blue-500);color:#fff;box-shadow:0 6px 14px -6px #13a8e8b3}.v2cc-root .follow-btn.done{background:#e8eef5;color:var(--ink-500)}.v2cc-root .follow-btn:disabled{cursor:wait;opacity:.72;transform:none}.v2cc-root .follow-btn:active{transform:scale(.95)}.v2cc-root .rwh-error{margin:-6px 0 10px;font-size:12px;font-weight:760;color:#c43b3b}.v2cc-root .lb-empty{text-align:center;padding:26px 16px;font-size:13px;font-weight:780;color:var(--ink-400)}.v2cc-root .lb-members-card{width:100%;min-width:0;max-width:100%;border:1px solid rgba(228,238,248,.9);border-radius:18px;padding:16px;background:#fff;box-shadow:var(--v-shadow-card);display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;text-align:left;font-family:var(--font-sans);color:inherit;cursor:pointer}.v2cc-root .lb-members-card:disabled{cursor:default}.v2cc-root .lb-members-main{min-width:0;display:grid;gap:5px}.v2cc-root .lb-members-main strong{font-size:16px;font-weight:950;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .lb-members-main span{font-size:12px;font-weight:850;color:var(--ink-400)}.v2cc-root .lb-members-arrow{grid-column:2;grid-row:1;align-self:center;justify-self:end;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;color:var(--ink-300);background:var(--field)}.v2cc-root .lb-members-arrow svg{width:16px;height:16px}.v2cc-root .lb-members-avatars{grid-column:1 / -1;min-width:0;display:flex;align-items:center;padding-top:2px}.v2cc-root .lb-members-avatars .av-bubble,.v2cc-root .lb-members-avatars .av-more{width:34px;height:34px;margin-left:-8px;box-shadow:0 0 0 2px #fff,0 5px 12px -6px #30405873}.v2cc-root .lb-members-avatars .av-bubble:first-child,.v2cc-root .lb-members-avatars .av-more:first-child{margin-left:0}.v2cc-root .lb-members-avatars .av-more{font-size:11px}.ui-button,.ui-icon-button{align-items:center;justify-content:center;gap:var(--space-2)}.primary-button,.secondary-button,.icon-button{border:1px solid transparent;min-height:44px;border-radius:var(--radius-pill);padding:0 22px;font-weight:var(--font-weight-strong);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.ui-button{display:inline-flex}.primary-button,.secondary-button,.ui-button-link{text-decoration:none}.primary-button{color:#fff;background:linear-gradient(90deg,var(--blue),var(--blue-2));box-shadow:0 14px 28px #35aaf442}.secondary-button,.icon-button{background:#ffffffc7;border-color:var(--line);color:var(--text)}.primary-button:hover,.secondary-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.primary-button.compact,.secondary-button.compact{width:fit-content;min-height:38px;padding:9px 13px}.ui-button-full,.full{width:100%}.secondary-button.danger{color:#b74242}.ui-icon-button{display:grid}.icon-button{place-items:center;width:48px;padding:0}.icon-button svg{width:22px;height:22px}.ui-card{min-width:0}.ui-card-soft{background:var(--surface-muted)}.ui-empty,.empty-state,.empty-inline{padding:var(--space-14);border-radius:var(--radius-lg);background:var(--surface-muted);color:var(--muted);font-weight:var(--font-weight-strong);text-align:center}.ui-empty-tall,.empty-state.tall{padding:80px 30px}.ui-empty-inline{padding:var(--space-5)}.ui-dialog-card,.modal-card{position:relative;display:grid;gap:var(--space-7);padding:var(--space-12);border-radius:var(--radius-2xl);background:var(--surface-raised);box-shadow:var(--shadow)}.modal-card h2{margin:var(--space-3) 0 0;font-size:var(--font-size-xl)}.modal-card p{margin:var(--space-3) 0 0;color:var(--muted);line-height:1.55;font-weight:var(--font-weight-copy)}.modal-card label,.ui-field{display:grid;gap:7px;color:var(--muted);font-size:var(--font-size-md);font-weight:var(--font-weight-heavy)}.ui-field-label{color:inherit}.ui-field-help,.field-help{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-copy);line-height:1.5}.field-help a{color:var(--blue);font-weight:var(--font-weight-heavy);text-decoration:none}.field-help a:hover{text-decoration:underline}.ui-field-error{color:#d54b4b;font-size:var(--font-size-sm);font-weight:var(--font-weight-copy);line-height:1.5}.modal-card input{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);padding:13px var(--space-6);color:var(--text);outline:none}.modal-card input:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}.v2cc-root .follow-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;padding-top:16px;border-top:1px solid rgba(222,235,247,.9)}.v2cc-root .follow-stat{padding:2px 8px;display:flex;align-items:baseline;justify-content:center;gap:6px;cursor:pointer;background:transparent;border:0;font-family:var(--font-sans);border-radius:10px}.v2cc-root .follow-stat+.follow-stat{border-left:1px solid rgba(222,235,247,.9)}.v2cc-root .follow-stat b{font-size:20px;font-weight:950;letter-spacing:-.01em}.v2cc-root .follow-stat span{font-size:12.5px;font-weight:820;color:var(--ink-400)}.v2cc-root .profile-family-row{width:100%;min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:14px;padding:12px 0 0;border:0;border-top:1px solid rgba(222,235,247,.9);background:transparent;color:var(--ink-800);font-family:var(--font-sans);text-align:left;cursor:pointer}.v2cc-root .profile-family-row.is-static{grid-template-columns:auto minmax(0,1fr);cursor:default}.v2cc-root .profile-family-row svg{color:var(--ink-300)}.v2cc-root .profile-family-row .set-family-avatars{display:flex;align-items:center;width:76px;min-width:76px;height:34px}.v2cc-root .profile-family-row .set-family-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#e9f5fd,#d4eafa);color:var(--blue-600);font-size:13px;font-weight:950;border:2px solid #fff;box-shadow:0 6px 14px -10px #22508273}.v2cc-root .profile-family-row .set-family-avatar+.set-family-avatar{margin-left:-13px}.v2cc-root .profile-family-row .set-family-avatar img{width:100%;height:100%;object-fit:cover}.v2cc-root .profile-family-row .set-family-avatar-icon{background:linear-gradient(180deg,#eef8f1,#d8f0df);color:#23814b}.v2cc-root .profile-family-row .set-family-copy{min-width:0;display:grid;gap:3px}.v2cc-root .profile-family-row .set-family-copy strong{font-size:15px;font-weight:930;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .profile-family-row .set-family-copy span{font-size:12px;font-weight:740;color:var(--ink-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .profile-family-row+.follow-stats{margin-top:12px!important}.v2cc-root .hero-profile-avatar-button{border:0;padding:0;font-family:var(--font-sans);cursor:pointer}.v2cc-root .hero-profile-avatar-button:focus-visible{outline:3px solid rgba(53,170,244,.28);outline-offset:3px}.v2cc-root[data-display-mode=eink] .profile-family-row{background:transparent!important;background-image:none!important;border:0!important;border-top:1px solid #000000!important;border-radius:0}.v2cc-root .booklist-entry-card{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:11px;padding:14px;border:1px solid rgba(228,238,248,.95);border-radius:18px;background:#fff;box-shadow:var(--v-shadow-card);font-family:var(--font-sans);color:var(--ink-800);text-align:left;cursor:pointer}.v2cc-root .booklist-entry-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#8b78ff,#47c9e8)}.v2cc-root .booklist-entry-main{min-width:0;display:grid;gap:3px}.v2cc-root .booklist-entry-main b{font-size:16px;font-weight:930;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .booklist-entry-main small,.v2cc-root .booklist-entry-counts small{font-size:11.5px;font-weight:780;color:var(--ink-400);line-height:1.25}.v2cc-root .booklist-entry-counts{min-width:58px;display:grid;gap:3px;justify-items:end}.v2cc-root .booklist-entry-counts strong{font-size:17px;font-weight:950;line-height:1;white-space:nowrap}.v2cc-root .profile-booklists-screen{padding-bottom:22px}.v2cc-root .profile-booklist-import{display:grid;gap:12px}.v2cc-root .profile-booklist-url-field{display:grid;gap:7px}.v2cc-root .profile-booklist-url-field span{font-size:12px;font-weight:850;color:var(--ink-400)}.v2cc-root .profile-booklist-url-field input{width:100%;min-width:0;height:42px;border:1px solid rgba(213,229,242,.95);border-radius:13px;padding:0 12px;background:#f7fbff;color:var(--ink-800);font-family:var(--font-sans);font-size:13px;font-weight:720;outline:none}.v2cc-root .profile-booklist-url-field input:focus{border-color:#35aaf4d9;box-shadow:0 0 0 3px #35aaf424}.v2cc-root .profile-booklist-import-btn{height:42px;border:0;border-radius:13px;background:linear-gradient(90deg,var(--blue-400),var(--blue-cyan));color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:920;cursor:pointer;box-shadow:0 8px 18px -10px #35aaf4bf}.v2cc-root .profile-booklist-import-btn:disabled{opacity:.58;cursor:default}.v2cc-root .profile-booklist-message{margin:0;font-size:12px;font-weight:800;color:var(--blue-600);line-height:1.45;overflow-wrap:anywhere}.v2cc-root .profile-booklist-message.is-error{color:var(--danger)}.v2cc-root .profile-booklists-card{display:grid;gap:14px}.v2cc-root .profile-booklist-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:15px;background:#edf2f8}.v2cc-root .profile-booklist-tabs button{min-width:0;height:38px;border:0;border-radius:12px;background:transparent;color:var(--ink-400);font-family:var(--font-sans);font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2cc-root .profile-booklist-tabs button.active{background:#fff;color:var(--ink-800);box-shadow:0 5px 16px -14px #294d6ed9}.v2cc-root .profile-booklist-list{display:grid;gap:13px}.v2cc-root .profile-booklist-card{width:100%;min-width:0;display:grid;gap:13px;padding:14px;border:1px solid rgba(228,238,248,.95);border-radius:18px;background:#fff;color:var(--ink-800);font-family:var(--font-sans);text-align:left;cursor:pointer;box-shadow:0 8px 22px -18px #22508261}.v2cc-root .profile-booklist-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.v2cc-root .profile-booklist-card-head b{min-width:0;font-size:18px;font-weight:950;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .profile-booklist-card-head span{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;color:var(--ink-300);font-size:13px;font-weight:900;white-space:nowrap}.v2cc-root .profile-booklist-cover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v2cc-root .profile-booklist-cover{min-width:0;aspect-ratio:3 / 4;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#eef5fb,#dce8f3);color:var(--ink-300);box-shadow:0 8px 16px -14px #2250828c}.v2cc-root .profile-booklist-cover img,.v2cc-root .profile-booklist-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.v2cc-root .profile-booklist-detail-hero{display:grid;gap:12px}.v2cc-root .profile-booklist-detail-hero .card-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .profile-booklist-detail-meta{flex:0 0 auto;max-width:50%;min-width:0;display:grid;justify-items:end;gap:3px}.v2cc-root .profile-booklist-detail-meta .card-sub,.v2cc-root .profile-booklist-collection-count{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .profile-booklist-collection-count{font-size:11.5px;font-weight:820;line-height:1.2;color:var(--ink-400)}.v2cc-root .profile-booklist-detail-summary{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.v2cc-root .profile-booklist-detail-summary p{flex:1 1 auto;min-width:0;margin:0;color:var(--ink-500);font-size:13px;font-weight:650;line-height:1.7;overflow-wrap:anywhere}.v2cc-root .profile-booklist-detail-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}.v2cc-root .profile-booklist-detail-actions a,.v2cc-root .profile-booklist-detail-actions button,.v2cc-root .profile-booklist-book-actions a{min-height:34px;border:0;border-radius:999px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;background:#eef6fc;color:var(--blue-600);font-family:var(--font-sans);font-size:12px;font-weight:900;text-decoration:none;cursor:pointer;white-space:nowrap}.v2cc-root .profile-booklist-detail-actions a:first-child{background:linear-gradient(90deg,var(--blue-400),var(--blue-cyan));color:#fff}.v2cc-root .profile-booklist-detail-actions button:disabled{opacity:.6;cursor:default}.v2cc-root .profile-booklist-books-card{display:grid;gap:12px}.v2cc-root .profile-booklist-book-list{display:grid;gap:10px}.v2cc-root .profile-booklist-book-row{min-width:0;display:grid;grid-template-columns:28px 52px minmax(0,1fr);gap:10px;align-items:stretch;padding:10px;border-radius:15px;background:#f7fbff;border:1px solid rgba(222,235,247,.85)}.v2cc-root .profile-booklist-book-rank{width:28px;height:28px;align-self:center;border-radius:10px;display:grid;place-items:center;background:#e9f1f8;color:var(--ink-500);font-size:12px;font-weight:950}.v2cc-root .profile-booklist-book-cover{width:52px;aspect-ratio:3 / 4;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:#e9f1f8;color:var(--ink-300)}.v2cc-root .profile-booklist-book-main{min-width:0;display:grid;align-content:center;gap:7px}.v2cc-root .profile-booklist-book-main b{font-size:14px;font-weight:920;line-height:1.25;overflow-wrap:anywhere}.v2cc-root .profile-booklist-book-meta-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:9px}.v2cc-root .profile-booklist-book-meta{min-width:0;display:grid;gap:3px}.v2cc-root .profile-booklist-book-main small{min-width:0;color:var(--ink-400);font-size:11.5px;font-weight:760;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .profile-booklist-book-actions{flex:0 0 auto;display:flex;flex-wrap:nowrap;gap:6px;min-width:0}.v2cc-root .profile-booklist-book-actions a{min-height:30px;padding:0 10px;font-size:11.5px}.v2cc-root .hero-sync-btn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:12px;background:#ffffffb8;color:var(--blue-600);box-shadow:0 0 0 1px #c7def2d9,0 8px 18px -12px #1e5a966b;cursor:pointer;transition:transform .12s ease,background .18s ease,color .18s ease}.v2cc-root .hero-sync-btn:active{transform:scale(.94)}.v2cc-root .hero-sync-btn:disabled{cursor:progress;color:var(--ink-300)}.v2cc-root .hero-sync-btn.is-loading svg{animation:me-sync-spin .85s linear infinite}.v2cc-root .hero-sync-meta{margin:5px 0 0;color:var(--ink-400);font-size:11px;font-weight:560;line-height:1.35}.v2cc-root .hero-sync-meta.is-error{color:var(--danger)}.v2cc-root .me-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2cc-root .me-stat{padding:15px;border-radius:18px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:grid;gap:5px}.v2cc-root .me-stat-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;margin-bottom:2px}.v2cc-root .me-stat-ic svg{width:17px;height:17px}.v2cc-root .me-stat b{font-size:26px;font-weight:950;letter-spacing:-.01em;line-height:1;white-space:nowrap}.v2cc-root .me-stat b i{font-size:13px;font-weight:900;font-style:normal;color:var(--ink-400);margin-left:2px}.v2cc-root .me-stat span{font-size:12px;font-weight:820;color:var(--ink-400)}.v2cc-root .me-detox-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:15px;border-radius:18px;background:#ffffffe6;border:1px solid rgba(228,238,248,.95);box-shadow:var(--v-shadow-card)}.v2cc-root .me-detox-card.has-deduction{border-color:#dc5c563d;background:linear-gradient(135deg,#fff7f7fa,#ffffffeb)}.v2cc-root .me-detox-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#ffe0e0e6;color:#d65252}.v2cc-root .me-detox-icon svg{width:17px;height:17px}.v2cc-root .me-detox-main{min-width:0;display:grid;gap:4px}.v2cc-root .me-detox-main span{color:var(--ink-400);font-size:12px;font-weight:840}.v2cc-root .me-detox-main strong{color:var(--ink-800);font-size:24px;font-weight:950;line-height:1}.v2cc-root .me-detox-main p,.v2cc-root .me-detox-main small{margin:0;color:var(--ink-400);font-size:12px;font-weight:760;line-height:1.45;overflow-wrap:anywhere}.v2cc-root .me-detox-main small{color:#bf4747;font-weight:820}.v2cc-root .heat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.v2cc-root .v2-heatmap-card{position:relative;overflow:hidden}.v2cc-root .v2-heatmap-card.has-refresh-layer{padding-bottom:60px}.v2cc-root .heat-titlerow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v2cc-root .flip-nav{display:inline-flex;align-items:center;gap:8px;margin-top:2px}.v2cc-root .flip-btn{border:0;background:transparent;cursor:pointer;color:var(--blue-600);font-size:20px;font-weight:900;line-height:1;padding:0 2px;font-family:var(--font-sans)}.v2cc-root .flip-btn:disabled{color:var(--ink-200);cursor:default}.v2cc-root .flip-label{font-size:17px;font-weight:900;letter-spacing:-.01em;min-width:56px;text-align:center}.v2cc-root .heat-share{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;border:0;border-radius:10px;background:linear-gradient(90deg,var(--blue-400),var(--blue-cyan));color:#fff;box-shadow:0 8px 18px -8px #35aaf499;cursor:pointer}.v2cc-root .heat-share svg{width:15px;height:15px}.v2cc-root .yh-inspector{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:13px 0 12px;padding:9px 14px;border-radius:12px;background:#f6fafe;border:1px solid rgba(222,235,247,.8)}.v2cc-root .yh-inspector .d{font-size:13px;font-weight:820;color:var(--ink-500)}.v2cc-root .yh-inspector strong{font-size:15px;font-weight:950;letter-spacing:-.01em}.v2cc-root .yh-inspector .s{font-size:12.5px;font-weight:850;color:var(--blue-600)}.v2cc-root .yh-inspector.tone-empty .s{color:var(--ink-400)}.v2cc-root .yh-inspector.tone-future .s{color:var(--ink-300)}.v2cc-root .yh-inspector.tone-today .s{color:var(--k-reward)}.v2cc-root .yh-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}.v2cc-root .yh-stat{display:grid;gap:2px;justify-items:center;padding:8px 2px 7px;border-radius:11px;background:#f6fafe;border:1px solid rgba(222,235,247,.8);min-width:0}.v2cc-root .yh-stat b{max-width:100%;font-size:14.5px;font-weight:950;letter-spacing:0;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2cc-root .yh-stat b i{font-style:normal;font-size:10px;font-weight:900;color:var(--ink-400);margin-left:1px}.v2cc-root .yh-stat.gold b{color:#b07e14}.v2cc-root .yh-stat span{max-width:100%;font-size:10px;font-weight:850;color:var(--ink-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2cc-root .yh-months{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px}.v2cc-root .yh-month{display:grid;grid-template-rows:auto 16px;gap:5px;min-width:0}.v2cc-root .yh-grid{display:grid;grid-auto-flow:column;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(8,1fr);gap:3px}.v2cc-root .yh-cell{width:100%;min-width:0;aspect-ratio:1 / 1;border:0;padding:0;border-radius:4.5px;background:#edf2f8;display:block;cursor:pointer;box-sizing:border-box}.v2cc-root .yh-cell.empty{background:transparent;border-color:transparent;cursor:default;pointer-events:none}.v2cc-root .yh-cell.lv1{background:#c7e7fc}.v2cc-root .yh-cell.lv2{background:#86cdf7}.v2cc-root .yh-cell.lv3{background:#3dadf0}.v2cc-root .yh-cell.lv4{background:#0f7ccb}.v2cc-root .yh-cell.lv5{background:linear-gradient(135deg,#f6cf76,#dd9f1f);box-shadow:0 0 0 1px #e0a52b59,0 2px 8px #e0a52b8c}.v2cc-root .yh-cell.future{background:#f6f9fc;border:1px solid #edf3f8;cursor:default;pointer-events:none}.v2cc-root .yh-cell.today{box-shadow:0 0 0 1.5px #fff,0 0 0 3px var(--ink-700)}.v2cc-root .yh-cell.today.lv5{box-shadow:0 0 0 1.5px #fff,0 0 0 3px var(--ink-700),0 2px 8px #e0a52b8c}.v2cc-root .yh-cell.active{box-shadow:0 0 0 2px var(--ink-700);position:relative;z-index:1}.v2cc-root[data-display-mode=eink] .yh-cell{background:#fff!important;background-image:none!important;border:1px solid #9a9a9a!important}.v2cc-root[data-display-mode=eink] .yh-cell.lv1{background:#eee!important;border-color:#8c8c8c!important}.v2cc-root[data-display-mode=eink] .yh-cell.lv2{background:#d0d0d0!important;border-color:#777!important}.v2cc-root[data-display-mode=eink] .yh-cell.lv3{background:#9c9c9c!important;border-color:#555!important}.v2cc-root[data-display-mode=eink] .yh-cell.lv4{background:#666!important;border-color:#222!important}.v2cc-root[data-display-mode=eink] .yh-cell.lv5{background:#111!important;border-color:#000!important}.v2cc-root[data-display-mode=eink] .yh-cell.empty{background:transparent!important;border-color:transparent!important}.v2cc-root[data-display-mode=eink] .yh-cell.future{background:#fff!important;border-color:#d0d0d0!important}.v2cc-root[data-display-mode=eink] .yh-cell.today,.v2cc-root[data-display-mode=eink] .yh-cell.active{outline:2px solid #000000;outline-offset:1px;position:relative;z-index:1}.v2cc-root .yh-label{font-size:11px;font-weight:900;color:#9ba7b7;line-height:16px;text-align:center}.v2cc-root .v2-heatmap-refresh-layer{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;pointer-events:none;display:flex;justify-content:flex-end}.v2cc-root .v2-heatmap-refresh-panel{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.v2cc-root .v2-heatmap-refresh-layer.is-prominent{top:72px;align-items:center;justify-content:center;padding:14px;border-radius:18px;background:linear-gradient(180deg,#f4f9ffc7,#f4f9fff5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.v2cc-root .v2-heatmap-refresh-layer.is-prominent .v2-heatmap-refresh-panel{max-width:260px;padding:14px;display:grid;justify-items:center;text-align:center;border-radius:16px;background:#ffffffeb;box-shadow:0 12px 28px -16px #22508266,0 0 0 1px #daeaf7e6}.v2cc-root .v2-heatmap-refresh-note{max-width:100%;font-size:12px;font-weight:800;line-height:1.45;color:var(--ink-500);overflow-wrap:anywhere}.v2cc-root .v2-heatmap-refresh-btn{min-height:36px;border:0;border-radius:999px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,#43b3f3,#1f93dd);color:#fff;font-family:var(--font-sans);font-size:12.5px;font-weight:900;box-shadow:0 7px 16px -9px #138fd6bf;cursor:pointer;white-space:nowrap}.v2cc-root .v2-heatmap-refresh-btn:disabled{cursor:progress;opacity:.72}.v2cc-root .v2-heatmap-refresh-btn.is-loading svg{animation:me-sync-spin .85s linear infinite}.v2cc-root .yreport{display:grid;align-items:end;gap:6px;height:130px;margin-top:16px;overflow:hidden}.v2cc-root .yreport-bar{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.v2cc-root .yreport-bar .v{max-width:100%;font-size:10.5px;font-weight:900;color:var(--blue-600);white-space:nowrap;text-align:center}.v2cc-root .yreport-bar .col{width:min(70%,30px);min-height:8px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#5fc8f0,#1f93dd)}.v2cc-root .yreport-bar .yr{max-width:100%;font-size:10.5px;font-weight:800;color:var(--ink-400);white-space:nowrap;text-align:center}.v2cc-root .cat-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.v2cc-root .cat-card{padding:13px;border-radius:14px;background:#f6fafe;border:1px solid rgba(222,235,247,.8);display:grid;gap:3px}.v2cc-root .cat-card .t{font-size:12.5px;font-weight:850}.v2cc-root .cat-card strong{font-size:19px;font-weight:950;letter-spacing:-.01em}.v2cc-root .cat-card .m{font-size:11px;font-weight:780;color:var(--ink-400)}.v2cc-root .author-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.v2cc-root .author-chips span{padding:5px 11px;border-radius:999px;background:#eef3f8;color:var(--ink-500);font-size:11.5px;font-weight:800}.v2cc-root .bs-tabs{display:flex;gap:6px;flex-wrap:wrap}.v2cc-root .bs-tab{height:32px;padding:0 13px;border:0;border-radius:10px;background:#eef3f8;color:var(--ink-400);font-family:var(--font-sans);font-size:12.5px;font-weight:850;cursor:pointer}.v2cc-root .bs-tab.active{background:var(--blue-100);color:var(--blue-600)}.v2cc-root .bs-row{width:100%;min-width:0;max-width:100%;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:13px;background:#f6fafe;border:1px solid rgba(222,235,247,.8)}.v2cc-root .bs-main{flex:1 1 0;min-width:0;max-width:100%}.v2cc-root .bs-title{display:block;font-size:13px;font-weight:820;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .bs-bar{height:4px;border-radius:999px;background:#e6eef6;overflow:hidden;margin-top:6px}.v2cc-root .bs-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue-400),var(--blue-cyan))}.v2cc-root .bs-row>b{flex:0 0 auto;font-size:12px;font-weight:900;color:var(--blue-600);white-space:nowrap}.v2cc-root .pf-rank{font-size:12px;font-weight:800;color:var(--ink-400);margin-top:11px}.v2cc-root .pf-rank b{color:var(--blue-600);font-weight:900}@keyframes me-sync-spin{to{transform:rotate(360deg)}}.v2cc-root .back-hdr{display:flex;align-items:center;gap:10px;margin:-8px -14px 14px;padding:12px 14px 10px;position:sticky;top:0;z-index:30;background:linear-gradient(180deg,color-mix(in srgb,var(--act-soft) 72%,rgba(255,255,255,.92)),#ffffff9e);transition:background .45s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.v2cc-root .back-btn{width:38px;height:38px;border-radius:12px;border:0;flex:0 0 auto;cursor:pointer;display:grid;place-items:center;background:#fff;box-shadow:var(--v-shadow-card);color:var(--ink-700)}.v2cc-root .back-btn:active{transform:scale(.92)}.v2cc-root .back-title{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.v2cc-root .back-title strong{font-size:17px;font-weight:950;letter-spacing:-.01em}.v2cc-root .back-title span{font-size:12px;font-weight:780;color:var(--ink-400);margin-top:1px}.v2cc-root .back-actions{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.v2cc-root .back-icon-btn{width:38px;height:38px;border-radius:12px;border:0;flex:0 0 auto;cursor:pointer;display:grid;place-items:center;background:#ffffffb3;box-shadow:0 0 0 1px #d5e4f2cc;color:var(--ink-500);position:relative}.v2cc-root .back-icon-btn svg{width:19px;height:19px}.v2cc-root .back-icon-btn:active{transform:scale(.92)}.v2cc-root .back-icon-btn:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.v2cc-root .gate-card{border-radius:26px;padding:26px 20px 20px;text-align:center;background:radial-gradient(130% 120% at 50% -16%,#d7efff,#d7efff00 58%),linear-gradient(180deg,#fff,#f6fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(225,238,248,.9)}.v2cc-root .perks{display:grid;gap:0;margin-top:16px;text-align:left}.v2cc-root .perk{display:flex;align-items:center;gap:11px;padding:11px 2px}.v2cc-root .perk+.perk{border-top:1px solid rgba(225,236,247,.85)}.v2cc-root .perk-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto}.v2cc-root .perk-tx{min-width:0}.v2cc-root .perk-tx strong{display:block;font-size:13.5px;font-weight:900}.v2cc-root .perk-tx span{display:block;font-size:11.5px;font-weight:750;color:var(--ink-400);margin-top:2px}.v2cc-root .part-cat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.v2cc-root .part-cat-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:900}.v2cc-root .part-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.v2cc-root .part-dot.goal{background:var(--k-goal)}.v2cc-root .part-dot.reward{background:var(--k-reward)}.v2cc-root .part-dot.system{background:var(--k-system)}.v2cc-root .part-dot.read{background:var(--k-read)}.v2cc-root .part-cat-count{font-size:12px;font-weight:850;color:var(--ink-400);white-space:nowrap}.v2cc-root .avatar-wall{display:flex;flex-wrap:wrap;gap:10px}.v2cc-root .av-cell{border:0;padding:0;background:transparent;cursor:pointer;transition:transform .12s var(--ease-out)}.v2cc-root .av-cell:active{transform:scale(.88)}.v2cc-root .av-more{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--field-2);color:var(--ink-400);font-size:12px;font-weight:900}.v2cc-root .av-more-btn{border:0;font-family:var(--font-sans);cursor:pointer;transition:transform .12s var(--ease-out),background .18s}.v2cc-root .av-more-btn:active{transform:scale(.9)}.v2cc-root .set-group{display:grid;gap:10px}.v2cc-root .set-grouplabel{font-size:12px;font-weight:850;color:var(--ink-400);letter-spacing:.04em;padding:4px 2px 0}.v2cc-root .set-profile{border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:grid;gap:16px}.v2cc-root .set-profile-top{display:flex;align-items:center;gap:14px}.v2cc-root .set-profile-edit-row{width:100%;border:0;padding:0;background:transparent;color:var(--ink-800);font-family:var(--font-sans);text-align:left;cursor:pointer}.v2cc-root .set-profile-edit-row svg{flex:0 0 auto;color:var(--ink-300);margin-left:auto}.v2cc-root .set-profile-copy{min-width:0;flex:1 1 auto}.v2cc-root .set-profile-top .stu-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:50%;overflow:hidden}.v2cc-root .set-profile-top .stu-avatar img{width:100%;height:100%;object-fit:cover;display:block}.v2cc-root .set-profile-name{font-size:19px;font-weight:900;letter-spacing:-.01em}.v2cc-root .set-profile-src{font-size:12px;font-weight:780;color:var(--ink-400);margin-top:3px}.v2cc-root .set-field{display:grid;gap:7px}.v2cc-root .set-field label{font-size:13px;font-weight:850}.v2cc-root .set-field .hint{font-size:11.5px;font-weight:720;color:var(--ink-400);line-height:1.45}.v2cc-root .set-name-row{display:flex;gap:8px}.v2cc-root .set-input{flex:1;min-width:0;height:44px;border:1.5px solid var(--hair, #dde9f4);border-radius:13px;padding:0 13px;font-family:var(--font-sans);font-size:14px;font-weight:700;color:var(--ink-700);background:#fff;outline:none;transition:border-color .18s}.v2cc-root .set-input:focus{border-color:var(--blue-400)}.v2cc-root .set-card{border-radius:16px;padding:14px 15px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:flex;align-items:center;gap:12px}.v2cc-root .set-card-body{flex:1;min-width:0}.v2cc-root .set-card .lbl{font-size:11px;font-weight:850;color:var(--blue-600);letter-spacing:.04em}.v2cc-root .set-card .ttl{font-size:15px;font-weight:900;margin:2px 0}.v2cc-root .set-card .desc{font-size:12px;font-weight:720;color:var(--ink-400);line-height:1.5}.v2cc-root .set-family-row{width:100%;min-height:62px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;border:0;border-top:1px solid rgba(222,235,247,.9);border-bottom:1px solid rgba(222,235,247,.9);padding:12px 0;background:transparent;color:var(--ink-800);font-family:var(--font-sans);text-align:left;cursor:pointer}.v2cc-root .set-family-row svg{color:var(--ink-300)}.v2cc-root .set-family-avatars{display:flex;align-items:center;width:55px;min-width:55px;height:34px}.v2cc-root .set-family-avatar,.v2cc-root .family-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#e9f5fd,#d4eafa);color:var(--blue-600);font-size:13px;font-weight:950;border:2px solid #fff;box-shadow:0 6px 14px -10px #22508273}.v2cc-root .set-family-avatar+.set-family-avatar{margin-left:-13px}.v2cc-root .set-family-avatar img,.v2cc-root .family-avatar img{width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;display:block}.v2cc-root .set-family-avatar-icon{background:linear-gradient(180deg,#eef8f1,#d8f0df);color:#23814b}.v2cc-root .set-family-copy{min-width:0;display:grid;gap:3px}.v2cc-root .set-family-copy strong{font-size:15px;font-weight:930}.v2cc-root .set-family-copy span{font-size:12px;font-weight:740;color:var(--ink-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .set-btn{flex:0 0 auto;height:38px;padding:0 15px;border:0;border-radius:12px;background:var(--blue-100);color:var(--blue-600);font-family:var(--font-sans);font-size:13px;font-weight:900;cursor:pointer;transition:background .18s,transform .1s;white-space:nowrap}.v2cc-root .set-btn:hover{background:var(--blue-200)}.v2cc-root .set-btn:active{transform:scale(.96)}.v2cc-root .set-btn.solid{background:var(--blue-500);color:#fff}.v2cc-root .set-btn.solid:hover{background:var(--blue-600)}.v2cc-root .set-btn.danger{background:#fdecec;color:#e5484d}.v2cc-root .set-select{flex:0 0 128px;max-width:42%;height:38px;border:1.5px solid var(--hair, #dde9f4);border-radius:12px;padding:0 10px;background:#fff;color:var(--ink-700);font-family:var(--font-sans);font-size:13px;font-weight:850;outline:none}.v2cc-root .set-select:focus{border-color:var(--blue-400)}.v2cc-root .set-switch{position:relative;width:46px;height:28px;flex:0 0 auto}.v2cc-root .set-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}.v2cc-root .set-switch .track{position:absolute;inset:0;border-radius:999px;background:#d4dfec;transition:background .2s}.v2cc-root .set-switch .thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #3040584d;transition:transform .2s}.v2cc-root .set-switch input:checked~.track{background:var(--blue-500)}.v2cc-root .set-switch input:checked~.thumb{transform:translate(18px)}.v2cc-root .profile-edit-card{border-radius:22px;padding:18px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:grid;gap:0}.v2cc-root .profile-edit-field>span:first-child{font-size:15px;font-weight:850;color:var(--ink-400)}.v2cc-root .profile-edit-avatar-field{min-height:74px}.v2cc-root .profile-edit-avatar-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px}.v2cc-root .profile-edit-avatar{width:54px;height:54px;aspect-ratio:1 / 1;flex:0 0 54px;border:0;border-radius:50%;padding:0;display:inline-grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#e9f5fd,#d4eafa);color:var(--blue-600);font-family:var(--font-sans);font-size:20px;font-weight:950;line-height:1;cursor:pointer;box-shadow:0 10px 20px -16px #2250828c}.v2cc-root .profile-edit-avatar img{width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;display:block}.v2cc-root .profile-edit-avatar-remove{border:0;padding:0;background:transparent;color:var(--blue-600);font-family:var(--font-sans);font-size:12px;font-weight:840;cursor:pointer}.v2cc-root .profile-edit-avatar-remove:disabled,.v2cc-root .profile-edit-avatar:disabled,.v2cc-root .profile-edit-save:disabled{opacity:.55;cursor:default}.v2cc-root .profile-edit-field{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;min-height:62px;padding:14px 4px;border-bottom:1px solid rgba(222,235,247,.9)}.v2cc-root .profile-edit-field .set-input{height:42px;text-align:right;font-size:15px;font-weight:760;border:0;background:transparent;padding:0;border-radius:0}.v2cc-root .profile-edit-select-wrap{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;color:var(--ink-300)}.v2cc-root .profile-edit-select-wrap svg{flex:0 0 auto}.v2cc-root .profile-edit-field .profile-edit-select{width:auto;min-width:64px;max-width:100%;appearance:none;-webkit-appearance:none;color:var(--ink-800);cursor:pointer;text-align-last:right}.v2cc-root .profile-edit-message{border-radius:13px;padding:11px 12px;background:#eef7ff;color:var(--blue-600);font-size:12.5px;font-weight:820;line-height:1.5}.v2cc-root .profile-edit-message.is-error{background:#fdecec;color:#e5484d}.v2cc-root .profile-edit-save{min-height:46px;border:0;border-radius:15px;background:var(--blue-500);color:#fff;font-family:var(--font-sans);font-size:15px;font-weight:920;cursor:pointer;box-shadow:0 12px 24px -16px #1a8fd6b3}.v2cc-root .profile-edit-empty{color:var(--ink-400);font-size:13px;font-weight:760;line-height:1.5}@media(max-width:380px){.v2cc-root .profile-edit-field{grid-template-columns:88px minmax(0,1fr)}.v2cc-root .profile-edit-avatar{width:50px;height:50px;flex-basis:50px}}.v2cc-root .v2-reminder-tools{display:grid;gap:10px}.v2cc-root .v2-reminder-tools .info-card-grid,.v2cc-root .v2-reminder-tools .single-info-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.v2cc-root .v2-reminder-tools .info-card{border-radius:16px;padding:14px 15px;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .v2-reminder-tools .info-card-label{font-size:11px;font-weight:850;color:var(--blue-600);letter-spacing:.04em}.v2cc-root .v2-reminder-tools .info-card h2,.v2cc-root .v2-reminder-tools .info-card-value{font-size:15px;font-weight:900;margin:2px 0}.v2cc-root .v2-reminder-tools .info-card-description{font-size:12px;font-weight:720;color:var(--ink-400);line-height:1.5}.v2cc-root .v2-reminder-tools .primary-button,.v2cc-root .v2-reminder-tools .secondary-button{min-height:34px;border-radius:12px;font-size:12px;font-weight:900}.v2cc-root .set-inbox{display:grid;gap:8px;margin-top:12px;width:100%}.v2cc-root .set-inbox-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:13px;background:#f6fafe;border:1px solid rgba(222,235,247,.8)}.v2cc-root .set-inbox-item.unread{background:#eef7ff;border-color:#35aaf44d}.v2cc-root .set-inbox-item .msg{min-width:0}.v2cc-root .set-inbox-item strong{display:block;font-size:13px;font-weight:850}.v2cc-root .set-inbox-item small{display:block;font-size:11.5px;font-weight:720;color:var(--ink-400);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}.v2cc-root .set-inbox-item time{flex:0 0 auto;font-size:11px;font-weight:800;color:var(--ink-300)}.v2cc-root .family-empty,.v2cc-root .family-panel{border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:grid;gap:16px}.v2cc-root .family-empty{text-align:center;justify-items:center;padding:28px 18px 22px}.v2cc-root .family-empty-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#23814b;background:linear-gradient(180deg,#eef8f1,#d8f0df);box-shadow:0 10px 24px -18px #23814b80}.v2cc-root .family-empty h2{margin:0;font-size:21px;font-weight:950;letter-spacing:0}.v2cc-root .family-empty p{margin:0;color:var(--ink-400);font-size:13px;font-weight:760;line-height:1.55;max-width:310px}.v2cc-root .family-primary{min-width:146px}.v2cc-root .family-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px}.v2cc-root .family-avatar-cluster{display:flex;align-items:center;width:112px;min-width:112px;height:42px}.v2cc-root .family-avatar-cluster .family-avatar{flex-basis:42px;width:42px;height:42px;font-size:15px}.v2cc-root .family-avatar-cluster .family-avatar+.family-avatar{margin-left:-7px}.v2cc-root .family-avatar-icon{background:linear-gradient(180deg,#eef8f1,#d8f0df);color:#23814b}.v2cc-root .family-title{font-size:19px;font-weight:950;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .family-subtitle,.v2cc-root .family-section-subtitle{font-size:12px;font-weight:760;color:var(--ink-400);line-height:1.5}.v2cc-root .family-note{border-radius:13px;padding:11px 12px;background:#f4f9fd;color:var(--ink-500);font-size:12px;font-weight:760;line-height:1.55}.v2cc-root .family-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v2cc-root .family-section-title{font-size:15px;font-weight:920}.v2cc-root .family-invite-row,.v2cc-root .family-invite-url{display:flex;align-items:center;gap:8px}.v2cc-root .family-invite-url .set-input{font-size:12px}.v2cc-root .family-role-select{flex-basis:158px;max-width:52%}.v2cc-root .family-member-list,.v2cc-root .family-pending-list{display:grid;gap:10px}.v2cc-root .family-member-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(222,235,247,.9);border-radius:15px;background:#fff}.v2cc-root .family-member-main{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:0;padding:0;background:transparent;color:inherit;font-family:var(--font-sans);text-align:left;cursor:pointer}.v2cc-root .family-member-main:disabled{cursor:default}.v2cc-root .family-member-copy{min-width:0;display:grid;gap:2px}.v2cc-root .family-member-copy strong{font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .family-member-copy small,.v2cc-root .family-pending-row small{font-size:11.5px;font-weight:760;color:var(--ink-400)}.v2cc-root .family-reading-card.rank-row{grid-template-columns:1fr;align-items:stretch;min-height:0;gap:12px;padding:14px;border-color:#deebf7e6;border-radius:16px;background:#fff;box-shadow:0 12px 24px -22px #22508273}.v2cc-root .family-reading-card .rank-head{grid-template-columns:44px minmax(0,1fr);gap:12px}.v2cc-root .family-reading-card .rank-identity-rail{width:44px;gap:6px}.v2cc-root .family-reading-card .rank-badge{width:40px;height:40px;font-size:15px}.v2cc-root .family-reading-card .decorated-avatar.rank-rail-avatar,.v2cc-root .family-reading-card .decorated-avatar.rank-rail-avatar .member-avatar{width:40px;height:40px}.v2cc-root .family-reading-card .rank-name{font-size:15px}.v2cc-root .family-reading-card .rank-time{font-size:21px}.v2cc-root .family-reading-card .rank-row .week-bars,.v2cc-root .family-reading-card .week-bars.compact{grid-column:auto;min-height:82px;gap:8px;padding-top:4px}.v2cc-root .family-reading-card .rank-weekly-book-list{grid-template-columns:1fr;gap:6px}.v2cc-root .family-member-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.v2cc-root .family-pending-row,.v2cc-root .family-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:12px}.v2cc-root .family-pending-row{padding:11px 12px;border:1px solid rgba(222,235,247,.9);border-radius:14px;background:#fff}.v2cc-root .family-pending-row div{min-width:0;display:grid;gap:2px}.v2cc-root .family-pending-row strong{font-size:13.5px;font-weight:900}.v2cc-root .family-message{border-radius:13px;padding:11px 12px;background:#eef7ff;color:var(--blue-600);font-size:12.5px;font-weight:820;line-height:1.5}.v2cc-root .family-page-hero{position:relative;display:grid;gap:14px;border-radius:24px;padding:18px;background:linear-gradient(135deg,#fff,#f4fbf8 48%,#eef7ff);border:1px solid rgba(214,232,242,.95);box-shadow:var(--v-shadow-card)}.v2cc-root .family-page-hero.has-manage .family-page-hero-main{padding-right:42px}.v2cc-root .family-page-manage-btn{position:absolute;top:16px;right:16px;z-index:2}.v2cc-root .family-page-hero-main{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}.v2cc-root .family-page-hero-copy{min-width:0;display:grid;gap:7px}.v2cc-root .family-page-eyebrow{font-size:11px;font-weight:900;color:#23814b;letter-spacing:.08em;text-transform:uppercase}.v2cc-root .family-page-title-row{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.v2cc-root .family-page-hero h2{margin:0;font-size:24px;line-height:1.08;font-weight:980;letter-spacing:0;color:var(--ink-900);overflow-wrap:anywhere}.v2cc-root .family-page-title-row h2{min-width:0}.v2cc-root .family-page-hero p{margin:0;color:var(--ink-500);font-size:13px;font-weight:770;line-height:1.5}.v2cc-root .family-page-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.v2cc-root .family-page-meta span{min-height:27px;display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:#ffffffc2;border:1px solid rgba(218,233,244,.9);color:var(--ink-500);font-size:11.5px;font-weight:850}.v2cc-root .family-crest{width:86px;aspect-ratio:1 / 1;border-radius:24px 24px 30px 30px;overflow:hidden;display:grid;place-items:center;background:#fff;border:1px solid rgba(210,228,239,.95);box-shadow:0 18px 30px -24px #2250828c}.v2cc-root .family-crest img{width:100%;height:100%;object-fit:cover}.v2cc-root .family-crest-fallback{width:100%;height:100%;position:relative;display:grid;place-items:center;color:#23814b;background:linear-gradient(160deg,#e7f6ec,#fff 48%,#dbefff)}.v2cc-root .family-crest-fallback span{font-size:34px;font-weight:980}.v2cc-root .family-crest-fallback i{position:absolute;inset:auto 16px 16px;height:4px;border-radius:999px;background:#35a0d8}.v2cc-root .family-hero-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v2cc-root .family-hero-member-card{min-width:0;min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;border:1px solid rgba(218,233,244,.9);border-radius:16px;padding:9px;background:#ffffffb8;color:var(--ink-800);font-family:var(--font-sans);text-align:left;box-shadow:0 10px 20px -22px #22508273}.v2cc-root button.family-hero-member-card{cursor:pointer;transition:transform .12s var(--ease-out),border-color .18s,box-shadow .18s}.v2cc-root button.family-hero-member-card:active{transform:scale(.985)}.v2cc-root button.family-hero-member-card:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.v2cc-root .family-hero-member-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#e9f5fd,#d4eafa);color:var(--blue-600);font-size:13px;font-weight:950;border:2px solid #fff;box-shadow:0 8px 16px -12px #22508273}.v2cc-root .family-hero-member-avatar img{width:100%;height:100%;object-fit:cover}.v2cc-root .family-hero-member-copy{min-width:0;display:grid;gap:2px}.v2cc-root .family-hero-member-copy strong{min-width:0;color:var(--ink-900);font-size:12.5px;line-height:1.15;font-weight:940;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .family-hero-member-copy span{min-width:0;color:var(--ink-400);font-size:10.5px;line-height:1.28;font-weight:760;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v2cc-root .family-progress-panel{gap:14px}.v2cc-root .family-progress-percent{flex:0 0 auto;font-size:20px;font-weight:980;color:#23814b}.v2cc-root .family-progress-track{height:10px;border-radius:999px;background:#edf5fa;overflow:hidden}.v2cc-root .family-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#32b26b,#35a0d8)}.v2cc-root .family-week-bars{height:72px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end}.v2cc-root .family-week-bars span{min-width:0;display:grid;justify-items:center;gap:5px;color:var(--ink-300);font-size:10px;font-weight:900}.v2cc-root .family-week-bars i{width:100%;max-width:24px;border-radius:9px 9px 4px 4px;background:#dfeaf2}.v2cc-root .family-week-bars span.is-active{color:#23814b}.v2cc-root .family-week-bars span.is-active i{background:linear-gradient(180deg,#58c98a,#35a0d8)}.v2cc-root .family-week-bars b{font-size:10px;font-weight:900}.v2cc-root .family-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v2cc-root .family-stat-card{min-height:74px;display:grid;align-content:center;gap:5px;border-radius:18px;padding:12px 10px;background:#fff;border:1px solid rgba(222,235,247,.9);box-shadow:0 12px 24px -22px #22508273}.v2cc-root .family-stat-button{width:100%;color:inherit;font-family:var(--font-sans);text-align:left;cursor:pointer;transition:transform .12s var(--ease-out),border-color .18s,box-shadow .18s}.v2cc-root .family-stat-button:active{transform:scale(.97)}.v2cc-root .family-stat-button:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.v2cc-root .family-stats-grid strong{min-width:0;font-size:16px;font-weight:980;color:var(--ink-900);overflow-wrap:anywhere}.v2cc-root .family-stats-grid span{font-size:11.5px;font-weight:780;color:var(--ink-400)}.v2cc-root .family-leaderboard-summary{gap:14px}.v2cc-root .family-rank-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v2cc-root .family-rank-summary-grid span,.v2cc-root .family-rank-stats span{min-width:0;display:grid;gap:3px;border-radius:14px;padding:10px 11px;background:#f6fafe;border:1px solid rgba(222,235,247,.9)}.v2cc-root .family-rank-stats span{padding-inline:9px}.v2cc-root .family-rank-summary-grid strong,.v2cc-root .family-rank-stats strong{min-width:0;color:var(--ink-900);font-size:15px;font-weight:960;overflow-wrap:anywhere}.v2cc-root .family-rank-stats strong{font-size:14px;line-height:1.2}.v2cc-root .family-rank-summary-grid small,.v2cc-root .family-rank-stats small{color:var(--ink-400);font-size:11px;font-weight:780}.v2cc-root .family-rank-list{display:grid;gap:12px}.v2cc-root .family-rank-card{width:100%;min-width:0;display:grid;gap:12px;align-items:stretch;border:1px solid rgba(222,235,247,.9);border-radius:20px;padding:14px;background:#fff;color:var(--ink-800);font-family:var(--font-sans);text-align:left;box-shadow:var(--v-shadow-card);cursor:pointer;transition:transform .12s var(--ease-out),border-color .18s,box-shadow .18s}.v2cc-root .family-rank-card:active{transform:scale(.985)}.v2cc-root .family-rank-card:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.v2cc-root .family-rank-card-top{min-width:0;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px}.v2cc-root .family-rank-card-top>.family-crest{width:56px;aspect-ratio:1 / 1;border-radius:17px 17px 21px 21px}.v2cc-root .family-rank-card-top>svg{color:var(--ink-300)}.v2cc-root .family-rank-badge{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:#eef8f1;color:#23814b;font-size:13px;font-weight:980}.v2cc-root .family-rank-main{min-width:0;display:grid;gap:10px}.v2cc-root .family-rank-card-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v2cc-root .family-rank-card-head div{min-width:0}.v2cc-root .family-rank-title-row{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.v2cc-root .family-rank-card-head h3{margin:0;color:var(--ink-900);font-size:16px;font-weight:950;letter-spacing:0;overflow-wrap:anywhere}.v2cc-root .family-rank-title-row h3{min-width:0}.v2cc-root .family-rank-card-head p{margin:3px 0 0;color:var(--ink-400);font-size:12px;font-weight:760;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v2cc-root .family-rank-card-head>span{flex:0 0 auto;border-radius:999px;padding:5px 8px;background:#f4f9fd;color:var(--ink-500);font-size:11px;font-weight:850;white-space:nowrap}.v2cc-root .family-rank-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v2cc-root .family-rank-card .family-week-bars{height:54px;gap:6px}.v2cc-root .family-rank-card .family-week-bars i{max-width:18px}.v2cc-root .family-challenge-screen{padding-bottom:12px}.v2cc-root .family-challenge-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;border-radius:16px;background:#eef6fb;border:1px solid rgba(218,233,244,.92)}.v2cc-root .family-challenge-tabs button{min-width:0;min-height:42px;border:0;border-radius:12px;background:transparent;color:var(--ink-500);font-family:var(--font-sans);font-size:13px;font-weight:920;letter-spacing:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .family-challenge-tabs button.active{background:#fff;color:var(--ink-900);box-shadow:0 12px 22px -20px #22508273}.v2cc-root .family-challenge-stack{gap:12px}.v2cc-root .family-challenge-hero{background:linear-gradient(135deg,#fff,#f6fbf7 46%,#eef7ff)}.v2cc-root .family-challenge-hero .family-page-hero-main{grid-template-columns:minmax(0,1fr)}.v2cc-root .family-challenge-cta{display:flex;align-items:center;gap:12px;padding-top:2px}.v2cc-root .family-challenge-cta .set-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.v2cc-root .family-challenge-cta .set-btn svg{flex:0 0 auto}.v2cc-root .family-challenge-policy{gap:14px}.v2cc-root .family-challenge-policy-badge{flex:0 0 auto;min-height:28px;display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eef8f1;color:#23814b;font-size:11px;font-weight:900;white-space:nowrap}.v2cc-root .family-challenge-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v2cc-root .family-challenge-rule-grid span{min-width:0;min-height:78px;display:grid;align-content:center;gap:5px;border-radius:15px;padding:11px;background:#fff;border:1px solid rgba(222,235,247,.9)}.v2cc-root .family-challenge-rule-grid strong{min-width:0;color:var(--ink-900);font-size:13px;font-weight:940;overflow-wrap:anywhere}.v2cc-root .family-challenge-rule-grid small{color:var(--ink-400);font-size:11px;font-weight:760;line-height:1.42}.v2cc-root .family-challenge-member-card.rank-row{border-color:#cde6daf2}.v2cc-root .family-belief{display:grid;gap:5px;border-radius:16px;padding:13px 14px;text-align:left;background:#f4fbf8;border:1px solid rgba(203,232,214,.95)}.v2cc-root .family-belief strong{font-size:13px;font-weight:920;color:#23814b}.v2cc-root .family-belief span{font-size:12px;font-weight:760;color:var(--ink-500);line-height:1.5}.v2cc-root .family-challenge-belief .panel-title{font-size:22px}.v2cc-root .family-challenge-belief .panel-note{margin-top:8px;line-height:1.55}.v2cc-root .family-profile-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.v2cc-root .family-crest-actions{display:flex;flex-wrap:wrap;gap:8px}.v2cc-root .family-field{display:grid;gap:7px}.v2cc-root .family-field span{font-size:12px;font-weight:860;color:var(--ink-500)}@media(max-width:380px){.v2cc-root .family-profile-layout{grid-template-columns:1fr;justify-items:start}.v2cc-root .family-hero-members,.v2cc-root .family-stats-grid{grid-template-columns:1fr}.v2cc-root .family-rank-card-top{grid-template-columns:auto minmax(0,1fr) auto}.v2cc-root .family-rank-card-top>.family-crest{display:none}.v2cc-root .family-rank-stats{grid-template-columns:1fr}.v2cc-root .family-challenge-cta{align-items:stretch;flex-direction:column}.v2cc-root .family-challenge-cta .set-btn{width:100%}.v2cc-root .family-challenge-rule-grid{grid-template-columns:1fr}.v2cc-root .family-invite-row,.v2cc-root .family-invite-url,.v2cc-root .family-crest-actions,.v2cc-root .family-member-actions,.v2cc-root .family-danger-zone{align-items:stretch;flex-direction:column}.v2cc-root .family-role-select{max-width:none;width:100%;flex-basis:auto}.v2cc-root .family-danger-zone .set-btn,.v2cc-root .family-member-actions .set-btn,.v2cc-root .family-invite-row .set-btn,.v2cc-root .family-invite-url .set-btn{width:100%}}.v2cc-root .reader-shelf-header{position:sticky;top:0;z-index:31;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;margin:-8px -14px 14px;padding:12px 14px 10px;background:linear-gradient(180deg,#e2f3fceb,#ffffffa8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.v2cc-root .reader-icon-btn{width:38px;height:38px;border:0;border-radius:13px;display:grid;place-items:center;background:#ffffffc2;color:var(--ink-500);box-shadow:0 0 0 1px #d5e4f2d1;cursor:pointer}.v2cc-root .reader-search{min-width:0;height:44px;display:flex;align-items:center;gap:9px;padding:0 14px;border-radius:18px;background:#f3f7fcf0;color:var(--ink-300);box-shadow:inset 0 0 0 1px #deebf7b3}.v2cc-root .reader-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink-800);font-family:var(--font-sans);font-size:14px;font-weight:760}.v2cc-root .reader-search input::placeholder{color:var(--ink-300)}.v2cc-root .reader-upload-button{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:13px;padding:0 10px;background:#eaf5ff;color:var(--blue-600);font-size:13px;font-weight:920;cursor:pointer;box-shadow:0 0 0 1px #bcdef7cc;white-space:nowrap}.v2cc-root .reader-upload-button input,.v2cc-root .reader-upload-tile input{display:none}.v2cc-root .reader-shelf{padding-bottom:18px}.v2cc-root .reader-shelf-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:2px 4px 0}.v2cc-root .reader-shelf-title h1{margin:0;color:var(--ink-900);font-size:30px;line-height:1.05;font-weight:950;letter-spacing:0}.v2cc-root .reader-shelf-title p{margin:7px 0 0;color:var(--ink-400);font-size:12px;font-weight:820}.v2cc-root .reader-scope-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;border-radius:18px;background:#ffffffd1;box-shadow:inset 0 0 0 1px #75bcf585}.v2cc-root .reader-scope-tabs button{height:39px;border:0;border-radius:14px;background:transparent;color:var(--ink-500);font-family:var(--font-sans);font-size:13px;font-weight:900;cursor:pointer}.v2cc-root .reader-scope-tabs button.active{background:linear-gradient(180deg,#3a96f0,#237ce3);color:#fff;box-shadow:0 9px 18px -10px #1c75dccc}.v2cc-root .reader-shelf-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.v2cc-root .reader-sort-row,.v2cc-root .reader-upload-scope{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.v2cc-root .reader-sort-row button,.v2cc-root .reader-upload-scope button{min-height:37px;border:0;border-radius:999px;padding:0 13px;display:inline-flex;align-items:center;gap:4px;background:#ffffffc7;color:var(--ink-400);font-family:var(--font-sans);font-size:12.5px;font-weight:900;cursor:pointer;box-shadow:0 0 0 1px #e2ecf6b8;white-space:nowrap}.v2cc-root .reader-sort-row button.active,.v2cc-root .reader-upload-scope button.active{color:var(--blue-600);background:#eef8ff;box-shadow:0 0 0 1px #add8f7c7}.v2cc-root .reader-message{margin:0;padding:0 4px;color:var(--blue-600);font-size:12px;font-weight:850;line-height:1.45}.v2cc-root .reader-message.is-error{color:var(--danger)}.v2cc-root .reader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;align-items:start}.v2cc-root .reader-upload-tile{min-width:0;aspect-ratio:.72;display:grid;place-items:center;align-content:center;gap:8px;border:1.5px dashed rgba(103,174,238,.5);border-radius:10px;background:#ffffff8a;color:var(--blue-600);cursor:pointer}.v2cc-root .reader-upload-tile strong{font-size:15px;font-weight:950}.v2cc-root .reader-upload-tile span{color:var(--ink-400);font-size:11px;font-weight:780}.v2cc-root .reader-book-card{min-width:0;display:grid;gap:9px}.v2cc-root .reader-cover-button,.v2cc-root .reader-book-meta button{border:0;padding:0;background:transparent;font-family:var(--font-sans);cursor:pointer;text-align:left}.v2cc-root .reader-cover{position:relative;display:block;aspect-ratio:.72;border-radius:7px;overflow:hidden;background:linear-gradient(145deg,#e8f4fb,#fff 42%,#dbeaf6);box-shadow:0 15px 28px -18px #2250828c,0 0 0 1px #e2ecf6e6}.v2cc-root .reader-cover img{width:100%;height:100%;object-fit:cover;display:block}.v2cc-root .reader-cover em{position:absolute;top:5px;right:5px;min-height:22px;padding:0 6px;display:inline-flex;align-items:center;border-radius:6px;background:var(--blue-500);color:#fff;font-size:11px;font-style:normal;font-weight:900;box-shadow:0 5px 10px -6px #137fc2d9}.v2cc-root .reader-cover-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:12px;color:var(--ink-800);font-family:ui-serif,"Noto Serif SC",Georgia,serif;font-size:clamp(18px,8vw,31px);font-weight:700;line-height:1.22;text-align:center;writing-mode:vertical-rl;letter-spacing:0}.v2cc-root .reader-select-dot{position:absolute;left:6px;bottom:6px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#ffffffe0;color:var(--blue-600);box-shadow:0 0 0 1px #c2def6e6}.v2cc-root .reader-book-card.selected .reader-cover{box-shadow:0 0 0 2px var(--blue-400),0 15px 28px -18px #2250828c}.v2cc-root .reader-book-meta{min-width:0;display:grid;gap:3px}.v2cc-root .reader-book-meta>button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-900);font-size:14.5px;font-weight:930;line-height:1.2}.v2cc-root .reader-book-meta small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-400);font-size:11.5px;font-weight:760}.v2cc-root .reader-book-foot{min-width:0;display:flex;align-items:center;gap:6px;margin-top:3px}.v2cc-root .reader-book-foot span,.v2cc-root .reader-book-foot button{min-height:24px;border:0;border-radius:8px;padding:0 7px;display:inline-flex;align-items:center;background:#eef8ff;color:var(--blue-600);font-family:var(--font-sans);font-size:11px;font-weight:900;white-space:nowrap}.v2cc-root .reader-book-foot button{cursor:pointer;background:#f4f8fc;color:var(--ink-500)}.v2cc-root .reader-grid-note{grid-column:span 2;min-height:140px;display:grid;place-items:center;color:var(--ink-400);font-size:13px;font-weight:820}.v2cc-root .reader-quota{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 4px}.v2cc-root .reader-quota span{height:6px;border-radius:999px;background:#dfeaf4;overflow:hidden}.v2cc-root .reader-quota i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-400),var(--blue-cyan))}.v2cc-root .reader-quota b{color:var(--ink-400);font-size:11px;font-weight:900}.v2cc-root .reader-selection-bar{position:sticky;bottom:calc(78px + var(--safe-bottom));z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:18px;background:#ffffffeb;box-shadow:var(--v-shadow-pop),0 0 0 1px #dae6f2db;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.v2cc-root .reader-selection-bar span{color:var(--ink-500);font-size:13px;font-weight:850}.v2cc-root .reader-selection-bar button{min-height:36px;border:0;border-radius:13px;padding:0 13px;display:inline-flex;align-items:center;gap:6px;background:#ffeceb;color:var(--danger);font-family:var(--font-sans);font-size:13px;font-weight:920;cursor:pointer}.v2cc-root .reader-selection-bar button:disabled{opacity:.52;cursor:default}.v2cc-root .reader-view-toolbar,.v2cc-root .reader-view-actions{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px}.v2cc-root .reader-view-toolbar button,.v2cc-root .reader-view-actions button{min-height:38px;border:0;border-radius:13px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#ffffffd1;color:var(--ink-600);font-family:var(--font-sans);font-size:12.5px;font-weight:900;cursor:pointer;box-shadow:0 0 0 1px #e0ebf6db;white-space:nowrap}.v2cc-root .reader-view-toolbar button:disabled{opacity:.48;cursor:default}.v2cc-root .reader-view-toolbar span{color:var(--blue-600);font-size:13px;font-weight:950}.v2cc-root .reader-view-card{position:relative;z-index:1;min-height:min(66dvh,650px);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(226,236,246,.94)}.v2cc-root .reader-viewport{position:absolute;inset:0;padding:12px 8px}.v2cc-root .reader-view-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:9px;padding:22px;text-align:center;background:linear-gradient(180deg,#fffffff0,#f6fbfff5);color:var(--ink-400)}.v2cc-root .reader-view-placeholder strong{color:var(--ink-800);font-size:16px;font-weight:940}.v2cc-root .reader-view-placeholder span{max-width:22em;font-size:12px;font-weight:780;line-height:1.5}.v2cc-root .reader-view-actions{flex-wrap:wrap}.v2cc-root .reader-fonts{display:inline-flex;gap:5px;padding:4px;border-radius:14px;background:#ffffffbd;box-shadow:inset 0 0 0 1px #e1ecf6cc}.v2cc-root .reader-fonts button{min-height:30px;min-width:38px;padding:0 8px;box-shadow:none;background:transparent}.v2cc-root .reader-fonts button.active{color:var(--blue-600);background:#eaf7ff}.v2cc-root .reader-toc{display:grid;gap:10px}.v2cc-root .reader-toc-list{display:grid;gap:5px;max-height:280px;overflow:auto}.v2cc-root .reader-toc-list button{min-height:34px;border:0;border-radius:10px;background:#f6fafe;color:var(--ink-600);font-family:var(--font-sans);font-size:12.5px;font-weight:780;text-align:left;cursor:pointer}.v2cc-root .reader-toc-list p{margin:0;color:var(--ink-400);font-size:12px;font-weight:760}.v2cc-root .reader-entry-card{background:radial-gradient(90% 120% at 100% 0%,#e7f8ff,#e7f8ff00 50%),#fff}.v2cc-root .reader-entry-icon{background:linear-gradient(135deg,#35aaf4,#62d4e9)}.v2cc-root .reader-entry-state strong{color:var(--blue-600);font-size:15px}.v2cc-root.v2cc-reader-fullscreen .back-hdr{margin:0;padding:calc(10px + var(--safe-top)) clamp(14px,4vw,34px) 9px;background:linear-gradient(180deg,#e8f3fffa,#e8f3ffd1);box-shadow:0 1px #b2cfe994}.v2cc-root.v2cc-reader-fullscreen .back-btn{background:#ffffffad;box-shadow:0 0 0 1px #bfd9f0b8}.v2cc-root.v2cc-reader-fullscreen .back-title strong,.v2cc-root.v2cc-reader-fullscreen .back-title span{max-width:min(72vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root.v2cc-reader-fullscreen .reader-view{width:min(100%,1040px);min-height:calc(100dvh - 65px - var(--safe-top));margin:0 auto;padding:10px clamp(12px,4vw,34px) calc(14px + var(--safe-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.v2cc-root.v2cc-reader-fullscreen .reader-view-toolbar,.v2cc-root.v2cc-reader-fullscreen .reader-view-actions{width:min(100%,760px);margin-inline:auto}.v2cc-root.v2cc-reader-fullscreen .reader-view-toolbar button,.v2cc-root.v2cc-reader-fullscreen .reader-view-actions button{background:#ffffffb8;box-shadow:0 0 0 1px #c7def2b8}.v2cc-root.v2cc-reader-fullscreen .reader-view-card{width:min(100%,760px);height:100%;min-height:0;margin-inline:auto;border-radius:16px;border-color:#c0d8edb8;background:#ffffffd1;box-shadow:0 16px 45px -34px #204b789e,0 0 0 1px #ffffff85 inset}.v2cc-root.v2cc-reader-fullscreen .reader-viewport{padding:16px clamp(12px,2.8vw,24px)}.v2cc-root.v2cc-reader-fullscreen .reader-toc{position:fixed;left:50%;bottom:calc(72px + var(--safe-bottom));z-index:50;width:min(720px,calc(100vw - 28px));transform:translate(-50%);box-shadow:0 24px 58px -28px #193a606b,0 0 0 1px #d4e4f2e6}.v2cc-root.v2cc-reader-fullscreen .reader-toc-list{max-height:min(50dvh,360px)}.v2cc-root .reader-page-zones{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.v2cc-root .reader-page-zones button{width:100%;height:100%;border:0!important;border-radius:0;background:transparent!important;cursor:pointer}.v2cc-root .reader-page-zones button:focus-visible{outline:2px solid #000;outline-offset:-4px}.v2cc-root[data-display-mode=eink] .reader-shelf-header,.v2cc-root[data-display-mode=eink] .reader-search,.v2cc-root[data-display-mode=eink] .reader-upload-button,.v2cc-root[data-display-mode=eink] .reader-scope-tabs,.v2cc-root[data-display-mode=eink] .reader-sort-row button,.v2cc-root[data-display-mode=eink] .reader-upload-scope button,.v2cc-root[data-display-mode=eink] .reader-upload-tile,.v2cc-root[data-display-mode=eink] .reader-cover,.v2cc-root[data-display-mode=eink] .reader-book-foot span,.v2cc-root[data-display-mode=eink] .reader-book-foot button,.v2cc-root[data-display-mode=eink] .reader-quota span,.v2cc-root[data-display-mode=eink] .reader-selection-bar,.v2cc-root[data-display-mode=eink] .reader-view-toolbar button,.v2cc-root[data-display-mode=eink] .reader-view-actions button,.v2cc-root[data-display-mode=eink] .reader-fonts,.v2cc-root[data-display-mode=eink] .reader-toc,.v2cc-root[data-display-mode=eink] .reader-toc-list button,.v2cc-root[data-display-mode=eink] .reader-view-card,.v2cc-root[data-display-mode=eink] .reader-view-placeholder,.v2cc-root[data-display-mode=eink] .reader-entry-card{color:#000!important;background:#fff!important;background-image:none!important;border-color:#000!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.v2cc-root[data-display-mode=eink] .reader-shelf-header{border-bottom:1px solid #000000}.v2cc-root[data-display-mode=eink] .reader-search,.v2cc-root[data-display-mode=eink] .reader-upload-button,.v2cc-root[data-display-mode=eink] .reader-scope-tabs,.v2cc-root[data-display-mode=eink] .reader-sort-row button,.v2cc-root[data-display-mode=eink] .reader-upload-scope button,.v2cc-root[data-display-mode=eink] .reader-upload-tile,.v2cc-root[data-display-mode=eink] .reader-selection-bar,.v2cc-root[data-display-mode=eink] .reader-view-toolbar button,.v2cc-root[data-display-mode=eink] .reader-view-actions button,.v2cc-root[data-display-mode=eink] .reader-fonts,.v2cc-root[data-display-mode=eink] .reader-toc,.v2cc-root[data-display-mode=eink] .reader-toc-list button{border:1px solid #000000!important}.v2cc-root[data-display-mode=eink] .reader-scope-tabs button.active,.v2cc-root[data-display-mode=eink] .reader-sort-row button.active,.v2cc-root[data-display-mode=eink] .reader-upload-scope button.active,.v2cc-root[data-display-mode=eink] .reader-fonts button.active{color:#fff!important;background:#000!important}.v2cc-root[data-display-mode=eink] .reader-cover-fallback,.v2cc-root[data-display-mode=eink] .reader-book-meta>button,.v2cc-root[data-display-mode=eink] .reader-book-meta small,.v2cc-root[data-display-mode=eink] .reader-book-foot span,.v2cc-root[data-display-mode=eink] .reader-view-toolbar span,.v2cc-root[data-display-mode=eink] .reader-message,.v2cc-root[data-display-mode=eink] .reader-shelf-title h1,.v2cc-root[data-display-mode=eink] .reader-shelf-title p,.v2cc-root[data-display-mode=eink] .reader-upload-tile span,.v2cc-root[data-display-mode=eink] .reader-grid-note,.v2cc-root[data-display-mode=eink] .reader-quota b,.v2cc-root[data-display-mode=eink] .reader-toc-list p{color:#000!important}.v2cc-root[data-display-mode=eink] .reader-cover em,.v2cc-root[data-display-mode=eink] .reader-select-dot{color:#fff!important;background:#000!important;border:1px solid #000000!important}.v2cc-root[data-display-mode=eink] .reader-view-card{border-width:2px;border-radius:4px}.v2cc-root[data-display-mode=eink] .reader-viewport{padding:14px 12px}.v2cc-root[data-display-mode=eink] .reader-page-zones button{border:0!important;background:transparent!important}@media(max-width:380px){.v2cc-root .reader-grid{gap:20px 12px}.v2cc-root .reader-shelf-header{grid-template-columns:34px minmax(0,1fr) auto;gap:7px}.v2cc-root .reader-upload-button{padding:0 8px;font-size:12px}.v2cc-root .reader-shelf-title h1{font-size:27px}}@media(max-width:520px){.v2cc-root.v2cc-reader-fullscreen .back-hdr{padding-inline:12px}.v2cc-root.v2cc-reader-fullscreen .reader-view{padding:8px 10px calc(12px + var(--safe-bottom));gap:8px}.v2cc-root.v2cc-reader-fullscreen .reader-view-toolbar,.v2cc-root.v2cc-reader-fullscreen .reader-view-actions{width:100%}.v2cc-root.v2cc-reader-fullscreen .reader-view-toolbar button,.v2cc-root.v2cc-reader-fullscreen .reader-view-actions button{min-height:36px;padding:0 10px;font-size:12px}.v2cc-root.v2cc-reader-fullscreen .reader-fonts{gap:2px;padding:3px}.v2cc-root.v2cc-reader-fullscreen .reader-fonts button{min-width:34px;padding:0 6px}.v2cc-root.v2cc-reader-fullscreen .reader-view-card{width:100%;border-radius:14px}.v2cc-root.v2cc-reader-fullscreen .reader-viewport{padding:12px 8px}}.v2cc-root .cl-hero{display:grid;gap:4px}.v2cc-root .cl-eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--blue-600);text-transform:uppercase}.v2cc-root .cl-h1{font-size:22px;font-weight:950;letter-spacing:-.01em;margin:2px 0 0}.v2cc-root .cl-intro{font-size:13px;font-weight:700;color:var(--ink-500);line-height:1.6;margin:6px 0 0}.v2cc-root .cl-principle{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin-top:13px;padding:11px 13px;border-radius:13px;background:var(--blue-50);border:1px solid rgba(160,210,240,.5)}.v2cc-root .cl-principle>span{font-size:11.5px;font-weight:850;color:var(--ink-400);white-space:nowrap}.v2cc-root .cl-principle strong{display:flex;justify-content:center;align-items:center;gap:5px;min-width:0;font-size:14px;font-weight:950;line-height:1.2}.v2cc-root .cl-principle strong em{font-style:normal}.v2cc-root .cl-principle strong i{color:var(--ink-300);font-style:normal;font-weight:850}.v2cc-root .cl-principle .real{color:var(--k-read)}.v2cc-root .cl-principle .open{color:var(--k-system)}.v2cc-root .cl-principle .iterate{color:var(--k-goal)}.v2cc-root .cl-dash{display:grid;gap:14px}.v2cc-root .cl-dash-head{display:grid;gap:2px}.v2cc-root .cl-dash-head h3{font-size:17px;font-weight:950;margin:2px 0 0}.v2cc-root .cl-dash-head>span{font-size:11.5px;font-weight:800;color:var(--ink-400)}.v2cc-root .cl-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2cc-root .cl-metric{padding:13px;border-radius:14px;background:#f6fafe;border:1px solid rgba(222,235,247,.8);display:grid;gap:2px}.v2cc-root .cl-metric>span{font-size:11px;font-weight:850;color:var(--ink-400)}.v2cc-root .cl-metric strong{font-size:23px;font-weight:950;letter-spacing:-.01em;color:var(--ink-700);line-height:1.1}.v2cc-root .cl-metric small{font-size:10.5px;font-weight:700;color:var(--ink-400);line-height:1.4}.v2cc-root .cl-card-head{display:grid;gap:2px;margin-bottom:12px}.v2cc-root .cl-card-head h3{font-size:15px;font-weight:900;margin:0}.v2cc-root .cl-card-head p{font-size:11.5px;font-weight:700;color:var(--ink-400);margin:0;line-height:1.5}.v2cc-root .cl-bars{display:grid;gap:11px}.v2cc-root .cl-bar{display:grid;gap:5px}.v2cc-root .cl-bar-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.v2cc-root .cl-bar-top span{font-size:12.5px;font-weight:820}.v2cc-root .cl-bar-top strong{font-size:13px;font-weight:950;color:var(--blue-600);flex:0 0 auto}.v2cc-root .cl-bar-track{height:8px;border-radius:999px;background:#e6eef6;overflow:hidden}.v2cc-root .cl-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-400),var(--blue-cyan))}.v2cc-root .cl-heat{display:flex;flex-wrap:wrap;gap:5px}.v2cc-root .cl-heat-cell{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:900;color:#fff}.v2cc-root .cl-heat.dy .cl-heat-cell{width:27px;height:27px}.v2cc-root .cl-heat-cell.lv0{background:#eef3f8;color:var(--ink-300)}.v2cc-root .cl-heat-cell.lv1{background:#cfeafd;color:var(--blue-600)}.v2cc-root .cl-heat-cell.lv2{background:#8ed3f6}.v2cc-root .cl-heat-cell.lv3{background:#3fb0ef}.v2cc-root .cl-heat-cell.lv4{background:#1788cf}.v2cc-root .cl-tl-label{font-size:12px;font-weight:850;color:var(--ink-400);letter-spacing:.04em;padding:6px 2px 0}.v2cc-root .cl-entry{display:grid;gap:8px}.v2cc-root .cl-entry-btn{text-align:left;border:1px solid rgba(228,238,248,.9);cursor:pointer;font-family:var(--font-sans);width:100%}.v2cc-root .cl-entry-btn:active{transform:scale(.99)}.v2cc-root .cl-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.v2cc-root .cl-type-badge.feature{background:var(--blue-100);color:var(--blue-600)}.v2cc-root .cl-type-badge.improvement{background:var(--k-system-soft);color:var(--k-system)}.v2cc-root .cl-type-badge.fix{background:var(--field-2);color:var(--ink-500)}.v2cc-root .cl-date{font-size:12px;font-weight:800;color:var(--ink-400)}.v2cc-root .cl-title{font-size:16px;font-weight:900;margin:0;letter-spacing:-.01em}.v2cc-root .cl-summary{font-size:13px;font-weight:720;color:var(--ink-500);line-height:1.55;margin:0}.v2cc-root .cl-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.v2cc-root .cl-tag{font-size:11px;font-weight:800;border-radius:7px;padding:3px 8px}.v2cc-root .cl-tag.tone-goal{background:var(--k-goal-soft);color:var(--k-goal)}.v2cc-root .cl-tag.tone-read{background:var(--k-read-soft);color:var(--k-read)}.v2cc-root .cl-tag.tone-system{background:var(--k-system-soft);color:var(--k-system)}.v2cc-root .cl-tag.tone-reward{background:var(--k-reward-soft);color:var(--k-reward)}.v2cc-root .cl-tag.tone-life{background:var(--k-life-soft);color:var(--k-life)}.v2cc-root .cl-more{margin-left:auto;font-size:12px;font-weight:900;color:var(--blue-600)!important;background:transparent!important;padding:0!important}.v2cc-root .cl-detail-hero{display:grid;gap:9px}.v2cc-root .cl-meta{display:flex;flex-wrap:wrap;gap:20px;padding-top:4px}.v2cc-root .cl-meta>div{display:grid;gap:2px}.v2cc-root .cl-meta span{font-size:11px;font-weight:800;color:var(--ink-400)}.v2cc-root .cl-meta strong{font-size:13px;font-weight:900}.v2cc-root .cl-narrative{display:grid;gap:10px}.v2cc-root .cl-narrative p{font-size:13.5px;font-weight:700;color:var(--ink-600);line-height:1.7;margin:0}.v2cc-root .cl-list{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}.v2cc-root .cl-list li{font-size:13px;font-weight:720;color:var(--ink-500);line-height:1.55}.v2cc-root .cl-adjacent{display:grid;gap:10px}.v2cc-root .cl-adj{text-align:left;cursor:pointer;font-family:var(--font-sans);display:grid;gap:3px}.v2cc-root .cl-adj span{font-size:11px;font-weight:850;color:var(--ink-400)}.v2cc-root .cl-adj strong{font-size:14px;font-weight:900}.v2cc-root .rv-headline{font-size:14px;font-weight:760;color:var(--ink-500);line-height:1.6;margin:8px 0 0}.v2cc-root .cl-metric-button{appearance:none;-webkit-appearance:none;width:100%;text-align:left;font-family:var(--font-sans);color:inherit}.v2cc-root .cl-metric-button:disabled{cursor:default}.v2cc-root .cl-metric-link{cursor:pointer}.v2cc-root .cl-metric-link:active{transform:scale(.99)}.v2cc-root .cl-metric-link:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.v2cc-root .rv-days{display:flex;gap:7px;height:150px}.v2cc-root .rv-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.v2cc-root .rv-day-track{flex:1;width:60%;max-width:24px;display:flex;align-items:flex-end}.v2cc-root .rv-day-bar{width:100%;min-height:4px;border-radius:7px;background:linear-gradient(180deg,var(--blue-400),var(--blue-cyan))}.v2cc-root .rv-day-bar.zero{background:var(--field-2)}.v2cc-root .rv-day-lbl{font-size:11px;font-weight:800;color:var(--ink-400)}.v2cc-root .rv-top{display:grid;gap:8px}.v2cc-root .rv-top-row{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:13px;background:#f6fafe;border:1px solid rgba(222,235,247,.8);width:100%;text-align:left;font-family:var(--font-sans)}.v2cc-root .rv-top-rank{width:20px;flex:0 0 auto;text-align:center;font-size:14px;font-weight:900;color:var(--ink-300)}.v2cc-root .rv-top-row .av-bubble{width:36px;height:36px;font-size:14px;flex:0 0 auto}.v2cc-root .rv-top-main{flex:1;min-width:0}.v2cc-root .rv-top-name{font-size:13.5px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .rv-top-sub{font-size:11px;font-weight:750;color:var(--ink-400);margin-top:1px}.v2cc-root .rv-top-time{flex:0 0 auto;font-size:14px;font-weight:950;color:var(--blue-600)}.v2cc-root .rv-settle{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px}.v2cc-root .rv-settle>div{display:grid;gap:2px}.v2cc-root .rv-settle span{font-size:11px;font-weight:800;color:var(--ink-400)}.v2cc-root .rv-settle strong{font-size:14px;font-weight:900}.v2cc-root .gct{display:grid;gap:13px;padding:16px;border-radius:20px;background:linear-gradient(180deg,#fff,#fcfdff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .gct-head{display:flex;align-items:center;gap:11px}.v2cc-root .gct-ic{width:40px;height:40px;border-radius:13px;flex:0 0 auto;display:grid;place-items:center;background:var(--k-system-soft);color:var(--k-system)}.v2cc-root .gct-ic svg{width:20px;height:20px}.v2cc-root .gct-head strong{font-size:15px;font-weight:900}.v2cc-root .gct-head>div span{display:block;font-size:11.5px;font-weight:780;color:var(--ink-400);margin-top:2px}.v2cc-root .tl{display:grid;gap:16px}.v2cc-root .tl-group{display:grid;gap:10px}.v2cc-root .tl-group-label{font-size:12px;font-weight:850;color:var(--ink-400);letter-spacing:.04em;padding-left:28px}.v2cc-root .tl-item{position:relative;padding-left:28px}.v2cc-root .tl-item:before{content:"";position:absolute;left:6px;top:0;bottom:-16px;width:2px;background:#dce6f1}.v2cc-root .tl-group:last-child .tl-item:last-child:before{display:none}.v2cc-root .tl-marker{position:absolute;left:0;top:17px;width:14px;height:14px;border-radius:50%;background:#cfd9e6;border:3px solid #fff;box-shadow:0 0 0 1px #dce6f1;z-index:1}.v2cc-root .tl-item.current .tl-marker{background:var(--blue-500);box-shadow:0 0 0 3px var(--blue-100)}.v2cc-root .tl-item.upcoming .tl-marker{background:#fff;box-shadow:0 0 0 2px var(--blue-400)}.v2cc-root .tl-card{border-radius:16px;padding:14px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .tl-item.current .tl-card{border-color:#35aaf466;background:linear-gradient(180deg,#fff,#f7fbff)}.v2cc-root .tl-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.v2cc-root .tl-code{font-size:15px;font-weight:900}.v2cc-root .tl-date{font-size:13px;font-weight:850;margin-top:5px}.v2cc-root .tl-meta{font-size:12px;font-weight:780;color:var(--ink-400);margin-top:6px}.v2cc-root .tl-link{display:block;width:100%;margin-top:12px;border:0;border-radius:12px;padding:11px;cursor:pointer;font-family:var(--font-sans);font-size:13.5px;font-weight:900;text-align:center;text-decoration:none;background:var(--blue-100);color:var(--blue-600)}.v2cc-root .tl-link.ghost{background:var(--field-2);color:var(--ink-500)}.v2cc-root .tl-link:disabled{cursor:not-allowed;opacity:.68}.v2cc-root .tl-card-main{display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.v2cc-root[data-display-mode=eink] .tl-card-main{background:transparent!important;background-image:none!important;border:0!important;border-radius:0}.v2cc-root .tl-card-main:focus-visible{outline:3px solid rgba(30,144,255,.32);outline-offset:5px;border-radius:12px}.v2cc-root .v2-contract-detail-hero{gap:13px}.v2cc-root .v2-detail-actions{display:grid;gap:10px;padding-top:2px}.v2cc-root .v2-detail-actions .period-join-actions{display:grid;gap:10px}.v2cc-root .v2-detail-actions .tl-link,.v2cc-root .v2-detail-actions .primary-button,.v2cc-root .v2-detail-actions .secondary-button,.v2cc-root .v2-detail-actions .ui-button-link,.v2cc-root .card>.tl-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:0;border-radius:14px;font-family:var(--font-sans);font-size:13.5px;font-weight:900}.v2cc-root .v2-detail-actions .primary-button,.v2cc-root .v2-detail-actions .ui-button-link{width:100%;border:0;color:#fff;background:linear-gradient(180deg,#43b3f3,#1f93dd);box-shadow:0 5px #1573b3,0 14px 24px -12px #138fd6a6}.v2cc-root .v2-detail-actions .secondary-button{width:100%;border:0;color:var(--ink-500);background:var(--field-2);box-shadow:none}.v2cc-root .v2-detail-actions .primary-button:disabled,.v2cc-root .v2-detail-actions .secondary-button:disabled{opacity:.64;box-shadow:none}.v2cc-root .v2-detail-actions .wx-btn{margin:0}.v2cc-root .v2-muted{margin:7px 0 0;color:var(--ink-500);font-size:12.5px;font-weight:720;line-height:1.55}.v2cc-root .v2-card-title{margin:4px 0 0;color:var(--ink-700);font-size:17px;font-weight:900;line-height:1.25}.v2cc-root .v2-tile-note{margin-top:3px;color:var(--ink-400);font-size:10.5px;font-weight:820;line-height:1.25}.v2cc-root .v2-status-large{width:100%;min-height:42px;justify-content:center;border-radius:14px;font-size:13px}.v2cc-root .form-message{margin:0;padding:11px 13px;border-radius:14px;background:var(--blue-100);color:var(--blue-600);font-size:12.5px;font-weight:820;line-height:1.45}.v2cc-root .form-message.is-error{background:#fff1ee;color:#b95745}.v2cc-root .rw-empty{text-align:center;padding:22px 16px;font-size:13px;font-weight:780;color:var(--ink-400)}.v2cc-root .v2-participant-list{display:grid;gap:10px}.v2cc-root .v2-participant-row{width:100%;min-width:0;display:grid;grid-template-columns:24px 42px minmax(0,1fr);gap:10px;align-items:center;padding:12px 0;border:0;border-top:1px solid rgba(225,236,247,.85);background:transparent;color:inherit;font:inherit;text-align:left}.v2cc-root .v2-participant-row:first-of-type{border-top:0}.v2cc-root .v2-participant-row.clickable{cursor:pointer}.v2cc-root .v2-participant-row.clickable:focus-visible{outline:3px solid rgba(30,144,255,.28);outline-offset:3px;border-radius:14px}.v2cc-root .v2-participant-rank{color:var(--ink-400);font-size:12px;font-weight:900;text-align:center}.v2cc-root .v2-participant-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:var(--field-2);color:var(--blue-600);font-size:15px;font-weight:900}.v2cc-root .v2-participant-avatar img{width:100%;height:100%;object-fit:cover;display:block}.v2cc-root .v2-participant-main{min-width:0;display:grid;gap:4px}.v2cc-root .v2-participant-name-line{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.v2cc-root .v2-participant-name-line strong{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-700);font-size:13.5px;font-weight:900}.v2cc-root .v2-participant-metric{color:var(--ink-700);font-size:13px;font-weight:850;line-height:1.25}.v2cc-root .v2-participant-meta{color:var(--ink-400);font-size:11.5px;font-weight:760;line-height:1.35}.v2cc-root .v2-badge-strip{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.v2cc-root .v2-mini-badge{padding:3px 6px;border-radius:999px;background:var(--field-2);color:var(--ink-500);font-size:10px;font-weight:900;line-height:1;white-space:nowrap}.v2cc-root .v2-mini-badge.gold{background:#fdf0cf;color:#b9761a}.v2cc-root .v2-mini-badge.blue{background:var(--blue-100);color:var(--blue-600)}.v2cc-root .v2-mini-badge.green{background:var(--k-system-soft);color:var(--k-system)}.v2cc-root .v2-guide-card{display:grid;gap:10px}.v2cc-root .v2-guide-image{margin:2px 0 0;display:grid;gap:8px}.v2cc-root .v2-guide-image img{width:100%;max-height:360px;aspect-ratio:5 / 4;object-fit:contain;display:block;border-radius:16px;background:#f6f9fd;border:1px solid rgba(225,236,247,.9)}.v2cc-root .v2-guide-image.tall img{aspect-ratio:4 / 5;max-height:430px}.v2cc-root .v2-guide-image figcaption{color:var(--ink-400);font-size:11.5px;font-weight:760;text-align:center;line-height:1.45}.v2cc-root .v2-guide-form-card{display:grid;gap:10px}.v2cc-root .v2-guide-form-card .claim-field-example{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:12px;border-radius:14px;background:var(--field-2);border:1px solid rgba(225,236,247,.9)}.v2cc-root .v2-guide-form-card .claim-field-example span{color:var(--ink-400);font-size:11.5px;font-weight:820}.v2cc-root .v2-guide-form-card .claim-field-example strong{color:var(--ink-700);font-size:13px;font-weight:900;overflow-wrap:anywhere}.v2cc-root .rw-prize{display:block;border-radius:20px;overflow:hidden;text-align:left;background:linear-gradient(180deg,#fffdf7,#fffaf0);border:1px solid #f2e2bd;box-shadow:var(--v-shadow-card)}.v2cc-root .rw-prize-photo{width:100%;background:#fff;display:grid;place-items:center;color:var(--k-reward);min-height:88px}.v2cc-root .rw-prize-photo img{width:100%;height:auto;display:block}.v2cc-root .rw-prize-photo svg{width:38px;height:38px}.v2cc-root .rw-prize-info{padding:15px 18px 17px}.v2cc-root .rw-prize-info .lvl{font-size:12px;font-weight:850;color:#b9761a}.v2cc-root .rw-prize-info strong{display:block;font-size:22px;font-weight:950;letter-spacing:-.01em;margin:4px 0 3px}.v2cc-root .rw-prize-info p{margin:0;font-size:13px;font-weight:700;color:var(--ink-500);line-height:1.55}.v2cc-root .rw-prize-info small{display:block;font-size:11.5px;font-weight:800;color:var(--ink-400);margin-top:7px}.v2cc-root .rw-wcard{border-radius:20px;padding:16px;background:linear-gradient(180deg,#fff,#fcfdff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9);display:grid;gap:12px}.v2cc-root .rw-wcard.featured{background:linear-gradient(180deg,#fffaf0,#fff);border-color:#f2e2bd}.v2cc-root .rw-wcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v2cc-root .rw-wcard-head h3{margin:3px 0 0;font-size:18px;font-weight:900}.v2cc-root .rw-wcard-sub{font-size:12.5px;font-weight:780;color:var(--ink-500);line-height:1.5}.v2cc-root .rw-wcard-sub strong{color:var(--ink-700);font-weight:900}.v2cc-root .rw-reveal{border:1px dashed #e0cfa0;border-radius:14px;padding:16px 14px;background:#fffdf6;cursor:pointer;text-align:center;width:100%;font-family:var(--font-sans)}.v2cc-root .rw-reveal-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:850;color:#b9761a}.v2cc-root .rw-reveal-hint svg{width:16px;height:16px}.v2cc-root .rw-reveal-winners{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.v2cc-root .rw-rw{display:grid;justify-items:center;gap:6px}.v2cc-root .rw-rw .av-bubble{width:44px;height:44px;font-size:16px}.v2cc-root .rw-rw span{font-size:12px;font-weight:820}.v2cc-root .rw-pending{border-radius:14px;padding:14px;background:#f6fafe;border:1px solid rgba(222,235,247,.8);display:grid;gap:3px}.v2cc-root .rw-pending strong{font-size:14px;font-weight:900}.v2cc-root .rw-pending span{font-size:12.5px;font-weight:750;color:var(--ink-400)}.v2cc-root .rw-result-list{display:grid;gap:8px}.v2cc-root{@keyframes wtSlide{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}}.v2cc-root .wt{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;background:#f3f7fa;overflow:hidden}.v2cc-root .wt-shell{position:relative;flex:1;width:min(100%,440px);margin:0 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.v2cc-root .wt-stage{flex:1;min-height:0;overflow:hidden;display:flex}.v2cc-root .wt-page{flex:1 1 100%;min-width:0;overflow-y:auto;overflow-x:hidden;padding:max(64px,calc(env(safe-area-inset-top) + 40px)) 26px 132px}.v2cc-root .wt-inner{width:100%;max-width:342px;margin:0 auto}.v2cc-root .wt-chip{display:inline-flex;align-items:center;gap:9px;min-height:22px;padding:0;border-radius:0}.v2cc-root .wt-chip .bar{display:block;flex:0 0 3px;width:3px;min-width:3px;height:18px;border-radius:2px}.v2cc-root .wt-chip .kw{font-size:11px;font-weight:900;letter-spacing:.18em}.v2cc-root .wt-title{display:flex;align-items:center;gap:9px;margin:14px 0 0;font-size:clamp(26px,7.6vw,31px);font-weight:900;letter-spacing:-.01em;color:#172033;line-height:1;white-space:nowrap}.v2cc-root .wt-title .a{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-size:25px;font-weight:900}.v2cc-root .wt-title .a span{transform:translateY(-1px)}.v2cc-root .wt-body{margin:16px 0 0;font-size:15px;font-weight:600;color:#596878;line-height:1.65}.v2cc-root .wt-visual{margin-top:22px}.v2cc-root .wt-goal{display:grid;gap:11px}.v2cc-root .wt-goal-target{display:flex;align-items:center;gap:13px;padding:16px;border-radius:16px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .wt-goal-tic{width:46px;height:46px;border-radius:14px;flex:0 0 auto;display:grid;place-items:center;background:#e8f5ff;color:#2f9fe7}.v2cc-root .wt-goal-tic svg{width:24px;height:24px}.v2cc-root .wt-goal-tt{flex:1;min-width:0}.v2cc-root .wt-goal-tt small{display:block;font-size:11.5px;font-weight:850;color:var(--ink-400)}.v2cc-root .wt-goal-tt strong{display:block;font-size:18px;font-weight:950;margin-top:2px}.v2cc-root .wt-goal-dots{display:flex;gap:5px}.v2cc-root .wt-goal-dots i{width:12px;height:12px;border-radius:4px}.v2cc-root .wt-goal-profile{display:flex;align-items:center;gap:13px;padding:16px;border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .wt-goal-av{position:relative;width:58px;height:58px;flex:0 0 auto}.v2cc-root .wt-goal-av>svg{width:58px;height:58px;transform:rotate(-90deg)}.v2cc-root .wt-goal-av img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:50%;object-fit:cover}.v2cc-root .wt-goal-pi{flex:1;min-width:0}.v2cc-root .wt-goal-pi strong{font-size:15px;font-weight:900;display:block}.v2cc-root .wt-goal-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.v2cc-root .wt-read{display:grid;justify-items:center;gap:30px;padding:22px 0 6px;border-radius:26px;background:#f4faff8c}.v2cc-root .wt-ring{position:relative;width:200px;height:200px;display:grid;place-items:center}.v2cc-root .wt-ring>svg{position:absolute;inset:0;transform:rotate(-90deg)}.v2cc-root .wt-ring-txt{display:grid;justify-items:center;gap:6px}.v2cc-root .wt-ring-txt b{font-size:42px;font-weight:950;color:#172033;letter-spacing:-.01em;line-height:1}.v2cc-root .wt-ring-txt span{font-size:14px;font-weight:850}.v2cc-root .wt-strip{display:flex;gap:9px;padding:13px 14px;border-radius:18px;background:#fff;box-shadow:0 14px 28px -16px #1e508266}.v2cc-root .wt-strip .col{display:grid;justify-items:center;gap:5px}.v2cc-root .wt-strip .bar{width:18px;height:32px;border-radius:8px}.v2cc-root .wt-strip .tick{height:3px;border-radius:2px}.v2cc-root .wt-sys{display:grid;gap:9px}.v2cc-root .wt-sys-row{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:15px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .wt-sys-row.me{background:linear-gradient(180deg,#eef8ff,#e6f3ff);border-color:#35aaf473}.v2cc-root .wt-sys-rank{width:18px;text-align:center;font-size:14px;font-weight:900;color:var(--ink-300);flex:0 0 auto}.v2cc-root .wt-sys-row .av-bubble{width:36px;height:36px;font-size:14px;flex:0 0 auto}.v2cc-root .wt-sys-main{flex:1;min-width:0}.v2cc-root .wt-sys-name{font-size:14px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2cc-root .wt-sys-prog{height:5px;border-radius:999px;background:#e6eef6;overflow:hidden;margin-top:6px}.v2cc-root .wt-sys-prog i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4fd08a,#35ba70)}.v2cc-root .wt-sys-time{flex:0 0 auto;font-size:14px;font-weight:950;color:#172033}.v2cc-root .wt-reward{display:grid;gap:16px}.v2cc-root .wt-reader{display:flex;align-items:center;gap:13px;padding:16px;border-radius:16px;background:radial-gradient(120% 130% at 90% -20%,#fff4d6,#fff4d600 55%),linear-gradient(180deg,#fffaf0,#fff);box-shadow:var(--v-shadow-card);border:1px solid #f2e2bd}.v2cc-root .wt-reader img{width:46px;height:46px;border-radius:13px;flex:0 0 auto;box-shadow:0 0 0 2px #fff}.v2cc-root .wt-reader strong{font-size:14.5px;font-weight:900;line-height:1.4}.v2cc-root .wt-rtiles{display:grid;grid-template-columns:1fr 1fr;gap:13px}.v2cc-root .wt-rtile{padding:15px 14px;border-radius:14px;border:1px solid rgba(226,235,242,.9);display:grid;gap:6px}.v2cc-root .wt-rtile.blue{background:#f3faff}.v2cc-root .wt-rtile.gold{background:#fff8e1}.v2cc-root .wt-rtile span{font-size:12px;font-weight:850;color:#6a7a8a}.v2cc-root .wt-rtile b{font-size:27px;font-weight:950;color:#172033;letter-spacing:-.01em;line-height:1}.v2cc-root .wt-rtile small{font-size:11px;font-weight:700;color:#778495}.v2cc-root .wt-life{padding:16px;border-radius:18px;background:#fff;box-shadow:var(--v-shadow-card);border:1px solid rgba(228,238,248,.9)}.v2cc-root .wt-life-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v2cc-root .wt-life-head strong{font-size:14px;font-weight:900}.v2cc-root .wt-life-head span{font-size:11.5px;font-weight:820;color:var(--ink-400)}.v2cc-root .heatmap{display:grid;grid-template-columns:repeat(26,1fr);gap:3px}.v2cc-root .heatmap i{aspect-ratio:1;border-radius:2px;display:block}.v2cc-root .wt-navbar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px calc(22px + var(--safe-bottom));background:linear-gradient(180deg,#f3f7fa00,#f3f7fa 42%)}.v2cc-root .wt-circle{width:46px;height:46px;flex:0 0 auto;border:0;border-radius:50%;display:grid;place-items:center;background:#172033;color:#fff;cursor:pointer;box-shadow:0 8px 18px -7px #1720338c;transition:transform .1s ease}.v2cc-root .wt-circle:active{transform:scale(.94)}.v2cc-root .wt-circle svg{width:21px;height:21px}.v2cc-root .wt-go{width:auto;padding:0 22px;border-radius:999px;font-family:var(--font-sans);font-size:15px;font-weight:900}.v2cc-root .wt-dots{display:flex;align-items:center;gap:9px}.v2cc-root .wt-dots i{width:7px;height:7px;border-radius:999px;background:#c8d6e3}.v2cc-root .wt-dots i.on{width:18px;background:#38a8e8}.v2cc-root .wt-login{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:32px 26px calc(40px + var(--safe-bottom));background:#f3f7fa;animation:wtSlide .4s var(--ease-out) both}.v2cc-root .wt-login-card{text-align:center;display:grid;justify-items:center}.v2cc-root .wt-login-mascot{width:88px;height:88px;border-radius:26px;overflow:hidden;margin-bottom:16px;box-shadow:0 12px 28px -8px #35aaf473,0 0 0 4px #fff}.v2cc-root .wt-login-mascot img{width:100%;height:100%;display:block}.v2cc-root .wt-login-card h2{margin:0;font-size:25px;font-weight:950;color:#172033}.v2cc-root .wt-login-card p{margin:10px 0 0;font-size:13.5px;font-weight:700;color:#596878;line-height:1.55;max-width:18em}.v2cc-root .wt-login-actions{width:100%;max-width:320px;margin:22px auto 0;display:grid;gap:12px}.v2cc-root .wt-login-back{border:0;background:transparent;color:var(--ink-400);font-family:var(--font-sans);font-size:13px;font-weight:800;cursor:pointer;padding:6px}.v2cc-root .wt-close{position:absolute;top:max(18px,env(safe-area-inset-top));right:18px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:#ffffffd9;color:var(--ink-500);box-shadow:0 2px 8px #3040581f}.v2cc-root .wt-close svg{width:19px;height:19px}:root{color-scheme:light;--bg: #f3f5f8;--panel: #ffffff;--panel-soft: #f8fafc;--text: #253041;--muted: #8a95a5;--line: #e5ebf2;--blue: #35aaf4;--blue-2: #62d4e9;--blue-soft: #e8f7ff;--page-top-bg: #eef7ff;--page-top-solid-height: 22rem;--gold: #f2c56b;--shadow: 0 18px 60px rgba(48, 64, 88, .12);--shadow-soft: 0 8px 22px rgba(48, 64, 88, .06);--shadow-floating: 0 12px 38px rgba(48, 64, 88, .08);--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 16px;--space-8: 18px;--space-10: 22px;--space-12: 28px;--space-14: 30px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 18px;--font-size-xl: 30px;--font-weight-copy: 700;--font-weight-strong: 800;--font-weight-label: 850;--font-weight-heavy: 900;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 16px;--radius-xl: 18px;--radius-2xl: 22px;--radius-pill: 999px;--surface-raised: #ffffff;--surface-muted: var(--panel-soft);--modal-backdrop: rgba(18, 28, 42, .42);--focus-ring: 0 0 0 4px var(--blue-soft);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-width:320px;background-color:var(--bg);background-image:linear-gradient(180deg,var(--page-top-bg) 0,var(--page-top-bg) var(--page-top-solid-height),#edf8ff 44rem,#e7f4ff 74rem,var(--bg) 120rem);background-repeat:no-repeat;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.android-native-shell{--safe-top: max(env(safe-area-inset-top, 0px), 28px);--safe-bottom: max(env(safe-area-inset-bottom, 0px), 56px)}.app-shell{width:min(100%,760px);min-height:100dvh;margin:0 auto;padding:calc(10px + var(--safe-top)) 12px calc(70px + var(--safe-bottom))}.app-shell.app-shell-wide{width:min(100%,1120px)}body.ios-native-chrome .app-shell{padding-top:8px;padding-bottom:calc(58px + var(--safe-bottom))}body.ios-native-chrome .app-header,body.ios-native-chrome .profile-topbar,body.ios-native-chrome .bottom-nav{display:none}.detail-shell{width:min(100%,920px)}.detail-shell.page-shell-wide{width:min(100%,1120px)}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:calc(65px + var(--safe-top));margin:calc(-10px - var(--safe-top)) -12px 12px;padding:calc(10px + var(--safe-top)) 12px 10px;background:#f4f9fddb;border-bottom:1px solid rgba(220,228,238,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-brand{display:flex;align-items:center;min-width:0;gap:10px;border:0;padding:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.app-brand strong,.app-brand small{display:block;min-width:0}.app-brand strong{font-size:18px;line-height:1.15;font-weight:850}.app-brand small{margin-top:3px;color:var(--muted);font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:8px}.app-content{display:grid;gap:12px}.desktop-update-banner{position:fixed;top:calc(10px + var(--safe-top));left:50%;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(calc(100% - 24px),736px);padding:10px 12px;border:1px solid rgba(189,214,232,.88);border-radius:14px;background:#fffffffa;box-shadow:0 16px 38px #30405824;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%)}.desktop-update-banner div{display:grid;min-width:0;gap:2px}.desktop-update-banner strong,.desktop-update-banner small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-update-banner strong{color:var(--text);font-size:14px;font-weight:850}.desktop-update-banner small{color:var(--muted);font-size:12px;font-weight:750}.desktop-update-banner.error{border-color:#e28e80ad}.desktop-update-banner .primary-button{flex:0 0 auto;white-space:nowrap}.native-refresh-banner{position:sticky;top:8px;z-index:35;display:flex;align-items:center;gap:8px;width:min(100%,736px);min-height:40px;margin:0 auto 10px;padding:8px 10px;border:1px solid rgba(189,214,232,.88);border-radius:12px;background:#fffffff0;box-shadow:0 10px 28px #3040581a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.native-refresh-banner strong{min-width:0;flex:1;overflow:hidden;color:var(--text);font-size:13px;font-weight:820;text-overflow:ellipsis;white-space:nowrap}.native-refresh-banner .icon-button{width:28px;height:28px;min-height:28px;border-radius:10px}.native-refresh-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--blue)}.native-refresh-banner.running .native-refresh-dot{box-shadow:0 0 0 4px #35aaf424}.native-refresh-banner.success{border-color:#3c9a6847}.native-refresh-banner.success .native-refresh-dot{background:#3c9a68}.native-refresh-banner.error{border-color:#e28e80ad}.native-refresh-banner.error .native-refresh-dot{background:#d86a55}.brand-mark.compact{width:38px;height:38px;border-radius:12px;box-shadow:0 10px 24px #35aaf43d}.brand-mark.compact.page-icon-mark{border:1px solid rgba(163,214,245,.72);background:linear-gradient(180deg,#fafdfffa,#e7f8fff5),#fff;color:var(--blue);box-shadow:0 10px 24px #35aaf429}.app-icon-mark{overflow:hidden;border-radius:12px;background:#23a8f4}.app-icon-mark img{display:block;width:100%;height:100%}.brand-mark.compact svg{width:21px;height:21px}.bottom-nav{position:fixed;bottom:0;left:50%;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:min(100%,760px);margin:0 auto;padding:5px 8px calc(5px + var(--safe-bottom));border:1px solid rgba(214,223,235,.86);border-bottom:0;border-radius:22px 22px 0 0;background:#fffffff5;box-shadow:0 -8px 24px #2a3b521a;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transform:translate(-50%)}.bottom-nav button{display:grid;align-content:center;justify-items:center;gap:1px;min-width:0;min-height:48px;border:0;border-radius:16px;padding:0;background:transparent;color:#8a95a5;font-size:11px;font-weight:750;cursor:pointer}.bottom-nav svg{width:21px;height:21px;stroke-width:2.05}.bottom-nav span{display:block;line-height:1}.bottom-nav button.active{background:var(--blue-soft);color:var(--blue)}.challenge-hero-card,.mine-hero,.quick-card{border:1px solid rgba(224,232,242,.94);border-radius:18px;background:#ffffffeb;box-shadow:0 8px 22px #3040580f}.challenge-hero-card{display:grid;gap:12px;padding:18px;background:linear-gradient(145deg,#e8f7fff2,#fffffff0 58%),#fff}.challenge-hero-copy h1,.mine-hero h1{margin:6px 0 0;font-size:clamp(28px,8vw,34px);line-height:1.13;font-weight:850;letter-spacing:0;overflow-wrap:anywhere}.challenge-hero-copy,.mine-hero>div,.quick-card>div{min-width:0}.challenge-hero-copy p,.mine-hero p,.quick-card p{margin:8px 0 0;color:var(--muted);font-size:14px;font-weight:700;line-height:1.55}.challenge-tabs-card,.challenge-tab-panel{min-width:0}.challenge-tab-panel{display:grid;gap:12px}.challenge-tabs{display:grid;grid-template-columns:repeat(var(--challenge-tab-count, 3),minmax(0,1fr));gap:4px;border:1px solid var(--line);border-radius:16px;padding:4px;background:var(--panel-soft)}.challenge-tab{min-width:0;min-height:42px;overflow:hidden;border:0;border-radius:12px;padding:0 10px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.challenge-tab.active{background:#fff;color:#1d8bd0;box-shadow:0 5px 14px #30405814}.challenge-tab:focus-visible{outline:3px solid rgba(53,170,244,.28);outline-offset:3px}.hero-actions,.mine-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.auth-entry-actions{align-items:center;flex-wrap:nowrap}.auth-entry-actions .primary-button,.auth-entry-actions .secondary-button{flex:0 0 auto;white-space:nowrap}.sync-alert{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid rgba(236,151,95,.36);border-radius:16px;background:#fff7ef}.sync-alert p{margin:0;color:#995820;font-size:14px;font-weight:800;line-height:1.55}.profile-sync-alert{margin:0 0 14px}.admin-hero,.admin-panel,.admin-product-card{border:1px solid rgba(214,231,242,.9);border-radius:16px;background:#ffffffeb;box-shadow:0 8px 20px #3040580b}.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.admin-hero h1{margin:6px 0 0;font-size:clamp(24px,5vw,30px);line-height:1.08}.admin-hero p{margin:6px 0 0;color:var(--muted);font-weight:800}.admin-section-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:6px;border:1px solid rgba(214,231,242,.86);border-radius:18px;background:#eff6fcd6}.admin-section-nav button{display:grid;gap:3px;min-width:0;min-height:58px;border:0;border-radius:13px;padding:9px 10px;color:var(--muted);background:transparent;text-align:left;cursor:pointer}.admin-section-nav button.active{color:var(--text);background:#fff;box-shadow:0 6px 16px #30405812}.admin-section-nav strong,.admin-section-nav span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-section-nav strong{font-size:14px;font-weight:900}.admin-section-nav span{font-size:11px;font-weight:800}.admin-overview-grid,.admin-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-subsection-head{display:grid;gap:4px}.admin-subsection-head h3,.admin-subsection-head p{margin:0}.admin-subsection-head h3{font-size:17px}.admin-subsection-head p{color:var(--muted);font-size:13px;font-weight:800;line-height:1.5}.admin-tool-grid .info-card,.admin-overview-grid .info-card{min-height:132px;padding:14px;border-radius:16px}.admin-panel{display:grid;gap:14px;padding:16px}.admin-health-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.admin-health-column{display:grid;align-content:start;gap:10px;min-width:0}.admin-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.admin-subhead strong{color:var(--text);font-size:15px;font-weight:900}.admin-list,.admin-table{display:grid;gap:10px}.admin-row,.admin-table-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.admin-row.compact{gap:10px;min-height:64px;padding:10px}.admin-table-row{grid-template-columns:minmax(180px,1.1fr) minmax(130px,.75fr) minmax(200px,1.25fr)}.admin-student-row{grid-template-columns:minmax(180px,1.05fr) minmax(120px,.64fr) minmax(128px,.68fr) minmax(168px,.9fr) minmax(250px,1.35fr)}.admin-long-challenge-row{grid-template-columns:minmax(180px,.95fr) minmax(180px,.9fr) minmax(240px,1.25fr) minmax(180px,.9fr);align-items:center}.admin-long-challenge-progress{display:grid;gap:4px;min-width:0}.admin-row strong,.admin-table-row strong,.admin-table-row span{display:block;color:var(--text);font-weight:900}.admin-row span,.admin-row small,.admin-table-row small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.admin-table-row span.is-error{color:#d54b4b}.admin-row .admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:0;padding:0}.admin-row .admin-row-actions small{margin-top:0;white-space:nowrap}.admin-row .admin-row-actions .secondary-button{min-width:88px}.admin-unresolved-orders{padding-top:2px}.admin-unresolved-order-row{grid-template-columns:minmax(0,1fr);align-items:start}.admin-unresolved-order-row>div{min-width:0}.admin-unresolved-order-row strong,.admin-unresolved-order-row span,.admin-unresolved-order-row small{overflow-wrap:anywhere}.admin-unresolved-actions{display:grid;gap:8px}.admin-unresolved-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-unresolved-actions input{min-width:0;border:1px solid var(--line);border-radius:13px;padding:10px 11px;color:var(--text);outline:none}.admin-row small.is-error{color:#d54b4b}.admin-person-cell{display:flex;align-items:center;min-width:0;gap:10px}.admin-person-cell>span:last-child{min-width:0}.admin-avatar-button{display:inline-grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border:0;border-radius:999px;padding:0;background:transparent;color:inherit;cursor:pointer}.admin-avatar-button:focus-visible{outline:3px solid rgba(32,162,235,.28);outline-offset:3px}.admin-avatar-button:hover .member-avatar,.admin-avatar-button:focus-visible .member-avatar{box-shadow:0 0 0 3px #20a2eb29}.admin-identity{min-width:0}.admin-student-item{display:grid;gap:8px}.admin-student-identity-detail{padding:12px;border:1px solid var(--line);border-radius:13px;background:#f8fbff}.admin-student-expanded-detail{display:grid;gap:12px}.admin-student-reading-detail{display:grid;gap:9px}.admin-weekly-books-meta.has-excluded{color:#c0403d}.admin-weekly-book-list{display:grid;gap:7px}.admin-weekly-book-row{display:grid;gap:3px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:inherit;text-decoration:none}.admin-weekly-book-row strong{overflow:hidden;color:var(--text);font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.admin-weekly-book-row small,.admin-weekly-book-more{color:var(--muted);font-size:12px;font-weight:850}.admin-weekly-book-row.is-excluded{border-color:#c0403d2e;background:#fff7f7}.admin-weekly-book-row.is-excluded small{color:#c0403d}.admin-identity-summary{display:grid;min-width:0;gap:7px}.admin-identity-summary small,.admin-identity-summary>small{margin-top:0}.admin-identity-summary-tags{display:flex;flex-wrap:wrap;gap:5px}.admin-identity-summary-tags span{display:inline-flex;align-items:center;width:fit-content;max-width:100%;margin:0;padding:4px 7px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:11px;font-weight:900;line-height:1.1}.admin-identity-summary-tags code{overflow:hidden;max-width:150px;margin-left:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.admin-identity-summary-tags span.active{border-color:#2fa0df59;background:#eef9ff;color:#1777aa}.admin-inline-action{width:fit-content;padding:0;border:0;background:transparent;color:var(--blue);cursor:pointer;font-size:12px;font-weight:900}.admin-identity>small{margin-top:0}.admin-identity>span{margin-top:4px}.admin-identity-fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.admin-identity-field{display:inline-flex;align-items:center;max-width:100%;min-width:0;gap:5px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-table-row .admin-identity-field{display:inline-flex}.admin-identity-field em{flex:0 0 auto;color:var(--muted);font-size:11px;font-style:normal;font-weight:900}.admin-identity-field code{overflow:hidden;min-width:0;max-width:160px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.admin-identity-field button{flex:0 0 auto;border:0;background:transparent;color:var(--blue);cursor:pointer;font-size:11px;font-weight:900}.admin-toolbar,.admin-form-grid,.admin-actions-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.admin-toolbar input,.admin-toolbar select,.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{border:1px solid var(--line);border-radius:13px;padding:11px 12px;color:var(--text);outline:none}.admin-form-grid textarea{min-height:92px;resize:vertical;font:inherit}.identity-sync-toolbar{align-items:start}.identity-sync-toolbar form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.admin-toolbar input{min-width:min(100%,260px)}.admin-student-toolbar{align-items:center}.admin-student-toolbar input{flex:1 1 260px}.admin-student-toolbar select{flex:0 1 180px}.admin-load-more{justify-self:center;min-width:min(100%,240px)}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}.admin-pagination.compact{justify-content:center;padding-top:10px}.admin-pagination-meta,.admin-pagination-meta label,.admin-pagination-pages{display:flex;align-items:center;gap:8px}.admin-pagination-meta{color:var(--muted);font-size:13px;font-weight:850}.admin-pagination-meta span{color:var(--text)}.admin-pagination-meta select{min-width:86px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;font-size:12px;font-weight:850}.admin-pagination-pages{flex-wrap:wrap;justify-content:flex-end}.admin-pagination-pages .secondary-button.compact{min-height:34px;padding:7px 12px;border-radius:999px;font-size:12px}.admin-pagination-pages .secondary-button.active{border-color:#0ea5e96b;background:#e0f2feeb;color:#0369a1}.admin-pagination-ellipsis{min-width:18px;color:var(--muted);text-align:center;font-size:13px;font-weight:900}.modal.admin-student-detail-modal{width:min(calc(100vw - 32px),860px)}.admin-student-detail-card{max-height:min(88dvh,900px);overflow:auto}.admin-student-detail{display:grid;gap:18px}.admin-student-detail-hero{display:flex;align-items:center;gap:14px;padding-right:40px}.admin-student-detail-hero .decorated-avatar,.admin-student-detail-hero .member-avatar{width:58px;height:58px;font-size:20px}.admin-student-detail-hero h2{margin:2px 0 3px}.admin-student-detail-hero p{margin:0}.admin-detail-summary-strip{display:flex;flex-wrap:wrap;gap:8px}.admin-detail-summary-strip span,.admin-detail-contract-stat{border:1px solid var(--line);border-radius:13px;padding:9px 11px;background:#f8fbff;color:var(--muted);font-size:12px;font-weight:900}.admin-detail-summary-strip strong{color:var(--text)}.admin-detail-section{display:grid;gap:10px}.admin-detail-contract-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-detail-contract-stat{display:grid;gap:5px}.admin-detail-contract-stat strong,.admin-detail-contract-stat span{color:var(--text)}.admin-detail-contract-stat span{font-size:22px;font-weight:950}.admin-detail-contract-stat small{color:var(--muted);font-size:12px;font-weight:900;line-height:1.45}.admin-detail-week-list,.admin-detail-contract-list{display:grid;gap:8px}.admin-detail-week-row,.admin-detail-contract-row{display:grid;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:10px 11px;background:#fff}.admin-detail-week-row{grid-template-columns:minmax(90px,.65fr) minmax(130px,.9fr) minmax(130px,.85fr) minmax(160px,1fr) minmax(96px,.7fr)}.admin-detail-contract-row{grid-template-columns:minmax(90px,.75fr) minmax(150px,1fr) minmax(110px,.75fr) minmax(180px,1.25fr)}.admin-detail-week-row strong,.admin-detail-contract-row strong,.admin-detail-contract-row span{color:var(--text);font-weight:900}.admin-detail-week-row span,.admin-detail-week-row small,.admin-detail-contract-row small{color:var(--muted);font-size:12px;font-weight:850}.admin-contract-result{display:inline-flex;width:fit-content;border-radius:999px;padding:4px 8px;background:#edf4fb;color:var(--muted);font-size:12px;font-weight:950}.admin-contract-result.is-success{background:#dff7eb;color:#15835b}.admin-contract-result.is-failed{background:#ffe4e4;color:#c94242}.admin-contract-result.is-active{background:#def2ff;color:#0875be}.admin-contract-result.is-cancelled{background:#eef1f5;color:#7c8794}.admin-detail-contract-order{display:grid;gap:5px;min-width:0}.admin-detail-contract-order code{overflow:hidden;max-width:100%;color:var(--text);font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.admin-detail-contract-order a{color:var(--act-deep);font-size:12px;font-weight:900;text-decoration:none}@media(max-width:720px){.admin-pagination{align-items:stretch;flex-direction:column}.admin-pagination-meta{justify-content:space-between}.admin-pagination-pages{justify-content:flex-start}.modal.admin-student-detail-modal{width:min(calc(100vw - 20px),860px)}.admin-student-detail-hero{align-items:flex-start;padding-right:34px}.admin-detail-contract-summary,.admin-detail-week-row,.admin-detail-contract-row{grid-template-columns:1fr}}.admin-form-grid label{display:grid;flex:1 1 190px;gap:6px;color:var(--muted);font-size:13px;font-weight:900}.admin-form-grid .span-two{flex-basis:min(100%,420px)}.admin-form-grid .checkbox-field{display:flex;flex:1 1 120px;align-items:center;gap:8px;min-height:43px}.admin-form-grid .checkbox-field input{width:18px;height:18px;padding:0}.admin-product-card{display:grid;gap:14px;padding:16px}.admin-notification-form{border:1px solid var(--line);border-radius:18px;background:var(--surface)}.admin-summary-strip{display:flex;flex-wrap:wrap;gap:8px}.admin-summary-strip span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;color:var(--muted);font-size:12px;font-weight:900}.admin-product-card header{display:flex;justify-content:space-between;gap:12px}.admin-product-card h3{margin:4px 0 0;font-size:18px}.admin-code-block{display:block;width:100%;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#f8fafc;color:#334155;font-size:12px;line-height:1.5}.admin-product-candidates{display:grid;gap:8px}.admin-product-candidates button{display:grid;gap:4px;width:100%;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.admin-product-candidates button:disabled{cursor:not-allowed;opacity:.58}.admin-product-candidates strong,.admin-product-candidates span{min-width:0;overflow-wrap:anywhere}.admin-product-candidates span{color:var(--muted);font-size:12px;font-weight:800}.admin-card-meta{margin:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.admin-empty{margin:0;color:var(--muted);font-weight:800;line-height:1.5}.challenge-dashboard-grid,.long-challenge-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.long-challenge-summary-grid .info-card{min-height:104px;padding:15px}.long-challenge-summary-grid .info-card-label{margin-top:0;font-size:12px;font-weight:850}.long-challenge-summary-grid .info-card-value{font-size:32px;line-height:1.05;overflow-wrap:normal;word-break:keep-all}.long-challenge-summary-grid .info-card-description{font-size:13px;line-height:1.42}.challenge-progress-card{grid-column:1 / -1;min-width:0;padding:16px;border:1px solid rgba(214,231,242,.92);border-radius:18px;background:#ffffffd1;box-shadow:0 8px 22px #3040580d}.challenge-progress-card span,.challenge-progress-card strong,.challenge-progress-card small{display:block}.challenge-progress-card span,.app-stat-grid span,.challenge-mini-stat span{color:var(--muted);font-size:13px;font-weight:800}.challenge-progress-card strong{margin-top:8px;font-size:clamp(34px,10vw,40px);line-height:1.08;font-weight:850;overflow-wrap:anywhere}.challenge-progress-card small,.app-stat-grid small,.challenge-mini-stat small{display:block;margin-top:7px;color:var(--muted);font-size:13px;font-weight:700}.challenge-mini-stat{min-width:0;padding:15px;border:1px solid rgba(224,232,242,.94);border-radius:18px;background:#ffffffe6;box-shadow:0 8px 20px #3040580d}.challenge-mini-stat strong{display:block;margin-top:8px;font-size:34px;line-height:1;font-weight:850}.app-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-stat-grid article{min-width:0;padding:15px;border:1px solid rgba(224,232,242,.94);border-radius:18px;background:#ffffffe6;box-shadow:0 10px 30px #30405812}.app-stat-grid strong{display:block;margin-top:8px;font-size:clamp(30px,8vw,36px);line-height:1;font-weight:850}.compact-panel,.compact-list,.leaderboard-page-card{box-shadow:0 10px 30px #30405812}.read-with-howie-card{display:grid;gap:14px;margin-bottom:12px}.read-with-howie-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.read-with-howie-head>div{flex:1 1 210px;min-width:0}.read-with-howie-head h2{margin:4px 0 0;overflow-wrap:anywhere}.decorated-avatar.read-with-howie-avatar,.decorated-avatar.read-with-howie-avatar .member-avatar{width:58px;height:58px}.read-with-howie-empty{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;color:var(--muted);font-size:13px;font-weight:760;line-height:1.45}.read-with-howie-empty p{margin:0}.leaderboard-board-tabs-card{min-width:0}.leaderboard-switcher-card{display:grid;gap:14px;overflow:hidden}.leaderboard-board-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid rgba(213,226,238,.95);border-radius:26px;padding:6px;background:#f7fbffeb;box-shadow:inset 0 1px #ffffffdb}.leaderboard-board-tab{min-width:0;min-height:50px;overflow:hidden;border:0;border-radius:20px;padding:0 12px;background:transparent;color:#8493a7;font:inherit;font-size:15px;font-weight:950;letter-spacing:0;line-height:1;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,color .18s ease}.leaderboard-board-tab.active{background:#fff;color:#1d8bd0;box-shadow:0 10px 24px #3040581c}.leaderboard-board-tab:focus-visible{outline:3px solid rgba(53,170,244,.28);outline-offset:3px}.leaderboard-board-head{margin-top:0}.leaderboard-board-panel{display:grid;gap:12px;min-width:0}.leaderboard-board-panel.slide-forward{animation:leaderboard-panel-forward .18s ease both}.leaderboard-board-panel.slide-back{animation:leaderboard-panel-back .18s ease both}@keyframes leaderboard-panel-forward{0%{opacity:.76;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes leaderboard-panel-back{0%{opacity:.76;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.leaderboard-board-tab,.leaderboard-board-panel.slide-forward,.leaderboard-board-panel.slide-back{transition:none;animation:none}}.rank-row .week-bars.show-values.compact{gap:12px;min-height:104px;padding-top:4px}.rank-row .week-bars.show-values.compact .day{gap:8px}.rank-row .week-bars.show-values.compact .day-value{min-height:24px;color:#7c8a9a;font-size:12px}.rank-row .week-bars.show-values.compact .bar{width:min(100%,44px);min-width:20px;border-radius:13px 13px 5px 5px}.rank-row .week-bars.show-values.compact .bar.is-zero{width:min(54%,28px);min-width:14px;border-radius:999px}.read-with-howie-message{margin-top:-2px}.quick-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.quick-card h2{margin:6px 0 0;font-size:clamp(20px,5vw,24px);line-height:1.08;letter-spacing:0;font-weight:800}.info-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.single-info-grid{grid-template-columns:1fr}.info-card{display:grid;align-content:space-between;gap:12px;min-width:0;min-height:132px;padding:16px;border:1px solid rgba(224,232,242,.94);border-radius:18px;background:#ffffffe6;box-shadow:0 8px 22px #3040580f}.info-card-clickable{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.info-card-clickable:hover{border-color:#35aaf461;box-shadow:0 12px 30px #3040581a}.info-card.wide{grid-column:1 / -1}.info-card-copy,.info-card-label,.info-card-value,.info-card h2,.info-card-description{min-width:0}.info-card-label{display:block;color:var(--muted);font-size:13px;font-weight:850;line-height:1.25}.info-card-value{display:block;margin-top:8px;color:var(--text);font-size:clamp(30px,8vw,44px);line-height:1;font-weight:900;overflow-wrap:anywhere}.info-card h2{margin:6px 0 0;color:var(--text);font-size:clamp(19px,5vw,24px);line-height:1.12;letter-spacing:0;font-weight:850;overflow-wrap:anywhere}.info-card-description{margin-top:8px;color:var(--muted);font-size:14px;font-weight:720;line-height:1.58}.info-card-description p{margin:0}.info-card-description p+*,.info-card-description ul+*,.info-card-description .claim-field-example,.info-card-description .guide-image-frame{margin-top:12px}.info-card-description ul{margin:0;padding-left:20px}.info-card-action{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.info-card-action .primary-button,.info-card-action .secondary-button{min-height:38px;padding:0 15px;font-size:14px}.progress-card .progress-track{margin-top:12px}.text-button{border:0;padding:8px 0;background:transparent;color:var(--blue);font-weight:900;cursor:pointer;white-space:nowrap}.mine-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.mine-profile-card{display:grid;align-items:flex-start;gap:16px}.mine-profile-head{display:flex;align-items:center;gap:13px;min-width:0}.mine-profile-head>div{min-width:0}.mine-avatar{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:16px;color:#fff;background:linear-gradient(180deg,#4eb7f5,#62d6e9);box-shadow:0 8px 20px #35aaf433;font-size:22px;font-weight:850}img.mine-avatar,img.avatar{display:block;object-fit:cover}.mine-auth-row{min-width:0}.mine-auth-row .auth-status{min-height:54px;width:100%;max-width:none;justify-content:flex-start;border-radius:16px;padding:8px 14px 8px 8px}.mine-auth-row>.secondary-button{width:100%}.auth-status-copy{display:grid;min-width:0;gap:2px}.auth-status-copy small{color:#5d9569;font-size:12px;line-height:1.1}.mine-auth-row .auth-status strong{font-size:16px}.mine-profile-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px;margin-top:0}.mine-profile-actions .primary-button,.mine-profile-actions .secondary-button{min-width:0;width:100%;padding-right:16px;padding-left:16px;white-space:normal}.mine-profile-actions>:only-child{grid-column:1 / -1}.mine-avatar svg{width:25px;height:25px}.mine-widget-preview{display:grid;gap:16px;padding:18px;border:1px solid rgba(224,232,242,.94);border-radius:18px;background:linear-gradient(145deg,#e8f7fff2,#fffffff0 58%),#fff;box-shadow:0 8px 22px #3040580f}.mine-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.mine-preview-head>div{min-width:0}.mine-preview-head h1{margin:6px 0 0;font-size:clamp(30px,9vw,40px);line-height:1.05;font-weight:850;letter-spacing:0;overflow-wrap:anywhere}.mine-preview-head p,.mine-preview-note{margin:8px 0 0;color:var(--muted);font-size:14px;font-weight:750;line-height:1.45}.status-pill{flex:0 0 auto;max-width:42%;overflow:hidden;border-radius:999px;padding:7px 10px;background:#ddf5e5e6;color:#1c7d4e;font-size:12px;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap}.status-pill.muted{background:#e1e9f2e6;color:var(--muted)}.mine-preview-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:10px;min-width:0}.mine-preview-metrics span{display:grid;gap:5px;min-width:0;border:1px solid rgba(205,218,232,.72);border-radius:14px;padding:12px;background:#ffffffb8}.mine-preview-metrics small{color:var(--muted);font-size:12px;font-weight:850}.mine-preview-metrics strong{min-width:0;color:var(--ink);font-size:15px;font-weight:850;overflow-wrap:anywhere}.mine-preview-books{display:grid;gap:8px;min-width:0}.mine-preview-book{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border:1px solid rgba(205,218,232,.72);border-radius:12px;padding:10px 12px;background:#ffffffad}.mine-preview-book span{min-width:0;overflow:hidden;color:var(--ink);font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.mine-preview-book strong{flex:0 0 auto;color:var(--blue);font-size:14px;font-weight:900}.settings-profile-panel{display:grid;gap:18px;margin-bottom:20px;padding:22px;border:1px solid rgba(186,199,216,.46);border-radius:24px;background:#ffffffe6;box-shadow:var(--shadow)}.settings-profile-preview{display:flex;align-items:center;gap:14px;min-width:0}.settings-profile-preview h1{margin:5px 0 4px;font-size:clamp(30px,6vw,48px);line-height:.98}.settings-profile-preview p{margin:0;color:var(--muted);font-size:15px;font-weight:800}.settings-profile-form{display:grid;gap:10px}.settings-profile-field{display:grid;gap:8px}.settings-profile-field label{color:var(--text);font-weight:850}.settings-name-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.settings-profile-form input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:16px;padding:0 14px;color:var(--text);background:#f7fbffeb;font:inherit;font-weight:800}.settings-profile-form input:focus{border-color:#37aaf4b8;outline:3px solid rgba(55,170,244,.18)}.settings-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.settings-profile-form .settings-form-actions .primary-button,.settings-profile-form .settings-form-actions .secondary-button{min-width:0;min-height:38px;padding-right:16px;padding-left:16px;font-size:14px}.settings-profile-form .settings-form-actions .primary-button{box-shadow:0 8px 18px #35aaf42e}.settings-toggle-list{display:grid;gap:10px;padding-top:2px}.settings-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;border:1px solid var(--line);border-radius:16px;padding:11px 12px;background:#f7fbffeb}.settings-toggle-row span,.settings-toggle-row strong,.settings-toggle-row small{min-width:0}.settings-toggle-row strong,.settings-toggle-row small{display:block}.settings-toggle-row strong{color:var(--text);font-size:15px;line-height:1.25;font-weight:900}.settings-toggle-row small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35;font-weight:750}.settings-toggle-row input{appearance:none;position:relative;width:46px;height:28px;margin:0;border:1px solid rgba(186,199,216,.8);border-radius:999px;background:#d8e2ec;cursor:pointer;transition:background .18s ease,border-color .18s ease}.settings-toggle-row input:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #30405833;transition:transform .18s ease}.settings-toggle-row input:checked{border-color:#35aaf499;background:var(--blue)}.settings-toggle-row input:checked:after{transform:translate(20px)}.settings-toggle-row input:disabled{cursor:progress;opacity:.68}.settings-toggle-row input:focus-visible{outline:3px solid rgba(55,170,244,.18);outline-offset:3px}.settings-language-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:center;gap:16px}.settings-language-card h2{margin:5px 0 7px}.settings-select-field{display:grid;gap:7px;min-width:0;color:var(--text);font-size:13px;font-weight:850}.settings-select-field select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:14px;padding:0 12px;color:var(--text);background:#f7fbfff5;font:inherit;font-weight:850}.settings-select-field select:focus{border-color:#37aaf4b8;outline:3px solid rgba(55,170,244,.18)}.settings-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-status-grid .info-card{min-height:166px;padding:14px;border-radius:18px}.settings-status-grid .info-card h2{font-size:clamp(20px,5vw,26px);line-height:1.08}.settings-status-grid .info-card-description{font-size:13px;line-height:1.45}.settings-status-grid .info-card-action{align-self:end;width:100%}.settings-status-grid .info-card-action .secondary-button{width:100%;padding-right:10px;padding-left:10px;font-size:13px}.settings-list{display:grid;gap:8px}.settings-list button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0;border:1px solid rgba(224,232,242,.94);border-radius:16px;padding:14px 15px;background:#ffffffe6;color:var(--text);text-align:left;cursor:pointer}.settings-list button:disabled{cursor:not-allowed;opacity:.62}.settings-list span,.settings-list small{display:block;min-width:0}.settings-list span{font-size:15px;font-weight:800}.settings-list small{max-width:58%;color:var(--muted);font-size:12px;font-weight:760;line-height:1.45;text-align:right}.settings-notification-copy{display:grid;gap:4px}.settings-notification-copy small{color:var(--muted);font-size:12px;line-height:1.45}.settings-notification-copy small.is-error{color:#b42318}.settings-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-card-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.settings-inline-switch{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:900}.settings-inline-switch input{width:38px;height:22px}.notification-inbox-card{display:grid;gap:14px}.notification-inbox-list{display:grid;gap:8px}.notification-inbox-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.notification-inbox-item.unread{border-color:#23a8f46b;background:#f3fbff}.notification-inbox-item span{display:grid;min-width:0;gap:4px}.notification-inbox-item strong,.notification-inbox-item small{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.notification-inbox-item strong{font-size:14px;font-weight:900}.notification-inbox-item small,.notification-inbox-item time{color:var(--muted);font-size:12px;font-weight:760}.notification-inbox-item time{flex:0 0 auto}.pwa-card{background:linear-gradient(145deg,#e8f7ffe0,#fffffff0),#fff}.pwa-install-preview{display:flex;align-items:center;gap:12px}.pwa-app-icon{display:block;flex:0 0 auto;width:52px;height:52px;overflow:hidden;border-radius:14px;background:#23a8f4;box-shadow:0 10px 22px #35aaf433}.pwa-app-icon img{display:block;width:100%;height:100%}.install-hint{flex:0 0 auto;border:1px solid #d7edf9;border-radius:999px;padding:11px 14px;background:#fff;color:var(--blue);font-size:14px;font-weight:900}@media(min-width:760px){.challenge-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.challenge-progress-card,.challenge-dashboard-grid .progress-card{grid-column:1 / -1}}@media(max-width:1100px){.app-shell,.detail-shell,.detail-shell.page-shell-wide{width:100%;max-width:none;margin:0}.bottom-nav{width:100%;max-width:none}}button,input{font:inherit}button{color:inherit}svg{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.shell{width:min(100%,1220px);margin:0 auto;padding:28px 24px 64px}.topbar,.profile-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.profile-topbar{justify-content:flex-start;font-weight:800}.brand{display:flex;align-items:center;gap:14px;min-width:0;border:0;padding:0;background:transparent;text-align:left;cursor:pointer}.brand h1,.profile-hero h1{margin:0;font-size:var(--profile-hero-title-size, clamp(32px, 5vw, 54px));line-height:.96;letter-spacing:0}.brand p,.profile-title p{margin:8px 0 0;color:var(--muted);font-size:15px;font-weight:700}.brand-mark,.avatar{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:16px;background:linear-gradient(180deg,#4eb7f5,#62d6e9);color:#fff;box-shadow:0 12px 32px #35aaf452}.brand-mark svg{width:28px;height:28px}.actions{display:flex;align-items:center;gap:10px}.rank-row:hover{transform:translateY(-1px)}.close-button svg{width:22px;height:22px}.summary-grid{display:grid;grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(210px,.72fr));gap:18px;margin-bottom:18px}.summary-panel,.join-panel,.leaderboard-card,.me-panel,.contract-panel,.profile-card,.locked-panel,.profile-hero,.profile-stats article{border:1px solid rgba(229,235,242,.92);border-radius:20px;background:#ffffffe0;box-shadow:var(--shadow)}.summary-panel{padding:28px;min-height:156px}.summary-meta,.section-label{color:var(--muted);font-size:14px;font-weight:900}.summary-value{margin-top:14px;font-size:clamp(56px,8vw,82px);line-height:.95;font-weight:900;letter-spacing:0}.summary-value.small{font-size:clamp(46px,6vw,64px)}.summary-note{margin-top:14px;color:var(--muted);font-weight:700}.progress-track{height:12px;margin-top:28px;overflow:hidden;border-radius:999px;background:#e8edf4}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2));transition:width .3s ease}.long-challenge-hero .challenge-hero-copy{max-width:760px}.long-challenge-progress-hero .challenge-hero-copy{max-width:none}.long-challenge-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.long-challenge-hero-metrics>span{min-width:0;padding:14px;border:1px solid rgba(214,231,242,.92);border-radius:14px;background:#ffffffc7}.long-challenge-hero-metrics small,.long-challenge-hero-metrics strong,.long-challenge-hero-metrics em{display:block}.long-challenge-hero-metrics small{color:var(--muted);font-size:12px;font-weight:900}.long-challenge-hero-metrics strong{margin-top:8px;font-size:clamp(26px,6vw,38px);line-height:1.05;font-weight:950;overflow-wrap:anywhere}.long-challenge-hero-metrics em{margin-top:8px;color:var(--muted);font-size:13px;font-style:normal;font-weight:850;line-height:1.4}.long-challenge-hero-note{max-width:560px;margin:0;color:var(--muted);font-size:13px;font-weight:850;line-height:1.5}.long-challenge-progress-hero{gap:18px}.long-challenge-progress-hero-head{min-width:0}.long-challenge-progress-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.long-challenge-progress-panel{min-width:0;border:1px solid rgba(214,231,242,.92);border-radius:14px;padding:16px;background:#ffffffc7}.long-challenge-progress-value-row{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:8px}.long-challenge-progress-value-row strong{min-width:0;color:var(--text);font-size:clamp(34px,7vw,54px);font-weight:950;line-height:.98;letter-spacing:0;overflow-wrap:anywhere}.long-challenge-progress-value-row small{flex:0 0 auto;color:#178fd4;font-size:18px;font-weight:950;line-height:1}.long-challenge-progress-panel p{margin:10px 0 0;color:var(--muted);font-size:13px;font-weight:850;line-height:1.45;overflow-wrap:anywhere}.long-challenge-progress-track{height:10px;margin-top:14px}.long-challenge-window-heatmap{display:grid;gap:12px;min-width:0}.long-challenge-window-heatmap-head{display:flex;justify-content:space-between;gap:12px;min-width:0}.long-challenge-window-heatmap-head h2{margin:4px 0 0;color:var(--text);font-size:22px;font-weight:950;line-height:1.12;letter-spacing:0}.long-challenge-window-heatmap-head p{margin:6px 0 0;color:var(--muted);font-size:13px;font-weight:850;line-height:1.45;overflow-wrap:anywhere}.long-challenge-window-heatmap-board{width:min(100%,720px)}.long-challenge-window-heatmap-months{grid-template-columns:repeat(4,minmax(0,1fr))}.v2cc-root .myc-long-heatmap .long-challenge-window-heatmap-head{display:none}.year-heatmap-inspector.tone-waiting{border-color:#d9e2edeb;background:#f8fbfd}.year-heatmap-inspector.tone-waiting .year-heatmap-inspector-status,.year-heatmap-inspector.tone-waiting .year-heatmap-inspector-duration{color:#7f8c9c}.year-heatmap-cell.waiting-sync{border-color:#dce8f2;background:linear-gradient(135deg,rgba(255,255,255,.38) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.38) 75%,transparent 75%),#f3f8fc;background-size:8px 8px}.long-challenge-progress-card{display:grid;gap:16px}.challenge-rules-text{min-width:0;padding:0 22px 10px}.challenge-rules-text ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.challenge-rules-text li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;min-width:0;align-items:start}.challenge-rules-text span{color:#7f8c9d;font-size:13px;font-weight:750;line-height:1.55}.challenge-rules-text p{margin:0;color:#7f8c9d;font-size:13px;font-weight:750;line-height:1.55;overflow-wrap:anywhere}.participant-avatar-card{display:grid;gap:2px}.participant-avatar-groups{display:grid;gap:20px}.participant-avatar-group{display:grid;gap:12px;min-width:0}.participant-avatar-group+.participant-avatar-group{padding-top:18px;border-top:1px solid rgba(225,234,243,.82)}.participant-avatar-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.participant-avatar-group-head h3{min-width:0;margin:0;color:var(--text);font-size:19px;font-weight:950;line-height:1.18;overflow-wrap:anywhere}.participant-avatar-group-head span{flex:0 0 auto;border-radius:999px;padding:4px 10px;color:var(--muted);background:#eef2f6;font-size:13px;font-weight:900;line-height:1.2}.participant-avatar-wall{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.participant-avatar-button,.participant-avatar-static{display:inline-grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;padding:0;background:transparent}.participant-avatar-button{cursor:pointer}.participant-avatar-button:focus-visible{outline:3px solid rgba(58,139,214,.28);outline-offset:3px}.decorated-avatar.participant-wall-avatar,.decorated-avatar.participant-wall-avatar .member-avatar{width:44px;height:44px}.decorated-avatar.participant-wall-avatar .member-avatar{border:2px solid #ffffff;font-size:16px;box-shadow:0 5px 14px #30405824}.participant-avatar-button:hover .member-avatar{transform:translateY(-1px);box-shadow:0 9px 20px #3040582e}.participant-avatar-empty{color:var(--muted);font-size:13px;font-weight:850}.participant-avatar-group-toggle{justify-self:start;border:0;border-radius:0;padding:2px 0;color:var(--blue-700);background:transparent;font-size:13px;font-weight:900;line-height:1.3;cursor:pointer}.participant-avatar-group-toggle:focus-visible{outline:3px solid rgba(58,139,214,.22);outline-offset:3px}.join-panel,.me-panel,.leaderboard-card,.contract-panel,.profile-card,.locked-panel{padding:28px}.join-panel,.me-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.me-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.my-progress-fallback{cursor:default}.my-progress-note{grid-column:1 / -1;margin:-2px 0 0;color:var(--muted);font-size:12px;font-weight:850}.auth-status{display:inline-flex;align-items:center;min-height:44px;max-width:min(260px,100%);gap:10px;border:1px solid #d9efe0;border-radius:999px;padding:5px 13px 5px 6px;background:#f2fbf4;color:#247a38;font-weight:900}.auth-status img,.auth-status span{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%}.auth-status img{object-fit:cover}.auth-status span{background:#1aad19;color:#fff;font-size:13px}.auth-status strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.contract-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center;margin-bottom:18px}.contract-main h2{margin:8px 0 0;font-size:clamp(24px,4vw,34px);line-height:1.12;font-weight:800;letter-spacing:0}.contract-main p{max-width:720px;margin:10px 0 0;color:var(--muted);font-size:15px;font-weight:750;line-height:1.6}.contract-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.contract-more-actions{margin-top:0}.link-button,.center-link{display:inline-flex;align-items:center;justify-content:center}.contract-status-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.contract-status-card{position:relative;min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}.contract-status-card:not(.contract-target-card){min-height:142px}.neican-registration-panel .contract-status-card:not(.contract-target-card){padding-right:92px}.period-status-badge{position:absolute;top:16px;right:16px;border-radius:999px;padding:7px 10px;color:#0c6792;background:#dff4ff;font-size:12px;line-height:1.2;font-weight:900}.period-status-badge.is-success{color:#1c6d4d;background:#e1f7eb}.period-status-badge.is-failed{color:#a43c3c;background:#ffe4e4}.period-status-badge.is-cancelled{color:#6b7280;background:#eef2f7}.period-status-badge.is-empty,.period-status-badge.is-locked{color:#806018;background:#fff1c9}.contract-status-panel span,.contract-status-panel strong,.contract-status-panel small{display:block}.contract-status-panel span{color:var(--muted);font-size:13px;font-weight:900}.contract-status-panel strong{margin-top:10px;font-size:clamp(24px,6vw,30px);line-height:1.15;font-weight:900;overflow-wrap:anywhere}.contract-status-panel small{margin-top:10px;color:var(--muted);font-weight:750;line-height:1.45}.neican-registration-card-meta{font-size:13px;overflow-wrap:anywhere}.lottery-hero,.lottery-prize-card{border:1px solid rgba(229,235,242,.92);border-radius:20px;background:#ffffffe6;box-shadow:var(--shadow)}.lottery-hero{padding:28px;margin-bottom:18px}.lottery-hero h1{margin:8px 0 0;font-size:clamp(32px,6vw,52px);line-height:1.05;letter-spacing:0}.lottery-hero p{max-width:760px;margin:12px 0 0;color:var(--muted);font-weight:750;line-height:1.7}.lottery-tabs-card,.lottery-tab-panel{margin-bottom:18px}.lottery-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border:1px solid var(--line);border-radius:16px;padding:4px;background:var(--panel-soft)}.lottery-tab{min-width:0;min-height:42px;overflow:hidden;border:0;border-radius:12px;padding:0 8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.lottery-tab.active{background:#fff;color:#1d8bd0;box-shadow:0 5px 14px #30405814}.lottery-tab:focus-visible{outline:3px solid rgba(53,170,244,.28);outline-offset:3px}.lottery-weekly-board{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:18px}.lottery-weekly-card{display:grid;align-content:start;gap:16px;min-height:248px;padding:22px;border:1px solid rgba(229,235,242,.92);border-radius:20px;background:#ffffffe6;box-shadow:var(--shadow)}.lottery-weekly-card.featured{background:linear-gradient(180deg,#fffffff5,#f0fafff2),#fff}.lottery-weekly-card.has-reveal{overflow:hidden;position:relative}.lottery-weekly-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.lottery-weekly-head h2{margin:7px 0 0;font-size:clamp(28px,5vw,40px);line-height:1.05;letter-spacing:0}.lottery-weekly-card p{margin:0;color:var(--muted);font-weight:850;line-height:1.55}.lottery-weekly-card p strong{color:var(--text)}.lottery-status-pill{flex:0 0 auto;min-height:34px;padding:8px 12px;border:1px solid rgba(53,170,244,.24);border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:900;white-space:nowrap}.lottery-status-pill.done{border-color:#f2c56b66;background:#fff8e5eb;color:#b5801d}.lottery-flip-scene{position:relative;width:100%;perspective:1100px}.lottery-flip-scene-weekly{min-height:250px}.lottery-flip-scene-result{min-height:292px}.lottery-flip-card{position:relative;display:block;width:100%;min-height:inherit;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.78,.18,1)}.lottery-flip-card.is-revealed{cursor:default;transform:rotateY(180deg)}.lottery-flip-card:focus-visible{outline:3px solid rgba(53,170,244,.34);outline-offset:4px;border-radius:18px}.lottery-flip-face{position:absolute;inset:0;display:grid;align-content:center;gap:8px;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:18px;background:#ffffffdb;box-shadow:0 16px 34px #35aaf41a;backface-visibility:hidden}.lottery-flip-back{border-color:#f2c56b85;background:radial-gradient(circle at top right,#fff6daf5,#fff0 48%),linear-gradient(135deg,#fffaecfa,#e8f7fffa)}.lottery-flip-front{transform:rotateY(180deg)}.lottery-flip-back strong,.lottery-flip-front strong{color:var(--text);font-size:clamp(22px,4.6vw,34px);line-height:1.08}.lottery-flip-back small,.lottery-flip-front small{color:var(--muted);font-size:13px;font-weight:850;line-height:1.45}.lottery-featured-winners{display:grid;gap:10px;min-height:0;padding:0;border:0;background:transparent}.lottery-featured-winner{display:flex;align-items:center;min-width:0;gap:10px;font-size:17px;font-weight:900;opacity:1;transform:none;animation:none}.lottery-featured-winner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lottery-pending-note{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.lottery-pending-note strong{font-size:19px;line-height:1.25}.lottery-pending-note span{color:var(--muted);font-size:14px;font-weight:800;line-height:1.5}.lottery-prize-grid,.lottery-results,.lottery-rules{margin-bottom:18px}.lottery-prize-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.lottery-active-prize-grid{grid-template-columns:minmax(0,1fr)}.lottery-prize-card{display:grid;align-content:start;overflow:hidden;min-height:172px}.lottery-active-prize-grid .lottery-prize-card{align-content:stretch}.lottery-prize-card img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#eef2f7}.lottery-prize-card div{padding:18px}@media(min-width:720px){.lottery-active-prize-grid .lottery-prize-card.has-image{grid-template-columns:minmax(240px,.46fr) minmax(0,1fr)}.lottery-active-prize-grid .lottery-prize-card img{height:100%;min-height:210px;aspect-ratio:auto}.lottery-active-prize-grid .lottery-prize-card div{display:grid;align-content:center}}.lottery-prize-card:not(.has-image) div{display:grid;align-content:center;min-height:170px}.lottery-prize-card span,.lottery-prize-card small,.lottery-result-row small,.lottery-result-row .section-label,.admin-lottery-result span,.admin-lottery-result small{color:var(--muted);font-size:13px;font-weight:850}.lottery-prize-card strong{display:block;margin:8px 0;font-size:22px;line-height:1.2}@media(prefers-reduced-motion:reduce){.lottery-flip-card,.lottery-flip-card.is-revealed,.lottery-flip-front{transition:none;transform:none}.lottery-flip-card.is-revealed .lottery-flip-back{display:none}}.lottery-result-list{display:grid;gap:12px}.lottery-result-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}.lottery-result-row.is-flippable{display:block;min-height:292px;padding:0;border:0;background:transparent}.lottery-result-row strong{display:block;margin:7px 0;font-size:18px;line-height:1.25}.lottery-result-row .lottery-flip-back strong,.lottery-result-row .lottery-flip-front strong{font-size:clamp(20px,4vw,26px);line-height:1.1}.lottery-winner,.admin-lottery-result{display:flex;align-items:center;gap:10px}.lottery-winner{flex:0 0 auto;font-weight:900}.lottery-winners{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-lottery-result{align-items:flex-start;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}.admin-lottery-result strong{font-size:18px;line-height:1.25}.admin-lottery-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-lottery-overview-card{display:grid;gap:12px;min-width:0;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.admin-lottery-overview-card.featured{grid-column:1 / -1;background:linear-gradient(135deg,#fffaf0,#fff)}.admin-lottery-overview-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-lottery-overview-card h3{margin:4px 0 0;font-size:20px;line-height:1.2}.admin-lottery-overview-card header>strong{flex:0 0 auto;border-radius:999px;padding:6px 10px;background:#fff3d1;color:#8a6410;font-size:12px;font-weight:950}.admin-lottery-overview-card p{margin:0}.admin-lottery-overview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-lottery-overview-metrics span{display:grid;gap:3px;border:1px solid var(--line);border-radius:13px;padding:10px;background:var(--panel-soft);color:var(--muted);font-size:12px;font-weight:850}.admin-lottery-overview-metrics strong{color:var(--text);font-size:22px;line-height:1}.admin-lottery-records{display:grid;gap:12px;margin-top:16px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.admin-lottery-records>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-lottery-records h3{margin:4px 0 0;font-size:20px;line-height:1.2}.admin-lottery-records>header>strong{flex:0 0 auto;color:var(--muted);font-size:13px;font-weight:950}.admin-lottery-record-list{display:grid;gap:8px}.admin-lottery-record-row{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(260px,1.5fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--panel-soft)}.admin-lottery-record-row>div{display:grid;min-width:0;gap:4px}.admin-lottery-record-row strong,.admin-lottery-record-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-lottery-record-row strong{font-size:15px;font-weight:950}.admin-lottery-record-row small{min-width:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.admin-lottery-record-winners span{color:var(--text);font-size:14px;font-weight:950}.admin-lottery-record-row em{border-radius:999px;padding:6px 10px;background:#fff3d1;color:#8a6410;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap}.admin-lottery-winner-slots{display:grid;width:100%;gap:8px;margin-top:6px}.admin-lottery-winner-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px dashed var(--line);border-radius:13px;background:#fff}.admin-lottery-winner-slot.filled{border-style:solid}.admin-lottery-winner-card{display:grid;min-width:0;gap:8px}.admin-identity-toggle{display:inline-flex;align-items:center;justify-content:space-between;width:fit-content;min-width:132px;gap:12px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;color:var(--muted);cursor:pointer;font:inherit;font-size:12px;font-weight:900;line-height:1}.admin-identity-toggle strong{color:var(--blue);font-size:12px;font-weight:950}.admin-identity-toggle:hover,.admin-identity-toggle[aria-expanded=true]{border-color:#20a2eb47;background:#f3faff;color:var(--text)}.admin-lottery-empty-slot strong{display:block;font-size:14px}.admin-lottery-empty-slot small{display:block;margin-top:4px}.admin-identity.compact .admin-identity-fields{gap:5px}.admin-identity.compact .admin-identity-field code{max-width:120px}.join-panel h2,.me-panel h2,.leaderboard-card h2,.profile-card h2,.locked-panel h2{margin:8px 0 0;font-size:clamp(26px,4vw,40px);line-height:1.08;letter-spacing:0}.join-panel p,.me-panel p,.locked-panel p{max-width:760px;margin:12px 0 0;color:var(--muted);font-weight:700;line-height:1.7}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-head.compact{margin-bottom:18px}.section-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-height:36px}.weekly-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.weekly-card-head.has-switcher{align-items:center}.weekly-card-title{flex:1;min-width:0}.weekly-card-title h2{overflow-wrap:anywhere}.weekly-card-meta{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.35}.follow-list-card{margin-bottom:16px}.follow-list{display:grid;gap:12px}.follow-member-card{display:grid;gap:12px;width:100%;min-width:0;padding:16px;border:1px solid rgba(210,224,238,.88);border-radius:14px;background:#f7fbffcc;color:inherit;text-align:left;cursor:pointer}.follow-member-head{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;min-width:0}.follow-member-avatar .member-avatar{width:46px;height:46px}.follow-member-main{display:grid;gap:5px;min-width:0}.follow-empty{display:grid;gap:6px;min-height:96px;align-content:center;border:1px dashed #cbd9e7;border-radius:14px;padding:18px;background:#f7fbff9e;color:var(--muted)}.follow-empty strong{color:var(--ink);font-size:16px}.follow-empty span{font-size:13px;font-weight:760;line-height:1.5}.weekly-switch-button{display:grid;flex:0 0 42px;place-items:center;width:42px;height:42px;border:1px solid rgba(216,226,238,.92);border-radius:999px;background:#ffffffc2;color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,opacity .16s ease}.weekly-switch-button svg{width:22px;height:22px}.weekly-switch-button:hover{transform:translateY(-1px)}.weekly-switch-button:disabled{cursor:not-allowed;opacity:.38;transform:none}.updated-at{color:var(--muted);font-weight:800;white-space:nowrap}.leaderboard{display:grid;gap:12px}.leaderboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:10px;border:1px solid var(--line);border-radius:16px;padding:4px;background:var(--panel-soft)}.leaderboard-tab{min-width:0;min-height:38px;overflow:hidden;border:0;border-radius:12px;padding:0 8px;background:transparent;color:var(--muted);font-size:13px;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.leaderboard-tab.active{background:#fff;color:#1d8bd0;box-shadow:0 5px 14px #30405814}.leaderboard-range{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:850}.rank-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:center;gap:18px;width:100%;min-height:120px;border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#ffffffc7;text-align:left;cursor:pointer}.rank-row.is-static{cursor:default}.rank-head{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:16px;min-width:0}.rank-identity-rail{display:grid;justify-items:center;align-self:center;width:48px;gap:7px}.rank-badge{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e7f5ff;color:var(--blue);font-size:20px;font-weight:900}.rank-badge.rank-medal{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:26px;font-weight:400}.rank-row.top-rank .rank-badge{background:#fff2d8;color:#9c6d18}.rank-badge.rank-medal-2{background:#edf4fb;color:#687789}.rank-badge.rank-medal-3{background:#fff0df;color:#9a6130}.rank-badge.rank-sloth{background:#edf6ed;color:#657666;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:25px;font-weight:400}.rank-main,.rank-name,.rank-time,.rank-meta{display:block;min-width:0}.rank-info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,max-content);align-items:center;column-gap:10px;row-gap:6px;min-width:0}.rank-info-grid>*{min-width:0}.rank-info-grid.no-contract .rank-time{grid-column:1 / -1}.rank-info-grid.no-contract .rank-contract-cell{display:none}.rank-person-line{display:flex;align-items:center;min-width:0}.rank-person-line .rank-name{flex:1 1 auto}.rank-identity-cell,.rank-contract-cell{display:flex;align-items:center;min-width:0}.rank-info-grid .contract-badge{padding-right:5px;padding-left:5px}.rank-info-grid .identity-badges{gap:4px}.rank-info-grid .identity-badge{padding-right:7px;padding-left:7px}.rank-row.rank-with-books{align-items:start}.rank-weekly-books{display:grid;grid-column:1 / -1;gap:8px;min-width:0;padding-top:2px}.rank-weekly-books-label{color:var(--muted);font-size:12px;font-weight:850}.rank-weekly-book-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.rank-weekly-book{display:flex;align-items:center;min-width:0;min-height:34px;gap:8px;padding:7px 9px;border:1px solid rgba(210,224,238,.88);border-radius:9px;background:#f7fbffdb}.rank-weekly-book-title{min-width:0;overflow:hidden;color:var(--ink);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.rank-weekly-book-time{flex:0 0 auto;color:var(--blue);font-size:12px;font-weight:850}.rank-weekly-books-empty,.follow-sync-empty{color:var(--muted);font-size:13px;font-weight:760}.rank-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.decorated-avatar{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;overflow:visible}.decorated-avatar.rank-rail-avatar{width:44px;height:44px}.member-avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;overflow:hidden;border-radius:50%;background:#e7f5ff;color:var(--blue);font-size:13px;font-weight:900;object-fit:cover}.decorated-avatar.rank-rail-avatar .member-avatar{width:44px;height:44px;font-size:16px;box-shadow:0 6px 16px #35aaf433}.decorated-avatar.profile-avatar{width:var(--profile-hero-avatar-size, 88px);height:var(--profile-hero-avatar-size, 88px)}.decorated-avatar.profile-avatar .member-avatar{width:var(--profile-hero-avatar-size, 88px);height:var(--profile-hero-avatar-size, 88px);border-radius:50%;font-size:var(--profile-hero-avatar-font-size, 36px);font-weight:900;box-shadow:0 12px 32px #35aaf452}.avatar-ornaments{position:absolute;inset:0;pointer-events:none}.avatar-identity-ear{position:absolute;top:-4px;width:max(9px,30%);height:max(9px,30%);border-radius:999px;background:#ffffffeb;box-shadow:0 2px 7px #16223329;overflow:hidden;display:grid;place-items:center}.avatar-identity-ear img{width:100%;height:100%;display:block;object-fit:cover}.avatar-identity-ear.left{left:-1px;transform:translate(-18%,-8%) rotate(-8deg)}.avatar-identity-ear.right{right:-1px;transform:translate(18%,-8%) rotate(8deg)}.avatar-identity-ear.super-vip img{object-fit:contain;padding:7%}.decorated-avatar.profile-avatar .avatar-identity-ear{top:-10px;width:18px;height:18px}.decorated-avatar.profile-avatar .avatar-identity-ear.left{left:12px;transform:translate(-16%,-10%) rotate(-6deg)}.decorated-avatar.profile-avatar .avatar-identity-ear.right{right:12px;transform:translate(16%,-10%) rotate(6deg)}@media(min-width:768px){.decorated-avatar.profile-avatar .avatar-identity-ear{width:20px;height:20px}}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:900}.rank-title-line .rank-name{flex:1 1 12ch;min-width:0}.rank-title-line .identity-badges,.rank-title-line .participant-state{flex:0 0 auto}.identity-badges{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:100%}.identity-badge{display:inline-flex;align-items:center;min-height:26px;max-width:100%;border-radius:999px;padding:5px 9px;font-size:12px;line-height:1.15;font-weight:900;overflow-wrap:anywhere}.identity-badge.gold{color:#875a08;background:#fff1c4;box-shadow:inset 0 0 0 1px #daa02c38}.identity-badge.blue{color:#0c6792;background:#dff4ff}.identity-badge.green{color:#1c6d4d;background:#e1f7eb}.identity-badge.neutral{color:#5b6775;background:#eef2f7}.contract-badge,.participant-state{display:inline-flex;align-items:center;min-height:28px;max-width:100%;border-radius:999px;padding:5px 10px;font-size:12px;line-height:1.2;font-weight:900;color:#1c6d4d;background:#e1f7eb;overflow-wrap:anywhere}.contract-badge.pending,.participant-state.pending{color:#806018;background:#fff1c9}.participant-state.active{color:#0c6792;background:#dff4ff}.participant-state.success{color:#1c6d4d;background:#e1f7eb}.participant-state.failed{color:#a43c3c;background:#ffe4e4}.rank-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:25px;font-weight:900}.rank-meta{margin-top:8px;color:var(--muted);font-weight:800}.rank-row .week-bars{align-self:stretch;min-height:74px;padding-top:5px}.rank-row .week-bars.compact{gap:10px}.rank-row .week-bars.compact .day{gap:7px}.rank-row .week-bars.compact .bar{width:min(100%,38px);min-width:18px;border-radius:12px 12px 5px 5px}.rank-row .week-bars.compact .bar.is-zero{width:min(58%,28px);min-width:14px;border-radius:999px;background:#cbd4df;opacity:.82}.week-bars{display:grid;grid-template-columns:repeat(7,minmax(20px,1fr));align-items:end;gap:9px;min-width:0}.week-bars.large{min-height:146px;padding:10px 0 2px}.week-bars.large.show-values{min-height:166px}.day{display:grid;justify-items:center;align-items:end;gap:8px;min-width:0}.day-value{max-width:100%;min-height:22px;color:#7d8b9b;font-size:10px;font-weight:900;line-height:1.05;text-align:center;overflow-wrap:anywhere}.bar{width:min(100%,44px);min-width:20px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#39a8f5,#4fd0e5)}.bar.is-zero{background:#cfd7e2}.day-label{color:#b8c1ce;font-size:13px;font-weight:900}.profile-shell{width:min(100%,920px)}.page-shell-wide{width:min(100%,1120px)}.profile-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--profile-hero-gap, 18px);padding:var(--profile-hero-padding, 28px);margin-bottom:16px}.profile-identity{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:var(--profile-hero-identity-gap, 18px)}.avatar{width:88px;height:88px;border-radius:50%;font-size:36px;font-weight:900}.profile-title{flex:1;min-width:0}.profile-title h1{overflow-wrap:anywhere}.profile-title .identity-badges{margin-top:10px}.profile-social-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:var(--profile-hero-social-gap, 12px);min-width:var(--profile-hero-social-min-width, min(260px, 100%));flex-wrap:wrap}.profile-social-counts{display:inline-grid;grid-template-columns:repeat(2,minmax(var(--profile-hero-social-column-min, 76px),1fr));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f7fbffdb}.profile-social-counts button{display:grid;gap:2px;min-height:var(--profile-hero-social-button-height, 54px);padding:var(--profile-hero-social-button-padding, 8px 13px);border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);text-align:center;cursor:pointer}.profile-social-counts button:last-child{border-right:0}.profile-social-counts strong,.profile-social-counts span{display:block}.profile-social-counts strong{font-size:18px;line-height:1.1}.profile-social-counts span{color:var(--muted);font-size:12px;font-weight:850}@media(min-width:621px){.primary-mine-profile-hero{--profile-hero-avatar-font-size: 30px;--profile-hero-avatar-size: 72px;--profile-hero-gap: 16px;--profile-hero-identity-gap: 14px;--profile-hero-padding: 24px;--profile-hero-social-button-height: 50px;--profile-hero-social-button-padding: 7px 10px;--profile-hero-social-column-min: 64px;--profile-hero-social-gap: 8px;--profile-hero-social-min-width: min(184px, 100%);--profile-hero-title-size: clamp(32px, 4vw, 40px)}}.follow-action{min-width:96px}.follow-action.active{border-color:#b9d8f4;background:#eef7ff;color:var(--blue)}.profile-follow-error{margin:-4px 0 14px}.profile-detox-card{display:grid;gap:14px;margin-bottom:16px;border:1px solid rgba(229,235,242,.92);border-radius:18px;padding:18px;background:#ffffffe0;box-shadow:0 12px 34px #0f172a0d}.profile-detox-card.has-deduction{border-color:#c63f3f29;background:linear-gradient(180deg,#fffbfbf0,#ffffffe6)}.profile-detox-header,.profile-detox-book{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.profile-detox-header h3{margin:0;color:var(--text);font-size:18px;line-height:1.2;font-weight:900}.profile-detox-header p{margin:6px 0 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.55}.profile-detox-header>strong{flex:0 0 auto;color:#c63f3f;font-size:22px;line-height:1.1;font-weight:950}.profile-detox-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-detox-metrics div{min-width:0;border:1px solid rgba(229,235,242,.95);border-radius:12px;padding:11px 12px;background:#f8fbfdd1}.profile-detox-metrics span,.profile-detox-book span,.profile-detox-book small{display:block;color:var(--muted);font-size:12px;font-weight:850;line-height:1.4}.profile-detox-metrics strong{display:block;margin-top:5px;color:var(--text);font-size:18px;line-height:1.1;font-weight:950}.profile-detox-book-list{display:grid;gap:10px}.profile-detox-book{flex-wrap:wrap;border:1px solid rgba(229,235,242,.95);border-radius:14px;padding:12px;background:#fff}.profile-detox-book>div:first-child{min-width:0}.profile-detox-book strong{display:block;color:var(--text);font-size:15px;line-height:1.25;font-weight:900;overflow-wrap:anywhere}.profile-detox-book span{margin-top:5px}.profile-detox-book small{width:fit-content;margin-top:7px;border-radius:999px;padding:4px 8px;background:#35aaf41a;color:var(--blue);font-size:11px;font-weight:900}.profile-detox-dispute-form{display:grid;flex:1 1 100%;gap:10px;min-width:0}.profile-detox-dispute-form textarea{min-height:72px;resize:vertical}.profile-detox-form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.profile-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.profile-stats article{padding:18px;box-shadow:none}.profile-stats strong,.profile-stats span{display:block}.profile-stats strong{font-size:23px;line-height:1.1;font-weight:900;overflow-wrap:anywhere}.profile-stats span{margin-top:8px;color:var(--muted);font-size:13px;font-weight:900}.contract-period-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:30px;border:1px solid rgba(229,235,242,.92);border-radius:22px;background:#ffffffe6;box-shadow:var(--shadow)}.contract-period-hero h1{margin:8px 0 0;font-size:clamp(30px,6vw,48px);line-height:1.08;letter-spacing:0}.contract-period-hero p{margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.55;font-weight:750}.issue-timeline-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:18px;padding:20px;border:1px solid rgba(229,235,242,.92);border-radius:14px;background:#ffffffeb;box-shadow:0 12px 34px #30405814}.issue-timeline-hero h1{margin:6px 0 0;font-size:clamp(28px,5vw,42px);line-height:1.08;letter-spacing:0}.issue-timeline-hero p{max-width:720px;margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.55;font-weight:750}.issue-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:8px;min-width:min(100%,360px)}.issue-summary-strip span{display:grid;gap:2px;min-width:0;padding:10px 12px;border-radius:10px;background:var(--panel-soft);text-align:center}.issue-summary-strip strong{color:var(--text);font-size:22px;line-height:1;font-weight:950}.issue-summary-strip small{color:var(--muted);font-size:12px;line-height:1.2;font-weight:850}.issue-login-strip{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--muted);font-size:13px;line-height:1.35;font-weight:850}.issue-timeline{display:grid;gap:18px;max-width:860px;margin:0 auto}.issue-timeline-group{display:grid;gap:10px}.issue-timeline-group h2{margin:0;color:var(--muted);font-size:13px;line-height:1.2;font-weight:950}.issue-timeline-list{--issue-timeline-gutter: 42px;--issue-timeline-center: 14px;--issue-timeline-card-border: 1px;position:relative;display:grid;gap:10px;padding-left:var(--issue-timeline-gutter)}.issue-timeline-list:before{position:absolute;top:12px;bottom:12px;left:calc(var(--issue-timeline-center) - 1px);width:2px;border-radius:999px;background:#5ba6ef38;content:""}.issue-timeline-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:center;gap:12px;min-width:0;border:var(--issue-timeline-card-border) solid rgba(229,235,242,.92);border-radius:12px;padding:14px 16px;background:#ffffffe6;box-shadow:0 10px 28px #30405812;color:var(--text);text-align:left}.issue-timeline-item:hover{transform:translateY(-1px)}.issue-timeline-marker{position:absolute;top:50%;left:calc(var(--issue-timeline-center) - var(--issue-timeline-gutter) - var(--issue-timeline-card-border));transform:translate(-50%,-50%);z-index:1;width:12px;height:12px;border:3px solid #fff;border-radius:999px;background:var(--blue);box-shadow:0 0 0 2px #5ba6ef47}.issue-timeline-item.upcoming .issue-timeline-marker{background:#f0b84f;box-shadow:0 0 0 2px #f0b84f3d}.issue-timeline-item.ended .issue-timeline-marker{background:#aeb8c5;box-shadow:0 0 0 2px #aeb8c538}.issue-timeline-main,.issue-timeline-status,.issue-timeline-topline{min-width:0}.issue-timeline-main{display:grid;gap:7px}.issue-timeline-topline{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.issue-timeline-code{color:var(--blue);font-size:14px;line-height:1.2;font-weight:950}.issue-timeline-main strong{font-size:23px;line-height:1.12;font-weight:950;overflow-wrap:anywhere}.issue-timeline-main small,.issue-timeline-status small{color:var(--muted);font-size:12px;line-height:1.35;font-weight:850}.issue-timeline-status{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px}.issue-timeline-status small{flex-basis:100%;text-align:right}.issue-timeline-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:0}.issue-phase-pill,.issue-status-pill,.issue-contract-pill{display:inline-flex;align-items:center;min-height:26px;max-width:100%;border-radius:999px;padding:5px 9px;font-size:12px;line-height:1.2;font-weight:950;overflow-wrap:anywhere}.issue-phase-pill.current,.issue-status-pill.in_progress,.issue-contract-pill.active{color:#0c6792;background:#dff4ff}.issue-phase-pill.upcoming,.issue-status-pill.upcoming,.issue-status-pill.no_record,.issue-contract-pill.pending{color:#806018;background:#fff1c9}.issue-phase-pill.ended,.issue-contract-pill.none,.issue-contract-pill.cancelled{color:#5b6775;background:#eef2f7}.issue-status-pill.target_met,.issue-contract-pill.success{color:#1c6d4d;background:#e1f7eb}.issue-status-pill.target_missed,.issue-contract-pill.failed{color:#a43c3c;background:#ffe4e4}.contract-period-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.contract-period-actions .form-message{flex-basis:100%;text-align:right}.period-join-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;min-width:0;margin-top:14px}.contract-period-hero .period-join-actions,.issue-hero .period-join-actions{justify-content:flex-end;margin-top:0}.info-card-action .period-join-actions{margin-top:0}.period-join-actions .primary-button,.period-join-actions .secondary-button{min-height:38px;padding:0 15px;font-size:14px;white-space:nowrap}.period-join-actions.compact .primary-button,.period-join-actions.compact .secondary-button{min-height:34px;padding:0 12px;font-size:13px}.issue-adjacent-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 18px;padding:4px 2px 10px}.issue-adjacent-nav strong{display:block;margin-top:4px;font-size:15px;line-height:1.35}.issue-adjacent-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.issue-adjacent-button{min-width:0;border:1px solid rgba(216,226,238,.92);border-radius:999px;padding:10px 14px;background:#ffffffb8;color:var(--text);font-size:14px;font-weight:900;cursor:pointer}.issue-report-entry,.issue-report-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:22px;border:1px solid rgba(204,226,245,.92);border-radius:18px;background:linear-gradient(135deg,#fffffff5,#eef8ffeb);box-shadow:0 14px 42px #356fa81a}.issue-report-hero{padding:30px}.timezone-scope-note{margin:2px 4px 0;color:var(--muted);font-size:12px;font-weight:780;line-height:1.5;text-align:center}.issue-report-entry.is-pending{align-items:flex-start;background:#ffffffe6}.issue-report-entry h2,.issue-report-hero h1{margin:8px 0 0;letter-spacing:0}.issue-report-entry h2{font-size:22px;line-height:1.2}.issue-report-hero h1{font-size:clamp(32px,6vw,52px);line-height:1.05}.issue-report-entry p,.issue-report-hero p{max-width:780px;margin:12px 0 0;color:var(--muted);font-size:15px;font-weight:760;line-height:1.7}.issue-report-entry .primary-button,.issue-report-hero .secondary-button{flex:0 0 auto}.issue-report-stats,.issue-report-insights{margin-bottom:16px}.issue-report-insights{grid-template-columns:repeat(3,minmax(0,1fr))}.issue-report-insights .long-card{grid-column:span 3}.issue-report-champion-card,.issue-report-champion-card .info-card-copy{justify-items:start;text-align:left}.issue-report-chart{margin-bottom:16px}.report-top-row .rank-head{align-items:center}.my-issue-reading-card{margin-bottom:16px}.my-issue-reading-card .rank-row{margin-top:12px}.my-issue-reading-empty{display:grid;justify-items:start;gap:14px;margin-top:12px;text-align:left}.my-issue-reading-empty p{max-width:720px;margin:0;color:var(--muted);font-size:15px;font-weight:760;line-height:1.65}.challenge-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.challenge-stats article{min-width:0;padding:18px;border:1px solid rgba(229,235,242,.92);border-radius:16px;background:#ffffffe0;box-shadow:0 12px 38px #30405814}.challenge-stats strong,.challenge-stats span{display:block}.challenge-stats strong{font-size:30px;line-height:1.1;font-weight:900}.challenge-stats span{margin-top:8px;color:var(--muted);font-size:13px;font-weight:900}.participants-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:22px;border:1px solid rgba(224,232,242,.94);border-radius:18px;background:linear-gradient(135deg,#fffffff5,#e8f7ff9e),#fff;box-shadow:0 8px 22px #3040580f}.participants-hero-copy h1{margin:8px 0 0;font-size:clamp(34px,8vw,54px);line-height:1;font-weight:900;letter-spacing:0}.participants-hero-copy p{max-width:620px;margin:10px 0 0;color:var(--muted);font-size:15px;font-weight:800;line-height:1.6}.participants-issue-switch,.participants-filter-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.participants-issue-switch button,.participants-filter-tabs button{border:1px solid rgba(214,223,235,.98);border-radius:999px;padding:8px 12px;background:#ffffffd1;color:#7b8798;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.participants-issue-switch button.active,.participants-filter-tabs button.active{border-color:#35aaf46b;background:var(--blue-soft);color:#168fd0}.participants-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.participants-stats-grid .info-card{min-height:118px}.participants-funnel-card,.participants-contract-card,.participants-list-card{margin-bottom:0}.participants-funnel{display:grid;gap:12px}.participants-funnel-step{display:grid;grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);align-items:center;gap:14px}.participants-funnel-copy span,.participants-funnel-copy strong{display:block}.participants-funnel-copy span{color:var(--muted);font-size:12px;font-weight:900}.participants-funnel-copy strong{margin-top:4px;font-size:22px;line-height:1;font-weight:900}.participants-funnel-track,.participants-bar-track{overflow:hidden;border-radius:999px;background:#e8edf4}.participants-funnel-track{height:18px}.participants-funnel-track span,.participants-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2))}.participants-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.participants-bar-list{display:grid;gap:12px}.participants-bar-row{display:grid;grid-template-columns:78px minmax(0,1fr) 52px;align-items:center;gap:10px}.participants-bar-row span,.participants-bar-row strong{color:#7d8b9b;font-size:12px;font-weight:900}.participants-bar-row strong{color:var(--text);text-align:right}.participants-bar-track{height:12px}.participants-daily-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;min-height:168px;gap:8px}.participants-daily-item{display:grid;justify-items:center;align-items:end;gap:7px;min-width:0}.participants-daily-item strong{color:#7d8b9b;font-size:11px;font-weight:900;line-height:1}.participants-daily-item i{display:block;width:min(100%,34px);min-width:10px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--blue),var(--blue-2))}.participants-daily-item small{color:#a3afbf;font-size:12px;font-weight:900}.participants-contract-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.participants-contract-comparison article{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafcdb}.participants-contract-comparison span,.participants-contract-comparison strong,.participants-contract-comparison p{display:block}.participants-contract-comparison span{color:var(--muted);font-size:12px;font-weight:900}.participants-contract-comparison strong{margin-top:8px;font-size:32px;line-height:1;font-weight:900}.participants-contract-comparison p{margin:10px 0 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.45}.participants-contract-comparison .progress-track{margin-top:14px}.participants-filter-tabs{justify-content:flex-start;margin:14px 0}.participants-filter-tabs button{display:inline-flex;align-items:center;gap:6px}.participants-filter-tabs strong{font-size:12px}.participants-member-list{display:grid;gap:10px}.participant-analysis-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(128px,.28fr);align-items:center;gap:16px;width:100%;min-height:92px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#ffffffb8;color:inherit;font:inherit;text-align:left;cursor:pointer}.participant-analysis-row:hover{border-color:#35aaf452;background:#fffffff5}.participant-analysis-main,.participant-analysis-side{display:block;min-width:0}.participant-analysis-meta{display:block;margin-top:7px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.45}.participant-analysis-side{text-align:right}.participant-analysis-side span,.participant-analysis-side small{display:block}.participant-analysis-side span{color:var(--text);font-size:13px;font-weight:900}.participant-analysis-side small{margin-top:6px;color:var(--muted);font-size:11px;font-weight:800;line-height:1.35}.participants-privacy-note{margin:14px 0 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.6}.legal-card{display:grid;gap:18px}.legal-card p{margin:0;color:var(--muted);font-weight:750;line-height:1.8}.legal-actions{display:flex;flex-wrap:wrap;gap:10px}.contract-rules ul{margin:0;padding-left:22px;color:var(--muted);font-weight:750;line-height:1.8}.contract-participants{display:grid;gap:12px}.participant-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(140px,.36fr);align-items:center;gap:18px;width:100%;min-height:120px;border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#ffffffb8;text-align:left;cursor:pointer}.participant-main{display:block;min-width:0}.participant-progress{display:block;height:12px;min-width:0;overflow:hidden;border-radius:999px;background:#e8edf4}.participant-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2))}.claim-guide-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;padding:30px;border:1px solid rgba(229,235,242,.92);border-radius:22px;background:#ffffffe6;box-shadow:var(--shadow)}.claim-guide-hero h1{margin:8px 0 0;max-width:720px;font-size:clamp(38px,6vw,64px);line-height:1.02;letter-spacing:0}.claim-guide-hero p{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:20px;line-height:1.6;font-weight:800}.pool-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(260px,.9fr);gap:12px;margin-bottom:16px}.pool-grid article{min-width:0;padding:22px;border:1px solid rgba(229,235,242,.92);border-radius:18px;background:#ffffffe0;box-shadow:0 12px 38px #30405814}.pool-grid span,.pool-grid strong,.pool-grid small{display:block}.pool-grid span{color:var(--muted);font-size:13px;font-weight:900}.pool-grid strong{margin-top:12px;font-size:clamp(34px,5vw,58px);line-height:1.02;font-weight:900;overflow-wrap:anywhere}.pool-grid article:nth-child(3) strong{font-size:clamp(30px,4vw,48px);line-height:1.08}.pool-grid small{margin-top:12px;color:var(--muted);font-weight:780;line-height:1.45}.claim-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.claim-step{position:relative;display:grid;gap:14px;min-width:0;overflow:hidden}.claim-submit-step{align-self:stretch;grid-column:1 / -1}.step-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:900}.claim-step h2{margin:0;font-size:clamp(22px,3.6vw,30px);line-height:1.1;letter-spacing:0}.claim-step p,.claim-guide-notes li,.guide-image-frame figcaption{color:var(--muted);font-weight:760;line-height:1.7}.claim-step p{margin:0}.guide-image-frame{display:grid;gap:10px;min-width:0;margin:2px 0 0}.guide-image-frame img{display:block;width:100%;max-height:560px;border:1px solid var(--line);border-radius:18px;background:#fff;object-fit:contain;box-shadow:0 14px 34px #30405814}.guide-image-frame.compact img{aspect-ratio:1.23}.guide-image-frame.tall img{max-height:620px}.guide-image-frame figcaption{margin:0;font-size:13px}.claim-field-example{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}.claim-field-example span,.claim-field-example strong{min-width:0;font-size:14px;line-height:1.4}.claim-field-example span{color:var(--muted);font-weight:900}.claim-field-example strong{color:var(--text);font-weight:850;overflow-wrap:anywhere}.claim-guide-notes ul{margin:14px 0 0;padding-left:22px}.claim-dialog-help{display:grid;gap:5px;padding:14px;border:1px solid rgba(53,170,244,.22);border-radius:16px;background:var(--blue-soft)}.claim-dialog-help strong,.claim-dialog-help span{display:block}.claim-dialog-help strong{color:var(--text);font-size:14px;font-weight:900}.claim-dialog-help span{color:#66758a;font-size:13px;font-weight:760;line-height:1.5}.profile-card,.locked-panel{margin-bottom:16px;box-shadow:0 12px 38px #30405814}.changelog-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:end;margin-bottom:18px;padding:30px;border:1px solid rgba(229,235,242,.92);border-radius:22px;background:#ffffffe6;box-shadow:var(--shadow)}.changelog-hero,.changelog-principle,.changelog-dashboard,.changelog-dashboard-head,.changelog-dashboard-head>div,.changelog-metric-grid,.changelog-metric,.changelog-dashboard-grid,.changelog-dashboard-card,.changelog-dashboard-card header,.changelog-bar-list,.changelog-bar-row,.changelog-bar-row-label,.changelog-bar-track,.changelog-trend-grid,.changelog-heatmap-card,.changelog-heatmap-grid,.changelog-heatmap-item,.changelog-heatmap-cell,.changelog-heatmap-label,.changelog-timeline,.changelog-entry,.changelog-card,.changelog-card-link,.changelog-card-head,.changelog-card-head>div,.release-toolbar,.release-tags,.changelog-link-label,.changelog-details,.changelog-detail,.changelog-detail-hero,.changelog-detail-meta,.changelog-adjacent,.release-stage,.narrative-block,.release-grid,.release-grid>div{min-width:0}.changelog-hero h1{margin:10px 0 0;font-size:clamp(42px,7vw,72px);line-height:.96;letter-spacing:0}.changelog-hero p{max-width:680px;margin:18px 0 0;color:var(--muted);font-size:17px;font-weight:750;line-height:1.8}.changelog-principle{display:grid;gap:10px;padding:18px;border-radius:18px;background:linear-gradient(180deg,var(--blue-soft),#ffffff);border:1px solid #d7edf9}.changelog-principle span{color:var(--muted);font-size:13px;font-weight:900}.changelog-principle strong{font-size:24px;line-height:1.2;letter-spacing:0}.changelog-dashboard{display:grid;gap:14px;margin-bottom:20px}.changelog-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-inline:30px}.changelog-dashboard-head h2{margin:8px 0 0;font-size:clamp(28px,5vw,46px);line-height:1.04;letter-spacing:0}.changelog-dashboard-head p{max-width:760px;margin:12px 0 0;color:var(--muted);font-size:15px;font-weight:760;line-height:1.7}.changelog-dashboard-head>span{flex:0 0 auto;display:inline-flex;min-height:34px;align-items:center;border:1px solid #d7edf9;border-radius:999px;padding:0 12px;background:var(--blue-soft);color:#1d8bd0;font-size:13px;font-weight:900;white-space:nowrap}.changelog-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.changelog-metric,.changelog-dashboard-card{border:1px solid rgba(224,232,242,.94);border-radius:18px;background:#ffffffdb;box-shadow:0 8px 22px #3040580f}.changelog-metric{display:grid;align-content:start;gap:7px;min-height:132px;padding:16px}.changelog-metric span,.changelog-metric small,.changelog-dashboard-card p,.changelog-bar-row small,.changelog-heatmap-label{color:var(--muted)}.changelog-metric span,.changelog-dashboard-card p,.changelog-bar-row small,.changelog-heatmap-label{font-size:13px;font-weight:850}.changelog-metric strong{color:var(--text);font-size:clamp(34px,6vw,48px);line-height:1;font-weight:900;letter-spacing:0}.changelog-metric small{font-size:12px;font-weight:760;line-height:1.45}.changelog-dashboard-grid,.changelog-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.changelog-dashboard-card{display:grid;align-content:start;gap:16px;padding:18px}.changelog-dashboard-card h3{margin:0;font-size:21px;line-height:1.18;letter-spacing:0}.changelog-dashboard-card p{margin:8px 0 0;line-height:1.55}.changelog-bar-list{display:grid;gap:13px}.changelog-bar-row{display:grid;grid-template-columns:minmax(90px,.42fr) minmax(0,1fr) 42px;align-items:center;gap:10px}.changelog-bar-row-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.changelog-bar-row-label span{color:var(--text);font-size:14px;font-weight:900;line-height:1.25}.changelog-bar-row-label strong{color:var(--muted);font-size:13px;font-weight:900}.changelog-bar-track{height:12px;overflow:hidden;border-radius:999px;background:#e8edf4}.changelog-bar-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2))}.changelog-bar-row.feature .changelog-bar-track span{background:linear-gradient(90deg,#35aaf4,#62d4e9)}.changelog-bar-row.improvement .changelog-bar-track span{background:linear-gradient(90deg,#41b883,#7bdca8)}.changelog-bar-row.fix .changelog-bar-track span{background:linear-gradient(90deg,#f0a43a,#f2c56b)}.changelog-heatmap-card{min-height:260px}.changelog-heatmap-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.changelog-heatmap-grid.is-day{justify-self:center;width:min(100%,390px)}.changelog-heatmap-grid.is-week{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.changelog-heatmap-item{display:grid;gap:6px;min-width:0;text-align:center}.changelog-heatmap-cell{display:grid;place-items:center;width:100%;min-height:42px;aspect-ratio:1 / 1;border:1px solid rgba(210,223,236,.88);border-radius:10px;background:#edf3f8;color:#8d9cac}.changelog-heatmap-card.is-week .changelog-heatmap-cell{min-height:54px}.changelog-heatmap-cell strong{font-size:clamp(14px,2.2vw,18px);line-height:1;font-weight:900}.changelog-heatmap-cell.level-1{border-color:#cfeafa;background:#dff4fc;color:#227fae}.changelog-heatmap-cell.level-2{border-color:#b5e8f7;background:#b9ecf8;color:#166f9f}.changelog-heatmap-cell.level-3{border-color:#80d9ef;background:#6ed6ec;color:#fff}.changelog-heatmap-cell.level-4{border-color:#35aaf4;background:linear-gradient(180deg,#62d4e9,#35aaf4);color:#fff;box-shadow:0 8px 18px #35aaf438}.changelog-heatmap-label{overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.changelog-heatmap-label.is-week{display:grid;gap:2px;line-height:1.12;text-overflow:clip;white-space:normal}.changelog-heatmap-label.is-week span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changelog-heatmap-label.is-week span:first-child{color:var(--text);font-weight:900}.changelog-timeline{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding-left:24px}.changelog-timeline:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;border-radius:999px;background:linear-gradient(180deg,var(--blue),rgba(53,170,244,.05))}.changelog-entry{position:relative;width:100%}.timeline-dot{position:absolute;left:-24px;top:30px;width:16px;height:16px;border:4px solid #e8f7ff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px #35aaf41f}.changelog-entry.expanded .timeline-dot{box-shadow:0 0 0 8px #35aaf429}.changelog-card{display:block;width:100%;padding:24px;border:1px solid rgba(229,235,242,.92);border-radius:22px;background:#ffffffe6;box-shadow:0 12px 38px #30405814}.changelog-card-link{color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.changelog-card-link:hover{transform:translateY(-1px);border-color:#cfeafa;box-shadow:0 16px 44px #3040581f}.changelog-card-link:focus-visible{outline:3px solid rgba(53,170,244,.26);outline-offset:3px}.changelog-card-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.changelog-card time{color:var(--blue);font-size:14px;font-weight:900}.changelog-card h2{margin:8px 0 0;font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:0}.changelog-card-head p{margin:14px 0 0;color:var(--muted);font-size:16px;font-weight:800;line-height:1.7}.release-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.release-tags{display:flex;flex-wrap:wrap;gap:8px}.release-tags span{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--line);border-radius:999px;padding:0 10px;background:var(--panel-soft);color:#677386;font-size:12px;font-weight:900;line-height:1}.release-tags span:first-child{border-color:#cfeafa;background:var(--blue-soft);color:#1d8bd0}.changelog-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #cfeafa;border-radius:999px;padding:0 12px 0 14px;background:#fff;color:#218fd1;font-size:13px;font-weight:900;line-height:1;cursor:pointer;transition:background .16s ease,transform .16s ease,border-color .16s ease}.changelog-toggle:hover{transform:translateY(-1px);background:var(--blue-soft)}.changelog-link-label{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #cfeafa;border-radius:999px;padding:0 12px 0 14px;background:#fff;color:#218fd1;font-size:13px;font-weight:900;line-height:1}.changelog-toggle svg,.changelog-link-label svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;transition:transform .16s ease}.changelog-entry.expanded .changelog-toggle svg{transform:rotate(180deg)}.changelog-details{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.changelog-detail{display:grid;gap:22px}.changelog-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.44fr);gap:22px;align-items:start;padding:30px;border:1px solid rgba(229,235,242,.92);border-radius:22px;background:#ffffffeb;box-shadow:var(--shadow)}.changelog-detail-hero time{display:inline-flex;margin-top:12px;color:var(--blue);font-size:15px;font-weight:900}.changelog-detail-hero h1{max-width:840px;margin:10px 0 0;font-size:clamp(36px,6vw,62px);line-height:1.02;letter-spacing:0}.changelog-detail-hero p{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:17px;font-weight:800;line-height:1.75}.changelog-detail-meta{display:grid;gap:14px;padding:18px;border:1px solid #d7edf9;border-radius:18px;background:linear-gradient(180deg,var(--blue-soft),#ffffff)}.changelog-detail-meta>div:not(.release-tags){display:grid;gap:6px}.changelog-detail-meta span{color:var(--muted);font-size:12px;font-weight:900}.changelog-detail-meta strong{color:var(--text);font-size:17px;line-height:1.35;letter-spacing:0;overflow-wrap:anywhere}.changelog-details.standalone{margin-top:0;padding:26px;border:1px solid rgba(229,235,242,.92);border-radius:22px;background:#ffffffeb;box-shadow:0 12px 38px #30405814}.changelog-adjacent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.changelog-adjacent a,.changelog-adjacent-empty{display:grid;gap:6px;min-height:86px;padding:18px;border:1px solid rgba(229,235,242,.92);border-radius:18px;background:#ffffffe6;color:inherit;text-decoration:none;box-shadow:0 12px 38px #30405814}.changelog-adjacent a:hover{border-color:#cfeafa}.changelog-adjacent a span,.changelog-adjacent-empty{color:var(--muted);font-size:13px;font-weight:900}.changelog-adjacent a strong{color:var(--text);font-size:18px;line-height:1.35;letter-spacing:0}.release-stage{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:16px}.release-stage span{color:var(--muted);font-size:12px;font-weight:900}.release-stage strong{color:var(--text);font-size:17px;line-height:1.35;letter-spacing:0}.narrative-block{display:grid;gap:14px;margin-top:0;padding:0}.narrative-block p{margin:0;color:#4d5b6d;font-size:16px;font-weight:650;line-height:1.9;overflow-wrap:break-word}.release-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}.release-grid>div{padding-top:16px;border-top:1px solid var(--line)}.release-grid h3{margin:0 0 12px;font-size:18px}.release-grid ul{display:grid;gap:10px;margin:0;padding-left:20px}.release-grid li{color:#5b687a;font-weight:750;line-height:1.65;overflow-wrap:anywhere}.report-grid{display:grid;grid-template-columns:1fr;gap:22px}.bar-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(24px,1fr));align-items:end;min-height:154px;gap:8px;padding:14px 0 0}.bar-chart.show-values{min-height:176px}.chart-item{display:grid;justify-items:center;align-items:end;gap:8px;color:#b5bfcd;font-size:12px;font-weight:800}.chart-value{max-width:100%;min-height:18px;color:#7d8b9b;font-size:10px;font-weight:900;line-height:1.05;text-align:center;overflow-wrap:anywhere}.chart-item i{display:block;width:min(100%,34px);min-width:10px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#35aaf4,#58d0e4)}.year-heatmap-card{display:grid;gap:16px}.year-heatmap-head{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px}.year-heatmap-title{min-width:0;text-align:center}.year-heatmap-title h2,.year-heatmap-title p,.year-heatmap-status,.year-heatmap-empty p{overflow-wrap:anywhere}.year-heatmap-title h2{margin:6px 0 0;font-size:30px;line-height:1.08;font-weight:900;letter-spacing:0}.year-heatmap-title p,.year-heatmap-status,.year-heatmap-empty p{color:var(--muted);font-size:13px;font-weight:850;line-height:1.45}.year-heatmap-title p,.year-heatmap-status,.year-heatmap-empty p{margin:8px 0 0}.year-heatmap-status{margin:0;text-align:center}.year-heatmap-status.error{color:#c44b4b}.year-heatmap-progress{height:8px;overflow:hidden;border-radius:999px;background:#e7eef6}.year-heatmap-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2));transition:width .2s ease}.year-heatmap-board{--heatmap-month-gap-row: 18px;--heatmap-month-gap-column: 14px;--heatmap-cell-gap: 5px;display:grid;gap:14px;width:min(100%,560px);margin:0 auto;overflow:visible;padding:4px 0 2px}.year-heatmap-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--heatmap-month-gap-row) var(--heatmap-month-gap-column);min-width:0}.year-heatmap-inspector{display:inline-flex;align-items:center;justify-content:center;justify-self:center;gap:7px;max-width:100%;min-width:0;border:1px solid rgba(156,215,247,.72);border-radius:999px;padding:9px 15px;background:linear-gradient(180deg,#f7fcff,#fff);box-shadow:0 8px 22px #35aaf414;overflow:hidden;white-space:nowrap}.year-heatmap-inspector-date,.year-heatmap-inspector-separator,.year-heatmap-inspector-status{min-width:0;color:var(--muted);font-size:12px;font-weight:900;line-height:1.25}.year-heatmap-inspector-separator{color:#b5c0ce}.year-heatmap-inspector-duration{color:#1d2b3a;font-size:18px;font-weight:950;line-height:1;letter-spacing:0}.year-heatmap-inspector-status{color:#178fd4}.year-heatmap-inspector.tone-empty{border-color:#d9e2edeb;background:#f8fafc}.year-heatmap-inspector.tone-empty .year-heatmap-inspector-status,.year-heatmap-inspector.tone-empty .year-heatmap-inspector-duration{color:#738296}.year-heatmap-inspector.tone-today{border-color:#35aaf48a;background:linear-gradient(180deg,#edf9ff,#fff)}.year-heatmap-inspector.tone-future{border-color:#e5ebf2eb;background:#f8fafc}.year-heatmap-inspector.tone-future .year-heatmap-inspector-status,.year-heatmap-inspector.tone-future .year-heatmap-inspector-duration{color:#8a95a5}.year-heatmap-month{display:grid;grid-template-rows:auto 18px;gap:6px;min-width:0}.year-heatmap-month-grid{display:grid;grid-auto-flow:column;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:var(--heatmap-cell-gap);min-width:0}.year-heatmap-month-label{min-width:0;color:#9ba7b7;font-size:12px;font-weight:900;line-height:18px;text-align:center;white-space:nowrap;overflow:hidden}.year-heatmap-cell{appearance:none;display:grid;position:relative;place-items:center;width:100%;min-width:0;aspect-ratio:1 / 1;border:1px solid rgba(217,226,237,.9);border-radius:5px;background:#fff;color:inherit;font:inherit;padding:0;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;-webkit-tap-highlight-color:transparent}.year-heatmap-cell.future{border-color:#edf3f8;background:#f6f9fc}.year-heatmap-cell.empty{border-color:transparent;background:transparent;pointer-events:none}.year-heatmap-cell.today{border-color:#178fd4;box-shadow:inset 0 0 0 1px #178fd46b,0 0 0 1px #178fd41f}.year-heatmap-cell:hover,.year-heatmap-cell:focus-visible,.year-heatmap-cell.is-active{z-index:2;border-color:#117fc0;box-shadow:inset 0 0 0 1px #117fc038,0 6px 16px #236ea024;transform:translateY(-1px)}.year-heatmap-cell:focus-visible{outline:2px solid rgba(53,170,244,.28);outline-offset:2px}.year-heatmap-today-mark{color:#1d2b3a;font-size:10px;font-weight:950;line-height:1}.year-heatmap-cell.level-4 .year-heatmap-today-mark,.year-heatmap-cell.level-5 .year-heatmap-today-mark{color:#fff}.year-heatmap-cell.level-1{border-color:#c6e8fb;background:#e8f7ff}.year-heatmap-cell.level-2{border-color:#9cd7f7;background:#cef}.year-heatmap-cell.level-3{border-color:#72c4f0;background:#92dcfb}.year-heatmap-cell.level-4{border-color:#45ace8;background:#5ec3f5}.year-heatmap-cell.level-5{border-color:#178fd4;background:#2d9fe5}.year-heatmap-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:5;display:grid;gap:3px;min-width:122px;border:1px solid rgba(213,226,238,.95);border-radius:9px;padding:8px 10px;background:#fffffff5;box-shadow:0 12px 30px #2b3b5029;opacity:0;pointer-events:none;transform:translate(-50%,4px) scale(.98);transition:opacity .14s ease,transform .14s ease;white-space:nowrap}.year-heatmap-tooltip:after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;border-right:1px solid rgba(213,226,238,.95);border-bottom:1px solid rgba(213,226,238,.95);background:inherit;transform:translate(-50%) rotate(45deg)}.year-heatmap-tooltip span{color:var(--muted);font-size:11px;font-weight:850;line-height:1.2}.year-heatmap-tooltip strong{color:#1d2b3a;font-size:16px;font-weight:950;line-height:1.05}@media(hover:hover)and (pointer:fine){.year-heatmap-cell:hover .year-heatmap-tooltip,.year-heatmap-cell:focus-visible .year-heatmap-tooltip{opacity:1;transform:translate(-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.year-heatmap-cell,.year-heatmap-tooltip{transition:none}.year-heatmap-cell:hover,.year-heatmap-cell:focus-visible,.year-heatmap-cell.is-active{transform:none}}.year-heatmap-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--panel-soft)}.year-heatmap-empty p{margin:0}.book-snapshot-card{display:grid;gap:12px}.book-snapshot-card .section-head{margin-bottom:0}.book-snapshot-tabs{display:grid;grid-template-columns:repeat(var(--book-snapshot-tab-count, 1),minmax(0,1fr));gap:4px;max-width:100%;border:1px solid var(--line);border-radius:16px;padding:4px;background:var(--panel-soft)}.book-snapshot-tab{min-width:0;min-height:38px;overflow:hidden;border:0;border-radius:12px;padding:0 8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.book-snapshot-tab.active{background:#fff;color:#1d8bd0;box-shadow:0 5px 14px #30405814}.book-snapshot-tab:focus-visible,.book-snapshot-row:focus-visible{outline:3px solid rgba(53,170,244,.28);outline-offset:3px}.book-snapshot-panel{display:grid;gap:14px}.book-snapshot-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.book-snapshot-panel-head h3,.book-snapshot-panel-head p{margin:0;min-width:0}.book-snapshot-panel-head h3{color:var(--text);font-size:21px;line-height:1.18;font-weight:900;overflow-wrap:anywhere}.book-snapshot-panel-head p{color:var(--muted);font-size:13px;line-height:1.35;font-weight:800;text-align:right}.book-snapshot-list{display:grid;gap:10px}.book-snapshot-row{--book-width: 0%;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;min-height:94px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--panel-soft);color:inherit;text-decoration:none;cursor:pointer}.book-snapshot-row.has-meter{grid-template-rows:minmax(0,1fr) 6px;align-items:stretch}.book-snapshot-row:hover,.book-snapshot-row:focus-visible{border-color:#bae1fb;background:#f4fbff}.book-snapshot-row.is-static{cursor:default}.book-snapshot-row.is-static:hover{border-color:var(--line);background:var(--panel-soft)}.book-snapshot-cover{position:relative;display:grid;grid-row:1 / span 2;place-items:center;width:58px;height:82px;border-radius:6px;overflow:hidden;color:#fff;background:linear-gradient(180deg,#aebccd,#8796a8);box-shadow:0 8px 18px #30405824}.book-snapshot-cover svg{width:28px;height:28px;opacity:.9}.book-snapshot-cover img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.book-snapshot-main{display:grid;align-content:center;min-width:0}.book-snapshot-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.book-snapshot-title-row h4{display:-webkit-box;min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:16px;line-height:1.32;font-weight:900;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.book-snapshot-title-row strong{color:#b2bfcd;font-size:13px;line-height:1.4;font-weight:900}.book-snapshot-main>span,.book-snapshot-main small{display:block;min-width:0;margin-top:6px;overflow:hidden;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.book-snapshot-main>span{color:var(--muted);font-size:13px;font-weight:800}.book-snapshot-main small{color:var(--blue);font-size:14px;font-weight:900}.book-snapshot-meter{display:block;grid-column:2;align-self:end;height:6px;overflow:hidden;border-radius:999px;background:#e7eef6}.book-snapshot-meter span{display:block;width:var(--book-width);min-width:18px;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2))}.category-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px}.category-card{position:relative;display:grid;align-content:space-between;gap:8px;min-width:0;min-height:104px;overflow:hidden;border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(180deg,#ffffff,var(--panel-soft))}.category-card-title,.category-card strong,.category-card-meta{min-width:0}.category-card-title{color:var(--text);font-size:16px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.category-card strong{color:var(--text);font-size:24px;line-height:1.05;font-weight:900;overflow-wrap:anywhere}.category-card-meta{color:var(--muted);font-size:13px;font-weight:850;line-height:1.25}.author-chips,.medal-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.author-chips span,.medal{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#fff;color:var(--muted);font-size:13px;font-weight:850}.medal{display:grid;gap:2px;border-radius:16px;padding:12px 14px;background:#fff8e8;color:#9b6b18}.medal small{color:#b69558;font-weight:800}.op-popup-layer{position:fixed;inset:0;z-index:120;pointer-events:none}.op-popup-dim{position:absolute;inset:0;background:var(--modal-backdrop);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto;animation:op-popup-fade .22s ease both}.op-popup-position{position:absolute;inset:0;display:grid;align-items:end;justify-items:center;pointer-events:none}.op-popup-sheet{position:relative;display:grid;gap:14px;width:min(100%,440px);padding:12px 20px calc(30px + var(--safe-bottom));background:#fffffff7;border:1px solid rgba(229,235,242,.92);border-top:3px solid #ef5350;border-radius:22px 22px 0 0;box-shadow:0 -12px 44px #2a3b522e;pointer-events:auto;animation:op-popup-slide .3s cubic-bezier(.16,1,.3,1) both}.op-popup-grab{width:44px;height:5px;justify-self:center;border-radius:var(--radius-pill);background:#d8e3ee}.op-popup-close{position:absolute;top:18px;right:20px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#eef5fb;color:#728095;cursor:pointer;line-height:1}.op-popup-close svg{width:16px;height:16px;flex:0 0 16px}.op-popup-eyebrow svg{width:16px;height:16px}.op-popup-close:hover{color:var(--text);background:#e5eef7}.op-popup-eyebrow{display:inline-flex;align-items:center;gap:6px;color:#ef5350;font-size:var(--font-size-xs);font-weight:var(--font-weight-label);letter-spacing:.16em;text-transform:uppercase}.op-popup-sheet h2{max-width:16em;margin:0;color:#172033;font-size:20px;font-weight:900;line-height:1.28;text-wrap:pretty}.op-popup-mid{display:flex;align-items:center;justify-content:space-between;gap:12px}.op-popup-count{display:flex;align-items:center;gap:6px}.op-popup-count-cell{min-width:52px;min-height:58px;display:grid;place-items:center;padding:7px 8px 6px;border-radius:14px;background:#fde7e6;color:#ef5350;font-variant-numeric:tabular-nums;font-size:28px;font-weight:950;line-height:1}.op-popup-count-cell small{margin-top:5px;color:var(--muted);font-size:10px;font-weight:var(--font-weight-label);letter-spacing:.04em}.op-popup-count-sep{color:#bfccd9;font-size:22px;font-weight:var(--font-weight-heavy);transform:translateY(-7px)}.op-popup-stat{min-height:58px;display:grid;align-content:center;justify-items:end;padding:9px 12px;border-radius:14px;background:#fff8e7}.op-popup-stat b{color:#c08a12;font-size:20px;font-weight:900}.op-popup-stat span{color:var(--muted);font-size:11px;font-weight:var(--font-weight-label)}.op-popup-cta{width:100%;min-height:50px;justify-content:center;gap:8px;border-radius:var(--radius-pill)}.op-popup-cta span{transition:transform .18s ease}.op-popup-cta:hover span{transform:translate(3px)}.op-popup-note,.op-popup-message{justify-self:center;margin:0;color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-strong);text-align:center}.op-popup-message{color:#4f6075}.admin-popup-form header,.admin-popup-row{gap:14px}.admin-route-field{display:flex;flex-wrap:wrap;gap:10px 14px;margin:0;padding:12px;border:1px solid rgba(213,226,238,.95);border-radius:var(--radius-md)}.admin-route-field legend{padding:0 4px;color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-label)}.admin-popup-preview{display:grid;gap:10px;padding:14px;border:1px solid rgba(213,226,238,.95);border-radius:var(--radius-lg);background:var(--panel-soft)}.admin-popup-preview-eyebrow{display:inline-flex;align-items:center;gap:6px;color:#ef5350;font-size:var(--font-size-xs);font-weight:var(--font-weight-label);letter-spacing:.12em;text-transform:uppercase}.admin-popup-preview-eyebrow svg{width:14px;height:14px}.admin-popup-preview p{margin:0;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-copy)}.admin-popup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}@keyframes op-popup-fade{0%{opacity:0}to{opacity:1}}@keyframes op-popup-slide{0%{transform:translateY(32px);opacity:.84}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.op-popup-dim,.op-popup-sheet{animation:none}}@media(max-width:430px){.op-popup-sheet{padding-inline:18px}.op-popup-mid{align-items:stretch;flex-direction:column}.op-popup-stat{justify-items:center}}.modal{width:min(92vw,460px);border:0;padding:0;background:transparent}.modal.share-card-modal{width:min(calc(100vw - 32px),480px)}.modal.invite-share-modal{width:min(94vw,520px)}.modal::backdrop{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.share-card-dialog-card{max-height:min(88dvh,860px);overflow:auto}.invite-share-dialog-card{max-height:min(88vh,820px);overflow:auto}.contract-period-hero-actions{display:grid;gap:10px;justify-items:end}.invite-share-preview{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid rgba(222,232,242,.94);border-radius:18px;background:#f8fbff}.invite-share-preview img{display:block;width:112px;height:112px;border-radius:16px;object-fit:cover;box-shadow:0 10px 24px #32425a29}.invite-share-preview-copy{display:grid;min-width:0;gap:6px}.invite-share-preview-copy strong{color:var(--text);font-size:18px;line-height:1.28}.invite-share-preview-copy span,.invite-share-preview-copy small{color:var(--muted);font-weight:800;line-height:1.45}.invite-share-preview-copy small{overflow-wrap:anywhere}.invite-share-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.share-card-preview{display:grid;place-items:center;min-height:280px;padding:14px;border:1px solid rgba(222,232,242,.94);border-radius:18px;background:#f3f7fb;color:var(--muted);font-weight:900;overflow:hidden}.share-card-preview img{display:block;width:min(100%,340px);max-height:min(54dvh,520px);height:auto;object-fit:contain;border-radius:14px;box-shadow:0 16px 34px #32425a29;-webkit-touch-callout:default}.share-card-preview.is-wechat-save{min-height:300px;background:linear-gradient(180deg,#f7fbff,#edf4fb)}.share-card-preview.is-save-guide img{width:min(100%,360px);max-height:min(58dvh,600px);box-shadow:0 18px 42px #32425a33}.share-card-wechat-hint{margin-top:-2px;padding:12px 14px;border:1px solid rgba(208,224,238,.9);border-radius:14px;background:#f8fbff;color:#748296;font-size:14px;line-height:1.55;font-weight:800}.share-card-warning{margin-top:0;color:#9a6b1c}.share-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.close-button{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#f2f5f8;color:var(--muted);cursor:pointer}.wechat-login-button{border:1px solid transparent;min-height:46px;border-radius:999px;padding:0 20px;background:#1aad19;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 12px 24px #1aad1938}.wechat-login-button:hover{transform:translateY(-1px)}.wechat-mobile-hint{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f7fafc;color:var(--muted);font-size:14px;line-height:1.5}.wechat-mobile-hint strong{color:var(--text);font-size:15px}.wechat-mobile-hint .text-button{justify-self:start}.wechat-handoff-qr{display:grid;justify-items:center;gap:8px;margin:2px 0 0;padding:10px;border:1px solid #d8e4ef;border-radius:12px;background:#fff}.wechat-handoff-qr img{display:block;width:min(224px,100%);aspect-ratio:1;image-rendering:pixelated}.wechat-handoff-qr figcaption,.wechat-handoff-qr-status{margin:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.4;text-align:center}.wechat-handoff-qr-status{display:grid;place-items:center;width:min(224px,100%);aspect-ratio:1}.wechat-handoff-qr-status.is-error{color:#b42318}.purchase-guide-card{gap:15px;max-height:calc(100dvh - 32px);overflow-y:auto}.purchase-guide-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.purchase-guide-summary div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.purchase-guide-summary span,.purchase-guide-summary strong{display:block;min-width:0}.purchase-guide-summary span{color:var(--muted);font-size:12px;font-weight:900}.purchase-guide-summary strong{margin-top:5px;color:var(--text);font-size:15px;font-weight:900;line-height:1.3;overflow-wrap:anywhere}.purchase-guide-steps span{display:block;font-weight:750}.purchase-guide-url{margin:0;padding:10px 12px;border:1px dashed #c6d7e7;border-radius:12px;background:#fbfdff;color:#6a788a;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.purchase-guide-actions{display:grid;grid-template-columns:1fr;gap:10px}.migration-panel{display:grid;gap:6px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.migration-panel strong,.migration-panel span{display:block}.migration-panel strong{color:var(--text);font-size:14px;font-weight:900}.migration-panel span{color:var(--muted);font-size:13px;line-height:1.45;font-weight:740}.auth-bind-hint{max-width:180px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.4}.auth-separator{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;font-weight:850}.auth-separator:before,.auth-separator:after{content:"";height:1px;flex:1;background:var(--line)}.form-message{min-height:20px;margin:0;color:var(--muted);font-weight:800}.form-message.is-error{color:#d54b4b}.form-message.is-success{color:#1c7b55}.app-shell .section-label{font-size:13px;font-weight:800}.app-shell .primary-button,.app-shell .secondary-button{min-height:42px;padding:0 18px;font-weight:800}.app-shell .leaderboard-card,.app-shell .profile-card,.app-shell .me-panel,.app-shell .contract-panel,.app-shell .locked-panel{border-radius:18px;box-shadow:0 8px 22px #3040580f}.app-shell .leaderboard-card,.app-shell .profile-card,.app-shell .me-panel,.app-shell .locked-panel{padding:18px}.app-shell .leaderboard-card h2,.app-shell .profile-card h2,.app-shell .me-panel h2,.app-shell .locked-panel h2{font-size:clamp(20px,5vw,24px);font-weight:800;line-height:1.16}.app-shell .rank-row{min-height:114px;gap:14px;padding:14px;border-radius:15px}.app-shell .rank-head{grid-template-columns:42px minmax(0,1fr);gap:12px}.app-shell .rank-identity-rail{width:42px;gap:6px}.app-shell .rank-badge{width:40px;height:40px;font-size:18px;font-weight:850}.app-shell .decorated-avatar.rank-rail-avatar,.app-shell .decorated-avatar.rank-rail-avatar .member-avatar{width:40px;height:40px}.app-shell .decorated-avatar.rank-rail-avatar .member-avatar{font-size:15px}.app-shell .rank-badge.rank-medal{font-size:25px;font-weight:400}.app-shell .rank-badge.rank-sloth{font-size:24px;font-weight:400}.app-shell .rank-name{font-size:18px;font-weight:850}.app-shell .rank-time{font-size:22px;font-weight:850}.app-shell .rank-meta{margin-top:6px;font-size:13px;font-weight:750}.app-shell .rank-row .week-bars.compact{gap:8px;min-height:70px}.app-shell .rank-row .week-bars.compact .bar{width:min(100%,36px);min-width:16px}.app-shell .rank-row .week-bars.compact .bar.is-zero{width:min(54%,26px);min-width:12px}.contract-info-grid,.settings-card-grid,.settings-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.profile-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.profile-stats.has-xiaoe-learning{grid-template-columns:repeat(6,minmax(0,1fr))}.profile-stats .info-card,.challenge-stats .info-card{min-height:104px;padding:15px}.profile-stats .info-card-value,.challenge-stats .info-card-value{font-size:clamp(22px,6vw,32px);line-height:1.05}.profile-stats .info-card-label,.challenge-stats .info-card-label{margin-top:0;font-size:12px;font-weight:850}.info-card-description li{margin-top:5px}.contract-period-rule-grid{grid-template-columns:1fr}@media(max-width:900px){.shell{padding:18px 14px 42px}.topbar{align-items:flex-start}.summary-grid,.contract-panel,.report-grid,.changelog-hero,.changelog-dashboard-grid,.changelog-trend-grid,.changelog-detail-hero,.changelog-adjacent,.changelog-card-head,.release-grid{grid-template-columns:1fr}.changelog-dashboard-head{flex-direction:column}.changelog-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.release-toolbar{justify-content:space-between}.profile-stats,.profile-stats.has-xiaoe-learning{grid-template-columns:repeat(2,1fr)}.contract-period-hero{align-items:stretch;flex-direction:column}.issue-timeline-hero{grid-template-columns:1fr;align-items:stretch}.issue-login-strip{justify-content:flex-start;flex-wrap:wrap}.issue-timeline-item{grid-template-columns:minmax(0,1fr)}.issue-timeline-status{grid-column:1;justify-content:flex-start}.issue-timeline-actions{justify-content:flex-start}.issue-timeline-status small{text-align:left}.claim-guide-hero{align-items:stretch;flex-direction:column}.contract-period-actions{justify-content:flex-start}.contract-period-actions .form-message{text-align:left}.contract-period-hero .period-join-actions,.issue-hero .period-join-actions{justify-content:flex-start}.issue-adjacent-nav{align-items:flex-start;flex-direction:column}.issue-adjacent-actions{justify-content:flex-start}.issue-report-entry,.issue-report-hero{align-items:stretch;flex-direction:column}.issue-report-entry .primary-button,.issue-report-hero .secondary-button{width:100%}.challenge-stats,.issue-report-insights,.pool-grid,.claim-guide-steps{grid-template-columns:repeat(2,1fr)}.issue-report-insights .long-card{grid-column:span 2}.rank-row{grid-template-columns:1fr;align-items:stretch}.rank-head{grid-template-columns:48px minmax(0,1fr);gap:14px}.rank-row .week-bars{grid-column:auto}.rank-weekly-book-list{grid-template-columns:1fr;gap:6px}.participant-row{grid-template-columns:48px minmax(0,1fr)}.participant-progress{grid-column:1 / -1}}@media(max-width:360px){.bottom-nav{padding-right:5px;padding-left:5px}.bottom-nav button{min-height:46px;border-radius:14px;font-size:10px}.bottom-nav svg{width:20px;height:20px}.settings-status-grid{grid-template-columns:1fr}}@media(max-width:620px){.topbar,.join-panel,.me-panel,.profile-hero,.mine-hero,.quick-card{align-items:stretch;flex-direction:column}.app-shell{padding-right:12px;padding-left:12px}.app-header{margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px}.read-with-howie-card{gap:12px}.read-with-howie-head{align-items:center}.decorated-avatar.read-with-howie-avatar,.decorated-avatar.read-with-howie-avatar .member-avatar{width:50px;height:50px}.read-with-howie-empty{grid-template-columns:50px minmax(0,1fr)}.rank-row .week-bars.show-values.compact{gap:8px;min-height:100px}.rank-row .week-bars.show-values.compact .day-value{font-size:10px}.rank-row .week-bars.show-values.compact .bar{width:min(100%,36px);min-width:14px}.actions{justify-content:flex-end;flex-wrap:wrap}.brand h1,.profile-hero h1{font-size:34px}.summary-panel,.join-panel,.leaderboard-card,.me-panel,.contract-panel,.contract-period-hero,.issue-timeline-hero,.issue-report-entry,.issue-report-hero,.claim-guide-hero,.profile-card,.locked-panel,.profile-hero{padding:20px;border-radius:18px}.profile-hero{gap:12px}.profile-detox-card{padding:16px;border-radius:16px}.profile-detox-header,.profile-detox-book{align-items:stretch;flex-direction:column}.profile-detox-metrics{grid-template-columns:1fr}.profile-social-actions{justify-content:flex-start;width:100%;min-width:0}.profile-social-counts{flex:1 1 160px}.follow-action{flex:1 1 96px}.modal.share-card-modal{width:min(calc(100vw - 44px),360px)}.share-card-dialog-card{gap:14px;max-height:min(86dvh,720px);padding:18px;border-radius:20px}.share-card-dialog-card h2{padding-right:42px;font-size:24px;line-height:1.12}.share-card-preview{min-height:224px;padding:10px;border-radius:16px}.share-card-preview img{width:min(100%,280px);max-height:min(42dvh,420px);border-radius:12px}.share-card-preview.is-wechat-save{min-height:240px}.share-card-preview.is-save-guide img{width:min(100%,300px);max-height:min(46dvh,460px)}.share-card-wechat-hint{padding:10px 12px;font-size:13px}.share-card-actions{grid-template-columns:1fr}.contract-period-hero-actions{justify-items:stretch;width:100%}.invite-share-preview{grid-template-columns:88px minmax(0,1fr)}.invite-share-preview img{width:88px;height:88px;border-radius:14px}.invite-share-actions{grid-template-columns:1fr}.profile-identity{align-items:center;gap:12px}.decorated-avatar.profile-avatar{width:64px;height:64px}.decorated-avatar.profile-avatar .member-avatar{width:64px;height:64px;font-size:28px;box-shadow:0 8px 22px #35aaf43d}.decorated-avatar.profile-avatar .avatar-identity-ear{top:-7px;width:16px;height:16px}.decorated-avatar.profile-avatar .avatar-identity-ear.left{left:8px}.decorated-avatar.profile-avatar .avatar-identity-ear.right{right:8px}.profile-title{padding-right:2px}.profile-hero h1,.profile-stats .info-card-value,.weekly-card .section-head h2,.weekly-card-title h2{font-size:clamp(24px,6.2vw,28px);line-height:1.08;font-weight:850}.weekly-card-head.has-switcher{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px}.weekly-switch-button{width:38px;height:38px;flex-basis:38px}.weekly-card-meta{font-size:12px}.year-heatmap-head{grid-template-columns:38px minmax(0,1fr) 38px;gap:8px}.year-heatmap-title h2{font-size:26px}.year-heatmap-board{--heatmap-month-gap-row: 15px;--heatmap-month-gap-column: 8px;--heatmap-cell-gap: 4px;width:100%}.year-heatmap-inspector{gap:6px;padding:8px 12px}.year-heatmap-inspector-duration{font-size:17px}.year-heatmap-tooltip{display:none}.year-heatmap-month-label{font-size:11px}.year-heatmap-cell{border-radius:4px}.year-heatmap-today-mark{font-size:9px}.year-heatmap-empty{align-items:stretch;flex-direction:column}.profile-title .identity-badges{margin-top:7px;gap:5px}.profile-title .identity-badge{min-height:24px;padding:4px 8px;font-size:11px}.profile-title p{margin-top:7px;font-size:13px;line-height:1.35}.challenge-hero-card,.mine-hero,.quick-card,.settings-profile-panel{padding:16px;border-radius:18px}.mine-profile-card .mine-profile-head{align-items:flex-start}.mine-profile-card .mine-profile-head>div{width:min(100%,calc(100vw - 112px))}.mine-profile-card .mine-profile-head h1{max-width:8.4em;font-size:clamp(24px,6.7vw,30px);line-height:1.12;word-break:break-all}.mine-profile-card .mine-profile-head p{max-width:16em;word-break:break-all}.me-actions{justify-content:stretch}.me-actions .primary-button,.me-actions .secondary-button,.auth-status{width:100%;justify-content:center}.quick-card .secondary-button,.quick-card .primary-button,.hero-actions .primary-button,.hero-actions .secondary-button,.mine-actions .primary-button,.mine-actions .secondary-button{width:100%}.settings-toggle-row{grid-template-columns:minmax(0,1fr) auto}.settings-language-card{grid-template-columns:1fr}.settings-profile-form .settings-form-actions .primary-button,.settings-profile-form .settings-form-actions .secondary-button{width:auto;min-height:36px;padding-right:14px;padding-left:14px}.auth-entry-actions .primary-button,.auth-entry-actions .secondary-button{width:auto;min-width:0;padding-right:14px;padding-left:14px}.challenge-tab{min-height:40px;padding-inline:6px;font-size:12px}.long-challenge-purchase-hero .challenge-hero-copy h1{max-width:10em;font-size:clamp(27px,7vw,31px);line-height:1.15}.long-challenge-summary-grid{gap:10px}.long-challenge-summary-grid .info-card{min-height:94px;padding:12px;border-radius:14px}.long-challenge-summary-grid .info-card-value{font-size:24px}.long-challenge-summary-grid .info-card-description{font-size:11px;line-height:1.35}.long-challenge-hero-metrics{grid-template-columns:1fr;gap:10px}.long-challenge-hero-metrics>span{padding:13px}.long-challenge-progress-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.long-challenge-progress-panel{padding:12px}.long-challenge-progress-value-row{align-items:start;flex-direction:column;gap:7px}.long-challenge-progress-value-row strong{font-size:34px}.long-challenge-progress-value-row small{font-size:14px}.long-challenge-progress-panel p{font-size:12px;line-height:1.35}.long-challenge-progress-track{height:8px;margin-top:10px}.long-challenge-window-heatmap-head{display:grid}.long-challenge-window-heatmap-head p{display:none}.long-challenge-window-heatmap-months{grid-template-columns:repeat(4,minmax(0,1fr))}.mine-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mine-profile-actions .primary-button,.mine-profile-actions .secondary-button{min-height:42px;padding-right:10px;padding-left:10px;font-size:14px;white-space:nowrap}.summary-value{font-size:48px}.rank-row{padding:14px;gap:12px}.leaderboard-board-tabs{border-radius:22px;padding:5px}.leaderboard-board-tab{min-height:44px;border-radius:17px;padding:0 8px;font-size:13px}.rank-info-grid{grid-template-columns:minmax(0,1fr) minmax(115px,max-content);column-gap:6px}.rank-info-grid .identity-badges{gap:3px}.rank-info-grid .identity-badge{min-height:24px;padding:4px 6px;font-size:11px}.rank-info-grid .contract-badge{min-height:25px;padding:4px 7px;font-size:11px}.app-shell .rank-name,.rank-name{font-size:17px}.app-shell .rank-time,.rank-time{font-size:21px}.rank-head,.app-shell .rank-head{grid-template-columns:42px minmax(0,1fr);gap:12px}.rank-identity-rail{width:42px;gap:6px}.decorated-avatar.rank-rail-avatar,.decorated-avatar.rank-rail-avatar .member-avatar{width:40px;height:40px}.decorated-avatar.rank-rail-avatar .member-avatar{font-size:15px}.rank-row .week-bars.compact{min-height:82px;gap:8px;padding-top:6px}.rank-row .week-bars.compact .day{gap:7px}.rank-row .week-bars.compact .bar{width:min(100%,36px);min-width:14px}.rank-row .week-bars.compact .bar.is-zero{width:min(46%,22px);min-width:10px;opacity:.72}.rank-row .week-bars.compact .day-label{font-size:12px}.profile-stats,.challenge-stats{gap:10px}.contract-period-hero h1{font-size:34px}.contract-period-hero p,.claim-guide-hero p{font-size:15px}.contract-period-actions .primary-button,.contract-period-actions .secondary-button,.period-join-actions{width:100%}.period-join-actions .primary-button,.period-join-actions .secondary-button{flex:1 1 136px;min-width:0;padding-right:12px;padding-left:12px}.purchase-guide-summary{grid-template-columns:1fr}.purchase-guide-card{padding:22px}.issue-archive-hero .primary-button{width:100%}.pool-grid,.claim-guide-steps{grid-template-columns:1fr}.claim-guide-hero h1{font-size:38px}.info-card.long-card,.info-card.wide{grid-column:1 / -1}.info-card{min-height:118px;padding:15px}.info-card-action .primary-button,.info-card-action .secondary-button{width:100%}.admin-hero,.admin-row,.admin-table-row,.admin-long-challenge-row,.admin-product-card header{grid-template-columns:1fr;align-items:stretch}.admin-hero,.admin-product-card header{display:grid}.admin-section-nav{grid-template-columns:repeat(6,minmax(58px,1fr));gap:4px;overflow-x:auto}.admin-section-nav button{min-height:42px;padding:8px;text-align:center}.admin-section-nav span{display:none}.admin-health-grid,.admin-tool-grid,.admin-product-grid{grid-template-columns:1fr}.participant-avatar-groups{gap:18px}.participant-avatar-group+.participant-avatar-group{padding-top:16px}.participant-avatar-group-head h3{font-size:17px}.participant-avatar-wall{gap:9px}.participant-avatar-button,.participant-avatar-static{width:42px;height:42px}.decorated-avatar.participant-wall-avatar,.decorated-avatar.participant-wall-avatar .member-avatar{width:40px;height:40px}.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-student-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;padding:10px}.admin-student-row .admin-person-cell,.admin-student-row .admin-identity-summary,.admin-student-row .admin-identity{grid-column:1 / -1}.admin-lottery-winner-slot,.admin-lottery-overview-grid,.admin-lottery-overview-metrics{grid-template-columns:1fr}.admin-lottery-records>header,.admin-lottery-record-row{grid-template-columns:1fr}.admin-lottery-records>header{display:grid}.admin-lottery-record-row strong,.admin-lottery-record-row span{white-space:normal}.admin-lottery-record-row em{justify-self:flex-start}.admin-identity-field code{max-width:min(190px,52vw)}.admin-toolbar input,.admin-toolbar select,.admin-toolbar button,.admin-form-grid button,.admin-actions-row .primary-button,.admin-actions-row .secondary-button{width:100%}.claim-field-example{grid-template-columns:1fr;gap:6px}.pool-grid article{padding:18px}.contract-status-panel,.lottery-weekly-board{grid-template-columns:1fr}.lottery-weekly-card{min-height:0;padding:18px}.lottery-weekly-head{align-items:stretch;flex-direction:column}.lottery-status-pill{width:max-content}.lottery-result-row{align-items:flex-start;flex-direction:column}.lottery-winner{width:100%}.profile-stats article,.challenge-stats article{padding:15px}.changelog-hero,.changelog-metric,.changelog-dashboard-card,.changelog-detail-hero,.changelog-details.standalone,.changelog-card{padding:18px;border-radius:18px}.changelog-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.changelog-metric{min-height:112px;gap:6px;padding:14px}.changelog-metric span,.changelog-metric small{font-size:11px}.changelog-metric strong{font-size:clamp(30px,10vw,40px)}.changelog-heatmap-grid{gap:7px}.changelog-heatmap-grid.is-day{width:min(100%,330px)}.changelog-heatmap-grid.is-week{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}.changelog-heatmap-cell{min-height:34px;border-radius:8px}.changelog-heatmap-card.is-week .changelog-heatmap-cell{min-height:44px}.changelog-heatmap-cell strong{font-size:13px}.changelog-heatmap-label{font-size:11px}.changelog-dashboard-head{padding-inline:18px}.changelog-dashboard-head h2{font-size:30px;line-height:1.08}.changelog-bar-row{grid-template-columns:1fr 38px}.changelog-bar-row-label{grid-column:1 / -1}.changelog-hero h1,.changelog-detail-hero h1{font-size:34px;line-height:1.08}.changelog-card h2{font-size:24px;line-height:1.12}.changelog-card-head p{font-size:15px;line-height:1.62}.release-toolbar{gap:10px}.changelog-timeline{padding-left:10px}.changelog-timeline:before{left:4px}.timeline-dot{left:-14px}.book-snapshot-panel-head{display:grid;gap:6px}.book-snapshot-panel-head p{text-align:left}.book-snapshot-row{grid-template-columns:54px minmax(0,1fr);gap:10px;padding:10px}.book-snapshot-cover{width:54px;height:78px}.category-list{gap:10px}.category-card{min-height:96px;padding:12px}.category-card strong{font-size:22px}.settings-list button{align-items:flex-start;flex-direction:column}.settings-list small{max-width:100%;text-align:left}}@media(max-width:760px){.participants-hero,.participants-chart-grid,.participants-contract-comparison{grid-template-columns:1fr}.participants-issue-switch{justify-content:flex-start}.participants-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.participants-funnel-step{grid-template-columns:1fr;gap:8px}.participant-analysis-row{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:12px}.participant-analysis-side{grid-column:2;text-align:left}}@media(max-width:430px){.participants-stats-grid{grid-template-columns:1fr}.participants-hero{padding:18px}.participants-hero-copy h1{font-size:34px}.participants-daily-chart{gap:6px}.participants-daily-item strong{font-size:10px}.participants-filter-tabs button{padding-right:10px;padding-left:10px}}.admin-v2-shell[data-act=goal]{--act: #13a8e8;--act-soft: #e1f3fc;--act-deep: #0c6ea0;--act-hi: #5cc6f6}.admin-v2-shell[data-act=read]{--act: #ef5350;--act-soft: #fde7e6;--act-deep: #c0403d;--act-hi: #f8918e}.admin-v2-shell[data-act=system]{--act: #2bae74;--act-soft: #e2f5ec;--act-deep: #1f8a5b;--act-hi: #5ecf9c}.admin-v2-shell[data-act=reward]{--act: #e0a52b;--act-soft: #fbf0d4;--act-deep: #8a6410;--act-hi: #eec25e}.admin-v2-shell[data-act=life]{--act: #161f33;--act-soft: #e7eef6;--act-deep: #161f33;--act-hi: #3d4a66}.admin-v2-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh;background:var(--bg);color:var(--text);text-align:left}.admin-v2-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:4px;height:100dvh;padding:20px 14px 16px;border-right:1px solid rgba(229,235,242,.95);background:#ffffffe0;overflow:hidden}.admin-v2-brand,.admin-v2-user{display:flex;align-items:center;min-width:0;gap:10px;width:100%;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.admin-v2-brand{padding:2px 8px 14px}.admin-v2-brand img{flex:none;width:38px;height:38px;border-radius:12px;box-shadow:0 8px 18px #35aaf447}.admin-v2-brand span,.admin-v2-user span{display:grid;min-width:0;gap:2px}.admin-v2-brand strong,.admin-v2-user strong{overflow:hidden;color:var(--text);font-size:15px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.admin-v2-brand small{color:var(--muted);font-size:10.5px;font-weight:850;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.admin-v2-user{margin-top:auto;padding:10px;border:1px solid rgba(229,235,242,.95);border-radius:16px;background:#ffffffd1}.admin-v2-user small{overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.admin-v2-main{display:flex;flex-direction:column;min-width:0;gap:16px;padding:24px 30px 32px;background:linear-gradient(180deg,color-mix(in srgb,var(--act-soft) 72%,#ffffff) 0,color-mix(in srgb,var(--act-soft) 30%,var(--bg)) 180px,var(--bg) 380px)}.admin-v2-content{display:grid;min-width:0;gap:14px}.admin-v2-mobile-nav{display:none}.admin-v2-shell .admin-section-nav{display:grid;grid-template-columns:1fr;gap:2px;padding:0;border:0;border-radius:0;background:transparent}.admin-v2-shell .admin-nav-group{display:grid;gap:2px;padding-top:12px}.admin-v2-shell .admin-nav-group-label{display:flex;align-items:center;gap:6px;padding:0 10px 6px;color:var(--g-deep, var(--muted));font-size:10px;font-weight:900;letter-spacing:.13em;line-height:1;text-transform:uppercase}.admin-v2-shell .admin-nav-group-label em{color:var(--muted);font-style:normal;font-weight:800;letter-spacing:.06em}.admin-v2-shell .admin-section-nav button{display:grid;grid-template-columns:17px minmax(0,1fr);gap:4px 10px;align-items:center;min-height:42px;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.admin-v2-shell .admin-section-nav button svg{grid-row:1 / span 2;color:var(--muted)}.admin-v2-shell .admin-section-nav button.active{background:var(--g-soft, var(--act-soft));color:var(--g-deep, var(--act-deep));box-shadow:0 5px 14px #30405812}.admin-v2-shell .admin-section-nav button.active svg{color:var(--g-deep, var(--act-deep))}.admin-v2-shell .admin-section-nav strong,.admin-v2-shell .admin-section-nav span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v2-shell .admin-section-nav strong{color:currentColor;font-size:13.5px;font-weight:900;line-height:1}.admin-v2-shell .admin-section-nav span:not(.admin-nav-group-label){color:currentColor;font-size:10.5px;font-weight:800;line-height:1.15;opacity:.68}.admin-v2-shell .admin-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 0 2px;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-v2-shell .admin-hero .section-label,.admin-v2-shell .section-label,.admin-v2-shell .section-head .section-label{color:var(--act-deep);font-size:10.5px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.admin-v2-shell .admin-hero h1{margin:6px 0 4px;color:var(--text);font-size:26px;font-weight:900;letter-spacing:0;line-height:1.14}.admin-v2-shell .admin-hero p{margin:0;color:var(--muted);font-size:13px;font-weight:750;line-height:1.45}.admin-v2-hero-actions{display:flex;align-items:center;flex:none;gap:16px;padding-bottom:2px}.admin-v2-hero-actions .secondary-button{display:inline-flex;align-items:center;gap:7px}.admin-v2-watermark{color:var(--act-deep);font-size:21px;font-weight:900;letter-spacing:0;opacity:.92;white-space:nowrap}.admin-v2-watermark em{color:var(--muted);font-style:normal}.admin-v2-shell .info-card-grid,.admin-v2-shell .admin-overview-grid,.admin-v2-shell .admin-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-v2-shell .info-card{min-height:132px;padding:16px;border-color:#e5ebf2f2;border-radius:16px;background:#ffffffeb;box-shadow:0 8px 22px #3040580f}.admin-v2-shell .info-card-value{color:var(--act-deep);font-size:36px;line-height:1}.admin-v2-shell .admin-panel,.admin-v2-shell .admin-product-card{border:1px solid rgba(229,235,242,.95);border-radius:18px;background:#ffffffeb;box-shadow:0 8px 22px #3040580f}.admin-v2-shell .admin-panel{display:grid;gap:14px;padding:20px 22px 22px}.admin-v2-shell .section-head.compact{align-items:end;margin:0}.admin-v2-shell .section-head h2{margin-top:5px;color:var(--text);font-size:17px;font-weight:900;letter-spacing:0}.admin-v2-shell .admin-health-grid,.admin-v2-shell .admin-cols,.admin-v2-shell .admin-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.admin-v2-shell .admin-challenge-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-v2-shell .admin-challenge-card{align-content:start}.admin-v2-shell .admin-challenge-card>.secondary-button{justify-self:start}.admin-v2-shell .admin-segment-toolbar label{flex:0 1 220px}.admin-v2-shell .admin-segment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-v2-shell .admin-segment-card{display:grid;gap:6px;min-height:116px;border:1px solid rgba(229,235,242,.95);border-radius:14px;padding:13px 14px;background:#fffc;color:var(--text);font:inherit;text-align:left;cursor:pointer}.admin-v2-shell .admin-segment-card.active,.admin-v2-shell .admin-segment-card:hover{border-color:color-mix(in srgb,var(--act) 36%,rgba(229,235,242,.95));background:#fff;box-shadow:0 12px 28px #30405814}.admin-v2-shell .admin-segment-card span{color:var(--muted);font-size:12px;font-weight:850}.admin-v2-shell .admin-segment-card strong{color:var(--act-deep);font-size:28px;font-weight:950;line-height:1}.admin-v2-shell .admin-segment-card small{color:var(--text);font-size:12px;font-weight:760;line-height:1.4}.admin-v2-shell .admin-toolbar,.admin-v2-shell .admin-inline-form,.admin-v2-shell .admin-row-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.admin-v2-shell .admin-toolbar label{display:grid;gap:5px;min-width:160px;color:var(--muted);font-size:12px;font-weight:850}.admin-v2-shell .admin-toolbar input,.admin-v2-shell .admin-inline-form input{min-height:38px;border:1px solid rgba(208,218,230,.95);border-radius:10px;padding:0 11px;background:#fff;color:var(--text);font:inherit}.admin-v2-shell .admin-inline-form{flex:1 1 340px}.admin-v2-shell .admin-inline-form input{flex:1 1 220px}.admin-v2-shell .admin-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.admin-v2-shell .admin-metric-card{display:grid;gap:6px;min-height:74px;border:1px solid rgba(229,235,242,.95);border-radius:12px;padding:12px;background:#ffffffd1}.admin-v2-shell .admin-metric-card span{color:var(--muted);font-size:12px;font-weight:850}.admin-v2-shell .admin-metric-card strong{color:var(--act-deep);font-size:22px;line-height:1.1}.admin-v2-shell .admin-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-v2-shell .admin-subpanel{display:grid;gap:10px;min-width:0;border:1px solid rgba(229,235,242,.95);border-radius:14px;padding:14px;background:#f8fbfdb8}.admin-v2-shell .admin-subpanel h3{margin:0;color:var(--text);font-size:15px;font-weight:900}.admin-v2-shell .admin-subpanel-note{margin:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.admin-v2-shell .admin-table-scroll{overflow-x:auto}.admin-v2-shell .admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-v2-shell .admin-table th,.admin-v2-shell .admin-table td{border-bottom:1px solid rgba(229,235,242,.95);padding:9px 8px;text-align:left;white-space:nowrap}.admin-v2-shell .admin-table th{color:var(--muted);font-size:12px;font-weight:900}.admin-v2-shell .admin-stack-list{display:grid;gap:8px}.admin-v2-shell .admin-stack-card{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid rgba(229,235,242,.95);border-radius:12px;padding:10px 11px;background:#fff}.admin-v2-shell .admin-stack-card strong{display:block;color:var(--text);font-size:14px;font-weight:900}.admin-v2-shell .admin-stack-card p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.admin-v2-shell .admin-pill{border-radius:999px;padding:5px 8px;background:var(--act-soft);color:var(--act-deep);font-size:11px;font-weight:900}.admin-v2-shell .admin-reading-detox-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:4px;border:1px solid rgba(229,235,242,.9);border-radius:14px;background:#f8fbfdc2}.admin-v2-shell .admin-reading-detox-tabs button{border:0;border-radius:10px;padding:9px 12px;background:transparent;color:var(--muted);font-size:13px;font-weight:900;cursor:pointer}.admin-v2-shell .admin-reading-detox-tabs button.active,.admin-v2-shell .admin-reading-detox-tabs button:hover{background:#fff;color:var(--act-deep);box-shadow:0 8px 22px #0f172a14}.admin-v2-shell .admin-reading-detox-todos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-v2-shell .admin-reading-detox-todo{display:grid;gap:6px;min-height:116px;border:1px solid rgba(229,235,242,.95);border-radius:14px;padding:14px;background:#fff;text-align:left;cursor:pointer}.admin-v2-shell .admin-reading-detox-todo.attention{border-color:#c0403d4d;background:linear-gradient(180deg,#fde7e6b3,#fff)}.admin-v2-shell .admin-reading-detox-todo span,.admin-v2-shell .admin-reading-detox-flow-step span{color:var(--muted);font-size:12px;font-weight:900}.admin-v2-shell .admin-reading-detox-todo strong{color:var(--act-deep);font-size:30px;line-height:1}.admin-v2-shell .admin-reading-detox-todo small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.admin-v2-shell .admin-reading-detox-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-v2-shell .admin-reading-detox-flow-step{display:grid;gap:6px;min-height:96px;border:1px solid rgba(229,235,242,.95);border-radius:12px;padding:12px;background:#ffffffd1;text-align:left;cursor:pointer}.admin-v2-shell .admin-reading-detox-flow-step.attention{border-color:#c0403d47}.admin-v2-shell .admin-reading-detox-flow-step strong{color:var(--text);font-size:14px;font-weight:900}.admin-v2-shell .admin-reading-detox-flow-step small{color:var(--act-deep);font-size:12px;font-weight:900}.admin-v2-shell .admin-reading-detox-detail{display:grid;gap:14px}.admin-v2-shell .admin-stack-card.compact{align-items:flex-start}.admin-v2-shell .admin-segment-row{grid-template-columns:minmax(180px,1.05fr) minmax(120px,.65fr) minmax(130px,.7fr) minmax(180px,1fr) minmax(90px,.5fr)}.admin-v2-shell .admin-segment-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.admin-v2-shell .admin-segment-tags span{display:inline-flex;width:fit-content;border-radius:999px;padding:4px 8px;background:var(--act-soft);color:var(--act-deep);font-size:11px;font-weight:900}.admin-v2-shell .admin-segment-draft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-v2-shell .admin-dashboard-kpi-grid .info-card{min-height:124px}.admin-v2-shell .admin-dashboard-panel,.admin-v2-shell .admin-dashboard-growth-panel{gap:16px}.admin-v2-shell .admin-dashboard-growth-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:14px;align-items:stretch}.admin-v2-shell .admin-dashboard-growth-main,.admin-v2-shell .admin-dashboard-growth-card{display:grid;align-content:start;gap:14px;min-width:0;border:1px solid rgba(229,235,242,.95);border-radius:16px;padding:16px;background:#ffffffc7}.admin-v2-shell .admin-dashboard-growth-main{background:linear-gradient(135deg,color-mix(in srgb,var(--act-soft) 68%,#ffffff),#ffffffe6)}.admin-v2-shell .admin-dashboard-growth-main h3,.admin-v2-shell .admin-dashboard-growth-card h3{margin:5px 0 4px;color:var(--text);font-size:20px;font-weight:950;letter-spacing:0;line-height:1.16}.admin-v2-shell .admin-dashboard-growth-card h3{font-size:18px}.admin-v2-shell .admin-dashboard-growth-main p,.admin-v2-shell .admin-dashboard-growth-card p{margin:0;color:var(--muted);font-size:12.5px;font-weight:760;line-height:1.5}.admin-v2-shell .admin-dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px;align-items:stretch}.admin-v2-shell .admin-dashboard-sync-card{display:grid;align-content:start;gap:14px;min-width:0;border:1px solid rgba(229,235,242,.95);border-radius:16px;padding:16px;background:#ffffffc7}.admin-v2-shell .admin-dashboard-sync-card h3{margin:5px 0 4px;color:var(--text);font-size:18px;font-weight:950;letter-spacing:0;line-height:1.18}.admin-v2-shell .admin-dashboard-sync-card p{margin:0;color:var(--muted);font-size:12.5px;font-weight:760;line-height:1.5}.admin-v2-shell .admin-dashboard-progress{display:block;height:12px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--act-soft) 58%,#e7eef6)}.admin-v2-shell .admin-dashboard-progress i{display:block;width:0;height:100%;border-radius:inherit;background:var(--act);transition:width .2s ease}.admin-v2-shell .admin-dashboard-progress.large{height:16px}.admin-v2-shell .admin-dashboard-segment-list{display:grid;gap:8px}.admin-v2-shell .admin-dashboard-segment-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid rgba(229,235,242,.95);border-radius:13px;padding:11px 12px;background:#ffffffd1;color:var(--text);font:inherit;text-align:left;cursor:pointer}.admin-v2-shell .admin-dashboard-segment-action:hover{border-color:color-mix(in srgb,var(--act) 36%,rgba(229,235,242,.95));background:#fff}.admin-v2-shell .admin-dashboard-segment-action span{display:grid;min-width:0;gap:3px}.admin-v2-shell .admin-dashboard-segment-action strong{overflow:hidden;color:var(--text);font-size:13px;font-weight:920;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.admin-v2-shell .admin-dashboard-segment-action small{overflow:hidden;color:var(--muted);font-size:11.5px;font-weight:760;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.admin-v2-shell .admin-dashboard-segment-action em{flex:none;min-width:34px;border-radius:999px;padding:5px 9px;background:var(--act-soft);color:var(--act-deep);font-size:13px;font-style:normal;font-weight:950;text-align:center}.admin-v2-shell .admin-subsection-head{gap:4px}.admin-v2-shell .admin-subsection-head h3{color:var(--text);font-size:15px;font-weight:900;letter-spacing:0}.admin-v2-shell .admin-subsection-head p,.admin-v2-shell .admin-card-meta,.admin-v2-shell .admin-empty{color:var(--muted);font-size:12.5px;font-weight:750;line-height:1.55}.admin-v2-shell .admin-list,.admin-v2-shell .admin-table{display:grid;gap:8px}.admin-v2-shell .admin-table{overflow-x:auto;padding-bottom:2px}.admin-v2-shell .admin-row,.admin-v2-shell .admin-table-row{gap:12px;padding:11px 14px;border:1px solid rgba(229,235,242,.95);border-radius:14px;background:#ffffffdb}.admin-v2-shell .admin-row.compact{min-height:62px;padding:10px 12px}.admin-v2-shell .admin-row strong,.admin-v2-shell .admin-table-row strong,.admin-v2-shell .admin-table-row span{color:var(--text);font-weight:850}.admin-v2-shell .admin-row span,.admin-v2-shell .admin-row small,.admin-v2-shell .admin-table-row small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.admin-v2-shell .admin-table-row span.is-error,.admin-v2-shell .admin-row small.is-error,.admin-v2-shell .form-message.is-error{color:#c0403d}.admin-v2-shell .admin-person-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v2-shell .admin-person-cell .decorated-avatar{flex:none}.admin-v2-shell .admin-product-card{display:grid;align-content:start;gap:12px;padding:16px}.admin-v2-shell .admin-product-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-v2-shell .admin-product-card header>strong{flex:none;color:var(--act-deep);font-size:12px;font-weight:900;text-align:right}.admin-v2-shell .admin-product-card h3{margin:4px 0 0;color:var(--text);font-size:15px;font-weight:900;letter-spacing:0;line-height:1.3}.admin-v2-shell .admin-toolbar,.admin-v2-shell .admin-form-grid,.admin-v2-shell .admin-actions-row{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.admin-v2-shell .admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.admin-v2-shell .admin-form-grid label,.admin-v2-shell .admin-toolbar label{display:grid;min-width:0;gap:5px;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.02em}.admin-v2-shell .admin-form-grid .span-two,.admin-v2-shell .admin-route-field.span-two{grid-column:span 2}.admin-v2-shell .admin-toolbar input,.admin-v2-shell .admin-toolbar select,.admin-v2-shell .admin-form-grid input,.admin-v2-shell .admin-form-grid select,.admin-v2-shell .admin-form-grid textarea,.admin-v2-shell .admin-unresolved-actions input{width:100%;min-width:0;padding:9px 12px;border:1px solid rgba(229,235,242,.95);border-radius:12px;background:#f8fafc;color:var(--text);font:inherit;font-size:12.5px;font-weight:750;line-height:1.3}.admin-v2-shell .admin-toolbar input{flex:1 1 260px}.admin-v2-shell .admin-student-toolbar select{flex:0 1 180px}.admin-v2-shell .admin-form-grid textarea{min-height:70px;resize:vertical}.admin-v2-shell .admin-form-grid .checkbox-field,.admin-v2-shell .checkbox-field{display:flex;align-items:center;gap:8px;min-height:40px;padding:9px 12px;border:1px solid rgba(229,235,242,.95);border-radius:12px;background:#fff;color:var(--text);font-size:12.5px;font-weight:750}.admin-v2-shell .admin-form-grid .checkbox-field input,.admin-v2-shell .checkbox-field input{flex:none;width:16px;height:16px;accent-color:var(--act)}.admin-v2-shell .admin-summary-strip span{border:0;background:var(--act-soft);color:var(--act-deep);font-size:12px;font-weight:900}.admin-v2-shell .admin-popup-preview{border-color:#e5ebf2f2;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--act-soft) 80%,#fff),#fff 70%)}.admin-v2-shell .admin-popup-preview-eyebrow{color:var(--act-deep)}.admin-v2-shell .admin-labs-panel .info-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-v2-shell .admin-labs-panel .info-card strong{color:var(--act-deep);font-size:14px;font-weight:900;line-height:1.45}.admin-v2-shell .admin-labs-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}.admin-v2-shell .admin-booklists-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.admin-v2-shell .admin-books-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.admin-v2-shell .admin-labs-list{display:grid;gap:10px}.admin-v2-shell .admin-books-list,.admin-v2-shell .admin-booklists-list{align-content:start}.admin-v2-shell .admin-books-toolbar{display:grid;gap:12px}.admin-v2-shell .admin-books-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.admin-v2-shell .admin-books-search label,.admin-v2-shell .admin-books-filters label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:11px;font-weight:850}.admin-v2-shell .admin-books-search input,.admin-v2-shell .admin-books-filters select{width:100%;min-width:0;border:1px solid rgba(213,226,240,.95);border-radius:10px;background:#ffffffe6;color:var(--text);font:inherit;font-size:13px;font-weight:800;outline:none}.admin-v2-shell .admin-books-search input{height:40px;padding:0 12px}.admin-v2-shell .admin-books-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.admin-v2-shell .admin-books-filters select{height:36px;padding:0 9px}.admin-v2-shell .admin-books-policy-note,.admin-v2-shell .admin-books-inline-note{margin:0;color:var(--muted);font-size:12px;font-weight:780;line-height:1.5}.admin-v2-shell .admin-books-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px}.admin-v2-shell .admin-books-pagination span{color:var(--muted);font-size:12px;font-weight:850}.admin-v2-shell .admin-booklist-recommendations-card{display:grid;gap:12px}.admin-v2-shell .admin-booklist-recommendations-copy{margin:0;max-width:760px;color:var(--muted);font-size:13px;font-weight:750;line-height:1.55}.admin-v2-shell .admin-booklist-recommendation-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.admin-v2-shell .admin-booklist-recommendation-picker select,.admin-v2-shell .admin-booklist-recommendation-main input{width:100%;min-width:0;border:1px solid rgba(213,226,240,.95);border-radius:12px;background:#ffffffdb;color:var(--text);font:inherit;font-size:13px;font-weight:750;outline:none}.admin-v2-shell .admin-booklist-recommendation-picker select{height:38px;padding:0 11px}.admin-v2-shell .admin-booklist-recommendation-main input{height:36px;padding:0 10px}.admin-v2-shell .admin-booklist-recommendation-list{display:grid;gap:10px}.admin-v2-shell .admin-booklist-recommendation-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(229,235,242,.92);border-radius:14px;background:#ffffffdb}.admin-v2-shell .admin-booklist-recommendation-rank{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--act-soft);color:var(--act-deep);font-size:13px;font-weight:950}.admin-v2-shell .admin-booklist-recommendation-main{display:grid;min-width:0;gap:6px}.admin-v2-shell .admin-booklist-recommendation-main strong,.admin-v2-shell .admin-booklist-recommendation-main small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v2-shell .admin-booklist-recommendation-main strong{color:var(--text);font-size:14px;font-weight:920}.admin-v2-shell .admin-booklist-recommendation-main small{color:var(--muted);font-size:12px;font-weight:760}.admin-v2-shell .admin-booklist-recommendation-actions,.admin-v2-shell .admin-booklist-recommendation-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-v2-shell .admin-booklist-recommendation-actions button{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(213,226,240,.95);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer}.admin-v2-shell .admin-booklist-recommendation-actions button:disabled{opacity:.38;cursor:default}.admin-v2-shell .admin-lab-card{display:grid;gap:7px;width:100%;padding:14px;border:1px solid rgba(229,235,242,.95);border-radius:14px;background:#ffffffd1;color:var(--text);text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.admin-v2-shell .admin-lab-card:hover,.admin-v2-shell .admin-lab-card.active{border-color:color-mix(in srgb,var(--act) 45%,#d8e1ee);box-shadow:0 10px 24px #30405814;transform:translateY(-1px)}.admin-v2-shell .admin-lab-card span{width:fit-content;padding:4px 8px;border-radius:999px;background:var(--act-soft);color:var(--act-deep);font-size:11px;font-weight:900}.admin-v2-shell .admin-lab-card strong{color:var(--text);font-size:15px;font-weight:900}.admin-v2-shell .admin-lab-card small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.admin-v2-shell .admin-lab-booklists{display:grid;gap:10px;margin:2px 0 14px}.admin-v2-shell .admin-reader-lab{display:grid;gap:12px;margin:2px 0 14px;padding:14px;border:1px solid color-mix(in srgb,var(--act) 22%,rgba(229,235,242,.95));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--act-soft) 48%,#fff),#fffffff0 66%)}.admin-v2-shell .admin-reader-lab-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:start}.admin-v2-shell .admin-reader-title{display:grid;min-width:0;gap:4px}.admin-v2-shell .admin-reader-title span{color:var(--act-deep);font-size:11px;font-weight:900}.admin-v2-shell .admin-reader-title h4{min-width:0;margin:0;color:var(--text);font-size:18px;font-weight:950;line-height:1.25;overflow-wrap:anywhere}.admin-v2-shell .admin-reader-title small,.admin-v2-shell .admin-reader-note{color:var(--muted);font-size:12px;font-weight:780;line-height:1.5}.admin-v2-shell .admin-reader-note{margin:0}.admin-v2-shell .admin-reader-upload{position:relative;overflow:hidden;cursor:pointer}.admin-v2-shell .admin-reader-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.admin-v2-shell .admin-reader-metrics{display:flex;flex-wrap:wrap;gap:8px}.admin-v2-shell .admin-reader-metrics span{padding:5px 8px;border:1px solid rgba(229,235,242,.92);border-radius:999px;background:#ffffffc7;color:var(--muted);font-size:11px;font-weight:850}.admin-v2-shell .admin-reader-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.admin-v2-shell .admin-reader-page-actions,.admin-v2-shell .admin-reader-font-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-v2-shell .admin-reader-page-actions .secondary-button,.admin-v2-shell .admin-reader-toolbar>.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-width:96px;min-height:38px;padding:0 12px;gap:6px;border-radius:999px;font-size:13px;line-height:1}.admin-v2-shell .admin-reader-font-controls button{min-height:32px;padding:0 10px;border:1px solid rgba(213,226,240,.95);border-radius:10px;background:#ffffffdb;color:var(--muted);font-size:12px;font-weight:850;cursor:pointer}.admin-v2-shell .admin-reader-font-controls button.is-selected{border-color:color-mix(in srgb,var(--act) 42%,rgba(229,235,242,.95));background:var(--act-soft);color:var(--act-deep)}.admin-v2-shell .admin-reader-workspace{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:12px;min-width:0}.admin-v2-shell .admin-reader-toc,.admin-v2-shell .admin-reader-surface{min-width:0;border:1px solid rgba(229,235,242,.95);border-radius:14px;background:#ffffffd1}.admin-v2-shell .admin-reader-toc{display:grid;align-content:start;gap:8px;max-height:520px;overflow:auto;padding:12px}.admin-v2-shell .admin-reader-toc strong{color:var(--text);font-size:13px;font-weight:900}.admin-v2-shell .admin-reader-toc small{color:var(--muted);font-size:12px;font-weight:760;line-height:1.45}.admin-v2-shell .admin-reader-toc-list{display:grid;gap:4px}.admin-v2-shell .admin-reader-toc-list button{min-width:0;min-height:30px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:790;line-height:1.35;text-align:left;overflow-wrap:anywhere;cursor:pointer}.admin-v2-shell .admin-reader-toc-list button:hover{background:var(--panel-muted);color:var(--text)}.admin-v2-shell .admin-reader-surface{position:relative;min-height:540px;overflow:hidden;background:#fffefb}.admin-v2-shell .admin-reader-viewport{width:100%;height:540px}.admin-v2-shell .admin-reader-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;color:var(--muted);text-align:center;pointer-events:none}.admin-v2-shell .admin-reader-placeholder svg{color:var(--act-deep)}.admin-v2-shell .admin-reader-placeholder strong{color:var(--text);font-size:16px;font-weight:920}.admin-v2-shell .admin-reader-placeholder span{max-width:340px;color:var(--muted);font-size:12px;font-weight:760;line-height:1.5}.admin-v2-shell .admin-lab-booklist-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-v2-shell .admin-lab-booklist-tabs button{display:inline-flex;align-items:center;max-width:100%;min-height:36px;gap:7px;padding:8px 10px;border:1px solid rgba(229,235,242,.95);border-radius:12px;background:#ffffffd1;color:var(--muted);font-size:12px;font-weight:850;text-align:left;cursor:pointer}.admin-v2-shell .admin-lab-booklist-tabs button.is-selected{border-color:color-mix(in srgb,var(--act) 42%,rgba(229,235,242,.95));background:var(--act-soft);color:var(--act-deep)}.admin-v2-shell .admin-lab-booklist-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v2-shell .admin-lab-booklist-tabs button small{flex-shrink:0;color:inherit;font-size:11px;opacity:.72}.admin-v2-shell .admin-lab-booklist-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:14px;border:1px solid color-mix(in srgb,var(--act) 22%,rgba(229,235,242,.95));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--act-soft) 56%,#fff),#ffffffeb 64%)}.admin-v2-shell .admin-booklist-detail-card,.admin-v2-shell .admin-book-detail-card{min-width:0}.admin-v2-shell .admin-book-detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-v2-shell .admin-book-detail-coverline{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;max-width:560px;padding:10px;border:1px solid rgba(229,235,242,.92);border-radius:12px;background:#ffffffc7}.admin-v2-shell .admin-book-detail-coverline>div:last-child{display:grid;min-width:0;gap:4px}.admin-v2-shell .admin-book-detail-coverline strong{min-width:0;color:var(--text);font-size:13px;font-weight:900;overflow-wrap:anywhere}.admin-v2-shell .admin-book-detail-coverline small,.admin-v2-shell .admin-book-memberships small,.admin-v2-shell .admin-book-evidence small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.4}.admin-v2-shell .admin-book-memberships,.admin-v2-shell .admin-book-evidence{display:grid;gap:8px;max-width:760px}.admin-v2-shell .admin-book-memberships>strong,.admin-v2-shell .admin-book-evidence>strong{color:var(--text);font-size:12px;font-weight:950}.admin-v2-shell .admin-lab-booklist-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--act-soft);color:var(--act-deep)}.admin-v2-shell .admin-lab-booklist-body{display:grid;min-width:0;gap:12px}.admin-v2-shell .admin-lab-booklist-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.admin-v2-shell .admin-lab-booklist-heading>div{display:grid;min-width:0;gap:4px}.admin-v2-shell .admin-lab-booklist-heading span{color:var(--act-deep);font-size:11px;font-weight:900}.admin-v2-shell .admin-lab-booklist-heading h4{margin:0;color:var(--text);font-size:18px;font-weight:950;line-height:1.25}.admin-v2-shell .admin-lab-booklist-heading small{color:var(--muted);font-size:12px;font-weight:800}.admin-v2-shell .admin-lab-booklist-heading .primary-button{align-self:start}.admin-v2-shell .admin-lab-booklist-description{margin:0;color:var(--text);font-size:13px;font-weight:750;line-height:1.55}.admin-v2-shell .admin-lab-booklist-metrics{display:flex;flex-wrap:wrap;gap:8px}.admin-v2-shell .admin-lab-booklist-metrics span{padding:5px 8px;border:1px solid rgba(229,235,242,.92);border-radius:999px;background:#ffffffc7;color:var(--muted);font-size:11px;font-weight:850}.admin-v2-shell .admin-lab-booklist-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.admin-v2-shell .admin-lab-booklist-samples li{min-width:0;padding:8px 10px;border:1px solid rgba(229,235,242,.92);border-radius:10px;background:#ffffffd1;color:var(--muted);font-size:12px;font-weight:750;line-height:1.38;overflow-wrap:anywhere}.admin-v2-shell .admin-lab-booklist-items{display:grid;gap:10px}.admin-v2-shell .admin-lab-book-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;padding:10px;border:1px solid rgba(229,235,242,.92);border-radius:12px;background:#ffffffdb}.admin-v2-shell .admin-lab-book-cover{display:grid;place-items:center;width:58px;aspect-ratio:3 / 4;overflow:hidden;border:1px solid rgba(229,235,242,.92);border-radius:8px;background:var(--panel-muted);color:var(--muted)}.admin-v2-shell .admin-lab-book-cover img{width:100%;height:100%;object-fit:cover}.admin-v2-shell .admin-lab-book-main{display:grid;min-width:0;gap:6px}.admin-v2-shell .admin-lab-book-title-line{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:start;min-width:0}.admin-v2-shell .admin-lab-book-title-line>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--act-soft);color:var(--act-deep);font-size:12px;font-weight:950}.admin-v2-shell .admin-lab-book-title-line h5{min-width:0;margin:0;color:var(--text);font-size:15px;font-weight:950;line-height:1.35;overflow-wrap:anywhere}.admin-v2-shell .admin-lab-book-main p{margin:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}.admin-v2-shell .admin-lab-book-badges{display:flex;flex-wrap:wrap;gap:6px}.admin-v2-shell .admin-lab-book-badges span{padding:4px 7px;border-radius:999px;background:var(--panel-muted);color:var(--muted);font-size:11px;font-weight:850}.admin-v2-shell .admin-booklist-match-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:end;max-width:520px}.admin-v2-shell .admin-booklist-match-form label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:11px;font-weight:850}.admin-v2-shell .admin-booklist-match-form input{width:100%;min-width:0;border:1px solid rgba(209,218,229,.95);border-radius:8px;padding:8px 10px;background:#fff;color:var(--text);font-size:13px;font-weight:800}.admin-v2-shell .admin-booklist-match-form small{grid-column:1 / -1;color:var(--muted);font-size:11px;font-weight:800}.admin-v2-shell .admin-booklist-alias-panel{display:grid;gap:8px;max-width:720px;padding-top:2px}.admin-v2-shell .admin-booklist-alias-head{display:grid;gap:2px}.admin-v2-shell .admin-booklist-alias-head strong{color:var(--text);font-size:12px;font-weight:950}.admin-v2-shell .admin-booklist-alias-head small,.admin-v2-shell .admin-booklist-alias-form small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.35}.admin-v2-shell .admin-booklist-alias-list{display:flex;flex-wrap:wrap;gap:6px}.admin-v2-shell .admin-booklist-alias-chip{display:inline-flex;align-items:center;min-width:0;max-width:100%;gap:6px;padding:5px 7px;border:1px solid rgba(209,218,229,.95);border-radius:8px;background:#fff;color:var(--text);font-size:11px;font-weight:850}.admin-v2-shell .admin-booklist-alias-chip>span{min-width:0;overflow-wrap:anywhere}.admin-v2-shell .admin-booklist-alias-chip em{flex:0 0 auto;font-style:normal;color:var(--muted);font-weight:900}.admin-v2-shell .admin-booklist-alias-chip button{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border:0;border-radius:999px;background:var(--panel-muted);color:var(--muted);cursor:pointer}.admin-v2-shell .admin-booklist-alias-chip button:disabled{cursor:progress;opacity:.55}.admin-v2-shell .admin-booklist-alias-empty{color:var(--muted);font-size:11px;font-weight:850}.admin-v2-shell .admin-booklist-alias-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,.8fr) auto;gap:8px;align-items:end}.admin-v2-shell .admin-booklist-alias-form label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:11px;font-weight:850}.admin-v2-shell .admin-booklist-alias-form input{width:100%;min-width:0;border:1px solid rgba(209,218,229,.95);border-radius:8px;padding:8px 10px;background:#fff;color:var(--text);font-size:13px;font-weight:800}.admin-v2-shell .admin-booklist-alias-form small{grid-column:1 / -1}.admin-v2-shell .admin-lab-book-actions{display:grid;min-width:142px;gap:8px}.admin-v2-shell .admin-lab-book-actions .link-button{justify-content:center;min-width:0;white-space:nowrap}.admin-v2-shell .admin-lab-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-v2-shell .admin-lab-checklist{display:grid;gap:8px;padding:12px;border:1px solid rgba(229,235,242,.95);border-radius:14px;background:#ffffffc2}.admin-v2-shell .admin-lab-checklist strong{color:var(--text);font-size:13px;font-weight:900}.admin-v2-shell .admin-lab-checklist ul{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.admin-v2-shell .identity-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v2-shell .primary-button,.admin-v2-shell .secondary-button{white-space:nowrap}@media(max-width:1100px){.admin-v2-shell{grid-template-columns:216px minmax(0,1fr)}.admin-v2-main{padding:22px 20px 28px}.admin-v2-watermark{display:none}.admin-v2-shell .admin-overview-grid,.admin-v2-shell .info-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v2-shell .admin-challenge-overview-grid,.admin-v2-shell .admin-dashboard-growth-grid,.admin-v2-shell .admin-dashboard-grid,.admin-v2-shell .admin-health-grid,.admin-v2-shell .admin-segment-grid,.admin-v2-shell .admin-segment-draft-grid,.admin-v2-shell .admin-metric-grid,.admin-v2-shell .admin-two-column,.admin-v2-shell .admin-reading-detox-todos,.admin-v2-shell .admin-reading-detox-flow,.admin-v2-shell .admin-product-grid,.admin-v2-shell .admin-labs-panel .info-card-grid,.admin-v2-shell .admin-lab-detail-grid,.admin-v2-shell .identity-config-grid{grid-template-columns:1fr}}@media(min-width:761px){.admin-v2-shell .admin-student-row{min-width:920px;padding-left:18px}}@media(max-width:760px){.admin-v2-shell{display:flex;flex-direction:column;min-height:100dvh}.admin-v2-sidebar{display:none}.admin-v2-main{gap:12px;padding:14px 16px 20px;background:linear-gradient(180deg,color-mix(in srgb,var(--act-soft) 42%,var(--bg)),var(--bg) 260px)}.admin-v2-shell .admin-hero{display:grid;gap:12px}.admin-v2-shell .admin-hero h1{font-size:22px}.admin-v2-hero-actions{justify-content:space-between;width:100%}.admin-v2-mobile-nav{display:block;margin:0 -16px;overflow-x:auto;padding:0 16px 2px}.admin-v2-mobile-nav .admin-section-nav{display:flex;grid-template-columns:none;gap:6px;width:max-content}.admin-v2-mobile-nav .admin-nav-group{display:contents}.admin-v2-mobile-nav .admin-section-nav .admin-nav-group-label,.admin-v2-mobile-nav .admin-section-nav button span{display:none!important}.admin-v2-mobile-nav .admin-section-nav button{display:inline-flex;min-height:36px;gap:6px;padding:8px 12px;border:1px solid rgba(229,235,242,.95);border-radius:999px;background:#ffffffd6}.admin-v2-mobile-nav .admin-section-nav button:before{width:7px;height:7px;border-radius:50%;background:var(--g-deep, var(--act-deep));content:""}.admin-v2-mobile-nav .admin-section-nav button svg{display:none}.admin-v2-mobile-nav .admin-section-nav button.active{border-color:color-mix(in srgb,var(--g-deep) 24%,rgba(229,235,242,.95));background:var(--g-soft, var(--act-soft))}.admin-v2-mobile-nav .admin-section-nav strong{font-size:12px}.admin-v2-shell .admin-overview-grid,.admin-v2-shell .info-card-grid,.admin-v2-shell .admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-v2-shell .admin-reading-detox-todos,.admin-v2-shell .admin-reading-detox-flow,.admin-v2-shell .admin-dashboard-grid,.admin-v2-shell .admin-two-column,.admin-v2-shell .admin-labs-layout,.admin-v2-shell .admin-books-layout,.admin-v2-shell .admin-booklists-layout,.admin-v2-shell .admin-lab-booklist-card,.admin-v2-shell .admin-lab-booklist-heading,.admin-v2-shell .admin-lab-booklist-samples,.admin-v2-shell .admin-books-search,.admin-v2-shell .admin-books-filters,.admin-v2-shell .admin-reader-lab-head,.admin-v2-shell .admin-reader-workspace,.admin-v2-shell .admin-booklist-recommendation-picker,.admin-v2-shell .admin-booklist-recommendation-row{grid-template-columns:1fr}.admin-v2-shell .admin-reader-toolbar{align-items:stretch}.admin-v2-shell .admin-reader-page-actions,.admin-v2-shell .admin-reader-toolbar>.secondary-button{width:100%}.admin-v2-shell .admin-reader-page-actions .secondary-button{flex:1 1 0;justify-content:center;min-width:0}.admin-v2-shell .admin-reader-toc{max-height:190px}.admin-v2-shell .admin-reader-surface{min-height:460px}.admin-v2-shell .admin-reader-viewport{height:460px}.admin-v2-shell .admin-booklist-recommendation-rank{width:30px;height:30px}.admin-v2-shell .admin-booklist-recommendation-actions{justify-content:flex-start}.admin-v2-shell .admin-lab-booklist-icon{width:42px;height:42px;border-radius:12px}.admin-v2-shell .admin-lab-book-row{grid-template-columns:50px minmax(0,1fr);align-items:start;gap:10px}.admin-v2-shell .admin-lab-book-cover{width:50px}.admin-v2-shell .admin-lab-book-title-line{grid-template-columns:24px minmax(0,1fr)}.admin-v2-shell .admin-lab-book-title-line>span{width:24px;height:24px}.admin-v2-shell .admin-lab-book-actions{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}.admin-v2-shell .admin-booklist-match-form,.admin-v2-shell .admin-booklist-alias-form{grid-template-columns:1fr}.admin-v2-shell .info-card{min-height:106px;padding:14px}.admin-v2-shell .info-card-value{font-size:30px}.admin-v2-shell .admin-panel{padding:16px;border-radius:16px}.admin-v2-shell .admin-row,.admin-v2-shell .admin-table-row,.admin-v2-shell .admin-student-row,.admin-v2-shell .admin-segment-row,.admin-v2-shell .admin-long-challenge-row{grid-template-columns:1fr;align-items:stretch}.admin-v2-shell .admin-form-grid{grid-template-columns:1fr}.admin-v2-shell .admin-form-grid .span-two,.admin-v2-shell .admin-route-field.span-two{grid-column:auto}.admin-v2-shell .admin-product-card header{display:grid;grid-template-columns:1fr}}@media(max-width:430px){.admin-v2-shell .admin-overview-grid,.admin-v2-shell .info-card-grid,.admin-v2-shell .admin-unresolved-actions form{grid-template-columns:1fr}.admin-v2-shell .admin-unresolved-actions .secondary-button{width:100%;white-space:normal}}html[data-display-mode=eink] body{color:#000;background:#fff;background-image:none}html[data-display-mode=eink] *,html[data-display-mode=eink] *:before,html[data-display-mode=eink] *:after{animation:none!important;transition:none!important;text-shadow:none!important;box-shadow:none!important}html[data-display-mode=eink] .app-shell,html[data-display-mode=eink] .app-header,html[data-display-mode=eink] .page-frame,html[data-display-mode=eink] .page-section,html[data-display-mode=eink] .profile-card,html[data-display-mode=eink] .info-card,html[data-display-mode=eink] .settings-toggle-row,html[data-display-mode=eink] .empty-state,html[data-display-mode=eink] .primary-card,html[data-display-mode=eink] .secondary-card,html[data-display-mode=eink] .bottom-nav,html[data-display-mode=eink] .modal,html[data-display-mode=eink] .dialog{color:#000;background:#fff!important;background-image:none!important;border-color:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html[data-display-mode=eink] button,html[data-display-mode=eink] .primary-button,html[data-display-mode=eink] .secondary-button,html[data-display-mode=eink] .ghost-button,html[data-display-mode=eink] .icon-button,html[data-display-mode=eink] input,html[data-display-mode=eink] textarea,html[data-display-mode=eink] select{color:#000!important;background:#fff!important;background-image:none!important;border-color:#000!important}html[data-display-mode=eink] .primary-button,html[data-display-mode=eink] button.active,html[data-display-mode=eink] .bottom-nav button.active{color:#fff!important;background:#000!important;border-color:#000!important}html[data-display-mode=eink] button:disabled,html[data-display-mode=eink] input:disabled{color:#777!important;border-color:#777!important;opacity:1}html[data-display-mode=eink] .year-heatmap-cell{color:#000!important;background:#fff!important;background-image:none!important;border:1px solid #9a9a9a!important}html[data-display-mode=eink] .year-heatmap-cell.level-1{background:#eee!important;border-color:#8c8c8c!important}html[data-display-mode=eink] .year-heatmap-cell.level-2{background:#d0d0d0!important;border-color:#777!important}html[data-display-mode=eink] .year-heatmap-cell.level-3{background:#9c9c9c!important;border-color:#555!important}html[data-display-mode=eink] .year-heatmap-cell.level-4{background:#666!important;border-color:#222!important}html[data-display-mode=eink] .year-heatmap-cell.level-5{color:#fff!important;background:#111!important;border-color:#000!important}html[data-display-mode=eink] .year-heatmap-cell.empty{background:transparent!important;border-color:transparent!important}html[data-display-mode=eink] .year-heatmap-cell.future{background:#fff!important;border-color:#d0d0d0!important}html[data-display-mode=eink] .year-heatmap-cell.waiting-sync{background:repeating-linear-gradient(135deg,#fff 0 4px,#e4e4e4 4px 8px)!important;border-color:#8c8c8c!important}html[data-display-mode=eink] .year-heatmap-cell.today,html[data-display-mode=eink] .year-heatmap-cell.is-active{outline:2px solid #000000;outline-offset:1px;transform:none}html[data-display-mode=eink] .year-heatmap-cell.level-4 .year-heatmap-today-mark,html[data-display-mode=eink] .year-heatmap-cell.level-5 .year-heatmap-today-mark{color:#fff!important}
