.stage-root[data-stage=files] { height:100%; min-height:500px; }
.fs-studio { --fs-ink:#263f58; --fs-line:#b4c4d4; --fs-blue:#315e9c; flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #7898be; border-radius:0 5px 5px 5px; background:#edf2f7; color:var(--fs-ink); font:13px var(--font); }
.fs-studio button, .fs-dialog button { font:inherit; cursor:pointer; }
.fs-titlebar { display:flex; align-items:center; gap:9px; min-height:40px; padding:8px 13px; color:#fff; background:#315e9c; border-bottom:1px solid #214a80; }
.fs-titlebar strong { font-size:13px; font-weight:600; }
.fs-window-buttons { margin-left:auto; font:15px monospace; word-spacing:8px; color:#d4e3f7; }
.fs-pathbar { display:flex; align-items:center; gap:10px; min-height:42px; padding:6px 13px; background:#f8fafc; border-bottom:1px solid var(--fs-line); font-size:12px; }
.fs-pathbar > b { color:#93a5b7; }.fs-pathbar > span:first-child { color:#c49b45; }
.fs-pathbar button { margin-left:auto; padding:5px 8px; border:1px solid #c1cedc; border-radius:3px; background:#eaf0f7; color:#496883; font-size:11px; }
.fs-body { display:grid; grid-template-columns:108px minmax(180px,1fr) minmax(240px,31%); flex:1; min-height:0; }
.fs-folders { padding:12px 6px; background:#e4ebf3; border-right:1px solid var(--fs-line); }
.fs-folders button { display:flex; align-items:center; gap:7px; width:100%; min-height:42px; margin-bottom:4px; padding:8px 9px; border:1px solid transparent; border-radius:3px; background:transparent; color:#4c637b; white-space:nowrap; font-size:12px; }
.fs-folders button > span { color:#8b9bad; }.fs-folders button[aria-pressed=true] { color:#fff; background:#4777b6; border-color:#315e9c; }.fs-folders button[aria-pressed=true] > span { color:#e2ebf6; }
.fs-list-pane { display:flex; flex-direction:column; min-width:0; min-height:0; background:#fff; }
.fs-list-heading { display:grid; grid-template-columns:minmax(0,1fr) 83px 57px; gap:8px; min-height:32px; padding:8px 12px 8px 53px; border-bottom:1px solid #d8e0e9; color:#687d91; font-size:10px; background:#f3f6fa; }
.fs-file-list { flex:1; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#b4c4d4 transparent; }
.fs-file-row { display:grid; grid-template-columns:31px minmax(0,1fr) 83px 57px; gap:8px; align-items:center; width:100%; min-height:50px; padding:7px 12px; border:0; border-bottom:1px solid #e9eef3; background:#fff; color:#2f4963; text-align:left; }
.fs-file-row:hover { background:#edf4fd; }.fs-file-row.fs-selected { background:#dceafb; box-shadow:inset 3px 0 #4777b6; }
.fs-file-icon { display:grid; place-items:center; width:29px; height:34px; border:1px solid #b0c0d0; border-radius:2px; background:#f8fafc; color:#7b8fa1; font:8px monospace; }
.fs-kind-pdf { color:#b36466; border-color:#d1afb2; background:#fff7f7; }.fs-kind-jpg { color:#4a7e86; border-color:#a2c3c7; background:#f2fbfa; }.fs-kind-zip { color:#987733; background:#fff8dd; border-color:#d0bb80; }.fs-kind-mail { font-size:19px; color:#507db2; }
.fs-filename { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }.fs-file-row time,.fs-filesize { font-size:11px; color:#718498; }
.fs-preview { display:flex; flex-direction:column; min-width:0; min-height:0; border-left:1px solid var(--fs-line); background:#e9eef4; }
.fs-preview-title { min-height:32px; padding:8px 12px; border-bottom:1px solid #cdd7e2; font-size:10px; color:#647b91; }
.fs-preview-content { flex:1; min-height:0; overflow:auto; padding:14px; scrollbar-width:thin; }
.fs-preview-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:10px; border-top:1px solid #c4d0de; background:#f1f5fa; }
.fs-preview-actions button,.fs-viewer-actions button { min-height:36px; padding:7px 10px; border:1px solid #a6bad2; border-radius:3px; background:#fdfefe; color:#315e8e; font-size:11px; }
.fs-preview-actions button[data-fs=add],.fs-viewer-actions button[data-fs=add] { background:#3e70ae; color:#fff; border-color:#315e9c; }
.fs-preview-actions button:disabled,.fs-viewer-actions button:disabled { cursor:not-allowed; opacity:.45; }
.fs-preview-empty { display:grid; place-items:center; align-content:center; min-height:220px; color:#8da0b3; font-size:12px; }.fs-preview-empty > span { font-size:44px; color:#b2c1d0; }
.fs-package { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:14px; min-height:116px; padding:12px 15px; border-top:2px solid #9eb5cf; background:#e4edf8; }
.fs-package-heading { display:flex; gap:9px; align-items:center; min-width:0; }
.fs-zip-icon { display:grid; place-items:center; width:28px; height:32px; flex:none; color:#866b34; border:1px solid #bdab72; border-radius:2px; background:#fff2c7; font:8px monospace; }
.fs-archive-name { min-width:0; padding:5px 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:0; border-bottom:1px dashed #9cb2cb; background:transparent; color:#315c8b; font-size:12px!important; text-align:left; }
.fs-pack-status { color:#7c8ea1; font-size:10px; white-space:nowrap; }.fs-pack-status.fs-is-packed { color:#315e9c; font-weight:700; }
.fs-package-content { display:flex; align-items:flex-start; align-content:flex-start; flex-wrap:wrap; gap:6px; min-height:34px; max-height:80px; overflow:auto; padding-top:10px; }
.fs-queued { display:flex; align-items:center; gap:7px; padding:4px 5px 4px 9px; border:1px solid #b5c8df; border-radius:3px; background:#fff; min-width:0; max-width:100%; font-size:11px; }
.fs-queued > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.fs-queued button { min-width:26px; min-height:26px; border:0; border-radius:2px; background:#edf2f8; color:#6a819b; font-size:16px; }
.fs-pack-button { grid-column:2; grid-row:1/3; align-self:center; min-height:44px; padding:10px 18px; border:1px solid #315e9c; border-radius:4px; background:#4777b6; color:#fff; font-size:12px!important; }
.fs-package-empty { align-self:center; font-size:11px; color:#8c9fb4; }
.fs-drag-over { background:#c9def9; outline:2px dashed #4777b6; outline-offset:-4px; }
.fs-statusbar { display:flex; align-items:center; gap:14px; min-height:28px; padding:5px 13px; border-top:1px solid #becddd; background:#f3f6fa; color:#6b8196; font-size:10px; }
#fs-selection-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fs-paper { background:#fff; color:#34485a; padding:22px; border:1px solid #d3dce4; box-shadow:0 3px 7px #2b455411; font:12px/1.9 var(--font); }
.fs-paper > header { display:flex; align-items:center; gap:7px; border-bottom:1px solid #dbe2e8; padding-bottom:12px; font-size:11px; }.fs-paper > header > span { display:grid; place-items:center; width:28px; height:30px; color:#b65c3d; border:1px solid #c99b83; border-radius:50%; font:19px serif; }.fs-paper small { font-size:8px; color:#8b9aa8; }.fs-paper > header > b { margin-left:auto; color:#667b8d; font:10px monospace; }
.fs-paper h3 { margin:20px 0 12px; font:600 21px/1.7 'Noto Serif JP',serif; }.fs-paper p { margin:10px 0; }
.fs-doc-sketch { position:relative; display:flex; align-items:center; gap:10px; height:85px; margin-top:20px; padding:12px; border:1px solid #c8d2dc; background:#f0f4f7; }.fs-doc-sketch i { width:25%; height:43px; background:#c4d0da; border:1px solid #aab8c6; }.fs-doc-sketch i:nth-child(2) { width:15%; height:30px; background:#e3d3b6; }.fs-doc-sketch span { position:absolute; left:10px; bottom:3px; color:#6e8496; font-size:8px; }
.fs-doc-lines { margin:18px 0; display:grid; gap:8px; }.fs-doc-lines i { height:3px; background:#e2e8ed; }.fs-doc-lines i:last-child { width:65%; }
.fs-annotation { border:1px solid #d89c9f; border-left:3px solid #be6b72; background:#fff0f0; color:#ad5964; padding:10px; font-size:11px; }.fs-annotation b { font-size:10px; }.fs-paper > footer { display:flex; justify-content:space-between; gap:10px; color:#8ea0af; font:8px monospace; margin-top:22px; }
.fs-photo { display:block; width:100%; height:auto; fill:none; stroke:none; border:1px solid #b6c5d0; }.fs-photo-sheet { padding:0; }.fs-photo-sheet > p { text-align:center; color:#7c91a3; font:11px monospace; }
.fs-text-file { padding:16px; background:#fff; border:1px solid #d5dce4; }.fs-text-file > span { color:#b66168; font-size:11px; }.fs-text-file pre,.fs-old-package pre { white-space:pre-wrap; overflow-wrap:anywhere; font:12px/2 var(--font); }
.fs-mail { border:1px solid #c8d5e2; background:#fff; padding:18px; margin-bottom:14px; color:#3b5770; font:13px/1.9 var(--font); }.fs-mail:last-child { margin-bottom:0; }.fs-mail-heading { display:flex; gap:10px; justify-content:space-between; font-size:10px; color:#7b8fa1; }.fs-mail h3 { font-size:14px; margin:13px 0; }.fs-mail p { white-space:pre-line; margin:0; }
.fs-filename > small { display:block; margin-top:3px; overflow:hidden; text-overflow:ellipsis; font-size:10px; font-weight:400; color:#6d8196; }
.fs-mailbox { text-align:left; }.fs-mailbox-owner { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; padding:0 0 16px; color:#334e6b; font-size:15px; }.fs-mailbox-owner > span { color:#71879e; font:11px monospace; overflow-wrap:anywhere; }
.fs-mail-thread { margin:0 0 22px; border:1px solid #bdcddd; border-radius:4px; overflow:hidden; background:#fff; }.fs-mail-thread > header { display:flex; align-items:center; gap:12px; padding:13px 16px; border-bottom:1px solid #c8d5e2; background:#e7eff8; color:#345673; }.fs-mail-thread > header h3 { flex:1; margin:0; font-size:14px; line-height:1.6; }.fs-mail-thread > header > span { flex:none; font-size:11px; color:#677f98; }
.fs-mail-record { margin:0; padding:0; border:0; border-bottom:1px solid #d9e2ec; }.fs-mail-record:last-child { border-bottom:0; }.fs-mail-record > summary { display:flex; align-items:center; gap:12px; padding:13px 16px; cursor:pointer; list-style:none; color:#37546e; font-size:12px; }.fs-mail-record > summary::-webkit-details-marker { display:none; }.fs-mail-record > summary:before { content:'›'; flex:none; font-size:19px; color:#6b87a4; }.fs-mail-record[open] > summary:before { transform:rotate(90deg); }.fs-mail-record > summary:hover { background:#f1f6fc; }.fs-mail-record > summary:focus-visible { outline:2px solid #507db5; outline-offset:-3px; }.fs-mail-record > summary > time { margin-left:auto; flex:none; color:#71879e; font-size:10px; }
.fs-mail-route { min-width:0; font-weight:600; }.fs-mail-route > span { display:block; font-size:11px; font-weight:400; color:#70859a; }.fs-mail-record .fs-mail-content { padding:0 18px 18px; border-top:1px solid #e7edf4; }
.fs-mail-content > h4 { font-size:15px; margin:0 0 14px; line-height:1.6; }.fs-mail-record .fs-mail-content > h4 { margin-top:16px; }
.fs-mail-metadata { display:grid; grid-template-columns:44px minmax(0,1fr); gap:7px 10px; padding:0 0 15px; margin:0 0 17px; border-bottom:1px solid #dde5ee; color:#4e6982; font-size:11px; line-height:1.65; }.fs-mail-metadata dt { color:#8a9bad; }.fs-mail-metadata dd { margin:0; min-width:0; overflow-wrap:anywhere; }.fs-mail-metadata dd strong { font-size:12px; font-weight:600; }.fs-mail-metadata dd span { display:block; color:#7a8fa3; font-size:10px; }
.fs-mail-attachments { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }.fs-mail-attachments button,.fs-mail-source { min-height:40px; max-width:100%; padding:8px 10px; border:1px solid #b8c9dc; border-radius:3px; background:#f0f5fb; color:#365f8b; font:12px/1.6 var(--font); text-align:left; overflow-wrap:anywhere; cursor:pointer; }.fs-mail-attachments button > span { margin-right:8px; color:#7691ad; }.fs-mail-attachments button:hover,.fs-mail-source:hover { background:#e3edf9; border-color:#7c9dc5; }
.fs-mail-quote { margin-top:20px; border-left:2px solid #c6d4e3; padding-left:12px; color:#6c8095; }.fs-mail-quote > summary { cursor:pointer; font-size:11px; padding-block:7px; }.fs-mail-quote > div { padding-block:12px; }.fs-mail-quote p { font-size:12px; }.fs-mail-source { margin-top:14px; font-size:11px; }.fs-mail-forward { margin-top:24px; padding:15px; border:1px solid #cedae7; background:#f6f9fd; }.fs-mail-forward h5 { margin:0 0 14px; color:#8397aa; font-size:10px; font-weight:400; }.fs-mail-forward h4 { margin:0 0 14px; font-size:13px; }
.fs-mail-route { display:flex; flex-wrap:wrap; gap:2px 8px; align-items:baseline; }.fs-mail-route > span { display:inline; }.fs-mail-record > summary { padding-block:10px; line-height:1.7; }.fs-mail p { color:inherit; line-height:inherit; }.fs-attachment-origin { margin:0 0 14px; color:#71869d; font-size:11px; }
.fs-old-package { padding:20px; background:#fff; border:1px solid #d4dce4; }.fs-old-package strong { display:block; font-size:13px; overflow-wrap:anywhere; }.fs-large-zip { display:grid; place-items:center; width:60px; height:70px; border:1px solid #c3ac68; background:#fff0c3; color:#9d813b; font:14px monospace; margin-bottom:15px; }
.fs-dialog { width:610px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 28px); overflow:hidden; margin:auto; padding:0; border:1px solid #7195bf; border-radius:5px; background:#eef3f9; color:#314e6a; font:13px var(--font); box-shadow:0 20px 80px #203f642b; }
.fs-dialog[open] { display:flex; flex-direction:column; }.fs-dialog::backdrop { background:#172d4650; }.fs-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding-left:15px; background:#315e9c; color:#fff; }.fs-dialog > header strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }.fs-dialog > header button { width:44px; height:44px; border:0; background:#284f86; color:#fff; font-size:23px; }
.fs-viewer-body { padding:20px; overflow:auto; overscroll-behavior:contain; min-height:0; }.fs-viewer .fs-photo-sheet { max-width:500px; margin:auto; }.fs-viewer .fs-paper { max-width:420px; margin:auto; }
.fs-dialog > footer { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; min-height:60px; padding:10px 15px; background:#e0e9f4; border-top:1px solid #bfcee1; flex:none; }.fs-dialog > footer:empty { display:none; }.fs-dialog > footer button { min-height:40px; padding:10px 16px; border:1px solid #9eb5d1; border-radius:4px; background:#f9fbfe; color:#315e9c; }.fs-dialog > footer .fs-primary { background:#3d70b0; color:#fff; border-color:#315e9c; }
.fs-dialog-fields { padding:18px 22px; overflow:auto; }.fs-dialog-fields > label { display:block; font-size:12px; margin:12px 0; }.fs-dialog-fields input:not([type=checkbox]) { display:block; width:100%; min-height:43px; margin-top:8px; padding:10px; border:1px solid #9eb5d1; border-radius:3px; background:#fff; color:#345570; font:14px var(--font); }.fs-dialog-fields input[readonly] { background:#e8eef5; color:#7d91a6; }.fs-dialog-fields .fs-notes-option { display:flex; align-items:center; gap:8px; margin-top:22px; min-height:36px; }.fs-notes-option input { width:18px; height:18px; accent-color:#3d70b0; }
@media(max-width:1100px) and (min-width:901px) { .fs-body { grid-template-columns:92px minmax(160px,1fr); }.fs-preview { display:none; }.fs-file-row { grid-template-columns:31px minmax(0,1fr) 80px; }.fs-filesize,.fs-list-heading > span:last-child { display:none; }.fs-list-heading { grid-template-columns:minmax(0,1fr) 80px; } }
@media(max-width:900px) {
 .stage-root[data-stage=files] { min-height:440px; }
 .fs-mail-record > summary { padding:12px 10px; gap:8px; }.fs-mail-record .fs-mail-content { padding:0 12px 15px; }.fs-mail-route { font-size:12px; }.fs-mail-metadata { grid-template-columns:40px minmax(0,1fr); gap:8px; }.fs-mail-metadata dd span { font-size:11px; }.fs-mail-content > h4 { font-size:15px; }.fs-mail-attachments button,.fs-mail-source { min-height:44px; font-size:12px; }.fs-mail-forward { padding:12px; }
 .fs-studio { min-height:440px; height:100%; }.fs-body { display:flex; flex-direction:column; }.fs-folders { display:flex; flex:none; gap:2px; padding:5px; border-right:0; border-bottom:1px solid var(--fs-line); }.fs-folders button { justify-content:center; flex:1; min-width:0; gap:3px; padding:8px 4px; margin:0; min-height:40px; font-size:11px; }.fs-folders button > span { display:none; }
 .fs-list-pane { flex:1; }.fs-preview { display:none; }.fs-file-row { grid-template-columns:27px minmax(0,1fr) 70px; gap:7px; min-height:52px; padding:7px 10px; }.fs-file-icon { width:26px; height:31px; font-size:7px; }.fs-file-row time { font-size:9px; }.fs-filename { font-size:12px; }.fs-filesize,.fs-list-heading > span:last-child { display:none; }.fs-list-heading { grid-template-columns:minmax(0,1fr) 70px; padding-left:44px; }
 .fs-pathbar { min-height:38px; }.fs-titlebar { min-height:38px; }.fs-titlebar strong { font-size:12px; }.fs-package { grid-template-columns:minmax(0,1fr) 82px; gap:3px 7px; padding:10px; min-height:117px; }.fs-package-heading { flex-wrap:wrap; gap:4px 7px; }.fs-zip-icon { width:23px; height:28px; font-size:7px; }.fs-archive-name { flex:1; font-size:11px!important; }.fs-pack-status { width:100%; padding-left:30px; font-size:10px; }.fs-package-content { max-height:66px; padding-top:6px; }.fs-pack-button { padding:10px 8px; font-size:11px!important; }.fs-queued { max-width:100%; padding-block:2px; font-size:10px; }.fs-queued button { min-width:30px; min-height:30px; }.fs-statusbar { min-height:24px; font-size:9px; }
 .fs-dialog { max-height:calc(100dvh - 20px); }.fs-viewer-body { padding:12px; }.fs-paper { padding:18px; font-size:14px; }.fs-mail { font-size:14px; }.fs-archive-name { min-height:36px; }.fs-dialog-fields input:not([type=checkbox]) { font-size:16px; }.fs-dialog > footer button { min-height:44px; font-size:12px; }.fs-preview-actions button { min-height:44px; }
}
