/* One visual language, with a different story in each home widget. */
:root{--surface-shadow:0 10px 32px color-mix(in srgb,var(--ink) 5%,transparent);--surface-radius:20px;--text:var(--ink)}
body{background-image:radial-gradient(ellipse at 80% 0,color-mix(in srgb,var(--green) 5%,transparent),transparent 55%)}
.content{width:min(1240px,100%)}
.topbar{background:color-mix(in srgb,var(--card) 94%,transparent);border-bottom-color:color-mix(in srgb,var(--green) 10%,var(--line))}
.sidebar{background:var(--card)}.brand-mark{border-radius:11px;box-shadow:0 4px 12px color-mix(in srgb,var(--green) 20%,transparent)}
.nav-link{border-radius:10px}.nav-link.active{box-shadow:inset 3px 0 var(--green);background:color-mix(in srgb,var(--green) 10%,var(--card))}
.page-heading,.welcome-row{position:relative;padding:8px 0 18px;border-bottom:1px solid var(--line)}.page-heading:after,.welcome-row:after{content:'';position:absolute;bottom:-1px;left:0;width:68px;height:3px;border-radius:5px;background:var(--green)}
.page-heading h1,.welcome-row h1{font-family:var(--sans);letter-spacing:-1.4px;font-weight:750}.page-heading h1 em,.welcome-row h1 em{font-style:normal}
.eyebrow{font-family:var(--sans);letter-spacing:1.5px;font-weight:650;font-size:.65rem}
.panel{border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}
.button{border-radius:10px;min-height:38px;font-family:var(--sans);font-size:.78rem}.button-primary{box-shadow:0 4px 12px color-mix(in srgb,var(--green) 20%,transparent)}.button-secondary{border:1px solid var(--line);background:var(--card)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
input,textarea,select,.select-trigger{border-radius:10px}textarea{line-height:1.6}label{line-height:1.4}
.empty-card,.empty-state{border-radius:16px;background:color-mix(in srgb,var(--green) 3%,var(--card))}
.rc-dialog{border-radius:24px;box-shadow:0 24px 80px #0003}.rc-dialog::backdrop{background:#10231c66;backdrop-filter:blur(4px)}
.compact-heading h2{font-family:var(--sans);font-weight:700;letter-spacing:-.35px}.text-button{font-family:var(--sans)}
.date-card{border-radius:16px;transform:rotate(3deg);box-shadow:0 6px 0 color-mix(in srgb,var(--green) 10%,transparent)}
.feature-card{border-radius:24px;background:radial-gradient(circle at 88% 12%,#9cc68f40,transparent 40%),linear-gradient(125deg,#234b3d,#397360);padding:26px;min-height:320px;box-shadow:0 15px 30px #234b3d1a}.feature-card:before{content:'';position:absolute;right:-60px;top:25px;width:250px;height:250px;border:1px solid #d6e8c736;border-radius:50%;box-shadow:0 0 0 30px #d6e8c709,0 0 0 60px #d6e8c706;pointer-events:none}.feature-card:after{content:'✳';right:18px;bottom:22px;font:140px/.8 var(--sans);color:#d4e7a62a}.feature-copy h2{font-family:var(--sans);font-weight:750;letter-spacing:-.7px;font-size:2rem}.feature-copy p{font-size:.82rem}.feature-foot{font-family:var(--sans)}
.daily-card{border-radius:24px;background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 16%,var(--card)),var(--card));position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--gold) 25%,var(--line))}.daily-card:after{content:'';position:absolute;width:160px;height:160px;border:1px dashed color-mix(in srgb,var(--gold) 35%,transparent);border-radius:50%;right:-70px;top:-40px;pointer-events:none}.daily-icon{background:color-mix(in srgb,var(--gold) 17%,var(--card));border-radius:16px;transform:rotate(-7deg);color:var(--ink)}.daily-body h3{font-family:var(--sans);font-weight:700}
.home-dashboard{gap:20px}.hub-card{position:relative;padding:24px;overflow:hidden;isolation:isolate;border-top:3px solid var(--hub-accent,var(--green))}.hub-card .compact-heading{position:relative;padding-right:38px;margin-bottom:16px}.hub-card .compact-heading .text-button{font-size:.7rem}.hub-illustration{position:absolute;top:20px;right:18px;color:var(--hub-accent,var(--green));opacity:.55;width:38px;height:38px;pointer-events:none}.hub-illustration svg{width:100%;height:100%}.hub-card:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
.hub-card[data-hub=tasks]{--hub-accent:var(--green);background:linear-gradient(160deg,color-mix(in srgb,var(--green) 7%,var(--card)),var(--card))}.hub-card[data-hub=tasks]:before{background:repeating-linear-gradient(0deg,transparent 0 35px,color-mix(in srgb,var(--green) 3%,transparent) 35px 36px);mask-image:linear-gradient(to top,#000,transparent)}
.hub-card[data-hub=load]{--hub-accent:#6688ac;background:linear-gradient(155deg,color-mix(in srgb,#6688ac 10%,var(--card)),var(--card))}.hub-card[data-hub=load]:before{width:270px;height:270px;border:1px solid #6688ac18;border-radius:40%;right:-120px;left:auto;top:80px;transform:rotate(22deg);box-shadow:0 0 0 18px #6688ac08,0 0 0 36px #6688ac08}
.hub-card[data-hub=mastery]{--hub-accent:#739961;background:linear-gradient(165deg,color-mix(in srgb,#739961 11%,var(--card)),var(--card))}.hub-card[data-hub=mastery]:before{background:radial-gradient(ellipse at 110% 100%,#73996119,transparent 65%)}
.hub-card[data-hub=progression]{--hub-accent:#9c7caf;background:radial-gradient(circle at 90% 100%,color-mix(in srgb,#9c7caf 12%,var(--card)),var(--card) 60%)}.hub-card[data-hub=progression]:before{border:1px solid #9c7caf22;border-radius:50%;inset:auto -60px -100px auto;width:230px;height:230px;box-shadow:0 0 0 18px #9c7caf09}
.hub-card[data-hub=rhythm]{--hub-accent:#b58d53;background:linear-gradient(160deg,color-mix(in srgb,#b58d53 9%,var(--card)),var(--card))}.hub-card[data-hub=rhythm]:before{background-image:radial-gradient(#b58d5322 1px,transparent 1px);background-size:12px 12px;mask-image:linear-gradient(to top,#000,transparent 65%)}
.hub-card[data-hub=recent]{--hub-accent:#ab7767;background:linear-gradient(160deg,color-mix(in srgb,#ab7767 8%,var(--card)),var(--card))}.hub-card[data-hub=recent]:before{left:18px;top:75px;bottom:20px;width:1px;background:#ab776728}
.hub-planner{grid-column:1/-1;--hub-accent:var(--green);background:linear-gradient(125deg,color-mix(in srgb,var(--green) 8%,var(--card)),var(--card) 75%)}.hub-planner .compact-heading{padding-right:0}.hub-planner .compact-heading h2{margin:6px 0}.hub-planner-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hub-next-session{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:12px;text-align:left;color:var(--ink);align-items:center;min-width:0;transition:transform .15s}.hub-next-session:hover{transform:translateY(-2px)}.hub-next-session time{font-size:.63rem;color:var(--muted);border-right:1px solid var(--line);padding-right:12px;flex:none;max-width:95px}.hub-next-session time b{display:block;font-size:.85rem;color:var(--green);margin-top:4px}.hub-next-session>span{min-width:0}.hub-next-session strong{font-size:.8rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-next-session small{display:block;color:var(--muted);font-size:.68rem;margin-top:5px}.hub-next-session i{margin-left:auto;color:var(--green);font-style:normal}.hub-planner-empty{display:flex;align-items:center;gap:20px;padding:8px 0}.hub-planner-empty>span{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:color-mix(in srgb,var(--green) 8%,var(--card));font-size:2rem;color:var(--green);transform:rotate(-5deg);flex:none}.hub-planner-empty strong{font-size:1rem}.hub-planner-empty p,.hub-plan-warning{font-size:.8rem;color:var(--muted)}
.profile-card{padding:0!important;overflow:hidden;position:relative}.profile-card .profile-identity{padding:34px 28px 24px;background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--green) 15%,transparent),transparent 65%),linear-gradient(155deg,color-mix(in srgb,var(--green) 6%,var(--card)),var(--card));border-bottom:1px solid var(--line);position:relative}.profile-card .profile-avatar{box-shadow:0 0 0 6px var(--card),0 0 0 7px color-mix(in srgb,var(--green) 30%,var(--line));border-radius:50%}.profile-identity-copy h2{font-family:var(--sans);font-size:1.8rem;font-weight:750;letter-spacing:-.7px}.profile-identity-copy .profile-title{font-family:var(--sans)}.profile-level{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.profile-card .profile-controls{padding:24px 28px}.profile-card .profile-stats{margin:0;padding:22px 28px;background:color-mix(in srgb,var(--green) 3%,var(--card));gap:12px;border-bottom:1px solid var(--line)}.profile-stats strong{font-family:var(--sans);font-weight:750}.profile-stats span{font-size:.7rem}.profile-club-slot{padding:18px 28px}.profile-club-badge{display:flex;align-items:center;gap:14px;border:1px solid color-mix(in srgb,var(--green) 25%,var(--line));background:linear-gradient(125deg,color-mix(in srgb,var(--green) 8%,var(--card)),var(--card));padding:16px;border-radius:16px;flex-wrap:wrap}.profile-club-emblem{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;background:var(--green);color:var(--card);font-size:1.7rem}.profile-club-badge>div{flex:1;min-width:120px}.profile-club-badge small{display:block;font-size:.6rem;letter-spacing:1px;color:var(--muted);margin-bottom:5px}.profile-club-badge strong{display:block;font-size:1rem;font-weight:750}.profile-club-badge div>span{display:block;font-size:.75rem;color:var(--muted);margin-top:4px;text-transform:capitalize}.profile-club-badge p{font-size:.78rem;margin:6px 0 0;color:var(--muted)}.ww-profile{position:relative}.ww-profile-header{padding:24px 8px}.ww-profile-header h3{font-family:var(--sans);font-size:1.9rem;letter-spacing:-.6px}.ww-profile-header .ww-avatar-button{width:80px;height:80px;border-radius:50%;box-shadow:0 0 0 5px var(--card),0 0 0 6px var(--line)}.ww-profile .profile-club-badge{margin:12px 0 20px}.ww-profile-stats{gap:12px;margin:18px 0}.ww-profile-stats>div{border-radius:14px;padding:16px;background:color-mix(in srgb,var(--green) 5%,var(--card))}.ww-profile-stats strong{font-family:var(--sans);font-size:1.5rem}.ww-profile-achievements .ww-series-step{border-radius:20px;background:color-mix(in srgb,var(--gold) 10%,var(--card));padding:8px 12px;font-family:var(--sans)}.auth-card{background:linear-gradient(160deg,color-mix(in srgb,var(--green) 6%,var(--card)),var(--card));align-self:start}.auth-card h2{font-family:var(--sans)}
.planner-summary article{border-radius:18px;background:linear-gradient(155deg,color-mix(in srgb,var(--green) 7%,var(--card)),var(--card));border-top:3px solid var(--green)}.planner-summary article:nth-child(2){border-top-color:var(--gold)}.planner-summary article:nth-child(3){border-top-color:#6688ac}.planner-assignment progress{border-radius:5px}.planner-assignment progress::-webkit-progress-bar{border-radius:5px;background:var(--line)}.planner-assignment progress::-webkit-progress-value{border-radius:5px;background:var(--green)}.planner-assignment .compact-heading span{font-size:.7rem;border-radius:20px;padding:5px 9px;background:color-mix(in srgb,var(--green) 8%,var(--card));color:var(--green)}.planner-assignment h3{font-family:var(--sans)}.planner-busy{border-left:2px solid var(--line);padding-left:14px;margin:12px 0}.planner-local{font-size:.8rem}.planner-toolbar .button{font-size:.75rem}.planner-session .button{font-size:.7rem}.planner-event{color:var(--ink)}.planner-calendar-sidebar .panel{box-shadow:none}
[data-theme=high-contrast] .panel,[data-theme=high-contrast] .hub-card,[data-theme=high-contrast] .profile-club-badge,[data-theme=high-contrast] .planner-event{background:var(--card);border:1px solid var(--ink)}[data-theme=high-contrast] .hub-illustration{opacity:1;color:var(--ink)}[data-theme=high-contrast] .planner-event.done{opacity:1}[data-theme=high-contrast] .hub-card:before{display:none}[data-theme=high-contrast] .feature-card{background:var(--card);color:var(--ink)}[data-theme=high-contrast] .feature-card *{color:var(--ink)}
@media(max-width:1100px){.hub-planner-timeline{grid-template-columns:1fr}.hub-next-session time{width:110px;max-width:none}.hub-next-session strong{white-space:normal}.profile-card .profile-identity{flex-wrap:wrap}.profile-card .profile-level{width:100%}}
@media(max-width:700px){.content{padding:22px 16px 35px}.home-dashboard{gap:14px}.hub-card{padding:20px}.profile-card .profile-identity{padding:28px 20px 20px}.profile-club-slot,.profile-card .profile-controls{padding:18px 20px}.profile-card .profile-stats{padding:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-club-badge .button{width:100%}.hub-card .compact-heading{padding-right:35px;gap:12px;flex-wrap:wrap}.hub-planner .compact-heading{padding:0}.feature-card{min-height:300px}.feature-copy h2{font-size:1.7rem}.hub-planner-empty{gap:12px}.hub-planner-empty>span{width:52px;height:52px}.date-card{width:75px}.page-heading h1,.welcome-row h1{letter-spacing:-.8px}.planner-calendar-panel .planner-event{box-shadow:none}.ww-profile-header{gap:16px;flex-wrap:wrap}.ww-profile-header h3{font-size:1.5rem}.ww-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.button,.hub-next-session{transition:none}.button:hover,.hub-next-session:hover{transform:none}.rc-dialog::backdrop{backdrop-filter:none}}
.profile-card .profile-identity{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;justify-items:start;text-align:left;align-items:center}.profile-card .profile-identity-copy{text-align:left;min-width:0}.profile-card .profile-level{grid-column:1/-1;width:100%;text-align:left}.profile-card .profile-avatar{width:88px;height:88px}.profile-identity-copy .eyebrow{justify-content:flex-start}.profile-identity-copy h2{margin:8px 0}.profile-identity-copy p{margin:7px 0}.profile-card .profile-club-slot{border-bottom:1px solid var(--line)}
@media(max-width:500px){.profile-card .profile-identity{grid-template-columns:70px minmax(0,1fr);gap:18px}.profile-card .profile-avatar{width:66px;height:66px}.profile-identity-copy h2{font-size:1.45rem}.profile-identity-copy #profile-email{font-size:.7rem;overflow-wrap:anywhere}.profile-card .profile-level{padding:12px}.profile-club-emblem{width:40px;height:40px}.profile-club-badge{gap:10px;padding:12px}}
#page-profile .profile-card{width:100%;gap:0}#page-profile .profile-identity{grid-template-columns:96px minmax(0,1fr);justify-items:start;text-align:left;gap:24px}#page-profile .profile-identity .profile-level{width:100%}
@media(max-width:500px){#page-profile .profile-identity{grid-template-columns:70px minmax(0,1fr);gap:18px}}
.home-study-row .daily-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 22px 22px 100px!important}.home-study-row .daily-card>.daily-body,.home-study-row .daily-card>.text-button{grid-column:1;grid-row:auto;min-width:0;max-width:100%}.home-study-row .daily-card>.text-button{justify-self:start;white-space:normal}
@media(max-width:600px){.home-study-row .daily-card{padding-left:78px!important}.home-study-row .daily-card .ww-daily-sun{width:86px;height:86px;left:-18px;bottom:-5px}}
#page-home .wonder-home-scene .wonder-banner-quote{display:none}
