@font-face{font-display:swap;font-family:PPNeueMontreal;font-style:normal;font-weight:400;src:url(/fonts/ppneuemontreal-book.otf) format("opentype")}@font-face{font-display:swap;font-family:PPNeueMontreal;font-style:normal;font-weight:500;src:url(/fonts/ppneuemontreal-medium.otf) format("opentype")}@font-face{font-display:swap;font-family:SpaceMono;font-style:normal;font-weight:400;src:url(/fonts/SpaceMono-Regular.ttf) format("truetype")}:root{--font-body: "PPNeueMontreal", ui-sans-serif, system-ui, sans-serif;--font-heading: "Arial Black", "PPNeueMontreal", sans-serif;--font-mono: "SpaceMono", ui-monospace, "Courier New", monospace;--font-weight-body: 400;--font-weight-bold: 500;--font-weight-heading: 900;--color-black: #050516;--color-black-alpha: rgba(5, 5, 22, .88);--color-white: #ffffff;--color-text: #d2e0ff;--color-text-soft: #8898bb;--color-grey: #4a5680;--color-grey-dark: #111128;--color-crystal: #d2e0ff;--color-crystal-light: #a8bce8;--color-accent: #0004eb;--color-accent-bright: #3344ff;--color-accent-2: #5577ff;--color-accent-dim: rgba(0, 4, 235, .18);--color-rarity-common: #9aa0a6;--color-rarity-rare: #4fc3f7;--color-rarity-epic: #7c6aff;--color-rarity-legendary: #ffb74d}html,body,.app{overflow:hidden;width:100%;height:100%;margin:0;padding:0;font-family:var(--font-body);font-weight:var(--font-weight-body)}body{font-size:clamp(20px,4vmin,26px);line-height:110%}.app{background-color:var(--color-black);color:var(--color-text)}.app h1,.app h2,.app h3,.app h4,.app h5,.app h6{font-family:var(--font-heading);font-weight:var(--font-weight-heading);margin:0}.app h1{font-size:clamp(30px,14vmin,130px)}.app h2{font-size:clamp(30px,11vmin,100px)}.app h3{font-size:clamp(24px,6.5vmin,60px)}.app h4{font-size:clamp(20px,4vmin,40px)}.app a,.app a:visited{color:var(--color-crystal-light);pointer-events:all}.app a:hover,.app a:visited:hover{color:var(--color-crystal)}.top-bar{position:absolute;top:1em;left:1em;right:1em;z-index:100;display:flex;align-items:center;justify-content:space-between;font-size:80%;pointer-events:none}.top-bar .left,.top-bar .right{display:flex;align-items:center;gap:.5em}.top-bar .left{gap:1em}.top-bar .left>*{display:flex;align-items:center;justify-content:center;gap:.5em;display:none}.top-bar button{--size: 40px;--border-color: var(--color-grey);display:none;width:var(--size);height:var(--size);background-color:var(--color-black-alpha);border:solid 2px var(--border-color);border-radius:40px;cursor:pointer;position:relative;align-items:center;justify-content:center;pointer-events:all}.top-bar button svg{transition:transform .2s ease-in-out}.top-bar button.show-unless{display:flex}.top-bar button[data-off] svg{transform:scale(.8)}.top-bar button[data-off]:after{content:"";width:100%;height:2px;position:absolute;top:50%;left:50%;background-color:var(--border-color);transform:translate(-50%,-50%) rotate(-45deg)}.top-bar button:hover,.top-bar button:active{--border-color: var(--color-crystal)}.count{font-variant-numeric:tabular-nums}.health-bar{width:260px;height:20px;border:2px solid var(--color-grey);background-color:var(--color-black-alpha);overflow:hidden;position:relative}.health-bar:after{content:"";position:absolute;inset:5px;background-color:var(--color-crystal);transform-origin:left center;transform:scaleX(calc(1 * var(--health)))}.canvas,.overlay,.screens{position:absolute;top:50%;left:50%;width:100%;height:100%;max-height:100vw;max-width:2000px;transform:translate(-50%,-50%)}.canvas{transition:opacity .5s ease}#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s ease}[data-state=LOADING] #bg-canvas,[data-state=LOAD_ERROR] #bg-canvas,[data-state=LOGIN] #bg-canvas,[data-state=MAIN_MENU] #bg-canvas,[data-state=SHOP] #bg-canvas,[data-state=TITLE_SCREEN] #bg-canvas{opacity:1}[data-state=LOADING] .canvas,[data-state=LOAD_ERROR] .canvas,[data-state=LOGIN] .canvas,[data-state=MAIN_MENU] .canvas,[data-state=SHOP] .canvas,[data-state=TITLE_SCREEN] .canvas{opacity:0;pointer-events:none}.screens{pointer-events:none;max-width:1280px;margin:0 auto;z-index:2}.screens>*{--pad: 5vmin;position:absolute;inset:var(--pad);display:grid;align-items:stretch;justify-items:stretch;justify-content:center;display:none}.screens>*:after{grid-area:space}.screens .spells{inset:unset;bottom:3vmin;right:3vmin;z-index:10;max-width:46%;display:none;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr;gap:1.5rem;justify-content:center;align-items:center;padding:.5rem 1.5rem}.screens .spells .spell-path{width:50px;position:relative}.screens .spells .spell-path .check{opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);transition-property:opacity,transform;transition-duration:.4s;transition-timing-function:cubic-bezier(.52,-.47,.37,1)}.screens .spells .spell-path svg{width:100%;fill:none}.screens .spells .info{display:none;flex-direction:column}.screens .spells .info h4{margin-bottom:1rem}.screens .spells .info p{font-size:20px}.screens .spells .charge-path{stroke-width:6;stroke-dasharray:var(--length) var(--length);stroke-dashoffset:calc((1 - var(--charge)) * var(--length))}.screens .spells .guide-path{stroke:#fff3}.screens .spells .spell-details{display:flex;flex-direction:row;gap:3rem;align-items:center;z-index:2}.screens .spells .background{position:absolute;inset:0;border:solid 2px var(--color-grey);background-color:var(--color-black-alpha)}.screens .spells.corner{cursor:pointer;pointer-events:all;display:grid}.screens .spells.corner .spell-path.ready .check{opacity:1;transform:translate(-50%,-200%)}.screens .spells.corner:hover .background{border-color:var(--color-crystal)}.screens .spells.full{display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr 1fr;bottom:50%;gap:2rem;transform:translateY(50%);padding:2rem 3rem}.screens .spells.full .spell-path{width:160px}.screens .spells.full .spell-path .check{transition:none}.screens .spells.full .spell-path svg{--charge: 1 !important}.screens .spells.full .info{display:flex}.screens .content{text-align:center;grid-area:content;display:flex;align-items:center;justify-content:center;flex-direction:column}.screens .content>*:not(:last-child){margin-bottom:clamp(20px,5vmin,50px)}.screens .button-row{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;gap:.7em}.screens button{--border-color: var(--color-grey);color:var(--color-white);pointer-events:all;cursor:pointer;font-family:var(--font-body);font-weight:var(--font-weight-body)}.screens button:not(.simple,.no-style){background-color:var(--color-black-alpha);border:2px solid var(--border-color);font-size:30px;padding:.2em 1.4em}.screens button.simple{background-color:transparent;border:none;text-decoration:underline;text-decoration-color:var(--border-color);text-decoration-thickness:2px;text-underline-offset:5px;font-size:20px}.screens button:hover,.screens button:active{--border-color: var(--color-crystal)}.screens p{max-width:600px;margin:0}.loading-bar{width:260px;height:2px;background-color:var(--color-grey-dark);overflow:hidden;position:relative}.loading-bar:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--color-crystal);transform-origin:left center;transform:scaleX(calc(1 * var(--loaded)))}[data-state=IDLE] #sounds-button,[data-state=INIT] #sounds-button{display:none}[data-state=LOADING] [data-screen=LOADING]{display:grid;grid-template-columns:0px 1fr;grid-template-areas:"space content"}[data-state=LOADING] #sounds-button,[data-state=LOAD_ERROR] #sounds-button{display:none}@keyframes menu-orb-drift{0%,to{transform:translate(-10%,-8%) scale(1)}50%{transform:translate(6%,8%) scale(1.15)}}@keyframes menu-grid-pan{0%{background-position:0 0}to{background-position:0 80px}}@keyframes menu-scanline-move{0%{transform:translateY(-100%);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:translateY(100vh);opacity:0}}@keyframes menu-tag-pulse{0%,to{opacity:.4;text-shadow:0 0 0 transparent}50%{opacity:1;text-shadow:0 0 8px var(--color-accent-2)}}.menu-bg-full{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none;overflow:hidden;opacity:0;background:var(--color-black);transition:opacity .5s ease}[data-state=MAIN_MENU] .menu-bg-full{opacity:1}.menu-orb{position:absolute;width:55vmin;height:55vmin;border-radius:50%;filter:blur(60px);opacity:.35;animation:menu-orb-drift 14s ease-in-out infinite}.menu-orb-a{top:5%;left:5%;background:radial-gradient(circle,var(--color-accent),transparent 70%)}.menu-orb-b{bottom:0%;right:5%;background:radial-gradient(circle,var(--color-accent-2),transparent 70%);animation-duration:18s;animation-delay:-6s}.menu-grid{position:absolute;inset:-80px;background-image:linear-gradient(rgba(0,4,235,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,4,235,.1) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 40%,transparent 90%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 40%,transparent 90%);animation:menu-grid-pan 6s linear infinite}.menu-scanline{position:absolute;left:0;right:0;height:30vh;background:linear-gradient(to bottom,transparent,rgba(46,230,214,.12),transparent);animation:menu-scanline-move 7s ease-in-out infinite}[data-state=MAIN_MENU] [data-screen=MAIN_MENU]{display:flex;align-items:center;justify-content:center;position:relative;padding:clamp(1.5rem,4vmin,3rem) clamp(1.5rem,5vw,5rem)}[data-state=MAIN_MENU] .menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);width:100%;max-width:1100px;align-items:center;position:relative;z-index:2}@media(max-width:700px){[data-state=MAIN_MENU] .menu-layout{grid-template-columns:1fr}}[data-state=MAIN_MENU] .menu-left{display:flex;flex-direction:column;gap:clamp(1rem,2.5vmin,2rem)}[data-state=MAIN_MENU] .menu-logo{width:clamp(100px,18vmin,180px);height:auto;object-fit:contain;margin-bottom:.2em}[data-state=MAIN_MENU] .menu-eyebrow{font-family:var(--font-mono);font-size:clamp(9px,1.1vmin,12px);letter-spacing:.28em;color:var(--color-accent-2);opacity:.7;text-transform:uppercase}[data-state=MAIN_MENU] .menu-title{font-family:var(--font-heading);font-weight:900;font-size:clamp(44px,9vmin,88px);line-height:.93;letter-spacing:-.02em;text-transform:uppercase;margin:0;background:linear-gradient(160deg,#ffffff 30%,var(--color-accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-state=MAIN_MENU] .menu-desc{font-family:var(--font-body);font-size:clamp(12px,1.5vmin,15px);line-height:1.65;color:var(--color-text-soft);max-width:36ch;margin:0;opacity:.75}[data-state=MAIN_MENU] .menu-stats{display:flex;gap:clamp(1.5rem,3vw,2.5rem);padding-top:.5rem}[data-state=MAIN_MENU] .menu-stat{display:flex;flex-direction:column;gap:.2em}[data-state=MAIN_MENU] .menu-stat-value{font-family:var(--font-mono);font-size:clamp(22px,3.5vmin,36px);font-weight:700;color:var(--color-white);line-height:1}[data-state=MAIN_MENU] .menu-stat-label{font-family:var(--font-mono);font-size:clamp(9px,1vmin,11px);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent-2);opacity:.6}[data-state=MAIN_MENU] .menu-balance-pill{display:inline-flex;align-items:center;gap:.75em;padding:.5em 1.1em;border:1px solid rgba(0,4,235,.35);border-radius:100px;background:#0004eb14;width:fit-content}[data-state=MAIN_MENU] .menu-balance-label{font-family:var(--font-mono);font-size:clamp(9px,1vmin,11px);letter-spacing:.12em;text-transform:uppercase;opacity:.5}[data-state=MAIN_MENU] .menu-balance-value{font-family:var(--font-mono);font-size:clamp(13px,1.6vmin,16px);font-weight:700;color:var(--color-accent-2)}[data-state=MAIN_MENU] .menu-right{display:flex;flex-direction:column;gap:clamp(.75rem,1.5vmin,1.2rem)}[data-state=MAIN_MENU] .menu-featured{width:100%;background:linear-gradient(135deg,#0004eb1f,#050516d9);border:1px solid rgba(0,4,235,.5);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:clamp(1.4rem,3vmin,2.2rem) clamp(1.4rem,3vw,2rem);text-align:left;cursor:pointer;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .15s;box-shadow:0 0 40px #0004eb26,inset 0 0 40px #0004eb0a}[data-state=MAIN_MENU] .menu-featured:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,4,235,.18),transparent 70%);pointer-events:none}[data-state=MAIN_MENU] .menu-featured:hover{border-color:#0004ebe6;box-shadow:0 0 60px #0004eb4d,0 0 120px #0004eb1a;transform:translateY(-2px)}[data-state=MAIN_MENU] .menu-featured-inner{display:flex;flex-direction:column;gap:.6em;position:relative;z-index:1}[data-state=MAIN_MENU] .menu-featured-tag{font-family:var(--font-mono);font-size:clamp(9px,1vmin,11px);letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent-2);animation:menu-tag-pulse 2.4s ease-in-out infinite}[data-state=MAIN_MENU] .menu-featured-name{font-family:var(--font-heading);font-size:clamp(22px,3.5vmin,36px);font-weight:900;letter-spacing:-.01em;text-transform:uppercase;color:var(--color-white);line-height:1.1}[data-state=MAIN_MENU] .menu-featured-sub{font-family:var(--font-body);font-size:clamp(11px,1.3vmin,14px);line-height:1.55;color:var(--color-text-soft);opacity:.65;max-width:38ch}[data-state=MAIN_MENU] .menu-featured-cta{display:inline-block;margin-top:.4em;font-family:var(--font-mono);font-size:clamp(10px,1.2vmin,13px);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent-2);font-weight:700}[data-state=MAIN_MENU] .menu-locked-list{display:flex;flex-direction:column;gap:.4rem}[data-state=MAIN_MENU] .menu-locked-item{display:flex;align-items:center;gap:1em;padding:.7em 1.1em;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#ffffff05;opacity:.3;pointer-events:none}[data-state=MAIN_MENU] .menu-locked-index{font-family:var(--font-mono);font-size:clamp(9px,1vmin,11px);letter-spacing:.08em;opacity:.5;min-width:1.8em}[data-state=MAIN_MENU] .menu-locked-name{flex:1;font-family:var(--font-body);font-size:clamp(13px,1.5vmin,16px);letter-spacing:.1em}[data-state=MAIN_MENU] .menu-locked-tag{font-family:var(--font-mono);font-size:clamp(8px,.9vmin,10px);letter-spacing:.18em;text-transform:uppercase;opacity:.5}[data-state=MAIN_MENU] .menu-actions{display:flex;align-items:center;gap:1rem;margin-top:.2rem}[data-state=MAIN_MENU] .menu-shop-btn{flex:1;padding:.75em 1.4em;background:#0004eb26;border:1px solid rgba(0,4,235,.45);border-radius:8px;color:var(--color-white);font-family:var(--font-mono);font-size:clamp(11px,1.3vmin,14px);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;pointer-events:all}[data-state=MAIN_MENU] .menu-shop-btn:hover{background:#0004eb4d;border-color:#0004ebcc;box-shadow:0 0 20px #0004eb33}[data-state=MAIN_MENU] .menu-portfolio-btn{flex:1;padding:.75em 1.4em;background:#7c6aff1a;border:1px solid rgba(124,106,255,.35);border-radius:8px;color:var(--color-white);font-family:var(--font-mono);font-size:clamp(11px,1.3vmin,14px);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;pointer-events:all}[data-state=MAIN_MENU] .menu-portfolio-btn:hover{background:#7c6aff38;border-color:#7c6affb3;box-shadow:0 0 20px #7c6aff2e}[data-state=MAIN_MENU] .menu-disconnect-btn{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-text-soft);font-family:var(--font-mono);font-size:clamp(10px,1.1vmin,12px);letter-spacing:.08em;padding:.75em 1em;cursor:pointer;opacity:.4;transition:opacity .2s,border-color .2s;pointer-events:all}[data-state=MAIN_MENU] .menu-disconnect-btn:hover{opacity:.85;border-color:#ffffff4d}[data-state=LOGIN] [data-screen=LOGIN]{display:grid;grid-template-columns:1fr;grid-template-areas:"content"}[data-state=LOGIN] [data-screen=LOGIN] .content{align-items:center;justify-content:center;gap:clamp(2em,5vmin,4em)}[data-state=LOGIN] [data-screen=LOGIN] .login-logo{width:clamp(120px,22vmin,200px);height:auto;object-fit:contain;margin-bottom:.4em}[data-state=LOGIN] [data-screen=LOGIN] .login-hero{display:flex;flex-direction:column;align-items:center;gap:.6em;text-align:center}[data-state=LOGIN] [data-screen=LOGIN] .login-eyebrow{font-family:var(--font-mono);font-size:clamp(10px,1.2vmin,13px);letter-spacing:.28em;color:var(--color-accent-2);opacity:.8;text-transform:uppercase}[data-state=LOGIN] [data-screen=LOGIN] .login-title{font-family:var(--font-heading);font-weight:900;font-size:clamp(52px,12vmin,110px);line-height:.95;letter-spacing:-.02em;color:var(--color-white);text-transform:uppercase;background:linear-gradient(160deg,#ffffff 30%,var(--color-accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0}[data-state=LOGIN] [data-screen=LOGIN] .login-tagline{font-family:var(--font-body);font-size:clamp(13px,1.6vmin,16px);color:var(--color-text-soft);opacity:.7;max-width:28em;margin:0;line-height:1.5}[data-state=LOGIN] [data-screen=LOGIN] .login-actions{display:flex;flex-direction:column;align-items:center;gap:.9em}[data-state=LOGIN] [data-screen=LOGIN] .login-cta{display:inline-flex;align-items:center;gap:.7em;padding:.85em 2.2em;background:var(--color-accent);border:2px solid var(--color-accent-2);border-radius:4px;color:var(--color-white);font-family:var(--font-body);font-weight:500;font-size:clamp(15px,1.8vmin,19px);letter-spacing:.04em;cursor:pointer;pointer-events:all;transition:background .2s,box-shadow .2s,transform .15s;box-shadow:0 0 32px #0004eb73,inset 0 1px #ffffff26}[data-state=LOGIN] [data-screen=LOGIN] .login-cta:hover{background:var(--color-accent-bright);box-shadow:0 0 52px #3344ffb3,inset 0 1px #fff3;transform:translateY(-2px)}[data-state=LOGIN] [data-screen=LOGIN] .login-cta:active{transform:translateY(0)}[data-state=LOGIN] [data-screen=LOGIN] .login-cta-icon{font-size:1.1em;opacity:.85}[data-state=LOGIN] [data-screen=LOGIN] .login-cta-dev{background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:4px;color:var(--color-text-soft);font-family:var(--font-mono);font-size:clamp(11px,1.2vmin,13px);letter-spacing:.06em;padding:.55em 1.4em;cursor:pointer;pointer-events:all;opacity:.55;transition:opacity .2s,border-color .2s}[data-state=LOGIN] [data-screen=LOGIN] .login-cta-dev:hover{opacity:1;border-color:#fff6}[data-state=LOGIN] [data-screen=LOGIN] .login-cta-dev:disabled{opacity:.25;cursor:default}[data-state=LOGIN] [data-screen=LOGIN] .login-error{color:#ff6b6b;font-family:var(--font-mono);font-size:clamp(11px,1.2vmin,13px);min-height:1.4em;letter-spacing:.05em}[data-state=LOGIN] [data-screen=LOGIN] .login-footer{display:flex;align-items:center;gap:.8em;font-family:var(--font-mono);font-size:clamp(9px,1vmin,11px);letter-spacing:.16em;color:var(--color-text-soft);opacity:.35;text-transform:uppercase}[data-state=LOGIN] [data-screen=LOGIN] .login-footer-sep{opacity:.4}.balance-bar{display:flex;align-items:center;gap:.6em;padding:.5em 1em;border:1px solid rgba(255,255,255,.2);border-radius:999px;width:fit-content}.balance-bar .balance-label{font-size:clamp(9px,1vmin,12px);letter-spacing:.15em;opacity:.5;text-transform:uppercase}.balance-bar .balance-value{font-weight:700;font-size:clamp(14px,1.8vmin,18px)}@keyframes shop-grid-drift{0%{background-position:0 0}to{background-position:60px 60px}}@keyframes shop-badge-glow{0%,to{box-shadow:0 0 6px 0 var(--rarity-color, var(--color-accent))}50%{box-shadow:0 0 18px 4px var(--rarity-color, var(--color-accent))}}@keyframes shop-stat-shimmer{0%{background-position:-60px 0}to{background-position:60px 0}}.shop-bg-full{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none;overflow:hidden;opacity:0;background:var(--color-black);transition:opacity .5s ease}[data-state=SHOP] .shop-bg-full{opacity:1}.shop-bg-image{position:absolute;inset:0;background-size:cover;background-position:center 20%;filter:blur(38px) brightness(.55) saturate(1.3);transform:scale(1.15);opacity:0;transition:opacity .9s ease}.shop-bg-image.active{opacity:1}.shop-bg-grid{position:absolute;inset:-80px;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:60px 60px;animation:shop-grid-drift 8s linear infinite}.shop-bg-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 45%,transparent 30%,rgba(0,0,0,.75) 100%)}[data-state=SHOP] [data-screen=SHOP]{position:fixed!important;inset:0!important;display:flex!important;flex-direction:column;z-index:10;pointer-events:all}[data-state=SHOP] [data-screen=SHOP] .content{flex:1;min-height:0;position:relative;z-index:1;display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:flex-start!important;text-align:left!important;overflow:hidden;padding:clamp(1.2rem,2.5vmin,2rem) clamp(2rem,5vw,5rem);width:100%;box-sizing:border-box}[data-state=SHOP] [data-screen=SHOP] .content>*:not(:last-child){margin-bottom:0!important}[data-state=SHOP] [data-screen=SHOP] .shop-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:clamp(.8rem,1.5vmin,1.2rem);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:clamp(1rem,2vmin,1.6rem);flex-shrink:0;pointer-events:all}[data-state=SHOP] [data-screen=SHOP] .shop-header h3{font-size:clamp(16px,2.4vmin,26px)}[data-state=SHOP] [data-screen=SHOP] .shop-grid{flex:1;min-height:0;width:100%;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:clamp(1em,2vw,1.6em);padding:.2em .4em 3rem;align-content:start;pointer-events:all}[data-state=SHOP] [data-screen=SHOP] .sc-card{position:relative;display:flex;flex-direction:column;padding:clamp(1.1rem,1.6vw,1.5rem);background:linear-gradient(160deg,#12102af7,#060612fc);border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;cursor:default}[data-state=SHOP] [data-screen=SHOP] .sc-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--rc, var(--color-accent));box-shadow:0 0 16px 1px var(--rc, var(--color-accent));opacity:.85;z-index:2}[data-state=SHOP] [data-screen=SHOP] .sc-card:after{content:"";position:absolute;top:0;left:0;right:0;height:180px;background:radial-gradient(ellipse 90% 100% at 50% 0%,color-mix(in srgb,var(--rc, #0004eb) 16%,transparent) 0%,transparent 100%);pointer-events:none;z-index:0}[data-state=SHOP] [data-screen=SHOP] .sc-card.is-owned{opacity:.6}[data-state=SHOP] [data-screen=SHOP] .sc-card.is-owned:before{opacity:.35;box-shadow:none}[data-state=SHOP] [data-screen=SHOP] .sc-glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% 0%,color-mix(in srgb,var(--rc, #0004eb) 20%,transparent) 0%,transparent 65%);opacity:0;pointer-events:none;z-index:1}[data-state=SHOP] [data-screen=SHOP] .sc-watermark{position:absolute;right:-.06em;bottom:-.2em;font-family:var(--font-heading);font-weight:900;font-size:clamp(90px,16vmin,160px);line-height:1;color:var(--rc, var(--color-accent));opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:-.04em;z-index:0}[data-state=SHOP] [data-screen=SHOP] .sc-head,[data-state=SHOP] [data-screen=SHOP] .sc-name,[data-state=SHOP] [data-screen=SHOP] .sc-role,[data-state=SHOP] [data-screen=SHOP] .sc-section-label,[data-state=SHOP] [data-screen=SHOP] .sc-earnings,[data-state=SHOP] [data-screen=SHOP] .sc-deploy,[data-state=SHOP] [data-screen=SHOP] .sc-footer{position:relative;z-index:2}[data-state=SHOP] [data-screen=SHOP] .sc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(.75rem,1.2vw,1rem)}[data-state=SHOP] [data-screen=SHOP] .sc-head-left{display:flex;align-items:center;gap:.65em}[data-state=SHOP] [data-screen=SHOP] .sc-id{font-family:var(--font-mono);font-size:clamp(9px,.9vmin,10px);letter-spacing:.2em;text-transform:uppercase;color:#ffffff47}[data-state=SHOP] [data-screen=SHOP] .sc-rarity{font-family:var(--font-mono);font-size:clamp(7px,.78vmin,9px);letter-spacing:.22em;text-transform:uppercase;color:var(--rc, var(--color-accent-2));padding:.18em .6em;border:1px solid color-mix(in srgb,var(--rc, #0004eb) 55%,transparent);border-radius:2px;background:color-mix(in srgb,var(--rc, #0004eb) 10%,transparent)}[data-state=SHOP] [data-screen=SHOP] .sc-owned-badge{font-family:var(--font-mono);font-size:clamp(7px,.78vmin,9px);letter-spacing:.2em;text-transform:uppercase;color:#7affb2;padding:.18em .6em;border:1px solid rgba(122,255,178,.35);border-radius:2px;background:#7affb212}[data-state=SHOP] [data-screen=SHOP] .sc-name{font-family:var(--font-heading);font-weight:900;font-size:clamp(22px,2.8vmin,32px);line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:#fff;margin-bottom:.2em}[data-state=SHOP] [data-screen=SHOP] .sc-role{font-family:var(--font-mono);font-size:clamp(9px,.9vmin,10px);text-transform:uppercase;letter-spacing:.16em;color:#ffffff4d;margin-bottom:clamp(.9rem,1.4vw,1.2rem)}[data-state=SHOP] [data-screen=SHOP] .sc-section-label{font-family:var(--font-mono);font-size:clamp(7px,.75vmin,8px);letter-spacing:.32em;text-transform:uppercase;color:#ffffff2e;margin-bottom:.5em}[data-state=SHOP] [data-screen=SHOP] .sc-section-label--deploy{margin-top:clamp(.7rem,1.1vw,1rem)}[data-state=SHOP] [data-screen=SHOP] .sc-earnings{display:grid;grid-template-columns:repeat(4,1fr);border-radius:6px;border:1px solid rgba(255,255,255,.07);overflow:hidden;background:#00000040}[data-state=SHOP] [data-screen=SHOP] .sc-earn-cell{display:flex;flex-direction:column;align-items:center;padding:clamp(.55em,1vw,.75em) .3em;gap:.2em;transition:background .2s}[data-state=SHOP] [data-screen=SHOP] .sc-earn-cell+[data-state=SHOP] [data-screen=SHOP] .sc-earn-cell{border-left:1px solid rgba(255,255,255,.06)}[data-state=SHOP] [data-screen=SHOP] .sc-earn-cell--hi{background:color-mix(in srgb,var(--rc, #0004eb) 12%,transparent)}[data-state=SHOP] [data-screen=SHOP] .sc-earn-cell--hi .sc-earn-val{color:color-mix(in srgb,var(--rc, #0004eb) 60%,#fff)}[data-state=SHOP] [data-screen=SHOP] .sc-earn-val{font-family:var(--font-mono);font-size:clamp(14px,1.8vmin,22px);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1;transition:color .2s}[data-state=SHOP] [data-screen=SHOP] .sc-earn-period{font-family:var(--font-mono);font-size:clamp(6px,.7vmin,8px);letter-spacing:.2em;text-transform:uppercase;color:#ffffff38;line-height:1}[data-state=SHOP] [data-screen=SHOP] .sc-deploy{display:flex;flex-wrap:wrap;gap:.45em}[data-state=SHOP] [data-screen=SHOP] .sc-game-tag{font-family:var(--font-mono);font-size:clamp(8px,.88vmin,10px);letter-spacing:.12em;color:var(--rc, var(--color-accent-2));padding:.28em .75em;border:1px solid color-mix(in srgb,var(--rc, #0004eb) 45%,transparent);border-radius:3px;background:color-mix(in srgb,var(--rc, #0004eb) 9%,transparent)}[data-state=SHOP] [data-screen=SHOP] .sc-fusion-tag{font-family:var(--font-mono);font-size:clamp(8px,.88vmin,10px);letter-spacing:.08em;color:#ffffff59;padding:.28em .75em;border:1px solid rgba(255,255,255,.09);border-radius:3px;background:#ffffff08}[data-state=SHOP] [data-screen=SHOP] .sc-footer{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-top:auto;padding-top:clamp(.75rem,1.1vw,1rem);border-top:1px solid rgba(255,255,255,.07);position:relative;z-index:2}[data-state=SHOP] [data-screen=SHOP] .sc-price{font-family:var(--font-mono);font-size:clamp(11px,1.15vmin,13px);font-weight:700;color:#ffffffbf;white-space:nowrap}[data-state=SHOP] [data-screen=SHOP] .sc-price-unit{font-size:.75em;opacity:.5;font-weight:400}[data-state=SHOP] [data-screen=SHOP] .sc-buy-btn{flex-shrink:0;padding:.5em 1.3em;background:color-mix(in srgb,var(--rc, #0004eb) 18%,transparent);border:1px solid color-mix(in srgb,var(--rc, #0004eb) 55%,transparent);border-radius:4px;color:var(--color-white);font-family:var(--font-mono);font-size:clamp(9px,1vmin,11px);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;pointer-events:all;transition:background .18s,border-color .18s;white-space:nowrap}[data-state=SHOP] [data-screen=SHOP] .sc-buy-btn:hover:not(:disabled){background:color-mix(in srgb,var(--rc, #0004eb) 35%,transparent);border-color:color-mix(in srgb,var(--rc, #0004eb) 85%,transparent)}[data-state=SHOP] [data-screen=SHOP] .sc-buy-btn:disabled{opacity:.3;cursor:default}.tokens-earned{opacity:.7;font-size:clamp(13px,1.6vmin,17px)}[data-state=TITLE_SCREEN] [data-screen=TITLE_SCREEN]{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"space content"}[data-state=TITLE_SCREEN] [data-screen=TITLE_SCREEN] h1{line-height:1.1em;letter-spacing:-.02em}[data-state=TITLE_SCREEN] [data-screen=TITLE_SCREEN] .title-sub{display:block;font-size:clamp(10px,1.4vmin,14px);font-weight:600;letter-spacing:.2em;color:var(--color-grey);margin-bottom:.5em}[data-state=INSTRUCTIONS_CRYSTAL] [data-screen=INSTRUCTIONS_CRYSTAL]{display:grid;grid-template-rows:1fr 1.2fr;grid-template-areas:"space" "content"}[data-state=INSTRUCTIONS_DEMON] [data-screen=INSTRUCTIONS_DEMON]{display:grid;grid-template-columns:1.5fr 1fr;grid-template-areas:"content space"}[data-state=INSTRUCTIONS_DEMON] [data-screen=INSTRUCTIONS_DEMON] .content{justify-content:flex-end}[data-state=INSTRUCTIONS_CAST] [data-screen=INSTRUCTIONS_CAST]{display:grid;grid-template-columns:0px 1fr;grid-template-areas:"space content"}#spell-guide{width:70%;max-width:400px;opacity:0;transition:opacity 1s ease-in-out}#spell-guide.show{opacity:.5}[data-state=INSTRUCTIONS_SPELLS] [data-screen=INSTRUCTIONS_SPELLS]{display:grid;grid-template-columns:1fr 1.5fr;grid-template-areas:"content space"}[data-state=GAME_RUNNING] #health-bar,[data-state=SPECIAL_SPELL] #health-bar,[data-state=GAME_RUNNING] #demon-state,[data-state=SPECIAL_SPELL] #demon-state,[data-state=GAME_RUNNING] #pause-button,[data-state=SPECIAL_SPELL] #pause-button,[data-state=ENDLESS_MODE] #endless-mode,[data-state=ENDLESS_SPECIAL_SPELL] #endless-mode,[data-state=ENDLESS_MODE] #close-button,[data-state=ENDLESS_SPECIAL_SPELL] #close-button,[data-state=ENDLESS_MODE] #pause-button,[data-state=ENDLESS_SPECIAL_SPELL] #pause-button,[data-state=ENDLESS_SPELL_OVERLAY] #endless-mode{display:flex}[data-state=PAUSED] [data-screen=PAUSED],[data-state=ENDLESS_PAUSE] [data-screen=PAUSED]{display:grid;grid-template-rows:2fr 1fr;grid-template-areas:"space" "content"}[data-state=PAUSED] [data-screen=PAUSED] .content,[data-state=ENDLESS_PAUSE] [data-screen=PAUSED] .content{justify-content:flex-end}[data-state=PAUSED] #paused,[data-state=ENDLESS_PAUSE] #paused,[data-state=PAUSED] #pause-button,[data-state=ENDLESS_PAUSE] #pause-button,[data-state=ENDLESS_PAUSE] #close-button,[data-state=CREDITS] #close-button{display:flex}[data-state=SPELL_OVERLAY] [data-screen=SPELL_OVERLAY],[data-state=ENDLESS_SPELL_OVERLAY] [data-screen=SPELL_OVERLAY]{display:grid;grid-template-columns:1fr 2fr;grid-template-areas:"content space"}[data-state=SPELL_OVERLAY] #health-bar,[data-state=SPELL_OVERLAY] #demon-state{display:flex}[data-state=GAME_OVER] [data-screen=GAME_OVER]{display:grid;grid-template-columns:0px 1fr;grid-template-areas:"space content"}[data-state=GAME_OVER] [data-screen=GAME_OVER] .content{justify-content:flex-end}[data-state=WINNER] [data-screen=WINNER]{display:grid;grid-template-columns:0px 1fr;grid-template-areas:"space content"}[data-state=WINNER] [data-screen=WINNER] .content{justify-content:flex-end}.charging-notification{position:absolute;bottom:40px;left:50%;background-color:#000000b3;border:solid 1px red;padding:.5em 1em;transform:translate(-50%);color:#ff7070;pointer-events:none;opacity:0;transition-property:opacity,transform;transition-duration:.3s;transition-timing-function:ease-in-out}.charging-notification p{padding:0;margin:0}.charging-notification.show{opacity:1;transform:translate(-50%,-50%)}.debug-panels{position:absolute;bottom:0;left:0;display:flex;flex-direction:column;flex-wrap:wrap;color:#fff;padding:10px;gap:10px;z-index:100;pointer-events:none}.panel{border:1px solid white;padding:10px;max-width:250px;width:250px}.panel p{margin:0;padding:0}.panel button{border:0;background-color:#f9f9f9;color:#444;font-size:1em;padding:6px 10px;cursor:pointer;pointer-events:all}.panel>div{position:relative!important}#spell-path{stroke:red;stroke-width:2;fill:none}#spell-points circle{fill:#fff}#spells{width:0;height:0;overflow:hidden;position:absolute;top:0;left:0}.controls{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.state{padding-bottom:.5em}.spell-stat{padding:0 1rem;font-size:14px;border-left:5px solid transparent}.spell-stat:not(:last-child){padding-bottom:1rem}.spell-stat .spell-preview{stroke:#fff;stroke-width:2;fill:none;width:60px}.spell-stat .score{font-size:1.4em;width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline}.spell-stat div{display:flex;align-items:center;gap:2rem;flex-direction:row}.spell-stat.cast{border-left:5px solid red}.debug-overlays{pointer-events:none}.clear-interface .debug-panels,.clear-interface .debug-overlays,.clear-interface .audio-controls,.clear-interface .top-bar,.clear-interface .screens{display:none}.debug-layout .top-bar{outline:solid 2px purple}.debug-layout .screens{outline:solid 2px green}.debug-layout .screens>*:after{display:grid;align-items:center;justify-content:center;content:"SPACE";background-color:#f005;outline:solid 2px red}.debug-layout .content{background-color:#00f5;outline:solid 2px blue}.lobby{width:100%;height:100%;background:#000;pointer-events:all}.lobby .lobby-inner{width:min(900px,92vw);display:flex;flex-direction:column;gap:clamp(20px,3vh,36px);padding:clamp(16px,3vw,40px) 0}.lobby .lobby-brand{display:flex;flex-direction:column;gap:6px}.lobby .lobby-logo{display:flex;align-items:baseline;gap:4px;font-family:var(--font-heading);font-weight:700;font-size:clamp(28px,5vmin,52px);letter-spacing:-.01em;line-height:1}.lobby .lobby-logo .lobby-logo-bracket{color:var(--color-grey);font-weight:300}.lobby .lobby-logo .lobby-logo-text{color:#fff;letter-spacing:.05em}.lobby .lobby-logo .lobby-logo-accent{color:#fff}.lobby .lobby-tagline{margin:0;font-size:clamp(11px,1.3vmin,13px);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-grey)}.lobby .lobby-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;border:1px solid #222;background:#111}@media(max-width:600px){.lobby .lobby-stats{grid-template-columns:repeat(3,1fr)}}.lobby .stat-card{background:#000;padding:clamp(12px,2vmin,20px) clamp(10px,1.5vmin,18px);display:flex;flex-direction:column;gap:4px;border-right:1px solid #1a1a1a}.lobby .stat-card:last-child{border-right:none}.lobby .stat-value{font-size:clamp(20px,3.5vmin,36px);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.lobby .stat-label{font-size:clamp(9px,1.1vmin,11px);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-grey)}.lobby .lobby-activity{display:flex;flex-direction:column;gap:8px}.lobby .lobby-activity-title{font-size:clamp(9px,1.1vmin,11px);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-grey);padding-bottom:6px;border-bottom:1px solid #1a1a1a}.lobby .lobby-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.lobby .lobby-activity-list li{display:grid;grid-template-columns:160px 1fr auto;gap:16px;padding:8px 0;border-bottom:1px solid #111;font-size:clamp(11px,1.3vmin,13px);align-items:center}@media(max-width:600px){.lobby .lobby-activity-list li{grid-template-columns:1fr auto}.lobby .lobby-activity-list li .activity-agent{display:none}}.lobby .lobby-activity-list li.activity-loading{color:var(--color-grey);display:block}.lobby .lobby-activity-list .activity-agent{font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby .lobby-activity-list .activity-desc{color:var(--color-grey);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby .lobby-activity-list .activity-amount{font-weight:600;color:#fff;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.lobby .lobby-actions{display:flex;align-items:center;justify-content:center}.lobby .lobby-play-btn{background:#fff!important;color:#000!important;border:none!important;font-family:var(--font-body)!important;font-weight:700!important;font-size:clamp(14px,1.8vmin,18px)!important;letter-spacing:.08em;text-transform:uppercase;padding:clamp(12px,1.5vmin,16px) clamp(28px,4vmin,48px)!important;cursor:pointer;pointer-events:all;transition:background .15s,color .15s}.lobby .lobby-play-btn:hover{background:#e0e0e0!important}#spell-trail-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:600px){.screens{max-height:100vh}body{font-size:clamp(16px,4vmin,22px)}.app h1{font-size:clamp(28px,12vmin,80px)}.app h2{font-size:clamp(26px,10vmin,70px)}.app h3{font-size:clamp(20px,6vmin,44px)}.health-bar{width:clamp(100px,38vw,220px)}.loading-bar{width:clamp(140px,55vw,260px)}.top-bar{top:.5em;left:.5em;right:.5em}.top-bar button{--size: 34px}.screens button:not(.simple,.no-style){font-size:clamp(16px,5vw,26px);padding:.25em 1.1em}.screens button.simple{font-size:clamp(13px,3.5vw,18px)}.screens p{max-width:88vw;font-size:clamp(14px,3.8vmin,20px)}.screens>*{--pad: 3vmin}.screens .spells{max-width:80%;gap:.8rem;padding:.4rem .8rem;bottom:2vmin;right:2vmin}.screens .spells .spell-path{width:34px}[data-state=TITLE_SCREEN] [data-screen=TITLE_SCREEN]{grid-template-columns:1fr;grid-template-areas:"content"}[data-state=TITLE_SCREEN] [data-screen=TITLE_SCREEN]:after{display:none}[data-state=TITLE_SCREEN] [data-screen=TITLE_SCREEN] .content{justify-content:space-between;padding-top:8vmin;padding-bottom:6vmin}[data-state=INSTRUCTIONS_CRYSTAL] [data-screen=INSTRUCTIONS_CRYSTAL]{grid-template-rows:.3fr 1fr;grid-template-areas:"space" "content"}[data-state=INSTRUCTIONS_DEMON] [data-screen=INSTRUCTIONS_DEMON]{grid-template-columns:1fr;grid-template-areas:"content"}[data-state=INSTRUCTIONS_DEMON] [data-screen=INSTRUCTIONS_DEMON]:after{display:none}[data-state=INSTRUCTIONS_DEMON] [data-screen=INSTRUCTIONS_DEMON] .content{justify-content:center}[data-state=INSTRUCTIONS_CAST] [data-screen=INSTRUCTIONS_CAST]{grid-template-columns:1fr;grid-template-areas:"content"}[data-state=INSTRUCTIONS_CAST] [data-screen=INSTRUCTIONS_CAST]:after{display:none}[data-state=INSTRUCTIONS_SPELLS] [data-screen=INSTRUCTIONS_SPELLS]{grid-template-columns:1fr;grid-template-areas:"content"}[data-state=INSTRUCTIONS_SPELLS] [data-screen=INSTRUCTIONS_SPELLS]:after{display:none}[data-state=INSTRUCTIONS_SPELLS] [data-screen=INSTRUCTIONS_SPELLS] .content{justify-content:space-between;padding-top:6vmin;padding-bottom:6vmin}[data-state=INSTRUCTIONS_SPELLS] [data-screen=INSTRUCTIONS_SPELLS] .content>*:not(:last-child){margin-bottom:clamp(8px,2vmin,18px)}[data-state=SPELL_OVERLAY] [data-screen=SPELL_OVERLAY],[data-state=ENDLESS_SPELL_OVERLAY] [data-screen=SPELL_OVERLAY]{grid-template-columns:1fr;grid-template-areas:"content"}[data-state=SPELL_OVERLAY] [data-screen=SPELL_OVERLAY]:after,[data-state=ENDLESS_SPELL_OVERLAY] [data-screen=SPELL_OVERLAY]:after{display:none}[data-state=PAUSED] [data-screen=PAUSED],[data-state=ENDLESS_PAUSE] [data-screen=PAUSED]{grid-template-rows:1.2fr 1fr}#spell-guide{width:55%}}[data-screen=PORTFOLIO]{display:none}[data-state=PORTFOLIO] [data-screen=PORTFOLIO]{display:block}[data-screen=PORTFOLIO]{position:fixed!important;inset:0!important;z-index:10;pointer-events:all;overflow:hidden}[data-screen=PORTFOLIO] .pf-bg{position:absolute;inset:0;background:#050516;z-index:0}[data-screen=PORTFOLIO] .pf-bg .pf-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(124,106,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,106,255,.04) 1px,transparent 1px);background-size:48px 48px}[data-screen=PORTFOLIO] .pf-bg .pf-bg-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 90% 80% at 50% 50%,transparent 40%,rgba(5,5,22,.9) 100%)}[data-screen=PORTFOLIO] .pf-layout{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;max-width:1100px;margin:0 auto;padding:clamp(1rem,3vmin,2rem) clamp(1rem,3vw,2.5rem);gap:clamp(1rem,2vw,1.5rem)}[data-screen=PORTFOLIO] .pf-header{display:flex;align-items:center;gap:1.5rem}[data-screen=PORTFOLIO] .pf-back{background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#ffffff80;font-family:var(--font-mono);font-size:clamp(10px,1.1vmin,12px);letter-spacing:.12em;padding:.5em 1em;cursor:pointer;pointer-events:all;transition:color .2s,border-color .2s}[data-screen=PORTFOLIO] .pf-back:hover{color:#fff;border-color:#ffffff59}[data-screen=PORTFOLIO] .pf-title{font-family:var(--font-heading);font-weight:900;font-size:clamp(20px,3vmin,32px);letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0;flex:1}[data-screen=PORTFOLIO] .pf-balance-pill{display:flex;align-items:center;gap:.6em;padding:.45em 1em;background:#0004eb1f;border:1px solid rgba(0,4,235,.35);border-radius:999px}[data-screen=PORTFOLIO] .pf-balance-label{font-family:var(--font-mono);font-size:clamp(8px,.85vmin,10px);letter-spacing:.2em;color:#ffffff59}[data-screen=PORTFOLIO] .pf-balance-value{font-family:var(--font-mono);font-size:clamp(13px,1.4vmin,16px);font-weight:700;color:#fff}[data-screen=PORTFOLIO] .pf-body{flex:1;display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem);overflow-y:auto;min-height:0}[data-screen=PORTFOLIO] .pf-income-panel{background:linear-gradient(160deg,#12102af7,#060612fc);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:clamp(1rem,1.8vw,1.5rem);position:relative;overflow:hidden}[data-screen=PORTFOLIO] .pf-income-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#7c6aff;box-shadow:0 0 16px 1px #7c6aff;opacity:.7}[data-screen=PORTFOLIO] .pf-income-panel:after{content:"";position:absolute;top:0;left:0;right:0;height:160px;background:radial-gradient(ellipse 80% 100% at 50% 0%,rgba(124,106,255,.12) 0%,transparent 100%);pointer-events:none}[data-screen=PORTFOLIO] .pf-income-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(.8rem,1.4vw,1.2rem);position:relative;z-index:2}[data-screen=PORTFOLIO] .pf-income-title{font-family:var(--font-mono);font-size:clamp(8px,.8vmin,9px);letter-spacing:.3em;text-transform:uppercase;color:#ffffff38}[data-screen=PORTFOLIO] .pf-claim-btn{padding:.55em 1.4em;background:color-mix(in srgb,#7c6aff 18%,transparent);border:1px solid color-mix(in srgb,#7c6aff 55%,transparent);border-radius:5px;color:#fff;font-family:var(--font-mono);font-size:clamp(9px,1vmin,11px);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;pointer-events:all;transition:background .18s,border-color .18s,box-shadow .18s}[data-screen=PORTFOLIO] .pf-claim-btn:not(:disabled):hover{background:color-mix(in srgb,#7c6aff 35%,transparent);border-color:color-mix(in srgb,#7c6aff 85%,transparent);box-shadow:0 0 20px #7c6aff4d}[data-screen=PORTFOLIO] .pf-claim-btn:disabled{opacity:.35;cursor:default}[data-screen=PORTFOLIO] .pf-income-grid{display:grid;grid-template-columns:repeat(4,1fr);border-radius:6px;border:1px solid rgba(255,255,255,.07);overflow:hidden;background:#00000040;margin-bottom:clamp(.6rem,1vw,.9rem);position:relative;z-index:2}[data-screen=PORTFOLIO] .pf-income-cell{display:flex;flex-direction:column;align-items:center;padding:clamp(.7em,1.5vw,1.1em) .4em;gap:.25em}[data-screen=PORTFOLIO] .pf-income-cell+[data-screen=PORTFOLIO] .pf-income-cell{border-left:1px solid rgba(255,255,255,.06)}[data-screen=PORTFOLIO] .pf-income-cell--hi{background:#7c6aff1a}[data-screen=PORTFOLIO] .pf-income-cell--hi .pf-income-val{color:color-mix(in srgb,#7c6aff 60%,#fff)}[data-screen=PORTFOLIO] .pf-income-val{font-family:var(--font-mono);font-size:clamp(18px,2.6vmin,34px);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1}[data-screen=PORTFOLIO] .pf-income-period{font-family:var(--font-mono);font-size:clamp(7px,.75vmin,9px);letter-spacing:.2em;text-transform:uppercase;color:#ffffff38;line-height:1}[data-screen=PORTFOLIO] .pf-pending-row{display:flex;align-items:center;gap:1em;position:relative;z-index:2}[data-screen=PORTFOLIO] .pf-pending-label{font-family:var(--font-mono);font-size:clamp(7px,.75vmin,8px);letter-spacing:.25em;text-transform:uppercase;color:#fff3}[data-screen=PORTFOLIO] .pf-pending-val{font-family:var(--font-mono);font-size:clamp(11px,1.2vmin,14px);font-weight:700;color:#7c6aff}[data-screen=PORTFOLIO] .pf-next-claim{font-family:var(--font-mono);font-size:clamp(9px,.95vmin,11px);color:#ffffff40;margin-left:auto}[data-screen=PORTFOLIO] .pf-agents-section{display:flex;flex-direction:column;gap:.8rem;flex:1;min-height:0}[data-screen=PORTFOLIO] .pf-section-label{font-family:var(--font-mono);font-size:clamp(8px,.8vmin,9px);letter-spacing:.28em;text-transform:uppercase;color:#fff3}[data-screen=PORTFOLIO] .pf-agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;overflow-y:auto}[data-screen=PORTFOLIO] .pf-agent-card{display:flex;align-items:center;gap:.9em;padding:.7em 1em;background:linear-gradient(135deg,#12102af7,#060612fc);border:1px solid rgba(255,255,255,.07);border-radius:7px;position:relative;overflow:hidden}[data-screen=PORTFOLIO] .pf-agent-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--rc, #7c6aff);opacity:.7}[data-screen=PORTFOLIO] .pf-agent-num{font-family:var(--font-heading);font-weight:900;font-size:clamp(22px,3vmin,32px);color:var(--rc, #7c6aff);opacity:.55;letter-spacing:-.04em;line-height:1;min-width:2ch;text-align:center}[data-screen=PORTFOLIO] .pf-agent-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:.15em}[data-screen=PORTFOLIO] .pf-agent-name{font-family:var(--font-heading);font-weight:900;font-size:clamp(13px,1.5vmin,17px);letter-spacing:.02em;text-transform:uppercase;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-screen=PORTFOLIO] .pf-agent-role{font-family:var(--font-mono);font-size:clamp(8px,.85vmin,10px);letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d}[data-screen=PORTFOLIO] .pf-agent-earn{display:flex;flex-direction:column;align-items:flex-end;gap:.1em}[data-screen=PORTFOLIO] .pf-agent-earn-val{font-family:var(--font-mono);font-size:clamp(14px,1.6vmin,18px);font-weight:700;color:color-mix(in srgb,var(--rc, #7c6aff) 70%,#fff);letter-spacing:-.02em;line-height:1}[data-screen=PORTFOLIO] .pf-agent-earn-period{font-family:var(--font-mono);font-size:clamp(6px,.7vmin,8px);letter-spacing:.18em;text-transform:uppercase;color:#fff3;line-height:1}[data-screen=PORTFOLIO] .pf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:#ffffff40;font-family:var(--font-mono);font-size:clamp(11px,1.2vmin,13px);letter-spacing:.1em}[data-screen=PORTFOLIO] .pf-shop-link{background:#0004eb26;border:1px solid rgba(0,4,235,.4);border-radius:6px;color:#fff;font-family:var(--font-mono);font-size:clamp(10px,1.1vmin,12px);letter-spacing:.12em;padding:.6em 1.2em;cursor:pointer;pointer-events:all;transition:background .2s}[data-screen=PORTFOLIO] .pf-shop-link:hover{background:#0004eb4d}
