/* Continue and recover in game; portable backups stay optional. */
.save-transfer-dialog{width:min(860px,calc(100vw - 28px));max-height:90dvh;padding:26px;color:#d7e2df;border:1px solid #75908777;background:linear-gradient(140deg,#192f33,#131f2a 70%);border-radius:22px;overflow:auto}
.save-transfer-dialog::backdrop{background:#051015c9;backdrop-filter:blur(6px)}
.save-heading{align-items:flex-start}.save-heading h2{font-size:clamp(22px,4vw,31px);letter-spacing:-.6px;margin:4px 0;color:#f0e5c1}.save-heading>.icon-button{flex:none;min-width:44px;min-height:44px}
.save-intro{font-size:14px;line-height:1.8;color:#bdcfcf;margin:8px 0 19px}
.save-current,.save-import-preview{position:relative;padding:18px;border:1px solid #8cac9559;border-radius:14px;background:radial-gradient(ellipse at top right,#b0ca8212,transparent 65%),#182e31}
.save-checkpoint{display:flex;align-items:center;gap:12px;margin:12px 0}.save-checkpoint-crest{display:grid;place-items:center;width:46px;height:46px;flex:none;clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);color:#f6ddb0;background:linear-gradient(140deg,#846a47,#304d4a);font-size:28px}.save-checkpoint strong{display:block;color:#f4e7c0;font-size:18px}.save-checkpoint span{display:block;color:#b8ceca;font-size:12px;margin-top:3px}
.save-party{display:flex;gap:8px;flex-wrap:wrap}.save-party>span{font-size:11px;color:#a8c6c2;background:#101f26;border:1px solid #6f8d8042;border-radius:7px;padding:7px 10px}.save-party b{color:#dbe5cf;font-weight:500}.save-inventory{font-size:12px;color:#b9cfbd;margin:12px 0 0}
.save-training-note{margin:12px 0 0;padding:10px 12px;border-left:2px solid #9bbdae;border-radius:0 7px 7px 0;background:#0d222a66;color:#c1d6d1;font-size:12px;line-height:1.75}
.save-persistence-status{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #a8c6a938;color:#d6eac6;font-size:13px;line-height:1.65}.save-persistence-status.save-warning{color:#ffdfb2}.save-continue,.save-retry{margin-top:16px;min-height:48px}.save-advanced{border-top:1px solid #78948955;margin-top:20px;padding-top:5px}.save-advanced>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:9px;color:#c6d9d2;font-size:14px;line-height:1.6}.save-advanced>summary::before{content:'＋';color:#99beab}.save-advanced[open]>summary::before{content:'−'}.save-advanced-intro{font-size:12px;line-height:1.7;color:#abc3c6;margin:4px 0}.save-recovery h3{font-size:17px;color:#ece2c1;margin:12px 0 8px}.save-recovery-copy{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #78948922}.save-recovery-copy>div{min-width:0}.save-recovery-copy strong{display:block;font-size:13px;color:#d6dfcd;overflow-wrap:anywhere}.save-recovery-copy span{display:block;font-size:12px;line-height:1.6;color:#abc3c6;margin-top:4px;overflow-wrap:anywhere}.save-recovery-copy button{flex:none}
.save-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:24px 0 10px}.save-columns>section{min-width:0}.save-columns h3{font-size:17px;color:#ece2c1;margin:0 0 8px}.save-columns p{font-size:12px;line-height:1.8;color:#abc3c6;min-height:66px;margin:0 0 12px}.save-columns .wide{margin:9px 0 0;min-height:44px;font-size:13px}
.save-transfer-dialog textarea{width:100%;box-sizing:border-box;min-height:86px;max-height:230px;resize:vertical;border:1px solid #75918c77;border-radius:10px;background:#0d1b23;padding:10px 12px;color:#cce5dd;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.save-import label{display:block;font-size:12px;color:#d5decd;margin:12px 0 7px}.save-import input[type=file]{width:100%;min-height:44px;color:#9ebbb9;font-size:11px;box-sizing:border-box;white-space:normal}.save-import input[type=file]::file-selector-button{min-height:44px;border:1px solid #75918c77;border-radius:8px;background:#263d42;color:#e7e3c8;padding:6px 11px;margin-right:8px;cursor:pointer;font:12px system-ui,sans-serif}
.save-code-details{margin-top:12px}.save-code-details summary,.save-recovery summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:12px;color:#c9d3bc;line-height:1.5}.save-code-details summary::before,.save-recovery summary::before{content:'＋';margin-right:8px;color:#99beab}.save-code-details[open] summary::before,.save-recovery[open] summary::before{content:'−'}
.save-transfer-status{min-height:20px;margin:14px 0 8px;line-height:1.7;color:#cee3b3;font-size:13px}.save-error{padding:12px 14px;border:1px solid #c3976a80;border-radius:10px;background:#412e2280;color:#ffdfb2}
.save-import-preview{border-color:#d5ba7188;background:linear-gradient(130deg,#393b2a,#1e3437);margin:15px 0}.save-import-preview>p{font-size:13px;line-height:1.75;color:#d1d9c4}.save-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}.save-confirm-actions button{min-height:46px;font-size:13px}.save-recovery{border-top:1px solid #78948933;margin-top:20px;padding-top:6px}.save-recovery p{font-size:12px;color:#afc6c5;line-height:1.7;margin-bottom:10px}.save-recovery button{min-height:44px;font-size:12px}.save-privacy{padding-top:15px;font-size:11px;line-height:1.75;color:#90abaa}.save-transfer-dialog>.text-button{min-height:44px;margin-top:4px}.save-transfer-dialog :focus-visible{outline:2px solid #e7d5a1;outline-offset:3px}
@media(max-width:600px){.save-transfer-dialog{padding:20px 16px;width:calc(100vw - 20px);border-radius:16px;max-height:94dvh}.save-columns{grid-template-columns:1fr;gap:23px;margin-top:21px}.save-columns p{min-height:0}.save-current,.save-import-preview{padding:14px}.save-intro{font-size:13px}.save-confirm-actions{display:grid;grid-template-columns:1fr;width:100%}.save-confirm-actions .primary-button{grid-row:1}.save-checkpoint strong{font-size:17px}}
@media(max-width:440px){.save-recovery-copy{align-items:stretch;flex-direction:column;gap:9px}.save-recovery-copy button{width:100%}.save-transfer-dialog{box-sizing:border-box}.save-confirm-actions{gap:8px}.save-party{gap:6px}}
@media(prefers-reduced-motion:reduce){.save-transfer-dialog,.save-transfer-dialog *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
html[data-motion=reduced] .save-transfer-dialog,html[data-motion=reduced] .save-transfer-dialog *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
