@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-cyrillic-ext-wght-normal.1p5eg27ho_atv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-vietnamese-wght-normal.2gl4mcd5dm2h_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-latin-ext-wght-normal.362mv560wxbnh.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-latin-wght-normal.1nsast9qgxif8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.1ladf10s224e1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0x7cg5h5x34js.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.1k07jbkicvzf3.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.0a13tgqsi9z78.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.3rxtet6g9i1k3.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2rmhnsrc80fag.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f3f4f9;--paper:#fff;--soft:#f3f5fa;--ink:#191b24;--muted:#606577;--hair:#e3e6ee;--proj:#2f5bff;--proj-ink:#fff;--cv:#ffd43b;--cv-ink:#191b24;--log:#2fc98a;--log-ink:#191b24;--log-deep:#178a5c;--shop:#ff6b4a;--shop-ink:#191b24;--edge:#dfe3ec;--r:20px;--r2:14px;--pb:0px;--shadow:0 1px 2px #191b240d, 0 10px 28px #191b240f;--font:"Plus Jakarta Sans Variable", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, Menlo, Consolas, monospace;--ws:.08em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--font);word-spacing:var(--ws);margin:0}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);position:fixed;inset:0 0 auto}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--proj);outline-offset:2px}.wrap{max-width:1240px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin-inline:auto}.symbols{width:0;height:0;position:absolute}.ill{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.lab{color:var(--muted);font-size:13px;font-weight:500}h1,h2,h3{text-wrap:balance;letter-spacing:-.025em;margin:0}button{font-family:inherit}.c-proj{--c:var(--proj);--ci:var(--proj-ink)}.c-cv{--c:var(--cv);--ci:var(--cv-ink)}.c-log{--c:var(--log);--ci:var(--log-ink)}.c-shop{--c:var(--shop);--ci:var(--shop-ink)}.top{top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky}.top .wrap{align-items:center;gap:14px;padding-block:10px;display:flex}.brand{letter-spacing:-.03em;white-space:nowrap;word-spacing:0;align-items:center;gap:8px;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.chip.mk{margin-left:auto;display:none}.top nav{gap:6px;min-width:0;margin-left:auto;padding:3px;display:flex;overflow-x:auto}.chip{white-space:nowrap;background:var(--paper);border:var(--pb) solid var(--hair);cursor:pointer;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #191b240f}.chip:before{content:"";background:var(--c,var(--ink));border-radius:50%;width:10px;height:10px}.chip:hover{background:var(--soft)}.chip[aria-current],.chip[aria-pressed=true]{background:var(--c,var(--ink));color:var(--ci,var(--paper));border-color:#0000}.chip[aria-current]:before,.chip[aria-pressed=true]:before{background:currentColor}.chip small{opacity:.7;font-size:12px;font-weight:500}.chip.plain:before{display:none}.lang{white-space:nowrap}main{padding-block:14px 44px}.grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.s12{grid-column:span 12}.s7{grid-column:span 7}.s5{grid-column:span 5}.panel{background:var(--paper);border:var(--pb) solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;min-width:0;display:flex;overflow:hidden}.ph{background:var(--c);color:var(--ci);flex-wrap:wrap;align-items:baseline;gap:12px;padding:12px 20px;display:flex}.ph h2{font-size:28px;font-weight:800}.ph .lab{color:inherit;opacity:.8}.ph a{margin-left:auto;font-size:14px;font-weight:700}.pbody{flex:1;padding:20px}.who{flex-flow:wrap;align-items:center;gap:20px;padding:24px}.who img{background:var(--soft);object-fit:cover;border-radius:50%;flex:none;width:132px;height:132px}.who>div{flex:300px;min-width:0}.who h1{letter-spacing:-.035em;margin-top:2px;font-size:clamp(34px,5.4vw,64px);font-weight:800;line-height:1.05}.who p{max-width:46ch;margin:10px 0 0;font-size:18px;line-height:1.45}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.btn{font:700 14px var(--font);border:1px solid var(--hair);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;padding:10px 18px;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.btn:hover{background:var(--soft)}.btn.fill{background:var(--cv);color:var(--cv-ink);border-color:var(--cv)}.btn.fill:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.status{background:var(--paper);border-radius:var(--r);min-width:0;box-shadow:var(--shadow);padding:20px 22px}.status .head{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.status .head b{color:var(--ink);font-size:15px;font-weight:700}.status dl{margin:0}.status dl div{border-top:1px solid var(--hair);grid-template-columns:82px minmax(0,1fr);gap:12px;padding-block:9px;display:grid}.status dt{color:var(--muted);padding-top:2px;font-size:13px}.status dd{margin:0;font-weight:600}.status dd.open{color:var(--log)}.pgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.card{background:var(--soft);border:var(--pb) solid var(--hair);border-radius:var(--r2);flex-direction:column;min-width:0;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #191b2424}.card .th{background:color-mix(in srgb, var(--proj) 13%, var(--paper));color:var(--proj);aspect-ratio:16/9;place-items:center;max-width:100%;display:grid}.card .th svg{width:42%;max-width:140px}.card.big{grid-area:span 2/span 2}.card.big .th{background:var(--proj);color:var(--proj-ink);aspect-ratio:auto;flex:1;min-height:170px}.card .cb{gap:4px;padding:12px 14px 14px;display:grid}.card .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.card h3{font-size:17px;font-weight:700;line-height:1.2}.card.big h3{font-size:26px;font-weight:800}.card p{color:var(--muted);margin:0;font-size:14px}.st{white-space:nowrap;font-size:12.5px;font-weight:700}.st:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.st.run{color:#b25e00}.st.done{color:#107a4d}.st.live{color:var(--proj)}.st.arch{color:var(--muted)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.stats a{background:color-mix(in srgb, var(--cv) 30%, var(--paper));border-radius:var(--r2);padding:10px 14px;text-decoration:none;display:grid}.stats a:hover{background:var(--cv)}.stats b{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.1}.stats span{font-size:13px;font-weight:500}.tl{margin:0;padding:0;list-style:none}.tl li{border-top:1px solid var(--hair);grid-template-columns:132px minmax(0,1fr);gap:14px;padding-block:10px;display:grid}.tl time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px;font-size:13px;font-weight:500}.tl b{display:block}.tl span{color:var(--muted);font-size:14px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span,.tags a,.tags button{background:var(--soft);color:var(--ink);border:0;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:500}.tags button{cursor:pointer;background:var(--ink);color:var(--paper);font-weight:700}.posts{margin:0;padding:0;list-style:none}.posts li{border-top:1px solid var(--hair)}.posts li:first-child,.tl li:first-child{border-top:0}.tl li:first-child{padding-top:0}.posts a{border-radius:12px;gap:2px;margin-inline:-10px;padding:11px 10px;text-decoration:none;display:grid}.posts a:hover{background:var(--soft)}.posts b{font-size:16px;font-weight:700}.posts .go{color:var(--log-deep);margin-top:2px;font-size:13.5px;font-weight:700}.posts p{color:var(--muted);margin:0;font-size:14px}.quiet{color:var(--muted);margin:12px 0 0;font-size:14px}.shopb{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:22px;display:grid}.shopb h3{font-size:22px;font-weight:800;line-height:1.15}.shopb p{color:var(--muted);margin:8px 0 0}.items{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.items div{border-radius:var(--r2);background:color-mix(in srgb, var(--shop) 14%, var(--paper));padding:12px 14px}.items b{display:block}.items span{color:var(--muted);font-size:13px}.notify{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.notify input{min-width:0;font:500 14px var(--font);border:1px solid var(--hair);background:var(--paper);color:var(--ink);border-radius:999px;flex:200px;padding:10px 16px}.note{margin:10px 0 0;font-weight:600}.pill{background:var(--soft);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700;display:inline-block}.pill.in{background:color-mix(in srgb, var(--log) 30%, var(--paper));color:#0b5d3a}.pill.mto{background:color-mix(in srgb, var(--cv) 45%, var(--paper));color:#6b4e00}.pill.out,.pill.soon{color:var(--muted)}.card.prod .th{background:color-mix(in srgb, var(--shop) 15%, var(--paper));color:#c8421f}.card.prod{cursor:pointer;text-align:left;font:inherit;color:inherit;padding:0}.price{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.buyrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.shoptag{background:var(--shop);color:var(--shop-ink);border-radius:999px;justify-self:start;margin-top:8px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-block}.order{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:28px;display:grid}.order .pic{background:color-mix(in srgb, var(--shop) 15%, var(--paper));color:#c8421f;border-radius:var(--r2);aspect-ratio:4/3;place-items:center;max-width:100%;display:grid}.order .pic svg{width:40%}.order h3{margin-top:14px;font-size:26px;font-weight:800}.order .desc{color:var(--muted);margin:6px 0 12px}.opts{flex-wrap:wrap;gap:6px;margin:6px 0 12px;display:flex}.opts .chip{box-shadow:none;background:var(--soft)}.opts .chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.form{background:var(--soft);border-radius:var(--r2);gap:12px;padding:18px;display:grid}.form h4{margin:0;font-size:17px;font-weight:800}.form label{gap:4px;font-size:13px;font-weight:600;display:grid}.form input,.form textarea,.form select{font:500 14px var(--font);border:1px solid var(--hair);background:var(--paper);color:var(--ink);border-radius:10px;width:100%;min-width:0;padding:9px 12px}.form .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.form .info{color:var(--muted);margin:0;font-size:13px}.form .btn[disabled]{opacity:.55;cursor:not-allowed}.back{font:700 14px var(--font);color:var(--ink);cursor:pointer;background:0 0;border:0;margin-bottom:14px;padding:0}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.steps div{background:var(--soft);border-radius:var(--r2);padding:12px 14px;font-size:14px}.steps b{display:block}.steps span{color:var(--muted)}.tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.tools .chip{box-shadow:none;background:var(--soft)}.tools .chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.tools .right{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.seg{background:var(--soft);border-radius:999px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.seg button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #191b241f}.plist.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.plist.list{display:grid}.prow{border-top:1px solid var(--hair);border-radius:8px;grid-template-columns:92px minmax(0,1fr) 110px 100px;align-items:baseline;gap:14px;padding:10px 8px;text-decoration:none;display:grid}.prow:hover{background:var(--soft)}.prow .y{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.prow b{font-weight:700}.morebtn{margin:16px auto 0}.center{justify-content:center;display:flex}.cvl{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:32px;display:grid}.sub{top:calc(env(safe-area-inset-top,0px) + 70px);gap:2px;display:grid;position:sticky}.sub a{border-radius:10px;justify-content:space-between;gap:8px;padding:7px 10px;font-weight:600;text-decoration:none;display:flex}.sub a:hover{background:var(--soft)}.sub a span{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.sub .btn{justify-content:center;margin-top:10px}.cvs{gap:30px;min-width:0;display:grid}.cvs section{scroll-margin-top:76px}.cvs h3{align-items:baseline;gap:8px;margin-bottom:10px;font-size:19px;font-weight:800;display:flex}.cvs h3 span{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:500}details{border-top:1px solid var(--hair)}summary{cursor:pointer;border-radius:8px;align-items:baseline;gap:10px;padding:10px 4px;font-weight:700;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--muted);margin-left:auto;font-weight:500}details[open]>summary:after{content:"–"}summary:hover{background:var(--soft)}summary span{color:var(--muted);font-weight:500}.cert{border-top:1px solid var(--hair);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 4px 8px 16px;font-size:14.5px;display:grid}.cert button{border:1px solid var(--hair);background:var(--paper);cursor:pointer;color:var(--ink);border-radius:999px;padding:3px 11px;font-size:12.5px;font-weight:600}.cert button:hover{background:var(--cv);border-color:var(--cv)}.sk{border-top:1px solid var(--hair);grid-template-columns:170px minmax(0,1fr);gap:14px;padding-block:10px;display:grid}.sk b{padding-top:2px}.sk .x{display:none}.sk.open .x{display:inline-block}.sk.open button{display:none}.older .tl li:first-child{border-top:1px solid var(--hair);padding-top:10px}.crumb{color:var(--muted);margin-bottom:12px;font-size:13px;font-weight:600}.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}.detail{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:30px;display:grid}.cover{aspect-ratio:16/9;border-radius:var(--r2);background:color-mix(in srgb, var(--c) 14%, var(--paper));max-width:100%;color:color-mix(in srgb, var(--c) 70%, var(--ink));place-items:center;display:grid}.cover svg{width:26%}.cover span,.gal span{opacity:.8;font-size:12.5px;font-weight:600}.dtitle{letter-spacing:-.035em;margin:18px 0 6px;font-size:clamp(30px,4.4vw,42px);font-weight:800;line-height:1.08}.dlead{color:var(--muted);max-width:60ch;margin:0;font-size:18px}.metabox{background:var(--soft);border-radius:var(--r2);top:calc(env(safe-area-inset-top,0px) + 70px);padding:16px;position:sticky}.metabox dl{gap:12px;margin:0;display:grid}.metabox dt{color:var(--muted);font-size:12.5px;font-weight:600}.metabox dd{margin:2px 0 0;font-weight:600}.metabox .tags span{background:var(--paper)}.metabox a{font-weight:700}.gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.gal div{aspect-ratio:4/3;background:color-mix(in srgb, var(--c) 10%, var(--paper));max-width:100%;color:color-mix(in srgb, var(--c) 70%, var(--ink));border-radius:10px;place-items:center;display:grid}.prose{max-width:68ch;font-size:16.5px;line-height:1.7}.prose h2{margin:1.5em 0 .3em;font-size:24px;font-weight:800}.prose h3{margin:1.3em 0 .2em;font-size:19px;font-weight:700}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose li{margin-bottom:.25em}.prose a{-webkit-text-decoration-color:var(--c);text-decoration-color:var(--c);text-underline-offset:3px;font-weight:600;text-decoration-thickness:2px}.prose blockquote{border-left:4px solid var(--c);color:var(--muted);margin:0 0 1em;padding:2px 0 2px 16px}.prose code{font:500 .88em var(--mono);background:var(--soft);word-spacing:0;border-radius:6px;padding:1px 6px}.prose pre{background:var(--ink);color:#e9ecf5;border-radius:12px;margin:0 0 1em;padding:14px 16px;line-height:1.55;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0;font-size:13.5px}.prose figure{margin:1.4em 0}.prose figure .cover{aspect-ratio:16/10}.prose figcaption{color:var(--muted);margin-top:6px;font-size:13px}.prose .tw{margin:0 0 1em;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14.5px}.prose th{text-align:left;color:var(--muted);font-size:12.5px}.prose th,.prose td{border-bottom:1px solid var(--hair);font-variant-numeric:tabular-nums;padding:8px 10px}.callout{background:color-mix(in srgb, var(--cv) 30%, var(--paper));border-radius:12px;margin:0 0 1em;padding:12px 16px}.related{border-top:1px solid var(--hair);margin-top:26px;padding-top:18px}.related h3{margin-bottom:10px;font-size:17px;font-weight:800}.rel{background:var(--soft);border-radius:var(--r2);align-items:center;gap:14px;max-width:480px;padding:12px 14px;text-decoration:none;display:flex}.rel img{object-fit:cover;border:1px solid var(--hair);border-radius:8px;flex:none;width:72px;height:48px}.rel b{display:block}.pn{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.pn a{background:var(--soft);border-radius:var(--r2);gap:2px;padding:14px 16px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s;display:grid}.pn a:hover{background:color-mix(in srgb, var(--c) 14%, var(--paper))}.pn .nx{text-align:right}.lb{z-index:30;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));background:#191b24d1;place-items:center;display:grid;position:fixed;inset:0}.lb .in{justify-items:center;gap:12px;max-width:100%;display:grid}.lb .a4{aspect-ratio:1/1.414;background:var(--paper);text-align:center;max-width:100%;height:min(72vh,700px);color:var(--muted);border-radius:8px;place-items:center;padding:24px;font-weight:600;display:grid}.lb .bar{color:var(--paper);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.legal .prose h2:first-child{margin-top:0}.legal section{scroll-margin-top:76px}.draft{background:color-mix(in srgb, var(--cv) 30%, var(--paper));border-radius:12px;margin-bottom:18px;padding:10px 14px;font-size:14px;font-weight:500}.e404{text-align:center;justify-items:center;gap:10px;padding:56px 20px;display:grid}.e404 b{letter-spacing:-.05em;font-size:clamp(64px,14vw,120px);font-weight:800;line-height:1}.e404 b i{color:var(--shop);font-style:normal}.e404 p{color:var(--muted);margin:0}.consent{color:var(--muted);margin:0;font-size:12.5px}.flinks{flex-wrap:wrap;gap:6px 16px;margin-bottom:6px;font-weight:600;display:flex}.flinks a{text-decoration:none}.flinks a:hover{text-decoration:underline}.contact{background:var(--ink);color:var(--paper);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:22px 24px;scroll-margin-top:76px;display:flex}.contact h2{font-size:22px;font-weight:800}.contact .links{flex-wrap:wrap;gap:16px;margin-top:6px;font-size:14px;font-weight:600;display:flex}.mail{background:var(--cv);color:var(--cv-ink);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;border-radius:999px;padding:8px 14px;font-weight:700}.contact .btn{color:var(--paper);border-color:color-mix(in srgb, var(--paper) 40%, transparent);background:0 0}footer{color:var(--muted);padding-block:0 84px;font-size:13px}:root{--sab:env(safe-area-max-inset-bottom,env(safe-area-inset-bottom,0px))}.tabbar{display:none}@media (max-width:640px){.top nav{display:none}.chip.mk{display:inline-flex}.tabbar{z-index:15;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) - var(--sab));background:var(--paper);border-top:4px solid var(--c,var(--edge));padding:8px max(8px, env(safe-area-inset-right,0px)) calc(6px + var(--sab)) max(8px, env(safe-area-inset-left,0px));grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid;position:fixed;box-shadow:0 -6px 20px #191b240f}.tabbar a{color:var(--muted);word-spacing:0;border-radius:14px;justify-items:center;gap:3px;padding:6px 2px;font-size:11.5px;font-weight:600;text-decoration:none;display:grid}.tabbar svg{width:22px;height:22px;color:var(--c)}.tabbar a[class=""]{--c:var(--edge);--ci:var(--ink)}.tabbar a[class=""] svg{color:var(--ink)}.tabbar a[aria-current]{background:var(--c);color:var(--ci,var(--ink));font-weight:800}.tabbar a[aria-current] svg{color:inherit}.tabbar.c-log,.tabbar a.c-log[aria-current]{--c:var(--log-deep);--ci:var(--paper)}.tabbar a.c-cv:not([aria-current]) svg{color:var(--muted);fill:var(--cv)}footer{padding-bottom:150px}}.sheetwrap{background:var(--soft);border-radius:var(--r2);padding:20px;overflow-x:auto}.a4p{word-spacing:.04em;background:#fff;width:794px;max-width:100%;margin-inline:auto;padding:44px 48px;font-size:13px;line-height:1.5;box-shadow:0 2px 14px #191b241f}.a4p header{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.a4p header b{letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1.1;display:block}.a4p header>span:last-child{text-align:right;color:var(--muted);margin-left:auto}.bar4{border-radius:3px;grid-template-columns:repeat(4,1fr);height:5px;margin:16px 0 20px;display:grid;overflow:hidden}.a4p .cols2{grid-template-columns:minmax(0,1fr) 210px;gap:30px;display:grid}.a4p h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:11.5px;font-weight:800}.a4p section{margin-bottom:18px}.a4p .it{grid-template-columns:92px minmax(0,1fr);gap:10px;margin-bottom:8px;display:grid}.a4p .it time{color:var(--muted);font-variant-numeric:tabular-nums}.a4p .it b{display:block}.a4p ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:640px){.a4p{padding:24px 20px}.a4p .cols2,.a4p .it{grid-template-columns:1fr;gap:4px}.a4p header>span:last-child{text-align:left;margin-left:0}}@media (max-width:900px){.s7,.s5{grid-column:span 12}.pgrid,.plist.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shopb,.cvl,.order,.detail{grid-template-columns:1fr}.metabox{position:static}.sub{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.sub .btn{grid-column:1/-1}}@media (max-width:520px){.pgrid,.plist.grid,.items,.steps,.form .two{grid-template-columns:1fr}.gal{grid-template-columns:repeat(2,minmax(0,1fr))}.card.big{grid-column:auto}.tl li,.sk{grid-template-columns:1fr;gap:2px}.prow{grid-template-columns:minmax(0,1fr) auto}.prow .y,.prow .lab,.lang{display:none}.tools .right{justify-content:space-between;width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}.grid:has(>.status[hidden])>.who{grid-column:span 12}.noimg{letter-spacing:-.03em;font-size:30px;font-weight:800}.card.big .noimg{font-size:64px}.card .th img,.cover img,.gal img,.order .pic img{object-fit:cover;width:100%;height:100%;display:block}.cover,.gal div,.order .pic{overflow:hidden}.prose img{border-radius:12px;max-width:100%;height:auto}.lb img{background:var(--paper);border-radius:8px;max-width:100%;max-height:76vh}.untranslated{background:color-mix(in srgb, var(--cv) 30%, var(--paper));border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:14px;font-weight:500}.empty{border:2px dashed var(--hair);border-radius:var(--r2);text-align:center;justify-items:center;gap:8px;padding:26px;display:grid}.empty b{font-size:16px}.lang{text-decoration:none}.lang:hover{color:var(--ink)}@page{size:A4;margin:0}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.top,.tabbar,.contact,footer,.ph,.noprint{display:none!important}body{background:#fff}body:before{display:none}main,.wrap{max-width:none;padding:0}main>.panel{animation:none}.panel,.sheetwrap{box-shadow:none;background:0 0;border-radius:0;padding:0;overflow:visible}.pbody{padding:0}.a4p{box-shadow:none;width:auto;max-width:none;padding:16mm 17mm}}.cover .noimg{font-size:clamp(48px,9vw,96px)}.order .pic .noimg{font-size:64px}a.mail{text-decoration:none}.cert b{font-weight:600}.cert small{color:var(--muted);max-width:70ch;margin-top:2px;font-size:13.5px;display:block}.cert{align-items:start}.chip,.top nav a,.tabbar a,.prow,.stats a,.sub a,a{transition:background .15s,color .15s}.btn:active{transform:scale(.97)}.lang{border:1px solid var(--hair);background:var(--paper);color:var(--ink);border-radius:999px;padding:6px 12px;font-weight:700;display:inline-flex}.lang:hover{background:var(--soft)}.avail{color:#0b6a43;background:color-mix(in srgb, var(--log) 22%, var(--paper));border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:14px;font-weight:700;display:inline-flex}.avail:before{content:"";background:var(--log);border-radius:50%;width:8px;height:8px}.card.bare{background:var(--paper);border:1px solid var(--hair);gap:12px;padding:16px}.card.bare .badge{letter-spacing:-.02em;background:color-mix(in srgb, var(--proj) 13%, var(--paper));width:44px;height:44px;color:var(--proj);border-radius:12px;place-items:center;font-size:15px;font-weight:800;display:grid}.card.bare .cb{padding:0}.card.bare.big{background:var(--proj);border-color:var(--proj);color:var(--proj-ink);grid-row:auto;justify-content:space-between;min-height:200px}.card.bare.big .badge{background:color-mix(in srgb, var(--proj-ink) 20%, transparent);color:var(--proj-ink)}.card.bare.big p,.card.bare.big .lab{color:color-mix(in srgb, var(--proj-ink) 82%, transparent)}.card.bare.big .st{color:var(--proj-ink)}.card.bare.big h3{font-size:30px}.strip{background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow);border-left:6px solid var(--c);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;text-decoration:none;display:flex}.strip b{letter-spacing:-.02em;font-size:18px;font-weight:800}.strip>span:nth-of-type(2){color:var(--muted)}.strip .go{margin-left:auto;font-weight:700}.strip:hover{background:color-mix(in srgb, var(--c) 8%, var(--paper))}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}main>.grid>*,main>.panel{animation:.45s both rise}main>.grid>:nth-child(2){animation-delay:60ms}main>.grid>:nth-child(3){animation-delay:.12s}main>.grid>:nth-child(n+4){animation-delay:.18s}@media (max-width:900px){.plist.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.lang{padding:5px 10px;display:inline-flex}.who{align-items:flex-start;gap:14px;padding:18px}.who img{width:72px;height:72px}.who>div{flex-basis:180px}.who p{font-size:16px}.plist.grid,.pn{grid-template-columns:1fr}.pn .nx{text-align:left}}@media (prefers-reduced-motion:reduce){main>.grid>*,main>.panel{animation:none}.btn:active{transform:none}}@media (min-width:901px){.pgrid:has(>.card.bare.big){grid-template-columns:repeat(3,minmax(0,1fr))}.pgrid>.card.bare.big{grid-area:span 2/span 1}}@keyframes flash{0%,to{box-shadow:0 0 #0000}30%{box-shadow:0 0 0 6px var(--cv)}}.contact.flash{animation:1.1s flash}.strip:not(a):hover{background:var(--paper)}.cvs{gap:0}.cvs section{border-top:2px solid var(--hair);padding-block:26px}.cvs section:first-child{border-top:0;padding-top:0}.cvs h3{flex-wrap:wrap;align-items:center;margin-bottom:14px;font-size:24px}.cvs h3:before{content:"";background:var(--cv);border-radius:3px;flex:none;width:12px;height:12px}@media (prefers-reduced-motion:reduce){.contact.flash{animation:none}}.prose img{border:1px solid var(--hair)}.prose .minisite{margin:1.4em 0}.minisite .frame{aspect-ratio:16/10;border:1px solid var(--hair);background:var(--soft);box-shadow:var(--shadow);border-radius:12px;overflow:hidden;container-type:inline-size}.minisite iframe{border:0;width:100%;height:100%;display:block}@supports (transform:scale(tan(atan2(1px, 2px)))){@media (min-width:641px){.minisite iframe{transform-origin:0 0;width:1280px;height:800px;transform:scale(tan(atan2(100cqw, 1280px)))}}}@media (max-width:640px){.minisite .frame{aspect-ratio:3/4}}@media print{.minisite .frame{display:none}}@media (max-width:900px){.detail{row-gap:0}.detail>article{display:contents}.detail>article>*{order:3}.detail>article>.cover,.detail>article>.dtitle,.detail>article>.dlead{order:1}.detail>.metabox{order:2;margin-top:16px}.metabox dl{grid-template-columns:repeat(2,minmax(0,1fr))}.metabox dl>.wide{grid-column:1/-1}}@media (max-width:640px){:root{--pb:1px;--bg:#e9ecf4;--hair:#d6dae6}.lang.off{display:none}.card,.metabox,.rel,.pn a,.form,.steps div,.who,.chip.plain,.tags span{border:1px solid var(--hair)}}.related .rel{border:1px solid color-mix(in srgb, var(--c) 55%, var(--paper))}.card{position:relative}.card .go{background:color-mix(in srgb, var(--c,var(--proj)) 13%, var(--paper));width:28px;height:28px;color:var(--c,var(--proj));border-radius:50%;place-items:center;font-weight:800;transition:transform .15s;display:grid;position:absolute;bottom:12px;right:14px}.card:hover .go{transform:translate(3px)}.card:not(.big):not(.prod) h3{color:var(--c,var(--proj))}.card .cb{padding-bottom:44px}.card.bare .cb{padding-bottom:30px}.card.bare.big .go{background:color-mix(in srgb, var(--proj-ink) 20%, transparent);color:var(--proj-ink)}.card.bare .badge svg{width:24px;height:24px}.card.bare.big .badge{border-radius:16px;width:64px;height:64px}.card.bare.big .badge svg{width:36px;height:36px}.card.prod .go{display:none}.card.prod .cb{padding-bottom:14px}.status dt a{color:var(--proj);text-underline-offset:3px;font-weight:700}a.avail{text-decoration:none}a.avail:after{content:"→";font-weight:800}a.avail:hover{background:color-mix(in srgb, var(--log) 34%, var(--paper))}summary .tog{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--c,var(--hair));text-decoration-color:var(--c,var(--hair));text-underline-offset:3px;margin-left:auto;font-size:13px;font-weight:700;text-decoration-thickness:2px}summary:has(.tog):after{margin-left:8px}details[open]>summary .tog.show,details:not([open])>summary .tog.hide{display:none}.cert button{white-space:nowrap;background:color-mix(in srgb, var(--cv) 30%, var(--paper));border-color:color-mix(in srgb, var(--cv) 70%, var(--ink) 10%);align-items:center;gap:6px;padding:6px 12px;font-weight:700;display:inline-flex}.cert button svg{width:16px;height:16px}.tags button{padding-inline:12px}.metabox .tags a{background:var(--paper);border:1px solid var(--hair);font-weight:600;text-decoration:none}.metabox .tags a:hover{background:var(--proj);border-color:var(--proj);color:var(--proj-ink)}.techf{background:var(--soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;display:flex}.techf button{font:700 13.5px var(--font);color:var(--ink);cursor:pointer;background:0 0;border:0;margin-left:auto;text-decoration:underline}.pn a{border:1px solid #0000}.pn a .lab{color:var(--c);font-weight:700}.pn a:hover{border-color:var(--c)}.prose.zoom img{cursor:zoom-in}.prose a.play{background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:10px;padding:9px 18px 9px 14px;font-weight:700;text-decoration:none;display:inline-flex}.prose a.play:before{content:"";border-left:11px solid;border-block:7px solid #0000}.prose a.play:hover{background:color-mix(in srgb, var(--ink) 85%, var(--c))}@media (max-width:900px){.sub a{border:1px solid var(--hair)}.sub a span:after{content:" ↓";color:var(--ink);font-weight:800}}@media (max-width:640px){.cert{grid-template-columns:minmax(0,1fr)}.cert button{justify-self:start}}@media (min-width:901px){.card.bare.big .badge{background:0 0;flex:1;place-items:center;width:auto;height:auto}.card.bare.big .badge svg{opacity:.32;stroke-width:1.1px;width:min(58%,170px);height:auto}}
