.elm-page{--navy:#051d49;--purple:#763cbc;--lilac:#cc8bdb;--blue:#0071ce;--cyan:#00a1e0;--orange:#ff5d36;--peach:#ffa168;--ground:#f5f6fb;--line:#d9deeb;--ghost:#e7eaf2;--muted:#47536f;--placeholder:#66718c;--sans:"IBM Plex Sans Arabic", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;box-sizing:border-box;background:var(--ground);min-height:100vh;color:var(--navy);font-family:var(--sans);padding:28px clamp(16px,4vw,56px) 56px;position:relative;overflow:hidden}.elm-page *,.elm-page :before,.elm-page :after{box-sizing:border-box}.elm-page h1,.elm-page p,.elm-page ul{margin:0;padding:0}.elm-page ul{list-style:none}.elm-shell{flex-direction:column;gap:28px;max-width:1240px;margin:0 auto;display:flex}.elm-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.elm-logo{width:auto;height:58px;display:block}.elm-badge{background:var(--navy);color:#fff;font:700 15px var(--mono);border-radius:10px;padding:9px 14px}.elm-grid{grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));align-items:start;gap:24px;display:grid}.elm-card{background:#fff;border-radius:24px;padding:clamp(22px,3vw,38px);box-shadow:0 24px 60px -32px #051d4947}.elm-form,.elm-done{flex-direction:column;gap:26px;display:flex}.elm-done{gap:24px}.elm-intro,.elm-group{flex-direction:column;gap:8px;display:flex}.elm-intro h1{font-size:clamp(30px,3.4vw,42px);font-weight:700;line-height:1.2}.elm-intro p{color:var(--muted);font-size:17px;line-height:1.7}.elm-page label,.elm-label{font-size:15px;font-weight:600}.elm-field{border:2px solid var(--line);width:100%;min-height:50px;color:var(--navy);font:500 16px var(--sans);background:#fff;border-radius:12px;padding:0 16px;transition:border-color .15s,box-shadow .15s}.elm-field::placeholder{color:var(--placeholder);font-weight:400}.elm-field:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #0071ce24}.elm-mono{font-family:var(--mono);font-size:15px}.elm-btn{cursor:pointer;font-family:var(--sans);border:0;transition:transform .12s,background-color .15s,color .15s,border-color .15s}.elm-btn:active{transform:translateY(1px)scale(.98)}.elm-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.elm-btn:disabled{cursor:wait;opacity:.65}.elm-primary{background:var(--navy);color:#fff;border-radius:14px;min-height:58px;font-size:19px;font-weight:700}.elm-primary:hover:not(:disabled){background:var(--purple)}.elm-ghost{border:2px solid var(--line);color:var(--navy);background:#fff}.elm-ghost:hover{border-color:var(--navy)}.elm-team-row{gap:8px;display:flex}.elm-dice{border-radius:12px;flex-shrink:0;place-items:center;width:50px;height:50px;display:grid}.elm-counts{gap:8px;display:flex}.elm-count{border:2px solid var(--line);width:64px;height:48px;color:var(--navy);font:700 18px var(--mono);background:#fff;border-radius:12px}.elm-count:hover{border-color:var(--navy)}.elm-count.on{border-color:var(--navy);background:var(--navy);color:#fff}.elm-members{flex-direction:column;gap:16px;display:flex}.elm-member{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.elm-member legend{margin-bottom:8px;padding:0}.elm-name-row{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:8px;display:grid}.elm-chips{flex:none!important}.elm-member-name{flex-direction:column;flex:210px;gap:7px;min-width:0;display:flex}.elm-chips{flex:262px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.elm-chip{border:2px solid var(--line);height:50px;color:var(--navy);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.elm-chip:hover{border-color:var(--navy);transform:translateY(-2px)}.elm-chip.on-grc{border-color:var(--purple);background:var(--purple);color:#fff}.elm-chip.on-soc{border-color:var(--blue);background:var(--blue);color:#fff}.elm-chip.on-pt{border-color:var(--orange);background:var(--orange);color:var(--navy)}.elm-errors{color:#8f2a0e;background:#fff0ea;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;font-size:15px;font-weight:500;line-height:1.7;display:flex}.elm-side{background-color:#fff;background-image:linear-gradient(30deg,#edeff7 1px,#0000 1px),linear-gradient(150deg,#edeff7 1px,#0000 1px);background-size:46px 26.5px;border-radius:24px;flex-direction:column;gap:26px;padding:clamp(22px,3vw,38px);display:flex}.elm-mark{direction:ltr;width:min(100%,440px);height:auto;margin:8px auto 0;display:block;overflow:visible}.elm-tile{fill:var(--ghost);transform-box:fill-box;transform-origin:50%;transition:fill .3s,transform .5s cubic-bezier(.3,1.7,.5,1);transform:scale(.86)}.elm-tile.on{transform:scale(1)}.elm-tile.on.peach{fill:var(--peach)}.elm-tile.on.orange{fill:var(--orange)}.elm-tile.on.cyan{fill:var(--cyan)}.elm-tile.on.blue{fill:var(--blue)}.elm-tile.on.purple{fill:var(--purple)}.elm-tile.on.lilac{fill:var(--lilac)}.elm-mark.full .elm-tile{animation:.7s ease-in-out 2 elm-hop}.elm-mark.full .elm-tile:nth-child(2){animation-delay:50ms}.elm-mark.full .elm-tile:nth-child(3){animation-delay:.1s}.elm-mark.full .elm-tile:nth-child(4){animation-delay:.15s}.elm-mark.full .elm-tile:nth-child(5){animation-delay:.2s}.elm-mark.full .elm-tile:nth-child(6){animation-delay:.25s}.elm-mark.full .elm-tile:nth-child(7){animation-delay:.3s}.elm-mark.full .elm-tile:nth-child(8){animation-delay:.35s}.elm-mark.full .elm-tile:nth-child(9){animation-delay:.4s}.elm-mark.full .elm-tile:nth-child(10){animation-delay:.45s}.elm-status{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.elm-status-text{font-size:24px;font-weight:700}.elm-status-count{font:700 20px var(--mono)}.elm-quests{flex-direction:column;gap:12px;display:flex}.elm-quests li{align-items:center;gap:12px;font-size:16px;font-weight:500;display:flex}.elm-quest-dot{width:30px;height:30px;color:var(--placeholder);background:#eef0f7;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.elm-quest-dot.ok{background:var(--blue);color:#fff}.elm-quest-dot.bad{background:var(--peach);color:var(--navy)}.elm-welcome{color:#0060b0;margin-bottom:6px;font-size:16px;font-weight:600}.elm-done h1{overflow-wrap:anywhere;font-size:clamp(34px,4vw,50px);font-weight:700;line-height:1.15}.elm-roster{flex-direction:column;display:flex}.elm-roster li{border-bottom:1px solid var(--ghost);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.elm-roster-name{overflow-wrap:anywhere;font-size:18px;font-weight:600}.elm-tag{font:700 13px var(--mono);border-radius:8px;flex-shrink:0;padding:5px 11px}.tag-GRC{background:var(--purple);color:#fff}.tag-SOC{background:var(--blue);color:#fff}.tag-PT{background:var(--orange);color:var(--navy)}.elm-warmup{background:var(--navy);color:#fff;border-radius:18px;flex-direction:column;gap:12px;padding:22px;display:flex}.elm-warmup-title{font-size:20px;font-weight:700}.elm-code{overflow-wrap:anywhere;text-align:left;font:500 15px var(--mono);background:#ffffff1a;border-radius:10px;padding:12px 14px}.elm-warmup label{color:#d5ddee;font-size:15px;font-weight:400;line-height:1.6}.elm-flag-row{flex-wrap:wrap;gap:8px;display:flex}.elm-flag-row .elm-field{flex:200px;width:auto}.elm-check{border-radius:12px;min-height:50px;padding:0 22px;font-size:16px;font-weight:700}.elm-flag-message{color:var(--peach);font-size:16px;font-weight:700}.elm-again{border-radius:12px;min-height:50px;font-size:16px;font-weight:700}.elm-confetti{z-index:5;pointer-events:none;position:absolute;inset:0}.elm-conf{background:var(--purple);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:22px;height:13px;animation:2.8s cubic-bezier(.3,.5,.6,1) forwards elm-fall;position:absolute;top:-24px}.elm-conf:nth-child(4n+1){background:var(--orange)}.elm-conf:nth-child(4n+2){background:var(--cyan)}.elm-conf:nth-child(4n+3){background:var(--peach)}.elm-conf:first-child{left:4%}.elm-conf:nth-child(2){animation-delay:.2s;left:11%}.elm-conf:nth-child(3){animation-delay:.5s;left:18%}.elm-conf:nth-child(4){animation-delay:.1s;left:25%}.elm-conf:nth-child(5){animation-delay:.7s;left:33%}.elm-conf:nth-child(6){animation-delay:.3s;left:40%}.elm-conf:nth-child(7){animation-delay:.6s;left:47%}.elm-conf:nth-child(8){left:54%}.elm-conf:nth-child(9){animation-delay:.4s;left:61%}.elm-conf:nth-child(10){animation-delay:.8s;left:68%}.elm-conf:nth-child(11){animation-delay:.2s;left:75%}.elm-conf:nth-child(12){animation-delay:.5s;left:82%}.elm-conf:nth-child(13){animation-delay:.1s;left:89%}.elm-conf:nth-child(14){animation-delay:.6s;left:95%}.elm-pop{animation:.45s cubic-bezier(.3,1.5,.5,1) elm-pop}@keyframes elm-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-12px)}}@keyframes elm-fall{0%{opacity:1;transform:translateY(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translateY(1100px)rotate(540deg)}}@keyframes elm-pop{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.elm-tile,.elm-chip,.elm-btn{transition:none}.elm-mark.full .elm-tile,.elm-pop{animation:none}.elm-confetti{display:none}}.elm-header-end{align-items:center;gap:10px;display:flex}.elm-lang{min-height:44px;font:600 15px var(--ui,inherit);border-radius:12px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.elm-suggest{border:2px dashed var(--line);background:var(--ground,#f5f6fb);width:100%;min-height:56px;color:var(--navy);text-align:start;border-radius:12px;align-items:center;gap:12px;padding:8px 12px;display:flex}.elm-suggest:hover{border-color:var(--purple);border-style:solid}.elm-suggest:hover .elm-suggest-icon{background:var(--purple);transform:rotate(-18deg)scale(1.06)}.elm-suggest-icon{background:var(--navy);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s;display:grid}.elm-suggest-text{flex-direction:column;gap:2px;line-height:1.4;display:flex}.elm-suggest-text strong{font-size:15px;font-weight:700}.elm-suggest-text small{color:#5a6886;font-size:13px;font-weight:500}@media (prefers-reduced-motion:reduce){.elm-suggest-icon{transition:none}}.elm-confirm{border:2px dashed var(--line);background:var(--ground,#f5f6fb);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 20px;display:flex}.elm-confirm-label{color:#5a6886;font-size:14px;font-weight:700}.elm-confirm-code{font:700 26px var(--mono);letter-spacing:2px;color:var(--navy)}.elm-confirm-note{color:#5a6886;font-size:13px;font-weight:500;line-height:1.6}
