/* Shared final components, scoped to avoid changing unrelated cabin layout. */
.learning-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.learning-progress-part{padding:20px;border:1px solid #cfc3a4;border-radius:18px;background:linear-gradient(130deg,#f8f6ec,#e3ece8);min-width:0}.learning-progress-part h3{margin:0 0 12px;color:#20424b}.learning-progress-part p{margin:8px 0}.learning-progress-value{font-size:28px;font-weight:800;color:#20424b}.learning-progress-value small{font-size:14px;font-weight:500}.learning-progress-note{font-size:13px;line-height:1.6;color:#64777b;margin:16px 0 0}.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}.learning-progress-part{padding:16px}}
