.ghero{border-radius:18px;padding:26px 28px;display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;position:relative;overflow:hidden}.ghero-glow{position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:#c0c1ff1a;border-radius:50%;filter:blur(70px);pointer-events:none}.gmascot{position:relative;flex:0 0 auto;width:148px;display:flex;flex-direction:column;align-items:center;gap:10px}.gmascot-halo{position:absolute;inset:14px 14px auto;height:120px;background:radial-gradient(circle,rgba(192,193,255,.25),transparent 70%);border-radius:50%;filter:blur(16px)}#mascot{position:relative;z-index:1}.gm-quote-bubble{font-size:13px;font-style:italic;color:var(--muted);text-align:center;line-height:1.45;max-width:148px}.ghero-body{flex:1;min-width:280px}.gstats{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}.gstat{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;background:#ffffff08;border:1px solid var(--line);border-radius:12px;flex:1;min-width:100px}.gstat-div{width:1px;background:var(--line);margin:4px 0}.gs-ico{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;margin-top:2px}.gs-ico.fire{color:var(--warn)}.gs-ico.mint{color:var(--accent-2)}.gs-ico.lav{color:var(--accent)}.gstat b{font-size:22px;font-weight:700;display:block;line-height:1.1}.gstat span{font-size:11px;color:var(--muted);font-family:var(--mono)}.gs-best{font-size:10px;color:var(--muted);font-family:var(--mono);margin-top:2px}.gs-diff{font-size:10px;color:var(--muted);font-family:var(--mono);margin-top:2px;display:flex;gap:5px;flex-wrap:wrap}.gs-diff .de{color:var(--accent-2)}.gs-diff .dm{color:var(--warn)}.gs-diff .dh{color:var(--hot)}.gs-xpbar-wrap{width:100%;height:4px;background:#ffffff1a;border-radius:3px;margin-top:5px;overflow:hidden}.gs-xpbar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:3px;transition:width .4s ease;width:0%}.gs-xplabel{font-size:10px;color:var(--muted);font-family:var(--mono);margin-top:2px}.g7day{display:flex;align-items:center;gap:6px;margin-top:14px}.g7day-label{font-size:11px;color:var(--muted);font-family:var(--mono);margin-right:4px}.g7dot{width:26px;height:26px;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;font-family:var(--mono);gap:1px}.g7dot.active{background:#4edea338;border:1px solid rgba(78,222,163,.35);color:var(--accent-2)}.g7dot.today{box-shadow:0 0 0 2px var(--accent-2)}.g7dot.inactive{background:#ffffff0a;border:1px solid var(--line);color:var(--faint)}.g7dot-day{font-weight:700;font-size:8px}.g7dot-ct{font-size:9px}.ggoal{display:flex;gap:14px;align-items:center;margin-top:16px;background:#131b2eb3;border:1px solid var(--line);border-radius:14px;padding:12px 16px}.ggoal-ring{position:relative;flex:0 0 auto;width:60px;height:60px}.ggoal-ring span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700}.ggoal h4{font-size:16px;font-weight:600}.ggoal-btns{display:flex;gap:6px}.sqbtn{width:32px;height:32px;border-radius:9px;background:var(--panel-4);border:1px solid var(--line);color:var(--text);font-size:16px;font-weight:700;cursor:pointer;display:grid;place-items:center;transition:.15s}.sqbtn:hover{background:var(--panel-3);border-color:var(--accent)}.sqbtn:active{transform:scale(.9)}.switch-wrap{display:flex;gap:10px;align-items:center;cursor:pointer}.switch{position:relative;display:inline-block}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{display:block;width:42px;height:22px;border-radius:999px;background:var(--panel-4);border:1px solid var(--line);transition:.2s;position:relative}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:.2s}.switch input:checked+.switch-track{background:var(--accent-2);border-color:var(--accent-2)}.switch input:checked+.switch-track .switch-thumb{transform:translate(20px);background:#06251a}.gbadge-shelf{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 0;padding:16px 18px;background:#ffffff05;border:1px solid var(--line);border-radius:14px}.gbadge-shelf:empty{display:none}.gbadge{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:10px;border:1px solid;font-size:12px;font-weight:600;font-family:var(--mono);cursor:default;position:relative;transition:.15s}.gbadge.earned{background:#c0c1ff1a;border-color:#c0c1ff4d;color:var(--text)}.gbadge.earned:hover{background:#c0c1ff2e}.gbadge.locked{background:#ffffff08;border-color:#ffffff14;color:var(--faint);filter:grayscale(.6)}.gbadge-icon{font-size:16px}.gbadge-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:11px;white-space:nowrap;color:var(--muted);pointer-events:none;opacity:0;transition:.15s;z-index:30}.gbadge:hover .gbadge-tip{opacity:1}.gpath-outer{max-width:640px;margin:0 auto}.gpath{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;padding:16px 0}.gline{position:absolute;top:54px;bottom:54px;width:3px;left:50%;transform:translate(-50%);background:linear-gradient(to bottom,var(--accent),rgba(192,193,255,.12));opacity:.4;z-index:0;border-radius:3px}.gnode-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin-bottom:52px;width:240px;animation:gnodein .4s ease both}.gnode-wrap:last-child{margin-bottom:0}.gnode-wrap.side-l{align-self:flex-start;margin-left:20px}.gnode-wrap.side-r{align-self:flex-end;margin-right:20px}@keyframes gnodein{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.gnode{position:relative;width:84px;height:84px;border-radius:50%;border:none;background:none;cursor:pointer;padding:0}.gnode .gn-face{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;font-size:30px;background:#171f33cc;backdrop-filter:blur(12px);border:2px solid var(--line);transition:transform .2s,box-shadow .2s}.gnode:hover:not(.locked) .gn-face{transform:scale(1.1)}.gnode.unlocked .gn-face{border-color:#4edea399;box-shadow:0 0 20px #4edea333}.gnode.unlocked.active .gn-face{animation:gpulse 2s infinite}.gnode.progress .gn-face{border-color:#c0c1ff99;box-shadow:0 0 20px #c0c1ff2e}.gnode.mastered .gn-face{border-color:#ffb95fb3;box-shadow:0 0 24px #ffb95f4d}.gnode.locked{cursor:not-allowed}.gnode.locked .gn-face{opacity:.45;filter:grayscale(.6)}.gn-ring{position:absolute;inset:-3px;pointer-events:none}.gn-badge{position:absolute;bottom:-4px;right:-4px;min-width:24px;height:24px;padding:0 5px;border-radius:999px;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:700;border:2px solid var(--bg)}.gn-badge.b-prog{background:var(--accent-2);color:#06251a}.gn-badge.b-lock{background:var(--panel-4);color:var(--muted)}.gn-badge.b-master{background:var(--warn);color:#2a1700}.gn-crown{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:18px}.gn-next-pip{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background:var(--hot);border:2px solid var(--bg);animation:pipblink 1.4s infinite}@keyframes pipblink{0%,to{opacity:1}50%{opacity:.3}}.glabel{text-align:center;margin-top:12px}.glabel .gl-name{font-size:17px;font-weight:600;line-height:1.2}.glabel.dim .gl-name{color:var(--muted)}.glabel .gl-sub{font-size:11px;font-family:var(--mono);margin-top:3px;max-width:200px}.glabel .gl-sub.code{color:var(--accent-2)}.glabel .gl-sub.muted{color:var(--faint)}@keyframes gpulse{0%{box-shadow:0 0 #4edea373}70%{box-shadow:0 0 0 14px #4edea300}to{box-shadow:0 0 #4edea300}}.gmodal-overlay{position:fixed;inset:0;background:#060e20d1;backdrop-filter:blur(4px);z-index:120;display:none;align-items:center;justify-content:center;padding:16px}.gmodal-overlay.open{display:flex}.gmodal{width:min(640px,96vw);max-height:88vh;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);animation:gmin .22s ease}@keyframes gmin{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gm-head{padding:18px 22px 14px;border-bottom:1px solid var(--line);background:#131b2ea6;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.gm-icon{width:44px;height:44px;border-radius:12px;background:#c0c1ff1a;border:1px solid rgba(192,193,255,.2);display:grid;place-items:center;font-size:24px;flex:0 0 auto}.gm-eyebrow{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px}.gm-eyebrow .e-pat{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.gm-eyebrow .e-dot{width:3px;height:3px;border-radius:50%;background:var(--faint)}.gm-eyebrow .e-solved{color:var(--muted)}.gm-title{font-size:22px;font-weight:700;margin-top:3px}.gm-x{width:32px;height:32px;border-radius:50%;border:none;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.15s}.gm-x:hover{background:var(--panel-3);color:var(--text)}.gm-sub{padding:10px 22px;background:#222a3d59;font-size:14px;font-style:italic;color:var(--muted);border-bottom:1px solid var(--line)}.gm-progbar-wrap{height:3px;background:#ffffff12}.gm-progbar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .35s ease}.gm-list{padding:10px 12px;overflow-y:auto;flex:1}.gm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;transition:background .15s}.gm-row:hover{background:#31394d66}.gm-row .r-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.gm-row input[type=checkbox]{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent-2);cursor:pointer;border-radius:5px}.gm-row .r-title{font-family:var(--mono);font-size:13px;color:var(--muted);font-weight:500;flex:1;min-width:0}.gm-row.solved .r-title{color:var(--text);font-weight:600;text-decoration:line-through;text-decoration-color:#4edea366}.gm-chip{display:inline-flex;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-family:var(--mono);border:1px solid;flex:0 0 auto}.chip-easy{background:#4edea326;color:var(--accent-2);border-color:#4edea340}.chip-medium{background:#ffb95f26;color:var(--warn);border-color:#ffb95f40}.chip-hard{background:#ffb4ab26;color:var(--hot);border-color:#ffb4ab40}.r-xp{font-family:var(--mono);font-size:10px;color:var(--warn);opacity:.6;flex:0 0 auto}.r-open{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;color:var(--accent);text-decoration:none;opacity:.5;transition:.15s;flex:0 0 auto}.gm-row:hover .r-open{opacity:1}.r-lab{color:var(--accent-2);opacity:.75}.gm-foot{padding:14px 22px;border-top:1px solid var(--line);background:#131b2ea6;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.gm-foot .f-stats{display:flex;align-items:center;gap:16px}.gm-foot .f-stat span{font-size:11px;color:var(--muted);font-family:var(--mono);display:block}.gm-foot .f-stat b{font-size:18px;font-weight:700}.gm-foot .f-div{width:1px;height:30px;background:var(--line)}.gm-cta{padding:9px 18px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0d0096;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--mono);transition:.15s}.gm-cta:hover{filter:brightness(1.1)}.gm-cta:active{transform:scale(.96)}.xp-float{position:fixed;pointer-events:none;z-index:400;font-family:var(--mono);font-size:15px;font-weight:800;color:var(--warn);text-shadow:0 0 12px rgba(255,185,95,.5);transition:all .7s cubic-bezier(.22,1,.36,1)}.gtoa{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--accent-2);color:var(--accent-2);padding:11px 22px;border-radius:30px;font-weight:700;z-index:210;box-shadow:var(--shadow);white-space:nowrap;animation:toa-in .3s ease}@keyframes toa-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:600px){.gnode-wrap.side-l{margin-left:0}.gnode-wrap.side-r{margin-right:0}.gmascot{width:120px}.gstats{gap:4px}}
