/* Shared visual refinement and lightweight, local student companions. */
:root{--green:#245d50;--deep:#193d36;--muted:#4a5f56;--line:#e1e9e4}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{transition:background .18s ease,box-shadow .18s ease,transform .18s ease}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #e6b656;outline-offset:3px}.panel,.student-card,.public-card{box-shadow:0 6px 24px #203e2e05}.public-shell{max-width:1180px}.public-header{padding-bottom:22px}.public-brand img{box-shadow:0 5px 18px #204c3610}.public-card-body{padding:24px}.public-form{gap:18px}.public-form input,.public-form select{background:#fbfdfb}.auth-panel{max-width:520px;margin:32px auto;padding:32px}.auth-panel h1{margin:0 0 10px}.auth-panel .public-actions{font-size:14px}.auth-illustration{height:130px;overflow:hidden;background:#f2f6ee;border-radius:20px;margin-bottom:24px}.auth-illustration .buddy-stage{transform:scale(.65);transform-origin:top center;margin:0 auto}.public-message{border-radius:16px}.public-status{font-size:14px}.center-dialog{box-shadow:0 24px 80px #173c3126}.center-dialog a{align-self:center}[data-enrollment-notice]{white-space:nowrap;min-width:48px;padding:9px 12px!important}
.student-shell{--green:#356b65;--deep:#233d40;max-width:1160px}.student-shell .learning-header{padding:8px 0 18px;border-bottom:1px solid #dfe8e6}.student-shell .learning-header img{width:48px;border-radius:14px}.student-shell .learning-header h1{font-size:22px}.student-shell .learning-header .actions{gap:8px}.student-shell .learning-header .actions a{font-size:14px}.student-shell>.actions{gap:10px}.student-shell>.actions button{border-radius:22px;padding:10px 18px}.student-welcome{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:center;padding:30px 34px;border:1px solid #dae7e3;border-radius:28px;background:linear-gradient(125deg,#e9f3ef,#faf5e9);margin:24px 0;overflow:hidden}.student-kicker{font-size:14px;color:#617b76;font-weight:600}.student-welcome h2{font-size:29px;line-height:1.45;margin:8px 0}.student-welcome p{margin:8px 0;color:#627a74}.student-metrics{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.student-metrics span{background:#ffffffc9;border:1px solid #fff;padding:10px 15px;border-radius:15px;font-size:14px}.student-metrics strong{font-size:22px;display:block;color:#315a52}.buddy-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.buddy-options button{font-size:14px;min-height:36px;border-radius:20px;padding:6px 12px}.buddy-options button[aria-pressed=true]{background:#d6e8e0;border-color:#afcfc0}.student-shell .learning-card{border-radius:23px;padding:22px;box-shadow:0 8px 28px #24413806;transition:transform .2s ease,box-shadow .2s ease}.student-shell .learning-card:hover{box-shadow:0 12px 32px #2441380b;transform:translateY(-2px)}.student-shell .learning-placeholder{background:linear-gradient(130deg,#e8f1ed,#f7edda);height:150px;font-size:54px}.student-shell progress{height:9px;border-radius:20px;overflow:hidden}.student-shell .learning-option{border-radius:16px;padding:16px;min-height:58px;background:#fff}.student-shell .learning-option:has(input:checked){border-color:#6caa91;background:#edf6f1}.student-shell .learning-result{border-radius:20px;border-left:0;background:#e9f5ec}.student-balance{display:inline-flex;gap:12px;align-items:center;border-radius:20px;background:#edf5ef;padding:10px 18px;margin:15px 0;font-size:14px}.student-balance strong{font-size:20px}
.buddy-stage{position:relative;width:220px;height:200px;flex:none}.buddy-character{position:absolute;left:50px;top:39px;width:126px;height:137px;border-radius:52% 52% 44% 44%;background:linear-gradient(130deg,#b7dfbf,#82bd9b);box-shadow:inset -8px -7px 0 #538a6e16,0 12px 25px #497e5d14;animation:buddy-float 5s ease-in-out infinite;transform-origin:bottom center}.buddy-face{position:absolute;left:19px;top:35px;width:88px;height:69px;background:#fff6e5;border-radius:44px}.buddy-eyes{position:absolute;display:flex;gap:26px;top:22px;left:21px;animation:buddy-blink 7s ease-in-out infinite}.buddy-eyes i{width:7px;height:10px;background:#30554b;border-radius:5px}.buddy-smile{position:absolute;left:36px;top:34px;width:18px;height:12px;border:2px solid #426559;border-top:0;border-radius:0 0 15px 15px}.buddy-cheek{position:absolute;top:34px;width:14px;height:7px;border-radius:50%;background:#efb8ab99}.cheek-left{left:9px}.cheek-right{right:9px}.buddy-leaf{position:absolute;top:-22px;width:36px;height:26px;background:#69a17a;border-radius:4px 90%;box-shadow:inset 2px 2px 0 #ffffff20}.leaf-left{left:35px;transform:rotate(-15deg)}.leaf-right{left:65px;top:-24px;transform:rotate(83deg);background:#a6c775}.buddy-hand{position:absolute;top:94px;width:24px;height:27px;background:#acd6b5;border-radius:14px;z-index:3}.hand-left{left:9px;transform:rotate(-22deg)}.hand-right{right:9px;transform:rotate(22deg)}.buddy-book{position:absolute;left:21px;top:100px;width:85px;height:40px;border-radius:6px 6px 15px 15px;background:linear-gradient(90deg,#688cab 49%,#547c9e 49%,#547c9e 52%,#82a4bb 52%);border-top:4px solid #f7f0db;transform:rotate(-3deg);z-index:2}.buddy-cloud{background:linear-gradient(140deg,#fff,#dbe7f3);border-radius:52% 52% 40% 40%;box-shadow:inset -8px -7px 0 #b0c5df20,0 12px 25px #497e5d14}.buddy-cloud .buddy-leaf{border-radius:50%;background:#eac77f;width:32px;height:32px;top:-15px}.buddy-cloud .leaf-left{left:28px}.buddy-cloud .leaf-right{left:67px;background:#f0d99e}.buddy-cloud .buddy-hand{background:#e5edf7}.buddy-cloud .buddy-book{background:linear-gradient(90deg,#c7a3bb 49%,#b283a4 49%,#b283a4 52%,#d2b4ca 52%)}.buddy-shadow{position:absolute;bottom:9px;left:57px;width:117px;height:14px;background:#345c4315;border-radius:50%;filter:blur(2px)}.buddy-spark{position:absolute;color:#c7a460;font-size:27px;animation:buddy-spark 5s ease-in-out infinite}.spark-one{left:20px;top:43px}.spark-two{right:3px;top:15px;animation-delay:-2s;font-size:21px}
@keyframes buddy-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes buddy-blink{0%,43%,48%,100%{transform:scaleY(1)}45%{transform:scaleY(.15)}}@keyframes buddy-spark{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(-5px);opacity:1}}
[data-motion=off] .buddy-character,[data-motion=off] .buddy-eyes,[data-motion=off] .buddy-spark{animation:none}@media(prefers-reduced-motion:reduce){.buddy-character,.buddy-eyes,.buddy-spark{animation:none!important}button,.student-shell .learning-card{transition:none!important}.student-shell .learning-card:hover{transform:none}}
@media(max-width:600px){.auth-panel{padding:24px 20px;margin:18px auto}.student-shell .learning-header h1{font-size:20px}.student-welcome{grid-template-columns:1fr 110px;padding:24px 18px;gap:0;border-radius:24px}.student-welcome h2{font-size:23px;overflow-wrap:anywhere}.student-welcome .buddy-stage{transform:scale(.6);transform-origin:center right;width:180px;margin-left:-70px}.student-welcome p{font-size:14px}.student-metrics{grid-column:1/-1;gap:8px}.student-metrics span{flex:1;min-width:95px;padding:9px 12px}.buddy-options{grid-column:1/-1}.student-shell .learning-card{padding:18px}.student-shell .learning-header .actions{gap:8px}.public-card-body{padding:20px}}

/* Approved student design. */
.student-shell .learning-header-info{flex:1 1 180px;min-width:0}.student-shell .learning-header img{flex-shrink:0}.student-shell .learning-header .actions{max-width:100%;justify-content:flex-end}
.buddy-art{width:220px;height:220px;object-fit:contain;animation:buddy-float 5s ease-in-out infinite;filter:drop-shadow(0 9px 12px #37664a18)}.student-welcome{background:radial-gradient(ellipse at 90% 0,#e2efdc,transparent 65%),linear-gradient(135deg,#edf5ec,#fff8e7)}.student-shell{padding-bottom:100px}.student-bottom-nav{position:fixed;z-index:25;bottom:0;left:50%;transform:translateX(-50%);display:flex;width:min(100%,1160px);justify-content:space-around;gap:4px;background:#fffef9f5;border-top:1px solid #dce8df;padding:10px 10px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #264f3910}.student-bottom-nav button,.student-bottom-nav a{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;text-decoration:none;color:#748079;font-size:14px;padding:5px}.student-bottom-nav span{font-size:25px;line-height:1}.student-bottom-nav [aria-current=page]{color:#21774b;background:#edf6ee;border-radius:14px}.student-result{text-align:center;background:linear-gradient(150deg,#eaf5e9,#fff8df)!important;padding:28px!important}.student-result .buddy-stage{margin:0 auto;height:210px}.student-result h2{font-size:34px;margin:12px 0}.student-result-score{font-size:64px;line-height:1.3;color:#176749;font-weight:750}.student-result-score span{font-size:40px;color:#7a857e}.student-result .actions{justify-content:center;flex-wrap:wrap}.student-record{border-bottom:1px solid var(--line);padding:15px 0}[data-motion=off] .buddy-art{animation:none}@media(prefers-reduced-motion:reduce){.buddy-art{animation:none!important}}@media(max-width:600px){.student-welcome .buddy-art{width:180px;height:180px}.student-result h2{font-size:29px}.student-shell .learning-header .actions{flex-wrap:wrap}.student-shell .learning-header{flex-wrap:wrap}}

.student-continue{display:flex;gap:20px;justify-content:space-between;align-items:center;background:linear-gradient(130deg,#eef7ef,#fffdf3);border-radius:24px}.student-continue>div{min-width:0;flex:1}.student-continue h2{overflow-wrap:anywhere}.student-continue progress{display:block;width:100%;margin:12px 0}.student-continue button{flex:none}@media(max-width:600px){.student-continue{align-items:stretch;flex-direction:column;gap:12px}}

/* Shared identity and actionable review queues. */
.account-identity{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:220px;color:var(--deep,#203e35);font-weight:650;font-size:14px}.identity-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#dceee3;color:#215c48}.identity-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-button{border:0;background:transparent;min-width:0;max-width:100%;padding:6px 8px}.identity-button .account-identity{max-width:100%}.member-review-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.member-review-heading h3{margin:0;overflow-wrap:anywhere}.member-review{margin:16px 0;padding:24px}.member-review .public-form{margin:18px 0}.review-count{font-size:16px;border-radius:999px;padding:4px 10px;background:#e6f2ea;color:#215c48}.review-empty{padding:24px;border:1px dashed #a6c1b4;border-radius:16px;color:#456558;background:#f6faf7}.public-status[data-status=approved]{background:#dcefe1;color:#245334}.public-status[data-status=rejected]{background:#f7e8e7;color:#893e39}.review-history summary{min-height:44px;display:flex;align-items:center}.public-student-welcome{margin-top:20px}.public-student-welcome p{max-width:48ch}.public-student-welcome button{min-height:48px}.public-header .public-nav{min-width:0}.learning-header .account-identity{margin-left:auto}.buddy-options button{min-height:44px}.public-nav-row button,.public-nav-row select{min-height:44px}
@media(max-width:600px){.account-identity{max-width:145px}.identity-avatar{width:28px;height:28px}.identity-name{font-size:14px}.member-review{padding:20px 16px}.public-student-welcome{grid-template-columns:minmax(0,1fr) 110px}.topbar-right{flex-wrap:wrap}.learning-header .actions{flex-wrap:wrap}.public-header .public-nav-row{flex-wrap:wrap}}

/* The signed-in identity stays on the top right and can shrink on phones. */
.topbar-right>.account-identity{margin-left:auto}.public-header .public-nav{justify-self:end}.learning-header>.actions{margin-left:auto}.account-identity .identity-avatar{line-height:1}.public-nav-row .identity-button{min-height:44px}
