.file-quest { max-width: 1080px; margin: 0 auto; color: #253c46; }
.file-quest [hidden] { display: none !important; }
.file-scene { display: block; width: 100%; height: auto; max-height: 200px; object-fit: cover; }
.file-status, .file-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 0; }
.file-status { border-bottom: 1px solid #9daeb2; justify-content: space-between; }
.file-quest h2 { font-size: 24px; line-height: 1.3; }
.file-quest h3 { font-size: 17px; line-height: 1.4; margin: 0 0 12px; }
.file-quest p, .file-quest li, .file-quest h3 { overflow-wrap: anywhere; }
.file-instruction { border-left: 5px solid #21655e; padding: 12px 16px; background: #edf7f5; font-weight: 700; }
.file-goals { padding: 10px 0 18px; }
.file-goals summary { cursor: pointer; font-weight: 700; min-height: 44px; }
.file-workspace { display: grid; grid-template-columns: 210px minmax(0, 1fr) 240px; border-block: 2px solid #647b83; min-height: 250px; }
#file-folders { padding: 12px; background: #edf7f5; display: flex; flex-direction: column; gap: 6px; }
.file-quest button, .file-quest input, .file-quest select { min-height: 44px; font: inherit; max-width: 100%; }
.file-quest button { cursor: pointer; padding: 8px 12px; border: 1px solid #647b83; border-radius: 5px; background: #fff; color: #253c46; }
.file-quest button:disabled { cursor: default; opacity: .6; }
.file-quest button.primary-action { background: #21655e; color: #fff; border-color: #21655e; }
.file-quest button:focus-visible, .file-quest input:focus-visible, .file-quest select:focus-visible { outline: 3px solid #a23152; outline-offset: 3px; }
#file-folders button { text-align: left; display: flex; align-items: center; gap: 10px; }
#file-folders button[aria-current="true"], #file-list button[aria-pressed="true"] { background: #ffedac; border-color: #695016; color: #382c0c; }
.file-folder-icon { display: inline-block; flex: 0 0 22px; width: 22px; height: 16px; background: #efc247; border: 1px solid #695016; border-radius: 2px; position: relative; }
.file-folder-icon::before { content: ''; position: absolute; width: 10px; height: 4px; left: -1px; top: -5px; background: #efc247; border: 1px solid #695016; border-bottom: 0; }
.file-cabinet, .file-preview { padding: 16px; min-width: 0; }
.file-preview { background: #f9edf0; }
#file-selected { font-weight: 700; }
#file-list { display: grid; gap: 10px; }
#file-list button { display: flex; align-items: center; gap: 12px; text-align: left; width: 100%; overflow-wrap: anywhere; }
.file-paper-icon { display: block; flex: 0 0 25px; width: 25px; height: 32px; border: 2px solid #395661; background: #fff; position: relative; }
.file-paper-icon::after { content: ''; position: absolute; top: 9px; left: 4px; width: 13px; height: 2px; background: #395661; box-shadow: 0 6px #395661, 0 12px #395661; }
#file-tools { border: 0; padding: 16px 0 0; min-width: 0; display: flex; flex-wrap: wrap; align-items: end; gap: 16px; }
#file-tools legend { padding-top: 16px; font-weight: 700; }
.file-destination, .file-rename { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 6px; align-items: center; max-width: 100%; }
#file-tools label { grid-column: 1 / -1; }
.file-rename { grid-template-columns: minmax(0, 1fr) auto 44px; flex: 1 1 270px; max-width: 370px; }
.file-destination { flex: 1 1 300px; }
#file-name, #file-destination { width: 100%; min-width: 0; padding: 8px; border: 1px solid #647b83; background: #fff; color: #253c46; }
.file-recovery { display: flex; gap: 6px; }
[data-file-command] { width: 44px; font-size: 23px !important; padding: 3px !important; }
#file-feedback { min-height: 48px; font-weight: 700; color: #21655e; }
#file-feedback.is-error { color: #8d233c; }
@media (max-width: 800px) { .file-workspace { grid-template-columns: 180px minmax(0, 1fr); } .file-preview { grid-column: 1 / -1; } }
@media (max-width: 480px) { .file-workspace { grid-template-columns: minmax(0, 1fr); } #file-folders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .file-scene { object-fit: contain; } .file-quest h2 { font-size: 22px; } }
