@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,800;1,900&family=PT+Mono&display=swap');
:root{--lime:#c3e82e;--violet:#ad8bfa;--bg:#090a09;--card:#141614;--line:#30342d;--muted:#989e91;--white:#f3f4eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:Rubik,'Segoe UI',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,svg circle:focus-visible{outline:3px solid var(--lime);outline-offset:5px}button:disabled{opacity:.5;cursor:default}a{color:inherit}button{border:0;color:inherit;background:none}main{max-width:1320px;margin:auto;padding:0 48px}.topbar{padding:24px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:38px;max-width:1440px;margin:auto}.brand{display:flex;gap:12px;align-items:center;font-weight:800;line-height:1.05;font-size:13px;letter-spacing:.3px;text-decoration:none}.brand-mark{background:var(--lime);color:#080a02;font-size:30px;letter-spacing:-6px;transform:rotate(-8deg);padding:3px 11px 4px 6px;clip-path:polygon(0 0,90% 0,100% 85%,10% 100%)}.brand-mark span{font-size:35px}.header-section,.prototype,.breadcrumb,.eyebrow,.hero-note,.card-label,.board-top small,.board-bottom,.bot-heading span,.prototype-note,.below-board>span,footer,.sample-tag,.info-strip,.muted{font-family:'PT Mono',Consolas,monospace}.header-section{font-size:11px;color:var(--muted);letter-spacing:1px}.prototype{margin-left:auto;color:var(--muted);font-size:10px;border:1px solid var(--line);padding:8px 10px}.breadcrumb{font-size:11px;color:var(--muted);padding-top:28px}.breadcrumb span{margin:0 12px;color:#52584c}.hero{display:flex;align-items:center;justify-content:space-between;padding:36px 0 32px}.eyebrow{color:var(--lime);font-size:10px;letter-spacing:1.6px;display:flex;align-items:center;gap:9px}.eyebrow i{width:6px;height:6px;background:var(--lime)}h1{font-size:94px;line-height:.95;font-style:italic;letter-spacing:-5px;margin:12px 0 18px;font-weight:900}h1 span{color:var(--lime)}.hero p{color:#b6bbaf;font-size:15px;line-height:1.6;margin:0}.hero-note{display:flex;align-items:center;gap:30px;font-size:10px;color:var(--muted);line-height:2.4;transform:rotate(-3deg)}.hero-note svg{width:145px;fill:var(--lime);stroke:var(--lime);stroke-width:2}.hero-note svg path{fill:none}.hero-note svg .enemy{fill:var(--violet);stroke:var(--violet)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:32px;margin-bottom:28px}.tabs button{font-size:13px;padding:16px 0;color:var(--muted);border-bottom:3px solid transparent;display:flex;gap:24px;align-items:center}.tabs button.active{border-bottom-color:var(--lime);color:var(--white)}.tabs button:last-child{margin-left:auto}.tabs button span{color:var(--lime)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.board-card{background:var(--card);border:1px solid var(--line);align-self:start}.board-top{padding:19px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.board-top strong{font-size:13px;font-weight:500}.board-top small{display:block;font-size:9px;color:var(--muted);margin:7px 0 0 15px}.live-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:9px}.text-button{font-size:11px;color:var(--muted);padding:8px 0}.text-button:hover{color:var(--lime)}.board-wrap{padding:10px 22px;background:radial-gradient(ellipse at center,#1b2017,var(--card) 80%)}#board{display:block;width:100%;max-height:660px;touch-action:manipulation}.grid-line{stroke:#343b2e;stroke-width:.7}.major-line{stroke:#47503d;stroke-width:.9}.coordinate{fill:#707969;font-family:'PT Mono',monospace;font-size:9px}.point{stroke:#141614;stroke-width:2;pointer-events:none}.point.human{fill:var(--lime)}.point.bot{fill:var(--violet)}.hit{fill:transparent;cursor:crosshair}.hit:hover{fill:#c3e82435}.hit:focus-visible{fill:#c3e82460;outline:none;stroke:var(--lime);stroke-width:1}.capture-area{fill:#c3e82218;stroke:var(--lime);stroke-width:2;stroke-linejoin:round;pointer-events:none}.ghost{fill:none;stroke:var(--lime);stroke-width:2;stroke-dasharray:3 3;pointer-events:none}.captured{opacity:.5}.board-bottom{display:flex;align-items:center;gap:22px;padding:15px 22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.legend{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}.lime{background:var(--lime)}.violet{background:var(--violet)}.board-caption{margin-left:auto;font-size:9px}aside{display:flex;flex-direction:column;gap:14px}aside section{padding:22px;background:var(--card);border:1px solid var(--line)}.card-label{font-size:9px;letter-spacing:1.1px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}.card-label span{color:var(--lime);font-size:8px}.score{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.score>div{display:flex;flex-direction:column;gap:9px}.score>div:last-child{text-align:right}.score span{font-size:48px;font-weight:600;line-height:1}.lime-text{color:var(--lime)}#bot-score{color:var(--violet)}.score small{font-size:8px;color:var(--muted);letter-spacing:.5px}.score b{font-size:24px;color:#57614e;font-weight:400}.status{font-size:11px;line-height:1.6;border-top:1px solid var(--line);padding-top:15px;color:#b8c0ae}.bot-heading{display:flex;gap:13px;align-items:center;margin-top:18px}.bot-icon{font-family:'PT Mono',monospace;color:var(--violet);font-size:19px;background:#24202e;padding:13px 7px}.bot-heading h2{font-size:18px;margin:0 0 5px}.bot-heading span{font-size:9px;color:var(--muted)}.opponent-card p,.mission-card p{font-size:12px;line-height:1.75;color:#a9b0a0;margin:16px 0}.secondary,.primary{border:1px solid #4c5443;padding:13px 16px;font-size:11px;display:flex;justify-content:space-between;gap:18px;align-items:center}.wide{width:100%}.secondary:hover{background:#262c20}.primary{background:var(--lime);color:#151a06;border-color:var(--lime);font-weight:600}.primary:hover{background:#d5fa40}.mission-card{background:#1b2011;border-color:#3b4820}.mission-card h2{font-size:22px;margin:18px 0 0}.prototype-note{font-size:9px;line-height:1.7;color:#89927e;padding:0 3px}.below-board{border-bottom:1px solid var(--line);padding:26px 0;display:flex;align-items:center;gap:24px}.below-board>span{font-size:9px;color:var(--lime);white-space:nowrap}.below-board p{font-size:11px;line-height:1.5;color:var(--muted)}.below-board button{margin-left:auto;white-space:nowrap}footer{display:flex;justify-content:space-between;color:#67705e;font-size:9px;padding:30px 0 36px;gap:20px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:40px 0 28px;gap:20px}.section-title h2{font-size:38px;line-height:1.15;letter-spacing:-1.2px;margin:14px 0}.section-title p{font-size:12px;color:var(--muted);line-height:1.8}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.level-card{border:1px solid var(--line);background:var(--card);padding:23px 18px;display:flex;flex-direction:column}.level-card.selected{border-color:var(--lime);background:#1b2011}.level-number{font-family:'PT Mono',monospace;font-size:36px;color:#4c5642}.selected .level-number{color:var(--lime)}.level-card h3{font-size:17px;margin:22px 0 10px}.level-card p{font-size:11px;line-height:1.8;color:var(--muted);min-height:96px}.level-card small{font-size:9px;color:var(--violet);margin:8px 0 22px;line-height:1.6}.level-card button{margin-top:auto}.info-strip{font-size:11px;line-height:1.8;padding:23px;border:1px solid var(--line);margin-top:20px;color:var(--muted)}.sample-tag{font-size:10px;color:var(--violet);border:1px solid #4a3b63;padding:9px}.progress-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.progress-grid article,.rating-bottom article{padding:30px;background:var(--card);border:1px solid var(--line)}.progress-main h3{font-size:36px;margin:25px 0 15px}.progress-main h3 span{color:var(--lime);float:right}.progress-main p{font-size:12px;color:var(--muted)}.progress-track{height:7px;background:#32392a;margin:24px 0}.progress-track i{display:block;background:var(--lime);height:100%;width:74%}.passport-stats{display:flex;gap:40px;margin:30px 0}.passport-stats div{display:flex;flex-direction:column;gap:8px}.passport-stats strong{font-size:29px}.passport-stats span{font-size:10px;color:var(--muted)}.muted{font-size:10px!important;color:var(--muted);line-height:1.8}.rank-card h3{font-size:64px;color:var(--lime);margin:25px 0 18px}.rank-card h3 small{font-size:14px}.rank-pill{border:1px solid #4a5930;font-size:11px;padding:8px 12px;color:var(--lime)}.rank-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:28px 0}.rating-bottom{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin:20px 0}.rating-bottom h3{font-size:23px}.rating-bottom p{font-size:12px;line-height:1.8;color:var(--muted)}.badges{display:flex;gap:30px;justify-content:space-between;margin-top:26px}.badges div{display:flex;flex-direction:column;gap:12px}.badges b{font-size:40px;color:var(--lime)}.badges strong{font-size:12px}.badges small{font-size:9px;color:var(--muted);line-height:1.6}.locked{opacity:.4}dialog{max-width:600px;width:calc(100% - 32px);background:#171b14;color:var(--white);border:1px solid #596449;padding:30px}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.close{font-size:28px;color:var(--muted)}dialog h2{font-size:30px;letter-spacing:-1px}dialog ol{padding-left:21px}dialog li,dialog p{font-size:12px;line-height:1.8;color:#c1c8b9;margin-bottom:12px}dialog a{font-size:11px;color:var(--lime);display:block;margin:20px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--lime);color:#141b05;padding:14px 22px;font-size:12px;max-width:90vw;box-shadow:0 10px 30px #0008;display:none;z-index:10}[hidden]{display:none!important}@media(min-width:1450px){main{max-width:1370px}}@media(max-width:1000px){main{padding:0 25px}.topbar{padding:20px 25px}.game-layout{grid-template-columns:minmax(0,1fr) 260px}.board-wrap{padding:5px}.board-top{padding:15px}.board-top .text-button{font-size:9px}.board-caption{display:none}.hero-note{gap:15px}.level-grid{grid-template-columns:repeat(3,1fr)}.rating-bottom{grid-template-columns:1fr}.below-board{flex-wrap:wrap;gap:10px}}@media(max-width:700px){main{padding:0 16px}.topbar{padding:16px;gap:16px}.header-section{display:none}.prototype{font-size:8px}.hero{padding:28px 0 24px}.hero-note{display:none}h1{font-size:76px}.hero p{font-size:13px}.breadcrumb{font-size:9px}.tabs{gap:18px;margin-bottom:18px}.tabs button{font-size:10px;gap:5px}.tabs button:last-child{margin-left:0}.game-layout{grid-template-columns:1fr;gap:16px}.board-top{padding:15px 12px}.board-top strong{font-size:11px}.board-top small{font-size:8px}.board-wrap{padding:4px}aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}aside section{padding:16px}.mission-card,.prototype-note{grid-column:1/-1}.bot-heading{gap:8px}.bot-heading h2{font-size:14px}.bot-icon{font-size:14px}.score span{font-size:40px}.score small{font-size:7px}.score{padding:20px 0}.opponent-card p{font-size:10px}.secondary,.primary{font-size:10px;padding:12px}.section-title{display:block;margin-top:28px}.section-title h2{font-size:29px}.level-grid{grid-template-columns:1fr 1fr}.level-card:last-child{grid-column:1/-1}.level-card p{min-height:70px}.progress-grid{grid-template-columns:1fr}.progress-grid article,.rating-bottom article{padding:22px}.badges{gap:14px}.passport-stats{gap:22px}.below-board p{margin:0}.below-board button{margin-left:0}footer{font-size:8px;flex-direction:column;gap:12px}.sample-tag{display:inline-block}.progress-main h3{font-size:30px}}

@font-face{font-family:Unbounded;src:url("assets/Unbounded-Medium.ttf") format("truetype");font-weight:500;font-display:swap}.brand-logo{width:46px;height:46px;object-fit:contain}.opponent-card h2,.mission-card h2,.level-card h3,.rating-bottom h3{font-family:Unbounded,Rubik,sans-serif;font-weight:500}.primary{clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}@media(max-width:700px){.brand-logo{width:40px;height:40px}.bot-heading h2{font-size:12px}.mission-card h2{font-size:19px}}
