/* Radical practice shares the course's portrait shell and iOS safe areas. */
.practice-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 22px 0;padding:4px;background:#14192b;border:1px solid var(--line);border-radius:6px}
.practice-tabs button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted);border-radius:3px}
.practice-tabs button.active{background:#c2b0f61a;color:var(--lav);box-shadow:inset 0 -2px var(--lav)}
.practice-tabs button>span{font-size:20px;line-height:1}
.practice-tabs svg{width:17px;height:17px}
.radical-page-head{padding-top:24px;padding-bottom:20px}
.radical-page-head h1{font-size:31px;line-height:1.2}
.radical-mentor{margin:0 22px 20px;display:flex;gap:14px;align-items:center;background:#1b2033;border:1px solid #51435f;border-radius:5px;overflow:hidden;padding-right:14px}
.radical-mentor img{width:76px;height:104px;object-fit:cover;object-position:49% 23%;image-rendering:pixelated;flex:none;border-right:1px solid #51435f}
.radical-mentor .eyebrow{font-size:8px;letter-spacing:.1em}
.radical-mentor p{font:13px/1.6 Georgia,serif;color:#d4c6e6;margin-top:6px}
.radical-metrics{padding-bottom:20px}
.radical-metrics .metric b{font-size:27px}
.radical-metrics .metric b small{font:11px sans-serif;color:var(--muted);margin-left:2px}
.radical-metrics .metric span{font-size:10px}
.radical-modes{padding-bottom:16px;gap:7px}
.radical-modes .mode{font-size:10px;min-height:76px;line-height:1.4;padding:13px 4px}
.radical-modes svg{width:22px;height:22px}
.radical-groups{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#51435f transparent;padding-bottom:13px;margin-bottom:4px;scroll-padding:22px}
.radical-groups .chip{flex:none;white-space:nowrap;min-height:39px;font-size:10px}
.radical-start h2{font-size:22px;line-height:1.35;margin-top:8px}
.radical-start>small{display:block;font-size:10px;color:var(--muted);line-height:1.65;margin-top:13px}
.radical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 22px 20px}
.radical-tile{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:123px;border:1px solid #49425f;border-radius:4px;background:linear-gradient(140deg,#222339,#191e30);padding:12px 4px 9px}
.radical-tile>span{font:35px/1.2 "PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--cream)}
.radical-tile b{font-size:10px;font-weight:400;line-height:1.4;text-align:center;overflow-wrap:anywhere}
.radical-tile small{font:8px/1.4 monospace;color:var(--muted)}
.radical-tile.familiar{border-color:#9dd5bf77}
.radical-tile.familiar small{color:var(--teal)}
.radical-tile:hover{background:#2d2942;border-color:var(--lav)}
.radical-footer-note{margin:0 24px 22px;color:var(--muted)}
.radical-footer-note p{font-size:11px;line-height:1.7}
.radical-footer-note .text-btn{font-size:11px;padding-left:0;margin-top:4px}
.radical-entry{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #5e4e76;background:#c2b0f60b;border-radius:5px;margin:0 22px 20px;padding:13px;width:calc(100% - 44px)}
.radical-entry>span:first-child{font-size:32px;color:var(--lav)}
.radical-entry>span:nth-child(2){flex:1}
.radical-entry b{display:block;font:15px/1.4 Georgia,serif}
.radical-entry small{display:block;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}
.radical-entry svg{width:16px;height:16px;color:var(--lav)}
.radical-resume{margin:0 22px 18px;border:1px solid #b7a1e577;padding:14px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;background:#c2b0f60d;border-radius:5px}
.radical-resume .eyebrow{font-size:8px;letter-spacing:.1em}
.radical-resume p{font-size:11px;margin-top:4px}
.radical-resume .pixel-btn{font-size:11px;min-height:42px;padding:9px 13px}
.radical-resume .text-btn{grid-column:1/-1;justify-self:start;font-size:10px;padding:0;min-height:30px;color:var(--muted)}
.radical-question-head{padding:10px 24px 0;text-align:center}
.radical-question-head h1{font:23px/1.4 Georgia,serif;margin:9px 0 5px;outline:none}
.radical-session .review-progress{padding-top:13px;padding-bottom:10px}
.radical-session .review-progress .text-btn{font-size:10px;padding:6px 0;min-height:35px}
.radical-prompt{text-align:center;padding:8px 24px 23px}
.radical-prompt>span{display:block;font:94px/1.4 "PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--cream)}
.radical-prompt small{font:10px/1.6 monospace;color:var(--muted);display:block}
.radical-session .review-options .option{min-height:51px;font-size:14px;margin-bottom:9px}
.radical-spot-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radical-session .radical-spot-options .option{min-height:81px;margin:0;justify-content:center;gap:13px}
.radical-option-form{font:37px/1.25 "PingFang SC","Noto Sans CJK SC",sans-serif}
.radical-spot-options .option .index{align-self:flex-start;font-size:9px;margin-top:4px}
.radical-spot-options .option svg{width:15px;height:15px}
.radical-feedback{padding:0 24px 25px;outline:none}
.radical-feedback .feedback{margin:0 0 14px}
.radical-feedback .feedback>p{font-size:12px;line-height:1.75;margin-top:7px}
.radical-feedback .feedback>p>span{font-size:23px;color:var(--cream)}
.radical-feedback .full{width:100%;margin-top:15px}
.radical-learn{padding:14px 24px 26px}
.radical-flash{width:100%;min-height:277px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #b9a1e0;border-radius:7px;position:relative;background:linear-gradient(145deg,#312c49,#1a2035);box-shadow:4px 4px 0 #c2b0f624,inset 0 0 0 7px #11152455;padding:24px 15px}
.radical-flash:before,.radical-flash:after{content:"";position:absolute;width:7px;height:7px;background:var(--gold);top:11px;left:11px}
.radical-flash:after{left:auto;top:auto;right:11px;bottom:11px}
.radical-flash .eyebrow{font-size:8px;letter-spacing:.12em}
.flash-glyph{font:98px/1.25 "PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--cream)}
.radical-flash strong{font:25px/1.25 Georgia,serif;color:var(--lav);font-weight:400}
.flash-py{font-size:13px;color:var(--muted)}
.flash-hint{display:flex;align-items:center;gap:7px;font:10px/1.5 monospace;color:var(--muted);margin-top:6px}
.flash-hint svg{width:14px;height:14px}
.radical-flash.revealed{background:linear-gradient(145deg,#322841,#1b2336)}
.radical-learn>.full{width:100%;margin-top:20px}
.radical-learn-notes{padding-top:22px}
.radical-forms{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:12px 0 15px}
.radical-forms>span{font:29px/1.4 "PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--lav);border:1px solid #65577c;border-radius:3px;min-width:42px;text-align:center;background:#c2b0f60c;padding:2px 6px}
.radical-forms>i{font:12px monospace;color:#746b8c;font-style:normal}
.radical-forms>small{font-size:10px;color:var(--muted)}
.radical-cue{font:14px/1.8 Georgia,serif!important;color:#d0c6df!important;margin:10px 0 18px!important}
.radical-example{border:1px solid #494158;border-left:2px solid var(--gold);border-radius:0 4px 4px 0;background:#111729;margin:12px 0;padding:12px}
.radical-example-word{display:flex;gap:13px;align-items:center}
.radical-example-word>span{font:43px/1.4 "PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--cream);min-width:46px;text-align:center}
.radical-example-word>div{flex:1;min-width:0}
.radical-example-word b{font-size:14px;color:var(--lav);font-weight:400}
.radical-example-word p{font-size:12px!important;line-height:1.5;color:var(--muted);margin-top:3px}
.radical-example-word .icon-btn{min-width:36px;min-height:40px}
.radical-pieces{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;padding-top:11px;border-top:1px solid #39374c}
.radical-pieces>span{font:25px/1.35 "PingFang SC","Noto Sans CJK SC",sans-serif;color:#9e9bb6;min-width:33px;padding:2px 5px;text-align:center;background:#ffffff05;border:1px solid #3d3b53;border-radius:3px}
.radical-pieces>span.target{color:var(--gold);background:#e9c98a11;border-color:#e9c98a88}
.radical-pieces>i{font:11px monospace;color:#706b85;font-style:normal}
.radical-pieces>small{font:10px/1.5 sans-serif;color:var(--muted);flex-basis:100%;margin-top:3px}
.radical-detail-heading{display:flex;align-items:center;gap:20px;margin:4px 0 15px}
.radical-detail-heading>span{font:77px/1.3 "PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--cream)}
.radical-detail-heading h3{font:25px/1.3 Georgia,serif;color:var(--lav);font-weight:400}
.radical-detail-heading p{font-size:12px;margin-top:8px}
.radical-example-label{font-size:9px}
.radical-example-note{font-size:10px!important;line-height:1.7;color:var(--muted);margin-top:15px}
.radical-about p{margin:14px 0}
.radical-about a{display:block;font-size:11px;padding:8px 0}
.radical-score{font:69px/1.2 Georgia,serif;color:var(--lav);margin:17px 0 13px}
.radical-score>span{font-size:27px;color:var(--muted);margin-left:5px}
.large-text .radical-cue{font-size:16px!important}
.large-text .radical-example-word p{font-size:14px!important}
@media(max-width:359px){.radical-grid{gap:6px}.radical-tile{min-height:116px}.radical-tile b{font-size:9px}.radical-page-head h1{font-size:29px}.radical-modes .mode{font-size:9px}.radical-mentor p{font-size:12px}.radical-detail-heading{gap:13px}}
@media(max-height:700px){.radical-question-head h1{font-size:21px}.radical-prompt{padding-top:0;padding-bottom:15px}.radical-prompt>span{font-size:78px;line-height:1.3}.radical-session .review-options .option{min-height:45px;margin-bottom:7px}.radical-session .radical-spot-options .option{min-height:72px;margin:0}.radical-flash{min-height:240px;padding:20px 13px}.flash-glyph{font-size:80px}}

@media(max-height:700px){.radical-page-head{padding-top:17px;padding-bottom:15px}.radical-page-head h1{font-size:27px;line-height:1.15;margin-top:8px;margin-bottom:8px}.radical-page-head p{font-size:11px;line-height:1.5}.radical-modes{padding-bottom:12px}.radical-modes .mode{min-height:65px;padding:9px 3px;gap:6px}.radical-start{padding:15px}.radical-start h2{font-size:19px;line-height:1.3;margin-bottom:8px}.radical-start p{font-size:11px;line-height:1.6}.radical-start .pixel-btn{margin-top:13px;min-height:44px;padding:11px}.radical-start>small{margin-top:10px;font-size:9px}}

.radical-start .pixel-btn{margin-top:4px;margin-bottom:14px}
.radical-prompt small>span{font:19px/1.2 "PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--lav);vertical-align:baseline}
