.swipe-card{touch-action:pan-y;cursor:grab;transition:transform .18s ease,opacity .18s ease}.swipe-card.is-dragging{cursor:grabbing;transition:none;user-select:none}.swipe-card img{user-select:none;-webkit-user-drag:none}.swipe-card:focus-visible{outline:3px solid #657d43;outline-offset:-3px}.home-shortcuts{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;height:44px}.home-shortcuts>a{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px;background:#fff}.home-shortcuts>a:last-child{background:#e9eddb}.compact-actionbar.with-comparison{grid-template-columns:.65fr .65fr 1fr 1.25fr;gap:5px}.compact-actionbar.with-comparison>button{font-size:12px;padding:5px;white-space:nowrap}.compact-actionbar.with-comparison .ui-icon{display:none}.comparison-intro{font-size:13px;line-height:1.7}.compare-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#edf0e7;padding:5px;border-radius:12px}.compare-switch button{min-height:44px;border:0;border-radius:8px;background:transparent;font-weight:650}.compare-switch button[aria-pressed=true]{background:var(--green);color:#fff}#comparisonLabel{font-size:12px;font-weight:700;margin:12px 0 8px}.comparison-stage{border:1px solid var(--line);border-radius:12px;overflow:auto;background:#f4f5ef;padding:12px;max-height:42dvh}.comparison-stage .sample-card{margin:auto;max-width:440px}.comparison-changes{margin-top:18px}.comparison-changes h3{font-size:16px}.comparison-changes p{display:grid;grid-template-columns:100px 1fr;gap:8px;font-size:12px;border-top:1px solid var(--line);padding:8px 0;margin:0}.comparison-changes strong{color:var(--green)}.workbench-top #compareMission{font-size:12px;min-height:44px;padding:8px}.challenge-entry{display:flex;justify-content:space-between;gap:16px;padding:20px;background:#e9eddb;border:1px solid #ccd6b7;border-radius:14px;margin:20px 0}.challenge-shell{display:grid;grid-template-rows:60px 32px minmax(0,1fr);gap:8px;min-height:640px;height:calc(100dvh - 110px);max-height:1000px}.challenge-shell #challengeBody{min-height:0;outline:0}.challenge-step{font-size:12px;display:flex;align-items:center;color:var(--muted);border-bottom:1px solid var(--line)}.challenge-shell .compact-practice{height:100%;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr) 52px;gap:8px}.challenge-shell .compact-goals{display:flex;align-items:center;gap:12px;background:#edf2e4;border:1px solid var(--line);border-radius:10px;text-align:left;padding:8px 12px;font-size:13px}.challenge-shell .compact-goals>span:nth-child(2){flex:1}.challenge-shell #challengeWork{display:grid;grid-template-columns:1.3fr 1fr;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white}.challenge-shell .stage-surface{min-height:0;overflow:auto;display:block;padding:16px}.challenge-shell .settings-strip{min-height:0;overflow:auto;border:0;border-left:1px solid var(--line);padding:12px}.challenge-shell .setting-toggle{min-height:44px}.challenge-shell select,.challenge-shell input:not([type=checkbox]):not([type=range]){width:100%;font:inherit;min-height:44px;border:1px solid #abbba6;border-radius:7px;padding:8px;background:#fff}.challenge-shell .sample-card{width:100%;margin:0 auto}.challenge-shell .sample-card h3{margin:5px 0 10px}.challenge-shell .sample-card p{font-size:14px}.challenge-shell .compact-actionbar{display:grid;max-width:500px;width:100%;justify-self:end;align-items:center}.challenge-shell .compact-actionbar button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:white}.challenge-shell .compact-actionbar .btn{background:var(--green);color:#fff}.challenge-order>label{display:block;font-size:13px}.challenge-order>.btn{width:100%;margin:10px 0}.challenge-crumb{display:flex;align-items:center;font-size:12px;flex-wrap:wrap}.challenge-crumb button{min-height:44px;border:0;background:transparent;text-decoration:underline;padding:4px}.challenge-tabs{display:flex;border-bottom:1px solid var(--line);gap:6px;margin:12px 0}.challenge-tabs button{min-height:44px;border:0;border-bottom:3px solid transparent;background:transparent;padding:8px 16px}.challenge-tabs [aria-selected=true]{border-color:var(--green);font-weight:750;background:#edf2e4}.challenge-viewport{margin:auto}.viewport-caption{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.signup-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.signup-fields>div{min-width:0}.signup-fields label{display:block;font-size:13px;margin:6px 0}.signup-fields.is-responsive.is-narrow{grid-template-columns:1fr}.signup-fields:not(.is-responsive){min-width:400px}.challenge-signup{overflow:auto}.challenge-error{min-height:22px;margin-top:10px;font-size:13px!important}.challenge-form-actions{display:flex;gap:8px;flex-wrap:wrap}.challenge-form-actions button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#f4f5ef}.challenge-form-actions .btn{background:var(--green);color:#fff}.challenge-list{display:grid;grid-template-rows:auto 36px minmax(0,1fr) 44px;gap:10px;max-width:680px!important;height:calc(100dvh - 110px);min-height:640px;max-height:1000px}.challenge-list header h1{font-size:26px;margin:8px 0}.challenge-list header p{margin:0;color:var(--muted);font-size:14px}.challenge-progress{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px}.challenge-deck{display:flex;flex-direction:column;align-items:flex-start;min-height:0;overflow:auto;background:#eee8f6;border:1px solid #d7cee3;border-radius:16px;padding:24px}.challenge-deck .mission-card-top{display:flex;justify-content:space-between;width:100%;font-size:12px}.challenge-art{width:64px;height:64px;margin:20px 0}.challenge-deck h2{margin:0 0 10px}.challenge-deck>p{font-size:14px;line-height:1.7}.challenge-deck .term-chips{margin:0 0 10px}.challenge-deck .challenge-brief{padding:12px;background:#ffffff88;border-radius:10px}.challenge-deck>.btn{width:100%;margin-top:auto}.challenge-list>.term-paging{display:flex;align-items:center;justify-content:space-between;font-size:12px}.challenge-list>.term-paging button{background:transparent;border:0;min-height:44px;padding:8px}.challenge-shell .compact-review{height:100%;display:flex;flex-direction:column;gap:10px}.challenge-shell .review-content,.challenge-shell .result-content{flex:1;min-height:0;overflow:auto;padding:24px;background:white;border:1px solid var(--line);border-radius:14px}.challenge-shell .result-content{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:12px;background:#edf3e2}.challenge-shell .compact-primary-row{display:flex;gap:8px}.challenge-shell .compact-primary-row>*{flex:1}.challenge-shell .compact-xp{font-size:28px}.challenge-shell .review-answers{display:grid;gap:8px}.challenge-shell .review-answers button{min-height:48px}
@media(max-width:900px){.compact-mode #main.challenge-shell{min-height:0;max-height:none;grid-template-rows:48px 28px minmax(0,1fr);gap:5px}.challenge-shell .compact-practice{gap:5px}.challenge-shell #challengeWork{grid-template-columns:1fr;grid-template-rows:minmax(80px,1fr) auto}.challenge-shell .stage-surface{grid-row:1;padding:10px}.challenge-shell .settings-strip{grid-row:2;max-height:min(28dvh,220px);padding:6px 12px;border-left:0;border-top:1px solid var(--line)}.challenge-shell .settings-strip:has(#setting-label){display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:center}.challenge-shell .settings-strip:has(#setting-label)>.setting-label{grid-column:1}.challenge-shell .settings-strip:has(#setting-label)>select{grid-column:2;grid-row:1}.challenge-shell .settings-strip:has(#setting-label)>.control{grid-column:1/-1}.challenge-shell .settings-strip .control{grid-template-columns:85px 1fr}.challenge-shell .sample-card{padding:12px}.challenge-shell .review-content,.challenge-shell .result-content{padding:16px}.compact-mode #main.challenge-list{min-height:0;max-height:none;gap:6px}.challenge-list header h1{font-size:22px;margin:4px 0}.challenge-list header p{font-size:12px}.challenge-deck{padding:16px}.challenge-deck .challenge-art{width:48px;height:48px;margin:12px 0}.challenge-deck .challenge-brief{font-size:12px;padding:10px;margin-bottom:12px}.challenge-progress{font-size:11px}.challenge-list header>a{display:inline-flex;align-items:center;min-height:36px}.comparison-stage{padding:8px}.comparison-stage .sample-card{padding:12px}.comparison-stage input,.comparison-stage select{max-width:100%;font-size:16px}.challenge-signup input{color:#253d33}.challenge-shell .result-content h2{font-size:21px}}
@media(max-width:900px) and (max-height:700px){.challenge-shell .settings-strip{max-height:160px}.challenge-deck .challenge-art{display:none}.challenge-deck h2{margin-top:12px}.challenge-deck .challenge-brief{margin-bottom:10px}.challenge-deck .term-chips{margin-bottom:4px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){.compact-mode #main.challenge-shell{grid-template-columns:1fr 1fr;grid-template-rows:44px minmax(0,1fr)}.challenge-shell #challengeBody{grid-column:1/-1}.challenge-shell #challengeWork{grid-template-columns:1.2fr 1fr;grid-template-rows:minmax(0,1fr)}.challenge-shell .stage-surface{grid-column:1;grid-row:1}.challenge-shell .settings-strip{grid-column:2;grid-row:1;max-height:none;border-top:0;border-left:1px solid var(--line)}.challenge-shell .compact-practice{grid-template-rows:38px minmax(0,1fr) 44px;gap:4px}.compact-mode #main.challenge-list{grid-template-columns:240px 1fr;grid-template-rows:auto auto minmax(0,1fr)}.challenge-list header,.challenge-progress{grid-column:1}.challenge-progress{flex-wrap:wrap}.challenge-deck{grid-column:2;grid-row:1/4}.challenge-list>.term-paging{grid-column:1;align-self:end}.challenge-deck .challenge-brief{display:none}}
@media(prefers-reduced-motion:reduce){.swipe-card{transition:none}}
@media(min-width:901px){.challenge-shell .compact-mission-head{display:flex;align-items:center;gap:14px}.challenge-shell .compact-mission-head>div{flex:1}.challenge-shell .compact-mission-head span{font-size:12px;color:var(--muted)}.challenge-shell .compact-mission-head h1{font-size:25px;margin:0}.challenge-shell .compact-mission-head>a,.challenge-shell .compact-mission-head>button{display:grid;place-items:center;min-width:44px;height:44px;background:white;border:1px solid var(--line);border-radius:9px;font-size:24px}.challenge-shell .compact-goals.all-met{background:#e1edcf}.challenge-shell .review-content>p{margin:16px 0}.challenge-shell .result-content h2,.challenge-shell .result-content p{margin:0}}
