/* Local-only additions. Original presentation styles are kept in separate files. */
[hidden] { display: none !important; }
#countrySelect { cursor:default; }
.field-toggle { background:transparent; }
:focus-visible { outline:3px solid #fe8400; outline-offset:4px; }
body[data-page="lottery"] { background:#d3e4df; }
.lot-page { max-width:680px; margin:0 auto; background:#f6f7fa; overflow:hidden; }
.lot-topbar-title { font-size:14px; }
.lot-back,.lot-help { width:40px; height:40px; }
.lot-ticket-info { font-size:12px; }
.lot-details-btn { min-height:32px; }
.lot-open-btn { min-height:58px; font-size:13px; }
.lot-open-btn small,.lot-gift-label,.lot-fragments-piece span,.lot-fragments-piece b { font-size:12px; }
.lot-records-link,.lot-fragments-sub { font-size:14px; }
.lot-gifts-title,.lot-fragments-title,.lot-fragments-btn { font-size:14px; }
.lot-gifts-head { gap:12px; }
.lot-gift-item { width:72px; }
.lot-gift-icon { margin:0 auto; }
.lot-invite-btn { line-height:1.4; }
.app-modal-open { overflow:hidden !important; }
.lot-mask { z-index:9998; }
.pin-modal { z-index:9999; max-height:calc(100dvh - 12px); overflow-y:auto; overscroll-behavior:contain; animation:app-slide-up 300ms cubic-bezier(.16,1,.3,1); }
.pin-modal-inner { padding-bottom:calc(26px + env(safe-area-inset-bottom)); }
.pin-modal h3 { line-height:1.5; }
.pin-modal-close { width:40px; height:40px; background:transparent; }
.pin-key { min-height:48px; background:#f0f2f6; color:#14161b; touch-action:manipulation; }
.pin-key:active { background:#d9e5e2; transform:scale(.97); }
.pin-box { background:#f0f2f6; flex-shrink:1; }
.pin-hint { color:#667078; font-size:13px; line-height:1.5; }
.lot-modal { line-height:1.5; max-height:calc(100dvh - 40px); }
.lot-modal h2 { font-size:22px; line-height:1.3; color:#14161b; }
.app-close { position:absolute; right:12px; top:12px; width:40px; height:40px; border:1px solid #e5e7ee; border-radius:50%; background:#fff; font-size:25px; color:#667078; cursor:pointer; }
.app-prize-art { width:104px; height:108px; margin:0 auto 4px; background-image:var(--sf-img-9); background-size:contain; background-repeat:no-repeat; background-position:center; }
.app-kicker { font-size:13px; color:#6c777d; margin-bottom:8px; }
.app-prize-value { font-size:48px; line-height:1.2; font-weight:800; color:#34484a; margin:18px 0 8px; }
.app-modal-note { font-size:14px; line-height:1.5; color:#667078; margin:12px 0 22px; }
.app-modal-copy { font-size:16px; line-height:1.6; color:#48535a; margin:20px 0; }
.app-primary { width:100%; min-height:48px; padding:13px 20px; border:0; border-radius:999px; background:#34484a; color:#fff; font-family:inherit; font-size:16px; font-weight:700; line-height:1.4; cursor:pointer; }
.app-primary:disabled { opacity:.65; cursor:default; }
.app-result { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 16px 0; padding:18px; background:#fff; border:1px solid #dce5e2; border-radius:16px; box-shadow:0 6px 24px #24363818; }
.app-result strong { display:block; color:#34484a; font-size:28px; margin:3px 0; }
.app-result span { font-size:14px; font-weight:600; }
.app-result small { display:block; font-size:12px; line-height:1.4; color:#667078; }
.app-result .app-primary { width:auto; flex-shrink:0; }
.toast-stack { position:fixed; top:16px; left:50%; transform:translateX(-50%); width:min(100%,480px); padding:0 16px; z-index:10000; pointer-events:none; }
.app-toast { background:#243638; color:#fff; border-radius:12px; padding:14px 16px; box-shadow:0 6px 24px #14161b25; font:500 14px/1.5 -apple-system,"Segoe UI",sans-serif; animation:toastIn .2s ease-out; }
.app-drawing .lot-ball { animation:app-tumble .45s ease-in-out infinite alternate; }
.app-drawing .lot-ball:nth-child(2n) { animation-delay:-.18s; animation-direction:alternate-reverse; }
.app-drawing .lot-ball:nth-child(3n) { animation-delay:-.3s; }
@keyframes app-tumble { from { transform:translate(-12px,-6px) rotate(-25deg); } to { transform:translate(10px,-72px) rotate(110deg); } }
@keyframes app-slide-up { from { transform:translateY(100%); } to { transform:translateY(0); } }
@media (min-width:720px) { .lot-page { box-shadow:0 12px 45px #34484a20; } }
@media (max-width:360px) { .lot-gifts-head { align-items:flex-start; } .lot-records-link { text-align:right; } .app-result { gap:10px; padding:14px; } .app-result .app-primary { padding:12px 16px; } .pin-modal-inner { padding-left:16px; padding-right:16px; } }
@media (max-height:600px) { .pin-modal-inner { padding-top:12px; padding-bottom:calc(14px + env(safe-area-inset-bottom)); } .pin-modal-close { margin-bottom:6px; } .pin-modal h3 { margin-bottom:12px; } .pin-hint { margin-bottom:12px; } .pin-key { padding:10px 0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

.checkbox-row input:checked + .checkbox-box i { display:inline-block !important; }
