.progress817-panel{cursor:pointer}
.progress817-panel:hover{border-color:#f1d78d;box-shadow:inset 0 0 0 3px #09131e,0 0 9px #e6c67445}
.progress817-panel h2:focus-visible{outline:3px solid #ffe29b;outline-offset:3px;border-radius:3px}
.phase818-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:28px 24px;border:2px solid #cdb16a;border-radius:12px;background:linear-gradient(145deg,#20364a,#0b1726);color:#fff2d0;box-shadow:0 14px 60px #0008;font:inherit}
.phase818-dialog::backdrop{background:#020916ad}
.phase818-dialog h2{font-size:clamp(20px,3vw,26px);line-height:1.65;margin:0 0 24px;color:#fff2d0}
.phase818-actions{display:flex;gap:16px}.phase818-actions .btn{flex:1;min-height:56px;font:inherit;font-size:20px}
.phase818-error{font-size:16px;line-height:1.6;color:#ffe5a0}.phase818-error[hidden]{display:none}
.phase818-map-notice{position:fixed;z-index:1200;left:50%;top:45%;transform:translate(-50%,-50%);box-sizing:border-box;width:max-content;max-width:calc(100vw - 32px);padding:22px 28px;border:1px solid #d2b76e;border-radius:10px;background:#0d2035f2;color:#fff0bf;font:inherit;font-size:clamp(19px,3vw,26px);font-weight:700;text-align:center;box-shadow:0 8px 30px #0006;pointer-events:none;animation:phase818-notice 1.8s ease both}
@keyframes phase818-notice{0%{opacity:0}10%,85%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.phase818-map-notice{animation:none}}
