.repair-film{margin:14px 0 10px;text-align:left;background:#183c34;border-radius:16px;overflow:hidden;border:1px solid #d3bd80;box-shadow:0 7px 24px #193b321e}
.repair-film-stage{width:100%;position:relative;aspect-ratio:4/3;max-height:42svh;background:#173b31;display:grid;place-items:center;overflow:hidden}
.repair-film-stage video,.repair-film-poster{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;display:block;background:#173b31}
.repair-film-stage video[hidden],.repair-film-poster[hidden]{display:none}.repair-film-label{position:absolute;left:12px;top:12px;background:#153d35dd;border:1px solid #e8d59170;color:#fff3ce;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700;pointer-events:none}
.repair-film-start{position:relative;z-index:1;background:#fff3cedf;color:#214c3c;border:2px solid #fff7e2;border-radius:28px;padding:12px 23px;min-height:48px;font-weight:800;box-shadow:0 3px 18px #193c3555}.repair-film-start[hidden]{display:none}
.repair-film-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 12px}.repair-film-tools .btn{min-height:40px;font-size:12px;padding:7px 12px}.repair-film-tools .btn.quiet{color:#fff3cc;border:1px solid #aac0aa65}.repair-film-tools .btn[hidden]{display:none}.repair-film-status{color:#e6e9d5;font-size:12px;line-height:1.5;flex:1;min-width:150px}.repair-film-progress{display:block;width:100%;height:4px;border:0;background:#3e5d4c;accent-color:#efcf75}.repair-film-progress::-webkit-progress-bar{background:#3e5d4c}.repair-film-progress::-webkit-progress-value{background:#efcf75}
.world-repair-overlay{position:fixed;inset:66px 0 0;z-index:20;padding:16px;background:#102e2dcc;backdrop-filter:blur(6px)}
.repair-reveal{width:min(100%,760px);max-height:100%;display:flex;flex-direction:column;padding:0;overflow:hidden;border-color:#eed79d;background:#fff9e9}
.repair-reveal-body{padding:21px 24px 12px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.repair-reveal h2{font-size:24px;margin:10px 0 6px}.repair-reveal .restore-lesson{margin:7px 0 10px;font-size:14px;color:#42644f;line-height:1.6}
.repair-reveal-footer{padding:12px 24px;background:#fff9ed;border-top:1px solid #e2d6b4;box-shadow:0 -4px 12px #29472d09;flex-shrink:0}.repair-reveal-footer .btn{width:100%;min-height:48px}.repair-reveal-footer .fine{margin:6px 0 0;font-size:11px;color:#647a67}
.repair-reveal .day-story{margin:12px 0 0;padding:10px}.repair-reveal .day-story>p{font-size:13px}.repair-comparison-details{text-align:left;border:1px solid #e0d7bd;border-radius:12px;padding:0 11px;margin-top:12px}.repair-comparison-details summary{min-height:44px;padding:12px 0;font-size:13px;font-weight:700;cursor:pointer}.repair-comparison-details .repair-comparison{padding:0 0 12px}.repair-comparison-details canvas{border-width:1px}
.repair-mini-progress{display:flex;justify-content:center;gap:9px;margin:12px 0}.repair-mini-progress span{width:31px;height:8px;border-radius:8px;background:#e4dcc5}.repair-mini-progress .done{background:#56876b}.repair-mini-progress .new{background:#e9b656;animation:repair-pop .65s ease-out}
.repair-sparkle{position:relative}.repair-sparkle::after{content:'';pointer-events:none;position:absolute;inset:0;border-radius:13px;background:linear-gradient(115deg,transparent 15%,#fff0a1aa 49%,transparent 74%);background-size:250% 100%;animation:repair-sweep 1.15s ease-out both}.repair-next-film{font-size:12px!important;color:#607964;margin:8px 0!important}
.journal-film-button{width:100%;margin-top:12px}.restoration-replay{width:min(850px,calc(100vw - 24px));max-width:850px;background:#fff9e9;padding:22px;border:2px solid #dfc88f;border-radius:22px;color:#274735;max-height:calc(100svh - 28px);overflow:auto}.restoration-replay::backdrop{background:#102e2ddb;backdrop-filter:blur(6px)}.restore-replay-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.restore-replay-header h2{font-size:23px;margin:5px 0}.restoration-replay .repair-film-stage{max-height:55svh}.restoration-replay .fine{font-size:12px;margin-top:10px}.has-restoration-replay{overflow:hidden}.ending-film-button{margin:18px auto 8px}
@keyframes repair-sweep{from{background-position:100% 0;opacity:.95}to{background-position:0 0;opacity:0}}@keyframes repair-pop{50%{transform:scaleY(1.7)}to{transform:none}}
@media(max-width:760px){.world-repair-overlay{inset:62px 0 0;padding:8px 8px max(8px,env(safe-area-inset-bottom))}.repair-reveal{border-width:2px;border-radius:18px}.repair-reveal-body{padding:14px 12px 10px}.repair-reveal h2{font-size:20px}.repair-reveal .restore-lesson{font-size:12px;margin:6px 0}.repair-film{margin:10px 0 8px;border-radius:12px}.repair-film-stage{max-height:33svh}.repair-film-tools{gap:6px;padding:8px}.repair-film-status{font-size:11px;flex-basis:100%}.repair-film-label{font-size:10px;top:8px;left:8px;padding:5px 8px}.repair-reveal-footer{padding:10px 12px}.repair-reveal .day-story>p{font-size:12px}.repair-reveal .day-story>span{font-size:11px}.repair-reveal .day-story .swatch{width:38px;height:38px}.restoration-replay{padding:15px 12px}.restore-replay-header h2{font-size:19px}.restore-replay-header .eyebrow{font-size:10px}.restore-replay-header .btn{min-height:44px}.restoration-replay .repair-film-stage{max-height:44svh}}
.reduce-motion .repair-sparkle::after{display:none}.reduce-motion .repair-mini-progress .new{animation:none}@media(prefers-reduced-motion:reduce){.repair-sparkle::after{display:none}.repair-mini-progress .new{animation:none}}
