.save-dialog{width:min(92vw,560px);max-height:85dvh;overflow:auto;border:2px solid var(--accent);border-radius:18px;padding:24px;background:var(--paper);color:var(--ink)}
.save-dialog::backdrop{background:#102e3bb3}.save-dialog button{min-height:44px;margin:6px 0}.import-label{display:block;margin:20px 0 10px}.import-label input{display:block;max-width:100%;margin-top:8px;font-size:16px}
:where(button,a,input,select,summary):focus-visible{outline:3px solid #dc9b00;outline-offset:3px}
.hint-panel,.skill-picker,.journey-summary{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;margin:16px 0;color:var(--ink)}
.hint-panel h3{margin-top:0}.hint-panel li{margin:10px 0}.hint-actions{display:flex;gap:10px;flex-wrap:wrap}.hint-actions button{min-height:44px}
.journey-summary summary{font-weight:800;cursor:pointer;padding:8px 0}.journey-summary li{margin:10px 0}.journey-awards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.journey-award{border:1px dashed var(--muted);border-radius:12px;padding:14px}.journey-award.earned{border:2px solid var(--accent);background:var(--soft)}.journey-award p{font-size:14px}
.skill-picker select{font-size:16px;min-height:44px;max-width:100%;margin:8px}.practice-modes{flex-wrap:wrap}
.instruction{flex-wrap:wrap;gap:6px}.instruction .label{flex:1 1 140px;min-width:0}.instruction .move-command{min-width:38px;min-height:38px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink)}
@media(max-width:700px){.journey-awards{grid-template-columns:1fr 1fr}.instruction .move-command,.instruction .delete{min-width:44px;min-height:44px}.mobile-focused .journey-summary,.mobile-focused .skill-picker{display:none}.journey-summary #journey-next{white-space:normal;width:100%}.skill-picker select{display:block;margin:8px 0;width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.transfer-page{max-width:720px;margin:40px auto;padding:24px}.transfer-page button,.transfer-page summary{min-height:44px;margin:8px 0}.transfer-page input{max-width:100%;font-size:16px}.save-dialog a{display:block;margin:16px 0;color:var(--accent)}
@media(max-width:700px){.help-buttons button,.debug-controls button,.header-tools button,.practice-modes button{min-height:44px}.mobile-field-controls{flex-wrap:wrap}}
