/* Shared course navigation and interactive learning surfaces. */
.brand-home{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}.brand-home:hover{color:#28795c}.wordmark{flex-wrap:wrap}.community-header-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-header{gap:14px;flex-wrap:wrap}.header-actions{gap:8px;flex-wrap:wrap}.community-header-links a,.app-header button,.app-header .ghost-button,.library-heading nav a,.library-home nav a{border:1px solid #b8d5c6;background:linear-gradient(150deg,#fff,#e9f5ee);color:#234c3c;border-radius:14px;padding:10px 14px;box-shadow:0 3px 0 #c6dccf,0 6px 16px #173f3010;text-decoration:none;font-weight:650;line-height:1.3;min-height:42px;display:inline-flex;align-items:center;justify-content:center}.community-header-links .bookmark-nav{background:linear-gradient(140deg,#fff8d7,#f5edc6);border-color:#ddca82;box-shadow:0 3px 0 #e0d295}.community-header-links .main-site-nav{background:linear-gradient(140deg,#f5f3ff,#e8e3f6);border-color:#c9bedf;box-shadow:0 3px 0 #d0c6e4}.community-header-links a:hover,.library-heading nav a:hover,.library-home nav a:hover{transform:translateY(-1px);filter:brightness(1.03)}.library-heading nav [aria-current],.library-page [aria-pressed=true],.card-records nav [aria-current]{background:#246e50;color:#fff;border-color:#246e50}.app-header button[aria-pressed=true]{background:linear-gradient(135deg,#fff5b8,#eed584);color:#274535}.learning-stat-link{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.learning-stat-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px #19493218}.learning-stat-link:after{content:'查看紀錄';font-size:12px;display:block;margin-top:12px;color:#2b7852}.poly-landing-card{background:#fff!important;color:#193b2c!important;box-shadow:0 4px 14px #1b4a3410;border-color:#c6dacf!important}
.anonymous-assessment{width:100%;max-width:760px;margin:28px auto;border:1px solid #a4c6b4;border-radius:22px;box-sizing:border-box;background:linear-gradient(145deg,#fff,#f2f8f2);color:#203e31;box-shadow:0 8px 30px #173f3010;grid-column:1/-1}.anonymous-assessment summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:22px;font-size:1.15rem;font-weight:700}.anonymous-assessment summary small{display:block;font-size:.8rem;font-weight:500;margin-top:6px;color:#587360}.expand-cue{font-size:.85rem;white-space:nowrap;background:#e4f0e7;border-radius:9px;padding:10px}.anonymous-assessment form{padding:0 24px 24px}.anonymous-assessment fieldset{border:0;border-top:1px solid #d1dfd6;padding:22px 0;margin:0}.anonymous-assessment legend{float:left;width:100%;margin-bottom:12px;line-height:1.5;font-weight:600}.anonymous-assessment legend small{display:block;font-size:.85rem;color:#516e5d;font-weight:400}.rating-seven{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;clear:both}.rating-seven label{cursor:pointer;position:relative}.rating-seven input{position:absolute;opacity:0;width:1px;height:1px}.rating-seven span{display:flex;align-items:center;justify-content:center;border:1px solid #b3cebe;border-radius:10px;background:#fff;min-height:44px;font-weight:700}.rating-seven input:checked+span{background:#267450;color:#fff;box-shadow:0 3px 0 #123e2a}.rating-seven input:focus-visible+span{outline:3px solid #c99522;outline-offset:3px}.anonymous-assessment textarea{display:block;width:100%;margin:12px 0 18px;box-sizing:border-box;color:#203e31;background:white}.assessment-scale{background:#e6f0e8;padding:12px;border-radius:9px}.assessment-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.anonymous-assessment [type=submit]{background:#267450;color:#fff}.anonymous-results article{padding:24px;margin:20px 0;background:#fff;color:#203e31;border:1px solid #b8d4c3;border-radius:18px}.anonymous-results dl>div{display:flex;gap:15px;justify-content:space-between;border-bottom:1px solid #dce8df;padding:10px 0}.anonymous-results dd{white-space:nowrap;font-weight:700}.feedback-comment{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f7f0;padding:16px;border-radius:10px}.pagination{display:flex;justify-content:center;gap:20px;align-items:center}
.team-interaction-bar{display:flex;justify-content:space-between;align-items:center;gap:15px}.team-reactions{display:flex;gap:9px;flex-shrink:0}.team-reactions button{display:flex;align-items:center;gap:9px;padding:9px 15px;min-width:86px;border:1px solid #d8c9a0;border-radius:15px;background:linear-gradient(150deg,#fffdf2,#f7eecf);box-shadow:0 3px 0 #e3d4a9;color:#264838;touch-action:manipulation}.team-reactions button:active{transform:translateY(2px);box-shadow:0 1px 0 #e3d4a9}.team-reactions span{font-size:24px}.team-effort-ranking button{display:flex;align-items:center;gap:9px;background:transparent;border:0;border-radius:10px;color:inherit;padding:10px 12px;min-height:44px}.team-effort-ranking button:hover{background:#ffffffb3}.team-effort-ranking button i{height:12px;width:12px;border-radius:50%;background:var(--member-color);box-shadow:0 0 0 3px #fff}.team-effort-ranking button strong{margin-left:auto}.team-sum-button{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:flex-start;padding:20px;background:#edf5ef;border:1px solid #accab8;color:#174631;border-radius:16px}.team-sum-button strong{font-size:2.4rem}.team-hit{cursor:pointer}.team-hit:hover .team-visible-point,.team-hit:focus .team-visible-point{stroke:#c68e15;stroke-width:4}.team-hover{position:fixed;z-index:500;width:320px;max-width:calc(100vw - 28px);pointer-events:none;background:#fff;color:#173b2c;border:1px solid #b5d1be;box-shadow:0 12px 40px #0b261b33;border-radius:17px;padding:20px;box-sizing:border-box}.team-hover[hidden]{display:none}.team-hover h3,.team-detail-modal h3{margin:0 0 12px}.team-hover dl,.team-detail-modal dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.team-hover dd,.team-detail-modal dd{font-size:1.3rem;font-weight:700;margin:8px 0}.team-detail-total{font-size:1.8rem}.team-detail-modal{border:1px solid #b4cdbd;border-radius:24px;padding:28px;max-width:700px;width:calc(100vw - 32px);box-sizing:border-box;background:#fff;color:#193f2d;box-shadow:0 24px 90px #142b2b44;max-height:90dvh;overflow:auto}.team-detail-modal::backdrop{background:#12302580;backdrop-filter:blur(4px)}.team-detail-modal .dialog-close{float:right;border-radius:50%;width:40px;height:40px;padding:0;background:#eef5f0;color:#203e31}.team-detail-modal table{width:100%;border-collapse:collapse}.team-detail-modal th,.team-detail-modal td{padding:12px 6px;text-align:left;border-bottom:1px solid #dae8de}.team-detail-modal td:not(:first-child){font-variant-numeric:tabular-nums}.team-hover table{display:none}.team-chart-surface{fill:#fff}.team-chart-axis{stroke:#92b1a1;stroke-width:1.5}.team-chart-grid{stroke:#dce8e0;stroke-dasharray:3 7}.team-chart-label,.team-chart-title{fill:#577164;font-size:14px}.team-chart-count{fill:#173b2b;font-size:16px;font-weight:700}
.high-attempt-panel{padding:24px;border:1px solid #c8dcd0;border-radius:20px;margin:20px 0;background:#fff;color:#1c4330}.records-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.records-heading h3{margin:0;flex:1}.records-heading h3 small{font-weight:400;white-space:nowrap}.high-attempt-panel details{border:1px solid #cfdfd5;background:#f1f7f3;border-radius:14px;margin:10px 0;padding:0 16px}.high-attempt-panel summary{display:flex;justify-content:space-between;padding:17px 0;cursor:pointer;list-style:none}.high-attempt-panel summary span{font-size:13px;background:#fff;border:1px solid #c5dccc;border-radius:8px;padding:5px 10px}.attempt-record{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:inherit;text-decoration:none;border-top:1px solid #d7e6dd;padding:14px 0}.attempt-record small{margin-left:auto}.card-records nav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.card-records nav a,.practice-records,.records-heading a{padding:10px 14px;background:#fff;border:1px solid #c4dacb;border-radius:10px;display:inline-block;color:#24563b;text-decoration:none}.card-records>section{background:#fff;color:#1c4330;border:1px solid #c4dacb;border-radius:18px;padding:24px;margin:22px 0}.card-records article{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid #d9e7de;margin-top:12px}.card-records article a{color:#24563b;white-space:nowrap}.card-records article strong{font-size:1.15rem}.card-records article p{margin:8px 0}.card-records article small{color:#5a7366}.exercise-preview{display:block!important;margin-top:16px!important;width:100%;font-weight:500!important}.exercise-preview-track{height:9px!important;display:block!important;background:#d9e8df!important;border-radius:8px;overflow:hidden;width:100%}.exercise-preview-track>span{display:block!important;height:100%!important;background:linear-gradient(90deg,#26784e,#78b76f)!important;border-radius:8px}.exercise-preview>small{display:block;margin-top:7px;font-size:12px;color:#4f7461}.quick-response-choices{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quick-response-choices button{padding:32px;border-radius:22px;border:1px solid #bfd6c7;background:#fff;color:#214933;box-shadow:0 6px 0 #d2e2d8;text-align:left}.quick-response-choices button>span{color:#7c9b87;font-size:13px;letter-spacing:2px}.quick-response-empty{padding:30px;border:1px dashed #99bda8;border-radius:18px;margin:26px 0;text-align:center}.quick-response-panel .pro-dialogue-link{display:inline-block;background:#fff;padding:18px 24px;border-radius:14px}
.library-results{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.search-column{min-width:0}.search-column>h2{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;gap:10px}.search-column>h2 small{font-size:.8rem;font-weight:400}.library-result{background:#fff;color:#193f2d;margin:12px 0;padding:18px;box-shadow:0 4px 14px #1c47330a}.library-result h3{font-size:1.13rem;margin:9px 0}.library-result h3 a{color:#245b3d;text-decoration:underline;text-underline-offset:3px}.library-result p{margin:8px 0;overflow-wrap:anywhere}.search-hit{display:inline!important;padding:0 .08em!important;margin:0!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;line-height:inherit!important;border:0!important;outline:0!important;border-radius:2px!important;box-shadow:none!important;background:#ffe58c!important;color:inherit!important;box-decoration-break:clone;-webkit-box-decoration-break:clone}.material-downloads article{background:#fff;color:#244831}.material-downloads a,.material-reader-controls a,.material-reader-controls button,.reader-next-page{background:#fff;color:#245538;border:1px solid #aecbb8;box-shadow:0 3px 0 #d3e3d8;border-radius:10px;padding:12px 16px;text-decoration:none;font-weight:600;cursor:pointer}.material-text{margin:22px 0;scroll-margin-top:20px}.reader-page-flag{display:inline-block;color:#244e37;background:#e6f1e8;border:1px solid #c9ddce;border-radius:6px 12px 12px 6px;padding:7px 14px;font-size:.85rem;font-weight:700}.reader-turn-tools{margin-top:10px}.reader-audio{display:inline-flex;align-items:center;gap:5px;background:#f0f7f1;color:#245a3b;border:1px solid #b9d5c3;border-radius:9px;padding:6px 12px;min-height:36px!important;font-size:13px}.reader-translation{display:none;color:#111!important;background:#f7faf5;padding:10px 12px;border-left:3px solid #a0baaa;font-size:15px;margin:10px 0 0!important;font-weight:400}.show-translations .reader-translation{display:block}.quick-upgrade-answer{background:#f2f8f0;color:#1c4730;border:1px solid #b9d4bd;border-radius:12px;margin:12px 0;overflow:hidden}.quick-upgrade-answer summary{cursor:pointer;padding:12px 16px;list-style:none;font-weight:700;background:#fff}.quick-upgrade-answer summary:before{content:'＋ ';color:#258255}.quick-upgrade-answer[open] summary:before{content:'− '}.quick-upgrade-answer blockquote{margin:12px 16px;padding:12px 16px;border-left:4px solid #419d62;font-weight:650;background:#e6f3e2}.quick-upgrade-answer p{margin:12px 16px;font-size:14px;color:#1a1a1a}.quick-upgrade-answer .upgrade-source{font-size:12px;color:#456851}.reader-next-page:disabled{opacity:.65;cursor:default}
.reader-page-translation{margin:18px 0 28px!important;padding:16px 20px}.reader-page-translation h3{margin:0 0 12px;color:#244e37}.reader-page-translation p{margin:8px 0;line-height:1.7}
html:not(.theme-day) .library-heading nav a[aria-current],html:not(.theme-day) .card-records nav [aria-current]{color:#fff}html:not(.theme-day) .search-column>h2{color:#e2f3e5}html:not(.theme-day) .team-effort-ranking{color:#193c2c;background:#f1f7f2}html:not(.theme-day) .team-effort-heading{color:#e4f3e8}
@media(max-width:700px){.app-header{padding:12px!important;gap:10px!important;align-items:flex-start!important}.app-header .wordmark{font-size:16px;gap:8px}.community-header-links{gap:6px;width:100%}.community-header-links a,.app-header button,.app-header .ghost-button{font-size:12px;padding:8px 10px;min-height:36px;border-radius:10px}.community-header-links a{flex:1}.app-header .header-actions{width:100%;gap:6px}.anonymous-assessment{margin:20px auto}.anonymous-assessment summary{padding:17px;font-size:1rem;gap:10px}.anonymous-assessment form{padding:0 16px 18px}.rating-seven{gap:5px}.rating-seven span{min-height:40px}.expand-cue{font-size:12px;padding:8px}.team-interaction-bar{flex-wrap:wrap}.team-reactions{margin-left:auto;gap:7px}.team-reactions button{padding:8px 11px;min-width:76px}.team-detail-modal{padding:20px}.team-detail-modal td,.team-detail-modal th{font-size:12px;padding:12px 4px}.high-attempt-panel{padding:17px}.records-heading{align-items:start;flex-direction:column}.records-heading a,.records-heading button{font-size:13px}.library-results{grid-template-columns:1fr}.search-column{border-top:1px solid #bbd0c3;padding-top:10px}.quick-response-choices{gap:12px}.quick-response-choices button{padding:20px 15px}.quick-response-choices h2{font-size:1.1rem}.quick-response-choices p{font-size:.85rem}.material-reader-controls{gap:10px}.material-reader-controls h2{flex-basis:100%}.material-reader-controls button,.material-reader-controls a{padding:10px 12px;font-size:13px}.material-pagination{align-items:center;flex-wrap:wrap}.reader-next-page{flex:1;min-width:180px}.card-records>section{padding:18px}.card-records nav a{font-size:13px}}
@media(prefers-reduced-motion:reduce){.community-header-links a:hover,.learning-stat-link:hover{transform:none}}
.course-stat-grid>a{min-width:0;padding:15px 14px;border:1px solid var(--line);border-radius:14px;background:#ffffff08;overflow-wrap:anywhere}html.theme-day .course-stat-grid>a{background:#edf6f0}.team-effort-chart .team-visible-point{opacity:1;transform:none;stroke:#fff;stroke-width:1.5px}.team-effort-chart [data-team-member="total"] .team-visible-point{stroke:#edbf4b;stroke-width:3px}.team-effort-chart .team-hit>circle:first-child{opacity:1;stroke:none;transform:none}.team-effort-chart .team-chart-count{fill:#173b2b}.team-effort-chart .team-hit:hover .team-visible-point,.team-effort-chart .team-hit:focus .team-visible-point{stroke:#c68e15;stroke-width:4;opacity:1;transform:none}
.card-export-controls{display:flex;gap:8px;align-items:end;padding:8px 10px;background:#edf5ef;border:1px solid #c3d9ca;border-radius:14px;color:#244a34}.card-export-controls label{display:flex;flex-direction:column;font-size:11px;gap:3px}.card-export-controls select{background:#fff;border:1px solid #b3cebe;border-radius:8px;padding:6px;font-size:12px;max-width:155px}.card-export-controls button{font-size:12px!important;min-height:36px!important}@media(max-width:700px){.card-export-controls{width:100%;justify-content:space-between}.card-export-controls label{flex:1}.card-export-controls select{max-width:none}}
.quick-response-link{display:inline-flex;padding:14px 20px;border:1px solid #bbd4c3;border-radius:12px;background:#fff;color:#235b3c;box-shadow:0 3px 0 #ccdfd2;text-decoration:none;font-weight:700;margin-top:12px}.records-history-note{font-size:.85rem;color:#577263}
/* Team momentum: compact rewards beside, rather than inside, the member control. */
.team-refresh-area{display:flex;flex-direction:column;align-items:flex-end;gap:7px;max-width:280px;flex-shrink:0}.team-updated{font-size:11px!important;line-height:1.55;margin:0!important;text-align:right;color:var(--muted,#547060)}.team-updated small{display:block;font-size:10px}.team-effort-ranking .team-member-row{display:flex;align-items:center;min-width:0;gap:2px}.team-effort-ranking .team-member-row>[data-team-member]{flex:1;min-width:0;padding:10px 5px;gap:7px}.team-member-row>[data-team-member]>span{overflow-wrap:anywhere}.team-member-row>[data-team-member]>strong{margin-left:auto}.team-member-row>[data-team-member]>i{flex-shrink:0}.team-badge-space{width:28px;flex:0 0 28px}.team-effort-ranking button.team-rank-badge{display:grid;place-items:center;flex:0 0 28px;width:28px;min-width:28px;min-height:36px;height:36px;padding:0;gap:0;border:0;background:transparent;box-shadow:none;border-radius:8px;overflow:visible;cursor:pointer;touch-action:manipulation}.badge-art{position:relative;display:block;width:17px;height:17px;flex:none}.badge-crown,.badge-trophy{position:absolute;inset:0;display:block;transform-origin:center}.badge-trophy{opacity:0;transform:scale(.4)}.badge-art svg{display:block;width:17px;height:17px;fill:var(--badge-fill);stroke:var(--badge-edge);stroke-width:1.2;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #182d1833)}.team-rank-badge.gold{--badge-fill:#f4c54b;--badge-edge:#996409}.team-rank-badge.silver{--badge-fill:#c5d0dd;--badge-edge:#667891}.team-rank-badge.bronze{--badge-fill:#ca905e;--badge-edge:#814820}.badge-detail{fill:none}.badge-jewel{fill:#fff5bc;stroke:none}.team-rank-badge:hover .badge-art,.team-rank-badge:focus-visible .badge-art{filter:drop-shadow(0 0 5px #e8b637);transition:filter .2s}.badge-flex{display:block;font-size:17px;line-height:1}.celebrating .badge-crown{animation:reward-crown 1.9s ease-in-out both}.celebrating .badge-trophy{animation:reward-trophy 1.9s ease-in-out both}.celebrating .badge-flex{animation:reward-flex 1.9s ease-in-out both}@keyframes reward-crown{0%,100%{opacity:1;transform:scale(1) rotate(0)}15%,82%{opacity:0;transform:scale(.35) rotate(-30deg)}}@keyframes reward-trophy{0%,100%{opacity:0;transform:scale(.4)}20%,78%{opacity:1;transform:scale(1.3) rotate(0)}32%,54%{opacity:1;transform:scale(1.3) rotate(-14deg)}43%,65%{opacity:1;transform:scale(1.3) rotate(14deg)}}@keyframes reward-flex{0%,100%{transform:rotate(0) scale(1)}20%,50%{transform:rotate(-17deg) scale(1.15)}35%,65%{transform:rotate(14deg) scale(1.15)}80%{transform:rotate(-8deg)}}
.team-effort-summary .team-sum-button{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:5px 16px;align-content:center;align-items:center;padding:20px;min-width:0}.team-total-top{display:flex;align-items:center;gap:3px;min-width:0}.team-total-top>strong{font-size:clamp(34px,4vw,54px)!important;line-height:1;font-variant-numeric:tabular-nums}.team-total-flame{width:62px;height:76px;object-fit:contain;flex-shrink:0}.team-static-flame{display:none}.team-total-label{grid-column:1/-1;font-size:14px;line-height:1.6;font-weight:700}.team-total-label small{display:block;font-size:11px}.team-day-growth{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:12px;color:#246243}.team-day-growth b{font-size:24px;line-height:1.1}.team-day-growth small{display:block;font-size:10px;font-weight:500;white-space:nowrap}.team-growth-percent{color:#5b691e;font-size:15px;font-weight:750;text-align:right}.team-growth-unavailable{font-size:10px}.team-sum-button:hover{border-color:#80b597}.personal-history-chart .learning-point-dot{opacity:1;stroke:#fff;stroke-width:2;transform:none}.personal-history-chart .learning-point-hit{opacity:1;stroke:none;transform:none}.personal-history-chart .learning-point{cursor:pointer;outline:none}.personal-history-chart .learning-point:is(:hover,:focus,.selected) .learning-point-dot{stroke:#d4a93f;stroke-width:4;transform:none}.personal-history-line{filter:drop-shadow(0 6px 7px #367d3320)}.learning-chart-help{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted,#547060);margin:6px 0 18px}.learning-chart-help>span{margin-left:auto}.learning-point-tooltip{position:fixed;z-index:10000;pointer-events:none;background:#fff;color:#173a2a;border:1px solid #b5cfc0;border-radius:14px;box-shadow:0 9px 32px #183f3233;padding:14px 18px;max-width:calc(100vw - 16px);font-size:14px}.learning-point-tooltip[hidden]{display:none}.learning-point-tooltip p{margin:7px 0}.learning-point-tooltip small{color:#597361;font-size:11px}.learning-date-records{background:#fff;color:#204331;border:1px solid #c4dacb;border-radius:18px;padding:22px;margin:15px 0 22px}.learning-date-records[hidden]{display:none}.learning-record-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.learning-record-heading h4{margin:0;font-size:18px}.learning-date-records>p{font-size:13px;color:#506756}.learning-date-records button{background:#eff6ee;color:#2b573b;border:1px solid #a6c1af;border-radius:10px;padding:9px 13px;cursor:pointer}.learning-record{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #dbe8de;padding:18px 0}.learning-record h4{font-size:17px;margin:8px 0}.learning-record p{white-space:pre-line;line-height:1.7;margin:5px 0;font-size:14px}.learning-record small{font-size:11px;color:#587361}.learning-record-action{display:flex;flex-direction:column;gap:12px;align-items:flex-end;flex-shrink:0}.learning-record-action a{display:block;background:#ecf5eb;border:1px solid #a5c6af;padding:8px 12px;border-radius:9px;color:#245a36;text-decoration:none;font-size:12px}.learning-record-action strong{font-size:17px}.history-pagination{font-size:11px}
@media(max-width:700px){.team-effort-heading{flex-wrap:wrap}.team-refresh-area{align-items:flex-start;max-width:100%;width:100%;flex-direction:row;justify-content:space-between}.team-updated{text-align:right}.team-effort-summary .team-sum-button{grid-template-columns:minmax(120px,1fr) auto}.team-day-growth{flex-direction:row;gap:15px;align-items:center}.team-total-flame{width:68px;height:84px}.team-effort-ranking{grid-template-columns:repeat(2,minmax(0,1fr))!important}.team-effort-ranking .team-member-row>[data-team-member]{font-size:12px;gap:5px}.team-effort-ranking .team-member-row>[data-team-member] i{width:8px;height:8px}.team-rank-badge .badge-art,.badge-art svg{width:15px;height:15px}.learning-chart-help>span{margin-left:0}.learning-date-records{padding:15px}.learning-record-heading{align-items:flex-start}.learning-record-heading h4{font-size:16px}.learning-record{flex-wrap:wrap}.learning-record-action{width:100%;flex-direction:row;justify-content:space-between;align-items:center}}
@media(max-width:370px){.team-day-growth{flex-direction:column;align-items:flex-end;gap:6px}.team-total-flame{width:55px}}
@media(prefers-reduced-motion:reduce){.celebrating .badge-crown,.celebrating .badge-trophy,.celebrating .badge-flex{animation:none}.celebrating .badge-crown{opacity:0}.celebrating .badge-trophy{opacity:1;transform:none}.team-total-flame{display:none}.team-static-flame{display:block;font-size:46px}}
.team-effort-summary{grid-template-columns:minmax(360px,1fr) minmax(0,2fr)}.team-day-growth{flex-direction:row;align-items:center;gap:15px}.team-total-top>strong{white-space:nowrap;overflow-wrap:normal;word-break:normal;flex-shrink:0}.team-total-flame{transform:scale(1.45)}
@media(max-width:1000px){.team-effort-summary{grid-template-columns:1fr}.team-day-growth{justify-content:flex-end}.team-effort-ranking{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
@media(max-width:370px){.team-day-growth{flex-direction:column;align-items:flex-end;gap:6px}}
/* Draw navigation arrows instead of relying on iOS emoji presentation. */
.pro-ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.13em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;overflow:visible}.pro-label-arrow{display:inline-flex;align-items:center;gap:.25em}
/* Give every student a full name line and an unbroken score line. */
.team-effort-ranking .team-member-row{align-items:flex-start}.team-effort-ranking .team-member-row>[data-team-member]{display:grid;grid-template-columns:12px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:4px;text-align:left;padding:10px 8px}.team-member-row>[data-team-member]>i{grid-column:1;grid-row:1}.team-member-row>[data-team-member]>span{grid-column:2;grid-row:1;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.team-member-row>[data-team-member]>strong{grid-column:2;grid-row:2;justify-self:start;margin:0;white-space:nowrap;word-break:normal;overflow-wrap:normal;font-size:18px;line-height:1.25}.team-member-row>.team-rank-badge{margin-top:1px}
@media(max-width:700px){.team-effort-ranking .team-member-row>[data-team-member]{grid-template-columns:8px minmax(0,1fr);column-gap:6px;row-gap:5px;padding:9px 5px}}
.team-effort-ranking .team-member-row{padding:4px 0}
@media(max-width:360px){.team-effort-ranking{grid-template-columns:1fr!important}}

.page-heading:has(.course-photo-slot){flex-wrap:wrap;align-items:center;gap:20px}
.course-photo-slot{margin-left:auto;width:220px;max-width:100%;flex:0 1 220px;color:var(--text);overflow-wrap:normal}
.course-photo-slot[hidden]{display:none}.course-photo-frame{height:170px;border:1px solid var(--line,#bbd1c2);border-radius:18px;background:#ffffff12;overflow:hidden;display:grid;place-items:center}
.course-photo-frame>button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;cursor:zoom-in}
.course-photo-frame img{display:block;width:100%;height:100%;object-fit:contain}
.course-photo-empty{text-align:center;font-weight:650;color:var(--muted)}.course-photo-empty small{font-size:11px}
.course-photo-edit{display:flex;gap:6px;margin-top:8px}.course-photo-edit button{font-size:12px!important;padding:6px 10px;min-height:34px}
.course-photo-slot [data-photo-status]{font-size:11px!important;margin:5px 0 0}.course-photo-slot [data-photo-status]:empty{display:none}
.course-photo-course{display:grid;gap:5px;font-size:12px;margin-bottom:7px}.course-photo-course select{max-width:100%;width:100%;font-size:12px}
.course-photo-preview{width:min(920px,calc(100vw - 32px));max-height:92dvh;padding:18px;border:1px solid #b4cdbd;border-radius:20px;background:#fff;color:#173b2c;box-sizing:border-box}
.course-photo-preview::backdrop{background:#071b17b3}.course-photo-preview>button{display:block;margin:0 0 12px auto}.course-photo-preview img{display:block;width:100%;max-height:75dvh;object-fit:contain}
@media(max-width:600px){.page-heading:has(.course-photo-slot)>div:first-child{flex-basis:100%}.page-heading:has(.course-photo-slot){gap:12px}.course-photo-slot{margin-left:0;width:140px;flex:0 1 140px;max-width:calc(100% - 150px)}.course-photo-frame{height:115px}.page-heading:has(.course-photo-slot)>button{margin-left:auto;font-size:12px;padding:9px;white-space:nowrap}}

/* Independent left and right course photos. */
.course-photo-group{display:flex;gap:12px;margin-left:auto;max-width:100%;flex:0 1 452px;min-width:0}.course-photo-group:has(.course-photo-slot[hidden]):not(:has(.course-photo-slot:not([hidden]))){display:none}.course-photo-group .course-photo-slot{margin:0;flex:1 1 0;min-width:0;max-width:100%;width:auto}.course-photo-edit{flex-wrap:wrap}
@media(max-width:600px){.course-photo-group{flex-basis:100%;width:100%;margin-left:0}.course-photo-group .course-photo-frame{height:135px}.course-photo-group .course-photo-edit button{padding:6px 8px}.page-heading:has(.course-photo-slot)>button{margin-left:auto}}

/* Let uploaded photos sit directly on the course background without white gutters. */
.course-photo-frame:has(img){background:transparent!important;border:0;box-shadow:none;border-radius:0}
.course-photo-frame>[data-photo-view]{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.course-photo-frame img{border-radius:0}
