:root{color-scheme:dark;--paper:#0d0a13;--ink:#f3effb;--muted:#aaa2bb;--line:rgba(221,208,255,.11);--green:#9c70ef;--purple:#8953df;--burgundy:#84344f;--panel:rgba(31,24,43,.88);--accent:#ceb2ff}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:radial-gradient(ellipse at 35% -25%,#372152 0,transparent 52%),radial-gradient(ellipse at 110% 110%,#351424 0,transparent 47%),#0d0a13;color:var(--ink);font:13px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;letter-spacing:-.12px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,label,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #cfadff;outline-offset:3px}button:disabled{opacity:.45;cursor:wait}button{color:inherit}.shell{height:100dvh;display:flex;gap:0;padding:12px}.sidebar{width:194px;flex-shrink:0;display:flex;flex-direction:column;height:100%;padding:23px 13px 14px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(150deg,rgba(72,46,94,.35),rgba(21,16,31,.8));box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 12px 48px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;gap:11px;align-items:center;padding:0 7px;font-size:15px;line-height:1.17;letter-spacing:-.4px}.brand strong{font-weight:650}.brand-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;font-weight:700;font-size:16px;letter-spacing:-.7px;color:#f4eaff;background:linear-gradient(145deg,#8752d3,#542086 55%,#6a2748);border:1px solid rgba(231,200,255,.3);box-shadow:inset 0 1px 0 #c7a0ee55,0 5px 15px #0004}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#9c8ab5;margin:0}.sidebar>.eyebrow{margin:32px 12px 13px;font-size:8px}nav{display:flex;flex-direction:column;gap:5px}nav a{display:flex;align-items:center;gap:11px;border:1px solid transparent;padding:10px 11px;font-size:11px;white-space:nowrap;color:#afa5c0;border-radius:10px}nav a>span{font-size:15px;width:17px;text-align:center;color:#9e88b8}nav a:hover{background:#ffffff05;color:#f7efff}nav .nav-active{color:#f4eaff;background:linear-gradient(105deg,#8550cb48,#763b8326);border-color:#bd8fff26;box-shadow:inset 0 1px 0 #e0b7ff13}nav .nav-active>span{color:#d7b4ff}.sidebar-note{margin:auto 12px 12px;padding-top:25px;color:#7f748e;font-size:10px}.sidebar-note strong{font-size:10px;font-weight:500;color:#b6a8c6}.sidebar-note p{margin:4px 0}.small-dot{display:block;width:5px;height:5px;background:#a477df;border-radius:50%;margin-bottom:10px}.sidebar-bottom{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding:15px 12px 0;color:#9a8eaa;font-size:10px}.sidebar-bottom p{margin:5px 0 0;font-size:9px;color:#6f647d}.import-label{cursor:pointer}main{min-width:0;flex:1;height:100%;display:flex;flex-direction:column}.topbar{height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:#8f829e;font-size:10px}.connection{display:flex;gap:6px;align-items:center;font-size:9px}.connection:before{content:"";width:5px;height:5px;border-radius:50%;background:#ac84da;box-shadow:0 0 7px #a777dc44}.connection.offline:before{background:#d69479}.content{flex:1;min-height:0;display:flex;flex-direction:column;padding:13px 22px 4px;max-width:1650px;width:100%;margin:0 auto}.heading{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.heading .eyebrow{font-size:8px;letter-spacing:2px;color:#a98bc9}h1{font-size:29px;line-height:1.18;letter-spacing:-1.1px;font-weight:600;margin:7px 0 5px}h1 em{font-style:normal}.intro{font-size:11px;color:#a99ab9;margin:0}.heading-actions{display:flex;gap:7px}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;white-space:nowrap;font-size:10px;font-weight:550;border:1px solid var(--line);border-radius:9px;padding:9px 13px;line-height:1.3}.primary{background:linear-gradient(135deg,#8650ce,#713eac 65%,#843f70);border-color:#b47feb50;color:#fbf4ff;box-shadow:inset 0 1px 0 #dfb8ff26,0 4px 15px #170c2440}.secondary{background:#cba7fa08;border-color:#bea1e21c;color:#c5b5d8}.workspace-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.panel,.stats article,.station{background:linear-gradient(140deg,rgba(53,39,70,.70),rgba(24,18,34,.92));border:1px solid var(--line);border-radius:14px;box-shadow:inset 0 1px 0 #efdaff08,0 8px 22px #0000000c}.panel{padding:16px;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.panel h2{font-size:13px;line-height:1.4;font-weight:580;letter-spacing:-.2px;margin:0}.panel h3{font-size:11px;font-weight:550;margin:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-shrink:0}.panel-heading small{font-size:9px;color:#8d7f9f}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex-shrink:0}.overview-card{min-height:125px;position:relative}.overview-card:first-child{background:linear-gradient(135deg,#54317f65,#241832e8)}.overview-card:nth-child(2){background:linear-gradient(135deg,#54273b70,#281622df)}.overview-card:nth-child(3){background:linear-gradient(135deg,#2f294d91,#21182cdf)}.overview-card .panel-heading{margin-bottom:8px;gap:5px}.overview-card .panel-heading h2{font-size:12px}.overview-card .goal-number{font-size:29px;margin:0 0 4px}.overview-card .text-link{font-size:9px;margin-top:auto}.overview-card .goal-progress{margin:6px 0 9px;height:5px}.overview-card .helper{font-size:9px;margin:4px 0 10px}.goal-number{font-size:30px;letter-spacing:-1px;line-height:1.15;font-weight:580;margin:5px 0 11px}.goal-number small{font-size:10px;color:#a393b4;font-weight:400;letter-spacing:0}.badge{display:inline-flex;align-items:center;font-size:8px;font-weight:500;line-height:1.3;padding:4px 7px;border:1px solid #b59bc51c;background:#c7a9e408;color:#b5a5c7;border-radius:20px;white-space:nowrap}.badge.green{color:#bdccbd;border-color:#afcfaf20;background:#87b6880d}.badge.yellow,.badge.due{color:#d9b3c6;border-color:#c18da221;background:#ae5d7b15}.badge.red{color:#e1a7bc;border-color:#b76d8728;background:#a34c6e19}.helper{font-size:10px;line-height:1.6;color:#a092ae;margin:6px 0 10px}.text-link{color:#bea0e5;font-size:10px;white-space:nowrap}.text-link:hover{color:#e7cdff}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0}.today-middle{flex:1;min-height:190px}.completion-row{display:flex;align-items:flex-start;gap:10px;font-size:11px;cursor:pointer;padding:8px 0 12px;flex-shrink:0}.completion-row input{width:16px;height:16px;margin:1px 0 0;accent-color:#a879e0;flex-shrink:0}.completion-row strong{font-size:11px;font-weight:500;display:block}.completion-row small{font-size:9px;display:block;color:#94859f;margin-top:2px}.quick-log{border-top:1px solid var(--line);padding-top:12px;margin-top:auto}.quick-log>label{display:block;font-size:10px;color:#c4b6d3;margin-bottom:8px}.input-action{display:flex;gap:8px}.input-action input{width:100%;min-width:0}.quick-log .helper{font-size:9px;margin-bottom:0}.study-form input,.study-form select,.study-form textarea,.quick-log input,.search input{font-family:inherit;background:rgba(9,6,15,.40);border:1px solid #bba3d320;color:#ece2f5;border-radius:8px;padding:9px 11px;font-size:11px;width:100%;min-width:0;line-height:1.35}.study-form input::placeholder,.study-form textarea::placeholder,.quick-log input::placeholder,.search input::placeholder{color:#766880}.study-form{display:flex;flex-direction:column;gap:12px;min-height:0}.study-form label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#c9b9d7}.study-form label>small{display:inline;color:#8b7a9c;font-size:9px;margin-top:-3px}.study-form label:has(>small){position:relative}.study-form label>small{position:absolute;right:0;top:0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.study-form textarea{resize:none}.form-bottom{display:flex;align-items:center;gap:12px}.form-bottom .helper{margin:0;font-size:9px}.study-form>.button{align-self:flex-start;margin-top:auto}.study-form>.helper{margin:0;font-size:9px}.panel-scroll{overflow:auto;min-height:0;flex:1;padding-right:3px;scrollbar-width:thin;scrollbar-color:#765b9540 transparent}.focus-row{display:block;padding:9px 0;border-bottom:1px solid var(--line)}.focus-row:first-child{padding-top:0}.focus-row:last-child{border:0}.focus-row strong{font-size:11px;font-weight:500;display:block}.focus-row span,.focus-row small{font-size:9px;color:#9786a9;display:block;margin-top:3px}.quiet-empty{padding:11px 0}.quiet-empty p{font-size:11px;margin:0 0 5px;color:#c3b3d0}.quiet-empty span{font-size:10px;color:#94839f;display:block;max-width:360px}.today-chart{height:162px;flex-shrink:0}.chart-panel .panel-heading{margin-bottom:7px}.chart-scroll{min-height:0;overflow:hidden;flex:1}.activity-chart{width:100%;height:100%;max-height:118px;display:block}.chart-bar{fill:#a269be}.chart-bar:hover{fill:#cf9ae6}.chart-bar.anki-bar{fill:#8964c4}.chart-bar.anki-bar:hover{fill:#b991ed}.chart-bar.chart-unknown{fill:#42314e}.chart-axis{stroke:#82689633;stroke-width:1}.activity-chart text{font-size:10px;fill:#8d7c9e;font-family:inherit}.chart-empty{font-size:9px;margin:0}.goal-progress{display:block;width:100%;height:8px;margin:9px 0;overflow:visible}.progress-track{fill:#b392cc14}.progress-fill{fill:#a276d3}.progress-marker{stroke:#e8b6d4;stroke-width:4}.unset-progress{font-size:9px;color:#7f6c90;padding:5px 0;margin:2px 0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex-shrink:0}.stats article{padding:12px 15px}.stats p{font-size:9px;color:#a594b4;margin:0}.stats strong{font-size:26px;letter-spacing:-.7px;font-weight:550;display:block;line-height:1.25;margin-top:5px}.stats span{font-size:8px;color:#81718e}.stat-due{background:linear-gradient(135deg,#56293d70,#261724e8)!important}.osce-workflow{background:#a375cd0a;border:1px solid var(--line);border-radius:10px;padding:10px 13px;flex-shrink:0}.osce-workflow summary{display:flex;justify-content:space-between;align-items:center;color:#c5addd;font-size:10px;list-style:none}.osce-workflow summary small{font-size:9px;color:#8c789d}.osce-workflow p{font-size:10px;color:#a895ba;margin-bottom:0}.library{min-height:0;flex:1;display:flex;flex-direction:column;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(140deg,#251a34a8,#130d1fdd)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-shrink:0}.section-title .eyebrow{font-size:7px;letter-spacing:1.4px}.section-title h2{font-size:15px;font-weight:550;letter-spacing:-.3px;margin:3px 0 11px}.search{display:flex;align-items:center;gap:6px;width:240px}.search span{font-size:20px;color:#9e83b6}.search input{padding:7px 10px;font-size:10px}.filters{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:9px}.filters button{font-size:9px;color:#a590b7;border:1px solid transparent;background:none;border-radius:7px;padding:5px 9px}.filters button.active{color:#e4cefb;background:#a36fce1b;border-color:#b38acd22}.filters button span{padding-left:3px;color:#8d6ca8}#stations{flex:1;overflow:auto;min-height:0;padding-right:3px;scrollbar-width:thin;scrollbar-color:#765b9540 transparent}.station{margin:7px 0;border-radius:10px;background:#36263e25}.station summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}.station summary::-webkit-details-marker{display:none}.station summary:after{content:"+";color:#9f7db8;font-size:16px}.station[open] summary:after{content:"−"}.station-title{flex:1;min-width:0}.station-title h3{font-size:12px;line-height:1.4;margin:0 0 3px;font-weight:500}.station-title p{font-size:9px;color:#8c7a9e;margin:0}.station-meta{display:flex;gap:7px}.station-preview{padding:0 14px 10px;color:#ae98bc;font-size:10px}.station-preview p{margin:0}.station-detail{border-top:1px solid var(--line);margin:0 14px 13px;padding-top:13px}.station-detail h4{font-size:10px;margin:0 0 12px;color:#c3a9d6}.attempt{padding:0 0 0 13px;border-left:2px solid #8a5ab248;margin-bottom:19px}.attempt-top{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:9px;color:#8e77a0}.attempt p{font-size:10px;color:#bca8cb;white-space:pre-wrap;margin:8px 0}.attempt .basis{font-size:9px;color:#8b759d}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feedback-grid h5,.uncertainty h5{font-size:10px;margin:10px 0 3px;color:#c9addd}.feedback-grid ul,.uncertainty ul{padding-left:14px;margin:0;font-size:10px;color:#ac96be}.uncertainty{background:#b66b8f0a;border-radius:6px;padding:8px;margin-top:10px}.reference,.connection-details{background:#ae80d20a;border:1px solid #b69ac414;border-radius:8px;padding:9px 11px;margin-top:10px;flex-shrink:0}.reference summary,.connection-details summary{font-size:10px;cursor:pointer;color:#ad8dc4}.reference pre{font:10px/1.7 -apple-system,BlinkMacSystemFont,sans-serif;white-space:pre-wrap;max-height:250px;overflow:auto;color:#b39bc5}.reference p,.reference li{font-size:10px;color:#a48cb5}.criteria{font-size:10px;border-collapse:collapse;width:100%;margin:12px 0}.criteria td,.criteria th{text-align:left;padding:7px 5px;border-bottom:1px solid var(--line);vertical-align:top}.criteria th{font-size:9px;color:#9276a8}.criteria caption{text-align:left;margin-bottom:6px;font-size:10px;color:#b89acf}.empty{border:1px dashed #9773ad2a;border-radius:10px;text-align:center;padding:23px 16px;color:#8f759f}.empty h3{font-size:15px;font-weight:500;color:#c2a9d6;margin:0 0 10px}.empty p{font-size:10px;max-width:470px;margin:0 auto 8px}.empty .example{background:#a06bc008;border-radius:7px;padding:10px 14px;max-width:500px;font-size:10px;color:#a98bbb}.connection-panel{padding:10px 13px;background:#8c58be0b;border:1px solid var(--line);border-radius:10px;flex-shrink:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:10px}.connection-panel strong{font-size:10px;font-weight:500;color:#d0b5e5}.connection-panel span{font-size:9px;color:#9580a6}.warning-panel{border-color:#b67c9b35;background:#ad567a0a}.anki-middle{flex:1;min-height:190px}.anki-bottom{height:178px;flex-shrink:0}.selection-label{font-size:13px;letter-spacing:-.2px;color:#dbc4ed;margin:0 0 10px}.pending-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:5px 0 8px}.pending-grid>div{padding:8px 10px;border-radius:8px;background:#b290d009;border:1px solid #b195ca14}.pending-grid strong{font-size:20px;font-weight:550;display:block;line-height:1.2}.pending-grid span{font-size:8px;color:#997daa}.deck-progress-label{font-size:10px;color:#b89fc9;display:flex;justify-content:space-between;margin:9px 0 4px}.deck-progress-label strong{font-weight:500;color:#d1b5e4}.anki-middle .completion-row{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;padding-bottom:0}.anki-middle .helper{font-size:9px;line-height:1.55;margin:5px 0}.connection-details{margin-top:auto;padding:7px 10px}.connection-details[open]{max-height:100px;overflow:auto}.completion-calendar{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;margin-bottom:8px}.completion-day{border:1px solid #997ab91b;border-radius:6px;padding:6px 2px;text-align:center;background:#997abd04;display:flex;flex-direction:column;color:#735c86}.completion-day>span{font-size:9px}.completion-day>small{font-size:10px}.completion-day.is-complete{color:#d3afed;border-color:#ba85dd39;background:#9255bc25}#anki-completion-history .helper{font-size:9px;line-height:1.4;margin:5px 0 0}.goal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex-shrink:0}.goal-grid:has(>:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.goal-card{padding:13px 14px}.goal-card .panel-heading{display:block;margin-bottom:8px}.goal-card .panel-heading h3{font-size:11px;margin-bottom:6px}.goal-card .badge{font-size:7px;padding:3px 6px}.goal-card .goal-number{font-size:25px;margin:0 0 7px}.goal-card .goal-number small{font-size:9px;display:inline-block}.goal-card .goal-progress{height:6px;margin:7px 0}.goal-card .helper{font-size:8px;line-height:1.45;margin:3px 0 6px}.pace-note{font-size:8px;color:#9c80af;line-height:1.45;margin:4px 0}.period-label{font-size:7px;color:#6d547f;letter-spacing:.6px;text-transform:uppercase;margin:8px 0 0}.passmed-middle{flex:1;grid-template-columns:.95fr 1.05fr;min-height:0}.passmed-middle .study-form{gap:13px;flex:1;min-height:0}.passmed-middle .study-form .form-bottom{margin-top:auto}.passmed-middle .panel-heading{margin-bottom:15px}.practice-panel{min-height:0}.log-row{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);padding:9px 0}.log-row strong{display:block;font-size:10px;font-weight:500}.log-row small{display:block;font-size:8px;color:#8a729c;margin-top:3px;white-space:pre-wrap}.log-count{font-size:20px;font-weight:500;text-align:right;white-space:nowrap}.log-count small{font-weight:400;font-size:8px}.practice-chart{height:140px;flex-shrink:0;margin-top:12px;border-top:1px solid var(--line);padding-top:11px}.practice-chart .panel-heading{margin-bottom:4px}.practice-chart .activity-chart{max-height:90px}.practice-chart .chart-empty{font-size:8px;line-height:1.3}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.settings-grid>.panel{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#765b9540 transparent}.settings-grid .study-form{gap:13px}.settings-grid .reference{margin:0}.inset-form{padding-top:12px}.deck-field{min-height:0;display:flex;flex-direction:column}.deck-field>.helper{font-size:9px;margin:5px 0 7px}.deck-list{max-height:190px;min-height:40px;overflow:auto;padding:7px 10px;background:#09060f30;border:1px solid var(--line);border-radius:8px;color:#997fab;font-size:10px;scrollbar-width:thin;scrollbar-color:#765b9540 transparent}.deck-list label{display:flex;flex-direction:row;align-items:center;gap:8px;padding:5px 0;font-size:10px;overflow-wrap:anywhere}.deck-list input{width:13px;height:13px;flex-shrink:0;accent-color:#a879e0}.notice{padding:9px 12px;border:1px solid #b18bce35;background:#4a2c5b73;border-radius:9px;font-size:10px;color:#cbb0df;margin-bottom:10px;flex-shrink:0}.notice.error{border-color:#bc648945;background:#56233f55;color:#e0a8be}footer{display:flex;justify-content:space-between;align-items:center;color:#5f4b70;font-size:8px;padding-top:12px;flex-shrink:0}footer>span:first-child{color:#8e70a7;font-weight:550;letter-spacing:.3px}[hidden]{display:none!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#8c68a335;border-radius:8px}::-webkit-scrollbar-track{background:transparent}@media(max-height:760px) and (min-width:901px){.shell{padding:9px}.sidebar{padding-top:18px}.content{padding-top:8px}.heading{margin-bottom:12px}h1{font-size:26px;margin:5px 0 4px}.topbar{height:29px}.panel{padding:13px}.overview-card{min-height:111px}.today-chart{height:139px}.today-middle{min-height:174px}.anki-bottom{height:154px}.anki-middle{min-height:174px}.completion-day{padding:4px 2px}.goal-card{padding:11px 12px}.goal-card .period-label{display:none}.passmed-middle .study-form{gap:10px}.passmed-middle .panel-heading{margin-bottom:9px}.practice-chart{height:119px}.settings-grid .study-form{gap:10px}.deck-list{max-height:150px}footer{padding-top:8px}.goal-card .pace-note{font-size:7px}.goal-card .goal-number{font-size:23px}}@media(max-width:1100px){.sidebar{width:176px;padding-left:10px;padding-right:10px}.content{padding-left:16px;padding-right:16px}.topbar{padding:0 16px}.brand{font-size:14px;gap:9px}.brand-icon{width:38px;height:38px;font-size:14px}nav a{font-size:10px;padding:9px}.goal-card .goal-number small{font-size:8px}.goal-card .badge{font-size:6.5px}.completion-calendar{grid-template-columns:repeat(7,1fr)}.anki-bottom{height:188px}.anki-bottom .completion-day{padding:3px 2px}.anki-bottom .completion-day>small{font-size:8px}.panel-heading h2{font-size:12px}.selection-label{font-size:12px}.badge{font-size:7px}.goal-grid{gap:7px}.stats article{padding:10px 12px}}@media(max-width:900px){html,body{height:auto;min-height:100%;overflow:auto}.shell{min-height:100dvh;height:auto;padding:8px}.sidebar{position:sticky;top:8px;height:calc(100dvh - 16px);width:160px}.brand{font-size:13px}.brand-icon{width:33px;height:33px;font-size:13px}.sidebar>.eyebrow{font-size:7px}nav a{font-size:9px;padding:8px;gap:7px}.content{padding-left:13px;padding-right:8px}.heading{align-items:flex-start}.heading-actions{flex-direction:column}.heading h1{font-size:25px}.intro{font-size:10px}.overview-grid{grid-template-columns:1fr}.overview-card{min-height:109px}.overview-card .panel-heading{margin-bottom:3px}.overview-card .goal-number{font-size:26px}.two-column{grid-template-columns:1fr}.today-middle,.anki-middle{min-height:0;flex:none}.today-middle>.panel{min-height:160px}.today-chart{height:154px}.anki-bottom{height:auto}.anki-bottom>.panel{min-height:180px}.goal-grid,.goal-grid:has(>:nth-child(5)){grid-template-columns:1fr 1fr}.passmed-middle .panel{min-height:335px}.settings-grid{grid-template-columns:1fr}.settings-grid>.panel{overflow:visible}.library{min-height:320px}.stats{grid-template-columns:1fr 1fr}.osce-workflow summary small{display:none}.search{width:160px}.workspace-view{gap:12px}.panel-scroll{max-height:240px}.deck-list{max-height:200px}footer{padding-bottom:5px}.feedback-grid{grid-template-columns:1fr}.anki-bottom .completion-day{padding:7px 2px}}@media(max-width:600px){.shell{display:block;padding:8px}.sidebar{height:auto;position:static;width:100%;padding:12px;border-radius:14px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.brand{font-size:12px;padding:0}.brand br{display:none}.brand strong{margin-left:4px}.brand-icon{height:30px;width:30px;font-size:11px;border-radius:9px}.sidebar>.eyebrow,.sidebar-note,.sidebar-bottom{display:none}nav{display:flex;flex-direction:row;gap:3px;flex:1;justify-content:flex-end;flex-wrap:wrap}nav a{font-size:0;padding:8px;gap:0}nav a>span{font-size:16px;width:18px}.topbar{padding:0 4px;height:33px}.content{padding:8px 4px 0}.heading h1{font-size:25px}.heading .eyebrow{font-size:7px}.heading-actions .button{font-size:8px;padding:7px 10px}.overview-grid{grid-template-columns:1fr}.goal-grid,.goal-grid:has(>:nth-child(5)){gap:8px}.goal-card .badge{font-size:7px}.goal-card .goal-number{font-size:25px}.stats strong{font-size:24px}.section-title{align-items:flex-start;gap:10px}.search{width:150px}.section-title .eyebrow{display:none}.section-title h2{font-size:13px}.station summary{padding:11px;gap:7px}.station-title h3{font-size:11px}.station-meta{flex-direction:column;gap:4px}.completion-calendar{grid-template-columns:repeat(7,1fr)}}@media(prefers-reduced-transparency:reduce){.sidebar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#1a1225}.panel,.stats article,.station{background:#20162b}.topbar{background:#100b18}}@media(prefers-contrast:more){:root{--line:#c5afd05c;--muted:#d2bddf}.helper,.intro,.station-title p,.focus-row span{color:#c4add6}.panel,.stats article{background:#1c1228}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.chart-panel>div[id]{flex:1;min-height:0;display:flex;flex-direction:column}.practice-chart>div[id]{height:calc(100% - 22px);display:flex;flex-direction:column;min-height:0}.chart-panel .chart-scroll{min-height:0}.chart-panel .chart-empty{flex-shrink:0}.today-middle>.panel .quick-log{margin-top:9px}#anki-goal{min-height:0}#anki-goal>.helper{margin-bottom:7px}.settings-grid>.panel>.button{margin-top:auto}

.passmed-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}.passmed-toolbar>div{display:flex;gap:8px;align-items:center}.passmed-toolbar label{font-size:9px;color:var(--muted)}.passmed-toolbar input,.passmed-toolbar select{max-width:180px;padding:7px;font-size:10px}.passmed-toolbar [aria-pressed=true]{background:#70439d66;border-color:#a57ac5}.pm-patterns{display:flex;flex-direction:column;min-height:0;flex:1;gap:10px}.pm-patterns>.helper{margin:0}.pm-insights{min-height:0;flex:1}.pm-insights>.panel{display:flex;flex-direction:column;min-height:0}.pm-topic-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.pm-topic-row strong{font-weight:550}.pm-topic-row small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.pm-topic-row>span{text-align:right;white-space:nowrap}#pm-practice{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1}#pm-practice>.passmed-middle{min-height:0;flex:1}.pm-review-dialog{color:var(--text,#eee);background:#1c1227;border:1px solid #86629f;border-radius:18px;width:min(730px,90vw);max-height:85vh;padding:24px;overflow:auto;box-shadow:0 24px 100px #0008}.pm-review-dialog::backdrop{background:#08050dbb;backdrop-filter:blur(5px)}.pm-review-dialog summary{cursor:pointer;padding:12px 0;color:#c6a9df}.pm-review-dialog details label{display:flex;flex-direction:column;gap:7px;margin:10px 0}.pm-review-dialog textarea{resize:vertical}.pm-review-dialog #pm-review-message{white-space:pre-wrap;color:#cdb5e0}@media(max-width:900px){.passmed-toolbar{align-items:flex-start;flex-direction:column}.pm-insights>.panel{min-height:230px}.pm-patterns{flex:none}.passmed-toolbar input{max-width:150px}}

#pm-topics details{padding:8px 0;border-bottom:1px solid var(--line)}#pm-topics summary,.pm-mistake-group>summary{cursor:pointer;font-size:12px;padding:7px 0;color:#dbc6eb}#pm-topics summary small,#pm-topics .pm-leaf small{display:block;font-size:9px;color:var(--muted);margin:4px 0}.pm-tree-children{padding-left:13px}.pm-leaf{display:block;width:100%;text-align:left;background:#301d4255;border:1px solid var(--line);border-radius:8px;padding:10px;margin:7px 0;color:#d8c1e8}.pm-leaf.selected{border-color:#a77bca;background:#69418c55}#pm-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:0 0 8px;font-size:10px}.pm-learning-card{padding:12px;border:1px solid #a780c12a;border-radius:11px;background:#30203c55;margin:9px 0}.pm-learning-card .panel-heading{margin:0;gap:8px}.pm-learning-card strong{font-size:11px}.pm-learning-card small{display:block;color:var(--muted);font-size:9px;line-height:1.6}.pm-learning-card .badge{display:inline-block;margin-top:7px}.pm-learning-point{white-space:pre-wrap;font-size:12px;line-height:1.65;color:#e0cdec;margin:9px 0}.pm-mistake-group{padding-left:10px;border-left:1px solid #ad88c42c}.pm-mistake-group>summary small{color:var(--muted);font-size:9px;margin-left:6px}.pm-learning-editor{border:1px solid #ae81ce44;border-radius:12px;background:#44295744;padding:14px;display:flex;flex-direction:column;gap:10px}.pm-learning-editor>label{display:flex;flex-direction:column;gap:7px}.pm-learning-editor .completion-row{flex-direction:row;font-size:11px}.pm-learning-editor .completion-row input{width:auto}.pm-learning-editor .helper{line-height:1.6}

.pm-insights{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)}.pm-browse-help{font-size:10px;line-height:1.6;margin:0 0 12px;color:var(--muted)}.pm-browse-option{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;padding:15px 13px;margin:0 0 9px;border:1px solid #a27cbb33;border-radius:11px;background:linear-gradient(135deg,#6b3d8838,#32223d55);color:#e3d1f0;cursor:pointer}.pm-browse-option:hover,.pm-browse-option:focus-visible{background:#74489955;border-color:#bd92df}.pm-browse-option strong{font-size:13px;font-weight:550;display:block}.pm-browse-option small{font-size:10px;color:#bba2cc;display:block;margin-top:6px}.pm-browse-option>span:last-child{font-size:24px;color:#b793ce}.pm-browse-back{color:#c8a7e1;background:none;border:0;font-size:11px;padding:4px 0 13px;cursor:pointer}.pm-selected-topic h3{font-size:17px;color:#e0c8ef}.pm-selected-topic p{font-size:12px;line-height:1.7;color:#b8a1c7}#pm-breadcrumb{justify-content:flex-start;gap:7px;min-height:22px;font-size:11px;padding:0 0 9px}#pm-breadcrumb button{background:transparent;border:0;padding:3px 0;color:#c9a8df;font-size:11px;cursor:pointer}#pm-breadcrumb [aria-current]{color:#eee0f7}.pm-result-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 11px}.pm-result-tools label{display:flex;align-items:center;gap:7px;font-size:10px;color:#bda6ce}.pm-result-tools select{font:11px system-ui;background:#271a33;color:#dac7e7;border:1px solid #88639e55;border-radius:7px;padding:6px}.pm-result-tools button{font-size:10px}.pm-fact-card{padding:0;margin-bottom:15px;border-bottom:1px solid #ae82c52a;padding-bottom:13px}.pm-fact-context{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.pm-fact-context>span{font-size:11px;color:#d1b7e1;font-weight:550}.pm-fact-context button{font-size:10px;border:0;background:none;cursor:pointer;color:#bb9ed1;white-space:nowrap}.pm-green-fact{background:linear-gradient(120deg,#cee8df,#c2ded3);border:1px solid #92c5af;border-left:4px solid #4c9d78;border-radius:9px;padding:13px 16px;color:#113c2b}.pm-fact-label{display:block;font-size:8px;font-weight:700;letter-spacing:1.4px;color:#3c6d57;margin-bottom:5px}.pm-green-fact p{font-size:14px;font-weight:500;line-height:1.6;margin:0;white-space:pre-wrap}.pm-fact-footer{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:9px;color:#a88cbb}.pm-fact-pending{border:1px dashed #a181b44a;border-radius:9px;padding:14px;color:#bca6cd}.pm-fact-pending strong{font-size:12px}.pm-fact-pending p{font-size:11px;line-height:1.6;margin-bottom:0}.pm-awaiting{display:block;margin-top:8px;color:#b6a1c6;font-size:9px}.pm-insights .panel-scroll{min-height:0;flex:1;overflow:auto}@media(max-width:900px){.pm-insights{grid-template-columns:1fr}.pm-insights>.panel{min-height:260px}.pm-green-fact p{font-size:14px}}@media(prefers-reduced-transparency:reduce){.pm-green-fact{background:#cce4d9}}

#pm-breadcrumb{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}

.pm-review-dialog{padding:0;width:min(850px,94vw);max-height:90vh}.pm-reader-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#21162d;padding:13px 18px;border-bottom:1px solid #b18bce38}.pm-reader-header>div{display:flex;gap:7px}.pm-reader-header>span{font-size:11px;color:#bca2cf}.pm-reader-header .button{font-size:11px}.pm-reader-actions{position:sticky;bottom:0;z-index:2;display:flex;justify-content:space-between;gap:10px;padding:12px 20px;background:#21162df5;border-top:1px solid #b18bce38}#pm-reader-body,#pm-review-form{padding:20px 24px}.pm-reader-path{color:#bd9dd5;font-size:11px;line-height:1.6}.pm-reader-section{margin-top:20px}.pm-reader-section h3{font-size:13px;color:#d9bee9}.pm-reader-section p{white-space:pre-wrap;font-size:13px;line-height:1.8;color:#cbb8d7}.pm-reader-header .button:focus-visible,.pm-browse-option:focus-visible{outline:2px solid #d4b0ed;outline-offset:3px}.pm-browse-selected{background:#75539355;border-color:#b894d4}.pm-patterns>.stats article{padding:10px 14px}.pm-patterns>.stats strong{font-size:25px}.pm-insights{grid-template-columns:minmax(210px,.52fr) minmax(0,1.48fr)}.pm-result-tools{flex-wrap:wrap}.pm-review-dialog .study-form>.panel-heading{margin-bottom:0}.pm-review-dialog .pm-reader-actions .button{font-size:11px}@media(max-width:900px){.pm-insights{grid-template-columns:1fr}.pm-reader-header{padding:10px;flex-wrap:wrap}#pm-reader-body,#pm-review-form{padding:16px}}

.pm-reader-source summary{font-size:12px;color:#d3b4e8;cursor:pointer;padding:12px;background:#3c285044;border-radius:8px}.pm-reader-section p{overflow-wrap:anywhere}

.pm-captured-image{display:block;width:100%;height:auto;border-radius:8px;margin-top:12px;background:white}

.pm-analysis{min-height:0;overflow:auto;flex:1;padding-right:4px}.pm-analysis .panel{margin-bottom:12px}.pm-analysis p{font-size:12px;line-height:1.7}.pm-analysis .helper{font-size:10px}.pm-pattern-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pm-pattern-table{width:100%;font-size:11px;text-align:left;border-collapse:collapse}.pm-pattern-table th{color:#b89bca;font-size:9px;font-weight:500}.pm-pattern-table th,.pm-pattern-table td{padding:9px 6px;border-bottom:1px solid var(--line)}@media(max-width:900px){.pm-pattern-grid{grid-template-columns:1fr}}

.ucl-guide{margin-bottom:24px}.ucl-guide select{display:block;width:100%;max-width:620px;margin-top:8px}.ucl-guide p,.practice-brief p{line-height:1.65}.practice-brief{padding:4px 0 18px;border-bottom:1px solid var(--border,#352a43);margin-bottom:18px}

.ucl-guide{flex:0 0 auto;max-height:42%;overflow:auto;margin-bottom:0}.ucl-guide .panel-heading{margin-bottom:4px}.ucl-guide>p{font-size:11px;margin:5px 0}.ucl-guide select{background:#170f22;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.ucl-guide>.reference{margin-top:4px}@media(max-width:900px){.ucl-guide{max-height:none;overflow:visible}}

.today-activity{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.today-review-links{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--accent);font-size:12px}.today-activity .panel-heading{margin-bottom:4px}.today-activity p{margin:6px 0 9px}#passmed-corrections{max-height:100%;overflow:auto}#passmed-corrections[open] summary{margin-bottom:12px}#passmed-corrections summary{color:var(--accent);font-weight:600}

#pm-practice .passmed-middle>.panel:first-child{overflow:auto;min-height:0}#passmed-corrections{flex-shrink:0;max-height:none;overflow:visible}

.station-type-control{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin:8px 0}.station-type-control select{background:#21182e;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 10px;max-width:100%}.station-type-heading{font-size:12px;color:var(--accent);margin:16px 0 8px;display:flex;align-items:center;gap:9px}.station-type-heading:first-child{margin-top:2px}.station-type-heading span{font-size:10px;font-weight:400;color:var(--muted)}

.oc-open{margin-bottom:14px}.oc-related{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.oc-related h4{width:100%}.osce-checklist-dialog{width:min(980px,96vw);height:min(850px,92vh);max-height:92vh;padding:0;border:1px solid var(--line);border-radius:18px;background:#1c1428;color:var(--ink);overflow:hidden}.osce-checklist-dialog[open]{display:flex;flex-direction:column}.osce-checklist-dialog::backdrop{background:#08050dcc;backdrop-filter:blur(4px)}.oc-header,.oc-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;background:#261a34;border-bottom:1px solid var(--line)}.oc-header h2{font-size:20px;margin:5px 0}.oc-body{flex:1;min-height:0;overflow:auto;padding:16px 20px}.oc-sources{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.oc-filter{display:flex;align-items:center;gap:8px;font-size:12px;margin:14px 0}.oc-section h3{color:#d5b3ef;font-size:14px;margin:20px 0 10px}.oc-row{border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:10px 12px 12px;min-width:0;background:#160e21}.oc-row legend{font-size:13px;padding:0 6px;max-width:100%;overflow-wrap:anywhere}.oc-row[data-outcome=missed]{border-color:#a64c70;background:#3c1a2b55}.oc-row[data-outcome=met]{border-color:#638666}.oc-row[data-outcome=partial]{border-color:#9c7c45}.oc-item-number{color:#9981b1}.oc-choices{display:flex;gap:8px;flex-wrap:wrap}.oc-choices label{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#ffffff06;border-radius:7px;font-size:11px;cursor:pointer}.oc-choices input,.oc-filter input{accent-color:#bb8fe9;width:15px;height:15px;margin:0}.oc-notes{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:18px 0}.oc-notes textarea{background:#100a18;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--ink);font:inherit;resize:vertical}.oc-footer{border-top:1px solid var(--line);border-bottom:0;padding:12px 20px;color:#c9b8d9;font-size:11px}.oc-footer>div{display:flex;gap:8px;flex-shrink:0}@media(max-width:600px){.oc-header,.oc-footer{flex-wrap:wrap;padding:12px}.oc-body{padding:12px}.oc-header h2{font-size:17px}.oc-footer>div{width:100%;justify-content:space-between}.oc-choices{gap:4px}.oc-choices label{padding:7px;font-size:10px}}
.gym-map-panel svg{width:100%;max-height:390px}.gym-map-panel svg text{fill:currentColor;font-size:12px}.gym-entry{border:1px solid #ffffff25;border-radius:12px;padding:16px;margin:16px 0;min-width:0}.gym-muscle-choices{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.gym-muscle-choices label{display:flex;align-items:center;gap:5px}.gym-muscle-choices input{width:auto}.gym-table{overflow-x:auto}.gym-table table{width:100%;text-align:left;border-collapse:collapse}.gym-table td,.gym-table th{padding:12px;border-bottom:1px solid #ffffff20}#gym-root>section{margin-top:24px}#gym-root details{margin:14px 0}#gym-groups .badge{margin:3px}
#gym-map [data-muscle]{cursor:pointer;transition:filter .15s,stroke .15s}#gym-map .gym-muscle-active,#gym-map [data-muscle]:focus-visible{stroke:#fff;stroke-width:3;filter:brightness(1.3);outline:none}.gym-muscle-button{cursor:pointer;font:inherit}.gym-muscle-button.gym-muscle-active{outline:2px solid #ee8eb0}.gym-muscle-detail{border:1px solid #ffffff25;border-radius:12px;padding:16px;margin:12px 0;max-height:420px;overflow:auto}.gym-muscle-detail h3{margin:0}.gym-exercise-card{border-top:1px solid #ffffff20;padding:14px 0}.gym-records{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gym-records p{margin:5px 0}.gym-pr{background:#ee8eb018;border-radius:8px;padding:8px}.gym-records small{color:var(--muted,#aba4b6)}

.pm-answer-comparison{padding:16px;border:1px solid #a888c055;border-radius:12px;background:#6d48851a;margin:16px 0}.pm-answer-comparison h3{margin:0 0 12px}.pm-answer-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pm-answer-pair small,.pm-answer-pair strong{display:block}.pm-answer-pair small{color:var(--muted);margin-bottom:4px}.pm-answer-comparison>p{white-space:pre-wrap}@media(max-width:650px){.pm-answer-pair{grid-template-columns:1fr}}

/* Sino identity: the shared mark supplies its own surface. */
.brand .sino-brand-icon{display:block;object-fit:contain;background:none;border:0;box-shadow:none;border-radius:0;flex-shrink:0}

/* Revision session */

.revision-session{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.revision-session .helper{margin:3px 0 0}.revision-session output{font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:1px}.revision-actions{display:flex;gap:8px}.revision-prelude{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #b99ad34d;border-radius:24px;color:var(--ink);background:radial-gradient(ellipse at 50% 10%,#57396e 0,transparent 70%),#21172e;box-shadow:0 24px 100px #0008;overflow:auto}.revision-prelude::backdrop{background:#0c0817d9;backdrop-filter:blur(12px)}.revision-prelude-inner{text-align:center;padding:36px clamp(20px,5vw,48px)}.revision-prelude h2{font-size:28px;line-height:1.25;margin:18px 0 24px}.intention-words{font-size:21px;line-height:1.7;color:#f0e4fb}.intention-prayer{font-size:16px;line-height:1.8;color:#cfb8e0}.revision-prelude .helper{color:#c5b1d2}.revision-prelude .button{margin-top:15px}.revision-prelude #revision-cancel{display:block;margin:24px auto 0;color:#d5c1e1;background:none;border:0}.breath-stage{height:220px;display:grid;place-items:center;contain:layout paint}.breath-orb{width:190px;height:190px;border-radius:50%;transform:scale(.2);background:linear-gradient(35deg,#fff9f2 8%,#e7c5ee 42%,#b394d1 68%,#74528c 100%);box-shadow:0 0 45px #c99de326}.breath-orb.breathing{animation:revision-breathe 10s ease-in-out 1}.breath-cue{font-size:22px;min-height:34px;color:#f1e4fb}.heading-actions{flex-wrap:wrap}@keyframes revision-breathe{0%,100%{transform:scale(.2)}40%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.breath-orb.breathing{animation:none;transform:scale(.7)}}@media(max-width:720px){.revision-session{flex-wrap:wrap}.revision-actions{width:100%}.revision-prelude-inner{padding-top:22px;padding-bottom:22px}.revision-prelude h2{font-size:25px}.intention-words{font-size:18px}.breath-stage{height:180px}.breath-orb{width:160px;height:160px}}

#view-settings{grid-template-rows:auto minmax(0,1fr)}#view-settings>section:first-child{grid-column:1/-1;padding:16px 22px}#view-settings>section:first-child h2{font-size:16px;margin:0}#view-settings>section:first-child p{margin:0}.revision-session{flex-shrink:0}@media(max-width:900px){#view-settings{grid-template-rows:auto}#view-settings>section:first-child{grid-column:auto}}

#view-settings .completion-row{display:flex;flex-direction:row;align-items:center;gap:14px}#intention-enabled{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 40px;width:40px;height:24px;border-radius:20px;border:1px solid #9b79b6;background:#4a3b59;cursor:pointer}#intention-enabled:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#f4eafa}#intention-enabled:checked{background:#8c50ba;border-color:#bc8ddb}#intention-enabled:checked:before{transform:translateX(16px)}#intention-enabled:disabled{opacity:.5}
#gym-root>.two-column{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.gym-interactive{position:relative}#gym-map svg{max-height:540px;width:100%;overflow:visible}#gym-map [data-muscle]{stroke-linejoin:round;transition:filter .15s,stroke .15s}#gym-map .gym-muscle-active{stroke:#ffd7e6;stroke-width:1.7;filter:drop-shadow(0 0 5px #e873a7)}.gym-interactive .gym-muscle-detail{display:none;position:absolute;left:calc(100% + 44px);top:12px;width:min(340px,30vw);max-height:510px;z-index:4;background:#241b30;box-shadow:0 18px 55px #0008;border:1px solid #d98ab366;border-radius:18px;margin:0;padding:20px}.gym-interactive.has-muscle .gym-muscle-detail{display:block}.gym-muscle-detail h4{margin:20px 0 10px}.gym-training-panel{align-self:start}#gym-map svg text{font-size:10px;letter-spacing:1.5px;fill:#bbb0c5}@media(max-width:900px){#gym-root>.two-column{grid-template-columns:1fr}.gym-interactive .gym-muscle-detail{position:relative;left:auto;top:auto;width:auto;max-height:360px;margin:12px 0}}
#gym-root .gym-map-panel{overflow:visible;position:relative;z-index:2}
#gym-map path.gym-muscle-active{fill:#ed84ad;stroke:#ffd8e8;stroke-width:1.4;filter:none}
#gym-map .gym-reference-outline{fill:url(#gym-body);stroke:#b4a3c0;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}#gym-map [data-muscle]{stroke:#ad9bbb;stroke-width:1.8}#gym-map path.gym-muscle-active{fill:#ed84ad;stroke:#ffe2ed;stroke-width:2.2}#gym-map svg{max-height:560px}#gym-map svg text{font-size:18px}
.gym-strength-reference{margin-top:14px;padding:12px;border:1px solid #ae80cc44;border-radius:10px;background:#a079c00a}.gym-strength-reference .eyebrow{font-size:8px;letter-spacing:1.2px;margin:0 0 9px}.gym-strength-reference .text-link{display:inline-block;line-height:1.6}.gym-copy-lift{margin-top:5px}.gym-copy-status textarea{width:100%;box-sizing:border-box;margin-top:8px}

/* Passmed: let content determine card height; omit empty blocks. */
.pm-fact-card{margin-bottom:10px;padding-bottom:10px}.pm-fact-context{margin-bottom:6px;align-items:baseline}.pm-fact-context>span{overflow-wrap:anywhere}.pm-fact-compact .pm-fact-context{margin-bottom:3px}.pm-question-preview{margin:5px 0;color:#c6b5d0;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.pm-fact-footer{margin-top:6px;align-items:baseline}.pm-fact-footer>span:empty{display:none}.pm-fact-footer time{margin-left:auto;white-space:nowrap}.pm-green-fact{padding:10px 13px}.pm-green-fact p{line-height:1.5}.pm-answer-pair{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.pm-editor-extra{border-top:1px solid var(--line);padding-top:10px}.pm-editor-extra>summary{font-size:12px;color:var(--accent);cursor:pointer}.pm-editor-extra[open]>summary{margin-bottom:12px}.pm-editor-extra>label,.pm-editor-extra>.form-pair{margin-top:10px}#pm-review-message:empty{display:none}.pm-reader-section{margin-top:15px}.pm-reader-section h3{margin-bottom:6px}.pm-reader-section p{margin-top:0;line-height:1.65}

/* In-app Sino lockup: a transparent symbol and wordmark on one baseline.
   The native Dock icon retains its charcoal tile. */
.brand{gap:7px;font-size:22px;line-height:1;letter-spacing:-.85px;color:#faf9f7}
.brand strong{font-weight:600;margin-left:0}
.brand .sino-brand-icon{width:24px;height:21px;object-fit:contain}
@media(max-width:1100px){.brand{font-size:21px;gap:7px}}
@media(max-width:600px){.brand{font-size:20px;gap:6px}.brand .sino-brand-icon{width:22px;height:19px}}


.pm-fact-meta,.pm-fact-links{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;font-size:11px}
.pm-fact-links{margin-top:6px}.pm-fact-links .text-link{color:inherit;text-decoration:underline}

button:not(:disabled),
a.button:not([aria-disabled="true"]) {
  transition: filter 80ms ease-out, box-shadow 80ms ease-out;
}
@media (hover: hover) {
  button:not(:disabled):hover,
  a.button:not([aria-disabled="true"]):hover { filter: brightness(1.1); }
}
button:not(:disabled):active,
a.button:not([aria-disabled="true"]):active {
  transition-duration: 0ms;
  filter: brightness(0.9);
  box-shadow: inset 0 2px 5px #0007;
}

/* Revision home and library */
.sidebar .brand{margin-bottom:24px}
.heading .eyebrow:empty,.heading .intro:empty,.connection:not(.offline){display:none}
.content:has(#view-osce:not([hidden]),#view-gym:not([hidden]),#view-settings:not([hidden])) .heading-actions>:not(#refresh){display:none}
#view-today{overflow:auto}
.today-suggestion,.today-rows .overview-card{display:flex;align-items:center;justify-content:space-between;gap:14px}
.today-suggestion{padding:18px;border-radius:12px;background:#302141;border:1px solid var(--line)}
.today-suggestion h2,.today-rows h2{margin:0;font-size:16px}
.today-suggestion p,.today-rows p{margin:3px 0 0}
.today-rows .overview-card{padding:15px 4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.today-sync,.station-help,.settings-backup{color:var(--muted);font-size:12px;padding:8px 4px}
.today-sync summary,.station-help summary,.settings-backup summary{cursor:pointer}
.station-help[open]{max-height:35%;overflow:auto}
.settings-backup{grid-column:1/-1}
.settings-backup>div{display:flex;gap:15px;margin-top:8px}
#view-osce .library{background:none;border:0;padding:0;gap:8px}
#library-title{margin:0;font-size:17px}
.station-search-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.station-search-tools label{display:flex;align-items:center;gap:6px;font-size:12px}
.station-search-tools .search{flex:1;min-width:min(200px,100%)}
#station-controls .filters{margin:8px 0 0}
#station-controls .helper{margin:4px 0}
#clear-station-filters{margin-left:auto}
#stations:has(.station[open]):not(:has(.station:nth-of-type(2))) .station-preview{font-size:14px}
#pm-analysis #pm-stats{margin:10px 0}
.pm-browse-option{min-height:0;padding:7px 10px}
.pm-browse-option small,.pm-browse-help{display:none}
@media(max-width:640px){
  .today-suggestion{flex-wrap:wrap}
  .station-search-tools .search{flex-basis:100%}
}
.anki-today{padding:9px 14px}
.anki-today .completion-row{padding:3px 0}
#view-anki .anki-middle{min-height:164px}
.today-rows .overview-card{min-height:0;background:none}
.today-rows .overview-card .helper{font-size:12px;margin:3px 0 0}
.today-rows .overview-card .text-link{font-size:12px;margin:0}

/* Today: summary bubbles, daily ring and calendar */
#view-today{gap:14px;padding:0 5px 8px 0}
#view-today .overview-grid{flex:none}
#view-today .overview-card h2{font-size:14px;margin:0 0 5px}
#view-today .overview-card .helper,#view-today .overview-card .text-link{font-size:12px}
#view-today .overview-card .goal-progress{margin:6px 0 12px}
.daily-ring,.ring-history{flex:none;border-top:1px solid var(--line);padding-top:18px}
.daily-ring h2,.ring-history h2{font-size:17px;margin:0 0 12px}
.daily-ring-layout{display:grid;grid-template-columns:156px minmax(0,390px);gap:28px;align-items:center}
#daily-ring-visual svg,.ring-day svg{display:block;width:100%;height:auto}
.ring-track{stroke:#514260}
.ring-anki{--ring-color:#c29cf2}
.ring-passmed{--ring-color:#f38cb5}
.ring-osce{--ring-color:#8bb8ff}
.ring-gym{--ring-color:#82d8ac}
.ring-segment{stroke:var(--ring-color);transition:stroke-dasharray .35s ease,opacity .18s ease}
#daily-ring-visual text{fill:var(--ink);text-anchor:middle}
#daily-ring-visual .ring-count{font-size:20px;font-weight:650}
#daily-ring-visual .ring-caption{font-size:10px;fill:var(--muted)}
.daily-ring-goals{display:grid;gap:12px}
.daily-ring-goal{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;font-size:13px}
.daily-ring-goal label{display:flex;gap:8px;align-items:center;font-weight:600;cursor:pointer}
.daily-ring-goal label input{width:16px;height:16px;margin:0;accent-color:var(--ring-color)}
.daily-ring-goal .helper{margin:0;font-size:12px;text-align:right}
.daily-ring-goal progress{appearance:none;grid-column:1/-1;width:100%;height:6px;border:0;border-radius:5px;overflow:hidden;background:#514260}
.daily-ring-goal progress::-webkit-progress-bar{background:#514260}
.daily-ring-goal progress::-webkit-progress-value{background:var(--ring-color);border-radius:5px;transition:width .3s ease}
.daily-ring-goal progress::-moz-progress-bar{background:var(--ring-color);border-radius:5px}
#ring-save-status{min-height:1em;margin:5px 0 0}
.ring-month,.ring-calendar,.ring-history-detail{max-width:560px}
.ring-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ring-month .button{min-width:36px}
.ring-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.ring-calendar>.helper{font-size:11px}
.ring-day{display:grid;align-content:center;justify-items:center;gap:3px;min-height:51px;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:9px;font:inherit;font-size:12px}
button.ring-day{cursor:pointer}
button.ring-day:hover,button.ring-day[aria-pressed=true]{border-color:var(--accent);background:#342447}
.ring-day[aria-current=date]>span{color:var(--accent);font-weight:700}
.ring-day svg{width:29px}
.ring-future{color:var(--muted);opacity:.55}
.ring-history-detail{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.ring-history-detail ul{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;list-style:none;font-size:12px}
.ring-history-detail li{display:flex;gap:8px;justify-content:space-between}
.ring-history-detail li span{color:var(--muted)}
@media(max-width:680px){.daily-ring-layout{grid-template-columns:minmax(84px,120px) minmax(0,1fr);gap:12px}.ring-history-detail ul{grid-template-columns:1fr}}
@media(max-width:450px){.daily-ring-layout{grid-template-columns:1fr}#daily-ring-visual{width:120px;justify-self:center}}
@media(prefers-reduced-motion:reduce){.ring-segment,.daily-ring-goal progress::-webkit-progress-value{transition:none}}

/* Give the ring and calendar equal visual weight on a full-size desktop. */
.today-ring-grid{display:grid;gap:16px;flex:none}
.today-ring-grid>section{
  min-width:0;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(145deg,#231930b3,#191223c9);
}
.today-ring-grid h2{margin-bottom:8px}
.today-ring-grid .ring-month,.today-ring-grid .ring-calendar,.today-ring-grid .ring-history-detail{max-width:none}
.today-ring-grid .ring-month{margin:0 0 5px}
.today-ring-grid .ring-history-detail li span{text-align:right}
.today-ring-grid .ring-day{min-height:43px}
.today-ring-grid .ring-day svg{width:26px}
.today-ring-grid .ring-future{opacity:.4}
#view-today .overview-card{padding:12px 16px;min-height:0}
#view-today .overview-card .goal-progress{align-self:flex-start;width:min(100%,185px);height:auto;aspect-ratio:600/18}
@media(min-width:1100px){
  .today-ring-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:18px;flex:1 0 auto}
  .today-ring-grid>section{display:flex;flex-direction:column}
  .today-ring-grid .daily-ring-layout{
    flex:1 0 auto;
    grid-template-columns:minmax(120px,clamp(164px,21vh,220px)) minmax(0,1fr);
    gap:clamp(14px,1.7vw,28px);
    align-items:center;
  }
  .today-ring-grid .daily-ring-goals{gap:18px}
  .today-ring-grid .daily-ring-goal{font-size:14px}
  .today-ring-grid .ring-calendar{flex:1 0 auto;grid-template-rows:auto;grid-auto-rows:1fr;gap:2px 5px}
  .today-ring-grid .ring-day{min-height:30px;padding:2px;display:flex;align-items:center;justify-content:center;gap:4px}
  .today-ring-grid .ring-day svg{width:19px}
  .today-ring-grid .ring-history-detail{margin-top:6px;padding-top:6px}
  .today-ring-grid .ring-history-detail ul{margin:4px 0 0}
}
@media(max-width:620px){
  .today-ring-grid>section{padding:14px}
  .today-ring-grid .ring-history-detail ul{grid-template-columns:1fr}
}

/* Gym workspace */
.gym-top,.gym-line,.gym-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gym-top{margin-bottom:14px}
.gym-top .gym-actions{justify-content:flex-end}
#gym-root .gym-top details{margin:0}
.gym-top summary,.gym-history summary{cursor:pointer}
.gym-overview{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:16px;align-items:start}
.gym-side{display:grid;gap:16px;min-width:0}
#gym-root .gym-overview .panel,.gym-history{padding:18px}
.gym-side h2,.gym-history h2,.gym-map-panel h2{margin:0;font-size:16px}
.gym-selected{min-height:115px}
#gym-muscle-detail{overflow:auto;max-height:430px;padding:1px 4px 0 0;scrollbar-width:thin}
#gym-muscle-detail h3{font-size:13px}
#gym-root #gym-map svg{max-height:460px;display:block}
.gym-line{padding:9px 0;border-bottom:1px solid var(--line);min-width:0}
.gym-line:last-child{border-bottom:0}
.gym-line p,.gym-records p{margin:3px 0}
.gym-line span,.gym-line small{color:var(--muted);overflow-wrap:anywhere}
.gym-exercise-link{font:inherit;text-align:left;overflow-wrap:anywhere}
.gym-history input[type=search]{width:min(100%,350px);margin:8px 0}
.gym-history [aria-pressed=true]{background:#48325f;color:var(--ink)}
#gym-dialog{width:min(650px,92vw);max-height:88vh;overflow:auto;padding:20px;color:var(--ink);background:#21182e;border:1px solid #634c78;border-radius:14px}
#gym-dialog::backdrop{background:#09060db0}
#gym-dialog h2{margin:0}
#gym-dialog .gym-entry{margin:10px 0;padding:10px 12px}
#gym-dialog legend{font-weight:600;overflow-wrap:anywhere}
#gym-dialog details{margin:8px 0}
.gym-set{display:grid;grid-template-columns:22px minmax(62px,1.2fr) minmax(42px,1fr) minmax(42px,1fr) 25px;gap:7px;align-items:center;margin:5px 0}
.gym-set input{width:100%;min-width:0}
.gym-set-head,.gym-set small{color:var(--muted)}
@media(max-width:980px){.gym-overview{grid-template-columns:1fr}#gym-root #gym-map svg{max-height:390px}}

/* Anki: due first, with one review history chart */
#view-anki{gap:15px;overflow:auto;padding-bottom:12px}
.anki-summary{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;flex:none}
.anki-summary .panel,.anki-history-panel,.anki-deck-details{padding:clamp(15px,1.5vw,24px)}
.anki-due-panel{background:linear-gradient(135deg,#332448,#21182c)}
.anki-summary h2,.anki-history-panel h2{font-size:16px;margin:0}
.anki-metric{margin:6px 0 9px;font-variant-numeric:tabular-nums}
.anki-metric strong{font-size:clamp(28px,3vw,44px);line-height:1.08;letter-spacing:-.045em}
.anki-metric span{color:var(--muted);font-size:13px;margin-left:5px}
.anki-due-foot,.anki-history-foot{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.anki-due-foot strong:empty,.anki-due-foot .helper:empty{display:none}
.anki-due-foot .helper,.anki-activity-panel .helper{margin:3px 0}
#anki-due-progress{appearance:none;display:block;width:100%;height:7px;margin:1px 0 8px;border:0;border-radius:8px;overflow:hidden;background:#574167;accent-color:#b48add}
#anki-due-progress[hidden]{display:none}
#anki-due-progress::-webkit-progress-bar{background:#574167}
#anki-due-progress::-webkit-progress-value{background:#b48add;border-radius:8px}
#anki-due-progress::-moz-progress-bar{background:#b48add;border-radius:8px}
.anki-due-panel .completion-row{padding:7px 0 0}
.anki-due-panel .completion-row[hidden]{display:none}
.anki-history-panel{flex:none}
.anki-history-chart{--anki-chart-height:clamp(88px,16vh,174px);display:grid;grid-template-columns:39px minmax(0,1fr);margin:10px 0 8px}
.anki-axis{display:flex;flex-direction:column;justify-content:space-between;padding:0 5px 19px 0;color:var(--muted);font-size:11px;text-align:right}
.anki-history-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:3px}
.anki-day{display:grid;justify-items:center;min-width:0;padding:0;border:0;border-radius:6px;color:var(--muted);background:transparent;font:inherit;cursor:pointer}
.anki-day:hover,.anki-day[aria-pressed=true]{color:var(--ink);background:#b58fe71a}
.anki-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.anki-bar-slot{display:flex;justify-content:center;align-items:end;width:100%;height:var(--anki-chart-height);border-block:1px solid var(--line)}
.anki-bar-slot>span{display:block;width:min(57%,34px);height:calc(var(--bar-fraction) * (var(--anki-chart-height) - 2px));min-height:2px;border-radius:4px 4px 0 0;background:#9c71c6}
.anki-day[aria-pressed=true] .anki-bar-slot>span{background:#d5a9fa}
.anki-day.anki-day-missing .anki-bar-slot>span,.anki-no-data-key{height:5px;background:none;border:1px dashed var(--muted)}
.anki-day small{padding:4px 0;font-size:11px}
.anki-no-data-key{display:inline-block;width:12px;margin-right:4px;vertical-align:middle}
.anki-history-foot{border-top:1px solid var(--line);padding-top:8px}
#anki-history-detail{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap}
.anki-history-foot .helper{margin:0}
.anki-deck-details{display:block;flex:none;padding-block:12px}
.anki-deck-details summary{cursor:pointer}
.anki-deck-details summary .helper{float:right;margin:0 0 0 8px}
.anki-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:12px}
.anki-detail-grid h3{margin:0;font-size:13px}
@media(max-width:780px){.anki-summary,.anki-detail-grid{grid-template-columns:1fr}.anki-history-chart{grid-template-columns:31px minmax(0,1fr)}.anki-history-bars{gap:1px}}

@media(max-height:780px){
  #view-anki{gap:10px}
  .anki-summary .panel,.anki-history-panel{padding:12px 15px}
  .anki-summary .panel-heading,.anki-history-panel .panel-heading{margin-bottom:6px}
  .anki-metric{margin:3px 0 7px}
  .anki-metric strong{font-size:30px}
  .anki-history-chart{--anki-chart-height:86px;margin:5px 0 4px}
  .anki-deck-details{padding-block:8px}
}

/* Gym keeps the week, routines and map together on desktop. */
#view-gym{overflow:auto;padding-bottom:12px;scrollbar-gutter:stable}
#gym-root{--gym-zero:#3d384d;--gym-light:#625397;--gym-medium:#9180cf;--gym-high:#d1b5ff;--gym-map-bg:#232039;--gym-map-outline:#b2a5cb;--gym-map-selection:#f9f0ff}
#gym-root .gym-week{margin:0 0 12px;padding:10px 14px}
.gym-week .panel-heading{margin:0}
.gym-week h2{font-size:14px;margin:0}
#gym-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:1120px;margin:4px auto 0;gap:4px}
.gym-week-day{display:grid;justify-items:center;gap:3px;border:1px solid transparent;border-radius:7px;background:none;color:var(--ink);font:inherit;font-size:11px;padding:3px 0;min-width:0;cursor:pointer}
.gym-week-day:hover{background:#bda2e719}
.gym-week-day[aria-current=date]{border-color:#a38db45e}
.gym-week-day small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.gym-week-ring{display:grid;place-items:center;width:25px;height:25px;border:3px solid #51425d;border-radius:50%}
.gym-week-ring.is-complete{border-color:#83d9ae;color:#a0eac4;font-weight:700}
#gym-root .gym-top{margin-bottom:10px}
#gym-root .gym-overview{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px}
#gym-root .gym-side{gap:10px}
#gym-root .gym-overview .panel{padding:12px 15px}
#gym-root #gym-map{background:#26222d;border-radius:9px;width:min(100%,600px);margin:0 auto;padding:5px 8px}
#gym-root #gym-map svg{height:clamp(250px,calc(100vh - 405px),540px);max-height:none}
#gym-map [data-level="0"],.gym-map-key [data-level="0"]{--gym-shade:var(--gym-zero)}
#gym-map [data-level="1"],.gym-map-key [data-level="1"]{--gym-shade:var(--gym-light)}
#gym-map [data-level="2"],.gym-map-key [data-level="2"]{--gym-shade:var(--gym-medium)}
#gym-map [data-level="3"],.gym-map-key [data-level="3"]{--gym-shade:var(--gym-high)}
#gym-root #gym-map path[data-muscle]{fill:var(--gym-shade);stroke:var(--gym-map-outline);stroke-width:1.4;filter:none}
#gym-root #gym-map path:is(.gym-muscle-active,:focus-visible){stroke:var(--gym-map-selection);stroke-width:3}
.gym-map-key,.gym-muscle-picker{display:flex;justify-content:center;align-items:center;gap:5px 9px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:7px}
.gym-map-key i{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--gym-shade)}
.gym-muscle-picker select{max-width:100%}
#gym-root #gym-muscle-detail{overflow:visible;max-height:none;padding:0}
#gym-root .gym-selected{min-height:0}
#gym-root .gym-selected .panel-heading{margin-bottom:4px}
#gym-root .gym-selected .gym-exercise-card{padding:5px 0}
.gym-selected .gym-exercise-card .helper{margin:2px 0}
.gym-records{gap:5px 9px}
.gym-routines-panel .gym-line{padding:4px 0}
.gym-routines-panel .gym-line .helper{margin:0}
.gym-routines-panel .gym-actions{flex-wrap:nowrap;gap:5px}
.gym-routines-panel .button{padding:5px 8px}
#gym-history-search{width:100%;margin:8px 0}
.gym-history-tabs{justify-content:flex-start}
.gym-history-tabs [aria-pressed=true]{background:#48325f;color:var(--ink)}
#gym-message:empty{display:none}
@media(min-width:1000px) and (max-height:820px){
  #gym-root .gym-overview .panel{padding:9px 12px}
}
@media(max-width:980px){#gym-root .gym-overview{grid-template-columns:1fr}}

#gym-root[data-palette]:not([data-palette=iris]):not([data-palette=gold]){--gym-zero:#393641;--gym-map-bg:#26222d;--gym-map-outline:#a499af;--gym-map-selection:#f5effc}
#gym-root[data-palette=gold]{--gym-zero:#413c30;--gym-light:#776128;--gym-medium:#bb953c;--gym-high:#f7dc86;--gym-map-bg:#29251b;--gym-map-outline:#beb098;--gym-map-selection:#fff9e9}
#gym-root[data-palette=orchid]{--gym-light:#784597;--gym-medium:#bd62db;--gym-high:#f0a4f4}
#gym-root[data-palette=coral]{--gym-light:#8d475f;--gym-medium:#ce687d;--gym-high:#ffad98}
#gym-root[data-palette=teal]{--gym-light:#376c71;--gym-medium:#49abac;--gym-high:#9aead4}
.gym-map-controls{display:flex;justify-content:center;align-items:center;gap:4px 18px;flex-wrap:wrap}
#gym-root #gym-map{background:var(--gym-map-bg)}
#gym-root #gym-map path[data-muscle]{transition:fill .18s ease,stroke .15s ease}
@media(prefers-reduced-motion:reduce){#gym-root #gym-map path[data-muscle]{transition:none}}

#gym-root #gym-map .gym-reference-outline{fill:var(--gym-map-bg);stroke:var(--gym-map-outline)}

.today-focus-summary{display:flex;align-items:baseline;gap:6px 18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:10px 4px 2px;color:var(--muted);font-size:13px;flex:none}
.today-focus-summary h2{font-size:13px;color:var(--ink);margin:0}

.revision-top-bar.panel{padding:0;margin-bottom:12px;flex-shrink:0;container-type:inline-size}
.revision-top-bar:not(:has(.revision-top-row > :not([hidden]))){display:none}
.revision-top-row{display:grid;grid-template-columns:minmax(0,1fr)}
.revision-top-row:has(> #today-exam-countdown:not([hidden])):has(> .revision-session:not([hidden])){grid-template-columns:minmax(0,1fr) auto}
.revision-top-row #today-exam-countdown{padding:11px 16px;min-width:0;display:flex;align-items:center;gap:7px 22px}
.revision-top-row #today-exam-countdown[hidden]{display:none}
#today-exam-countdown [data-exam-countdown]{display:block;font-size:clamp(30px,5cqi,48px);line-height:1.05;font-weight:750;color:#f3effb;margin:3px 0 5px}
.exam-countdown-details{display:grid;gap:3px;justify-items:start}
.revision-top-row .revision-session{justify-self:end;margin:0;padding:14px 18px;gap:8px 12px;max-width:100%;align-content:center;flex-wrap:wrap}
#today-exam-countdown:not([hidden]) + .revision-session{border-inline-start:1px solid var(--line)}
.revision-top-row .revision-session output{font-size:24px}
.revision-top-row .revision-actions{width:auto;flex-wrap:wrap}
@container (max-width:620px){
  .revision-top-row:has(> #today-exam-countdown:not([hidden])):has(> .revision-session:not([hidden])){grid-template-columns:minmax(0,1fr)}
  #today-exam-countdown:not([hidden]) + .revision-session{border-inline-start:0;border-top:1px solid var(--line);justify-self:stretch}
}
.exam-countdown{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px}
.passmed-exam-plan.panel{padding:12px 14px}
.exam-countdown h2{font-size:14px;margin:0}
.exam-countdown strong{font-size:23px;line-height:1.15;font-variant-numeric:tabular-nums}
.exam-countdown p{margin:3px 0 0}
.exam-dates span{padding:0 4px}
.passmed-exam-plan{margin-bottom:12px}
#pm-pacing{flex-shrink:0}
#pm-focus-budget{font-size:20px;font-weight:650;margin:8px 0 0}
#pm-focus-detail{margin:5px 0 0}
.passmed-toolbar,.passmed-toolbar>div{flex-wrap:wrap}
#pm-pacing-target{font-size:clamp(24px,4vw,38px);font-weight:750;line-height:1.15;margin:5px 0}
.pm-pacing-phase{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,140px) minmax(75px,auto);gap:12px;align-items:center;border-top:1px solid var(--line);padding:8px 0}
.pm-pacing-phase label{display:grid;gap:3px;font-size:11px;color:var(--muted)}
.pm-pacing-phase input{width:100%;min-width:0}
.pm-pacing-phase p{margin:2px 0 0}
@media(max-width:500px){.pm-pacing-phase{grid-template-columns:1fr 1fr}.pm-pacing-phase [data-phase-target]{grid-column:1/-1}}

.passmed-exam-plan{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px}
.passmed-exam-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:12px}
.passmed-exam-summary strong{color:var(--ink)}
.pm-pacing-time{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
.pm-pacing-phase{padding-inline:9px}
.pm-active-phase{background:#a87cf519;border-radius:8px}
.pm-pacing-phase [data-phase-target]{text-align:right;color:var(--accent)}
#pm-pacing-phases{margin:6px 0 10px}
#pm-focus-budget{font-size:14px}

.osce-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  margin-bottom: 24px;
}
.osce-overview[hidden] { display: none; }
.osce-overview .panel { padding: 16px; }
.osce-overview h2 { margin: 0; font-size: 16px; }
.osce-overview summary { cursor: pointer; }
.osce-overview summary h2 { display: inline; }
.osce-overview summary .badge { float: right; margin-left: 8px; }
.osce-overview summary small { display: block; color: var(--muted); margin-left: 16px; }
.osce-overview summary strong { overflow-wrap: anywhere; }
.osce-priorities > .helper { margin: 5px 0 12px; }
.osce-empty { color: var(--muted); margin: 8px 0 0; }
.osce-priority-list { margin: 0; padding-left: 22px; }
.osce-priority-list > li, .previous-session {
  border-top: 1px solid var(--line);
  padding-block: 9px;
}
.osce-priority-list ul { padding-left: 16px; }
.osce-priority-list ul li + li { margin-top: 8px; }
#previous-session-count { margin-left: 8px; }
#previous-session-list { margin-top: 10px; }
.osce-rating-filters { margin-top: 10px; color: var(--muted); }
.osce-rating-filters summary { cursor: pointer; }
#view-osce .station-type-heading { margin-top: 16px; }
#view-osce .station-title h3 { line-height: 1.35; }
@media (max-width: 950px) {
  .osce-overview { grid-template-columns: minmax(0, 1fr); }
}
#previous-session-list, #osce-priority-list {
  max-height: clamp(78px, 16vh, 180px);
  overflow: auto;
  scrollbar-width: thin;
}

.clinical-cards{width:min(650px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:22px}
.clinical-cards label,.clinical-cards textarea{display:block;width:100%}
.clinical-cards textarea{margin-top:6px}
.clinical-cards img{display:block;max-width:100%;max-height:40vh;object-fit:contain;margin:0 auto}
.clinical-audio-status{display:block;margin-top:6px}
.clinical-cards details{margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:10px}
.clinical-cards details a{margin-right:12px}
.clinical-cards summary{cursor:pointer;font-weight:650}
.clinical-actions{display:flex;justify-content:space-between;gap:8px}
.oc-header-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}

.osce-begin { margin-top: 16px; }
#osce-sheet-drop { padding: 18px; border: 1px dashed var(--accent); border-radius: 10px; }
#osce-sheet-drop strong { font-size: 15px; }
.osce-sheet-focus { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.osce-sheet-focus h3 { margin: 0; }
.osce-sheet-confidence { min-width: 0; border: 0; padding: 0; margin: 0; }
.attempt .student-feedback { white-space: pre-wrap; }

.osce-section-switch { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }
.osce-section-panel { min-height: 0; min-width: 0; flex: 1; overflow: auto; scrollbar-width: thin; }
#view-osce .library { min-height: auto; }
#view-osce #stations { flex: none; overflow: visible; }
#view-osce .station-help[open] { max-height: none; }
#osce-practice-panel > .panel { margin: 0 0 12px; }
#osce-practice-panel input, #osce-practice-panel select, #osce-practice-panel textarea { max-width: 100%; min-width: 0; }
#view-osce .station-search-tools label { min-width: 0; max-width: 100%; }
#view-osce .station-search-tools select { min-width: 0; max-width: 100%; }
#osce-sheet-files { overflow-wrap: anywhere; }

#osce-sheet-review .oc-choices label { display: flex; }
#osce-sheet-review .oc-choices input { width: 15px; padding: 0; }
.osce-criterion-edit { margin-top: 9px; color: var(--muted); font-size: 11px; }
.osce-criterion-edit summary { cursor: pointer; }
.osce-criterion-edit textarea { width: 100%; margin-top: 6px; }
.osce-confidence-options { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 6px; }
#osce-sheet-review .osce-confidence-options label {
  display: flex; flex: 1 1 95px; align-items: center; gap: 7px; padding: 8px;
  border: 1px solid var(--line); border-radius: 8px; cursor: pointer;
}
.osce-confidence-options label[data-rating="red"] { --rating-colour: #eca4ae; --rating-fill: #452435; }
.osce-confidence-options label[data-rating="yellow"] { --rating-colour: #e5c681; --rating-fill: #423426; }
.osce-confidence-options label[data-rating="green"] { --rating-colour: #a9d3af; --rating-fill: #243a34; }
#osce-sheet-review .osce-confidence-options label:has(input:checked) { border-color: var(--rating-colour); background: var(--rating-fill); }
#osce-sheet-review .osce-confidence-options input { width: 14px; height: 14px; margin: 0; padding: 0; accent-color: var(--rating-colour); }
.osce-confidence-options label > span { color: var(--rating-colour); font-weight: 650; }
#osce-sheet-review .osce-confidence-options small { display: block; float: none; color: var(--muted); font-weight: 400; }
.previous-session-search { margin-top: 10px; }
#previous-session-list { max-height: clamp(138px, 24vh, 250px); }
button.previous-session {
  width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center;
  gap: 9px; text-align: left; padding: 9px 6px; border: 0; border-top: 1px solid var(--line);
  color: var(--ink); background: transparent; cursor: pointer;
}
button.previous-session:hover { background: #ffffff08; }
button.previous-session strong { overflow-wrap: anywhere; }
button.previous-session small { display: block; margin-top: 2px; color: var(--muted); }
.session-chevron { color: var(--accent); font-size: 18px; }
.osce-session-close { font-size: 20px; line-height: 1; }
#osce-session-body .attempt { margin: 0 0 12px; }
#osce-session-body .criteria { overflow-wrap: anywhere; }

#osce-history-panel > .panel + .panel { margin-top: 12px; }
.osce-history-heading { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 10px; }
.osce-history-heading h2 { display: inline; }
.osce-history-heading .previous-session-search { margin: 0; }
#osce-history-panel #previous-session-list { max-height: none; overflow: visible; }
#osce-history-panel .osce-priorities summary { cursor: pointer; }
#osce-session-dialog { width: min(760px, calc(100vw - 28px)); height: auto; max-height: 88vh; }
#osce-session-body { padding: 16px 20px 20px; }
#osce-session-body .osce-attempt-review { border: 0; padding: 0; }
.osce-attempt-review { overflow-wrap: anywhere; }
.osce-attempt-review .attempt-top { align-items: center; gap: 9px; }
.attempt-revisit { color: var(--accent); }
.osce-attempt-review h4, .osce-attempt-review h5 { margin: 0 0 5px; font-size: 13px; }
.osce-attempt-feedback { margin: 14px 0; }
.osce-attempt-feedback p { margin: 0; white-space: pre-wrap; }
.osce-attempt-focus { margin: 12px 0; }
.osce-attempt-focus > div { padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; }
.osce-attempt-focus ul { margin: 5px 0 0; padding-inline-start: 18px; }
.osce-reported-checklist { margin-top: 14px; }
.osce-reported-checklist ul { list-style: none; padding: 0; margin: 0; }
.osce-reported-checklist li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.osce-reported-checklist li strong { font-weight: 550; }
.osce-reported-checklist li p { margin: 3px 0 0; color: var(--muted); }
.osce-reported-checklist .badge { flex: none; }
.osce-attempt-source { margin-top: 12px; }

.station-category-back { align-self: flex-start; margin-bottom: 8px; }
.station-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1.1vw, 18px);
  margin: 8px 0 14px;
  --category-height: clamp(100px, calc(31vh - 68px), 250px);
}
.station-category-grid:is([data-count="3"], [data-count="5"], [data-count="6"], [data-count="9"]) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.station-category-grid[data-count="9"] {
  --category-height: clamp(92px, calc(25vh - 65px), 200px);
}
.station-category-grid:is([data-count="1"], [data-count="2"]) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
.station-category {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto;
  align-items: start;
  gap: 7px 10px;
  min-height: var(--category-height);
  padding: clamp(12px, 1.5vw, 24px);
  text-align: left;
  color: var(--ink);
  background: linear-gradient(145deg, #2e1e40, #181020);
  border: 1px solid #a27ac23d;
  border-radius: 14px;
  cursor: pointer;
}
.station-category:hover { border-color: #ac81dd; background: linear-gradient(145deg, #3a2651, #20152d); }
.station-category:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; }
.station-category-name {
  grid-column: 1 / -1;
  align-self: center;
  font-size: clamp(15px, 1.45vw, 24px);
  line-height: 1.16;
  font-weight: 650;
  overflow-wrap: anywhere;
}
.station-category-arrow { color: var(--accent); font-size: 22px; line-height: 1; }
.station-category-count { color: var(--accent); font-size: 12px; }
.station-category-progress { grid-column: 1 / -1; display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.station-category-progress progress {
  width: 100%;
  height: 4px;
  appearance: none;
}
.station-category-progress progress::-webkit-progress-bar { background: #ffffff15; border-radius: 10px; }
.station-category-progress progress::-webkit-progress-value { background: #ac82e8; border-radius: 10px; }
@media (max-width: 950px) {
  .station-category-grid.station-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .station-category-grid.station-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


.settings-downloads{grid-column:1/-1}.extension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.extension-card{min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#09060f30}.extension-card h3{font-size:12px;margin:0 0 8px}.extension-card .button{white-space:normal;text-align:center}.extension-card .helper{font-size:9px;line-height:1.55;margin:9px 0 0}.extension-card code{font-size:.92em;color:#d2b7f0}@media(max-width:600px){.extension-grid{grid-template-columns:1fr}}

#view-settings{grid-template-rows:none;grid-auto-rows:max-content;align-content:start;overflow-y:auto;min-height:0;padding-right:4px}#view-settings>section:first-child{grid-column:auto;padding:16px}#view-settings>.settings-companion,#view-settings>.settings-downloads,#view-settings>.settings-backup{grid-column:1/-1}#view-settings>.panel{overflow:visible;min-height:auto}@media(max-width:900px){#view-settings{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:max-content;overflow:visible;padding-right:0}#view-settings>section:first-child{grid-column:1;padding:16px}#view-settings>.settings-companion,#view-settings>.settings-downloads,#view-settings>.settings-backup{grid-column:1}}
