/* Loggia visual system: local fonts, vector emblems and tactile controls. */
@font-face{font-family:PopText;src:url('fonts/pop-text.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:PopDisplay;src:url('fonts/pop-display.woff') format('woff');font-weight:700 900;font-display:swap}
:root{--pop-ink:#0a1730;--pop-panel:#203e64;--pop-gold:#ffda76;--pop-cyan:#91f1ec;--pop-text:#f5f7ff;--pop-muted:#c5d4e9}
body.royal-theme{font-family:PopText,system-ui,sans-serif;color:var(--pop-text);background:#101e38}
body.royal-theme :is(button,input,textarea,select){font-family:PopText,system-ui,sans-serif}
body.royal-theme :is(h1,h2,h3,.brand,.player strong,.round b,.play-big){font-family:PopDisplay,system-ui,sans-serif;font-weight:800;letter-spacing:-.035em}
body.royal-theme :is(.eyebrow,.mini-label,.section-kicker){font-family:PopDisplay,system-ui,sans-serif;font-size:10px;letter-spacing:.14em;color:#f6d58a;line-height:1.6}
body.royal-theme button{position:relative;border-radius:14px;border:1px solid #8daed77a;border-bottom:4px solid #142b4a;background:linear-gradient(180deg,#527da5,#31577e);color:#f7fbff;box-shadow:inset 0 2px 0 #d6f1ff52,0 3px 0 #07192c66,0 6px 12px #05152a22;font-family:PopDisplay,system-ui,sans-serif;font-weight:800;font-size:12px;line-height:1.35;letter-spacing:.015em;text-shadow:0 1px 2px #06182c66;transition:filter .14s,transform .14s,box-shadow .14s;touch-action:manipulation}
body.royal-theme button:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 2px 3px #081c3044,0 1px 0 #07192c66}
body.royal-theme button:disabled{opacity:.62;filter:saturate(.35);cursor:default}
body.royal-theme :is(button.primary,.play-big,#introEnter){background:linear-gradient(180deg,#fff2b5 0,#ffdc70 42%,#ffc247 43%,#f3a72d 100%);border:1px solid #fff3bb;border-bottom:5px solid #986029;color:#30253b;text-shadow:0 1px #fff2bf;box-shadow:inset 0 2px #fff8da,0 4px 0 #422b3666,0 9px 20px #061b3233}
body.royal-theme button.secondary{background:linear-gradient(180deg,#557eaa,#345580);border-color:#7ea3ce;border-bottom-color:#192f54}
body.royal-theme :is(button,input,select,textarea):focus-visible{outline:3px solid #a4ffea;outline-offset:4px}
body.royal-theme button.close{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;background:linear-gradient(#e395b5,#a95089);border-color:#f5b1d0;border-bottom-color:#713861;border-radius:13px;font-size:26px;line-height:1;box-shadow:inset 0 2px #ffd3e866,0 4px 8px #091a3233}
body.royal-theme button[data-ui-icon]{padding-left:43px}
body.royal-theme button[data-ui-icon]::before{content:'';position:absolute;left:13px;top:50%;transform:translateY(-50%);width:22px;height:22px;background:currentColor;-webkit-mask:var(--ui-icon) center/contain no-repeat;mask:var(--ui-icon) center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 1px 0 #ffffff22)}
[data-ui-icon=play]{--ui-icon:url('icons/ui/play.svg')}[data-ui-icon=cup]{--ui-icon:url('icons/ui/cup.svg')}[data-ui-icon=shield]{--ui-icon:url('icons/ui/shield.svg')}[data-ui-icon=shop]{--ui-icon:url('icons/ui/shop.svg')}[data-ui-icon=profile]{--ui-icon:url('icons/ui/profile.svg')}[data-ui-icon=home]{--ui-icon:url('icons/ui/home.svg')}[data-ui-icon=chat]{--ui-icon:url('icons/ui/chat.svg')}[data-ui-icon=gear]{--ui-icon:url('icons/ui/gear.svg')}[data-ui-icon=dart]{--ui-icon:url('icons/ui/dart.svg')}[data-ui-icon=refresh]{--ui-icon:url('icons/ui/refresh.svg')}[data-ui-icon=eye]{--ui-icon:url('icons/ui/eye.svg')}
body.royal-theme dialog:not(#brandIntro){background:radial-gradient(ellipse at top left,#42618b88,transparent 60%),linear-gradient(150deg,#263f68,#152b49);border:2px solid #8ba7d088;border-top:4px solid #abc5e9aa;border-radius:24px;box-shadow:inset 0 0 0 5px #acc9ff08,0 12px 0 #091a3044,0 24px 70px #020d21aa;padding:26px;color:var(--pop-text)}
body.royal-theme dialog::backdrop{background:#061229b8;backdrop-filter:blur(5px)}
body.royal-theme dialog h2{font-size:clamp(27px,5.5vw,38px);line-height:1.12;text-transform:none;color:#f4f7ff;text-shadow:0 3px 0 #0a1b3244;margin:14px 50px 22px 0;overflow-wrap:break-word}
body.royal-theme dialog h3{font-size:22px;line-height:1.25;color:#a6f3ed;text-transform:none}
body.royal-theme dialog :is(p,small,label){color:var(--pop-muted);line-height:1.65}
body.royal-theme dialog p{font-size:13px}
body.royal-theme :is(input:not([type=checkbox]):not([type=range]),textarea,select){background:#102740;border:1px solid #8ba8ca88;border-radius:12px;box-shadow:inset 0 2px 4px #05142666;color:#f3f8ff;padding:13px;font-size:14px;min-height:46px;max-width:100%;box-sizing:border-box}
body.royal-theme input::placeholder,body.royal-theme textarea::placeholder{color:#9cb1c9;opacity:1}
body.royal-theme input[type=checkbox]{accent-color:#62dacd;width:18px;height:18px;vertical-align:middle}
body.royal-theme :is(.lobby-play,.progress-card,.collection-card,.shop-item,.account-card,.matchmaking-card,.loadout-card){background:linear-gradient(145deg,#314f76,#1a3354);border:1px solid #8caed357;border-top:2px solid #b9d5f26b;border-radius:19px;box-shadow:inset 0 1px #ffffff08,0 7px 16px #05152b33}
body.royal-theme .mode-card{background:linear-gradient(135deg,#34557c,#1d3657);border:1px solid #769ac466;border-radius:16px;padding:16px;min-height:86px}
body.royal-theme .mode-card.selected{background:linear-gradient(120deg,#385e79,#244558);border-color:#9de8d8;box-shadow:inset 3px 0 #b4f9e8,0 4px 16px #06182c44}
body.royal-theme .mode-card b{font-family:PopDisplay,system-ui,sans-serif;font-size:15px;color:#f5f8ff}
body.royal-theme .mode-symbol{background:linear-gradient(#548399,#2e5269);border:1px solid #a5d2dc88;border-bottom:3px solid #162e47;border-radius:14px;color:#aaf3e8}
body.royal-theme button.mode-card[data-ui-icon]{padding-left:16px}
body.royal-theme button.mode-card[data-ui-icon]::before{display:none}
body.royal-theme .bottom-nav{background:linear-gradient(#294465f5,#142b47fa);border:1px solid #839fc066;border-radius:20px;box-shadow:inset 0 2px #d5e9ff22,0 8px 28px #06132677;padding:7px;gap:4px}
body.royal-theme .bottom-nav button{background:transparent;border:0;box-shadow:none;border-radius:13px;min-height:62px;font-size:9px;padding:34px 3px 5px;color:#c4d5ec;text-shadow:none}
body.royal-theme .bottom-nav button::before{top:16px;left:50%;transform:translateX(-50%);width:24px;height:24px;color:#a6c9e9}
body.royal-theme .bottom-nav button svg{display:none}
body.royal-theme .bottom-nav button.active{background:linear-gradient(#477182,#315163);color:#ffdf8a;box-shadow:inset 0 1px #a1dddf55}
body.royal-theme .bottom-nav button.active::before{color:#ffe49c}
body.royal-theme .shop-item{padding:17px 12px}
body.royal-theme .shop-item.equipped{border-color:#91ebd1;box-shadow:inset 0 0 0 2px #71d5c027,0 6px 16px #04152944}
body.royal-theme .shop-item>b{font-family:PopDisplay,system-ui,sans-serif;font-size:15px;color:#f2f8ff}
body.royal-theme .shop-item button{min-height:44px;font-size:11px;background:linear-gradient(#89e8da,#50bcb5);color:#11353f;border-color:#c0fff1;border-bottom-color:#2a777e;text-shadow:none}
body.royal-theme :is(.shop-balance,.round){background:linear-gradient(#112943,#0d2037);border:1px solid #7c9dc36b;border-radius:12px;color:#ffe092}
body.royal-theme .scoreboard{background:linear-gradient(#304c72,#182f50);border-bottom:2px solid #6c91bc66}
body.royal-theme .player strong{color:#fff3cf;text-shadow:0 3px #0c1d36;font-variant-numeric:tabular-nums}
body.royal-theme .player.active{filter:drop-shadow(0 0 6px #8ad9ed33)}
body.royal-theme .controls{background:linear-gradient(#263f61,#132a46);border-top:2px solid #7c9cc466}
body.royal-theme .track{background:#0a1c30;border:1px solid #6b91ad77;border-radius:10px;overflow:hidden}
body.royal-theme .track i{background:linear-gradient(90deg,#52c8b7,#b0f4ce,#ffe698)}
body.royal-theme .camera-controls button{font-size:10px;border-radius:10px;background:#183450e8}
body.royal-theme .camera-controls button.selected{background:#397086;color:#fff1b7;border-color:#a9dfed}
body.royal-theme .toast{background:#102b46ed;border:1px solid #a9d6de88;border-radius:14px;color:#fff2cf;font-family:PopDisplay,system-ui,sans-serif}
body.royal-theme #brandIntro .intro-copy h1,body.royal-theme #introTitle{font-family:PopDisplay,system-ui,sans-serif!important;font-weight:900!important;letter-spacing:-.065em!important;font-size:clamp(54px,9vw,114px)!important;line-height:.97!important;-webkit-text-stroke:0!important;filter:none!important;text-shadow:0 3px 0 #9d792e,0 7px 0 #162d4b,0 12px 24px #05162c99!important}
body.royal-theme #introTitle span,body.royal-theme #introTitle em{color:#fff5d7!important;background:none!important;-webkit-text-fill-color:#fff5d7!important;font-style:normal!important;-webkit-text-stroke:0!important}
body.royal-theme #introTitle em{color:#9bf2ee!important;-webkit-text-fill-color:#9bf2ee!important}
body.royal-theme #introTitle b{font-family:PopDisplay,system-ui,sans-serif;letter-spacing:.32em;background:linear-gradient(#fff1b2,#e6ad45);color:#342d39;text-shadow:0 1px #fff3c5;border:1px solid #ffe9a2;border-bottom:4px solid #987139;border-radius:12px;padding:10px 20px;box-shadow:0 5px 16px #06152b55}
body.royal-theme #brandIntro .intro-copy p{color:#f2f7ff;font-family:PopText,system-ui,sans-serif;font-size:clamp(14px,2vw,18px);line-height:1.6;text-shadow:0 2px 8px #061a36}
body.royal-theme #brandIntro .intro-kicker{font-family:PopDisplay,system-ui,sans-serif;letter-spacing:.14em;color:#ffe9a1;font-size:10px;line-height:1.7;text-shadow:0 2px 4px #061831}
body.royal-theme #introEnter{font-size:15px;min-height:62px;border-radius:18px;padding-right:24px}
body.royal-theme #introSkip{font-size:11px;min-height:42px;background:#183b5dcc;border-color:#a8d1e477;backdrop-filter:blur(5px)}
body.royal-theme #brandIntro .intro-edition{font-family:PopDisplay,system-ui,sans-serif;font-size:9px;letter-spacing:.16em;color:#ffe5a7}
body.royal-theme #brandIntro .intro-footer{font-family:PopDisplay,system-ui,sans-serif;letter-spacing:.16em;color:#c6eaf1;font-size:9px}
body.royal-theme .lobby-heading h1{font-size:clamp(25px,4vw,36px);color:#f3f8ff;text-shadow:0 3px #122741}
body.royal-theme .lodge-hero .hero-copy h2{font-family:PopDisplay,system-ui,sans-serif;font-weight:800;color:#fff2d1;font-size:clamp(28px,4vw,46px);line-height:1.1;letter-spacing:-.04em}
body.royal-theme .lodge-hero .hero-copy h2 em{color:#9af0e8;font-style:normal}
body.royal-theme :is(.lobby-xp i,.xp-track i){background:linear-gradient(90deg,#44b6b8,#a1f0d7);border-radius:9px}
@media(hover:hover){body.royal-theme button:not(:disabled):hover{filter:brightness(1.09)}}
@media(max-width:600px){body.royal-theme dialog:not(#brandIntro){padding:21px 17px;border-radius:21px;width:calc(100% - 22px);box-sizing:border-box}body.royal-theme dialog h2{font-size:29px;margin-right:45px}body.royal-theme dialog h3{font-size:21px}body.royal-theme dialog p{font-size:13px}body.royal-theme #brandIntro .intro-copy{padding-left:18px;padding-right:18px}body.royal-theme #introTitle{font-size:clamp(52px,12.8vw,78px)!important}body.royal-theme #brandIntro .intro-kicker{max-width:260px;margin:0 auto 14px}body.royal-theme #brandIntro .intro-edition{bottom:10px;font-size:8px}body.royal-theme .header-actions button[data-ui-icon]{padding-left:30px}body.royal-theme .header-actions button[data-ui-icon]::before{width:19px;height:19px;left:8px}body.royal-theme #mobileMenu{font-size:0;padding:0;width:42px}body.royal-theme #mobileMenu::before{left:10px;width:22px;height:22px}body.royal-theme .controls>.primary{font-size:14px;min-height:57px}body.royal-theme .mobile-actions button{font-size:9px}body.royal-theme .mobile-actions button[data-ui-icon]{padding-left:25px}body.royal-theme .mobile-actions button::before{left:6px;width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){body.royal-theme button{transition:none}}

body.royal-theme :is(#throw,#practiceThrow,#skillThrow52){touch-action:none}
