:root{--radius:22px;--max:1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.navWrap{position:relative}.navLogo{justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.navLogo img{object-fit:contain;width:42px;height:42px;transition:transform .2s;display:block}.navLogo:hover img{transform:scale(1.08)}:root[data-theme=dark]{--bg:#090a0d;--surface:#111319;--surface2:#171a22;--text:#f5f7fb;--muted:#a4adbd;--border:#252a35;--accent:#8d8cff;--accent2:#5eead4;--glow:#8d8cff2e}:root[data-theme=light]{--bg:#e1e3e8;--surface:#eceef2;--surface2:#d5d9e1;--text:#15171d;--muted:#39404c;--border:#bcc2cc;--accent:#4d49cf;--accent2:#07766c;--glow:#5b57ee2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 20% -10%, var(--glow), transparent 30%), var(--bg);min-height:100vh;color:var(--text);margin:0;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}header{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb, var(--border) 75%, transparent);position:sticky;top:0}.navWrap{max-width:var(--max);align-items:center;gap:24px;margin:auto;padding:16px 24px;display:flex}.brand{letter-spacing:.14em;font-weight:900}.brand span{color:var(--accent2)}nav{gap:8px;margin-left:auto;display:flex}nav a{color:var(--muted);border-radius:12px;padding:8px 12px;font-size:.94rem}nav a.active,nav a:hover{color:var(--text);background:var(--surface2)}.themeBtn{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:14px;place-items:center;display:grid}.page{max-width:var(--max);margin:auto;padding:0 24px 90px}.hero{max-width:880px;padding:112px 0 76px}.hero h1{letter-spacing:-.065em;margin:12px 0 28px;font-size:clamp(3.2rem,8vw,7rem);line-height:.94}.cvHero h1{font-size:clamp(3rem,7vw,6rem)}.heroText{max-width:760px;color:var(--muted);font-size:clamp(1.1rem,2vw,1.45rem)}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent2);font-size:.78rem;font-weight:800}.heroActions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.primary,.secondary{border-radius:14px;justify-content:center;align-items:center;padding:13px 18px;font-weight:700;display:inline-flex}.primary{background:var(--text);color:var(--bg)}.secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.section{padding:46px 0}.section>h2{letter-spacing:-.045em;margin:8px 0 26px;font-size:clamp(2rem,4vw,3.4rem)}.sectionLead{color:var(--accent2);margin-top:-10px;font-size:1.5rem}.grid2,.grid3{gap:16px;display:grid}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.accordion{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, white 0%), var(--surface));border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 14px 50px #00000014}.card{padding:24px}.card h3{margin:6px 0 10px;font-size:1.25rem}.card p,.wideText,.accordionBody p{color:var(--muted)}.cardIndex{color:var(--accent);font-size:.78rem;font-weight:800}.linkCard{justify-content:space-between;align-items:center;min-height:150px;transition:transform .2s,border-color .2s;display:flex}.linkCard:hover{border-color:var(--accent);transform:translateY(-3px)}.chips{flex-wrap:wrap;gap:9px;display:flex}.chips span{border:1px solid var(--border);background:var(--surface2);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.9rem}.accordionBody>.chips:first-child{padding-top:10px}.accordionStack{gap:12px;display:grid}.accordion{padding:0;overflow:hidden}.accordion button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.accordion button span{gap:3px;display:grid}.accordion button small{color:var(--muted);font-weight:500}.accordion button svg{transition:transform .2s}.accordion.open button svg{transform:rotate(180deg)}.accordionBody{border-top:1px solid var(--border);padding:0 22px 22px}.lead{font-size:1.08rem;color:var(--text)!important}.cleanList{gap:12px;margin:0;padding-left:20px;display:grid}.contactCard{justify-content:space-between;align-items:center;gap:24px;display:flex}.emptyHero{flex-direction:column;justify-content:center;min-height:65vh;display:flex}footer{max-width:var(--max);border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;margin:auto;padding:34px 24px 50px;display:flex}footer>div{flex-wrap:wrap;gap:18px;display:flex}footer strong{color:var(--text)}.featuredLink{grid-column:1/-1}.toolCard{flex-direction:column;gap:18px;display:flex}.toolCard h2{margin:4px 0 0;font-size:1.8rem}.toolValue,.toolResult{background:var(--surface2);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:14px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.toolActions{flex-wrap:wrap;gap:10px;display:flex}.toolButton{cursor:pointer;border:0;align-self:flex-start;gap:8px}.toolInput{background:var(--surface2);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:14px;padding:14px 16px}.toolWide{grid-column:1/-1}.jsonToolkit{gap:16px}.jsonToolkitHeader{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.jsonToolkitIntro{color:var(--muted);margin:6px 0 0}.jsonStatus{border:1px solid var(--border);background:var(--surface2);border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:8px 11px;font-size:.82rem;font-weight:700;display:inline-flex}.jsonStatus.valid{color:var(--accent2)}.jsonStatus.invalid{color:#f77}.jsonStatus.neutral{color:var(--muted)}.jsonTextarea{resize:vertical;background:var(--surface2);width:100%;min-height:360px;color:var(--text);border:1px solid var(--border);border-radius:16px;outline:none;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;line-height:1.6;transition:border-color .2s,box-shadow .2s}.jsonTextarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent)}.jsonMeta{color:var(--muted);justify-content:space-between;gap:12px;font-size:.8rem;display:flex}.jsonError{border:1px solid color-mix(in srgb, #f77 45%, var(--border));background:color-mix(in srgb, #f77 7%, var(--surface));color:#ff8b8b;border-radius:12px;align-items:flex-start;gap:9px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;display:flex}.jsonActions{align-items:center}.toolButton:disabled{opacity:.4;cursor:not-allowed}.battleSimulator{max-width:980px}.battleHeading{justify-content:space-between;align-items:center;gap:24px;margin:8px 0 26px;display:flex}.battleHeading h2{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,3.4rem)}.battleHeading p{color:var(--muted);margin:6px 0 0}.battleHeading>svg{color:var(--accent)}.battleCard{gap:24px;display:grid}.battleArmies{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:20px;display:grid}.battleArmy{background:var(--surface2);border:1px solid var(--border);border-radius:18px;gap:20px;padding:20px;display:grid}.battleArmyred{border-top:3px solid #e25555}.battleArmyblue{border-top:3px solid #5587e2}.battleArmyTitle{align-items:center;gap:9px;font-size:1.05rem;display:flex}.battleArmyred .battleArmyTitle{color:#e25555}.battleArmyblue .battleArmyTitle{color:#5587e2}.battleArmy label{color:var(--muted);gap:8px;font-size:.9rem;display:grid}.battleArmy label>span{justify-content:space-between;gap:12px;display:flex}.battleArmy label strong{color:var(--text)}.battleArmy input[type=range]{width:100%;accent-color:var(--accent)}.battleArmyred input[type=range]{accent-color:#e25555}.battleArmyblue input[type=range]{accent-color:#5587e2}.battleVersus{color:var(--muted);letter-spacing:.15em;place-items:center;font-size:.78rem;font-weight:900;display:grid}.battleTerrain{justify-content:space-between;align-items:center;gap:18px;padding-top:4px;display:flex}.battleTerrain>span{color:var(--muted)}.battleTerrainButtons{gap:8px;display:flex}.battleOption{background:var(--surface2);color:var(--muted);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:12px;padding:9px 14px;font-weight:700}.battleOption:hover{color:var(--text)}.battleOption.active{background:var(--text);color:var(--bg);border-color:var(--text)}.battleEstimate{background:var(--surface2);border:1px solid var(--border);color:var(--muted);border-radius:14px;align-items:center;gap:10px;padding:14px 16px;display:flex}.battleEstimate svg{color:var(--accent2)}.battleEstimate strong{color:var(--text);margin-left:auto}.battleActions{flex-wrap:wrap;gap:10px;display:flex}.battleResults{margin-top:16px}.battleResultHeader{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.battleResultHeader h3{align-items:center;gap:9px;margin:6px 0 0;font-size:1.5rem;display:flex}.battleResultHeader h3 svg{color:var(--accent2)}.battleResultHeader>span{color:var(--muted);font-size:.9rem}.battleWinNumbers{justify-content:space-between;gap:20px;margin-top:28px;display:flex}.battleWinNumbers>div{display:grid}.battleWinNumbers strong{font-size:clamp(2rem,5vw,3.6rem);line-height:1}.battleWinNumbers span{color:var(--muted);margin-top:7px}.redText{color:#e25555}.blueText{color:#5587e2;text-align:right}.battleProbability{background:var(--surface2);border-radius:999px;height:12px;margin:24px 0;display:flex;overflow:hidden}.battleProbabilityRed{background:#e25555}.battleProbabilityBlue{background:#5587e2}.battleProbabilityRed,.battleProbabilityBlue{transition:width .4s}.battleStats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.battleStats>div{background:var(--surface2);border:1px solid var(--border);border-radius:14px;gap:3px;padding:16px;display:grid}.battleStats span{color:var(--muted);font-size:.84rem}.battleStats strong{font-size:1.05rem}.battleLog{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.battleLogHeader{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.battleLogHeader h4{margin:4px 0 0;font-size:1.2rem}.battleLogHeader>span{color:var(--muted);font-size:.9rem}.battleLogRounds{gap:6px;max-height:320px;display:grid;overflow-y:auto}.battleLogRound{background:var(--surface2);border-radius:10px;grid-template-columns:1fr 110px 110px;align-items:center;gap:12px;padding:10px 14px;display:grid}.battleLogRound>span{color:var(--muted);font-size:.9rem}.battleLogRound strong{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.battleLogOutcome{border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;margin-top:12px;padding:14px;display:flex}.battleLogOutcome span{color:var(--muted)}@media (width<=760px){.battleArmies{grid-template-columns:1fr}.battleVersus{min-height:24px}.battleTerrain{flex-direction:column;align-items:flex-start}.battleTerrainButtons{width:100%}.battleOption{flex:1}.battleStats{grid-template-columns:1fr}.battleResultHeader{flex-direction:column}.battleLogRound{grid-template-columns:1fr 80px 80px;gap:8px;padding:9px 10px;font-size:.82rem}.battleLogHeader{align-items:flex-start}.battleLogOutcome{flex-wrap:wrap}}.todoAdd{grid-template-columns:1fr auto;gap:10px;display:grid}.todoList{gap:8px;display:grid}.todoItem{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.todoItem:hover{border-color:var(--accent)}.todoItem input{width:18px;height:18px;accent-color:var(--accent2);cursor:pointer}.todoItem span{overflow-wrap:anywhere}.todoItem:has(input:checked) span{color:var(--muted);text-decoration:line-through}.todoEmpty{color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:12px;padding:18px}@media (width<=760px){.todoAdd{grid-template-columns:1fr}.todoAdd .toolButton{width:100%}}.toolsGrid{grid-template-columns:1fr 1fr .72fr;align-items:start;gap:16px;display:grid}.toolsGuid{grid-column:1}.toolsUnix{grid-column:2}.toolsTodo{grid-area:1/3/span 2}.toolsJson{grid-column:1/3}.quickLinks{margin-bottom:16px}.quickLinksHeader{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.quickLinksHeader h2{margin:4px 0 0;font-size:1.8rem}.quickLinksLocal{color:var(--muted);font-size:.85rem}.quickPresets{flex-wrap:wrap;gap:8px;display:flex}.quickPreset{background:var(--surface2);min-height:40px;color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:7px;padding:8px 12px;font-size:.9rem;font-weight:650;transition:transform .15s,border-color .15s;display:inline-flex}.quickPreset:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.quickPreset:disabled{opacity:.35;cursor:default}.quickPresetCustom{color:var(--accent2);border-style:dashed}.quickEditor,.quickSavedEdit{grid-template-columns:1.5fr 1fr auto auto;gap:8px;margin-top:14px;display:grid}.quickLinksDivider{border-top:1px solid var(--border);margin:20px 0}.quickSaved{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.quickSavedLink{background:var(--surface2);border:1px solid var(--border);border-radius:14px;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.quickSavedLink:hover{border-color:var(--accent);transform:translateY(-2px)}.quickSavedLink>a{flex:1;align-items:center;gap:10px;min-width:0;padding:13px 10px 13px 14px;display:flex}.quickSavedLink>a>span{flex:1;min-width:0;display:grid}.quickSavedLink strong,.quickSavedLink small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quickSavedLink small{color:var(--muted);font-size:.75rem}.quickSavedLink>a>svg:last-child{color:var(--muted);flex-shrink:0}.quickSavedActions{align-items:center;gap:2px;padding-right:8px;display:flex}.quickSavedActions button,.quickIconButton{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.quickSavedActions button:hover{background:var(--surface);color:var(--text)}@media (width<=760px){.quickLinksHeader{flex-direction:column;align-items:flex-start;gap:4px}.quickPresets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quickPreset{justify-content:center;width:100%;min-height:44px}.quickEditor,.quickSavedEdit{grid-template-columns:1fr}.quickEditor .toolButton,.quickSavedEdit .quickIconButton{width:100%}.quickSaved{grid-template-columns:1fr}.quickSavedLink{min-width:0}.quickSavedLink>a{padding:14px}.quickSavedActions{padding-right:6px}}.quickFavicon{object-fit:contain;flex-shrink:0;width:18px;height:18px}.quickFaviconLarge{width:22px;height:22px}.quickSavedLink{position:relative}.quickLinkMenu{z-index:20;background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:6px;display:flex;position:absolute;inset:7px}.quickLinkMenu button{min-height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:.82rem;font-weight:700;display:inline-flex}.quickLinkMenu button:hover{background:var(--surface2)}@media (width<=1050px){.toolsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolsGuid,.toolsUnix,.toolsTodo,.toolsJson{grid-area:auto}.toolsJson{grid-column:1/-1}}@media (width<=760px){.toolsGrid{grid-template-columns:1fr}.toolsJson{grid-column:auto}.navWrap{align-items:center;padding:12px 16px 68px;display:flex;position:relative}.brand{font-size:.9rem}.navLogo{top:21px}.navLogo img{width:36px;height:36px}.themeBtn{margin-left:auto}nav{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--border);box-shadow:none;border-radius:16px;justify-content:space-around;gap:4px;margin:0;padding:6px;display:flex;position:absolute;bottom:8px;left:16px;right:16px}nav a{white-space:nowrap;padding:7px 9px;font-size:.78rem}.page{padding:0 16px 100px}.hero{padding:72px 0 48px}.grid2,.grid3{grid-template-columns:1fr}.contactCard{flex-direction:column;align-items:flex-start}footer{flex-direction:column;gap:14px;padding:30px 16px 100px}.section{padding:34px 0}.jsonToolkitHeader{flex-direction:column}.jsonStatus{align-self:flex-start}.jsonTextarea{min-height:300px}.jsonMeta{flex-direction:column;gap:2px}.battleSimulator{width:100%}.battleHeading{align-items:flex-start}.battleHeading>svg{flex-shrink:0}.battleArmy{padding:16px}.battleArmy .toolInput{font-size:16px}.battleVersus{padding:2px 0}.battleTerrainButtons{grid-template-columns:repeat(3,1fr);display:grid}.battleOption{min-height:44px;padding:9px 8px}.battleEstimate{flex-wrap:wrap;align-items:flex-start}.battleEstimate strong{width:100%;margin-left:28px}.battleActions{grid-template-columns:1fr;display:grid}.battleActions .toolButton{width:100%;min-height:48px}.battleWinNumbers strong{font-size:2.2rem}.battleProbability{height:14px}.battleStats>div{padding:14px 16px}}
