@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=Nunito:wght@700;800;900&display=swap";.site-registration-footer{text-align:center;color:#62646b;padding:12px 16px;font-size:12px}.site-registration-footer a{color:inherit;text-decoration:none}.site-registration-footer a:hover{text-decoration:underline}:root{color:#26243a;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f7fb;font-family:Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer}.member-profile-workspace{grid-template-columns:minmax(180px,.7fr) minmax(200px,.8fr) minmax(340px,1.5fr);align-items:stretch;gap:16px;display:grid}.member-profile-workspace>.panel{box-sizing:border-box;min-width:0;min-height:540px}.member-profile-workspace .panel-title{align-items:start;margin-bottom:24px}.member-profile-workspace h2 .member-count{letter-spacing:0;margin-left:8px;display:inline-block}.member-profile-workspace label{color:#696377;gap:7px;min-width:0;font-size:11px;font-weight:700;display:grid}.member-profile-workspace input,.member-profile-workspace select{box-sizing:border-box;color:#342f48;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;width:100%;min-width:0;padding:10px 11px;font-family:inherit;font-size:11px;font-weight:500}.member-profile-workspace input[readonly]{color:#657365;cursor:default;background:#f3f4ef}.member-profile-workspace :focus-visible{outline-offset:2px;outline:2px solid #8d7de1}.member-profile-scope .rule-hint{margin:16px 0;font-size:10px}.member-profile-scope>.text-button{font-size:11px}.member-profile-options{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;align-content:start;max-height:440px;display:grid;overflow-y:auto}.member-profile-options>button{color:#26243a;text-align:left;background:0 0;border:1px solid #0000;border-bottom-color:#f0eef4;border-radius:0;align-items:center;gap:10px;width:100%;min-width:0;padding:12px 8px;font-family:inherit;display:flex}.member-profile-options>button[aria-pressed=true]{background:#f0edff;border-color:#8d7de1;border-radius:9px}.member-profile-options>button:hover{background:#f5f2fc}.member-profile-options>button>span:last-child{overflow-wrap:anywhere;min-width:0}.member-profile-options b{font-size:11px;display:block}.member-profile-options small{color:#938c9c;margin-top:4px;font-size:9px;line-height:1.5;display:block}.member-profile-options .mini-avatar,.member-profile-summary .mini-avatar{flex:none}.member-profile-detail form{gap:16px;display:grid}.member-profile-summary{overflow-wrap:anywhere;border-bottom:1px solid #f0eef4;align-items:center;gap:10px;padding-bottom:16px;display:flex}.member-profile-summary b{font-size:12px}.member-profile-summary small{color:#938c9c;margin-top:4px;font-size:9px;display:block}.member-profile-fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.member-profile-note{color:#938c9c;margin:0;font-size:10px;line-height:1.6}.member-profile-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.member-profile-actions>.primary-button{white-space:nowrap;width:auto}.member-profile-actions>p{color:#657365;margin:0;font-size:11px;line-height:1.5}@media (width<=1100px){.member-profile-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.member-profile-workspace>.panel{min-height:280px}.member-profile-detail{grid-column:1/-1}.member-profile-workspace>.member-profile-detail{min-height:540px}.member-profile-options{max-height:280px}}@media (width<=560px){.member-profile-workspace{grid-template-columns:minmax(0,1fr)}.member-profile-workspace>.panel{min-height:220px}.member-profile-workspace>.member-profile-detail{min-height:540px}.member-profile-workspace .panel-title{margin-bottom:18px}.member-profile-options>button{min-height:56px}}.welcome-screen{background:#5e952b;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.welcome-hero{object-fit:cover;object-position:center;width:100%;height:100svh}.welcome-enter{cursor:pointer;background:0 0;border:0;font-size:0;position:absolute;inset:0}.welcome-enter:focus-visible{outline-offset:-8px;outline:4px solid #fff}.welcome-modal-backdrop{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a391354;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.welcome-modal{border-radius:24px;max-width:min(100%,460px);max-height:calc(100svh - 48px);position:relative;overflow:auto;box-shadow:0 24px 70px #08230f80}.welcome-access-card{width:min(100%,460px)}.welcome-modal-close{z-index:1;color:#625a70;cursor:pointer;background:#f0edf8;border:0;border-radius:50%;width:32px;height:32px;font:500 24px/28px system-ui;position:absolute;top:13px;right:13px}.auth-screen{background:radial-gradient(circle at top,#ede8ff,#f8f7fb 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #e4dff2;border-radius:22px;gap:14px;width:min(100%,440px);padding:32px;display:grid;box-shadow:0 20px 55px #514a7620}.auth-card h1{color:#3d3657;margin:0}.auth-card p{color:#776f85;margin:0;line-height:1.7}.auth-card label{color:#625a70;gap:7px;font-size:13px;font-weight:800;display:grid}.auth-card input,.auth-card select{box-sizing:border-box;color:#3d3657;width:100%;font:inherit;background:#fcfbfe;border:1px solid #d9d3e6;border-radius:10px;padding:12px}.auth-card select:invalid{color:#817a91}.auth-error{border-radius:8px;padding:9px;font-size:12px;color:#b34f4a!important;background:#fff1f0!important}.guardian-consent{background:#f7f5fc;border-radius:9px;padding:10px;line-height:1.55;grid-template-columns:18px 1fr!important;align-items:start!important;gap:8px!important;font-size:10px!important;font-weight:600!important}.guardian-consent input{margin:2px 0 0;width:auto!important}.guardian-consent span{color:#665f72}.access-switch{background:#f0edf8;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.access-switch button{color:#817a91;font:inherit;background:0 0;border:0;border-radius:8px;padding:9px;font-size:12px;font-weight:800}.access-switch button.selected{color:#5c4bc5;background:#fff;box-shadow:0 2px 7px #53477918}.cloudbase-dev-note{z-index:20;color:#655d74;background:#fff;border:1px solid #ddd7eb;border-radius:10px;max-width:calc(100vw - 32px);padding:9px 12px;font-size:11px;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 20px #4b426318}.cloudbase-dev-note code{font-size:10px}@media (width<=700px){.welcome-hero{object-position:center;width:auto;max-width:none;height:100svh}.welcome-enter{color:#082f5f;background:#fffdf4;border-radius:999px;min-width:200px;padding:15px 25px;font:800 17px/1 system-ui,sans-serif;inset:auto 50% 8% auto;transform:translate(50%);box-shadow:0 8px 20px #264a1860}.welcome-enter:hover{transform:translate(50%,-2px);box-shadow:0 11px 26px #264a1870}.welcome-enter span{margin-left:9px}.welcome-modal-backdrop{padding:16px}.welcome-modal{width:100%;max-height:calc(100svh - 32px)}.welcome-access-card{box-sizing:border-box;width:100%;padding:26px 22px}}.welcome-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#12421f42}.welcome-modal{max-width:min(100%,472px);box-shadow:none;border-radius:25px}.welcome-access-card{box-sizing:border-box;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf6e3;border:1px solid #ffffffb8;border-radius:25px;width:min(100%,472px);box-shadow:0 18px 45px #10401f45}.welcome-access-card h1{color:#124a35;letter-spacing:-.8px;font-size:clamp(32px,3vw,40px)}.welcome-access-card p{color:#496454}.welcome-access-card .eyebrow{color:#4d7630;letter-spacing:1.5px}.welcome-access-card label{color:#285540}.welcome-access-card input,.welcome-access-card select{color:#173f2e;background:#fffffab8;border-color:#3d6c444d}.welcome-access-card input:focus,.welcome-access-card select:focus{border-color:#d98f27;outline:3px solid #f4b34047}.welcome-access-card .access-switch{background:#1e55311a}.welcome-access-card .access-switch button{color:#527160}.welcome-access-card .access-switch button.selected{color:#205c3d;background:#fffdf6f0;box-shadow:0 2px 8px #17492b21}.welcome-access-card .primary-button{color:#173f2e;background:linear-gradient(135deg,#e88729,#f0b23d);box-shadow:0 7px 16px #b1681947}.welcome-access-card .primary-button:hover{background:linear-gradient(135deg,#de7c25,#eca72f)}.welcome-modal-close{color:#285540;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf6b8}.welcome-modal-close:hover{background:#fff7dc}.character-figure{background-position:bottom;background-repeat:no-repeat;background-size:contain;place-items:center;display:grid}.character-figure.princess{background-image:url(/princess-transparent.png)}.character-figure.prince{background-image:url(/prince-transparent.png)}.registration-character-preview{background:#eef3e7;border-radius:14px;justify-items:center;gap:8px;margin-top:18px;padding:18px;display:grid}.registration-character-preview .character-figure{width:150px;height:190px}.registration-character-preview p{color:#696377;margin:0;font-size:12px;line-height:1.6}.jianghu-doodle{vertical-align:middle;pointer-events:none;flex-shrink:0;width:84px;height:68px;display:inline-block}.jianghu-doodle svg{width:100%;height:100%;display:block}.jianghu-doodle.compact{width:32px;height:26px}.jianghu-report-section.with-doodle{grid-template-columns:minmax(0,1fr) 84px;align-items:center;gap:12px;display:grid}.jianghu-report-section.with-doodle>div{min-width:0}@media (width<=560px){.jianghu-report-section.with-doodle{grid-template-columns:minmax(0,1fr) 60px;gap:8px}.jianghu-report-section .jianghu-doodle{width:60px;height:52px}}.route-insights{gap:18px;margin-bottom:18px;display:grid}.route-insights .panel-title{margin-bottom:18px}.route-insights .panel-title .muted{font-size:11px}.route-range-toolbar{flex-wrap:wrap;justify-content:flex-start;margin:0 0 18px}.route-investment-list{max-height:400px;overflow:auto}.route-investment-row{grid-template-columns:20px minmax(140px,190px) minmax(70px,1fr) 90px;align-items:center;gap:14px;min-height:40px;font-size:12px;display:grid}.route-investment-row>span{color:#938c9c;font-size:10px}.route-investment-row>b{overflow-wrap:anywhere;font-size:12px}.route-investment-row>strong{text-align:right;color:#62596f;font-size:11px;font-weight:700}.route-investment-track{background:#eceae4;border-radius:10px;height:7px;overflow:hidden}.route-investment-track i{border-radius:10px;height:100%;display:block}.route-insight-note{color:#81798c;margin:14px 0 0;font-size:10px;line-height:1.6}.route-insight-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.route-insight-filters label{color:#6f657e;gap:6px;font-size:11px;font-weight:700;display:grid}.route-insight-filters select{color:#26243a;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;width:100%;min-width:0;padding:9px 10px;font-family:inherit;font-size:11px}.route-peer-layout{grid-template-columns:minmax(0,1fr) 230px;gap:24px;margin-top:20px;display:grid}.route-peer-layout>div{min-width:0}.route-chart-legend{color:#81798c;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:6px;font-size:10px;display:flex}.route-chart-legend span{align-items:center;gap:5px;display:flex}.route-chart-legend i{background:#9a83b8;border-radius:50%;width:7px;height:7px}.route-chart-legend .self i{background:#0f7148}.route-chart-legend small{font-size:9px}.route-daily-scroll{overflow:auto hidden}.route-daily-chart{position:relative}.route-daily-chart svg{position:absolute;inset:0}.route-daily-chart svg text{fill:#938c9c;font-family:inherit;font-size:9px}.route-chart-point{white-space:nowrap;z-index:1;flex-direction:column;align-items:center;gap:2px;min-width:66px;font-size:9px;line-height:1.2;display:flex;position:absolute}.route-chart-point>b{color:#6d588b;background:#fffdf6dd;border-radius:4px;padding:1px 3px;font-size:10px}.route-chart-point small{color:#81798c;background:#fffdf6dd;font-size:9px}.route-child-avatar{background:#eee3f7;border:2px solid #bca5d2;border-radius:50%;flex-shrink:0;width:26px;height:26px;display:inline-flex;overflow:hidden}.route-child-avatar svg{width:100%;height:100%;position:static}.route-child-avatar img{object-fit:cover;width:100%;height:100%}.route-chart-point.self .route-child-avatar{border-color:#0f7148}.route-chart-point.self>b{color:#0f7148}.route-chart-point>i{background:#baa4ce;width:1px;position:absolute;top:100%}.route-chart-point>i:after{content:"";background:#9a83b8;border-radius:50%;width:5px;height:5px;position:absolute;bottom:-2px;left:-2px}.route-chart-point.self>i,.route-chart-point.self>i:after{background:#0f7148}.route-peer-ranking{border-left:1px solid #e5e2e9;min-width:0;padding-left:20px}.route-peer-ranking h3{color:#62596f;margin:0 0 12px;font-size:12px}.route-peer-ranking>div{max-height:400px;overflow:auto}.route-peer-ranking>div>div{border-bottom:1px solid #eeebf3;grid-template-columns:16px 26px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:40px;font-size:10px;display:grid}.route-peer-ranking em{color:#938c9c;font-style:normal}.route-peer-ranking b{overflow-wrap:anywhere;font-size:10px}.route-peer-ranking span:last-child{color:#81798c;font-size:10px}.route-peer-ranking .self b{color:#0f7148}.route-peer-ranking .self .route-child-avatar{border-color:#0f7148}@media (width<=980px){.route-peer-layout{grid-template-columns:minmax(0,1fr)}.route-peer-ranking{border-top:1px solid #e5e2e9;border-left:0;padding:16px 0 0}.route-peer-ranking>div{max-height:280px}}@media (width<=700px){.route-insights .panel-title{flex-direction:column;align-items:flex-start;gap:8px}.route-insight-filters{grid-template-columns:minmax(0,1fr)}.route-investment-row{grid-template-columns:16px minmax(0,1fr) 72px;gap:8px;padding:8px 0}.route-investment-track{grid-area:2/2/auto/4}.route-investment-row>strong{grid-area:1/3}.route-range-toolbar select{max-width:180px}.route-range-toolbar input{max-width:155px}}.monopoly-card{min-width:0}.monopoly-card .panel-title{flex-wrap:wrap;gap:14px}.monopoly-card .period-switch{flex-shrink:0}.monopoly-card .route-chart-point>b{text-overflow:ellipsis;max-width:110px;overflow:hidden}.monopoly-future{color:#938c9c;font-size:10px;position:absolute;transform:translate(-50%)}.monopoly-card .empty-state .text-button{margin-left:8px}@media (width<=560px){.monopoly-card .panel-title{flex-direction:column;align-items:flex-start}.monopoly-card .period-switch button{font-size:11px}}.jianghu-page{gap:18px;min-width:0;display:grid}.jianghu-page .panel-title{flex-wrap:wrap;gap:10px}.jianghu-page .panel-title>.muted{white-space:nowrap;font-size:10px}.jianghu-day{color:#0f7148;background:#e4efd9;border-radius:9px;padding:10px 12px;font-size:11px}.jianghu-self-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.jianghu-self-heading h2{color:#123e30;margin:4px 0 0;font-size:20px}.jianghu-self-heading>p,.jianghu-copy,.jianghu-challenge>span{color:#70697b;font-size:12px;line-height:1.7}.jianghu-self-regions{grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:22px;display:grid}.jianghu-self .welcome-treasures{width:100%;height:224px;min-height:224px;margin:0}.jianghu-self .character-attributes,.jianghu-stats{border:0;border-left:1px solid #34704d2e;min-width:0;height:224px;padding:0 0 0 22px}.jianghu-stats{flex-direction:column;display:flex}.jianghu-self .jianghu-stats>h2{color:#51466b;margin:0;font-size:14px;line-height:1.5}.jianghu-stats dl{grid-template-rows:repeat(2,29px);grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 16px;margin:12px 0 0;display:grid}.jianghu-stats dl>div{justify-content:flex-start;align-items:center;gap:8px;display:flex}.jianghu-stats dt{color:#696377;font-size:12px}.jianghu-stats dd{color:#39324f;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:18px;font-weight:800}.jianghu-stats dd small{color:#938c9c;margin-left:3px;font-size:9px;font-weight:400}.jianghu-latest-title{gap:6px;margin-top:auto;display:grid}.jianghu-latest-title>span{color:#696377;font-size:12px}.jianghu-latest-title>b{color:#0f7148;overflow-wrap:anywhere;font-size:14px;line-height:1.5}.jianghu-latest-title>small{color:#938c9c;font-size:9px;line-height:1.5}.jianghu-opponents{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;max-height:340px;padding:4px;display:grid;overflow-y:auto}.jianghu-opponents>button{color:#26243a;cursor:pointer;background:#fffdf6;border:1px solid #dfdbe9;border-radius:10px;justify-items:center;gap:8px;padding:16px 10px;font-family:inherit;font-size:12px;display:grid}.jianghu-opponents>button[aria-pressed=true]{background:#e4efd9;border-color:#0f7148}.jianghu-opponents>button:focus-visible{outline-offset:2px;outline:2px solid #0f7148}.jianghu-avatar{color:#70558e;background:#eee9fa;border-radius:50%;place-items:center;width:46px;height:46px;font-size:20px;display:grid;overflow:hidden}.jianghu-avatar img{object-fit:cover;width:100%;height:100%}.jianghu-selection{color:#0f7148;font-size:10px}.jianghu-challenge{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.jianghu-challenge .primary-button{width:auto}.jianghu-page button:disabled{opacity:.55;cursor:default}.jianghu-report>p{overflow-wrap:anywhere;margin:12px 0;font-size:12px;line-height:1.9}.jianghu-report-sections{margin:16px 0}.jianghu-report-section{border-top:1px solid #34704d24;padding:14px 0}.jianghu-report-section h3{color:#0f7148;margin:0 0 8px;font-size:11px;font-weight:700}.jianghu-report-section p{overflow-wrap:anywhere;margin:8px 0 0;font-size:12px;line-height:1.9}.jianghu-report-section strong{color:#123e30;font-weight:800}.jianghu-report small,.jianghu-local-note{color:#70697b;font-size:10px;line-height:1.7}@media (width<=1200px){.jianghu-self-regions{grid-template-columns:repeat(2,minmax(0,1fr))}.jianghu-stats{border-top:1px solid #34704d2e;border-left:0;grid-column:1/-1;height:auto;padding:18px 0 0}.jianghu-stats dl{grid-template-rows:29px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}.jianghu-latest-title{margin-top:16px}}@media (width<=780px){.jianghu-self-regions{grid-template-columns:minmax(0,1fr);gap:20px}.jianghu-self .character-attributes{border-top:1px solid #34704d2e;border-left:0;height:242px;padding:18px 0 0}.jianghu-stats{grid-column:auto}.jianghu-self-heading{flex-direction:column;align-items:flex-start;gap:4px}.jianghu-self-heading>p{margin:0}.jianghu-stats dl{grid-template-columns:repeat(2,minmax(0,1fr))}.jianghu-page .parent-page-heading{flex-wrap:wrap;gap:12px}}@media (width<=560px){.jianghu-opponents{grid-template-columns:repeat(2,minmax(0,1fr))}}.jianghu-opponent-wins{color:#70697b;align-items:baseline;gap:6px;font-size:11px;display:flex}.jianghu-opponent-wins b{color:#0f7148;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.jianghu-bout-entry{padding-top:18px}.jianghu-bout-entry+.jianghu-bout-entry{border-top:1px solid #34704d2e;margin-top:20px}.jianghu-bout-entry>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.jianghu-bout-entry>header .eyebrow{color:#70697b;margin:0 0 6px;font-size:11px;line-height:1.6}.jianghu-bout-entry>header h3{color:#51466b;margin:0;font-size:16px;line-height:1.5}.jianghu-bout-entry>header time{color:#938c9c;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;line-height:1.6}@media (width<=560px){.jianghu-bout-entry>header{flex-wrap:wrap;gap:6px}}.jianghu-rule-note{color:#938c9c;margin:6px 0 0;font-size:10px;line-height:1.6}.jianghu-opponents .jianghu-character{background-color:#0000;background-position:bottom;background-repeat:no-repeat;background-size:contain;border-radius:0;width:90px;height:116px}.jianghu-opponents .jianghu-character.princess{background-image:url(/princess-transparent.png)}.jianghu-opponents .jianghu-character.prince{background-image:url(/prince-transparent.png)}.jianghu-character-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.jianghu-character-actions>p{color:#70697b;margin:0;font-size:12px;line-height:1.7}.jianghu-opponents>button{position:relative}.jianghu-ink-stamp{z-index:1;pointer-events:none;color:#a84e3b;width:45px;height:51px;display:block;position:absolute;top:5px;right:5px;transform:rotate(9deg)}.jianghu-ink-stamp.loss{color:#626c71;transform:rotate(-8deg)}.jianghu-ink-stamp svg{fill:currentColor;width:100%;height:45px;display:block;overflow:visible}.jianghu-ink-stamp .ink-wash{opacity:.08}.jianghu-ink-stamp .ink-ring{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;opacity:.5}.jianghu-ink-stamp .ink-flick{opacity:.65}.jianghu-ink-stamp text{font-family:STKaiti,KaiTi,Kaiti SC,Songti SC,serif;font-size:37px;font-weight:900}.jianghu-ink-stamp small{text-align:center;letter-spacing:3px;margin-top:-2px;padding-left:3px;font-size:8px;line-height:1;display:block}.jianghu-opponents>button:disabled{opacity:1;background:#f7f6ef}.jianghu-opponents>button:disabled>:not(.jianghu-ink-stamp){opacity:.65}.checkin-card{min-width:0}.checkin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.checkin-head h2{color:#123e30;margin:0;font-size:20px}.checkin-badge{color:#0f7148;white-space:nowrap;background:#e4efd9;border-radius:20px;padding:6px 10px;font-size:10px}.checkin-sub{color:#81798c;margin:8px 0 20px;font-size:11px;line-height:1.7}.checkin-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.checkin-filters label{color:#756d80;flex-direction:column;gap:6px;font-size:10px;font-weight:750;display:flex}.checkin-filters select{color:#26243a;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;width:100%;min-width:0;height:39px;padding:10px 11px;font-family:inherit;font-size:12px}.checkin-filters select:disabled{color:#938c9c;background:#f3f1f5}.checkin-tabs{background:#fffdfa;border:1px solid #e5e0ed;border-radius:12px;gap:4px;width:max-content;max-width:100%;padding:4px;display:flex}.checkin-tabs button{color:#81798c;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:12px;font-weight:700}.checkin-tabs button[aria-pressed=true]{color:#6255bd;background:#f0edff}.checkin-tabs button:hover{background:#f2efef}.checkin-tabs button:focus-visible,.checkin-filters select:focus-visible,.checkin-rules summary:focus-visible{outline-offset:3px;outline:3px solid #8d7de1}.checkin-scope{color:#81798c;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;margin:17px 0 12px;font-size:10px;line-height:1.6;display:flex}.checkin-scope strong{color:#6255bd;font-weight:700}.checkin-self{color:#48664d;background:#edf3e6;border:1px solid #dfe8d5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;padding:12px 14px;font-size:11px;display:flex}.checkin-self strong{color:#123e30;font-size:13px}.checkin-table-head,.checkin-row{grid-template-columns:46px minmax(100px,1fr) 135px 130px;align-items:center;gap:12px;display:grid}.checkin-table-head{color:#938c9c;border-bottom:1px solid #eeebf3;padding:0 8px 9px;font-size:10px}.checkin-table-head span:nth-last-child(-n+2){text-align:right}.checkin-rows{scrollbar-width:thin;scrollbar-color:#d9d6e2 transparent;max-height:430px;overflow:auto}.checkin-row{border-bottom:1px solid #eeebf3;min-height:62px;padding:12px 8px}.checkin-row:last-child{border:0}.checkin-row.self{background:#f0f5e980}.checkin-rank{color:#938c9c;text-align:center;font-size:12px}.checkin-rank.leading{color:#6255bd;font-weight:800}.checkin-identity{align-items:center;gap:10px;min-width:0;display:flex}.checkin-avatar{color:#6b59b6;background:#eee9fb;border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.checkin-row:nth-child(2n) .checkin-avatar{color:#52849f;background:#e5f1f9}.checkin-identity b{overflow-wrap:anywhere;font-size:11px;font-weight:750}.checkin-identity small{color:#0f7148;margin-left:6px;font-size:9px;font-weight:500}.checkin-identity p{color:#938c9c;margin:4px 0 0;font-size:9px}.checkin-metric{text-align:right;white-space:nowrap;color:#123e30;font-variant-numeric:tabular-nums;font-size:18px;font-weight:750}.checkin-metric small{color:#938c9c;margin-left:3px;font-size:10px;font-weight:500}.checkin-status{text-align:right;color:#81798c;font-variant-numeric:tabular-nums;font-size:10px}.checkin-status.done{color:#0f7148}.checkin-metric.empty{color:#938c9c;font-size:12px;font-weight:500}.checkin-rules{color:#81798c;margin-top:16px;font-size:10px;line-height:1.8}.checkin-rules summary{color:#6255bd;cursor:pointer;font-weight:700}.checkin-rules p{margin:8px 0 0}.checkin-footer{color:#938c9c;justify-content:space-between;gap:15px;margin-top:17px;font-size:9px;line-height:1.6;display:flex}@media (width<=700px){.checkin-table-head,.checkin-row{grid-template-columns:28px minmax(80px,1fr) 96px;gap:8px}.checkin-table-head span:last-child,.checkin-row>.checkin-status{display:none}.checkin-metric{font-size:17px}.checkin-tabs{width:100%}.checkin-tabs button{flex:1;padding:10px 6px;font-size:11px}.checkin-scope{flex-direction:column;align-items:flex-start;gap:3px}.checkin-filters{gap:8px}.checkin-footer{flex-direction:column;gap:2px}.checkin-self{padding:11px;font-size:10px}.checkin-self strong{font-size:12px}}@media (width<=390px){.checkin-filters{grid-template-columns:1fr 1fr}.checkin-filters label:first-child{grid-column:1/-1}.checkin-tabs button{font-size:10px}.checkin-head{gap:6px}.checkin-badge{padding:6px 8px;font-size:9px}.checkin-identity{gap:7px}.checkin-avatar{width:28px;height:28px}.checkin-table-head,.checkin-row{grid-template-columns:24px minmax(50px,1fr) 82px;gap:6px}.checkin-self{flex-direction:column;align-items:flex-start;gap:5px}}.group-notification-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.group-notification-card{flex-direction:column;min-width:0;display:flex}.group-notification-card .panel-title{align-items:flex-start;gap:10px}.group-notification-card .panel-title .muted{white-space:nowrap;font-size:10px}.group-notification-card .route-insight-note{margin:0 0 12px}.group-notification-list{max-height:320px;overflow:auto}.group-notification-list article{border-bottom:1px solid #eeebf3;align-items:center;gap:12px;min-height:72px;padding:12px 0;display:flex}.group-notification-list article>div{min-width:0}.group-notification-list b{color:#26243a;overflow-wrap:anywhere;font-size:12px}.group-notification-list p{color:#81798c;overflow-wrap:anywhere;margin:5px 0;font-size:11px}.group-notification-list time{color:#938c9c;margin-top:5px;font-size:9px;display:block}.group-notification-icon{color:#6255bd;flex-shrink:0;justify-content:center;width:32px;font-size:23px;display:flex}.group-notification-card .empty-state{font-size:11px;line-height:1.7}.group-notification-card .empty-state .text-button{margin-left:8px}@media (width<=700px){.group-notification-cards{grid-template-columns:minmax(0,1fr)}}.route-workspace{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch;gap:18px;display:grid}.route-workspace .panel{min-width:0}.route-workspace .panel-title{align-items:start;gap:12px;margin-bottom:16px}.route-workspace .panel-title .muted{white-space:nowrap;font-size:10px}.route-workspace-filters{gap:12px;display:grid}.route-workspace-filters label{color:#6f657e;gap:6px;font-size:11px;font-weight:700;display:grid}.route-workspace-filters select{color:#26243a;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;width:100%;min-width:0;padding:9px 10px;font-family:inherit;font-size:11px}.route-workspace-selection{border-bottom:1px solid #e6e2eb;margin-top:18px;padding-bottom:14px}.route-workspace-selection>span{font-size:10px;font-weight:700}.route-workspace-selection h3{color:#123e30;margin:5px 0 10px;font-size:16px}.route-workspace-selection>div{color:#81798c;flex-wrap:wrap;gap:10px 18px;font-size:10px;display:flex}.route-workspace-selection b{color:#51495f;font-size:11px}.route-workspace-selection .text-button{margin-top:10px;font-size:11px}.route-workspace-levels{max-height:420px;overflow:auto}.route-workspace-levels>section{border-bottom:1px solid #e6e2eb;padding:16px 0}.route-workspace-levels>section:last-child{border:0}.route-workspace-levels>section>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.route-workspace-levels h4{color:#62596f;margin:0;font-size:13px}.route-workspace-levels>section span{color:#938c9c;font-size:10px}.route-workspace-levels p{color:#26243a;margin:9px 0;font-size:12px;font-weight:700}.route-workspace-levels dl{gap:7px;margin:12px 0 0;display:grid}.route-workspace-levels dl>div{justify-content:space-between;gap:8px;display:flex}.route-workspace-levels dt{color:#81798c;font-size:10px}.route-workspace-levels dd{color:#51495f;margin:0;font-size:11px;font-weight:700}.route-workspace-note{color:#81798c;margin:12px 0;font-size:10px;line-height:1.6}.route-history-card{flex-direction:column;display:flex}.route-history-scroll{scrollbar-width:thin;scrollbar-color:#c3bcda #f1eff6;max-height:264px;overflow:auto}.route-history-event{box-sizing:border-box;white-space:nowrap;border-bottom:1px solid #e6e2eb;grid-template-columns:132px minmax(0,1fr) 112px 108px;align-items:center;gap:12px;min-width:650px;height:44px;font-size:11px;display:grid}.route-history-event:last-child{border:0}.route-history-time{color:#62596f;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.route-history-copy{text-overflow:ellipsis;white-space:nowrap;color:#62596f;min-width:0;overflow:hidden}.route-history-duration{color:#123e30;text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.route-history-fragments{color:#81798c;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:4px;font-size:10px;display:flex}.route-history-fragments svg{flex-shrink:0;width:14px;height:14px}.route-history-card>.route-workspace-note:last-child{margin-top:auto;margin-bottom:0;padding-top:16px}.route-history-scroll::-webkit-scrollbar{width:6px;height:6px}.route-history-scroll::-webkit-scrollbar-thumb{background:#c3bcda;border-radius:6px}@media (width<=980px){.route-workspace{grid-template-columns:minmax(0,1fr)}.route-workspace-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.route-workspace-filters{grid-template-columns:minmax(0,1fr)}.route-history-card .panel-title{flex-direction:column;gap:8px}}.password-settings{min-width:0;margin-top:16px}.password-settings .panel-title{align-items:center;gap:12px}.password-settings fieldset{border:0;min-width:0;margin:0;padding:0}.password-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.password-fields label{gap:7px;font-size:11px;font-weight:700;display:grid}.password-fields input{color:#26243a;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;width:100%;min-width:0;padding:10px 11px;font-family:inherit;font-size:12px}.password-fields input:focus-visible{outline-offset:2px;outline:2px solid #0f7148}.password-hint{color:#5f7768;margin:10px 0;font-size:11px;line-height:1.7}.password-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.password-actions .primary-button{white-space:nowrap;flex:none;width:auto}.password-settings fieldset:disabled{opacity:.6}@media (width<=700px){.password-fields{grid-template-columns:1fr}.password-settings .panel-title{flex-wrap:wrap}}.account-avatar{border:1px solid var(--kpp-line);background:var(--kpp-cream);width:48px;height:48px;color:var(--kpp-forest);box-sizing:border-box;border-radius:12px;flex:none;place-items:center;padding:3px;display:grid}.account-avatar img{object-fit:contain;width:100%;height:100%;display:block}.account-avatar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:70%;height:70%}.avatar-file-input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.avatar-upload-hint{color:#50685c;margin:10px 0;font-size:11px;line-height:1.65}.avatar-upload-actions{flex-wrap:wrap;align-items:center;gap:14px;margin:15px 0;display:flex}.avatar-upload-actions .text-button{color:var(--kpp-forest);font-size:11px;font-weight:700}.avatar-upload-actions .primary-button{width:auto;padding:8px 12px;font-size:11px}.avatar-upload-actions button:focus-visible{outline:3px solid var(--kpp-sun);outline-offset:3px}.avatar-upload-actions button:disabled{opacity:.55;cursor:default}.sidebar-account>.account-avatar{width:40px;height:40px}@media (width<=980px){.mobile-account>.account-avatar{width:34px;height:34px}}.route-material-browser{background:var(--kpp-card-solid);min-width:0}.material-filters{grid-template-columns:1fr 2fr 1fr;gap:12px;display:grid}.material-filters label{color:#696377;gap:6px;min-width:0;font-size:11px;font-weight:700;display:grid}.material-filters select{color:#26243a;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;width:100%;min-width:0;padding:10px 11px;font-family:inherit;font-size:12px}.material-filters select:disabled{opacity:.6}.material-selection{color:#26243a;overflow-wrap:anywhere;margin:16px 0 10px;font-size:12px;font-weight:700}.material-resources{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;min-width:0;display:grid}.material-column{min-width:0}.material-column h4{color:#696377;align-items:center;gap:8px;margin:0 0 8px;font-size:11px;font-weight:700;display:flex}.material-column h4 small{color:#938c9c;font-size:10px;font-weight:500}.material-scroll{--material-row-height:56px;grid-auto-rows:var(--material-row-height);max-height:calc(6 * var(--material-row-height));overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.material-scroll>li{border-bottom:1px solid var(--kpp-line);box-sizing:border-box;min-width:0}.material-web-links a{box-sizing:border-box;min-width:0;max-width:100%;height:100%;color:var(--kpp-forest);flex-direction:column;justify-content:center;gap:3px;padding:6px 4px;font-size:11px;line-height:1.6;text-decoration:none;display:flex}.material-web-links small{text-overflow:ellipsis;white-space:nowrap;color:#696377;max-width:100%;font-size:10px;display:block;overflow:hidden}.material-web-links a:hover span{text-decoration:underline}.material-downloads a{box-sizing:border-box;max-width:100%;height:100%;color:var(--kpp-forest);align-items:center;gap:9px;padding:5px 4px;font-size:11px;text-decoration:none;display:flex}.material-downloads a>span{min-width:0;line-height:1.6}.material-downloads b{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.material-downloads small{color:#696377;font-size:10px;display:block}.material-downloads a:hover>span{text-decoration:underline}.material-file-icon{color:#696377;flex:none;width:36px;height:44px}.material-file-icon.pdf{color:#c24949}.material-file-icon.word{color:#3768b0}.material-file-icon.sheet{color:#21835a}.material-file-icon.slides{color:#c06a32}.material-file-icon.archive{color:#8b63ac}.material-file-icon.image{color:#3c8694}.material-file-icon.audio,.material-file-icon.video{color:#7564b4}.material-empty{color:#696377;margin:12px 0 0;font-size:11px;line-height:1.7}.route-material-browser :focus-visible,.material-resources :focus-visible{outline:2px solid var(--kpp-forest);outline-offset:-2px}@media (width<=560px){.material-filters{grid-template-columns:1fr;gap:10px}.material-resources{grid-template-columns:1fr;gap:16px}}.material-web-links span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-material-editor{gap:10px;min-width:0;display:grid}.material-editor-heading{color:#696377;justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.material-editor-heading .text-button{width:auto;margin:0}.material-link-rows{gap:10px;min-width:0;display:grid}.material-link-row{border-bottom:1px solid var(--kpp-line);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:end;gap:10px;min-width:0;padding-bottom:10px;display:grid}.material-link-row label{min-width:0;margin:0}.material-link-row input{box-sizing:border-box;width:100%;min-width:0}.material-link-row .material-remove{color:#9a6969;cursor:pointer;background:0 0;border:0;width:auto;min-height:38px;font-family:inherit;font-size:11px}.material-upload-status,.material-error{overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.7}.material-upload-status{color:var(--kpp-forest)}.material-error{color:#a34646}.material-downloads a,.route-material-files a{cursor:pointer}.material-downloads li:has(.material-error){flex-direction:column;grid-row:span 2;display:flex}.material-downloads li:has(.material-error)>a{flex:1;height:auto;min-height:56px}.material-downloads .material-error{flex-shrink:0;padding:0 4px 6px}.route-material-files li:has(.material-error){flex-wrap:wrap}.route-material-files li>.material-error{white-space:normal;flex-basis:100%;order:1}.route-material-editor :focus-visible{outline:2px solid var(--kpp-forest);outline-offset:2px}@media (width<=560px){.material-link-row{grid-template-columns:minmax(0,1fr)}.material-link-row .material-remove{justify-self:end;min-height:44px}.material-editor-heading .text-button{min-height:44px}}.schedule-date-action{justify-content:center;align-items:center;gap:2px;margin-top:2px;display:flex}.schedule-day .schedule-date-action small{margin:0}.schedule-copy-add{color:#817a95;background:0 0;border:0;border-radius:7px;place-items:center;width:30px;min-width:30px;height:30px;padding:0;font-size:17px;font-weight:500;line-height:1;display:grid}.schedule-copy-add:hover:not(:disabled){color:#6255bd;background:#eeeaf7}.schedule-copy-add:disabled{opacity:.35;cursor:default}.schedule-copy-add:focus-visible{outline-offset:1px;outline:2px solid #6255bd}.modal-backdrop.schedule-copy-backdrop{z-index:1400;justify-content:center;align-items:center;padding:24px;display:flex}.schedule-copy-dialog{color:#26243a;background:#fffdf6;border:1px solid #34704d2e;border-radius:18px;outline:none;flex-direction:column;width:min(780px,100%);min-width:0;max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 10px 28px #1647291a}.schedule-copy-header{flex-shrink:0;padding:20px 24px 16px;position:relative}.schedule-copy-header .eyebrow{margin:0 40px 5px 0;font-size:10px}.schedule-copy-header h2{color:#123e30;margin:0;font-size:20px}.schedule-copy-header>p{color:#81798e;margin:8px 25px 0 0;font-size:12px;line-height:1.6}.schedule-copy-close{color:#81798e;background:0 0;border:0;border-radius:9px;place-items:center;width:40px;height:40px;font-size:23px;display:grid;position:absolute;top:12px;right:12px}.schedule-copy-headings{color:#81798e;background:#f7f5fb;border-block:1px solid #e4dfec;flex-shrink:0;grid-template-columns:106px minmax(0,1fr) 60px 65px 82px;gap:12px;padding:9px 24px;font-size:10px;display:grid}.schedule-copy-days{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccc3de transparent;min-height:0;max-height:510px;overflow-y:auto}.schedule-copy-day{border-bottom:1px solid #e4dfec;grid-template-columns:106px minmax(0,1fr);gap:12px;padding:15px 24px;display:grid}.schedule-copy-day:last-child{border-bottom:0}.schedule-copy-day.selected{background:#f0edff}.schedule-copy-date{cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-content:start;gap:9px;min-height:44px;padding:3px 0;line-height:1.5;display:grid}.schedule-copy-date input{appearance:none;background:#fff;border:1px solid #c5bed3;border-radius:4px;place-items:center;width:16px;height:16px;margin:2px 0 0;padding:0;display:grid}.schedule-copy-date input:checked{background:#6255bd;border-color:#6255bd}.schedule-copy-date input:checked:after{content:"✓";color:#fff;font-size:12px;line-height:1}.schedule-copy-date input:disabled{cursor:default}.schedule-copy-date b{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.schedule-copy-date small{color:#81798e;margin-top:3px;font-size:10px;font-weight:400;display:block}.schedule-copy-courses{align-content:start;gap:10px;min-width:0;display:grid}.schedule-copy-course{font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) 60px 65px 82px;align-items:start;gap:12px;font-size:11px;line-height:1.6;display:grid}.schedule-copy-name{overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:700}.schedule-copy-level{color:#6f677e;font-weight:400}.schedule-copy-time,.schedule-copy-duration,.schedule-copy-progress{color:#6f677e;overflow-wrap:anywhere}.schedule-copy-empty{color:#81798e;padding-top:4px;font-size:11px}.schedule-copy-day.unavailable .schedule-copy-date{opacity:.55;cursor:default}.schedule-copy-course.unavailable{opacity:.6}.schedule-copy-unavailable{color:#b84848;font-size:10px;display:block}.schedule-copy-mobile-label{display:none}.schedule-copy-footer{background:#fffdf6;border-top:1px solid #e4dfec;flex-shrink:0;padding:13px 24px 17px}.schedule-copy-summary{color:#6f677e;margin:0;font-size:11px;line-height:1.6}.schedule-copy-hint{color:#81798e;margin:5px 0 0;font-size:10px;line-height:1.6}.schedule-copy-footer .form-error{margin:6px 0 0;font-size:11px}.schedule-copy-actions{justify-content:flex-end;gap:9px;margin-top:11px;display:flex}.schedule-copy-actions button{color:#6255bd;white-space:nowrap;background:#fff;border:1px solid #ded9e9;border-radius:9px;min-height:40px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:700}.schedule-copy-actions .primary-button{color:#fff;background:#0f7148;border-color:#0f7148;flex:none;width:auto;font-size:13px}.schedule-copy-actions button:disabled{opacity:.5;cursor:default}.schedule-copy-dialog button:focus-visible,.schedule-copy-dialog input:focus-visible,.schedule-copy-days:focus-visible{outline-offset:2px;outline:2px solid #6255bd}@media (width<=600px){.modal-backdrop.schedule-copy-backdrop{align-items:flex-end;padding:0}.schedule-copy-dialog{border-radius:18px 18px 0 0;width:100%;max-height:90dvh}.schedule-copy-header{padding:19px 16px 14px}.schedule-copy-headings{grid-template-columns:76px minmax(0,1fr);gap:8px;padding:9px 16px}.schedule-copy-headings span:nth-child(n+3){display:none}.schedule-copy-day{grid-template-columns:76px minmax(0,1fr);gap:8px;padding:14px 16px}.schedule-copy-date{grid-template-columns:16px minmax(0,1fr);gap:7px}.schedule-copy-date b{font-size:11px}.schedule-copy-courses{gap:12px}.schedule-copy-course{display:block}.schedule-copy-name{margin-bottom:3px;display:block}.schedule-copy-time,.schedule-copy-duration,.schedule-copy-progress{font-size:10px}.schedule-copy-time:after{content:" · "}.schedule-copy-progress{margin-top:1px;display:block}.schedule-copy-mobile-label{display:inline}.schedule-copy-footer{padding:12px 16px max(16px,env(safe-area-inset-bottom))}.schedule-copy-actions button{min-height:44px}.schedule-copy-actions{margin-top:9px}.schedule-copy-days{max-height:none}.schedule-copy-add{width:34px;min-width:34px;height:34px}}@media (pointer:coarse){.schedule-copy-add{width:44px;min-width:44px;height:44px}.schedule-copy-date{min-height:44px}}:root{--kpp-forest:#0f7148;--kpp-forest-dark:#123e30;--kpp-cream:#fffdf6;--kpp-sage:#e4efd9;--kpp-sun:#f4b640;--kpp-line:#34704d2e;--kpp-card:#fffdf6e0;--kpp-card-solid:#fffdf6f0}.journey-shell{isolation:isolate;background:0 0;position:relative}.journey-shell:before{z-index:-2;background-image:linear-gradient(#fffdf6ab,#e8f2ddb8),var(--journey-hero-image);content:"";background-position:50%;background-size:cover;position:fixed;inset:0}.journey-shell:after{z-index:-1;-webkit-backdrop-filter:blur(6px)saturate(.55);backdrop-filter:blur(6px)saturate(.55);content:"";background:#fffdf624;position:fixed;inset:0}.journey-shell .sidebar{border-right-color:var(--kpp-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafaefc7}.journey-shell .side-brand,.journey-shell .welcome h1,.journey-shell .admin-view h1{color:var(--kpp-forest-dark)}.journey-shell .side-brand i,.journey-shell .primary-button,.journey-shell .approve,.journey-shell .buddy-record{background:var(--kpp-forest);box-shadow:0 6px 14px #0f71483d}.journey-shell .sidebar>button:hover,.journey-shell .sidebar>button.active{color:var(--kpp-forest);box-shadow:none;background:#e4efd9d6}.journey-shell .topbar{border-bottom-color:var(--kpp-line)}.journey-shell .demo-strip{border-color:var(--kpp-line);color:#35604c;background:#e4efd9c2}.journey-shell .panel,.journey-shell .route-card,.journey-shell .stat-card{border-color:var(--kpp-line);background:var(--kpp-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 28px #1647291a}.journey-shell .route-card:nth-child(2),.journey-shell .route-card:nth-child(3),.journey-shell .route-card:nth-child(5),.journey-shell .stat-card.violet{background:var(--kpp-card)}.journey-shell .stat-card{border-top:1px solid var(--kpp-line)!important}.journey-shell .stat-card strong,.journey-shell .route-summary-heading>span,.journey-shell .achievement-heading>span{color:var(--kpp-forest-dark)}.journey-shell .text-button,.journey-shell .view-switch .selected,.journey-shell .period-switch button.selected{color:var(--kpp-forest)}.journey-shell .period-switch{border-color:var(--kpp-line);background:var(--kpp-card-solid)}.journey-shell .period-switch button.selected{background:var(--kpp-sage);box-shadow:none}.journey-shell .callout,.journey-shell .privacy-support details{background:#e4efd99e}.journey-shell .callout strong,.journey-shell .privacy-heading p b,.journey-shell .privacy-badge,.journey-shell .privacy-support details{color:var(--kpp-forest)}.journey-shell .week-bars .today i{background:linear-gradient(180deg,var(--kpp-forest),#76a46e)}.journey-shell .week-bars .today span{color:var(--kpp-forest)}.journey-shell .lower-grid .activity-panel,.journey-shell .awards,.journey-shell .parent-activity-list,.journey-shell .achievement-records,.journey-shell .weekly-schedule,.journey-shell .privacy-support{background:var(--kpp-card-solid)}.journey-shell .privacy-support{border-color:var(--kpp-line)}.journey-shell .privacy-heading{border-bottom-color:var(--kpp-line);background:#e4efd98c}.journey-shell .privacy-mark{background:var(--kpp-forest)}.journey-shell .privacy-support form{border-color:var(--kpp-line);background:var(--kpp-card-solid)}.journey-shell .privacy-support select:focus,.journey-shell .privacy-support textarea:focus{border-color:var(--kpp-forest);outline-color:#0f71482b}.journey-shell .toast{background:var(--kpp-forest-dark)}@media (width<=780px){.app-shell{padding:0 17px 35px}.topbar{height:65px}.brand{font-size:18px}.view-switch button{padding:6px 8px;font-size:11px}.welcome{align-items:start;padding:23px 0}.companion{display:none}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:108px;padding:14px}.stat-card strong{font-size:24px}.route-grid{grid-template-columns:1fr 1fr;gap:10px}.route-card{min-height:158px;padding:13px}.route-card h3{font-size:14px}.dashboard-grid,.lower-grid,.admin-grid{grid-template-columns:1fr}.dashboard-grid{margin-top:10px}.week-bars{height:110px}.award-list{grid-template-columns:1fr}.activity{grid-template-columns:34px 24px 1fr 52px;gap:7px}.activity p{max-height:32px;overflow:hidden}.section-head{margin-top:30px}.admin-view{padding-top:26px}.demo-strip{font-size:10px;line-height:1.5}.toast{max-width:none;bottom:17px;left:17px;right:17px}}.app-shell{max-width:1280px;margin:auto;padding:0 36px 56px}.topbar{justify-content:space-between;align-items:center;height:80px;display:flex}.brand{color:#292446;font-family:Nunito,sans-serif;font-size:21px;font-weight:900;text-decoration:none}.brand span{color:#7b68d8;margin-right:7px}.view-switch{background:#ecebf5;border-radius:12px;gap:4px;padding:4px;display:flex}.account-role-badge{border:1px solid var(--kpp-line);background:var(--kpp-sage);color:var(--kpp-forest);white-space:nowrap;text-shadow:none;box-shadow:none;border-radius:9px;flex:none;justify-content:center;align-items:center;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.4;display:inline-flex}.view-switch button{color:#77738c;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-size:13px}.view-switch .selected,.student-picker .selected{color:#4c4380;background:#fff;font-weight:700;box-shadow:0 2px 7px #46416d18}.avatar{color:#fff;background:#f36e6c;border:3px solid #ffe1d7;border-radius:50%;width:40px;height:40px;font-weight:800}.demo-strip{border:1px solid #ded8fb;border-radius:9px;margin:0;padding:8px 11px;font-size:11px}.welcome{justify-content:space-between;align-items:center;padding:30px 0 34px;display:flex}.eyebrow{letter-spacing:.8px;margin:0 0 7px;font-size:12px;font-weight:700}.welcome h1,.admin-view h1{letter-spacing:-1.4px;margin:0;font-family:Nunito,Noto Sans SC,sans-serif;font-size:clamp(30px,4vw,42px)}.subtle{margin:8px 0 0;font-size:14px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{border-radius:18px;flex-direction:column;min-height:132px;padding:19px;display:flex}.stat-card strong{letter-spacing:-.6px;font-family:Nunito;font-size:30px}.stat-card span{margin-top:6px;font-size:13px;font-weight:700}.stat-card small{margin-top:auto;font-size:11px}.section-head,.panel-title{justify-content:space-between;align-items:end;display:flex}.section-head{margin:39px 2px 16px}.section-head h2,.panel h2{letter-spacing:-.5px;margin:0;font-family:Nunito,sans-serif;font-size:20px}.text-button{background:0 0;border:0;padding:3px 0;font-size:13px;font-weight:700}.route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.route-card{border-top:4px solid var(--route);border-radius:17px;min-height:166px;padding:16px}.route-top,.progress-meta{justify-content:space-between;display:flex}.route-top button{background:0 0;border:0}.subject-chip{border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.route-card h3{margin:12px 0 2px;font-size:16px}.route-card p{height:16px;margin:0;font-size:11px}.progress-meta{align-items:center;margin-top:13px;font-size:11px}.progress,.thin-progress{border-radius:5px;height:6px;margin-top:6px;overflow:hidden}.progress i,.thin-progress i{background:var(--route);border-radius:inherit;height:100%;display:block}.route-card small{margin-top:9px;font-size:10px;display:block}.dashboard-grid{grid-template-columns:1.18fr .82fr;gap:15px;margin-top:16px;display:grid}.panel{border-radius:18px;padding:20px}.week-bars{align-items:flex-end;gap:13px;height:130px;padding:20px 6px 3px;display:flex}.week-bars div{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:8px;height:100%;display:flex}.week-bars i{border-radius:6px 6px 3px 3px;width:100%;max-width:28px;min-height:10px;display:block}.callout{border-radius:9px;margin:15px 0 0;padding:9px 12px;font-size:12px}.subject-row{grid-template-columns:32px 32px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:16px;font-size:12px;line-height:1.5;display:grid}.parent-subject-icon{aspect-ratio:1;border:1px solid color-mix(in srgb,var(--subject-color) 24%,transparent);background:color-mix(in srgb,var(--subject-color) 15%,var(--kpp-cream));width:100%;color:color-mix(in srgb,var(--subject-color) 58%,#26243a);border-radius:9px;place-items:center;font-size:14px;font-weight:800;line-height:1;display:grid}.subject-row>b{color:#26243a;font-size:12px;font-weight:700}.subject-row>span:last-child{color:#26243a;font-variant-numeric:tabular-nums;white-space:nowrap;font-family:Nunito,Noto Sans SC,sans-serif;font-size:12px;font-weight:700}.subject-panel .thin-progress{background:#eae7ee}.subject-panel .panel-title,.activity-panel .panel-title,.awards .panel-title{flex-wrap:wrap;gap:12px}.subject-panel .eyebrow,.activity-panel .eyebrow,.awards .eyebrow,.weekly-schedule .eyebrow{color:#696377;font-size:12px}.activity-panel .muted,.awards .muted,.weekly-schedule .muted{color:#938c9c;font-size:10px;line-height:1.5}.activity-panel .panel-title h2,.awards .panel-title h2,.weekly-schedule .panel-title h2{color:#26243a;font-family:Nunito,Noto Sans SC,sans-serif;font-size:20px}.activity-panel :focus-visible,.awards :focus-visible,.weekly-schedule :focus-visible{outline:2px solid var(--kpp-forest);outline-offset:3px}.thin-progress{height:5px;margin:0}.lower-grid{grid-template-columns:1.18fr .82fr}.activity{grid-template-columns:38px 25px 1fr 68px;align-items:start;gap:10px;padding:13px 0;display:grid}.side-stack{gap:15px;display:grid}.award-list{grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;display:grid}.admin-view{padding-top:45px}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:16px;display:grid}.primary-button{color:#fff;border:0;border-radius:10px;width:100%;padding:11px;font-size:13px;font-weight:700}.toast{z-index:5;color:#fff;border-radius:12px;max-width:390px;padding:13px;font-size:12px;line-height:1.5;position:fixed;bottom:22px;right:22px}@media (width>=781px){.journey-shell .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.journey-shell .route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=780px){.app-shell{padding:0 17px 35px}.topbar{height:65px}.welcome{align-items:start;padding:23px 0}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:108px;padding:14px}.stat-card strong{font-size:24px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-card{min-height:158px;padding:13px}.dashboard-grid,.lower-grid,.admin-grid,.award-list{grid-template-columns:1fr}.activity{grid-template-columns:34px 24px 1fr 52px;gap:7px}.section-head{margin-top:30px}.admin-view{padding-top:26px}.toast{max-width:none;bottom:17px;left:17px;right:17px}}body{background:#f8f8fd}.app-shell{background:radial-gradient(circle at 87% 8%,#eeeaff 0,#0000 19%),#fbfbff;max-width:none;min-height:100vh;padding-left:270px}.sidebar{z-index:4;background:linear-gradient(#f1f0ff 0%,#f8f8ff 68%,#edeafe 100%);border-right:1px solid #e5e3f5;width:236px;padding:26px 16px;position:fixed;inset:0 auto 0 0}.side-brand{color:#23213b;align-items:center;gap:9px;margin:3px 11px 38px;font-family:Nunito,sans-serif;font-size:19px;font-weight:900;text-decoration:none;display:flex}.side-brand i{color:#fff;background:#5546d8;border-radius:10px;place-items:center;width:33px;height:33px;font-style:normal;display:grid;box-shadow:0 7px 14px #5746d83b}.sidebar>p{color:#9893ae;letter-spacing:.8px;margin:20px 11px 8px;font-size:10px;font-weight:800}.sidebar>button{color:#726d86;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:13px;display:flex}.sidebar>button:hover,.sidebar>button.active{color:#5446cc;background:#fff;font-weight:800;box-shadow:0 3px 10px #443d7420}.topbar{border-bottom:1px solid #ebeaf4;height:92px}.topbar .brand{display:none}.demo-strip{color:#60589e;background:#f1efff;border-color:#dfdbfa;margin-top:15px}.avatar-princess,.avatar-prince{background-image:url(/learning-companions.png);background-repeat:no-repeat;background-size:500% 200%;border:2px solid #fff;border-radius:50%;display:block;box-shadow:0 4px 11px #39334c27}.topbar .avatar{background-color:#e7e4ff;border-width:2px;width:42px;height:42px;padding:0}.companion{background:#fff7f3;border-color:#ffe0d4;box-shadow:0 6px 16px #a9827420}.companion-face{background-color:#f7d9dc;border-color:#d98e99;width:51px;height:51px;padding:0}.stat-card{border-color:#ebeaf3;box-shadow:0 7px 18px #3f376c0b}.route-card,.panel{border-color:#e9e7f1;box-shadow:0 7px 20px #3c356d0a}.route-card:nth-child(2),.stat-card.violet{background:#f0efff}.route-card:nth-child(5){background:#eefaf9}.route-card:nth-child(3){background:#fff8ef}.route-card:hover{transition:all .2s;transform:translateY(-2px);box-shadow:0 12px 24px #3d356d16}.buddy-card{background:linear-gradient(135deg,#e7e4ff,#f6edff 64%,#fff7ed);border:1px solid #ded8fa;border-radius:18px;min-height:118px;padding:13px 15px;position:relative;overflow:hidden}.buddy-card:after{content:"✦";color:#d6c4ff;font-size:55px;position:absolute;bottom:-12px;right:15px}.buddy-pair{display:flex;position:absolute;bottom:10px;right:13px}.buddy-pair span{border-width:2px;width:58px;height:58px}.buddy-pair span+span{margin-left:-17px}.buddy-card p{z-index:1;color:#756d91;margin:4px 0;font-size:11px;line-height:1.55;position:relative}.buddy-card b{color:#514781;font-size:13px}.tiny-star{color:#e6ac45;font-size:13px}.goal-panel{border-top:4px solid #7665d5}.awards{border-top:1px solid var(--kpp-line)}.side-stack{align-content:start}.panel-title{padding-bottom:2px}.week-bars i{background:linear-gradient(#dcd7fb,#eceafd)}.week-bars .today i{background:linear-gradient(#5849d8,#8779ed)}@media (width<=980px){.app-shell{padding-left:36px}.sidebar{display:none}.topbar .brand{display:block}}@media (width<=780px){.app-shell{padding-left:17px}.buddy-card{min-height:105px}}.avatar-princess,.avatar-prince{background-size:370px 247px}.avatar-princess{background-position:-10px -111px}.avatar-prince{background-position:-11px -176px}.period-switch{background:#fff;border:1px solid #e3e0f0;border-radius:11px;gap:3px;padding:4px;display:flex}.period-switch button{color:#817a95;background:0 0;border:0;border-radius:7px;padding:7px 11px;font-size:12px;font-weight:700}.period-switch button.selected{color:#fff;background:#5546d8;box-shadow:0 3px 8px #5546d838}.comparison-stat{min-height:178px;padding-bottom:12px}.comparison-title{justify-content:space-between;align-items:flex-start;display:flex}.comparison-title strong,.comparison-title span{display:block}.comparison-title span{margin-top:2px}.comparison-title small{margin-top:7px}.comparison-bars{align-items:end;gap:18px;height:69px;margin-top:7px;padding:0 4px;display:flex}.comparison-bar{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:5px;min-width:0;height:100%;display:flex}.comparison-bar i{background:#c5c0d8;border-radius:6px 6px 2px 2px;width:100%;max-width:38px;min-height:6px;display:block;position:relative}.comparison-bar em{color:#716b82;font-size:9px;font-style:normal;font-weight:800;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.comparison-bar span{color:#918b9d;white-space:nowrap;font-size:9px}@media (width<=780px){.period-switch{order:3;margin-left:auto}.period-switch button{padding:6px 8px;font-size:10px}.comparison-stat{min-height:165px}.comparison-bars{gap:10px}.comparison-bar span{font-size:8px}.comparison-title strong{font-size:24px}}.route-effort{margin-top:10px}.route-effort>span{color:#9892a4;margin-bottom:5px;font-size:9px;display:block}.route-effort>i{background:#f0eef5;border-radius:5px;height:4px;display:block;overflow:hidden}.route-effort>i>b{border-radius:inherit;background:var(--route);opacity:.72;height:100%;display:block}.subject-progress{gap:5px;min-width:0;display:grid}.subject-progress small{color:#938c9c;font-size:9px;line-height:1.5}.achievement-stat{min-height:178px}.achievement-counts{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:11px;display:grid}.achievement-counts>div{background:#faf9fc;border-radius:8px;justify-items:center;gap:2px;padding:5px 2px;display:grid}.achievement-counts i{font-size:17px;font-style:normal;line-height:1}.achievement-counts b{font-family:Nunito,sans-serif;font-size:15px;line-height:1}.achievement-counts span{color:#938da1;margin:0;font-size:8px;font-weight:700}.achievement-counts .trophy i{color:#b79555}.achievement-counts .badge i{color:#9d86bb}.achievement-counts .gem i{color:#679e9a}.achievement-counts .fragment i{color:#9ca3b2}.comparison-bar i.average{background:linear-gradient(#829caf,#adc0cd)}.comparison-bar i.peak{background:linear-gradient(#8874ad,#b5a9cd)}.comparison-bar i.current{background:linear-gradient(#6c9b86,#a4c2b2)}.comparison-bars{height:76px;padding-top:13px}.comparison-bar em{white-space:nowrap;top:-17px}.comparison-stat .comparison-title small{text-align:right;max-width:96px;line-height:1.35}@media (width<=780px){.achievement-counts{gap:3px}.achievement-counts i{font-size:15px}.achievement-counts b{font-size:13px}.subject-row{gap:8px}.subject-progress small{font-size:9px}.comparison-bars{height:71px;padding-top:13px}.comparison-bar em{font-size:8px}}.route-name{justify-content:space-between;align-items:baseline;gap:8px;margin-top:12px;display:flex}.route-name h3{margin:0}.route-name b{color:var(--route);white-space:nowrap;flex:none;font-size:11px}.route-summary{min-height:178px}.route-summary-heading,.achievement-heading{justify-content:space-between;align-items:flex-start;display:flex}.route-summary-heading>span,.achievement-heading>span{color:#27243c;font-family:Nunito,Noto Sans SC,sans-serif;font-size:18px;font-weight:900}.route-summary-heading small,.achievement-heading small{color:#9892a4;margin-top:5px;font-size:10px}.route-subjects{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.route-subjects span{background:color-mix(in srgb,var(--chip) 13%,white);color:#655f79;border-radius:6px;padding:3px 6px;font-size:9px;font-weight:800}.route-names{flex-wrap:wrap;gap:4px 7px;margin-top:9px;display:flex}.route-names span{color:#797387;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:130px;font-size:9px;display:flex;overflow:hidden}.route-names span:before{content:"•";color:#8978d0;font-size:13px;line-height:8px}.achievement-heading{margin-bottom:10px}.buddy-card{min-height:150px}.buddy-character{background-image:url(/learning-companions.png);background-position:-78px -1px;background-repeat:no-repeat;background-size:430px;width:122px;height:145px;position:absolute;bottom:0;right:4px}.buddy-card p{max-width:126px}.buddy-card:after{font-size:30px;bottom:4px;right:122px}.buddy-card .tiny-star{z-index:1;position:relative}@media (width<=780px){.route-name b{font-size:10px}.route-summary{min-height:168px}.route-summary-heading>span,.achievement-heading>span{font-size:16px}.route-names span{max-width:112px}.buddy-card{min-height:140px}.buddy-character{background-position:-72px 0;background-size:395px;width:112px;height:133px;right:0}.buddy-card p{max-width:115px}}.welcome-actions{justify-items:end;gap:9px;display:grid}.record-button{background:#5d4bd0;width:auto;min-width:170px;padding:12px 18px;box-shadow:0 8px 17px #5948be3a}.record-button:hover{background:#5140c3;transform:translateY(-1px)}.welcome-actions .companion{margin:0}.side-stack{grid-template-rows:auto auto;align-content:start}@media (width<=780px){.welcome-actions{grid-template-columns:1fr auto;align-items:center;width:100%}.record-button{width:100%;min-width:0}.welcome-actions .companion{display:flex}.welcome{flex-wrap:wrap;gap:15px}.welcome>div:first-child{width:100%}}.buddy-character{background-image:url(/princess-full.png);background-position:bottom;background-size:contain;right:6px}@media (width<=780px){.buddy-character{background-position:bottom;background-size:contain;right:0}}.buddy-card{background:linear-gradient(135deg,#e9e5ff,#f7efff 62%,#fff8ef);min-height:224px;padding:20px}.buddy-character{width:178px;height:212px;right:10px}.buddy-copy{z-index:1;color:#766d9b;gap:5px;max-width:150px;margin-top:10px;display:grid;position:relative}.buddy-copy span{font-size:13px;font-weight:700}.buddy-copy b{color:#4e4778;font-family:Nunito,Noto Sans SC,sans-serif;font-size:20px;line-height:1.35}.buddy-record{z-index:2;color:#fff;font:inherit;background:#6251cc;border:0;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:800;position:absolute;bottom:18px;left:20px;box-shadow:0 6px 13px #5948b737}.buddy-record span{margin-left:3px;font-size:15px}.buddy-card:after{bottom:9px;right:168px}.welcome-actions{justify-items:end}@media (width<=780px){.buddy-card{min-height:205px;padding:17px}.buddy-character{width:157px;height:187px;right:4px}.buddy-copy{max-width:135px;margin-top:7px}.buddy-copy b{font-size:18px}.buddy-record{bottom:15px;left:17px}}.welcome-actions .buddy-card{width:365px}.side-stack>.buddy-card{display:none}.lower-grid{align-items:stretch}.lower-grid .side-stack{display:flex}.lower-grid .side-stack .awards{flex:1}@media (width<=780px){.welcome-actions,.welcome-actions .buddy-card{width:100%}.lower-grid .side-stack{display:block}.lower-grid .side-stack .awards{min-height:0}}.comparison-bar i{height:var(--bar-size)!important}.route-summary-number{align-items:baseline;gap:9px;display:flex}.route-summary-number strong{font-family:Nunito,Noto Sans SC,sans-serif;font-size:34px;line-height:1}.route-summary-number span{color:#373150;font-family:Nunito,Noto Sans SC,sans-serif;font-size:16px;font-weight:900}.route-summary .route-subjects{margin-top:9px}.app-shell>.stat-grid>:nth-child(3){order:4}.app-shell>.stat-grid>:nth-child(4){order:3}@media (width<=780px){.route-summary-number strong{font-size:29px}.route-summary-number span{font-size:14px}}.comparison-title>div{flex:1;min-width:0}.comparison-title span{white-space:nowrap;font-size:12px}.comparison-stat .comparison-title small{white-space:nowrap;flex:none;max-width:none;font-size:10px}.route-summary-number{white-space:nowrap}.route-summary-number span{font-size:15px}.route-summary .route-names{margin-top:18px}.admin-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:29px;display:flex}.admin-heading h1{margin:0}.admin-tabs{background:#fff;border:1px solid #e2dff0;border-radius:12px;gap:4px;padding:4px;display:flex}.admin-tabs button{color:#77718b;background:0 0;border:0;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:700}.admin-tabs button.selected{color:#fff;background:#5a49cf;box-shadow:0 4px 10px #5545c936}.admin-dimension-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:16px;display:grid}.dimension-card{min-height:190px}.dimension-card h2{margin-bottom:13px}.metric-line{color:#858091;border-bottom:1px solid #f0eef5;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;display:flex}.metric-line b{color:#403a56}.dimension-card>small{color:#9a94a6;margin-top:11px;font-size:10px;line-height:1.5;display:block}.reward-flow{justify-content:space-between;align-items:center;gap:7px;margin:21px 0 15px;display:flex}.reward-flow span{text-align:center;color:#958fa0;gap:3px;min-width:64px;font-size:9px;display:grid}.reward-flow b{color:#5c4fc1;font-family:Nunito,sans-serif;font-size:22px}.reward-flow i{color:#b8b2c6;font-style:normal}.route-manager{--route-card-height:clamp(420px,calc(100dvh - 250px),720px);grid-template-columns:minmax(280px,.72fr) minmax(430px,1.28fr);align-items:stretch;gap:16px;display:grid}.route-library{padding-right:10px}.route-library-list{gap:7px;max-height:620px;margin-top:15px;padding-right:8px;display:grid;overflow:auto}.route-library-list>button{color:#555064;text-align:left;background:#faf9fd;border:1px solid #ebe8f2;border-radius:10px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;width:100%;padding:11px;display:grid}.route-library-list>button.selected{background:#f0edff;border-color:#8d7de1;box-shadow:0 3px 9px #594ab719}.route-library-list>button>span{color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.route-library-list b,.route-library-list small{display:block}.route-library-list b{font-size:12px}.route-library-list small{color:#9993a3;margin-top:3px;font-size:9px}.route-library-list em{color:#8e879a;white-space:nowrap;font-size:9px;font-style:normal}.route-editor{gap:17px;display:grid}.route-status{border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800}.route-status.published{color:#27816e;background:#e7f7f2}.route-status.draft{color:#8c8495;background:#f3f0f6}.route-editor label{color:#696377;gap:7px;font-size:11px;font-weight:800;display:grid}.route-editor input,.route-editor select{color:#342f48;width:100%;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;outline:none;padding:10px 11px;font-size:12px}.route-editor input:focus,.route-editor select:focus{border-color:#8272da;box-shadow:0 0 0 3px #7564d315}.route-editor label small{color:#a29baa;font-size:9px;font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.stage-preview{background:#f7f5fc;border-radius:12px;padding:15px}.stage-preview>div{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.stage-preview span{color:#968fa0;background:#fff;border-radius:8px;gap:2px;padding:9px;font-size:9px;display:grid}.stage-preview span b{color:#5c5372;font-size:11px}.stage-preview>small{color:#9891a2;margin-top:8px;font-size:9px;display:block}.route-editor .publish-toggle{grid-template-columns:auto 1fr;align-items:center;display:flex}.publish-toggle input{width:16px;height:16px}.editor-actions{align-items:center;gap:13px;display:flex}.editor-actions .primary-button{width:auto;min-width:130px}.editor-actions>span{color:#368675;font-size:11px;font-weight:700}.level-heading{justify-content:space-between;align-items:end;display:flex}.level-heading h3{margin:0;font-size:15px}.level-editor{gap:9px;display:grid}.level-editor fieldset{border:1px solid #e5e1ed;border-radius:11px;grid-template-columns:minmax(130px,1.3fr) minmax(90px,.7fr) minmax(90px,.7fr) auto;align-items:end;gap:9px;margin:0;padding:12px;display:grid}.level-editor legend{color:#766c91;padding:0 5px;font-size:10px;font-weight:800}.level-actions{gap:4px;padding-bottom:1px;display:flex}.level-actions button{color:#6f687d;background:#fff;border:1px solid #ded9e9;border-radius:7px;padding:8px;font-size:10px}.level-actions button:last-child{color:#b65f5a}.level-actions button:disabled{cursor:not-allowed;opacity:.35}.stage-preview>div>section{background:#fff;border:1px solid #e8e4f0;border-radius:9px;padding:11px}.stage-preview>div>section>b,.stage-preview>div>section>small{display:block}.stage-preview>div>section>b{font-size:11px}.stage-preview>div>section>small{color:#9a93a5;margin-top:2px;font-size:9px}.stage-preview>div>section>div{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.stage-preview>div>section span{color:#6659b8;background:#f0edff;padding:4px 6px;display:block}@media (width<=900px){.admin-heading{flex-direction:column;align-items:flex-start}.admin-dimension-grid,.route-manager{grid-template-columns:1fr}.route-library-list{max-height:300px}}@media (width<=700px){.level-editor fieldset{grid-template-columns:1fr 1fr}.level-actions{grid-column:1/-1}}@media (width<=560px){.admin-tabs{width:100%}.admin-tabs button{flex:1}.form-grid,.stage-preview>div,.level-editor fieldset{grid-template-columns:1fr}.level-actions{grid-column:auto}.editor-actions{flex-direction:column;align-items:flex-start}.editor-actions .primary-button{width:100%}}.invite-manager{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.invite-create{gap:15px;display:grid}.invite-create h2{margin-top:-8px}.invite-create label,.join-card label{color:#696377;gap:7px;font-size:11px;font-weight:800;display:grid}.invite-create input,.invite-create select,.join-card input{color:#342f48;width:100%;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;outline:none;padding:10px 11px;font-size:12px}.invite-create input:focus,.invite-create select:focus,.join-card input:focus{border-color:#8272da;box-shadow:0 0 0 3px #7564d315}.invite-role-grid{align-items:start}.duration-input{grid-template-columns:1fr auto;align-items:center;display:grid}.invite-create .duration-input input{grid-area:1/1/auto/-1;width:100%;padding-right:36px}.duration-input em{z-index:1;color:#77718b;grid-area:1/2;margin-right:13px;font-size:12px;font-style:normal}.invite-create label small{color:#a29baa;font-size:9px;font-weight:500}.form-notice{color:#438573;margin:0;font-size:10px}.revealed-code{text-align:center;background:#f2efff;border:1px solid #d9d2ff;border-radius:12px;gap:8px;padding:15px;display:grid}.revealed-code span{color:#756d91;font-size:10px}.revealed-code b{color:#493bb4;letter-spacing:4px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:25px}.copy-invite-button{color:#5a49c7;background:#fff;border:1px solid #7666d4;border-radius:8px;justify-self:center;padding:7px 15px;font-size:10px;font-weight:800}.copy-invite-button:hover{background:#e9e5ff}.revealed-code small{color:#948da4;font-size:9px}.invite-stack{display:contents}.empty-state{color:#9992a4;background:#f8f7fb;border-radius:10px;margin:15px 0 0;padding:16px;font-size:11px;line-height:1.6}.invite-list{gap:8px;margin-top:15px;display:grid}.invite-list>div{background:#faf9fd;border:1px solid #ebe8f2;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;display:grid}.invite-list b,.invite-list small,.invite-list code{display:block}.invite-list b{font-size:12px}.invite-list small{color:#958fa0;margin-top:3px;font-size:9px}.invite-list code{color:#aaa3b2;margin-top:5px;font-size:8px}.invite-list button{color:#bb625d;background:0 0;border:0;font-size:10px}.invite-state{border-radius:6px;padding:4px 7px;font-size:9px;font-weight:800}.invite-state.active{color:#277c68;background:#e5f7f1}.invite-state.disabled,.invite-state.expired,.invite-state.exhausted{color:#908995;background:#f2eff4}.invite-log{margin-top:13px;display:grid}.invite-log>div{border-bottom:1px solid #f0eef4;grid-template-columns:110px 1fr auto;gap:8px;padding:9px 0;font-size:10px;display:grid}.invite-log span{color:#736d80}.invite-log small{color:#a29baa}.join-view{grid-template-columns:minmax(360px,580px) minmax(240px,340px);justify-content:center;gap:18px;padding:65px 0;display:grid}.join-card{padding:32px}.join-card h1{margin:0;font-size:30px}.join-card>p{color:#888294;margin:10px 0 25px;font-size:12px;line-height:1.7}.join-card form{grid-template-columns:1fr 145px;align-items:end;gap:10px;display:grid}.join-card .primary-button{height:38px}.join-card>small{color:#9e97a7;margin-top:15px;font-size:9px;display:block}.join-result{border-radius:9px;margin-top:14px;padding:11px;font-size:11px;font-weight:700}.join-result.success{color:#287965;background:#e8f7f2}.join-result.error{color:#a64f4b;background:#fff0ee}.join-rules{grid-template-columns:1fr 1fr;gap:9px;display:grid}.join-rules article{background:#fff;border:1px solid #e8e5f0;border-radius:15px;align-content:center;gap:5px;min-height:110px;padding:16px;display:grid}.join-rules b{color:#5b4fc0;font-size:12px}.join-rules span{color:#938c9d;font-size:10px;line-height:1.5}@media (width<=900px){.invite-manager,.join-view{grid-template-columns:1fr}.join-view{padding:30px 0}.join-rules{grid-template-columns:repeat(4,1fr)}}@media (width<=650px){.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:12px 0}.view-switch{order:3;width:100%}.view-switch button{flex:1}.join-card form{grid-template-columns:1fr}.join-rules{grid-template-columns:1fr 1fr}.invite-list>div{grid-template-columns:1fr auto}.invite-list button{text-align:left;grid-column:1/-1}.invite-log>div{grid-template-columns:1fr 1fr}.invite-log small{grid-column:1/-1}}button.award{border:1px solid var(--kpp-line);color:#26243a;text-align:left;background:#fffdf6b8;border-radius:10px;align-items:center;gap:10px;width:100%;min-width:0;padding:12px;font-family:inherit;font-size:12px;line-height:1.5;display:flex}.award>span{width:32px;height:32px;color:var(--kpp-forest);background:#edf3e7;border-radius:9px;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.award.gem>span{color:#187d70;background:#e3f3ef}.award.badge>span{color:#835eab;background:#f1eafa}.award.trophy>span{color:#946c1c;background:#fff2d4}.award>div{min-width:0}.award b,.award small{display:block}.award b{overflow-wrap:anywhere;font-size:12px;font-weight:700}.award small{color:#938c9c;margin-top:4px;font-size:9px;line-height:1.5}button.award:hover{background:#f4f7ef;border-color:#34704d59}.awards .text-button{white-space:nowrap;font-size:11px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#29243c80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #e4e0ee;border-radius:18px;width:min(580px,100%);max-height:calc(100vh - 40px);padding:25px;overflow:auto;box-shadow:0 25px 70px #201b3d55}.modal-heading{justify-content:space-between;align-items:start;margin-bottom:20px;display:flex}.modal-heading h2{margin:0;font-size:23px}.modal-heading>button{color:#948da1;background:0 0;border:0;font-size:25px;line-height:1}.activity-form{gap:15px;display:grid}.activity-form label{color:#696377;gap:7px;font-size:11px;font-weight:800;display:grid}.activity-form input,.activity-form select,.activity-form textarea{color:#342f48;width:100%;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;outline:none;padding:10px 11px;font-size:12px}.activity-form input[type=range]{padding:0}.activity-form label small{color:#9992a5;font-size:9px}.source-switch{background:#f0eef5;border-radius:10px;gap:5px;padding:4px;display:flex}.source-switch button{color:#817a91;background:0 0;border:0;border-radius:7px;flex:1;padding:8px;font-size:11px}.source-switch button.selected{color:#5648bd;background:#fff;font-weight:800;box-shadow:0 2px 7px #4d446b1c}.rule-hint{color:#6c62a0;background:#f2efff;border-radius:8px;margin:0;padding:10px 12px;font-size:10px;line-height:1.5}.form-error{color:#ae514c;margin:0;font-size:10px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-actions button{color:#6c6578;background:#fff;border:1px solid #ddd8e7;border-radius:9px;width:auto;min-width:95px;padding:10px 14px;font-size:11px}.modal-actions .primary-button{color:#fff;background:#6d5ac4;border:0}.reward-balance{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.reward-balance>div{background:#f5f3fc;border-radius:11px;justify-items:center;gap:3px;padding:15px;display:grid}.reward-balance b{color:#5d50bd;font-family:Nunito,sans-serif;font-size:25px}.reward-balance span{color:#918a9c;font-size:9px}.achievement-details>.rule-hint{margin:12px 0}.achievement-detail-list{gap:8px;display:grid}.achievement-detail-list article{border:1px solid #ebe8f1;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.achievement-detail-list i{color:#8673c7;background:#f3f0fb;border-radius:10px;place-items:center;width:38px;height:38px;font-size:22px;font-style:normal;display:grid}.achievement-detail-list b,.achievement-detail-list span,.achievement-detail-list small{display:block}.achievement-detail-list b{font-size:12px}.achievement-detail-list span{color:#8f8998;margin-top:3px;font-size:9px}.achievement-detail-list small{color:#aaa4b0;margin-top:3px;font-size:8px}.route-detail-progress{color:#6257a8;justify-content:space-between;font-size:13px;display:flex}.route-details dl{gap:10px;margin:22px 0 0;display:grid}.route-details dl>div{background:#f8f7fb;border-radius:10px;padding:12px}.route-details dt{color:#7a728b;font-size:10px;font-weight:800}.route-details dd{color:#4d475b;margin:5px 0 0;font-size:11px;line-height:1.6}.export-link{color:#6254bc;text-align:center;background:#f0edff;border-radius:8px;margin-top:15px;padding:10px;font-size:10px;font-weight:800;text-decoration:none;display:block}@media (width<=560px){.modal-backdrop{padding:10px}.modal-card{max-height:calc(100vh - 20px);padding:18px}.reward-balance{grid-template-columns:1fr}.modal-actions button{flex:1}}.admin-period-toolbar{background:#fff;border:1px solid #e6e3ef;border-radius:13px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;padding:11px 14px;display:flex}.admin-period-toolbar>div{align-items:baseline;gap:9px;display:flex}.admin-period-toolbar span{color:#9992a3;font-size:10px}.admin-period-toolbar b{font-size:12px}.admin-kpis .stat-card{min-height:128px}.admin-analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:15px;margin-top:16px;display:grid}.admin-trend-panel{min-height:315px}.admin-trend-panel .panel-title small{color:#9b94a4;font-size:9px}.admin-trend-bars{align-items:end;gap:10px;height:235px;padding-top:30px;display:flex}.admin-trend-item{flex:1;grid-template-rows:20px 1fr 18px 18px;place-items:end center;min-width:0;height:100%;display:grid}.admin-trend-value{color:#675bb4;align-items:baseline;gap:2px;display:flex}.admin-trend-value b{font-size:11px}.admin-trend-value span{font-size:8px}.admin-trend-track{background:#f0eef6;border-radius:7px 7px 2px 2px;justify-content:center;align-items:end;width:100%;height:100%;display:flex}.admin-trend-track i{background:linear-gradient(#6f61d0,#a99ee8);border-radius:7px 7px 2px 2px;width:min(34px,72%);min-height:0;transition:height .25s;display:block}.admin-trend-item>strong{color:#686273;white-space:nowrap;margin-top:6px;font-size:9px}.admin-trend-item>small{color:#a09aa8;white-space:nowrap;font-size:8px}.admin-subject-panel{min-height:315px}.admin-subject-bars{gap:14px;margin-top:20px;display:grid}.admin-subject-bars>div{grid-template-columns:25px 34px 1fr 47px;align-items:center;gap:8px;display:grid}.admin-subject-bars>div>span{color:#fff;border-radius:7px;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid}.admin-subject-bars b{font-size:10px}.admin-subject-bars>div>div{background:#f0eef5;border-radius:6px;height:7px;overflow:hidden}.admin-subject-bars i{border-radius:inherit;height:100%;display:block}.admin-subject-bars em{text-align:right;color:#827b8d;font-size:9px;font-style:normal}.analytics-note{color:#81798e;background:#f6f4fb;border-radius:8px;margin:18px 0 0;padding:10px;font-size:9px;line-height:1.5}.admin-ranking-panel{grid-column:1/-1}.ranking-switch{background:#f0eef5;border-radius:8px;gap:3px;padding:3px;display:flex}.ranking-switch button{color:#817a8d;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:9px}.ranking-switch button.selected{color:#5b4fc1;background:#fff;font-weight:800;box-shadow:0 2px 6px #4c456818}.ranking-table{margin-top:15px;display:grid}.ranking-head,.ranking-table>button{grid-template-columns:50px minmax(150px,1fr) 110px 90px 90px;align-items:center;gap:10px;display:grid}.ranking-head{color:#9d96a6;padding:0 12px 8px;font-size:9px}.ranking-table>button{color:#4c4659;text-align:left;background:0 0;border:0;border-top:1px solid #f0eef4;width:100%;padding:11px 12px}.ranking-table>button:hover{background:#faf9fd}.ranking-table>button>strong{color:#6255bd;background:#f0edff;border-radius:9px;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.ranking-table>button>span b,.ranking-table>button>span small{display:block}.ranking-table>button>span b{font-size:11px}.ranking-table>button>span small{color:#9d96a4;margin-top:2px;font-size:8px}.ranking-table em{color:#777181;font-size:10px;font-style:normal}.ranking-table em.active{color:#574abd;font-weight:800}.ranking-table>button>i{display:none}@media (width<=900px){.admin-analytics-grid{grid-template-columns:1fr}.admin-ranking-panel{grid-column:auto}.ranking-head,.ranking-table>button{grid-template-columns:45px minmax(130px,1fr) 90px 75px 75px}}@media (width<=650px){.admin-period-toolbar{flex-direction:column;align-items:flex-start}.admin-period-toolbar .period-switch{width:100%}.admin-trend-bars{gap:5px}.admin-trend-item>small{font-size:7px}.ranking-head{display:none}.ranking-table>button{grid-template-columns:42px 1fr auto}.ranking-table>button>em{display:none}.ranking-table>button>i{color:#574abd;font-size:10px;font-style:normal;font-weight:800;display:block}.ranking-switch{width:100%}.admin-ranking-panel .panel-title{flex-direction:column;align-items:flex-start;gap:10px}}button.activity{color:#26243a;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #eae7ee;width:100%;min-width:0;font-family:inherit;font-size:12px;line-height:1.5}button.activity:last-child{border-bottom:0}button.activity>div{min-width:0}button.activity>div:not(.activity-time)>b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:700;display:-webkit-box;overflow:hidden}button.activity p{text-overflow:ellipsis;white-space:nowrap;color:#696377;margin:4px 0 0;font-size:10px;line-height:1.5;overflow:hidden}.activity-date{color:#938c9c;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.activity-time{text-align:right}.activity-time b{white-space:nowrap;font-family:Nunito,Noto Sans SC,sans-serif;font-size:12px;font-weight:700;display:block}.activity-time small{color:#938c9c;margin-top:4px;font-size:9px;line-height:1.5;display:block}button.activity:hover{background:#f4f7ef;border-radius:9px;margin:0 -8px;padding-left:8px;padding-right:8px}.source-switch.three-options button{padding-left:5px;padding-right:5px}.source-switch .trophy-option{color:#9a7136}.source-switch .trophy-option.selected{color:#8b642a;background:#fff8e8}.activity-no-review{color:#438573;margin:0;font-size:10px}.trophy-hint{color:#8b6b31;background:#fff6df}.edit-actions{grid-template-columns:auto 1fr auto auto;display:grid}.modal-actions .delete-button{color:#b45450;background:#fff7f6;border-color:#f0cfcb}.honor-detail-list{gap:8px;margin:15px 0;display:grid}.honor-detail-list>p{margin-bottom:0}.honor-detail-list article{background:#fffbf0;border:1px solid #eadfbd;border-radius:11px;gap:12px;padding:13px;display:flex}.honor-detail-list i,.trophy-mark{color:#946d2d;background:#f7e9bd;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:22px;font-style:normal;display:grid}.honor-detail-list b,.honor-detail-list span,.honor-detail-list small{display:block}.honor-detail-list b{font-size:12px}.honor-detail-list span,.honor-detail-list small{color:#918671;margin-top:3px;font-size:9px}.honor-detail-list p{color:#746b5d;margin:7px 0 0;font-size:10px}.honor-detail-list blockquote,.honor-review blockquote{color:#887650;margin:7px 0 0;font-size:10px;font-style:italic}.honor-review-panel{grid-column:span 1}.review-card.honor-review{align-items:flex-start}.honor-review>div:nth-child(2){min-width:0}.honor-review small{color:#756f7c;font-size:10px;line-height:1.5;display:block}.review-actions{align-self:center;gap:5px;flex:0!important;display:flex!important}.review-actions button{white-space:nowrap}.reject{color:#a05d56;background:#fff;border:1px solid #e6d8d4;border-radius:7px;padding:6px 9px;font-size:10px}.activity-manager{gap:15px;display:grid}.activity-manager-toolbar{justify-content:space-between;align-items:end;gap:20px;display:flex}.activity-manager-toolbar small{color:#9a94a5;margin-top:5px;font-size:9px;display:block}.activity-filters{gap:9px;display:flex}.activity-filters label{color:#8b8496;gap:4px;font-size:9px;display:grid}.activity-filters select{color:#4c4659;min-width:120px;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:8px;padding:8px;font-size:10px}.admin-activity-list{padding-top:7px;padding-bottom:7px}.admin-activity-list article{border-bottom:1px solid #f0eef4;grid-template-columns:28px minmax(0,1fr) 100px 62px;align-items:center;gap:12px;padding:13px 3px;display:grid}.admin-activity-list article:last-child{border-bottom:0}.admin-activity-list b,.admin-activity-list p,.admin-activity-list small{display:block}.admin-activity-list b{font-size:12px}.admin-activity-list p{color:#8f8999;margin:3px 0;font-size:9px}.admin-activity-list small{color:#777181;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-activity-list em{color:#70697c;text-align:right;font-size:10px;font-style:normal}.admin-activity-list button,.ranking-view-button,.honor-review-action{color:#6255bd;white-space:nowrap;background:#fff;border:1px solid #ded9e9;border-radius:7px;padding:7px;font-family:inherit;font-size:10px;font-weight:700}.admin-activity-list button:hover,.ranking-view-button:hover,.honor-review-action:hover{background:#faf9fd}.admin-activity-list button:focus-visible,.ranking-view-button:focus-visible,.honor-review-action:focus-visible{outline-offset:2px;outline:2px solid #8d7de1}.timeline-scroll{--timeline-row-height:84px;max-height:calc(var(--timeline-row-height) * 5);overscroll-behavior:contain;scrollbar-color:#c8c1df #f3f1f7;scrollbar-width:thin;margin-top:5px;padding-right:7px;overflow-y:auto}.timeline-scroll .activity{height:var(--timeline-row-height);min-height:var(--timeline-row-height);padding-top:10px;padding-bottom:10px}.timeline-scroll .activity:last-child{padding-bottom:10px}.timeline-scroll::-webkit-scrollbar{width:7px}.timeline-scroll::-webkit-scrollbar-track{background:#f3f1f7;border-radius:8px}.timeline-scroll::-webkit-scrollbar-thumb{background:#c8c1df;border-radius:8px}.timeline-scroll::-webkit-scrollbar-thumb:hover{background:#a99fd0}.privacy-support{background:linear-gradient(135deg,#fcfbff,#f8f7ff);border-color:#ddd6f2;margin-top:22px;padding:0;overflow:hidden}.privacy-heading{background:linear-gradient(90deg,#f0edff,#fbfaff);border-bottom:1px solid #e8e4f4;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:18px 20px;display:grid}.privacy-mark{color:#fff;background:#6857c7;border-radius:13px;place-items:center;width:40px;height:40px;font:900 23px/1 Nunito,sans-serif;display:grid;box-shadow:0 5px 13px #5948b52e}.privacy-heading h2,.privacy-form-title h3{color:#39334d;margin:2px 0}.privacy-heading p{color:#7a728b;margin:0;font-size:10px}.privacy-heading p b{color:#5b4eb8}.privacy-badge{color:#5a4bb8;white-space:nowrap;background:#fff;border:1px solid #cfcaed;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.privacy-body{grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr);gap:18px;padding:20px;display:grid}.privacy-explainer>p{color:#6f687d;margin:0;font-size:11px;line-height:1.7}.privacy-boundaries{gap:7px;margin:14px 0;padding:0;list-style:none;display:grid}.privacy-boundaries li{color:#595165;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.privacy-boundaries span{color:#25816c;background:#e4f5ef;border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;display:grid}.privacy-support details{color:#5749ae;background:#f1effa;border-radius:10px;padding:10px 11px;font-size:10px;font-weight:800}.privacy-support details summary{cursor:pointer}.privacy-support details small{color:#8e86a5;font-weight:600}.privacy-support details p{color:#716a7d;margin:8px 0 0;font-weight:500;line-height:1.6}.privacy-flow{gap:0;margin:16px 0 0;padding:0;list-style:none;display:flex}.privacy-flow li{color:#80798c;text-align:center;flex:1;justify-items:center;gap:5px;font-size:9px;font-weight:700;display:grid;position:relative}.privacy-flow li:not(:last-child):after{content:"";background:#d9d4e8;width:52%;height:1px;position:absolute;top:11px;right:-26%}.privacy-flow b{z-index:1;color:#5d4fba;background:#eae7f8;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;display:grid;position:relative}.privacy-support form{background:#fff;border:1px solid #e4dff0;border-radius:14px;align-content:start;gap:11px;padding:16px;display:grid;box-shadow:0 6px 16px #4038620b}.privacy-form-title{justify-content:space-between;align-items:start;gap:8px;display:flex}.privacy-form-title .eyebrow{margin:0}.privacy-form-title h3{font-size:15px}.privacy-form-title>span{color:#a16d23;white-space:nowrap;background:#fff6e5;border-radius:6px;padding:4px 6px;font-size:8px;font-weight:800}.privacy-support label{color:#6d6578;gap:5px;font-size:10px;font-weight:800;display:grid}.privacy-support select,.privacy-support textarea{box-sizing:border-box;color:#413a50;width:100%;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;padding:9px;font-size:10px}.privacy-support select:focus,.privacy-support textarea:focus{border-color:#8272da;outline:3px solid #7564d315}.privacy-support textarea{resize:vertical;min-height:82px}.privacy-form-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.privacy-form-footer small{color:#8e8799;font-size:8px;line-height:1.4}.privacy-form-footer .primary-button{white-space:nowrap;width:auto}.privacy-notice{background:#edf8f4;border-radius:8px;padding:8px;font-weight:800;color:#38816f!important;margin:0!important;font-size:9px!important}@media (width<=700px){.privacy-heading{grid-template-columns:38px 1fr;padding:16px}.privacy-mark{width:36px;height:36px;font-size:20px}.privacy-badge{grid-column:1/-1;justify-self:start}.privacy-body{grid-template-columns:1fr;padding:15px}.privacy-flow{margin-bottom:3px}.privacy-support form{padding:14px}.privacy-form-footer{flex-direction:column;align-items:stretch}.privacy-form-footer .primary-button{width:100%}.edit-actions{grid-template-columns:1fr 1fr}.edit-actions span{display:none}.activity-manager-toolbar{flex-direction:column;align-items:stretch}.activity-filters{grid-template-columns:1fr 1fr;display:grid}.activity-filters select{width:100%;min-width:0}.admin-activity-list article{grid-template-columns:28px 1fr auto}.admin-activity-list em{display:none}.admin-activity-list button{grid-column:2/-1}.review-card.honor-review{grid-template-columns:38px 1fr;display:grid}.review-actions{grid-column:1/-1;width:100%}.review-actions button{flex:1}}.account-controls{align-items:center;gap:8px;display:flex}.settings-button{border:1px solid var(--kpp-line);background:var(--kpp-card-solid);color:var(--kpp-forest);border-radius:10px;align-items:center;gap:5px;padding:8px 10px;font:700 11px/1 inherit;display:flex}.settings-button:hover{background:var(--kpp-sage)}.settings-modal{background:var(--kpp-cream);width:min(760px,100%);padding:22px}.settings-summary{border:1px solid var(--kpp-line);background:#e4efd98c;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:13px;display:flex}.settings-summary>span{background:var(--kpp-forest);color:#fff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.settings-summary b{color:var(--kpp-forest-dark);font-size:13px}.settings-summary p{color:#50685c;margin:4px 0 0;font-size:10px;line-height:1.55}.settings-modal .privacy-support{box-shadow:none;margin:0}.settings-modal .privacy-heading{display:none}.settings-modal .privacy-body{grid-template-columns:minmax(0,1fr) minmax(270px,.9fr);padding:0}.settings-modal .privacy-explainer{padding:16px}.settings-modal .privacy-support form{margin:12px}.settings-modal .privacy-form-title h3:before{content:"资料修改或工单";font-size:15px}.settings-modal .privacy-form-title h3:after{content:"（提交给管理员）";color:#6f887a;font-size:11px;font-weight:600}.settings-modal .privacy-form-title .eyebrow{display:none}@media (width<=700px){.settings-button span{display:none}.settings-button{padding:8px}.settings-modal{padding:17px}.settings-modal .privacy-body{grid-template-columns:1fr}.settings-modal .privacy-explainer{padding:14px}.settings-modal .privacy-support form{margin:0 14px 14px}}.settings-layout{grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);align-items:stretch;gap:16px;display:grid}.settings-layout>.privacy-support{margin-top:0}.profile-settings{padding:20px}.avatar-settings-preview{background:#e4efd985;border-radius:12px;align-items:center;gap:12px;margin:16px 0;padding:13px;display:flex}.profile-avatar{background:var(--kpp-forest);color:#fff;border-radius:16px;flex:none;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.profile-avatar.wechat{color:#187d70;background:#dff4ed}.profile-avatar.uploaded{color:#a47922;background:#fff2d4}.avatar-settings-preview b{color:var(--kpp-forest-dark);font-size:14px}.avatar-settings-preview p{color:#5f7768;margin:4px 0 0;font-size:10px}.avatar-option-list{gap:8px;display:grid}.avatar-option-list>button{border:1px solid var(--kpp-line);width:100%;color:inherit;text-align:left;background:#fff;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.avatar-option-list>button.selected{border-color:var(--kpp-forest);box-shadow:inset 3px 0 0 var(--kpp-forest);background:#e4efd994}.avatar-option-list i{background:var(--kpp-sage);width:30px;height:30px;color:var(--kpp-forest);border-radius:9px;place-items:center;font-size:15px;font-style:normal;display:grid}.avatar-option-list b,.avatar-option-list small{display:block}.avatar-option-list b{color:var(--kpp-forest-dark);font-size:11px}.avatar-option-list small{color:#617567;margin-top:3px;font-size:9px;line-height:1.4}.avatar-option-list em{color:var(--kpp-forest);font-size:9px;font-style:normal;font-weight:800}@media (width<=800px){.settings-layout{grid-template-columns:1fr}.profile-settings{padding:16px}}.settings-modal .privacy-form-title h3{font-size:15px}.settings-modal .privacy-form-title h3:before,.settings-modal .privacy-form-title h3:after{content:none}.app-shell>.stat-grid>.stat-card{order:initial}.achievement-heading{place-content:start stretch;display:grid}.achievement-heading>span{white-space:nowrap;margin:0}.achievement-heading small{white-space:normal;margin-top:6px;line-height:1.45;display:block}.welcome-actions{flex:none;width:460px;max-width:100%}.welcome-actions .buddy-card.buddy-with-treasure{width:100%}.buddy-with-treasure .buddy-character{background-position:bottom;background-size:contain;width:200px;height:100%;top:0;bottom:0;right:78px}.buddy-with-treasure .buddy-character.princess{background-image:url(/princess-transparent.png)}.buddy-with-treasure .buddy-character.prince{background-image:url(/prince-transparent.png)}.buddy-with-treasure:after{right:272px}.buddy-treasure{z-index:3;background:0 0;grid-template-rows:auto repeat(4,1fr);width:70px;padding:8px 4px;display:grid;position:absolute;top:12px;bottom:12px;right:8px}.buddy-treasure>strong{color:#7569a7;letter-spacing:.5px;text-align:center;font-family:Nunito,Noto Sans SC,sans-serif;font-size:10px}.buddy-treasure>div{grid-template-columns:20px 1fr auto;align-items:center;gap:4px;display:grid}.buddy-treasure i{text-align:center;font-size:17px;font-style:normal}.buddy-treasure span{color:#8b8498;margin:0;font-size:8px;font-weight:700}.buddy-treasure b{color:#41395c;text-align:right;font-family:Nunito,Noto Sans SC,sans-serif;font-size:13px}.buddy-treasure .trophy i{color:#b18439}.buddy-treasure .badge i{color:#9272bc}.buddy-treasure .gem i{color:#52a69f}.buddy-treasure .fragment i{color:#8f98a8}@media (width<=560px){.welcome-actions .buddy-card.buddy-with-treasure{min-height:205px}.buddy-with-treasure .buddy-character{width:132px;height:100%;top:0;bottom:0;right:59px}.buddy-with-treasure .buddy-copy{max-width:112px}.buddy-with-treasure .buddy-copy b{font-size:16px}.buddy-with-treasure:after{display:none}.buddy-treasure{width:56px;padding:6px 2px;top:10px;bottom:10px;right:5px}.buddy-treasure>strong{font-size:8px}.buddy-treasure>div{grid-template-columns:17px 1fr;gap:3px}.buddy-treasure i{font-size:14px}.buddy-treasure span{font-size:7px}.buddy-treasure b{grid-column:2;font-size:10px;line-height:8px}.buddy-with-treasure .buddy-record{padding-left:9px;padding-right:9px;font-size:10px}}.panel-scope-filters{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.panel-scope-filters label{color:#8f8899;grid-template-columns:auto minmax(110px,1fr);align-items:center;gap:6px;font-size:9px;display:grid}.panel-scope-filters select{color:#4d4659;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:8px;padding:7px 9px;font-size:10px}.compact-scroll{overscroll-behavior:contain;scrollbar-color:#c8c1df #f3f1f7;scrollbar-width:thin;max-height:444px;padding-right:6px;overflow-y:auto}.compact-scroll::-webkit-scrollbar{width:6px}.compact-scroll::-webkit-scrollbar-track{background:#f3f1f7;border-radius:8px}.compact-scroll::-webkit-scrollbar-thumb{background:#c8c1df;border-radius:8px}.student-picker.compact-scroll{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:228px;margin-top:12px;display:grid}.student-picker.compact-scroll button{min-height:40px}.parent-preview-panel{grid-column:1/-1}.admin-return-button{border:1px solid var(--kpp-line);background:var(--kpp-card-solid);color:var(--kpp-forest);white-space:nowrap;border-radius:9px;padding:8px 10px;font:700 11px/1 inherit}.admin-return-button:hover{background:var(--kpp-sage)}@media (width<=650px){.panel-scope-filters{grid-template-columns:1fr 1fr;display:grid}.panel-scope-filters label{grid-template-columns:1fr}.student-picker.compact-scroll{grid-template-columns:1fr;max-height:408px}.admin-return-button{order:4;width:100%}}.ranking-head,.ranking-row{grid-template-columns:50px minmax(150px,1fr) 110px 90px 90px 82px}.ranking-row{color:#4c4659;border-top:1px solid #f0eef4;align-items:center;gap:10px;padding:11px 12px;display:grid}.ranking-row>strong{color:#6255bd;background:#f0edff;border-radius:9px;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.ranking-row>span b,.ranking-row>span small{display:block}.ranking-row>span b{font-size:11px}.ranking-row>span small{color:#9d96a4;margin-top:2px;font-size:8px}.ranking-row em{color:#777181;font-size:10px;font-style:normal}.ranking-row em.active{color:#574abd;font-weight:800}.ranking-row>i{display:none}.ranking-view-button{justify-self:start}@media (width<=900px){.ranking-head,.ranking-row{grid-template-columns:45px minmax(130px,1fr) 90px 75px 75px 82px}}@media (width<=650px){.ranking-head{display:none}.ranking-row{grid-template-columns:42px minmax(0,1fr) auto auto}.ranking-row>em{display:none}.ranking-row>i{color:#574abd;font-size:10px;font-style:normal;font-weight:800;display:block}.ranking-view-button{padding:7px}.panel-scope-filters{grid-template-columns:1fr 1fr;display:grid}.panel-scope-filters label{grid-template-columns:1fr}.student-picker.compact-scroll{grid-template-columns:1fr;max-height:408px}.admin-return-button{order:4;width:100%}}.activity-time-fields{grid-template-columns:1.1fr .8fr .8fr}.activity-date small{color:#938c9c;margin-top:3px;font-size:9px;font-weight:500;display:block}.weekly-schedule{margin-top:18px}.weekly-schedule>.panel-title{align-items:end;margin-bottom:16px}.schedule-toolbar{justify-content:flex-end;align-items:center;gap:7px;margin:-7px 0 14px;display:flex}.schedule-toolbar select,.schedule-toolbar input{color:#5f586e;background:#fff;border:1px solid #e3e0f0;border-radius:9px;min-height:34px;padding:0 9px;font-size:11px;font-weight:800}.schedule-mode-switch{background:#f1eff8;border-radius:9px;gap:2px;padding:3px;display:flex}.schedule-mode-switch button,.week-nav-button,.week-current-button{color:#817a95;background:0 0;border:0;border-radius:7px;font-size:10px;font-weight:800}.schedule-mode-switch button{padding:6px 8px}.schedule-mode-switch button.selected{color:#5546d8;background:#fff;box-shadow:0 2px 6px #5546d820}.week-nav-button{background:#fff;border:1px solid #e3e0f0;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.week-current-button{background:#fff;border:1px solid #e3e0f0;height:34px;padding:0 10px}.schedule-scroll{padding-bottom:5px;overflow-x:auto}.schedule-grid{grid-template-columns:72px repeat(var(--schedule-columns),minmax(112px,1fr));background:#fff;border:1px solid #e7e3ef;border-radius:13px;min-width:900px;display:grid;overflow:hidden}.schedule-corner,.schedule-day{text-align:center;background:#f7f5fc;border-bottom:1px solid #e7e3ef;align-content:center;min-height:58px;padding:9px;display:grid}.schedule-corner{color:#8d8698;font-size:10px;font-weight:800}.schedule-day{border-left:1px solid #e7e3ef}.schedule-day b{color:#26243a;font-size:11px;font-weight:700}.schedule-day small{color:#938c9c;margin-top:3px;font-size:9px}.schedule-row{display:contents}.schedule-row>time,.schedule-cell{border-bottom:1px solid #eeebf3;min-height:74px;padding:8px}.schedule-row:last-child>time,.schedule-row:last-child>.schedule-cell{border-bottom:0}.schedule-row>time{color:#6f687c;background:#fbfafd;place-content:start center;padding-top:13px;font-family:Nunito,Noto Sans SC,sans-serif;font-size:11px;font-weight:900;display:grid}.schedule-cell{border-left:1px solid #eeebf3;align-content:start;gap:5px;display:grid}.schedule-cell button{border-left:3px solid var(--activity-color);background:color-mix(in srgb,var(--activity-color) 13%,white);border-radius:7px;gap:3px;padding:7px 8px;display:grid}.schedule-cell button b{color:#26243a;overflow-wrap:anywhere;font-size:12px;font-weight:700;line-height:1.5}.schedule-cell button span{color:#696377;font-size:10px;line-height:1.5}.schedule-empty{color:#9992a2;text-align:center;grid-column:1/-1;padding:28px;font-size:11px}.schedule-scroll::-webkit-scrollbar{height:7px}.schedule-scroll::-webkit-scrollbar-track{background:#f1eff6;border-radius:7px}.schedule-scroll::-webkit-scrollbar-thumb{background:#c3bcda;border-radius:7px}@media (width<=700px){.activity-time-fields{grid-template-columns:1fr}.weekly-schedule>.panel-title{flex-direction:column;align-items:flex-start;gap:7px}.schedule-toolbar{flex-wrap:wrap;justify-content:flex-start;margin-top:0}.schedule-toolbar select{max-width:190px}.schedule-grid{grid-template-columns:60px repeat(var(--schedule-columns),minmax(105px,1fr));min-width:795px}}.admin-scope-filters{gap:8px;display:flex}.admin-scope-filters label{color:#8f8899;grid-template-columns:auto minmax(110px,1fr);align-items:center;gap:6px;font-size:9px;display:grid}.admin-scope-filters select{color:#4d4659;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:8px;padding:7px 9px;font-size:10px}.scope-summary{color:#756d84;margin:-5px 0 12px;font-size:10px}.group-manager{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.group-detail-card{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);align-items:start;gap:24px;display:grid}.group-detail-card>.group-editor{border-left:1px solid #f0eef4;padding-left:24px}.group-detail-card>.group-library{min-width:0}.group-library-list{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;gap:8px;max-height:356px;margin-top:15px;padding:2px;display:grid;overflow-y:auto}.group-library-list>button{color:#555064;text-align:left;background:#faf9fd;border:1px solid #ebe8f2;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:10px;width:100%;min-width:0;height:64px;padding:13px;display:grid}.group-library-list>button.selected{background:#f0edff;border-color:#8d7de1;box-shadow:0 3px 9px #594ab719}.group-library-list>button>div{min-width:0}.group-library-list b,.group-library-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.group-library-list>button:focus-visible{outline-offset:-2px;outline:2px solid #8d7de1}.group-library-list b{font-size:12px}.group-library-list small{color:#9993a3;margin-top:4px;font-size:9px}.group-library-list em{color:#7f7890;font-size:9px;font-style:normal}.group-workspace,.group-editor{gap:16px;display:grid}.group-editor label{color:#696377;gap:7px;font-size:11px;font-weight:800;display:grid}.group-editor input,.group-editor textarea,.member-assignment select{color:#342f48;width:100%;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;outline:none;padding:10px 11px;font-size:11px}.group-editor textarea{resize:vertical}.group-editor .publish-toggle{align-items:center;display:flex}.group-editor .publish-toggle input{flex:none;width:auto;margin:0}.member-assignment-list{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;max-height:560px;margin-top:4px;display:grid;overflow-y:auto}.member-assignment-list>div{border-bottom:1px solid #f0eef4;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);align-items:start;gap:24px;padding:16px 0;display:grid}.member-assignment-list>div:last-child{border-bottom:0}.mini-avatar{color:#6659b8;background:#eeeafa;border-radius:10px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:900;display:grid}.mini-avatar.male{color:#477ca0;background:#e8f3fb}.member-assignment-list b,.member-assignment-list small{display:block}.member-assignment-list b{font-size:11px}.member-assignment-list small{color:#9992a3;margin-top:3px;font-size:8px}.join-card form.registration-form{grid-template-columns:1fr;align-items:stretch;gap:14px;display:grid}.registration-form label{gap:6px;display:grid}.registration-form input,.registration-form select{color:#342f48;width:100%;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;padding:10px 11px;font-size:11px}.avatar-source-field{background:#f7f5fc;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding:10px;display:grid}.avatar-source-field b,.avatar-source-field span{display:block}.avatar-source-field b{font-size:10px}.avatar-source-field span{color:#9992a3;margin-top:3px;font-size:8px}.avatar-source-field button{color:#756e82;background:#fff;border:1px solid #ddd8e8;border-radius:7px;padding:7px 9px;font-size:9px}.avatar-source-field button.selected{color:#594cb6;background:#eeeaff;border-color:#7b6bd1}.join-code-row{grid-template-columns:1fr 145px;align-items:end;gap:10px;display:grid}.join-code-row .primary-button{height:38px}@media (width<=1000px){.group-manager{grid-template-columns:1fr}.admin-period-toolbar{flex-wrap:wrap}.admin-scope-filters{order:3;width:100%}}@media (width<=650px){.admin-scope-filters{grid-template-columns:1fr 1fr;display:grid}.admin-scope-filters label{grid-template-columns:1fr}.avatar-source-field{grid-template-columns:1fr 1fr}.avatar-source-field>div{grid-column:1/-1}.join-code-row{grid-template-columns:1fr}}.sidebar button{cursor:pointer}.sidebar button:focus-visible,.side-brand:focus-visible{outline:3px solid var(--kpp-sun);outline-offset:3px}.sidebar button.active{color:var(--kpp-forest);box-shadow:inset 3px 0 0 var(--kpp-forest);background:#e4efd9d1}.group-updates-notice{background:var(--kpp-cream);width:min(460px,100%);color:var(--kpp-forest-dark);gap:13px;padding:24px;display:grid}.group-updates-notice p{color:#50685c;margin:0;font-size:12px;line-height:1.7}.group-updates-notice small{color:#6c8274;font-size:10px;line-height:1.5}.group-updates-notice .primary-button{background:var(--kpp-forest);justify-self:start;width:auto;margin-top:4px}.group-updates-mark{background:var(--kpp-sage);width:48px;height:48px;color:var(--kpp-forest);border-radius:15px;place-items:center;font-size:24px;display:grid}.group-announcement-feed{gap:12px;max-width:760px;display:grid}.group-announcement{grid-template-columns:46px minmax(0,1fr);gap:14px;padding:19px;display:grid}.group-announcement-icon{background:var(--kpp-sage);width:42px;height:42px;color:var(--kpp-forest);border-radius:13px;place-items:center;font-size:20px;display:grid}.group-announcement.activity .group-announcement-icon{color:#a47922;background:#fff2d4}.group-announcement.milestone .group-announcement-icon{color:#187d70;background:#dff4ed}.group-announcement h2{color:var(--kpp-forest-dark);margin:3px 0 7px;font-size:17px}.group-announcement p{color:#50685c;margin:0;font-size:12px;line-height:1.65}.group-announcement .eyebrow{color:#5f7768;font-size:9px}.group-updates-privacy{border:1px solid var(--kpp-line);background:#e4efd985;border-radius:12px;align-items:flex-start;gap:9px;max-width:760px;padding:13px;display:flex}.group-updates-privacy>span{background:var(--kpp-forest);color:#fff;border-radius:50%;flex:none;place-items:center;width:19px;height:19px;font-size:10px;display:grid}.group-updates-privacy p{color:#50685c;flex:1;margin:0;font-size:10px;line-height:1.55}.group-updates-privacy .text-button{flex:none;font-size:10px}.announcement-manager{grid-template-columns:minmax(310px,.9fr) minmax(420px,1.1fr);align-items:stretch;gap:16px;display:grid}.announcement-editor{gap:14px;display:grid}.announcement-editor form{gap:12px;display:grid}.announcement-editor label{color:#696377;gap:6px;font-size:10px;font-weight:800;display:grid}.announcement-editor input,.announcement-editor select,.announcement-editor textarea{box-sizing:border-box;color:#342f48;width:100%;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;padding:10px 11px;font-size:11px}.announcement-editor textarea{resize:vertical}.announcement-editor label small{color:#8a8394;font-size:9px;font-weight:600}.announcement-library{min-width:0;position:relative}.announcement-library>.panel-title{margin:0}.announcement-history{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;position:absolute;inset:105px 20px 20px;overflow-y:auto}.announcement-history-hint{color:#938c9c;margin:8px 0;font-size:10px}.announcement-row{border-top:1px solid #f0eef4;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px 0;display:grid}.announcement-row b,.announcement-row small{display:block}.announcement-row b{color:#4e475d;font-size:11px}.announcement-row small{color:#938c9c;margin-top:4px;font-size:9px;line-height:1.45}.announcement-row button{color:#675f76;background:#fff;border:1px solid #ddd8e8;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800}.announcement-type{width:30px;height:30px;color:var(--kpp-forest);background:#eef4e8;border-radius:9px;place-items:center;font-size:14px;display:grid}.announcement-type.activity{color:#a47922;background:#fff2d4}.announcement-type.resource{color:#187d70;background:#dff4ed}.announcement-boundary{color:#65796d;background:#f4f7f0;border-radius:10px;grid-column:1/-1;margin:0;padding:11px 13px;font-size:10px;line-height:1.6}.parent-page{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:38px;display:grid}.parent-page-heading{justify-content:space-between;align-items:end;gap:20px;padding:8px 2px;display:flex}.parent-page-heading h1{color:var(--kpp-forest-dark);letter-spacing:-1.2px;margin:0;font-family:Nunito,Noto Sans SC,sans-serif;font-size:clamp(30px,4vw,42px)}.parent-page-heading>div>p:last-child{color:#50685c;max-width:640px;margin:8px 0 0;font-size:13px;line-height:1.65}.page-action{white-space:nowrap;background:var(--kpp-forest);width:auto}.route-detail-list,.achievement-showcase{gap:12px;display:grid}.route-detail-card{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.route-detail-card h2,.achievement-showcase-item h2,.group-updates-page h2{color:var(--kpp-forest-dark);margin:0;font-size:17px}.route-detail-card p,.route-detail-card small,.achievement-showcase-item p,.group-updates-page p{color:#50685c;font-size:11px;line-height:1.55}.route-detail-card .progress{background:#e7eedf;margin:11px 0 7px}.route-detail-icon{color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.parent-activity-list{padding-top:7px;padding-bottom:7px}.achievement-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-showcase-item{align-items:center;gap:14px;min-height:90px;display:flex}.achievement-showcase-item i{width:42px;height:42px;color:var(--kpp-forest);background:#e4efd9b8;border-radius:13px;flex:none;place-items:center;font-size:24px;font-style:normal;display:grid}.achievement-showcase-item.trophy i{color:#a47922;background:#fff2d4}.achievement-showcase-item.badge i{color:#835eab;background:#f1e9ff}.achievement-showcase-item.gem i{color:#167d70}.group-updates-page{justify-items:start;gap:12px;max-width:620px;display:grid}.group-updates-page p{margin:0}.parent-page :focus-visible{outline:3px solid var(--kpp-sun);outline-offset:3px}.achievement-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.achievement-summary-grid article{align-content:center;gap:4px;min-height:115px;display:grid}.achievement-summary-grid i{color:var(--kpp-forest);font-size:22px;font-style:normal}.achievement-summary-grid article:nth-child(2) i{color:#187d70}.achievement-summary-grid article:nth-child(3) i{color:#835eab}.achievement-summary-grid article:nth-child(4) i{color:#a47922}.achievement-summary-grid b{color:var(--kpp-forest-dark);font:500 26px/1 Nunito,Noto Sans SC,sans-serif}.achievement-summary-grid span{color:#50685c;font-size:11px}.achievement-records{padding:20px}.achievement-records>div{margin-top:13px;display:grid}.achievement-record{border-top:1px solid var(--kpp-line);grid-template-columns:82px 42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.achievement-record time{color:#5f7768;font-size:11px}.achievement-record i{width:38px;height:38px;color:var(--kpp-forest);background:#e4efd9bd;border-radius:11px;place-items:center;font-size:20px;font-style:normal;display:grid}.achievement-record.trophy i{color:#a47922;background:#fff2d4}.achievement-record.badge i{color:#835eab;background:#f1e9ff}.achievement-record.gem i{color:#187d70;background:#dff4ed}.achievement-record b,.achievement-record small{display:block}.achievement-record b{color:#26243a;font-size:12px;font-weight:700}.achievement-record small{color:#938c9c;margin-top:3px;font-size:10px;line-height:1.5}.achievement-record>span{color:var(--kpp-forest);background:#e4efd9bf;border-radius:7px;padding:5px 7px;font-size:10px;font-weight:800}.achievement-record:has(>span:first-letter){min-width:0}@media (width<=700px){.parent-page{padding-top:23px}.parent-page-heading{flex-direction:column;align-items:flex-start;gap:14px}.page-action{width:100%}.route-detail-card{grid-template-columns:42px minmax(0,1fr)}.route-detail-card .text-button{grid-column:2}.achievement-showcase{grid-template-columns:1fr}.achievement-summary-grid{grid-template-columns:1fr 1fr}.achievement-summary-grid article{min-height:96px}.achievement-records{padding:16px}.achievement-record{grid-template-columns:64px 36px minmax(0,1fr)}.achievement-record i{width:34px;height:34px}.achievement-record>span{display:none}.parent-page-heading>div>p:last-child{font-size:12px}.group-updates-privacy{display:grid}.group-updates-privacy .text-button{justify-self:start}.announcement-manager{grid-template-columns:1fr}.announcement-row{grid-template-columns:34px minmax(0,1fr) auto}.announcement-row .reject{grid-column:2}}@media (width<=980px){.journey-shell .admin-sidebar{border:0;border-bottom:1px solid var(--kpp-line);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:auto;height:auto;margin:0;padding:12px 0 16px;display:grid;position:static}.admin-sidebar .side-brand{grid-column:1/-1;margin-bottom:8px}.admin-sidebar>p{display:none}.journey-shell .admin-sidebar>button{white-space:nowrap;justify-content:center;gap:6px;padding:11px 7px;font-size:12px}}@media (width<=560px){.admin-heading>.admin-tabs{flex-wrap:wrap}.admin-analytics-grid{grid-template-columns:minmax(0,1fr)}.admin-analytics-grid>.panel{min-width:0}.admin-trend-bars{gap:5px}.admin-trend-value{flex-direction:column;align-items:center;gap:0}.admin-trend-item>small{white-space:normal;text-align:center}}@media (width<=900px){.group-detail-card{grid-template-columns:minmax(0,1fr)}.group-detail-card>.group-editor{border-top:1px solid #f0eef4;border-left:0;padding-top:20px;padding-left:0}}.announcement-group-picker{gap:6px;display:grid}.announcement-group-label{color:#696377;font-size:10px;font-weight:800}.announcement-group-trigger{color:#342f48;text-align:left;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;align-items:center;gap:10px;width:100%;min-width:0;padding:10px 11px;font-family:inherit;font-size:11px;display:flex}.announcement-group-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.announcement-group-trigger>small{color:#938c9c;flex:none;font-size:9px}.announcement-group-trigger>i{color:#777181;font-style:normal}.announcement-group-trigger:hover{border-color:#8d7de1}.announcement-group-trigger:focus-visible{outline-offset:2px;outline:2px solid #8d7de1}.announcement-group-dialog{box-sizing:border-box;color:#26243a;background:#fffdf6;border:1px solid #dfdbe9;border-radius:18px;width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:20px;overflow-y:auto;box-shadow:0 16px 48px #1647292e}.announcement-group-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#26243a47}.announcement-group-dialog h2{color:#123e30;margin:0;font-size:20px}.announcement-group-dialog .eyebrow{color:#938c9c;font-size:10px}.group-picker-close{color:#777181;background:0 0;border:0;padding:5px 8px;font-family:inherit;font-size:20px;line-height:1}.announcement-target-actions{align-items:center;gap:14px;margin:16px 0 10px;display:flex}.announcement-target-actions>span{color:#938c9c;margin-right:auto;font-size:10px}.announcement-target-actions .text-button{font-size:10px}.announcement-target-list{scrollbar-width:thin;grid-template-columns:minmax(0,1fr);gap:8px;max-height:300px;padding:2px;display:grid;overflow-y:auto}.announcement-target-list label{cursor:pointer;background:#fff;border:1px solid #e2dff0;border-radius:9px;align-items:center;gap:10px;min-width:0;padding:11px;display:flex}.announcement-target-list label.selected{background:#f0edff;border-color:#8d7de1}.announcement-target-list input{accent-color:#5a49cf;flex:none;width:auto;margin:0}.announcement-target-list label span{min-width:0}.announcement-target-list b{color:#26243a;overflow-wrap:anywhere;font-size:12px;display:block}.announcement-target-list small{color:#938c9c;margin-top:3px;font-size:10px;display:block}.group-picker-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.group-picker-actions .primary-button{width:auto;min-width:100px;padding:9px 14px;font-size:11px}.group-picker-cancel{color:#777181;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;padding:9px 14px;font-family:inherit;font-size:11px;font-weight:700}.announcement-group-dialog button:focus-visible,.announcement-target-list input:focus-visible{outline-offset:2px;outline:2px solid #8d7de1}.announcement-save-actions{flex-wrap:wrap}.announcement-notice{color:#50685c;margin:0;font-size:10px;line-height:1.6}@media (width<=1000px){.announcement-library{min-height:240px}.announcement-history{max-height:440px;margin-top:12px;position:static;overflow-y:auto}}@media (width<=560px){.announcement-target-list{grid-template-columns:minmax(0,1fr)}.announcement-row{grid-template-columns:30px minmax(0,1fr) auto}.announcement-row>.reject{grid-column:3}.announcement-save-actions .primary-button{flex:1;min-width:0}}.announcement-selected-groups{flex-wrap:wrap;gap:6px;display:flex}.announcement-selected-groups>span{color:#6255bd;overflow-wrap:anywhere;background:#f0edff;border:1px solid #e2dff0;border-radius:7px;max-width:100%;padding:5px 8px;font-size:10px;line-height:1.5}.announcement-selected-groups>small{color:#938c9c;font-size:9px}.time-level-editor fieldset{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;display:grid}.time-level-heading{align-items:end;gap:12px;display:flex}.time-level-heading>label{flex:1;min-width:0}.time-level-heading .level-actions{flex-shrink:0;grid-column:auto}.time-reward-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.time-reward-summary{color:#66756c;margin:0;font-size:10px;font-weight:500;line-height:1.7}.route-config-note{color:#8b8797;margin:0;font-size:10px;line-height:1.6}@media (width<=560px){.time-level-heading{flex-direction:column;align-items:stretch}.time-level-heading .level-actions{align-self:flex-end}.time-reward-fields{grid-template-columns:minmax(0,1fr)}}.time-level-editor textarea{resize:vertical;color:#342f48;width:100%;min-width:0;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;padding:10px 11px;font-size:12px}.time-level-editor textarea:focus{border-color:#8272da;outline:none;box-shadow:0 0 0 3px #7564d315}.route-material-links{flex-wrap:wrap;gap:6px 12px;display:flex}.route-material-links:empty{display:none}.route-material-links a{color:#14734c;font-size:10px;text-decoration:none}.route-material-links a:hover{text-decoration:underline}.route-file-upload{gap:6px;display:grid}.route-file-upload>small{color:#8b8797;font-size:9px}.route-file-control input[type=file]{padding:8px;font-size:10px}.route-file-control input::file-selector-button{color:#14734c;font:inherit;background:#e7efdf;border:0;border-radius:6px;margin-right:10px;padding:6px 10px;font-weight:700}.route-material-files{gap:6px;margin:0;padding:0;list-style:none;display:grid}.route-material-files li{background:#f0f3e9;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.route-material-files a{overflow-wrap:anywhere;color:#14734c;flex:1;min-width:0;font-size:11px}.route-material-files small{color:#8b8797;white-space:nowrap;font-size:9px}.route-material-files button{color:#9a6969;white-space:nowrap;background:0 0;border:0;font-size:10px}.announcement-selectable-row{grid-template-columns:minmax(0,1fr) auto}.announcement-selectable-row.selected{background:#f0edff;border-radius:8px}.announcement-row .announcement-record-select{text-align:left;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:6px;display:grid}.announcement-record-select:focus-visible{outline-offset:-2px;outline:2px solid #8272da}.announcement-detail{grid-column:1/-1}.announcement-detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.announcement-content-preview{border-left:1px solid #e2dfea;min-width:0;padding-left:24px}.announcement-content-preview h3{color:#123e30;font-size:17px}.announcement-body{min-width:0;font-size:12px;line-height:1.7}.announcement-body>p{white-space:pre-wrap;overflow-wrap:anywhere}.announcement-body a{color:#14734c;overflow-wrap:anywhere}.announcement-links,.announcement-files{gap:8px;padding:0;list-style:none;display:grid}.announcement-files li{align-items:center;gap:12px;display:flex}.announcement-files small{color:#938c9c;white-space:nowrap;font-size:9px}.announcement-images{flex-wrap:wrap;gap:10px;display:flex}.announcement-images:empty,.announcement-files:empty{display:none}.announcement-images a{max-width:100%}.announcement-images img{object-fit:contain;border-radius:9px;max-width:100%;max-height:240px;display:block}.announcement-upload-controls{grid-template-columns:1fr 1fr;gap:12px;display:grid}.announcement-upload-controls input{font-size:10px}.announcement-upload-controls input::file-selector-button{color:#14734c;font:inherit;background:#e7efdf;border:0;border-radius:6px;margin-right:6px;padding:6px}.announcement-attachment-editor{gap:8px;display:grid}.announcement-attachment-editor>div{background:#f0f3e9;border-radius:8px;align-items:center;gap:9px;padding:8px;display:flex}.announcement-attachment-editor img{object-fit:contain;border-radius:6px;width:54px;height:54px}.announcement-attachment-editor span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:10px}.announcement-attachment-editor button{color:#a26868;white-space:nowrap;background:0 0;border:0;font-size:10px}@media (width<=700px){.announcement-detail-layout,.announcement-upload-controls{grid-template-columns:1fr}.announcement-content-preview{border-top:1px solid #e2dfea;border-left:0;padding:16px 0 0}.announcement-selectable-row .reject{grid-column:auto}}.announcement-rich-text{white-space:pre-wrap;overflow-wrap:anywhere}.announcement-inline-image{object-fit:contain;border-radius:9px;max-width:100%;max-height:280px;margin:12px 0;display:block}.announcement-content-editor{gap:8px;min-width:0;display:grid}.announcement-field-label{color:#696377;font-size:10px;font-weight:800}.announcement-inline-toolbar{align-items:center;gap:10px;display:flex}.announcement-inline-toolbar>label{flex:1;min-width:0}.announcement-inline-toolbar button{color:#6255bd;white-space:nowrap;background:#fff;border:1px solid #ded9e9;border-radius:7px;padding:7px;font-size:10px;font-weight:700}.announcement-content-editor>small{color:#8a8394;font-size:9px}.announcement-block-editor{background:#fcfbfe;border:1px solid #dfdbe9;border-radius:9px;gap:8px;padding:10px;display:grid}.announcement-block-editor textarea{background:0 0;border:0;min-height:52px;padding:0}.announcement-edit-image{justify-items:start;gap:5px;display:grid}.announcement-edit-image img{object-fit:contain;border-radius:8px;max-width:100%;max-height:200px}.announcement-edit-image button{color:#a26868;background:0 0;border:0;font-size:10px}.announcement-link-dialog{box-sizing:border-box;color:#26243a;background:#fffdf6;border:1px solid #ded9e9;border-radius:16px;width:min(360px,100vw - 40px);padding:20px}.announcement-link-dialog::backdrop{background:#123e304d}.announcement-link-dialog h3{margin-top:0;font-size:17px}.announcement-link-dialog label{margin-bottom:12px}.announcement-link-dialog p{color:#a26868;font-size:10px}.announcement-link-dialog .editor-actions{justify-content:flex-end}.route-manager>.panel{height:var(--route-card-height);box-sizing:border-box;min-width:0}.route-library{flex-direction:column;display:flex}.route-library-list{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;flex:1;min-height:0;max-height:none}.route-editor{min-height:0;display:block;position:relative}.route-editor-scroll{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;align-content:start;gap:17px;padding-right:8px;display:grid;position:absolute;inset:20px;overflow-y:auto}.route-editor-scroll:focus-visible{outline-offset:3px;outline:2px solid #8272da}.badge-rule-fields input:disabled{color:#9992a3;background:#f0eef4}@media (width<=900px){.route-manager{--route-card-height:440px}}.overview-period-toolbar{--overview-control-height:34px;flex-wrap:wrap;align-items:flex-end}.overview-period-toolbar .overview-date-range input,.overview-period-toolbar .admin-scope-filters select{height:var(--overview-control-height);box-sizing:border-box}.overview-period-toolbar>.admin-scope-filters,.overview-period-toolbar .admin-scope-filters label{align-items:center}.overview-period-toolbar>.period-switch{height:var(--overview-control-height);box-sizing:border-box;border:0;align-items:stretch;padding:0}.overview-period-toolbar>.period-switch button{height:var(--overview-control-height);box-sizing:border-box;border:1px solid var(--kpp-line);padding:0 11px;font-size:10px}.overview-date-range{border:0;align-items:end;gap:8px;min-width:0;margin:0;padding:0;display:flex}.overview-date-range legend{color:#938c9c;margin-bottom:5px;font-size:10px}.overview-date-range label{color:#77718b;white-space:nowrap;align-items:center;gap:8px;font-size:10px;display:flex}.overview-date-range input{box-sizing:border-box;color:#342f48;width:130px;min-width:0;font:inherit;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:8px;padding:7px 9px}.overview-date-range>span{color:#938c9c;align-self:center;font-size:10px}.overview-chart-stack{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:18px;margin-top:18px;display:grid}.overview-chart-stack>.panel{min-width:0}.overview-chart-stack>.panel:nth-child(n+3){grid-column:1/-1}.overview-chart{gap:10px;min-width:0;margin-top:20px;display:flex}.overview-y-axis{box-sizing:border-box;color:#938c9c;flex-direction:column;flex-shrink:0;justify-content:space-between;width:55px;height:230px;padding-top:40px;font-size:9px;display:flex}.overview-chart-scroll{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;flex:1;min-width:0;padding-bottom:8px;overflow-x:auto}.overview-chart-scroll:focus-visible{outline-offset:2px;outline:2px solid #8272da}.overview-chart-columns{align-items:start;min-width:100%;padding-top:40px;display:grid}.overview-chart-column{text-align:center;justify-items:center;gap:7px;min-width:0;padding:0 8px;display:grid}.overview-bar-value{color:#5d50b9;white-space:normal;overflow-wrap:anywhere;text-align:center;width:100%;font-size:11px;line-height:1.4;position:absolute;left:0}.overview-column-track{background:repeating-linear-gradient(0deg,#0000 0 94px,#eeeaf3 95px,#0000 96px);border-bottom:1px solid #dcd6e7;width:100%;height:190px;position:relative}.overview-column-track>i{border-radius:6px 6px 0 0;width:50%;display:block;position:absolute;bottom:0;left:25%}.overview-chart-column>strong{overflow-wrap:anywhere;max-width:100%;font-size:11px;line-height:1.5}.overview-chart-column>small{font-size:9px}.overview-chart-column.subject-start{border-left:1px solid #e2dfea}.overview-chart-column .ranking-view-button{justify-self:center;margin-top:4px}.overview-chart-stack .panel-title{flex-wrap:wrap}.overview-chart-stack .analytics-note{color:#938c9c;font-size:10px;line-height:1.6}.overview-chart-stack .panel-scope-filters select{max-width:100%}@media (width<=560px){.overview-date-range{grid-template-columns:minmax(0,1fr);gap:8px;width:100%;display:grid}.overview-date-range label{min-width:0}.overview-date-range input{flex:1;width:0}.overview-date-range>span{display:none}.overview-period-toolbar .admin-scope-filters{flex-wrap:wrap;width:100%}.overview-chart-stack>.panel{padding:16px}.overview-y-axis{width:42px;font-size:8px}.overview-chart{gap:5px}.overview-chart-stack .ranking-switch{flex-wrap:wrap}}@media (width<=980px){.overview-chart-stack{grid-template-columns:minmax(0,1fr)}}.invite-manager>.panel,.invite-record-card{min-width:0}.invite-record-card{min-height:0;position:relative}.invite-record-scroll{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;padding-right:6px;position:absolute;inset:20px;overflow-y:auto}.invite-record-scroll:focus-visible{outline-offset:3px;outline:2px solid #8272da}.invite-manager input,.invite-manager select{box-sizing:border-box;min-width:0}.invite-manager .invite-list>div{grid-template-columns:minmax(0,1fr) auto;gap:8px}.invite-manager .invite-list button{grid-column:2;justify-self:end}.invite-manager .invite-list>div>div{overflow-wrap:anywhere;grid-row:span 2;min-width:0}.invite-manager .invite-log>div{grid-template-columns:minmax(0,1fr) auto}.invite-manager .invite-log span{overflow-wrap:anywhere}.invite-manager .invite-log small{grid-column:1/-1}.invite-manager .revealed-code b{overflow-wrap:anywhere;letter-spacing:2px;font-size:20px}@media (width<=1200px){.invite-manager .invite-role-grid{grid-template-columns:1fr}}@media (width<=980px){.invite-manager{grid-template-columns:minmax(0,1fr)}.invite-record-card{min-height:440px}}.honor-review-workspace{gap:16px;display:grid}.honor-review-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.honor-review-toolbar .panel-scope-filters{margin:0}.honor-review-toolbar>small{color:#938c9c;font-size:10px}.honor-review-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.honor-review-list-card{min-width:0}.honor-review-list-card>.panel-title{min-height:48px;margin-bottom:14px}.honor-review-scroll{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;height:640px;overflow-y:auto}.honor-review-scroll:focus-visible{outline-offset:3px;outline:2px solid #8272da}.honor-item{box-sizing:border-box;border-bottom:1px solid #ebe7f0;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:28px minmax(0,1fr);gap:6px 10px;height:128px;padding:12px 4px;display:grid}.honor-item-icon{color:#a47922;background:#fff2d4;border-radius:8px;place-items:center;width:28px;height:28px;font-size:18px;display:grid}.honor-item-copy{min-width:0}.honor-item-copy>b{color:#4e475d;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.honor-item-copy p{color:#756f7c;white-space:nowrap;text-overflow:ellipsis;margin:3px 0;font-size:10px;line-height:1.5;overflow:hidden}.honor-item-copy small{color:#938c9c;white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.honor-item-copy .honor-item-description{color:#696377;font-size:11px}.honor-item-footer{grid-column:2;align-items:center;gap:7px;min-width:0;display:flex}.honor-item-footer>small{color:#938c9c;white-space:nowrap;font-size:9px}.honor-item-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.honor-review-action.approve{color:#14734c;background:#e7f7f2;border-color:#cee7db}.honor-review-action.reject{color:#a05d56;border-color:#e6d8d4}.honor-review-action:disabled{opacity:.5;cursor:wait}.honor-review-status{white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:9px}.honor-review-status.approved{color:#14734c;background:#e7f7f2}.honor-review-status.rejected{color:#a05d56;background:#fff0ee}.honor-detail-dialog{box-sizing:border-box;color:#26243a;background:#fffdf6;border:1px solid #ded9e9;border-radius:18px;width:min(540px,100vw - 32px);max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto}.honor-detail-dialog::backdrop{background:#123e304d}.honor-detail-dialog h2{font-size:20px}.honor-detail-dialog h3{font-size:17px}.honor-detail-dialog h4{margin-bottom:6px;font-size:12px}.honor-detail-dialog p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7}.honor-detail-dialog small{color:#938c9c;font-size:9px}@media (width<=980px){.honor-review-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.honor-review-toolbar{flex-direction:column;align-items:start;padding:14px}.honor-review-list-card{padding:16px}.honor-item-footer{grid-column:1/-1}.honor-item-footer>small{text-overflow:ellipsis;max-width:90px;overflow:hidden}.honor-item-actions{gap:4px}.honor-item-actions button{padding:7px}.honor-detail-dialog .panel-title{align-items:center}}.level-course-fields{flex:1;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(70px,.65fr);gap:10px;min-width:0;display:grid}.level-course-fields>label{min-width:0}.time-level-heading:has(.level-course-fields){flex-wrap:wrap}.time-level-heading:has(.level-course-fields) .level-actions{margin-left:auto}@media (width<=700px){.level-course-fields{flex-basis:100%}}@media (width<=560px){.level-course-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.level-course-fields>label:first-child{grid-column:1/-1}}.completion-reward-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.completion-reward-fields>label{min-width:0}@media (width<=560px){.completion-reward-fields{grid-template-columns:minmax(0,1fr)}}.parent-route-card{border-top:1px solid var(--kpp-line);min-width:0}.parent-route-card .route-top{align-items:center}.parent-route-card .subject-chip{background:color-mix(in srgb,var(--route) 12%,var(--kpp-cream));color:color-mix(in srgb,var(--route) 60%,#26243a)}.parent-route-card .route-top button{color:#26243a;letter-spacing:3px;padding:3px;font-family:inherit;font-size:16px;line-height:1}.parent-route-card .route-name h3{color:#26243a;overflow-wrap:anywhere}.parent-route-card .parent-route-current-level{color:#696377;height:auto;margin:2px 0 0;font-size:11px;line-height:1.5}.parent-route-card .progress-meta{color:#26243a;flex-wrap:wrap;gap:8px;font-size:11px}.parent-route-card .progress-meta strong{font-size:11px}.parent-route-card .progress{background:#eae7ee}.parent-route-unknown-progress{background:#eae7ee;border-radius:5px;height:6px;margin-top:6px}.parent-route-card .parent-route-material-count{color:#938c9c;font-size:9px;line-height:1.5}.parent-route-card :focus-visible,.parent-route-details :focus-visible{outline:2px solid var(--kpp-forest);outline-offset:3px}.parent-route-stats{border-top:1px solid var(--kpp-line);border-bottom:1px solid var(--kpp-line);grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px 0;display:grid}.parent-route-stats>div{text-align:center;min-width:0}.parent-route-stats small{color:#938c9c;overflow-wrap:anywhere;margin:0;font-size:9px;line-height:1.5;display:block}.parent-route-stats b{color:var(--kpp-forest-dark);flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;margin:6px 0;font-family:Nunito,Noto Sans SC,sans-serif;font-size:20px;line-height:1.3;display:flex}.parent-route-stats b span{font-family:Noto Sans SC,sans-serif;font-size:10px;font-weight:500}.parent-route-stats .parent-route-current-unit{overflow-wrap:anywhere;font-size:17px}.parent-route-stats .reward-icon{width:20px;height:20px}.parent-route-rules{gap:7px;display:grid}.parent-route-rules p{color:#26243a;height:auto;margin:0;font-size:11px;line-height:1.6}.parent-route-rules p>span{color:#696377;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.parent-route-progress>div:first-child{color:#696377;justify-content:space-between;align-items:center;gap:8px;font-size:10px;line-height:1.5;display:flex}.parent-route-progress b{color:#26243a;font-size:10px}.parent-route-progress .progress{background:#eae7ee;margin:7px 0}.parent-route-progress small{color:#938c9c;margin:0;font-size:9px;line-height:1.5;display:block}.parent-route-details .parent-route-pending{color:#696377;background:#f3f1f8;border-radius:9px;height:auto;margin:0;padding:9px 10px;font-size:10px;line-height:1.6}.parent-route-details{background:var(--kpp-card-solid);gap:16px;width:min(720px,100vw - 34px);display:grid}.parent-route-details .modal-heading{align-items:start}.parent-route-details .parent-route-progress{margin-top:12px}.parent-route-details .modal-heading h2{color:#26243a;font-family:Nunito,Noto Sans SC,sans-serif;font-size:20px;line-height:1.5}.parent-route-details .modal-heading .eyebrow{color:#696377;font-size:12px}.parent-route-levels{gap:16px;display:grid}.parent-route-levels>article{border-bottom:1px solid var(--kpp-line);padding:14px 0}.parent-route-levels>article:first-child{padding-top:0}.parent-route-level-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.parent-route-level-heading h3{color:#26243a;margin:0;font-size:13px}.parent-route-level-heading>span{color:#696377;font-size:10px}.parent-route-level-total{color:#696377;margin:8px 0;font-size:11px;line-height:1.6}.parent-route-rule-section{border-top:1px solid var(--kpp-line);margin-top:14px;padding-top:14px}.parent-route-materials{border-top:1px solid var(--kpp-line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.parent-route-materials h4{color:#696377;width:100%;margin:0;font-size:10px}.parent-route-materials a{overflow-wrap:anywhere;max-width:100%;color:var(--kpp-forest);font-size:11px;line-height:1.6}.parent-route-materials>span,.parent-route-note{color:#938c9c;margin:0;font-size:10px;line-height:1.6}@media (width<=560px){.parent-route-grid{grid-template-columns:1fr}.parent-route-details{padding:16px}.parent-route-progress>div:first-child{flex-wrap:wrap}.parent-route-details .modal-heading h2{font-size:20px}}.parent-route-record-summary{color:#938c9c;margin:0 0 10px;font-size:10px;line-height:1.5}.parent-route-activity-details{border-top:1px solid var(--kpp-line);margin-top:16px;padding-top:14px}.parent-route-activity-details h4{color:#26243a;margin:0 0 7px;font-size:12px}.parent-route-activity-scroll{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;max-height:250px;overflow-y:auto}.parent-route-activity-scroll article{border-bottom:1px solid var(--kpp-line);padding:9px 0}.parent-route-activity-scroll article:last-child{border-bottom:0}.parent-route-activity-scroll article>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.parent-route-activity-scroll time{color:#938c9c;font-size:9px}.parent-route-activity-scroll b{color:#26243a;font-size:11px}.parent-route-activity-scroll p{color:#696377;overflow-wrap:anywhere;margin:5px 0 0;font-size:11px;line-height:1.6}@media (width<=560px){.parent-route-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.parent-route-stats>div:last-child{grid-column:1/-1}}@media (width<=780px){.welcome-actions{grid-template-columns:minmax(0,1fr);width:100%}}@media (width<=560px){.buddy-with-treasure .buddy-copy{max-width:90px}.buddy-with-treasure .buddy-character{width:105px;height:calc(100% - 55px);top:0;bottom:55px;right:59px}}.reward-icon{vertical-align:middle;width:var(--reward-size);height:var(--reward-size);flex:none;display:inline-block;overflow:visible}.reward-icon-trophy{--reward-size:30px}.reward-icon-badge{--reward-size:26px}.reward-icon-gem{--reward-size:22px}.reward-icon-fragment{--reward-size:16px}.buddy-treasure>div{grid-template-columns:28px minmax(0,1fr) auto;gap:3px}.buddy-treasure i{place-items:center;line-height:1;display:grid}.buddy-treasure .reward-icon-trophy{--reward-size:28px}.buddy-treasure .reward-icon-badge{--reward-size:24px}.buddy-treasure .reward-icon-gem{--reward-size:20px}.buddy-treasure .reward-icon-fragment{--reward-size:14px}@media (width<=560px){.buddy-treasure>div{grid-template-columns:21px minmax(0,1fr);gap:3px}.buddy-treasure .reward-icon-trophy{--reward-size:21px}.buddy-treasure .reward-icon-badge{--reward-size:18px}.buddy-treasure .reward-icon-gem{--reward-size:15px}.buddy-treasure .reward-icon-fragment{--reward-size:11px}}.overview-stacked-bar{border-radius:6px 6px 0 0;flex-direction:column-reverse;width:50%;display:flex;position:absolute;bottom:0;left:25%;overflow:hidden}.overview-stacked-bar>span{flex-shrink:0;width:100%;display:block}.ranking-subject-legend{color:#777181;flex-wrap:wrap;gap:10px 18px;margin-top:14px;font-size:10px;display:flex}.ranking-subject-legend>span{align-items:center;gap:6px;display:inline-flex}.ranking-subject-legend i{border-radius:3px;width:9px;height:9px;display:block}.comparison-title strong,.admin-kpis .stat-card strong{overflow-wrap:anywhere;line-height:1.3}.comparison-bar em{white-space:nowrap;font-size:9px}.activity-time b{white-space:normal;overflow-wrap:anywhere}.overview-y-axis{overflow-wrap:anywhere;min-width:72px}.admin-subject-bars em{white-space:normal;overflow-wrap:anywhere;min-width:74px}.admin-activity-list em{white-space:normal;overflow-wrap:anywhere}.admin-subject-bars>div{grid-template-columns:25px 34px minmax(0,1fr) 74px}.comparison-bars{padding-top:26px}.comparison-bar em{white-space:normal;text-align:center;width:calc(100% + 16px);max-width:80px;line-height:1.2;top:-26px}.journey-shell .welcome-panel{border:1px solid var(--kpp-line);background:var(--kpp-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;grid-template-columns:minmax(0,1.2fr) 340px minmax(290px,1fr);align-items:stretch;gap:24px;margin:20px 0 24px;padding:24px 28px;display:grid;box-shadow:0 10px 28px #1647291a}.welcome-panel .welcome-greeting{flex-direction:column;justify-content:space-between;place-self:stretch center;align-items:flex-start;gap:14px;width:fit-content;min-width:0;max-width:100%;min-height:224px;display:flex}.welcome-panel .welcome-greeting>.eyebrow{margin:0;font-size:14px;line-height:21px}.welcome-panel h1{margin:0;font-size:clamp(28px,2.6vw,38px);line-height:1.4}.welcome-panel .subtle{color:#696377;max-width:360px;margin:0;font-size:12px;line-height:1.7}.welcome-panel .welcome-record{white-space:nowrap;align-items:center;gap:12px;width:auto;margin-top:0;font-size:12px;display:inline-flex}.welcome-panel .welcome-actions{border-left:1px solid var(--kpp-line);width:auto;max-width:100%;padding-left:24px;display:block}.welcome-treasures{flex-direction:column;justify-content:space-between;width:100%;height:100%;min-height:224px;display:flex}.welcome-treasures h2,.character-attributes h2{color:#51466b;margin:0;font-size:14px;line-height:1.5}.welcome-treasure-body{flex:1;grid-template-columns:minmax(0,1fr) 110px;gap:12px;margin-top:12px;display:grid}.welcome-companion{text-align:center;flex-direction:column;justify-content:space-between;align-items:center;gap:5px;min-width:0;display:flex}:is(.welcome-panel,.jianghu-self) .buddy-character{background-position:bottom;background-size:contain;width:125px;height:170px;position:static}.welcome-companion>span{color:#83768f;font-size:10px;line-height:1.5}.welcome-panel .welcome-companion{position:relative}.welcome-panel .welcome-companion .buddy-character{width:100%;height:100%;position:absolute;inset:0}:is(.welcome-panel,.jianghu-self) .buddy-character.princess{background-image:url(/princess-transparent.png)}:is(.welcome-panel,.jianghu-self) .buddy-character.prince{background-image:url(/prince-transparent.png)}:is(.welcome-panel,.jianghu-self) .buddy-treasure{grid-template-rows:repeat(4,28px);align-content:space-between;align-self:stretch;gap:8px;width:auto;padding:0;position:static}:is(.welcome-panel,.jianghu-self) .buddy-treasure>div{grid-template-columns:28px max-content max-content;justify-content:start;align-items:center;gap:5px;display:grid}:is(.welcome-panel,.jianghu-self) .buddy-treasure>div>span{font-size:12px}:is(.welcome-panel,.jianghu-self) .buddy-treasure>div>b{grid-column:auto;margin-left:3px;font-size:16px;line-height:1.5}.character-attributes{border-left:1px solid var(--kpp-line);flex-direction:column;justify-content:space-between;min-width:0;min-height:224px;padding-left:24px;display:flex}.character-attributes header{justify-content:space-between;align-items:center;gap:8px;display:flex}.character-attributes header>span{color:#938c9c;font-size:9px}.character-attributes dl{flex:1;grid-template-rows:repeat(3,29px);grid-template-columns:repeat(2,minmax(0,1fr));align-content:space-between;gap:10px 14px;margin:12px 0 0;display:grid}.character-attributes dl>div{grid-template-columns:minmax(0,93px) minmax(36px,1fr);align-items:center;gap:8px;padding:0;display:grid}.character-attributes dt{color:#696377;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.character-attributes dt>span{min-width:0;line-height:1.2}.character-attributes dt i{background:color-mix(in srgb,currentColor 8%,transparent);border-radius:8px;flex-shrink:0;place-items:center;width:27px;height:29px;display:grid}.character-attributes svg{width:21px;height:21px;display:block}.character-attributes dd{color:#39324f;font-variant-numeric:tabular-nums;flex-shrink:0;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:18px;font-weight:800}@media (width<=1200px){.journey-shell .welcome-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.welcome-panel .welcome-greeting{border-bottom:1px solid var(--kpp-line);grid-column:1/-1;width:auto;padding-bottom:20px}.welcome-panel .welcome-actions{border-left:0;padding-left:0}:is(.welcome-panel,.jianghu-self) .buddy-character{width:140px;height:170px}}@media (width<=700px){.welcome-panel .welcome-treasures{min-height:203px}.welcome-panel .welcome-treasure-body{grid-template-columns:minmax(0,1fr) max-content}.journey-shell .welcome-panel{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px}.welcome-panel .welcome-greeting{grid-column:auto}.character-attributes{border-left:0;border-top:1px solid var(--kpp-line);padding:20px 0 0}.welcome-treasure-body{grid-template-columns:minmax(0,1fr) 110px}:is(.welcome-panel,.jianghu-self) .buddy-treasure>div{grid-template-columns:28px max-content max-content}.welcome-panel h1{font-size:28px}.welcome-panel .welcome-record{margin-top:0}.character-attributes dl{gap:8px 16px}.character-attributes dt{font-size:12px}:is(.welcome-panel,.jianghu-self) .buddy-treasure .reward-icon-trophy{--reward-size:28px}:is(.welcome-panel,.jianghu-self) .buddy-treasure .reward-icon-badge{--reward-size:24px}:is(.welcome-panel,.jianghu-self) .buddy-treasure .reward-icon-gem{--reward-size:20px}:is(.welcome-panel,.jianghu-self) .buddy-treasure .reward-icon-fragment{--reward-size:14px}}.character-attributes header>.text-button{white-space:nowrap;padding:0;font-size:9px}:is(.welcome-panel,.jianghu-self) .treasure-count{color:#41395c;text-align:right;text-underline-offset:3px;background:0 0;border:0;border-radius:4px;margin-left:3px;padding:0;font-family:Nunito,system-ui,sans-serif;font-size:16px;font-weight:800;line-height:1.5;-webkit-text-decoration:underline #d4cddd;text-decoration:underline #d4cddd}.treasure-count:focus-visible{outline:2px solid var(--kpp-forest);outline-offset:3px}.growth-details{width:min(740px,100vw - 32px);max-height:85vh;overflow:auto}.color-gem-collection,.growth-section{margin:18px 0}.growth-section .panel-title{margin-bottom:20px}.color-gem-collection .panel-title{align-items:center;gap:14px;margin-bottom:20px}.color-gem-collection .panel-title small{color:#837b91;font-size:10px}.color-gem-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.color-gem-list article{grid-template-rows:24px repeat(3,auto) 1fr;align-content:start;gap:8px;min-width:0;display:grid}.color-gem-list article>div{white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.color-gem-list article>span{color:#777080;justify-content:space-between;gap:6px;font-size:10px;display:flex}.color-gem-list article>span b{color:#39324f}.color-gem-list article>small{color:#938c9c;font-size:9px;line-height:1.6}.gem-bonus-list{gap:14px;display:grid}.gem-bonus-list article{border-bottom:1px solid #ece8f1;grid-template-columns:1fr 1fr 1.3fr;align-items:start;gap:16px;min-width:0;padding-bottom:14px;display:grid}.gem-bonus-list article:last-child{border-bottom:0;padding-bottom:0}.gem-bonus-subject{align-items:center;gap:5px;min-height:24px;font-size:11px;display:flex}.gem-bonus-values{gap:5px;font-size:10px;display:grid}.gem-bonus-values small{color:#837b91;margin-bottom:3px;font-size:10px}.gem-bonus-values span{justify-content:space-between;gap:8px;display:flex}.gem-bonus-values b,.color-gem-list article>span b,.growth-table{font-variant-numeric:tabular-nums}.growth-explanation{color:#837b91;margin:16px 0 0;font-size:11px;line-height:1.7}.growth-table-scroll{overflow-x:auto}.growth-table{border-collapse:collapse;text-align:right;white-space:nowrap;width:100%;font-size:11px}.growth-table caption{text-align:left;margin-bottom:10px;font-size:14px;font-weight:800}.growth-table th,.growth-table td{border-bottom:1px solid #ece8f1;padding:10px 8px}.growth-table th:first-child{text-align:left}.growth-table thead{color:#837b91}@media (width<=700px){.color-gem-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.color-gem-collection .panel-title{flex-direction:column;align-items:start}.growth-details :is(.color-gem-collection,.growth-section){padding:14px}.gem-bonus-list article{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gem-bonus-subject{grid-column:1/-1}.color-gem-list article{grid-template-rows:auto repeat(3,auto) 1fr}.color-gem-list article>div{white-space:normal;flex-wrap:wrap}.growth-table{font-size:10px}.growth-table th,.growth-table td{padding:8px 5px}}@media (width>=1101px){.journey-shell .dashboard-route-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.dashboard-route-grid .route-name{flex-wrap:wrap;gap:4px}.dashboard-route-grid .route-name h3{font-size:15px;line-height:1.5}.dashboard-route-grid .route-name>b{font-size:10px}.dashboard-route-grid .progress-meta{flex-wrap:wrap;gap:5px}.dashboard-route-grid .parent-route-card{padding:14px}.parent-activity-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8c1df #f3f1f7;max-height:504px;overflow-y:auto}.parent-activity-scroll .activity{box-sizing:border-box;align-items:center;height:84px;min-height:84px}.parent-activity-scroll .activity>div{min-width:0}.parent-activity-scroll .activity p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.schedule-cell button{text-align:left;cursor:pointer;width:100%;font-family:inherit}.schedule-cell button:hover{filter:brightness(.97)}.schedule-cell button:focus-visible{outline:2px solid var(--kpp-forest);outline-offset:2px}.settings-personal-profile{margin-bottom:16px}.settings-personal-profile dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px;margin:0;display:grid}.settings-personal-profile dl>div{min-width:0}.settings-personal-profile dt{color:#81798c;margin-bottom:6px;font-size:10px}.settings-personal-profile dd{color:var(--kpp-forest-dark);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700}@media (width<=800px){.settings-personal-profile dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.route-insights .schedule-toolbar.route-range-toolbar{justify-content:flex-start;margin:0 0 18px}.parent-activity-list>.panel-title>.muted{color:#81798c;font-size:10px;font-weight:500;line-height:1.5}.group-daily-bouts{margin-bottom:20px}.group-daily-bouts ul{max-height:360px;margin:0;padding:0;list-style:none;overflow:auto}.group-daily-bouts li{border-top:1px solid var(--kpp-line);padding:16px 0;font-size:14px;line-height:1.7}.group-daily-bouts li>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.group-daily-bouts li>div>span,.group-daily-bouts p{color:#696377}.group-daily-bouts p{margin:6px 0 0}.group-daily-bouts strong{color:var(--kpp-green)}.group-daily-bouts>small{color:#938b9e;margin-top:12px;font-size:11px;display:block}.group-notice-section{margin-bottom:24px}.group-updates-section-title{color:#51466b;margin:0 0 14px;font-size:18px;line-height:1.5}.group-daily-bouts h2{font-size:18px;line-height:1.5}.group-notice-section .group-announcement-feed{max-width:none}.group-updates-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px;margin-bottom:22px;display:grid}.group-updates-columns>section{flex-direction:column;min-width:0;margin:0;padding:20px;display:flex}.group-updates-columns .panel-title{align-items:flex-start;gap:10px;min-height:48px;margin-bottom:12px}.group-updates-columns h2{font-size:16px;line-height:1.5}.group-updates-columns .group-announcement-feed,.group-updates-columns .group-daily-bouts ul{overscroll-behavior:contain;max-width:none;height:560px;max-height:560px;margin:0;display:block;overflow-y:auto}.group-updates-columns .group-announcement,.group-updates-columns .group-daily-bouts li{box-sizing:border-box;border-top:1px solid var(--kpp-line);height:112px;margin:0;padding:12px 0}.group-updates-columns .group-announcement{grid-template-columns:36px minmax(0,1fr);gap:10px}.group-updates-columns .group-announcement-icon{border-radius:10px;width:32px;height:32px;font-size:16px}.group-updates-columns .group-announcement h2{white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:14px;overflow:hidden}.group-updates-columns .group-notice-summary{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.group-updates-columns .group-announcement .text-button{padding:3px 0;font-size:11px}.group-updates-columns .empty-state{box-sizing:border-box;flex:1;min-height:560px;margin:0}.group-updates-columns .group-daily-bouts li{font-size:12px}.group-updates-columns .group-daily-bouts li p{margin-top:6px;line-height:1.7}.group-updates-columns .group-daily-bouts>small{min-height:30px;margin-top:12px}.group-unread-badge{box-sizing:border-box;color:#fff;font-variant-numeric:tabular-nums;background:#b45459;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 5px;font-size:11px;line-height:1;display:grid}@media (width<=900px){.group-updates-columns{grid-template-columns:minmax(0,1fr)}.group-updates-columns .group-daily-bouts li{font-size:12px}}.group-updates-columns .panel-title h2{color:#51466b;margin:3px 0 0;font-size:16px;font-weight:700;line-height:1.5}.group-updates-columns .panel-title .eyebrow{color:#82798e;letter-spacing:0;font-size:11px;font-weight:500;line-height:1.5}.group-updates-columns .panel-title>.muted{color:#82798e;font-size:12px;line-height:1.5}.group-updates-columns .group-announcement h2{color:#39324f;font-size:14px;font-weight:600;line-height:1.5}.group-updates-columns .group-announcement .eyebrow{color:#82798e;letter-spacing:0;font-size:11px;font-weight:500;line-height:1.5}.group-updates-columns .group-notice-summary{color:#696377;font-size:13px;line-height:1.6}.group-updates-columns .group-daily-bouts li{flex-direction:column;justify-content:center;gap:8px;display:flex}.group-updates-columns .group-bout-top{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;line-height:22px;display:flex}.group-updates-columns .group-bout-number,.group-updates-columns .group-bout-top time{color:#82798e;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;font-weight:500}.group-updates-columns .group-bout-names{white-space:nowrap;color:#39324f;align-items:center;gap:8px;min-width:0;font-size:14px;display:flex;overflow:hidden}.group-updates-columns .group-bout-names b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.group-updates-columns .group-bout-versus{color:#82798e;flex-shrink:0;font-size:12px;font-weight:400}.group-updates-columns .group-daily-bouts .group-bout-result{white-space:nowrap;text-overflow:ellipsis;color:#696377;margin:0;font-size:13px;line-height:22px;overflow:hidden}.group-updates-columns .group-bout-result strong{color:#32644f;font-weight:600}.welcome-panel .greeting-moon{vertical-align:-.08em;transform-origin:50%;width:.85em;height:.85em;display:inline-block;transform:rotate(-20deg)}.parent-group-period{flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.parent-group-select{border:1px solid var(--kpp-line,#dfdbe9);background:var(--kpp-card,#fffdf6);color:#0f7148;text-overflow:ellipsis;border-radius:9px;min-width:0;max-width:220px;height:34px;padding:0 10px;font-family:inherit;font-size:11px;font-weight:700}.parent-group-period .period-switch{box-sizing:border-box;align-items:stretch;height:34px;margin:0}.parent-group-period .period-switch button{padding:0 11px;font-size:11px}.parent-group-select:focus-visible{outline-offset:2px;outline:2px solid #0f7148}.member-assignment{min-width:0}.member-assignment>.panel-title{align-items:center;gap:16px;margin-bottom:14px}.member-assignment>.panel-title>div{flex:1;min-width:0}.member-assignment h2{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.member-count{color:#938c9c;white-space:nowrap;font-family:inherit;font-size:11px;font-weight:500}.member-assignment>.panel-title>.primary-button{white-space:nowrap;flex:none;width:auto}.member-assignment-notice{color:var(--kpp-forest);margin:12px 0;font-size:11px;line-height:1.6}.member-assignment-identity{align-items:center;gap:10px;min-width:0;padding-top:17px;display:flex}.member-assignment-identity>div{overflow-wrap:anywhere;min-width:0}.member-assignment-identity .mini-avatar{flex:none}.member-group-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0;display:grid}.member-group-controls>label{color:#77718b;align-content:start;gap:7px;min-width:0;font-size:10px;font-weight:700;display:grid}.member-group-controls fieldset{border:0;align-content:start;gap:6px;min-width:0;margin:0;padding:0;display:grid}.member-group-controls legend{color:#77718b;margin-bottom:7px;padding:0;font-size:10px;font-weight:700}.member-group-controls fieldset label{color:#555064;overflow-wrap:anywhere;align-items:center;gap:6px;min-height:32px;font-size:11px;line-height:1.5;display:flex}.member-group-controls input[type=checkbox]{accent-color:#0f7148;flex:none;width:14px;height:14px;margin:0}.member-observation-empty{color:#938c9c;align-items:center;min-height:36px;margin:0;font-size:10px;line-height:1.5;display:flex}.add-group-member{color:#696377;border-bottom:1px solid #f0eef4;grid-template-columns:max-content minmax(0,300px);align-items:center;gap:12px;margin:16px 0 0;padding-bottom:16px;font-size:11px;font-weight:700;display:grid}.add-group-member>span{white-space:nowrap}.member-assignment select{min-width:0;font-family:inherit;font-weight:500}.member-assignment select:disabled{color:#938c9c;cursor:not-allowed}.member-assignment :focus-visible{outline-offset:2px;outline:2px solid #8d7de1}@media (width<=780px){.parent-group-period{flex-wrap:wrap;flex-basis:100%;order:5}.parent-group-select{max-width:100%}.member-assignment-list>div{grid-template-columns:minmax(0,1fr);gap:12px}.member-assignment-identity{padding-top:0}}@media (width<=560px){.member-assignment>.panel-title{flex-direction:column;align-items:flex-start;gap:12px}.add-group-member{grid-template-columns:minmax(0,1fr);gap:7px}.member-group-controls{grid-template-columns:minmax(0,1fr);gap:12px}}@media (width>=1180px){.topbar:has(.parent-group-period){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.topbar:has(.parent-group-period)>.brand{display:none}:is(.topbar:has(.parent-group-period)>.view-switch,.topbar:has(.parent-group-period)>.account-role-badge){justify-self:start}.topbar:has(.parent-group-period)>.admin-return-button{justify-self:end}}@media (width>=651px) and (width<=1179px){.topbar:has(.parent-group-period){flex-wrap:wrap;gap:10px;height:auto;min-height:80px;padding:12px 0}.topbar:has(.parent-group-period)>.parent-group-period{flex-basis:100%;order:5}}.invite-error{color:#b42318;margin:0;font-size:13px;font-weight:700;line-height:1.6;display:block}@media (width>=981px){.sidebar{flex-direction:column;gap:0;display:flex;overflow-y:auto}.sidebar>button{flex-shrink:0}.sidebar-account{flex-shrink:0;margin-top:auto}.sidebar>button:last-of-type{margin-bottom:24px}}.sidebar-account{border:1px solid var(--kpp-line);background:var(--kpp-card-solid);border-radius:13px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex;position:static}.sidebar-account-details{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;display:flex}.sidebar-account-details b{overflow-wrap:anywhere;max-width:100%;color:var(--kpp-forest-dark);font-size:11px;line-height:1.5}.sidebar-account-details .text-button{min-height:24px;color:var(--kpp-forest);padding:2px 0;font-family:inherit;font-size:11px;font-weight:700;line-height:1.5}.sidebar-account-details .text-button:hover{text-decoration:underline}.sidebar-account-details .text-button:disabled{opacity:.55;cursor:default}.sidebar-account-error{color:#a43e49;flex-basis:100%;margin:0;font-size:10px;line-height:1.5}.mobile-account{display:none}@media (width<=980px){.topbar .mobile-account{flex:none;margin-left:auto;padding:5px 9px;display:flex;position:static}.journey-shell .admin-sidebar .sidebar-account{grid-column:1/-1;margin-top:5px;position:static}}.parent-mobile-nav{display:none}@media (width<=980px){.parent-mobile-nav{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.parent-mobile-nav button{background:var(--kpp-cream);color:#70697b;white-space:nowrap;border:1px solid #dfdbe9;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:9px 12px;font-family:inherit;font-size:12px;display:inline-flex}.parent-mobile-nav button:hover,.parent-mobile-nav button.selected{color:var(--kpp-forest);background:var(--kpp-sage)}.parent-mobile-nav button:focus-visible{outline:2px solid var(--kpp-forest);outline-offset:2px}}.journey-shell .route-editor .route-delete-button{color:#fff;box-shadow:none;background:#b84848}.journey-shell .route-editor .route-delete-button:hover{background:#a63c3c}.journey-shell .route-editor .route-delete-button:focus-visible{outline-offset:3px;outline:2px solid #b84848}.activity-route-selection{min-width:0}.activity-route-fields{grid-template-columns:minmax(100px,.7fr) minmax(0,2fr);align-items:start}.activity-route-fields>label{min-width:0}.activity-route-fields select{text-overflow:ellipsis;width:100%;min-width:0}.activity-route-fields select:disabled{color:#938c9c;cursor:not-allowed;background:#f5f3f8}.activity-route-hint{color:#777084;margin:7px 0 0;font-size:11px;line-height:1.6}@media (width<=560px){.activity-route-fields{grid-template-columns:minmax(0,1fr)}}.source-switch.four-options{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.source-switch.four-options button{white-space:nowrap;min-width:0}.source-switch.four-options button:disabled{opacity:.45;cursor:default}@media (width<=560px){.source-switch.four-options{grid-template-columns:repeat(2,minmax(0,1fr))}.source-switch.four-options button{min-height:44px}}:is(.admin-view>.admin-grid:has(.correction-list>form),.admin-view>.admin-grid:has(.correction-list textarea)){grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);align-items:start}:is(.admin-view>.admin-grid:has(.correction-list>form)>.panel:first-child,.admin-view>.admin-grid:has(.correction-list textarea)>.panel:first-child){align-self:start}:is(.admin-view>.admin-grid:has(.correction-list>form) .activity-form,.admin-view>.admin-grid:has(.correction-list textarea) .activity-form){gap:14px}:is(.admin-view>.admin-grid:has(.correction-list>form) .rule-hint,.admin-view>.admin-grid:has(.correction-list textarea) .rule-hint){border:1px solid var(--kpp-line);color:#50685c;background:#e4efd985}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction-list,.admin-view>.admin-grid:has(.correction-list textarea) .correction-list){gap:10px;margin-top:15px;display:grid}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction,.admin-view>.admin-grid:has(.correction-list textarea) .correction){border:1px solid var(--kpp-line);border-left:1px solid var(--kpp-line);background:#fffdf6b8;border-radius:13px;gap:10px;margin:0;padding:15px;display:grid;box-shadow:0 4px 13px #1647290f}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction b,.admin-view>.admin-grid:has(.correction-list textarea) .correction b){color:var(--kpp-forest-dark);font-size:13px}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction p,.admin-view>.admin-grid:has(.correction-list textarea) .correction p){color:#5f7768;margin:0;line-height:1.6}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction label,.admin-view>.admin-grid:has(.correction-list textarea) .correction label){color:#466452;gap:6px;font-size:10px;font-weight:800;display:grid}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction input,.admin-view>.admin-grid:has(.correction-list>form) .correction select,.admin-view>.admin-grid:has(.correction-list textarea) .correction textarea){box-sizing:border-box;border:1px solid var(--kpp-line);background:var(--kpp-cream);width:100%;color:var(--kpp-forest-dark);font:inherit;border-radius:9px;padding:9px 10px;font-size:11px}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction input:focus,.admin-view>.admin-grid:has(.correction-list>form) .correction select:focus,.admin-view>.admin-grid:has(.correction-list textarea) .correction textarea:focus){border-color:var(--kpp-forest);outline:3px solid #0f714826}:is(.admin-view>.admin-grid:has(.correction-list>form) .correction small,.admin-view>.admin-grid:has(.correction-list textarea) .correction small){color:#668070;line-height:1.5}:is(.admin-view>.admin-grid:has(.correction-list>form) .editor-actions,.admin-view>.admin-grid:has(.correction-list textarea) .editor-actions){margin-top:1px}:is(.admin-view>.admin-grid:has(.correction-list>form) .editor-actions button:not(.primary-button),.admin-view>.admin-grid:has(.correction-list textarea) .editor-actions button:not(.primary-button)){border:1px solid var(--kpp-line);background:var(--kpp-cream);color:var(--kpp-forest);border-radius:8px;padding:8px 10px;font:800 10px/1 inherit}:is(.admin-view>.admin-grid:has(.correction-list>form) .primary-button,.admin-view>.admin-grid:has(.correction-list textarea) .primary-button){background:var(--kpp-forest);width:auto;min-width:132px}@media (width<=900px){:is(.admin-view>.admin-grid:has(.correction-list>form),.admin-view>.admin-grid:has(.correction-list textarea)){grid-template-columns:1fr}:is(.admin-view>.admin-grid:has(.correction-list>form) .primary-button,.admin-view>.admin-grid:has(.correction-list textarea) .primary-button){width:100%}}.create-library-button{white-space:nowrap;flex:none;color:var(--kpp-forest)!important;padding:4px 0!important;font-size:11px!important}.create-library-button:hover{text-underline-offset:4px;text-decoration:underline;color:#0b5c3b!important}.student-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-picker button{border:1px solid var(--kpp-line);min-height:44px;color:var(--kpp-forest-dark);background:#fffdf6c2;border-radius:10px;font-size:11px;font-weight:700;line-height:1.35;transition:border-color .16s,background .16s,box-shadow .16s}.student-picker button:hover{background:#e4efd994;border-color:#0f714875}.journey-shell .student-picker button.selected{border-color:var(--kpp-forest);color:var(--kpp-forest-dark);box-shadow:inset 3px 0 0 var(--kpp-forest);background:#e4efd9c7}@media (width<=700px){.student-picker{grid-template-columns:1fr}.create-library-button{font-size:10px!important}}.privacy-workspace{gap:16px;min-width:0;display:grid}.privacy-workspace>.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.journey-shell .correction-audit-panel{background:var(--kpp-card-solid);min-width:0}.correction-audit-panel .panel-title{align-items:center}.correction-audit-panel .panel-title>.muted{font-size:10px}.correction-audit-list{scrollbar-width:thin;scrollbar-color:#d6d0e6 transparent;max-height:440px;margin-top:12px;overflow:auto}.correction-audit-row{box-sizing:border-box;color:#777181;white-space:nowrap;border-top:1px solid #f0eef4;align-items:center;gap:12px;width:max-content;min-width:100%;min-height:44px;padding:12px 0;font-size:11px;line-height:1.6;display:flex}.correction-audit-row:first-child{border-top:0}.correction-audit-row b{color:#26243a;font-size:12px;font-weight:700}.correction-audit-change{color:#6255bd}@media (width<=900px){.privacy-workspace>.admin-grid{grid-template-columns:1fr}}.activity-manager-toolbar{flex-direction:column;align-items:stretch;gap:16px}.activity-manager .activity-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.activity-manager .activity-filters>label{flex:1;min-width:110px}.activity-manager .activity-filters select{width:100%;min-width:0}.activity-date-filter{border:0;min-width:0;margin:0;padding:0}.activity-date-filter legend{color:#8b8496;margin-bottom:5px;font-size:9px}.activity-date-filter>div{align-items:end;gap:7px;display:flex}.activity-date-filter label{min-width:0}.activity-date-filter input{box-sizing:border-box;color:#4c4659;background:#fcfbfe;border:1px solid #dfdbe9;border-radius:8px;width:132px;min-width:0;padding:8px;font-family:inherit;font-size:10px}.activity-date-filter>div>span{color:#9992a3;align-self:center;padding-top:12px;font-size:10px}@media (width<=700px){.activity-manager .activity-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.activity-manager .activity-filters>label{min-width:0}.activity-date-filter{grid-column:1/-1}.activity-date-filter>div{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.activity-date-filter input{width:100%}}:root{--kpp-error:#b42318}:root body [role=alert],:root body [data-feedback=error],:root body .join-result.error{color:var(--kpp-error)}
