:root{--bg: #0a0a0a;--bg-2: #111118;--panel: #16161f;--panel-2: #1e1e2a;--panel-3: #262633;--ink: #f0f0f0;--ink-dim: #c4c4d2;--ink-faint: #9090a2;--plum: #dda0dd;--plum-bright: #efc4ef;--plum-deep: #9a5fa0;--plum-glow: rgba(221, 160, 221, .45);--plum-soft: rgba(221, 160, 221, .12);--pink: #ffb3c6;--teal: #9ad1d4;--yellow: #f6e05e;--green: #c3f584;--blue: #7aa2f7;--bevel-light: #45455a;--bevel-lighter: #5a5a72;--bevel-dark: #050507;--bevel-darker: #000000;--titlebar: linear-gradient(90deg, #6a3a8c 0%, #9a5fa0 55%, #c77ec9 100%);--radius: 10px;--font-pixel: "Pixelify Sans", system-ui, sans-serif;--font-body: "Poppins", system-ui, sans-serif;--font-mono: "VT323", "Courier New", monospace;--cur-hand: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 16 16' shape-rendering='crispEdges'><rect x='1' y='0' width='2' height='1' fill='%23000000'/><rect x='8' y='0' width='3' height='1' fill='%23000000'/><rect x='0' y='1' width='1' height='1' fill='%23000000'/><rect x='1' y='1' width='2' height='1' fill='%23ffffff'/><rect x='3' y='1' width='1' height='1' fill='%23000000'/><rect x='6' y='1' width='2' height='1' fill='%23000000'/><rect x='8' y='1' width='3' height='1' fill='%23ffffff'/><rect x='11' y='1' width='1' height='1' fill='%23000000'/><rect x='0' y='2' width='1' height='1' fill='%23000000'/><rect x='1' y='2' width='3' height='1' fill='%23ffffff'/><rect x='4' y='2' width='2' height='1' fill='%23000000'/><rect x='6' y='2' width='2' height='1' fill='%23ffffff'/><rect x='8' y='2' width='1' height='1' fill='%23000000'/><rect x='9' y='2' width='3' height='1' fill='%23ffffff'/><rect x='12' y='2' width='1' height='1' fill='%23000000'/><rect x='0' y='3' width='1' height='1' fill='%23000000'/><rect x='1' y='3' width='5' height='1' fill='%23ffffff'/><rect x='6' y='3' width='1' height='1' fill='%23000000'/><rect x='7' y='3' width='5' height='1' fill='%23ffffff'/><rect x='12' y='3' width='1' height='1' fill='%23000000'/><rect x='1' y='4' width='1' height='1' fill='%23000000'/><rect x='2' y='4' width='8' height='1' fill='%23ffffff'/><rect x='10' y='4' width='1' height='1' fill='%23000000'/><rect x='11' y='4' width='2' height='1' fill='%23ffffff'/><rect x='13' y='4' width='1' height='1' fill='%23000000'/><rect x='2' y='5' width='1' height='1' fill='%23000000'/><rect x='3' y='5' width='5' height='1' fill='%23ffffff'/><rect x='8' y='5' width='1' height='1' fill='%23000000'/><rect x='9' y='5' width='2' height='1' fill='%23ffffff'/><rect x='11' y='5' width='1' height='1' fill='%23000000'/><rect x='12' y='5' width='1' height='1' fill='%23ffffff'/><rect x='13' y='5' width='1' height='1' fill='%23000000'/><rect x='2' y='6' width='2' height='1' fill='%23000000'/><rect x='4' y='6' width='5' height='1' fill='%23ffffff'/><rect x='9' y='6' width='1' height='1' fill='%23000000'/><rect x='10' y='6' width='3' height='1' fill='%23ffffff'/><rect x='13' y='6' width='1' height='1' fill='%23000000'/><rect x='2' y='7' width='3' height='1' fill='%23000000'/><rect x='5' y='7' width='8' height='1' fill='%23ffffff'/><rect x='13' y='7' width='2' height='1' fill='%23000000'/><rect x='2' y='8' width='2' height='1' fill='%23000000'/><rect x='4' y='8' width='8' height='1' fill='%23ffffff'/><rect x='12' y='8' width='1' height='1' fill='%23000000'/><rect x='13' y='8' width='2' height='1' fill='%23ffffff'/><rect x='15' y='8' width='1' height='1' fill='%23000000'/><rect x='3' y='9' width='1' height='1' fill='%23000000'/><rect x='4' y='9' width='11' height='1' fill='%23ffffff'/><rect x='15' y='9' width='1' height='1' fill='%23000000'/><rect x='4' y='10' width='1' height='1' fill='%23000000'/><rect x='5' y='10' width='4' height='1' fill='%23ffffff'/><rect x='9' y='10' width='1' height='1' fill='%23000000'/><rect x='10' y='10' width='4' height='1' fill='%23ffffff'/><rect x='14' y='10' width='1' height='1' fill='%23000000'/><rect x='5' y='11' width='4' height='1' fill='%23000000'/><rect x='9' y='11' width='4' height='1' fill='%23ffffff'/><rect x='13' y='11' width='1' height='1' fill='%23000000'/><rect x='8' y='12' width='1' height='1' fill='%23000000'/><rect x='9' y='12' width='3' height='1' fill='%23ffffff'/><rect x='12' y='12' width='1' height='1' fill='%23000000'/><rect x='8' y='13' width='4' height='1' fill='%23000000'/><rect x='9' y='14' width='2' height='1' fill='%23000000'/></svg>");--cur-point: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 16 16' shape-rendering='crispEdges'><rect x='6' y='0' width='2' height='1' fill='%23000000'/><rect x='5' y='1' width='1' height='1' fill='%23000000'/><rect x='6' y='1' width='2' height='1' fill='%23ffffff'/><rect x='8' y='1' width='1' height='1' fill='%23000000'/><rect x='5' y='2' width='1' height='1' fill='%23000000'/><rect x='6' y='2' width='2' height='1' fill='%23ffffff'/><rect x='8' y='2' width='1' height='1' fill='%23000000'/><rect x='5' y='3' width='1' height='1' fill='%23000000'/><rect x='6' y='3' width='2' height='1' fill='%23ffffff'/><rect x='8' y='3' width='1' height='1' fill='%23000000'/><rect x='5' y='4' width='1' height='1' fill='%23000000'/><rect x='6' y='4' width='2' height='1' fill='%23ffffff'/><rect x='8' y='4' width='5' height='1' fill='%23000000'/><rect x='5' y='5' width='1' height='1' fill='%23000000'/><rect x='6' y='5' width='2' height='1' fill='%23ffffff'/><rect x='8' y='5' width='1' height='1' fill='%23000000'/><rect x='9' y='5' width='2' height='1' fill='%23ffffff'/><rect x='11' y='5' width='1' height='1' fill='%23000000'/><rect x='12' y='5' width='1' height='1' fill='%23ffffff'/><rect x='13' y='5' width='2' height='1' fill='%23000000'/><rect x='2' y='6' width='2' height='1' fill='%23000000'/><rect x='5' y='6' width='1' height='1' fill='%23000000'/><rect x='6' y='6' width='2' height='1' fill='%23ffffff'/><rect x='8' y='6' width='1' height='1' fill='%23000000'/><rect x='9' y='6' width='2' height='1' fill='%23ffffff'/><rect x='11' y='6' width='1' height='1' fill='%23000000'/><rect x='12' y='6' width='1' height='1' fill='%23ffffff'/><rect x='13' y='6' width='1' height='1' fill='%23000000'/><rect x='14' y='6' width='1' height='1' fill='%23ffffff'/><rect x='15' y='6' width='1' height='1' fill='%23000000'/><rect x='1' y='7' width='1' height='1' fill='%23000000'/><rect x='2' y='7' width='2' height='1' fill='%23ffffff'/><rect x='4' y='7' width='2' height='1' fill='%23000000'/><rect x='6' y='7' width='9' height='1' fill='%23ffffff'/><rect x='15' y='7' width='1' height='1' fill='%23000000'/><rect x='1' y='8' width='1' height='1' fill='%23000000'/><rect x='2' y='8' width='3' height='1' fill='%23ffffff'/><rect x='5' y='8' width='1' height='1' fill='%23000000'/><rect x='6' y='8' width='9' height='1' fill='%23ffffff'/><rect x='15' y='8' width='1' height='1' fill='%23000000'/><rect x='2' y='9' width='1' height='1' fill='%23000000'/><rect x='3' y='9' width='5' height='1' fill='%23ffffff'/><rect x='8' y='9' width='1' height='1' fill='%23000000'/><rect x='9' y='9' width='1' height='1' fill='%23ffffff'/><rect x='10' y='9' width='1' height='1' fill='%23000000'/><rect x='11' y='9' width='1' height='1' fill='%23ffffff'/><rect x='12' y='9' width='1' height='1' fill='%23000000'/><rect x='13' y='9' width='2' height='1' fill='%23ffffff'/><rect x='15' y='9' width='1' height='1' fill='%23000000'/><rect x='3' y='10' width='1' height='1' fill='%23000000'/><rect x='4' y='10' width='4' height='1' fill='%23ffffff'/><rect x='8' y='10' width='1' height='1' fill='%23000000'/><rect x='9' y='10' width='1' height='1' fill='%23ffffff'/><rect x='10' y='10' width='1' height='1' fill='%23000000'/><rect x='11' y='10' width='1' height='1' fill='%23ffffff'/><rect x='12' y='10' width='1' height='1' fill='%23000000'/><rect x='13' y='10' width='2' height='1' fill='%23ffffff'/><rect x='15' y='10' width='1' height='1' fill='%23000000'/><rect x='3' y='11' width='1' height='1' fill='%23000000'/><rect x='4' y='11' width='4' height='1' fill='%23ffffff'/><rect x='8' y='11' width='1' height='1' fill='%23000000'/><rect x='9' y='11' width='1' height='1' fill='%23ffffff'/><rect x='10' y='11' width='1' height='1' fill='%23000000'/><rect x='11' y='11' width='1' height='1' fill='%23ffffff'/><rect x='12' y='11' width='1' height='1' fill='%23000000'/><rect x='13' y='11' width='1' height='1' fill='%23ffffff'/><rect x='14' y='11' width='1' height='1' fill='%23000000'/><rect x='4' y='12' width='1' height='1' fill='%23000000'/><rect x='5' y='12' width='3' height='1' fill='%23ffffff'/><rect x='8' y='12' width='1' height='1' fill='%23000000'/><rect x='9' y='12' width='1' height='1' fill='%23ffffff'/><rect x='10' y='12' width='1' height='1' fill='%23000000'/><rect x='11' y='12' width='1' height='1' fill='%23ffffff'/><rect x='12' y='12' width='1' height='1' fill='%23000000'/><rect x='13' y='12' width='1' height='1' fill='%23ffffff'/><rect x='14' y='12' width='1' height='1' fill='%23000000'/><rect x='5' y='13' width='1' height='1' fill='%23000000'/><rect x='6' y='13' width='7' height='1' fill='%23ffffff'/><rect x='13' y='13' width='1' height='1' fill='%23000000'/><rect x='6' y='14' width='1' height='1' fill='%23000000'/><rect x='7' y='14' width='4' height='1' fill='%23ffffff'/><rect x='11' y='14' width='1' height='1' fill='%23000000'/><rect x='12' y='14' width='1' height='1' fill='%23ffffff'/><rect x='13' y='14' width='1' height='1' fill='%23000000'/><rect x='6' y='15' width='5' height='1' fill='%23000000'/><rect x='12' y='15' width='2' height='1' fill='%23000000'/></svg>")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:400;font-size:16px;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html,body{cursor:var(--cur-hand) 13 2,auto}a,button,[role=button],label,summary{cursor:var(--cur-point) 14 1,pointer}button{font-family:inherit;color:inherit;border:none;background:none}a{color:var(--plum);text-decoration:none}a:hover{color:var(--plum-bright)}::selection{background:var(--plum);color:#1a0a1a}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:var(--bg-2)}*::-webkit-scrollbar-thumb{background:var(--plum-deep);border:2px solid var(--bg-2);border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:var(--plum)}*{scrollbar-color:var(--plum-deep) var(--bg-2)}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes drift-up{0%{transform:translateY(0)}to{transform:translateY(-100vh)}}@keyframes float-around{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:var(--peak, .5)}90%{opacity:var(--peak, .5)}to{transform:translate(var(--dx, 20px),-110vh) rotate(var(--rot, 180deg));opacity:0}}@keyframes scanline-move{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 6px var(--plum-glow)}50%{box-shadow:0 0 16px var(--plum-glow),0 0 28px var(--plum-soft)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pop-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes window-open{0%{transform:scale(.85) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-120% 0}to{background-position:220% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes trail-fade{0%{transform:scale(1) rotate(0);opacity:.9}to{transform:scale(0) rotate(90deg);opacity:0}}@keyframes dot-blink{0%,to{box-shadow:0 0 #c3f58499;opacity:1}50%{box-shadow:0 0 0 6px #c3f58400;opacity:.7}}.bg-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(1200px 700px at 80% -10%,rgba(154,95,160,.16),transparent 60%),radial-gradient(900px 600px at 0% 110%,rgba(154,209,212,.08),transparent 55%),linear-gradient(160deg,#0b0b12 0%,var(--bg) 60%,#08080c 100%)}.star{position:absolute;border-radius:50%;animation:twinkle var(--dur, 3s) ease-in-out infinite;animation-delay:var(--delay, 0s);will-change:opacity,transform}.star.drift{animation:twinkle var(--dur, 3s) ease-in-out infinite,drift-up var(--drift, 40s) linear infinite}.floatie{position:absolute;bottom:-40px;font-family:var(--font-pixel);color:var(--plum);animation:float-around var(--dur, 18s) linear infinite;animation-delay:var(--delay, 0s);will-change:transform,opacity;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 4px var(--plum-glow))}.crt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;pointer-events:none}.crt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.025) 0px,rgba(255,255,255,.025) 1px,transparent 1px,transparent 3px);animation:scanline-move .5s steps(2) infinite}.crt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 62%,rgba(0,0,0,.45) 100%)}.trail-spark{position:fixed;z-index:8500;pointer-events:none;font-size:14px;color:var(--plum);text-shadow:0 0 6px var(--plum-glow);animation:trail-fade .7s ease-out forwards;will-change:transform,opacity}.boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:radial-gradient(900px 600px at 50% 25%,#11111c,#060608 70%);font-family:var(--font-mono);font-size:24px;line-height:1.55;padding:clamp(20px,6vw,70px);display:flex;flex-direction:column;justify-content:center;gap:6px}.boot-logo{font-family:var(--font-pixel);font-size:clamp(32px,7vw,58px);font-weight:700;color:var(--plum-bright);text-shadow:0 0 18px var(--plum-glow);margin-bottom:22px;display:flex;align-items:center;gap:16px}.boot-term{display:flex;flex-direction:column;gap:4px;min-height:9em}.boot-line{white-space:pre-wrap;color:var(--ink-dim)}.boot-line.plum{color:var(--plum);text-shadow:0 0 10px var(--plum-glow)}.boot-line .ok{color:var(--green)}.boot-cursor{display:inline-block;width:11px;height:21px;background:var(--plum);margin-left:3px;vertical-align:middle;animation:blink 1s steps(1) infinite}.hunt-start{align-self:flex-start;margin-top:30px;font-family:var(--font-pixel);font-weight:700;font-size:clamp(16px,2.2vw,20px);color:#1a0a1a;background:linear-gradient(180deg,var(--plum-bright),var(--plum));padding:12px 24px;border-radius:10px;border:2px solid;border-top-color:#fff;border-left-color:#fff;border-right-color:var(--plum-deep);border-bottom-color:var(--plum-deep);box-shadow:0 0 22px var(--plum-glow);animation:pop-in .4s ease-out,glow-pulse 2.6s ease-in-out infinite}.hunt-start:hover{filter:brightness(1.08);transform:translateY(-2px)}.hunt-start:active{transform:translateY(0)}.hub{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;overflow-y:auto;display:flex}.hub-inner{margin:auto;width:100%;max-width:800px;padding:46px 20px 38px;display:flex;flex-direction:column;align-items:center;gap:26px;animation:fade-in .5s ease-out}.hub-head{text-align:center}.hub-title{font-family:var(--font-pixel);font-weight:700;font-size:clamp(30px,6vw,46px);color:var(--plum-bright);text-shadow:0 0 18px var(--plum-glow);letter-spacing:1px}.hub-sub{margin-top:6px;color:var(--ink-dim);font-size:18px;letter-spacing:.5px}.profile-card{width:100%;display:flex;gap:20px;padding:20px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:2px solid;border-top-color:var(--bevel-lighter);border-left-color:var(--bevel-lighter);border-right-color:var(--bevel-darker);border-bottom-color:var(--bevel-darker);border-radius:var(--radius);box-shadow:0 12px 32px #0000008c,0 0 18px var(--plum-soft)}.pc-avatar{flex-shrink:0;width:86px;height:86px;display:grid;place-items:center;font-size:46px;background:var(--panel-3);border:2px solid var(--plum-deep);border-radius:14px;box-shadow:inset 0 0 12px #0009;animation:glow-pulse 4s ease-in-out infinite}.pc-body{flex:1;min-width:0}.pc-toprow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pc-name{font-family:var(--font-pixel);font-weight:700;font-size:27px;color:var(--ink)}.pc-handle{font-family:var(--font-mono);font-size:18px;color:var(--teal)}.pc-title{color:var(--plum);font-size:17px;margin-top:3px}.pc-tagline{color:var(--ink-dim);font-size:15px;margin:7px 0 11px}.pc-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.pc-tag{font-size:14px;color:var(--plum-bright);background:var(--plum-soft);border:1px solid rgba(221,160,221,.4);padding:4px 11px;border-radius:999px}.xp-line{width:100%}.xp-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:16px;color:var(--ink-faint);margin-bottom:5px}.xp-track{height:20px;background:#08080e;border:2px solid;border-top-color:var(--bevel-dark);border-left-color:var(--bevel-dark);border-right-color:var(--bevel-light);border-bottom-color:var(--bevel-light);border-radius:5px;padding:2px;overflow:hidden}.xp-fill{height:100%;border-radius:3px;width:0;transition:width 1.1s cubic-bezier(.2,.9,.3,1);background-color:var(--plum);background-image:linear-gradient(90deg,rgba(255,255,255,.3) 0 12px,transparent 12px 16px);background-size:16px 100%;position:relative;box-shadow:0 0 10px var(--plum-glow)}.xp-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:shimmer 2.6s linear infinite}.hunt-frame{width:100%;background:var(--panel);border:2px solid;border-top-color:var(--bevel-lighter);border-left-color:var(--bevel-lighter);border-right-color:var(--bevel-darker);border-bottom-color:var(--bevel-darker);border-radius:var(--radius);box-shadow:0 14px 38px #0009;overflow:hidden}.menu-bar{display:flex;gap:4px;padding:6px 8px;background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border-bottom:2px solid var(--bevel-dark)}.menu-item{font-family:var(--font-pixel);font-weight:600;font-size:16px;color:var(--ink-dim);padding:3px 11px;border-radius:5px;-webkit-user-select:none;user-select:none;transition:color .12s,background .12s}.menu-item:hover{color:#fff;background:var(--plum-soft)}.treasure-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:24px}.treasure{flex:0 0 154px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 10px;background:var(--panel-2);border:2px solid transparent;border-radius:var(--radius);transition:background .14s,border-color .14s,transform .14s,box-shadow .14s}.treasure:hover{background:var(--plum-soft);border:2px dashed var(--plum);transform:translateY(-3px);box-shadow:0 8px 20px #00000080,0 0 16px var(--plum-soft)}.treasure:focus-visible{outline:2px dashed var(--plum);outline-offset:2px}.treasure.lit{background:var(--plum-soft);border:2px dashed var(--plum);animation:treasure-spotlight .73s ease-in-out 3}@keyframes treasure-spotlight{0%,to{box-shadow:0 0 8px var(--plum-soft);transform:translateY(0) scale(1)}50%{box-shadow:0 0 28px var(--plum-glow),0 0 46px var(--plum-soft);transform:translateY(-4px) scale(1.05)}}.t-icon{display:inline-flex;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.55));transition:transform .18s}.treasure:hover .t-icon{transform:scale(1.12) rotate(-4deg)}.t-label{font-family:var(--font-pixel);font-weight:600;font-size:16px;color:var(--ink);text-align:center;text-shadow:1px 1px 0 #000;letter-spacing:.3px}.hub-foot{color:var(--ink-faint);font-size:14px;text-align:center;letter-spacing:.5px}.hub-foot span{color:var(--plum)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;background:#040408ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:18px;animation:overlay-in .18s ease-out}.popup{width:min(680px,100%);max-height:78vh;display:flex;flex-direction:column;background:var(--panel);border:2px solid;border-top-color:var(--bevel-lighter);border-left-color:var(--bevel-lighter);border-right-color:var(--bevel-darker);border-bottom-color:var(--bevel-darker);box-shadow:inset 1px 1px 0 var(--bevel-light),inset -1px -1px 0 var(--bevel-dark),0 18px 60px #000000b3,0 0 0 1px #dda0dd38,0 0 26px #dda0dd2e;animation:window-open .24s cubic-bezier(.2,.9,.3,1.1)}.popup-bar{height:34px;flex-shrink:0;display:flex;align-items:center;gap:9px;padding:0 5px 0 9px;background:var(--titlebar);-webkit-user-select:none;user-select:none}.pb-icon{display:inline-flex;flex-shrink:0}.pb-title{flex:1;font-size:17px;letter-spacing:.4px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-close{width:26px;height:24px;display:grid;place-items:center;font-size:14px;font-weight:700;color:#2a0a0a;background:#e07070;border:2px solid;border-top-color:#ffc0c0;border-left-color:#ffc0c0;border-right-color:#7a1a1a;border-bottom-color:#7a1a1a}.pb-close:hover{background:#ff8a8a}.pb-close:active{border-top-color:#7a1a1a;border-left-color:#7a1a1a;border-right-color:#ffc0c0;border-bottom-color:#ffc0c0}.popup-body{flex:1;min-height:0;padding:5px;display:flex}.popup-inner{flex:1;min-height:0;overflow-y:auto;background:linear-gradient(180deg,var(--bg-2),var(--bg));border:2px solid;border-top-color:var(--bevel-dark);border-left-color:var(--bevel-dark);border-right-color:var(--bevel-light);border-bottom-color:var(--bevel-light);border-radius:var(--radius);padding:24px}.section{animation:fade-in .3s ease-out}.sec-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px dashed rgba(221,160,221,.3)}.sec-head h2{flex:1;font-family:var(--font-pixel);font-weight:700;font-size:28px;color:var(--plum-bright);text-shadow:0 0 12px var(--plum-glow);letter-spacing:.5px}.sec-head .spark{color:var(--plum);animation:twinkle 2.4s ease-in-out infinite}.sec-intro{color:var(--ink-dim);font-size:16px;margin-bottom:18px;line-height:1.5}.help-list{list-style:none;display:flex;flex-direction:column;gap:11px}.help-list li{color:var(--ink-dim);font-size:16px;line-height:1.5;padding:11px 14px;background:var(--panel-2);border:2px solid;border-top-color:var(--bevel-light);border-left-color:var(--bevel-light);border-right-color:var(--bevel-dark);border-bottom-color:var(--bevel-dark);border-radius:8px}.help-list b{color:var(--plum-bright);font-weight:600}.about-top{display:flex;align-items:center;gap:18px;margin-bottom:18px}.about-avatar{flex-shrink:0;width:108px;height:108px;display:grid;place-items:center;font-size:56px;background:var(--panel-2);border:2px solid var(--plum-deep);border-radius:16px;box-shadow:inset 0 0 12px #0009,0 0 12px var(--plum-soft);animation:bob 5s ease-in-out infinite;overflow:hidden}.about-photo{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}.about-name{font-family:var(--font-pixel);font-weight:700;font-size:30px;color:var(--ink);line-height:1.1}.about-title{color:var(--plum);font-size:17px;margin-top:5px}.about-tagline{display:flex;align-items:baseline;gap:8px;font-family:var(--font-pixel);font-weight:600;font-size:15.5px;color:var(--plum-bright);background:var(--plum-soft);border-left:3px solid var(--plum);border-radius:8px;padding:10px 14px;margin-bottom:18px;text-shadow:0 0 10px var(--plum-glow);line-height:1.4}.about-tagline .spark{color:var(--plum);animation:twinkle 2.4s ease-in-out infinite}.about-bio{color:var(--ink-dim);font-size:17px;line-height:1.7;margin-bottom:16px;text-align:justify}.about-hint{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-faint);background:transparent;border:1px dashed rgba(221,160,221,.35);border-radius:8px;padding:9px 14px;margin-bottom:18px;text-align:left;transition:color .14s,background .14s,border-color .14s,transform .14s}.about-hint:hover{color:var(--plum-bright);background:var(--plum-soft);border-color:var(--plum);transform:translate(3px)}.about-hint-go{color:var(--plum);font-family:var(--font-mono);font-size:17px}.tag-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.tag{font-size:14px;color:var(--plum-bright);background:var(--plum-soft);border:1px solid rgba(221,160,221,.4);padding:6px 12px;border-radius:999px;transition:transform .12s,box-shadow .12s}.tag:hover{transform:translateY(-2px);box-shadow:0 0 12px var(--plum-glow)}.info-list{display:flex;flex-direction:column;gap:9px;list-style:none}.info-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--panel-2);border:2px solid;border-top-color:var(--bevel-light);border-left-color:var(--bevel-light);border-right-color:var(--bevel-dark);border-bottom-color:var(--bevel-dark);border-radius:8px}.info-icon{font-size:19px;width:24px;text-align:center}.info-label{width:92px;flex-shrink:0;color:var(--ink-faint);font-size:15px}.info-value{color:var(--ink);font-size:16px;word-break:break-word}a.info-value{color:var(--plum)}a.info-value:hover{color:var(--plum-bright)}.proj-list{display:flex;flex-direction:column;gap:10px;list-style:none}.proj-row{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left;font-size:18px;color:var(--ink);background:var(--panel-2);border:2px solid;border-top-color:var(--bevel-light);border-left-color:var(--bevel-light);border-right-color:var(--bevel-dark);border-bottom-color:var(--bevel-dark);border-radius:8px;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}.proj-row:hover{background:var(--plum-soft);transform:translate(3px);border-color:var(--plum-deep);box-shadow:0 0 16px var(--plum-soft)}.proj-gem{display:inline-flex;flex-shrink:0}.proj-name{flex:1;font-family:var(--font-pixel);font-weight:700}.proj-open{color:var(--plum);font-size:18px}.proj-status{font-family:var(--font-mono);font-size:15px;color:var(--yellow);border:1px solid color-mix(in srgb,var(--yellow) 50%,#000);background:#f6e05e14;padding:1px 9px;border-radius:4px;white-space:nowrap}.pd-head{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px dashed rgba(221,160,221,.3)}.pd-gem{display:inline-flex;flex-shrink:0}.pd-title{font-family:var(--font-pixel);font-weight:700;font-size:24px;color:var(--plum-bright);text-shadow:0 0 12px var(--plum-glow);line-height:1.15}.pd-sub{color:var(--teal);font-size:16px;margin-top:4px}.pd-label{font-family:var(--font-mono);font-size:18px;color:var(--plum);letter-spacing:.5px;margin:18px 0 10px}.pd-desc{color:var(--ink-dim);font-size:16.5px;line-height:1.7}.proj-tech{display:flex;flex-wrap:wrap;gap:8px}.pill{font-family:var(--font-mono);font-size:16px;color:var(--plum-bright);background:#0c0c12;border:1px solid var(--plum-deep);padding:2px 11px;border-radius:999px}.repo-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-pixel);font-weight:700;font-size:16px;color:#1a0a1a;background:linear-gradient(180deg,var(--plum-bright),var(--plum));padding:10px 18px;border-radius:8px;border:2px solid;border-top-color:#fff;border-left-color:#fff;border-right-color:var(--plum-deep);border-bottom-color:var(--plum-deep)}.repo-btn:hover{filter:brightness(1.08);color:#1a0a1a;transform:translateY(-2px)}.repo-btn.disabled{background:var(--panel-3);color:var(--ink-faint);border-color:var(--bevel-light);cursor:not-allowed;filter:none;transform:none}.skill-group{margin-bottom:24px}.skill-group:last-child{margin-bottom:0}.skill-cat{font-family:var(--font-pixel);font-weight:700;font-size:18px;color:var(--plum-bright);text-shadow:0 0 10px var(--plum-glow);letter-spacing:.5px;margin-bottom:13px;padding-bottom:6px;border-bottom:1px dashed rgba(221,160,221,.3)}.skill-list{display:flex;flex-direction:column;gap:16px}.skill{display:flex;flex-direction:column;gap:7px}.skill-meta{display:flex;justify-content:space-between;align-items:center;font-size:16px}.skill-meta .nm{color:var(--ink);display:flex;align-items:center;gap:9px}.skill-dot{width:11px;height:11px;border-radius:2px;display:inline-block;background:var(--plum);box-shadow:0 0 6px var(--plum-glow)}.skill-meta .lv{font-family:var(--font-mono);font-size:18px;color:var(--plum)}.cert-grid{display:flex;flex-direction:column;gap:13px}.cert-card{display:flex;align-items:center;gap:15px;padding:15px;background:var(--panel-2);border:2px solid;border-top-color:var(--bevel-light);border-left-color:var(--bevel-light);border-right-color:var(--bevel-dark);border-bottom-color:var(--bevel-dark);border-radius:var(--radius);transition:transform .14s,box-shadow .14s,border-color .14s}.cert-card:hover{transform:translateY(-2px);border-color:var(--plum-deep);box-shadow:0 0 16px var(--plum-soft)}.cert-icon{flex-shrink:0;width:54px;height:54px;display:grid;place-items:center;font-size:28px;background:radial-gradient(circle at 35% 30%,#2a2a38,#0c0c12);border:2px solid var(--plum-deep);border-radius:50%;box-shadow:inset 0 0 8px #0009}.cert-body{flex:1;min-width:0}.cert-name{font-family:var(--font-pixel);font-weight:700;font-size:17px;color:var(--ink);line-height:1.35}.cert-issuer{color:var(--ink-dim);font-size:15px;margin-top:4px}.cert-year{flex-shrink:0;font-family:var(--font-mono);font-size:18px;color:var(--teal);background:#0c0c12;border:1px solid var(--bevel-light);padding:2px 10px;border-radius:5px}.quest-log{display:flex;flex-direction:column}.quest{display:flex;gap:14px;padding-bottom:24px;position:relative}.quest-rail{width:18px;flex-shrink:0;display:flex;justify-content:center;padding-top:7px;position:relative}.quest:not(:last-child) .quest-rail:before{content:"";position:absolute;top:24px;bottom:-4px;left:50%;transform:translate(-50%);width:2px;background:repeating-linear-gradient(var(--plum-deep) 0 5px,transparent 5px 10px)}.quest-dot{width:15px;height:15px;border-radius:50%;background:var(--plum-deep);border:2px solid var(--plum);z-index:1}.quest-dot.active{background:var(--green);border-color:#e4ffc4;animation:dot-blink 1.4s ease-in-out infinite}.quest-card{flex:1;min-width:0;background:var(--panel-2);border:2px solid;border-top-color:var(--bevel-light);border-left-color:var(--bevel-light);border-right-color:var(--bevel-dark);border-bottom-color:var(--bevel-dark);border-radius:var(--radius);padding:15px 17px}.quest-top{display:flex;align-items:center;gap:9px;margin-bottom:9px}.year-pill{font-family:var(--font-mono);font-size:16px;color:var(--plum);background:#0c0c12;padding:1px 10px;border-radius:4px;border:1px solid var(--plum-deep)}.quest-status{font-family:var(--font-mono);font-size:15px;letter-spacing:1px;padding:1px 9px;border-radius:4px}.quest-status.active{color:var(--green);border:1px solid #4a7a2e;background:#c3f58414}.quest-status.complete{color:var(--teal);border:1px solid #2e6b6b;background:#9ad1d414}.quest-title{font-family:var(--font-pixel);font-weight:700;font-size:19px;color:var(--ink);line-height:1.3}.quest-place{color:var(--plum);font-size:16px;margin-top:4px}.quest-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:15px;color:var(--ink-dim);margin-top:9px}.quest-gpa{color:var(--yellow)}.quest-block{margin-top:16px}.quest-sublabel{font-family:var(--font-mono);font-size:16px;letter-spacing:1px;text-transform:uppercase;color:var(--teal);margin-bottom:9px;padding-bottom:5px;border-bottom:1px dashed rgba(154,209,212,.25)}.course-tags{display:flex;flex-wrap:wrap;gap:7px}.course-tag{font-size:14px;color:var(--ink-dim);background:#0c0c12;border:1px solid var(--bevel-light);padding:4px 10px;border-radius:6px}.activity-list{list-style:none;display:flex;flex-direction:column;gap:6px}.activity-list li{color:var(--ink);font-size:16px}.ach-list{display:flex;flex-direction:column;gap:15px}.ach-card{display:flex;gap:17px;padding:17px;background:var(--panel-2);border:2px solid var(--rar, var(--plum-deep));border-radius:var(--radius);transition:transform .14s,box-shadow .14s}.ach-card:hover{transform:translateY(-2px);box-shadow:0 0 20px color-mix(in srgb,var(--rar, var(--plum)) 45%,transparent)}.ach-medal{flex-shrink:0;width:62px;height:62px;display:grid;place-items:center;font-size:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a2a38,#0c0c12);border:2px solid var(--rar, var(--plum-deep));box-shadow:inset 0 0 10px #0009,0 0 12px var(--rar, transparent);animation:bob 5s ease-in-out infinite}.ach-body{flex:1;min-width:0}.ach-top{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:7px}.ach-name{font-family:var(--font-pixel);font-weight:700;font-size:18px;color:var(--ink)}.rar-tag{font-family:var(--font-mono);font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--rar, var(--plum));padding:1px 9px;border-radius:4px;border:1px solid var(--rar, var(--plum-deep))}.ach-desc{color:var(--ink-dim);font-size:15.5px;line-height:1.6}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px}.contact-card{display:flex;align-items:center;gap:13px;padding:15px;background:var(--panel-2);border:2px solid;border-top-color:var(--bevel-light);border-left-color:var(--bevel-light);border-right-color:var(--bevel-dark);border-bottom-color:var(--bevel-dark);border-radius:var(--radius);transition:transform .12s,box-shadow .12s,border-color .12s}.contact-card:hover{transform:translateY(-2px);border-color:var(--plum-deep);box-shadow:0 0 16px var(--plum-soft)}.contact-icon{flex-shrink:0;width:46px;height:46px;display:grid;place-items:center;background:#0c0c12;border:1px solid var(--plum-deep);border-radius:10px}.contact-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.contact-label{color:var(--ink);font-size:16px}.contact-handle{color:var(--plum);font-size:14.5px;overflow:hidden;text-overflow:ellipsis}.resume-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:18px 0 10px}.resume-chest{display:inline-flex;filter:drop-shadow(0 8px 0 rgba(0,0,0,.4)) drop-shadow(0 0 18px var(--plum-glow));animation:bob 2.4s ease-in-out infinite}.resume-title{font-family:var(--font-pixel);font-weight:700;font-size:28px;color:var(--yellow);text-shadow:0 0 14px rgba(246,224,94,.4)}.resume-text{color:var(--ink-dim);font-size:17px;max-width:380px;line-height:1.55}.resume-btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-pixel);font-weight:700;font-size:19px;color:#1a0a1a;background:linear-gradient(180deg,var(--plum-bright),var(--plum));padding:13px 26px;border-radius:10px;border:2px solid;border-top-color:#fff;border-left-color:#fff;border-right-color:var(--plum-deep);border-bottom-color:var(--plum-deep);box-shadow:0 0 18px var(--plum-glow);margin-top:6px;animation:glow-pulse 2.8s ease-in-out infinite}.resume-btn:hover{filter:brightness(1.08);transform:translateY(-2px);color:#1a0a1a}@media(max-width:600px){.profile-card{flex-direction:column;align-items:center;text-align:center}.pc-toprow,.pc-tags{justify-content:center}.treasure{flex-basis:132px}.about-top{flex-direction:column;text-align:center}.tag-row{justify-content:center}.info-label{width:76px}.popup-inner{padding:16px}.sec-head h2{font-size:23px}.boot{font-size:20px}}@media(max-width:380px){.treasure{flex-basis:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.crt:before{display:none}}
