/* PC-only preparation workbench. Scope follows section visibility, not router classes. */
body:has(#page-preparation:not([hidden])) { min-width:1180px; }
body:has(#page-preparation:not([hidden])) main { height:calc(100dvh - 70px); min-height:0; max-width:1800px; padding:16px 24px; }
body:has(#page-preparation:not([hidden])) .workspace-footer { display:none; }
body:has(#page-preparation:not([hidden])) .sidebar { overflow-y:auto; }
#page-preparation { flex:1; min-height:0; min-width:0; }
#page-preparation:not([hidden]) { display:flex; flex-direction:column; gap:10px; }
.preparation-heading { display:flex; flex:0 0 auto; justify-content:space-between; align-items:center; gap:20px; }
.preparation-heading h1 { font-size:25px; }
.preparation-safety { flex:0 0 auto; border:1px solid #dfcfa8; border-left:4px solid #a88740; background:#fff8e7; padding:9px 14px; line-height:1.65; }
.preparation-safety strong { font-size:14px; }
.preparation-safety p { font-size:12px; margin-top:3px; }
.preparation-notice { flex:0 0 auto; min-height:26px; max-height:68px; overflow:auto; color:#43675b; font-size:12px; line-height:1.65; padding:3px 8px; overflow-wrap:anywhere; }
.preparation-notice[data-error="true"] { background:#fff1e9; color:#91412e; border-left:3px solid #be6b4e; }
.preparation-layout { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:stretch; }
.preparation-main { min-width:0; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.preparation-tabs { flex:0 0 auto; display:flex; gap:4px; padding:8px; border-bottom:1px solid var(--line,#e4e6dd); background:#edf1e9; }
.preparation-tabs .button { flex:1; padding:8px 6px; border-color:transparent; background:transparent; font-size:12px; white-space:nowrap; }
.preparation-tabs [aria-selected="true"] { background:var(--surface,#fffefa); border-color:#d9e1d6; color:#235b61; box-shadow:0 1px 4px #1b3e4910; }
.preparation-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:18px; scroll-padding:18px; }
.preparation-scroll:focus-visible,.preparation-aside:focus-visible { outline:2px solid #448c9e; outline-offset:-2px; }
#page-preparation fieldset { padding:0; margin:0; min-width:0; border:0; }
.preparation-card-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:10px; }
.preparation-card { padding:16px; border:1px solid #d6e0df; border-radius:8px; background:#fafcfb; margin-top:16px; min-width:0; }
.preparation-card h3 { font-size:15px; }
.preparation-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.preparation-wide { grid-column:1/-1; }
.preparation-field { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:13px; }
.preparation-field > span { font-weight:550; }
.preparation-field input,.preparation-field select,.preparation-field textarea { font-size:13px; max-width:100%; }
.preparation-field textarea { min-height:80px; }
.preparation-help { font-size:12px; color:#67796e; line-height:1.7; overflow-wrap:anywhere; }
.preparation-check { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.7; cursor:pointer; }
.preparation-check input { width:18px; height:18px; flex:0 0 auto; margin:2px 0 0; }
.preparation-category { font-size:16px; margin:22px 0 8px; }
.preparation-question-detail { font-size:13px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; margin:8px 0 14px; }
#preparation-panel-answers .preparation-card > .preparation-field + .preparation-field { margin-top:12px; }
.preparation-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0 8px; }
.preparation-links a[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.preparation-aside { padding:16px; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scroll-padding:16px; }
.preparation-aside > h2 { margin-bottom:10px; }
.preparation-simulation-warning { padding:10px; border-left:3px solid #b58f43; background:#fff7e5; font-size:12px; color:#785719; line-height:1.7; margin:10px 0; overflow-wrap:anywhere; }
#preparation-simulation-selectors { display:grid; gap:12px; margin:16px 0; }
#preparation-simulate,#preparation-simulation-retry { width:100%; margin-bottom:8px; }
#preparation-simulation-help { margin-bottom:20px; }
.preparation-aside h3 { font-size:15px; }
.preparation-history-card { border-top:1px solid #dce3d9; padding:14px 0; overflow-wrap:anywhere; }
.preparation-history-card strong { font-size:13px; }
.preparation-saved-history { border-top:2px solid #dce3d9; margin-top:28px; padding-top:20px; }
.preparation-saved-history h3 { font-size:15px; }
.preparation-saved-history-list { list-style:none; padding:0; margin:12px 0; }
.preparation-saved-reason { font-size:13px; margin-top:8px; white-space:pre-wrap; overflow-wrap:anywhere; }
.preparation-issues { padding:0 0 0 16px; margin:8px 0; list-style:disc; font-size:12px; }
.preparation-issues li { margin:6px 0; white-space:pre-wrap; }
.preparation-footer { flex:0 0 auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; align-items:end; background:var(--surface,#fffefa); border:1px solid var(--line,#e4e6dd); border-radius:8px; padding:10px 16px; box-shadow:0 -3px 12px #142d440d; }
.preparation-save-side { display:flex; flex-direction:column; gap:6px; align-items:flex-end; }
#preparation-edit-state { max-width:320px; }
@media (min-width:1600px) { .preparation-layout { grid-template-columns:minmax(0,1fr) 360px; } }
@media (max-height:740px) {
  body:has(#page-preparation:not([hidden])) main { padding-block:8px; }
  #page-preparation:not([hidden]) { gap:6px; }
  .preparation-heading h1 { font-size:22px; }
  .preparation-heading .preparation-help { display:none; }
  .preparation-safety { padding:6px 10px; }
  .preparation-notice { max-height:45px; }
  .preparation-scroll,.preparation-aside { padding:12px; }
  .preparation-footer { padding:8px 12px; }
}
