/* Shared approved GrammarGenius loading design. No timers or minimum display time. */
:is(#gg-loading-screen,#portalBoot).gg-loading-screen{position:fixed;inset:0;z-index:1000;display:block;width:100%;height:100%;height:100dvh;margin:0;padding:0;overflow:hidden;isolation:isolate;box-sizing:border-box;background:#242027;color:#f8f4fa;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center}
:is(#gg-loading-screen,#portalBoot).gg-loading-screen[hidden]{display:none}
:is(#gg-loading-screen,#portalBoot) *{box-sizing:border-box}
:is(#gg-loading-screen,#portalBoot).gg-loading-screen::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 10%,#48305270,transparent 62%),linear-gradient(155deg,#2d2534 0%,#242027 54%,#28232a 100%)}
:is(#gg-loading-screen,#portalBoot) .gg-ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(52px);z-index:-1}
:is(#gg-loading-screen,#portalBoot) .gg-ambient-purple{width:240px;height:280px;top:calc(43% - 130px);left:calc(50% - 120px);background:#8950c324;animation:gg-light-breathe 6s ease-in-out infinite}
:is(#gg-loading-screen,#portalBoot) .gg-ambient-gold{width:200px;height:180px;bottom:-105px;left:calc(50% - 200px);background:#cda25d19}
:is(#gg-loading-screen,#portalBoot) .gg-wordmark{position:absolute;top:calc(43px + env(safe-area-inset-top,0px));left:0;right:0;text-align:center;letter-spacing:.2px;font-size:16px;font-weight:500;color:#f0e9f3d4}
:is(#gg-loading-screen,#portalBoot) .gg-wordmark>span{font-size:8px;vertical-align:super;margin-left:3px;color:#b9a9c4}
:is(#gg-loading-screen,#portalBoot) .gg-center{position:absolute;top:43%;left:14px;right:14px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;text-align:center}
:is(#gg-loading-screen,#portalBoot) .gg-mark-stage{position:relative;display:grid;place-items:center;width:178px;height:178px;margin-bottom:30px}
:is(#gg-loading-screen,#portalBoot) .gg-orbit{position:absolute;inset:5px;border:1px solid #d8b1f019;border-radius:50%}
:is(#gg-loading-screen,#portalBoot) .gg-orbit-light{position:absolute;inset:5px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 248deg,#b88ddd28 282deg,#eac482c9 335deg,transparent 358deg);mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));animation:gg-orbit-turn 4.5s linear infinite}
:is(#gg-loading-screen,#portalBoot) .gg-logo-tile{width:100px;height:100px;background:#faf7f3;border-radius:27px;overflow:hidden;box-shadow:0 16px 36px #10091e59,0 0 48px #ae7bd014;animation:gg-logo-breathe 4.5s ease-in-out infinite}
:is(#gg-loading-screen,#portalBoot) .gg-logo-tile>img{display:block;width:100%;height:100%;object-fit:contain}
:is(#gg-loading-screen,#portalBoot) .gg-app-label{color:#c7b5d3;letter-spacing:1.4px;font-size:11px;font-weight:500;line-height:1.5;margin-bottom:12px}
:is(#gg-loading-screen,#portalBoot) .gg-app-name{color:#f9f5fc;margin:0;font-size:32px;line-height:1.2;font-weight:500;letter-spacing:-1px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:is(#gg-loading-screen,#portalBoot) .gg-title-accent{height:2px;width:25px;background:#e5bc76;border-radius:2px;margin-top:22px;opacity:.85}
:is(#gg-loading-screen,#portalBoot) .gg-loading-status{position:absolute;bottom:calc(86px + env(safe-area-inset-bottom,0px));left:14px;right:14px;text-align:center}
:is(#gg-loading-screen,#portalBoot) .gg-loading-status p{margin:17px 0 0;font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.15px;color:#c7bacf}
:is(#gg-loading-screen,#portalBoot) .gg-loader{display:flex;justify-content:center;gap:6px;height:8px;align-items:center}
:is(#gg-loading-screen,#portalBoot) .gg-loader span{width:4px;height:4px;background:#ebc78b;border-radius:50%;animation:gg-dot-breathe 1.5s ease-in-out infinite}
:is(#gg-loading-screen,#portalBoot) .gg-loader span:nth-child(2){animation-delay:.18s}
:is(#gg-loading-screen,#portalBoot) .gg-loader span:nth-child(3){animation-delay:.36s}

:is(#gg-loading-screen,#portalBoot) .gg-logo-tile img{background:#faf7f3;border-radius:0;max-width:none;height:100%;width:100%}
:is(#gg-loading-screen,#portalBoot) .gg-loading-status{width:min(420px,calc(100% - 40px));left:50%;right:auto;transform:translateX(-50%)}
:is(#gg-loading-screen,#portalBoot) .gg-loading-status p{max-width:none;color:#c7bacf}
#portalBoot .actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
#portalBoot .actions[hidden]{display:none}
#portalBoot .actions button{margin:0;width:auto;flex:0 1 auto;border:1px solid #b6a0c24d;border-radius:12px;background:#3c3046;color:#f8f4fa;min-height:44px;padding:10px 16px;font:500 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#portalBoot .actions button.primary{background:#e5bc76;color:#27212e;border-color:#e5bc76}
#portalBoot:has(#portalBootActions:not([hidden])) .gg-loader{display:none}
#portalBoot:has(#portalBootActions:not([hidden])) .gg-orbit-light,#portalBoot:has(#portalBootActions:not([hidden])) .gg-logo-tile{animation:none}
@keyframes gg-orbit-turn{to{transform:rotate(360deg)}}
@keyframes gg-dot-breathe{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
@keyframes gg-logo-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes gg-light-breathe{0%,100%{opacity:.7}50%{opacity:1}}
@media(max-height:600px){:is(#gg-loading-screen,#portalBoot) .gg-wordmark{top:calc(20px + env(safe-area-inset-top,0px))}:is(#gg-loading-screen,#portalBoot) .gg-mark-stage{width:128px;height:128px;margin-bottom:16px}:is(#gg-loading-screen,#portalBoot) .gg-logo-tile{width:78px;height:78px;border-radius:22px}:is(#gg-loading-screen,#portalBoot) .gg-app-name{font-size:28px}:is(#gg-loading-screen,#portalBoot) .gg-app-label{font-size:10px;margin-bottom:8px}:is(#gg-loading-screen,#portalBoot) .gg-title-accent{margin-top:14px}:is(#gg-loading-screen,#portalBoot) .gg-loading-status{bottom:calc(24px + env(safe-area-inset-bottom,0px))}#portalBoot:has(#portalBootActions:not([hidden])) .gg-center{top:36%}#portalBoot:has(#portalBootActions:not([hidden])) .gg-app-label,#portalBoot:has(#portalBootActions:not([hidden])) .gg-title-accent{display:none}}
@media(prefers-reduced-motion:reduce){:is(#gg-loading-screen,#portalBoot) .gg-orbit-light,:is(#gg-loading-screen,#portalBoot) .gg-loader span,:is(#gg-loading-screen,#portalBoot) .gg-logo-tile,:is(#gg-loading-screen,#portalBoot) .gg-ambient-purple{animation:none}:is(#gg-loading-screen,#portalBoot) .gg-loader span{opacity:.65}}
