/* The established student card/CSS is reused; these rules adapt the local PWA. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.local-badge{padding:4px 9px;border:1px solid var(--line);border-radius:20px;color:var(--green);font-size:12px;margin-left:auto}.settings-panel{max-width:760px;margin:0 auto 24px}.page-intro{padding-top:30px}.source-preview{display:grid;gap:12px;margin:15px 0}.source-preview img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px}.source-preview pre{max-height:420px;overflow:auto;white-space:pre-wrap;font:inherit;background:var(--paper);padding:12px}.page-form{display:flex;flex-wrap:wrap}.page-form input{width:110px;min-height:44px;padding:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.method-name{color:var(--green);font-size:12px}.record-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.editor-grid .field{margin-bottom:17px}.editor-grid textarea{min-height:100px;max-width:100%;width:100%}.editor-grid .wide-text{min-height:200px}.edited-label{font-size:11px;color:var(--clay);display:inline-block;margin:0 8px}.stale-note{border-left:3px solid var(--clay);padding:9px 12px;background:var(--clay-wash);font-size:13px}.study-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.turn-item .button{margin-top:10px}.record-list-empty{padding:30px 0}.methods-details{margin-bottom:22px}.methods-details summary{cursor:pointer;min-height:44px}.source-original-note{font-size:12px;color:var(--muted)}.button,.field input,.field select,.field textarea{font-size:16px}.editor-dialog{width:min(760px,calc(100% - 20px))}.attempt-panel textarea{width:100%;font-size:16px}.study-heading{margin-top:12px}.record-item{margin:14px 0}.resume-list{margin:24px 0 50px}.actions{flex-wrap:wrap}.help,.mode-note{font-size:12px}.live-wrap p{max-width:min(720px,calc(100% - 24px));white-space:pre-line;overflow-wrap:anywhere}.source-grid{margin:20px 0}.footer{padding-bottom:80px}.response-card,.problem-card,.panel{overflow-wrap:anywhere}.mobile-nav button{min-height:48px}.turn-list{margin:25px 0}textarea{resize:vertical}button{touch-action:manipulation}dialog{max-height:90dvh;overflow:auto;width:min(760px,calc(100% - 20px))}.error-notice{border-color:var(--red);color:var(--red)}@media(max-width:520px){.header{flex-wrap:nowrap}.brand{font-size:17px}.header>.button{font-size:13px}.local-badge{font-size:10px}.form-row{grid-template-columns:1fr}.help,.mode-note,.demo-card p,.check{font-size:12px}.field>span,.field small{font-size:12px}.field input,.field textarea,.field select,.button,.question-entry textarea,.attempt-panel textarea{font-size:16px}.button.small{font-size:13px}.question-entry{padding:15px}.entry-bottom{flex-wrap:wrap}.entry-bottom p{font-size:12px;max-width:none}.entry-bottom button{width:100%;font-size:16px}.source-grid{gap:16px}.study-toolbar .button{flex:1 1 44%}.current-question .prose{font-size:20px}.learning-actions .button{font-size:14px}.actions .button{font-size:14px}.source-grid .panel{padding:18px}.source-preview img{width:100%}.record-actions .button{font-size:14px}.resume-list{display:block}.footer{font-size:11px}.path-card strong{font-size:14px}.path-card small{font-size:11px}.turn-item{font-size:14px}.response-card .message{font-size:16px}.solution .prose,.solution ol{font-size:15px}}
/* Desktop records stay reachable after reload; mobile uses the bottom nav. */
.desktop-record-nav{display:inline-flex}
@media(max-width:760px){.desktop-record-nav{display:none}}
/* Explicit mode choice and two-part direct solutions use the existing palette. */
.learning-mode-choice{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:10px;min-width:0;background:var(--surface)}
.learning-mode-choice legend{font-size:18px;font-weight:700;padding:0 7px;color:var(--green)}
.learning-mode-option{display:flex;align-items:flex-start;gap:12px;padding:14px;margin:8px 0;border:1px solid var(--line);border-radius:8px;cursor:pointer;min-height:66px;overflow-wrap:anywhere}
.learning-mode-option:has(input:checked){border-color:var(--green);background:var(--wash);box-shadow:inset 0 0 0 1px var(--green)}
.learning-mode-option input{flex:none;width:20px;height:20px;margin-top:4px;accent-color:var(--green)}
.learning-mode-option span{min-width:0}.learning-mode-option strong,.learning-mode-option small{display:block}.learning-mode-option strong{font-size:17px}.learning-mode-option small{font-size:14px;line-height:1.8;margin-top:4px;color:var(--muted)}
.learning-mode-choice .help{margin:12px 0 0}.batch-limit{padding:12px 0;border-bottom:1px solid var(--line)}
.direct-panel{padding:22px;margin-bottom:20px;background:var(--wash);border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}
.direct-panel h2{font-size:25px;margin-top:0}.direct-panel .button{margin-top:8px}.direct-panel .help{margin:12px 0 0}
.complete-solution{min-width:0}.complete-solution .solution{margin:22px 0;padding:22px;min-width:0;overflow-wrap:anywhere}.complete-solution h2{font-size:24px;line-height:1.5;margin:0 0 12px}.complete-solution h4{font-size:16px;line-height:1.8;margin:16px 0 8px}
.complete-solution .solution-coverage{font-size:15px;font-weight:600;color:var(--green)}
.answer-list{list-style:none;margin:16px 0 0;padding:0!important}.answer-item{padding:16px 0;border-top:1px solid var(--line)}
.answer-item .answer-label{display:inline-flex;align-items:center;min-height:44px;font-size:18px;font-weight:700;margin-right:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.answer-item .prose{margin:8px 0}
.solution-status{font-size:13px;color:var(--muted);display:block;line-height:1.8}.solution-status.clarification{color:var(--red);background:#fff1e8;border-left:3px solid var(--red);padding:8px 10px;font-size:15px}
.solution-item{padding:22px 0;border-top:1px solid var(--line);scroll-margin-block:24px 100px;min-width:0}.solution-item h3{font-size:21px}.solution-item ol,.solution-item ul{padding-left:24px;margin-top:8px}.solution-item li{margin-bottom:8px}.solution-item:focus-visible{outline:2px solid var(--green);outline-offset:6px}
.solution-question,.pitfall-note{padding:12px 14px;background:var(--paper);border-radius:6px;margin-top:14px}.solution-question h4,.pitfall-note h4{margin-top:0}.solution-question .prose{margin-bottom:0}
.solution-editor-item{padding:18px;margin:20px 0;border:1px solid var(--line);border-radius:8px;min-width:0;overflow-wrap:anywhere}.solution-editor-item legend{font-size:18px;font-weight:700;padding:0 7px}.readonly-question{padding:12px;background:var(--paper);border-radius:6px}
@media(max-width:760px){.learning-mode-choice{padding:15px;margin:18px 0}.learning-mode-choice legend{font-size:20px}.learning-mode-option{padding:14px 12px}.learning-mode-option strong{font-size:18px}.learning-mode-option small,.learning-mode-choice .help,.solution-status,.complete-solution .solution-coverage{font-size:16px}.direct-panel{padding:20px 18px}.direct-panel .button{font-size:17px;min-height:52px}.complete-solution .solution{padding:18px 14px}.complete-solution h2{font-size:23px}.complete-solution h4{font-size:17px}.answer-item .answer-label{font-size:19px}.solution-item h3{font-size:21px}.solution-item ol,.solution-item ul{padding-left:22px}.solution-editor-item{padding:14px}.solution-question,.pitfall-note{padding:12px}.solution-status.clarification{font-size:16px}}
@media print{.learning-mode-choice,.direct-panel,.direct-empty{display:none!important}.complete-solution .solution{padding:12px 0}.solution-item,.answer-item{break-inside:avoid}.answer-label{color:black;text-decoration:none}.solution-status.clarification{background:white}}
