/* Shared final components, scoped to avoid changing unrelated cabin layout. */
.chess-style-sample{display:flex;align-items:center;gap:10px;min-width:0}.chess-style-preview{display:block;position:relative;width:52px;height:52px;flex:0 0 52px;border-radius:50%;border:1px solid #c7ad70;background:linear-gradient(135deg,#284d56,#517b80);overflow:hidden}.chess-style-preview>.chess-board-piece{position:absolute;inset:3px}.chess-style-preview .chess-piece{width:100%;height:100%}.chess-member-card{display:flex!important;gap:18px!important;align-items:center;text-align:left!important}.chess-member-card>div{display:flex;flex-direction:column;gap:5px;min-width:0}.chess-member-card strong{font-size:32px}.chess-member-avatar{width:82px;height:82px;flex:0 0 82px;border:2px solid #c8b477;border-radius:50%;background:linear-gradient(135deg,#294e57,#4c747a);overflow:hidden;display:grid;place-items:center}.chess-member-avatar img{width:100%;height:100%;object-fit:cover}.chess-member-avatar>.chess-piece{width:65%;height:65%;fill:#fff6df;stroke:#81622b}.chess-club-awards h2{margin:0 0 16px}.chess-medal-list{display:flex;flex-wrap:wrap;gap:12px}.chess-medal{padding:12px;flex:1 1 150px;border:1px solid #cbb67f;border-radius:16px;background:linear-gradient(135deg,#fffbef,#ede0b5)}.chess-medal summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;line-height:1.35}.chess-medal-icon{position:relative;display:block;flex:0 0 54px;width:54px;height:64px}.chess-medal-icon>.chess-piece{width:100%;height:100%;fill:#ead08b;stroke:#755b2b}.chess-medal.silver .chess-piece{fill:#dce5eb;stroke:#526875}.chess-medal-icon b{position:absolute;left:0;right:0;top:34px;text-align:center;color:#17343d;font:900 13px Arial;text-shadow:0 0 2px #fff}.chess-medal p{margin:12px 0 0;font-size:14px;line-height:1.6}.chess-ranking-avatar>.chess-piece{width:75%;height:75%;fill:#fff6df;stroke:#81622b}.fs-athlete-award.chessPractice5 svg{fill:#dce5eb!important;stroke:#526875!important}.fs-athlete-award:is(.chessPractice10,.chessPractice11) svg{fill:#e3c575!important;stroke:#755b2b!important}.athlete-photo-button{margin-top:12px;border:1px solid #c9b479;background:#f5efd9;color:#24434b;border-radius:12px;padding:10px 16px;min-height:44px;font:600 15px inherit;cursor:pointer}.athlete-photo-dialog{border:1px solid #c9b479;border-radius:24px;padding:22px;max-width:min(480px,calc(100vw - 28px));width:100%;max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;background:#fcfaf0;color:#1c3c45}.athlete-photo-dialog::backdrop{background:#122e3bc2}.athlete-photo-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.athlete-photo-dialog h2{font-size:23px;margin:0}.athlete-photo-dialog button{min-height:44px;border-radius:12px;border:1px solid #bca666;padding:10px 16px;color:#24434b;background:#efe6cb;font-weight:700;cursor:pointer}.athlete-photo-dialog p{line-height:1.6}.athlete-photo-dialog figure{margin:16px auto;text-align:center}.athlete-photo-dialog figure svg{width:140px;height:140px}.athlete-photo-dialog canvas{width:min(100%,280px);height:auto;border-radius:50%;border:3px solid #c9b479;display:block;margin:16px auto}.athlete-photo-dialog label{display:block;margin:14px 0}.athlete-photo-dialog input[type=range]{display:block;width:100%;margin-top:8px}.athlete-photo-dialog footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.athlete-photo-dialog [hidden]{display:none!important}
/* Consistent text inset in every help callout. */
#page-help .ph-next,.ph-reading .ph-next{padding:20px 22px!important;box-sizing:border-box;overflow-wrap:anywhere;border-radius:16px}.ph-reading .ph-next h3{margin-top:0}.ph-reading .ph-next p:last-child{margin-bottom:0}
@media(max-width:480px){.chess-style-sample>span:last-child{font-size:13px}.chess-style-control{gap:8px}.chess-style-control>div button{padding:10px 12px}.chess-member-avatar{width:70px;height:70px;flex-basis:70px}}

/* Parent profile: stable reading order at every breakpoint. */
html body #page-child .child-dashboard-grid > .child-header-card{grid-column:1/-1!important;grid-row:1!important;order:0!important}
html body #page-child .child-dashboard-grid > .child-attendance-card{grid-column:1/-1!important;grid-row:2!important;order:0!important;min-height:0!important}
html body #page-child .child-dashboard-grid > #parent-learning-progress{grid-column:1/-1!important;grid-row:3!important;order:0!important;padding:14px!important;min-width:0;box-sizing:border-box}
html body #page-child #parent-learning-progress h2{font-family:'LK Inter',Inter,sans-serif!important;font-size:16px!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;font-weight:700!important;margin:0 0 10px!important;color:#25464e!important}
html body #page-child #parent-learning-progress .learning-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body #page-child #parent-learning-progress .learning-progress-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}
html body #page-child #parent-learning-progress .learning-progress-part{padding:12px;border:1px solid #cfc3a4;border-radius:13px;background:linear-gradient(130deg,#f8f6ec,#e3ece8);min-width:0;color:#25464e}
html body #page-child #parent-learning-progress .learning-progress-part h3{font-family:'LK Inter',Inter,sans-serif!important;font-size:13px!important;line-height:1.35!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 6px!important;color:#25464e!important}
html body #page-child #parent-learning-progress .learning-progress-part p{margin:4px 0!important;line-height:1.4!important}
html body #page-child #parent-learning-progress .learning-progress-value{font-size:23px!important;font-weight:800;color:#25464e!important}
html body #page-child #parent-learning-progress .learning-progress-value.is-empty{font-size:14px!important;line-height:1.45!important;font-weight:600}
html body #page-child #parent-learning-progress .learning-progress-value small{font-size:12px;font-weight:500}
html body #page-child #parent-learning-progress :is(.learning-progress-summary,.learning-progress-change,.learning-progress-date){font-size:11px!important;line-height:1.5!important;color:#587077!important;overflow-wrap:anywhere}
html body #page-child #parent-learning-progress .learning-progress-date{display:block}
html body #page-child #parent-learning-progress .learning-progress-note{font-size:11px;line-height:1.5;color:#64777b;margin:8px 0 0}
html body #page-child #parent-learning-progress .learning-progress-note summary{cursor:pointer}
html body #page-child #parent-learning-progress .learning-progress-note p{margin:6px 0 0}
@media(min-width:768px){
 html body #page-child .child-dashboard-grid{grid-template-rows:repeat(5,auto)!important;align-items:start!important}
 html body #page-child .child-dashboard-grid > .child-overview-stack{display:flex!important;flex-direction:column;grid-column:1/-1!important;grid-row:5!important;gap:24px;min-width:0}
 html body #page-child .child-dashboard-grid > .child-performance-stack{grid-column:1/-1!important;grid-row:4!important;align-self:start!important}
 html body #page-child .child-attendance-card .attendance-stat-tiles{min-height:0!important}
}
@media(max-width:767px){
 html body #page-child .child-dashboard-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important}
 html body #page-child .child-dashboard-grid > :is(.child-overview-stack,.child-performance-stack){grid-column:1!important;grid-row:auto!important;order:0!important}
 html body #page-child .child-overview-stack{display:contents!important}
 html body #page-child .child-overview-stack > .card{grid-column:1!important;grid-row:auto!important;order:0!important}
}

.chess-medal-symbol{display:flex;flex:0 0 60px;flex-direction:column;align-items:center;gap:2px}
.chess-medal-symbol .chess-medal-icon{flex-basis:auto;width:54px;height:58px}
.chess-medal-number{display:block;font:800 14px/1.2 system-ui;color:#28434b;text-align:center}
.fs-athlete-award.chessDaily svg,html body #page-child .fs-athlete-award.chessDaily svg{width:36px!important;height:36px!important;max-width:100%!important;max-height:100%!important}

/* Keep the latest test infographic directly after learning results on small screens too. */
@media(max-width:767px){html body #page-child .child-dashboard-grid>.child-performance-stack{display:flex!important;flex-direction:column;grid-column:1!important;grid-row:4!important;min-width:0}html body #page-child .child-performance-stack>.child-tests-card{order:0!important;min-width:0}}
