.game.loading .app-shell { visibility:hidden; }
.game-loading { position:fixed; inset:0; z-index:100; background:var(--bg); display:grid; place-items:center; padding:24px; text-align:center; color:var(--copy); }
.loading-monogram { font:600 56px Rajdhani,sans-serif; color:var(--cyan); letter-spacing:-12px; margin-right:12px; }
.loading-monogram em { color:var(--amber); font-style:normal; }
.game-loading h2 { font:600 29px Rajdhani,sans-serif; margin:20px 0 10px; }
.game-loading p:not(.context) { color:var(--quiet); font:14px/1.6 Arial,sans-serif; }
.loading-track { height:3px; overflow:hidden; width:230px; margin:24px auto; background:var(--border); }
.loading-track span { display:block; width:45%; height:100%; background:var(--amber); animation:load-travel 1.8s ease-in-out infinite alternate; }
@keyframes load-travel { from{transform:translateX(-100%)} to{transform:translateX(220%)} }
.no-motion .loading-track span { animation:none; transform:translateX(60%); }
.saves-dialog { width:min(840px,100%); padding:26px 30px; }
.saves-dialog h2 { font:600 32px/1.2 Rajdhani,sans-serif; text-transform:none; letter-spacing:0; margin-bottom:8px; }
.save-intro,.save-review>p { color:var(--quiet); font:14px/1.65 Arial,sans-serif; margin-bottom:22px; }
.save-browser>h3,.save-review>h3 { font:600 21px Rajdhani,sans-serif; margin:24px 0 12px; }
.save-slots { display:flex; flex-direction:column; gap:10px; }
.save-card { display:flex; align-items:center; justify-content:space-between; gap:18px; background:var(--surface-alt); border:1px solid var(--border); border-left:2px solid var(--amber); padding:16px 18px; }
.save-card-copy { min-width:0; overflow-wrap:anywhere; }
.save-card .context { margin:0 0 6px; font-size:10px; }
.save-card h3 { font:600 21px Rajdhani,sans-serif; color:var(--copy); margin:0 0 7px; }
.save-card p:not(.context) { font:13px/1.5 Arial,sans-serif; color:var(--copy); margin:0 0 5px; }
.save-card small { display:block; font:12px/1.5 Arial,sans-serif; color:var(--quiet); }
.save-card .save-timestamp { margin-top:5px; font-size:11px; }
.save-card-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; flex-shrink:0; max-width:240px; }
.save-card-actions .action { min-width:80px; font-size:13px; padding:9px 12px; }
.save-card-actions .text-button { flex-basis:100%; text-align:right; font-size:13px; }
.save-automatic { margin:20px 0; border-top:1px solid var(--border); padding-top:16px; }
.save-automatic>summary { cursor:pointer; font:600 17px Rajdhani,sans-serif; margin-bottom:12px; }
.save-automatic .save-card { margin:8px 0; border-left-color:var(--border); }
.save-utilities { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.save-utilities .action { font-size:13px; }
.save-feedback { color:var(--amber); font:13px/1.6 Arial,sans-serif; margin:16px 0 0; }
.save-feedback:empty { display:none; }
.save-warning { border-left:3px solid var(--amber); padding:14px; background:var(--surface-alt); color:var(--copy); font:13px/1.65 Arial,sans-serif; }
.save-review-summary { padding:18px; background:var(--surface-alt); border:1px solid var(--border); margin:20px 0; }
.save-review-summary>strong { font:600 24px Rajdhani,sans-serif; }
.save-review-summary>span { display:block; margin:5px 0 16px; font:13px Rajdhani,sans-serif; color:var(--quiet); }
.save-review-summary .data-row { padding:10px 0; }
@media(max-width:600px) { .saves-dialog { padding:20px 16px; } .save-card { flex-direction:column; align-items:stretch; padding:14px; gap:10px; } .save-card-actions { max-width:none; justify-content:flex-start; } .save-card-actions .text-button { flex-basis:auto; margin-left:auto; } .save-review .dialog-actions { flex-wrap:wrap; } .save-utilities { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { .loading-track span { animation:none; transform:translateX(60%); } }
