:root{--bg: #061018;--bg2: #091722;--panel: #0c1d29;--panel2: rgba(11, 29, 40, .72);--line: rgba(169, 221, 235, .15);--line2: rgba(32, 214, 239, .4);--text: #f3f8fa;--soft: #c3d4da;--muted: #8da7b2;--cyan: #20d6ef;--cyan2: #75efff;--cyan-bg: rgba(32, 214, 239, .08);--lime: #b8ef64;--ok: #b8ef64;--ko: #ff6b6b;--on-cyan: #001219;--header: rgba(6, 16, 24, .78);--grid-line: rgba(255, 255, 255, .018);--input: #06121a;--max: 1180px;color-scheme:dark}[data-theme=light]{--bg: #f4f8fa;--bg2: #eaf1f4;--panel: #ffffff;--panel2: #ffffff;--line: rgba(8, 48, 64, .14);--line2: rgba(8, 127, 147, .45);--text: #0b1c25;--soft: #2c4652;--muted: #50707c;--cyan: #087f93;--cyan2: #0a97ad;--cyan-bg: rgba(8, 127, 147, .07);--lime: #4f8f12;--ok: #3f7f0c;--ko: #c0392b;--on-cyan: #ffffff;--header: rgba(244, 248, 250, .85);--grid-line: rgba(6, 40, 56, .05);--input: #ffffff;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 Inter,Arial,sans-serif;overflow-x:hidden}a{color:var(--cyan);text-decoration:none}a:hover{color:var(--cyan2)}h1,h2,h3,h4{font-family:Space Grotesk,Inter,sans-serif;letter-spacing:-.02em;line-height:1.1;margin:0 0 .6rem}h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.045em;line-height:1.02}h1 em,h2 em{font-style:normal;color:var(--cyan)}h2{font-size:clamp(26px,3.2vw,38px);letter-spacing:-.035em}h3{font-size:20px}::selection{background:var(--cyan);color:var(--on-cyan)}.page-grid{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 75%);mask-image:linear-gradient(to bottom,black,transparent 75%)}.site-header{position:sticky;z-index:50;top:0;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px max(20px,calc((100vw - var(--max)) / 2));background:var(--header);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);min-width:0}.brand:hover{color:var(--text)}.brand-mark{width:32px;height:34px;flex:none;background:var(--cyan);-webkit-mask:url(/brand/ir-mark.svg) center / contain no-repeat;mask:url(/brand/ir-mark.svg) center / contain no-repeat}.brand-word{width:124px;height:30px;flex:none;background:var(--text);-webkit-mask:url(/brand/ir-wordmark.svg) left center / contain no-repeat;mask:url(/brand/ir-wordmark.svg) left center / contain no-repeat}.brand-sub{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:12px}.brand-sub b{font:700 11px Inter,sans-serif;letter-spacing:.16em;color:var(--cyan)}.brand-sub small{font-size:11px;color:var(--muted)}.header-actions{display:flex;gap:12px;align-items:center}.who{text-decoration:none;font-size:12px;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-toggle{background:transparent;color:var(--muted);border:0;display:flex;gap:7px;font:700 11px Inter,sans-serif;cursor:pointer;padding:8px}.language-toggle span.active{color:var(--cyan)}.icon-btn{background:transparent;border:1px solid var(--line);color:var(--muted);width:34px;height:34px;display:grid;place-items:center;cursor:pointer;padding:0;transition:.25s}.icon-btn:hover{color:var(--cyan);border-color:var(--cyan)}.icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.icon-moon,[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon{display:block}.ico{display:inline-block;width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;vertical-align:middle}.ico-box{width:40px;height:40px;border:1px solid var(--line2);display:grid;place-items:center;color:var(--cyan);flex:none}.ico-box .ico{width:22px;height:22px}nav.steps{display:flex;gap:6px;overflow-x:auto;padding:14px max(20px,calc((100vw - var(--max)) / 2));border-bottom:1px solid var(--line);scrollbar-width:thin}nav.steps a,nav.steps>span{flex:none;display:inline-flex;align-items:center;gap:9px;font:600 12px Inter,sans-serif;color:var(--muted);border:1px solid var(--line);padding:9px 14px 9px 10px;transition:.25s}nav.steps a:hover{color:var(--text);border-color:var(--line2)}nav.steps a.router-link-active,nav.steps a.active{color:var(--text);border-color:var(--cyan);background:var(--cyan-bg)}nav.steps a .num,nav.steps span .num{color:var(--cyan);font:600 11px Space Grotesk,sans-serif}nav.steps>span{opacity:.45;cursor:not-allowed}nav.steps span.num{opacity:1;margin-right:-3px}nav.steps .push{margin-left:auto}main{max-width:var(--max);margin:0 auto;padding:40px 20px 80px}main.wide{max-width:1320px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--cyan)}.section-number{color:var(--cyan);font:600 12px Space Grotesk,sans-serif;margin-right:14px}.eyebrow-text{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}.lead{color:var(--muted);font-size:16px;line-height:1.75;max-width:720px;margin:0 0 28px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px}.page-head h2,.page-head h1{margin:6px 0 0}.card{background:var(--panel2);border:1px solid var(--line);padding:26px;margin-bottom:14px;position:relative}.card>h3:first-child,.card>h2:first-child{margin-top:0}.card.featured{background:linear-gradient(160deg,var(--cyan-bg),var(--panel2) 55%)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.card-head h3{margin:0}label{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}input,select,textarea{width:100%;background:var(--input);border:1px solid var(--line);color:var(--text);padding:12px 13px;font:14px Inter,sans-serif;outline:none;border-radius:0;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--cyan)}input[readonly]{color:var(--muted)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--cyan) 50%),linear-gradient(135deg,var(--cyan) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}select option{background:var(--panel);color:var(--text)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--cyan);vertical-align:middle;margin:0 8px 0 0}.check{display:flex;align-items:center;text-transform:none;letter-spacing:0;font-size:14px;color:var(--soft);margin:12px 0;cursor:pointer}.b{border:0;background:var(--cyan);color:var(--on-cyan);font:800 14px Inter,sans-serif;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:.25s;cursor:pointer;text-decoration:none}.b:hover{background:var(--cyan2);color:var(--on-cyan);transform:translateY(-2px)}.b:disabled{opacity:.55;cursor:wait;transform:none}.b.s{background:transparent;color:var(--text);border:1px solid var(--line2);font-weight:600}.b.s:hover{background:var(--cyan-bg);color:var(--text)}.b.danger{background:transparent;color:var(--ko);border:1px solid var(--ko);font-weight:600}.b.danger:hover{background:color-mix(in srgb,var(--ko) 10%,transparent)}.b.sm{padding:9px 14px;font-size:12px}.b .arrow:after{content:"→";font-size:16px}.link{background:none;border:0;color:var(--cyan);font:600 12px Inter,sans-serif;cursor:pointer;padding:0}.link:hover{color:var(--cyan2)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:24px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.mod{text-align:left;background:var(--panel2);border:1px solid var(--line);padding:24px;min-height:210px;cursor:pointer;color:var(--text);font:inherit;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:.35s}.mod:hover{transform:translateY(-6px);border-color:var(--line2);color:var(--text)}.mod:after{content:"";position:absolute;width:140px;height:140px;border:1px solid var(--line);border-radius:50%;right:-70px;bottom:-70px}.mod-top{display:flex;justify-content:space-between;align-items:flex-start;color:var(--cyan);font:600 12px Space Grotesk,sans-serif}.mod h3{font-size:22px;margin:28px 0 10px}.mod p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.mod .tags{margin-top:auto;padding-top:18px}.mod.done{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span,.pill{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:6px 8px}.tags .done-tag,.pill.ok{color:var(--lime);border-color:var(--lime)}.bar{height:4px;background:var(--line);overflow:hidden;margin:6px 0 10px}.bar i{display:block;height:100%;background:var(--cyan);transition:width .4s;box-shadow:0 0 10px var(--cyan)}.opt{display:flex;gap:14px;align-items:center;width:100%;text-align:left;margin:10px 0;padding:15px 16px;border:1px solid var(--line);background:transparent;color:var(--text);font:14px Inter,sans-serif;cursor:pointer;transition:.2s}.opt:before{content:"";width:8px;height:8px;border:1px solid var(--cyan);transform:rotate(45deg);flex:none}.opt:hover:not(:disabled){border-color:var(--cyan);background:var(--cyan-bg)}.opt:disabled{cursor:default}.opt.ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.opt.ok:before{background:var(--ok);border-color:var(--ok)}.opt.ko{border-color:var(--ko);background:color-mix(in srgb,var(--ko) 12%,transparent)}.opt.ko:before{background:var(--ko);border-color:var(--ko)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border:1px solid var(--line);margin-bottom:14px}.stats>.stat{border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:-1px -1px 0 0}.stat{padding:22px;display:flex;flex-direction:column;gap:6px;background:var(--panel2);font-size:11px;color:var(--muted)}.stat b{font:600 32px Space Grotesk,sans-serif;color:var(--text);letter-spacing:-.03em;line-height:1}.stat b.accent,.stat.accent b{color:var(--cyan)}.stat small{font-size:11px;color:var(--muted)}.big-score{font:600 82px Space Grotesk,sans-serif;color:var(--cyan);letter-spacing:-.05em;line-height:1;margin:0;border-left:1px solid var(--cyan);padding-left:24px}.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:600;padding:0 14px 10px 0;white-space:nowrap}td{border-top:1px solid var(--line);padding:12px 14px 12px 0;color:var(--soft);white-space:nowrap;vertical-align:middle}th .link{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--muted)}th .link:hover{color:var(--cyan)}tr.clickable{cursor:pointer;transition:background .15s}tr.clickable:hover td{background:var(--cyan-bg)}td a{color:var(--text);font-weight:600}td a:hover{color:var(--cyan)}.tag{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid}.tag.y{color:var(--lime);border-color:var(--lime)}.tag.n{color:var(--ko);border-color:var(--ko)}.tag.p{color:var(--cyan);border-color:var(--line2)}.tag.m{color:var(--muted);border-color:var(--line)}.content{color:var(--soft);line-height:1.75}.content p{margin:0 0 14px}.content b,.content strong{color:var(--text)}.content h3{font-size:18px;color:var(--text);margin:28px 0 10px;padding-top:18px;border-top:1px solid var(--line)}.content ul,.content ol{padding-left:1.2rem;margin:.3rem 0 1rem}.content li{margin:.3rem 0}.content ul li::marker{color:var(--cyan)}.content ol li::marker{color:var(--cyan);font-family:Space Grotesk,sans-serif}.content img{max-width:100%;height:auto;border:1px solid var(--line)!important;border-radius:0!important;background:#fff}.content figure{margin:0 0 16px!important}.hint{color:var(--muted);font-size:13px}.err{color:var(--ko);font-size:12px;margin:6px 0 0}.alert{border:1px solid var(--ko);background:color-mix(in srgb,var(--ko) 8%,transparent);color:var(--text);padding:12px 16px;margin:14px 0;font-size:13px}.notice{border:1px solid var(--line2);background:var(--cyan-bg);color:var(--text);padding:12px 16px;margin:14px 0;font-size:13px}.live{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.live i{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}.auth{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.auth-copy{position:sticky;top:110px}.auth-copy p{color:var(--muted);line-height:1.75}.auth-list{list-style:none;padding:0;margin:30px 0 0}.auth-list li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line);font-size:13px;color:var(--soft);align-items:center}.auth-list li>span:first-child{color:var(--cyan);font:600 11px Space Grotesk,sans-serif}.auth.narrow{grid-template-columns:1fr;max-width:520px;margin:0 auto}.admin{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start}.admin-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:6px}.admin-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);color:var(--muted);font:600 13px Inter,sans-serif;transition:.2s}.admin-nav a:hover{color:var(--text);border-color:var(--line2)}.admin-nav a.on{color:var(--text);border-color:var(--cyan);background:var(--cyan-bg)}.admin-nav a .ico{color:var(--cyan)}.admin-nav .sep{height:1px;background:var(--line);margin:10px 0}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}.filters>*{flex:1 1 160px}.filters input[type=search]{flex:3 1 260px}.filters label{margin:0 0 6px}.filters .b{flex:0 0 auto}.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.pager-btns{display:flex;gap:8px}.kv{display:grid;grid-template-columns:150px 1fr;gap:0;font-size:13px}.kv dt{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:11px 0;border-top:1px solid var(--line)}.kv dd{margin:0;padding:10px 0;border-top:1px solid var(--line);color:var(--soft);overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:14px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:13px;color:var(--soft)}.timeline li .ico{color:var(--cyan)}.timeline li.off{opacity:.5}.timeline li .when{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.chart-tools{display:flex;justify-content:flex-end;margin:-6px 0 8px}.cols-chart{display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr auto;gap:0 8px}.cols-chart .axis{position:relative;grid-row:1}.cols-chart .axis span{position:absolute;right:0;transform:translateY(50%);font-size:10px;color:var(--muted)}.cols-chart .plot{position:relative;display:flex;align-items:flex-end;gap:6px;border-bottom:1px solid var(--line)}.cols-chart .grid-line{position:absolute;left:0;right:0;height:1px;background:var(--line);opacity:.6;pointer-events:none}.cols-chart .col{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;cursor:default;outline:none}.cols-chart .col i{display:block;width:100%;max-width:46px;min-height:2px;background:var(--cyan);border-radius:4px 4px 0 0;transition:opacity .15s}.cols-chart .col.pass i{background:var(--cyan2)}.cols-chart .col.dim i{opacity:.35}.cols-chart .tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:5;background:var(--panel);border:1px solid var(--line2);padding:8px 10px;font-size:12px;white-space:nowrap;display:flex;flex-direction:column;gap:2px;box-shadow:0 10px 30px #00000040;color:var(--text);pointer-events:none}.cols-chart .tip span{color:var(--muted)}.cols-chart .col:focus-visible i{outline:2px solid var(--cyan);outline-offset:2px}.cols-chart .xlabels{grid-column:2;display:flex;gap:6px}.cols-chart .xlabels span{flex:1;text-align:center;font-size:10px;color:var(--muted);padding-top:6px;white-space:nowrap;overflow:hidden}.bar-rows{display:flex;flex-direction:column}.bar-row{display:grid;grid-template-columns:minmax(110px,34%) 1fr 56px;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font-size:13px}.bar-row .lbl{color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row .track{height:8px;background:var(--line)}.bar-row .track i{display:block;height:100%;background:var(--cyan);border-radius:0 4px 4px 0}.bar-row .val{text-align:right;font:600 14px Space Grotesk,sans-serif;color:var(--text)}.bar-row .det{grid-column:1 / -1;color:var(--muted);font-size:11px;margin-top:-4px}.funnel .bar-row .track i{background:var(--cyan)}.site-footer{max-width:var(--max);margin:auto;padding:30px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}.fade-enter-active{transition:opacity .35s ease,transform .35s ease}.fade-enter-from{opacity:0;transform:translateY(12px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}@media(max-width:900px){.auth{grid-template-columns:1fr;gap:24px}.auth-copy{position:static}.admin{grid-template-columns:1fr}.admin-nav{position:static;flex-direction:row;overflow-x:auto}.admin-nav a{flex:none}.admin-nav .sep{display:none}}@media(max-width:620px){.site-header{padding:10px 16px}.brand-sub,.who{display:none}main{padding:28px 16px 60px}.card{padding:20px 16px}.kv{grid-template-columns:1fr}.kv dd{border-top:0;padding-top:0}.big-score{font-size:62px}.bar-row{grid-template-columns:minmax(90px,40%) 1fr 44px}}
