@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,.theme-scope{--bg: var(--neutral-950);--bg-raised: var(--neutral-900);--bg-sunken: color-mix(in srgb, var(--neutral-950) 70%, black);--line: var(--neutral-700);--line-soft: var(--neutral-800);--grid: color-mix(in srgb, var(--neutral-600) 22%, transparent);--grid-strong: color-mix(in srgb, var(--neutral-500) 28%, transparent);--text: var(--neutral-50);--text-muted: var(--neutral-300);--text-faint: var(--neutral-400);--accent: var(--accent-500);--accent-hi: var(--accent-400);--accent-lo: var(--accent-700);--on-accent: var(--neutral-950);--mark: var(--highlight);--info: var(--brand-400);--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", monospace;--gutter: clamp(16px, 4vw, 40px);--maxw: 1200px;--header-h: 56px;--step: 8px;--ease: cubic-bezier(.2, .7, .2, 1)}@media(prefers-reduced-motion:reduce){:root{--ease: linear}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px);color-scheme:dark;-webkit-text-size-adjust:100%}body{min-height:100vh;background-color:var(--bg);background-image:linear-gradient(var(--grid-strong) 1px,transparent 1px),linear-gradient(90deg,var(--grid-strong) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}ul,ol{padding:0;list-style:none}a{color:var(--accent-hi);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--mark)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:.01em;text-transform:uppercase}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px dashed var(--mark);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-80px;z-index:200;padding:10px 14px;background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:.8rem;text-decoration:none}.skip-link:focus{top:12px}.label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.site-header{position:sticky;top:0;z-index:50;height:var(--header-h);border-bottom:1px solid var(--line)}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-header__inner{height:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{font-family:var(--font-display);font-weight:700;font-size:1.6rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--text)}.wordmark span{color:var(--accent)}.main-nav{display:flex;gap:2px}.main-nav a{display:flex;align-items:baseline;gap:6px;padding:6px 12px;text-decoration:none;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}.main-nav a small{color:var(--accent);font-size:.65rem}.main-nav a:hover{color:var(--text)}.main-nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.menu-toggle{display:none;padding:8px 12px;background:transparent;border:1px solid var(--line);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase}@media(max-width:860px){.menu-toggle{display:block}.main-nav{position:fixed;inset:var(--header-h) 0 0 0;z-index:40;flex-direction:column;gap:0;padding:16px var(--gutter);background:var(--bg);transform:translate(100%);transition:transform .25s var(--ease)}.main-nav[data-open=true]{transform:none}.main-nav a{padding:18px 4px;font-size:1rem;border-bottom:1px solid var(--line-soft)}.header-contact{display:none}}.sheet{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) 80px;overflow-x:clip;animation:sheet-in .35s var(--ease) both}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sheet:before{content:"";position:absolute;left:calc(var(--gutter) / 2 - 6px);top:0;bottom:0;width:8px;background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 40px);opacity:.7;pointer-events:none}.sheet-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px;padding:40px 0 12px;margin-bottom:8px;border-bottom:1px solid var(--line)}.sheet-head .label b{color:var(--accent);font-weight:500}.title-block{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) 32px}.title-block__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border:1px solid var(--line);background:var(--bg-raised)}.title-block__cell{padding:10px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.title-block__cell:nth-child(4n){border-right:0}.title-block__cell .label{display:block;margin-bottom:2px;font-size:.62rem}.title-block__cell strong{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.title-block__links{display:flex;flex-wrap:wrap;gap:6px 20px;padding:14px 0 0}.title-block__links a,.title-block__links button{background:none;border:0;padding:0;text-decoration:none;color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.title-block__links a:hover,.title-block__links button:hover{color:var(--mark)}.title-block__note{margin-top:10px}@media(max-width:720px){.title-block__grid{grid-template-columns:1fr 1fr}.title-block__cell:nth-child(4n){border-right:1px solid var(--line)}.title-block__cell:nth-child(2n){border-right:0}.sheet:before{display:none}}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,black 70%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(460px,100%);padding:24px;background:var(--bg-raised);border:1px solid var(--accent);box-shadow:8px 8px 0 var(--accent-lo);animation:sheet-in .2s var(--ease) both}.modal h2{font-size:1.8rem;margin-bottom:6px}.modal__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;margin-top:10px;border:1px solid var(--line);background:var(--bg)}.modal__row code{font-family:var(--font-mono);color:var(--mark);font-size:1rem}.block{margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:1px solid var(--line);background:transparent;color:var(--text);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease),color .15s}.btn:hover{border-color:var(--accent);color:var(--text);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--line)}.btn:active{transform:none;box-shadow:none}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn--primary:hover{background:var(--accent-hi);border-color:var(--accent-hi);color:var(--on-accent);box-shadow:4px 4px 0 var(--accent-lo)}.btn--small{padding:7px 12px;font-size:.7rem}.btn--danger:hover{border-color:var(--danger);box-shadow:4px 4px color-mix(in srgb,var(--danger) 50%,transparent)}.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.panel{position:relative;border:1px solid var(--line);background:var(--bg-raised);padding:22px}.panel:before,.panel:after{content:"";position:absolute;width:12px;height:12px;pointer-events:none;border:2px solid var(--accent)}.panel:before{top:-2px;left:-2px;border-right:0;border-bottom:0}.panel:after{bottom:-2px;right:-2px;border-left:0;border-top:0}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:2px 8px;border:1px solid var(--line);background:var(--bg-sunken);font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.badge{display:inline-block;padding:2px 8px;border:1px solid var(--line);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted)}.badge--soon{color:var(--mark);border-color:color-mix(in srgb,var(--mark) 55%,transparent)}.badge--off{color:var(--text-faint)}.hero{padding:56px 0 24px;max-width:900px}.hero__pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px}.hero__pill:before{content:"";width:8px;height:8px;background:var(--accent);animation:blink 1.6s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.hero h1{font-size:clamp(3rem,9vw,6.4rem);letter-spacing:.005em}.hero__accent{display:block;color:var(--accent)}.hero__sub{margin-top:14px;font-family:var(--font-mono);font-size:1rem;color:var(--mark)}.hero__lead{margin-top:22px;max-width:62ch;font-size:1.15rem;color:var(--text-muted)}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.section-heading{margin-top:72px}.section-heading__row{display:flex;align-items:baseline;gap:14px}.section-heading__num{font-family:var(--font-mono);font-size:.85rem;color:var(--accent)}.section-heading h2{font-size:clamp(2rem,5vw,3.2rem)}.section-heading__dim{position:relative;height:1px;margin-top:10px;background:var(--line)}.section-heading__dim:before,.section-heading__dim:after{content:"";position:absolute;top:-4px;width:1px;height:9px;background:var(--accent)}.section-heading__dim:before{left:0}.section-heading__dim:after{right:0}.section-heading p{margin-top:14px;max-width:70ch;color:var(--text-muted)}.prose{max-width:70ch}.prose p+p{margin-top:1em}.prose p{color:var(--text-muted);font-size:1.05rem}.split{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:32px;align-items:center}.split[data-side=right]{grid-template-columns:1fr minmax(0,320px)}.split[data-side=right] .split__media{order:2}.split[data-ratio=wide]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split h3{font-size:2rem;margin-bottom:12px}.split--no-image{grid-template-columns:1fr!important}@media(max-width:760px){.split,.split[data-side=right],.split[data-ratio=wide]{grid-template-columns:1fr}.split[data-side=right] .split__media{order:0}}.photo{width:100%;border:1px solid var(--line);background:var(--bg-sunken);object-fit:cover}.photo--square{aspect-ratio:1}.photo--wide{aspect-ratio:4 / 3}.cards{display:grid;gap:18px;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr))}@media(max-width:900px){.cards{grid-template-columns:repeat(min(var(--cols, 2),2),minmax(0,1fr))}}@media(max-width:620px){.cards{grid-template-columns:1fr}}.card{display:flex;flex-direction:column;gap:12px;transition:transform .2s var(--ease),border-color .2s}.card:hover{transform:translateY(-3px);border-color:var(--accent)}.card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card h3{font-size:1.7rem}.card p{color:var(--text-muted)}.card .tags{margin-top:auto}details.fold{border:1px solid var(--line);background:var(--bg-sunken)}details.fold+details.fold{margin-top:10px}details.fold summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;list-style:none}details.fold summary::-webkit-details-marker{display:none}details.fold summary:after{content:"+";color:var(--accent);font-size:1.1rem;transition:transform .2s var(--ease)}details.fold[open] summary:after{transform:rotate(45deg)}details.fold[open] summary{border-bottom:1px solid var(--line);color:var(--mark)}.fold__body{padding:14px;color:var(--text-muted)}.fold__body li{position:relative;padding-left:20px;margin:8px 0}.fold__body li:before{content:"→";position:absolute;left:0;color:var(--accent)}.faq-accordion details.fold summary{font-family:var(--font-body);text-transform:none;font-size:1.02rem;letter-spacing:0;font-weight:500}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--line);background:var(--bg-raised)}.stat{padding:20px 16px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.6rem);line-height:1;color:var(--mark);font-weight:700}.stat .label{display:block;margin-top:6px;font-size:.68rem}@media(max-width:620px){.stat{border-bottom:1px solid var(--line)}}.machine{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;scroll-margin-top:90px}.machine__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:4px}.machine h3{font-size:clamp(1.8rem,4vw,2.6rem)}.machine__role{color:var(--accent);font-family:var(--font-mono);font-size:.85rem;margin-bottom:18px}.specs{display:grid;grid-template-columns:auto 1fr;margin-bottom:18px;border-top:1px solid var(--line)}.specs dt,.specs dd{padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:.9rem}.specs dt{padding-right:18px;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.machine__photos{display:grid;gap:10px;align-content:start}.machine__story p{color:var(--text-muted)}.machine__story p+p{margin-top:.9em}@media(max-width:860px){.machine{grid-template-columns:1fr}}.timeline{position:relative;max-width:780px;margin-left:8px;padding-left:28px;border-left:1px solid var(--line)}.timeline li{position:relative;padding-bottom:28px}.timeline li:before{content:"";position:absolute;left:-33px;top:8px;width:9px;height:9px;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}.timeline time{font-family:var(--font-mono);font-size:.74rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.timeline h3{font-size:1.5rem;margin:2px 0 4px}.timeline p{color:var(--text-muted)}.qa-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.qa-cards h3{font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:8px;line-height:1.4}.gallery{display:grid;gap:14px;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr))}.gallery figcaption{margin-top:6px}@media(max-width:620px){.gallery{grid-template-columns:1fr}}.callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;border-left:4px solid var(--accent)}.callout h3{font-size:1.8rem;margin-bottom:6px}.callout p{color:var(--text-muted);max-width:60ch}.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));counter-reset:step}.steps .panel{counter-increment:step}.steps .panel:before{content:none}.step__num{display:block;font-family:var(--font-display);font-size:3.4rem;line-height:1;color:var(--accent)}.step__num:before{content:counter(step,decimal-leading-zero)}.steps h3{font-size:1.5rem;margin:6px 0}.steps p{color:var(--text-muted)}.gauges{display:grid;gap:22px;max-width:860px}.gauge__row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.gauge__bar,.gauge__fill{height:14px;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 15px);mask-image:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 15px)}.gauge__bar{background:var(--line-soft)}.gauge__fill{width:0;background:linear-gradient(90deg,var(--accent-lo),var(--accent),var(--mark));transition:width 1.1s var(--ease)}.gauge p{margin-top:6px;font-size:.92rem;color:var(--text-muted)}.items{display:grid;gap:10px;max-width:860px}.items li{padding:14px 18px;border:1px solid var(--line);background:var(--bg-raised);color:var(--text-muted)}.items li>div{display:flex;gap:12px}.items li::marker{content:none}.items__mark{font-family:var(--font-mono);color:var(--accent)}.items .photo{margin-top:12px;max-width:420px}.copybox{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.copybox__field{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);background:var(--bg)}.copybox__field code{flex:1;font-family:var(--font-mono);font-size:1.05rem;color:var(--mark);word-break:break-all}@media(max-width:760px){.copybox{grid-template-columns:1fr}}.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.reveal[data-visible=true]{opacity:1;transform:none}.plan{position:relative;margin-top:8px}.plan__canvas{position:relative;aspect-ratio:16 / 9;width:100%;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 80%,transparent)}.plan__canvas:before{content:"A    B    C    D    E";position:absolute;top:-20px;left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.9em;color:var(--text-faint);white-space:pre;overflow:hidden}.plan__lines{position:absolute;inset:0;width:100%;height:100%}.plan__line{stroke:var(--line);stroke-width:1.5;vector-effect:non-scaling-stroke;fill:none}.plan__line--animated{stroke:var(--accent);stroke-dasharray:7 6;animation:plan-flow 1s linear infinite}@keyframes plan-flow{to{stroke-dashoffset:-26}}.plan__node{position:absolute;transform:translate(-50%,-50%);min-width:150px;max-width:220px;padding:10px 14px;border:1px solid var(--line);background:var(--bg-raised);color:var(--text);text-decoration:none;text-align:left;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s var(--ease)}.plan__node:hover,.plan__node:focus-visible{transform:translate(calc(-50% - 2px),calc(-50% - 2px));border-color:var(--accent);box-shadow:4px 4px 0 var(--accent-lo);color:var(--text)}.plan__node strong{display:block;font-family:var(--font-display);font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}.plan__node .label{display:block;margin-top:2px;font-size:.62rem}.plan__node-ref{position:absolute;top:-9px;left:8px;padding:0 6px;background:var(--bg);font-family:var(--font-mono);font-size:.6rem;color:var(--accent)}.plan__node--section{border-style:dashed}.plan__node--remote{border-color:var(--info);background:color-mix(in srgb,var(--brand-900) 60%,var(--bg-raised))}.plan__node--remote .plan__node-ref{color:var(--info)}.plan__link-text{position:absolute;transform:translate(-50%,-140%);padding:0 6px;pointer-events:none;background:var(--bg);color:var(--accent);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.plan__legend{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:12px}.plan__legend span:before{content:"";display:inline-block;width:12px;height:8px;margin-right:6px;border:1px solid var(--line);background:var(--bg-raised)}.plan__legend .is-dashed:before{border-style:dashed}.plan__legend .is-remote:before{border-color:var(--info)}.plan__list{display:none}@media(max-width:720px){.plan__canvas{display:none}.plan__list{display:grid;gap:10px;margin-top:8px}.plan__list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--line);background:var(--bg-raised);color:var(--text);text-decoration:none}.plan__list a strong{font-family:var(--font-display);font-size:1.3rem;text-transform:uppercase}.plan__list a[data-kind=remote]{border-color:var(--info)}.plan__list a[data-kind=section]{border-style:dashed}.plan__list .label{font-size:.62rem}}.diagram{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}@media(max-width:1000px){.diagram{grid-template-columns:1fr}}.diagram__scroll{overflow-x:auto;border:1px solid var(--line);background:var(--bg-sunken)}.diagram__svg{width:100%;min-width:640px;height:auto;padding:8px}.dg-layer{fill:var(--text-faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em}.dg-zone{fill:color-mix(in srgb,var(--text) 3%,transparent);stroke:var(--line);stroke-width:1.5;stroke-dasharray:8 6}.dg-zone-label{fill:var(--text-faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em}.dg-edge{stroke:var(--line);stroke-width:2}.dg-edge--animated{stroke:var(--accent);stroke-dasharray:6 6;animation:dg-flow 1s linear infinite}@keyframes dg-flow{to{stroke-dashoffset:-24}}.dg-arrow{fill:var(--accent)}.dg-edge-label{fill:var(--accent);font-family:var(--font-mono);font-size:11px}.dg-node{cursor:pointer;outline:none}.dg-node rect{fill:var(--bg-raised);stroke:var(--line);stroke-width:1.5;transition:fill .15s,stroke .15s}.dg-node--band rect{fill:color-mix(in srgb,var(--info) 8%,transparent)}.dg-node--group rect{fill:color-mix(in srgb,var(--text) 3%,transparent);stroke-dasharray:6 4}.dg-node--service rect{fill:color-mix(in srgb,var(--neutral-800) 90%,transparent)}.dg-node--vault rect{fill:color-mix(in srgb,var(--info) 14%,var(--bg-raised));stroke:var(--info)}.dg-node:hover rect,.dg-node:focus-visible rect{stroke:var(--accent)}.dg-node[aria-pressed=true] rect{fill:color-mix(in srgb,var(--accent) 16%,var(--bg-raised));stroke:var(--accent);stroke-width:2.5}.dg-node text{pointer-events:none;fill:var(--text);font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.dg-node .dg-sub{fill:var(--text-faint);font-family:var(--font-mono);font-size:10px;text-transform:none;letter-spacing:0;font-weight:400}.dg-node--group text.dg-corner{fill:var(--text-faint);font-family:var(--font-mono);font-size:12px;text-transform:none;font-weight:400}.diagram__detail{position:sticky;top:calc(var(--header-h) + 16px);min-height:200px}.diagram__detail h3{font-size:1.7rem;color:var(--accent);margin-bottom:8px}.diagram__detail p{color:var(--text-muted);margin-bottom:14px}@media(max-width:1000px){.diagram__detail{position:static;min-height:0}}.admin{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.admin__side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:22px 18px;background:color-mix(in srgb,var(--bg) 92%,transparent);border-right:1px solid var(--line)}.admin__side nav{display:grid;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto;align-content:start;scrollbar-width:thin}.admin__user{flex:none}.admin__side nav a{padding:9px 12px;text-decoration:none;color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;border-left:2px solid transparent}.admin__side nav a:hover{color:var(--text)}.admin__side nav a[aria-current=page]{color:var(--text);border-left-color:var(--accent);background:var(--bg-raised)}.admin__user{margin-top:auto;display:grid;gap:8px}.admin__main{padding:32px clamp(16px,4vw,48px) 80px;max-width:1100px}.admin__main>*+*{margin-top:18px}.admin__main h1{font-size:clamp(2rem,4vw,3rem)}.admin__main h2{font-size:1.7rem;margin-top:32px}.admin__main h3{font-size:1.4rem}@media(max-width:860px){.admin{grid-template-columns:1fr}.admin__side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.admin__side nav{display:flex;flex-wrap:wrap;width:100%;order:3;flex:none;overflow:visible}.admin__user{margin:0 0 0 auto;display:flex;align-items:center;gap:10px}.admin__side nav a{padding:7px 10px}}.admin-ok,.admin-error{padding:10px 14px;border:1px solid;font-size:.9rem}.admin-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 60%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}.admin-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 60%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.admin-login{min-height:100vh;display:grid;place-items:center;padding:16px}.admin-login .panel{width:min(420px,100%);display:grid;gap:16px}.admin-login h1{font-size:2.6rem}.field{display:grid;gap:6px}.field--inline{grid-auto-flow:column;justify-content:start;align-items:center;gap:12px}.field__help{font-size:.8rem;color:var(--text-faint)}.field__count{text-align:right;font-size:.64rem}.admin input[type=text],.admin input[type=password],.admin input[type=number],.admin input:not([type]),.admin input[inputmode],.admin select,.admin textarea,.admin-login input{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0}.admin textarea{resize:vertical;min-height:90px;font-family:var(--font-body)}.admin input:focus,.admin select:focus,.admin textarea:focus,.admin-login input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.admin input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.admin input[type=color]{width:44px;height:34px;padding:0;border:1px solid var(--line);background:none;cursor:pointer}.admin input[type=file]{padding:8px}.fields{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.fields__wide{grid-column:1 / -1}@media(max-width:760px){.fields{grid-template-columns:1fr}}.field-group{border:1px solid var(--line-soft);padding:12px 14px 14px;min-width:0}.field-group>legend{padding:0 8px}.admin-form{display:grid;gap:16px}.admin-actions{margin-top:18px}.row-buttons{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.list-field{display:grid;gap:8px}.list-field__row{display:flex;gap:8px;align-items:center}.list-item>summary{gap:8px}.list-item__body{display:block}.admin details.fold summary{text-transform:none}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table th{text-align:left;padding:8px 10px;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);border-bottom:1px solid var(--line)}.admin-table td{padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}@media(max-width:720px){.admin-table thead{display:none}.admin-table tr{display:block;padding:8px 0;border-bottom:1px solid var(--line)}.admin-table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 6px}.admin-table td[data-label]:before{content:attr(data-label);color:var(--text-faint);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase}}.block-list{display:grid;gap:12px}.block-card{padding:14px 16px}.block-card--hidden{opacity:.6;border-style:dashed}.block-card__head{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}.block-card__title{display:flex;align-items:center;gap:12px;flex:1;min-width:200px;padding:0;background:none;border:0;text-align:left;color:var(--text)}.block-card__title .label{min-width:120px;color:var(--accent)}.block-card__body{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);display:grid;gap:16px}.add-block__row{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:end}@media(max-width:760px){.add-block__row{grid-template-columns:1fr}}.dashboard__tiles{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dashboard__tile{display:grid;gap:4px;text-decoration:none;color:var(--text)}.dashboard__tile strong{font-family:var(--font-display);font-size:2.6rem;color:var(--mark);line-height:1}.media-library{display:grid;gap:18px}.media-upload{display:grid;gap:12px;max-width:560px}.media-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.media-item{display:grid;gap:8px;padding:10px;border:1px solid var(--line);background:var(--bg-raised);align-content:start}.media-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--bg-sunken)}.image-field{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.image-field img{object-fit:cover;border:1px solid var(--line)}.image-field__empty{padding:20px 14px;border:1px dashed var(--line)}.modal--wide{width:min(900px,100%);max-height:88vh;overflow:auto}.modal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.theme-layout{display:grid;gap:22px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}@media(max-width:1000px){.theme-layout{grid-template-columns:1fr}}.theme-layout__editors,.theme-layout__preview{display:grid;gap:18px}.theme-layout__preview{position:sticky;top:16px}@media(max-width:1000px){.theme-layout__preview{position:static}}.scale__strip{display:flex;height:26px;margin:10px 0;border:1px solid var(--line)}.scale__strip span{flex:1}.scale__swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.swatch{display:grid;gap:4px;justify-items:stretch}.swatch input[type=color]{width:100%;height:30px}.swatch input[type=text]{padding:4px 6px;font-family:var(--font-mono);font-size:.78rem}.swatch .label{text-align:center}.swatch__invalid{border-color:var(--danger)!important}.scale__generate{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.theme-preview{padding:22px;border:1px solid var(--line);background:var(--bg);color:var(--text)}.contrast{display:grid;gap:8px;margin-top:10px}.contrast li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.9rem}.plan-editor__canvas{margin-top:28px;touch-action:none}.plan-editor__canvas .plan__node{cursor:grab;-webkit-user-select:none;user-select:none}.plan-editor__canvas .plan__node:active{cursor:grabbing}.plan__node--selected{border-color:var(--mark)!important;box-shadow:4px 4px color-mix(in srgb,var(--mark) 45%,transparent)}@media(max-width:720px){.plan-editor__canvas{display:block;min-height:420px}}.admin__group{margin-top:14px;padding:8px 12px 2px}.badge{display:inline-block;padding:2px 8px;border:1px solid var(--line);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.badge--ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 60%,transparent)}.gp-admin-photos{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.gp-admin-photo{display:grid;gap:10px;padding:12px;margin:0}.gp-admin-photo img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border:1px solid var(--line);background:var(--bg-sunken)}.gp-admin-photo figcaption{display:grid;gap:6px;justify-items:start}.gp-admin-filters,.gp-admin-buttons,.gp-admin-icon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gp-admin-filters select{padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0}.admin__side nav .admin__group+a{margin-top:0}.gp{position:fixed;inset:0;display:flex;flex-direction:column}.gp-desk{position:relative;flex:1;overflow:hidden;background-size:cover;background-position:center}body.gp-dragging{-webkit-user-select:none;user-select:none}body.gp-dragging iframe{pointer-events:none}.gp-window{position:absolute;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:var(--bg-raised);box-shadow:0 0 0 1px color-mix(in srgb,black 40%,transparent)}.gp-window[hidden]{display:none}.gp-window.is-top{border-color:var(--accent);box-shadow:6px 6px color-mix(in srgb,var(--accent) 22%,transparent)}.gp-window.is-maximized{box-shadow:none}.gp-window__bar{display:flex;align-items:center;gap:8px;height:34px;padding:0 6px 0 10px;background:var(--bg-sunken);border-bottom:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gp-window.is-top .gp-window__bar{border-bottom-color:var(--accent)}.gp-window__icon{display:grid;color:var(--accent)}.gp-window__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.gp-window.is-top .gp-window__title{color:var(--text)}.gp-window__buttons{display:flex;gap:4px}.gp-window__buttons button{width:28px;height:22px;padding:0;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.9rem;line-height:1}.gp-window__buttons button:hover{border-color:var(--accent);color:var(--text)}.gp-window__buttons .is-close:hover{border-color:var(--danger);color:var(--danger)}.gp-window__body{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--bg)}.gp-frame{width:100%;height:100%;border:0;background:var(--bg-sunken)}.gp-internal{height:100%;overflow:auto;padding:20px}.gp-empty{padding:20px;color:var(--text-muted)}.gp-window__resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--accent) 50%,var(--accent) 56%,transparent 56%,transparent 70%,var(--accent) 70%,var(--accent) 76%,transparent 76%)}.gp-dock{display:flex;align-items:center;gap:10px;height:46px;padding:0 10px;background:color-mix(in srgb,var(--bg) 94%,transparent);border-top:1px solid var(--line)}.gp-dock__start{flex:none;width:40px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.gp-dock__start:hover,.gp-dock__start[aria-expanded=true]{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-lo)}.gp-dots{width:4px;height:4px;border-radius:999px;background:currentColor;box-shadow:-7px -7px 0 currentColor,0 -7px 0 currentColor,7px -7px 0 currentColor,-7px 0 0 currentColor,7px 0 0 currentColor,-7px 7px 0 currentColor,0 7px 0 currentColor,7px 7px 0 currentColor}.gp-dock__tasks{flex:1;min-width:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}.gp-dock__tasks li{flex:0 1 190px;min-width:38px}.gp-task{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;height:30px;padding:0 10px;border:1px solid var(--line);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.gp-task svg,.gp-task img{flex:none}.gp-task span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-task:hover{color:var(--text);border-color:var(--accent)}.gp-task.is-active{color:var(--text);border-color:var(--accent);background:var(--bg-raised);box-shadow:inset 0 -2px 0 var(--accent)}.gp-clock{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);padding:0 4px}.gp-menu{position:absolute;left:0;bottom:0;z-index:100000;width:min(300px,100%);display:grid;background:var(--bg-raised);border:1px solid var(--line);border-left:0;border-bottom:0}.gp-menu__head{display:grid;gap:2px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.gp-menu__head strong{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.02em;text-transform:uppercase}.gp-menu__apps{display:grid;padding:6px 0;max-height:min(60vh,420px);overflow-y:auto}.gp-menu__app{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;text-align:left;border:0;border-left:2px solid transparent;background:transparent;color:var(--text);font-size:.95rem}.gp-menu__app svg,.gp-menu__app img{color:var(--accent);flex:none}.gp-menu__app:hover,.gp-menu__app:focus-visible{background:var(--bg);border-left-color:var(--accent)}.gp-menu__logout{padding:12px 16px;text-align:left;border:0;border-top:1px solid var(--line-soft);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.gp-menu__logout:hover{color:var(--danger);background:var(--bg)}.gp-snap{position:absolute;inset:0;z-index:99999;pointer-events:none;background:color-mix(in srgb,var(--accent) 16%,transparent);border:2px dashed var(--accent)}.gp-lock{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:28px;padding:24px 16px}.gp-bigclock{text-align:center}.gp-bigclock time{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(4rem,14vw,8rem);line-height:1;letter-spacing:.02em}.gp-lock__form{width:min(420px,100%);display:grid;gap:16px}.gp-lock__form h1{font-size:2.4rem}.gp-lock__form input{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0}.gp-lock__form input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.gp-offline{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:200000;margin:0;padding:8px 16px;border:1px solid var(--mark);background:var(--bg-raised);color:var(--mark);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.gp-about{display:grid;gap:14px;max-width:60ch}.gp-about h2{font-size:2rem}.gp-about__facts{display:grid;gap:6px}.gp-about__facts li{display:flex;gap:12px;align-items:baseline}.gp-items{position:relative}.gp-items--free{position:absolute;inset:0;z-index:0}.gp-items--grid{display:grid;grid-template-columns:repeat(auto-fill,92px);gap:6px;align-content:start;padding:12px;min-height:100%}.gp-item{display:grid;justify-items:center;align-content:start;gap:6px;width:92px;padding:8px 4px;text-align:center;border:1px solid transparent;cursor:default;user-select:none;-webkit-user-select:none;touch-action:manipulation}.gp-items--free .gp-item{position:absolute}.gp-item__icon{display:grid;place-items:center;width:48px;height:48px;color:var(--accent);border:1px solid var(--line);background:var(--bg-raised);overflow:hidden}.gp-item__icon img{width:100%;height:100%;object-fit:cover}.gp-item__icon--mini{width:auto;height:auto;border:0;background:none}.gp-item[data-kind=folder] .gp-item__icon{color:var(--mark)}.gp-item__name{max-width:100%;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;line-height:1.25;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);text-shadow:0 1px 2px var(--bg)}.gp-item:hover{border-color:var(--line)}.gp-item.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.gp-item.is-drop-target{border:1px dashed var(--mark);background:color-mix(in srgb,var(--mark) 14%,transparent)}.gp-item.is-dragging{opacity:.35}.gp-ghost{position:fixed;inset:0;z-index:300000;pointer-events:none}.gp-ghost .gp-item{opacity:.85;border-color:var(--accent);background:var(--bg-raised)}.gp-band{position:absolute;z-index:1;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none}.gp-context{position:fixed;z-index:250000;width:220px;padding:4px 0;background:var(--bg-raised);border:1px solid var(--accent);box-shadow:4px 4px color-mix(in srgb,var(--accent) 24%,transparent)}.gp-context button{display:block;width:100%;padding:9px 14px;text-align:left;border:0;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em}.gp-context button:hover,.gp-context button:focus-visible{background:var(--bg);color:var(--accent-hi)}.gp-context .is-danger:hover{color:var(--danger)}.gp-dialog-overlay{position:fixed;inset:0;z-index:400000;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,black 55%,transparent)}.gp-dialog{width:min(440px,100%);display:grid;gap:14px}.gp-dialog h2{font-size:1.8rem}.gp-dialog input[type=text],.gp-dialog input[type=url]{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0}.gp-dialog input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.gp-dialog input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.gp-dialog__buttons{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.gp-dialog__icon{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gp-dialog__icon img{border:1px solid var(--line);object-fit:cover}.gp-dialog__icon input[type=file]{flex:1;min-width:0;font-size:.8rem}.gp-notes{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}.gp-notes__bar{display:flex;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--line-soft)}.gp-notes__bar input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0;font-family:var(--font-mono);font-size:.8rem}.gp-notes textarea{width:100%;height:100%;resize:none;padding:14px;border:0;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:.9rem;line-height:1.6}.gp-notes textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.gp-notes__foot{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-top:1px solid var(--line-soft)}.gp-notes__state.dirty{color:var(--mark)}.gp-notes__state.error{color:var(--danger)}.gp-sleep{position:fixed!important;inset:0;z-index:500000;display:grid;align-content:center;justify-items:center;gap:12px;background:var(--bg);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}.gp-menu__section{padding:10px 16px 4px}.gp-avatar{display:inline-grid;place-items:center;flex:none;object-fit:cover;border:1px solid var(--line);background:var(--bg-raised)}.gp-avatar--letter{color:var(--accent);font-family:var(--font-display);font-weight:700}.gp-menu__head{display:flex;align-items:center;gap:12px}.gp-menu__head>div{display:grid;gap:2px}.gp-lock__who{display:flex;align-items:center;gap:14px}.gp-calm *,.gp-calm *:before,.gp-calm *:after{transition:none!important;animation:none!important}.gp-set{display:grid;grid-template-columns:170px minmax(0,1fr);height:100%}.gp-set__nav{display:grid;align-content:start;gap:2px;padding:12px 0;border-right:1px solid var(--line-soft);background:var(--bg-sunken)}.gp-set__nav button{padding:10px 16px;text-align:left;border:0;border-left:2px solid transparent;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.gp-set__nav button[aria-current=page]{color:var(--text);border-left-color:var(--accent);background:var(--bg-raised)}.gp-set__page{overflow-y:auto;padding:20px 24px 32px;display:grid;gap:18px;align-content:start}.gp-set__page h2{font-size:2rem}.gp-set__section{display:grid;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.gp-set__section h3{font-size:1.3rem}.gp-set__section select,.gp-set__section input:not([type]),.gp-set__section input[type=text]{width:100%;max-width:420px;padding:9px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0}.gp-set__section input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.gp-set__section input[type=color]{width:44px;height:34px;padding:0;border:1px solid var(--line);background:none}.gp-set__buttons{display:flex;flex-wrap:wrap;gap:10px}.gp-set__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.gp-set__profile{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.gp-set__wallpaper{height:140px;max-width:420px;border:1px solid var(--line);background-size:cover;background-position:center}.gp-set__css{width:100%;min-height:140px;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:.82rem;resize:vertical;border-radius:0}.gp-set__apps{display:grid;gap:4px}.gp-set__app{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line-soft)}.gp-set__app svg,.gp-set__app img{color:var(--accent);flex:none}.gp-set__app span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-set__facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;word-break:break-word}.gp-set__usages{display:grid;gap:10px}.gp-set__usage{display:grid;grid-template-columns:170px 90px minmax(0,1fr);gap:10px;align-items:center}.gp-set__usage progress{width:100%;height:8px;accent-color:var(--accent)}.gp-lock,.gp-sleep{position:relative;isolation:isolate}.gp-lockbg{position:absolute;inset:0;z-index:-1;overflow:hidden}.gp-lockbg__layer{position:absolute;inset:0;background-size:cover;background-position:center;animation:gp-fade 1.6s var(--ease) both}.gp-lockbg__dim{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 30%,transparent)}@keyframes gp-fade{0%{opacity:0}to{opacity:1}}.gp-lock--photo .gp-bigclock,.gp-sleep .gp-bigclock{text-shadow:0 2px 12px var(--bg)}.gp-lock--photo .gp-bigclock .label{color:var(--text)}.gp-lock__credit{position:absolute;right:12px;bottom:8px;z-index:1;margin:0;max-width:calc(100% - 24px);text-align:right;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;color:var(--text-muted);text-shadow:0 1px 3px var(--bg)}.gp-lock__credit a{color:var(--text)}.gp-announce{position:fixed;top:0;left:0;right:0;z-index:600000;margin:0;padding:6px 14px;text-align:center;background:var(--mark);color:var(--bg);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em}.gp-set__modes{display:grid;gap:8px;border:0;padding:0}.gp-set__modes input[type=radio]{accent-color:var(--accent)}.gp-set__photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-width:520px}.gp-set__photos button{display:block;width:100%;aspect-ratio:16 / 10;border:1px solid var(--line);background-size:cover;background-position:center;padding:0}.gp-set__photos button:hover{border-color:var(--accent)}.gp-set__photos .is-chosen{outline:2px solid var(--accent);outline-offset:1px}@media(max-width:720px){.gp-window{left:0!important;top:0!important;width:100%!important;height:100%!important;border:0;box-shadow:none}.gp-window:not(.is-top){display:none}.gp-window__bar{height:42px;cursor:default}.gp-window__buttons button{width:40px;height:30px}.gp-window__buttons button[aria-label=Agrandir],.gp-window__buttons button[aria-label=Restaurer],.gp-window__resize,.gp-task span{display:none}.gp-set{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.gp-set__nav{display:flex;overflow-x:auto;padding:0;border-right:0;border-bottom:1px solid var(--line-soft)}.gp-set__nav button{flex:none;border-left:0;border-bottom:2px solid transparent}.gp-set__nav button[aria-current=page]{border-bottom-color:var(--accent)}.gp-set__usage{grid-template-columns:1fr auto}.gp-set__usage progress{grid-column:1 / -1}.gp-items--free{display:grid;grid-template-columns:repeat(auto-fill,92px);gap:6px;align-content:start;padding:12px;overflow-y:auto}.gp-items--free .gp-item{position:static}.gp-task{padding:0 10px}.gp-menu{width:100%;border-right:0}}@media(prefers-reduced-motion:reduce){.gp-dock__start{transition:none}}.gp-msg__side{display:flex;flex-direction:column;gap:12px;padding:12px;border-right:1px solid var(--line);min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;background:var(--bg-sunken)}.gp-msg__add,.gp-msg__block{display:grid;gap:6px}.gp-msg__addrow{display:flex;gap:6px}.gp-msg__addrow input{flex:1;width:0;min-width:0}.gp-msg__addrow .btn{flex:none}.gp-msg__row{display:flex;align-items:center;gap:6px}.gp-msg__title{margin-top:4px}.gp-msg__friends{display:grid;gap:2px}.gp-msg__friend{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-left:2px solid transparent;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;font:inherit}.gp-msg__friend:hover{color:var(--text)}.gp-msg__friend.is-active{color:var(--text);border-left-color:var(--accent);background:var(--bg-raised)}.gp-msg__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-msg__dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--text-faint);flex:none}.gp-msg__dot.is-online{background:var(--ok);border-color:var(--ok)}.gp-msg__badge{min-width:20px;padding:0 6px;text-align:center;background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:.72rem}.gp-msg__main{display:flex;flex-direction:column;min-width:0;min-height:0}.gp-msg__head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.gp-msg__head h2{flex:1;font-size:1.4rem;margin:0}.gp-msg__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:14px;margin:0;list-style:none}.gp-msg__bubble{max-width:75%;padding:8px 12px;border:1px solid var(--line);background:var(--bg-raised);align-self:flex-start}.gp-msg__bubble.is-mine{align-self:flex-end;border-color:var(--accent-lo)}.gp-msg__bubble p{margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere}.gp-msg__composer{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line)}.gp-msg__composer textarea{flex:1;min-width:0;resize:none}.gp-msg__composer .admin-error{flex-basis:100%}.gp-msg__empty{display:grid;place-items:center}@media(max-width:560px){.gp-msg__view{grid-template-columns:1fr}.gp-msg__side{max-height:40%;border-right:0;border-bottom:1px solid var(--line)}}.gp-msg{display:flex;height:100%;min-height:0}.gp-msg__rail{display:flex;flex-direction:column;gap:6px;padding:8px 6px;width:56px;flex:none;overflow-y:auto;border-right:1px solid var(--line);background:var(--bg)}.gp-msg__railbtn{position:relative;width:42px;height:42px;flex:none;display:grid;place-items:center;border:1px solid var(--line);background:var(--bg-raised);color:var(--text-muted);cursor:pointer;font:inherit;font-family:var(--font-mono);font-size:.82rem}.gp-msg__railbtn:hover{color:var(--text)}.gp-msg__railbtn.is-active{border-color:var(--accent);color:var(--text)}.gp-msg__railbtn .gp-msg__badge{position:absolute;right:-6px;top:-6px}.gp-msg__body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.gp-msg__view{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr)}.gp-msg__flash{margin:0;cursor:pointer}.gp-msg__servername{font-size:1.3rem;margin:0;overflow-wrap:anywhere}.gp-msg__treewrap{display:grid;gap:6px}.gp-msg__tree{list-style:none;margin:0;padding:0;display:grid;gap:1px}.gp-msg__tree--nested{margin-left:14px;border-left:1px solid var(--line-soft);padding-left:6px}.gp-msg__node{display:flex;align-items:center;gap:4px;border-left:2px solid transparent}.gp-msg__node.is-active{border-left-color:var(--accent);background:var(--bg-raised)}.gp-msg__node.is-voice{opacity:.6}.gp-msg__nodebtn{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:6px 8px;border:0;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;font:inherit}.gp-msg__nodebtn:hover,.gp-msg__node.is-active .gp-msg__nodebtn{color:var(--text)}.gp-msg__menu{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0}.gp-msg__nameform{display:flex;gap:4px;padding:4px 0}.gp-msg__nameform input,.gp-msg__nameform select{flex:1;min-width:0;width:0}.gp-msg__members{list-style:none;margin:0;padding:0;display:grid;gap:4px}.gp-msg__author{display:block;margin-bottom:2px;color:var(--accent-hi)}.gp-msg__tabs{display:flex;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.gp-msg__panel{flex:1;min-height:0;overflow-y:auto;padding:14px}.gp-msg__roles{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px}.gp-msg__rolelist{display:grid;gap:2px;align-content:start}.gp-msg__swatch{width:12px;height:12px;border-radius:50%;flex:none;border:1px solid var(--line)}.gp-msg__roleedit{display:grid;gap:12px;align-content:start;min-width:0}.gp-msg__perms{display:grid;gap:6px}.gp-msg__perm{display:flex;align-items:center;gap:8px;cursor:pointer}.gp-msg__memberlist{list-style:none;margin:0;padding:0;display:grid;gap:10px}.gp-msg__memberrow{display:grid;gap:6px;padding:8px 10px;border:1px solid var(--line-soft);background:var(--bg-raised)}.gp-msg__chips{display:flex;flex-wrap:wrap;gap:4px}.gp-msg__chip{padding:2px 8px;border:1px solid var(--line);background:transparent;color:var(--text-faint);cursor:pointer;font:inherit;font-size:.78rem}.gp-msg__chip.is-on{color:var(--text)}.gp-msg__chip:disabled{opacity:.45;cursor:not-allowed}.gp-msg__rights{display:grid;gap:8px;padding:8px 0}.gp-msg__rightrow{display:grid;gap:4px;padding:6px;border:1px solid var(--line-soft)}.gp-msg__del{float:right;border:0;background:transparent;color:var(--text-faint);cursor:pointer;font-size:1rem;line-height:1}.gp-msg__del:hover{color:var(--danger)}.gp-msg__blocked{padding:12px 14px;border-top:1px solid var(--line);margin:0}@media(max-width:560px){.gp-msg__roles{grid-template-columns:1fr}}.gp-msg__ephemeral{display:grid;gap:12px;align-content:start;padding:14px}.gp-msg{display:flex;flex-direction:column;height:100%;min-height:0;container-type:inline-size}.gp-msg__col{flex:1;min-height:0;display:flex;flex-direction:column}.gp-msg__servers{display:flex;gap:4px;padding:6px 8px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--bg);flex:none;scrollbar-width:thin}.gp-msg__servertab{display:flex;align-items:center;gap:6px;flex:none;max-width:190px;padding:6px 12px;border:1px solid var(--line);border-bottom-width:2px;background:var(--bg-raised);color:var(--text-muted);cursor:pointer;font:inherit;font-size:.85rem}.gp-msg__servertab:hover{color:var(--text)}.gp-msg__servertab.is-active{color:var(--text);border-bottom-color:var(--accent)}.gp-msg__tabname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.gp-msg__view--server{grid-template-columns:minmax(0,230px) minmax(0,1fr) minmax(0,210px);flex:1}.gp-msg__servername{font-family:var(--font-display);font-size:1.15rem;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.gp-msg__treewrap{flex:1;min-height:80px;display:flex;flex-direction:column;gap:8px}.gp-msg__hint{margin-top:auto;opacity:.7}.gp-msg__plus{flex:none;width:22px;height:22px;border:1px solid var(--line);background:transparent;color:var(--text-muted);cursor:pointer;line-height:1;opacity:0}.gp-msg__node:hover .gp-msg__plus,.gp-msg__plus:focus-visible{opacity:1}.gp-msg__plus:hover{color:var(--accent-hi);border-color:var(--accent)}.gp-msg__memberside{border-right:0;border-left:1px solid var(--line);gap:4px}.gp-msg__toggle{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted);cursor:pointer}.gp-msg__grouptitle{margin:10px 0 4px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.gp-msg__memberlist--compact{list-style:none;margin:0;padding:0;display:grid;gap:1px}.gp-msg__member{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.gp-msg__member:hover{background:var(--bg-raised)}.gp-msg__member.is-offline{opacity:.5}.gp-msg__card{position:fixed;z-index:450000;width:260px;display:grid;gap:8px;padding:14px}.gp-dialog--wide{width:min(560px,100%);max-height:86vh;overflow-y:auto}@container (max-width: 780px){.gp-msg__view--server{grid-template-columns:minmax(0,200px) minmax(0,1fr)}.gp-msg__memberside{display:none}}.gp-msg__imgbtn{display:block;line-height:0;padding:0;margin:0 0 6px;border:1px solid var(--line);background:var(--bg-sunken);cursor:zoom-in;max-width:100%}.gp-msg__img{display:block;width:100%;height:auto}.gp-msg__zoom{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border:1px solid var(--line);background:var(--bg);cursor:zoom-out}.gp-msg__prepared{flex-basis:100%;display:flex;align-items:center;gap:10px}.gp-msg__prepared img{border:1px solid var(--line);max-width:160px;object-fit:cover}.gp-msg__composer .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.gp-desk input[type=checkbox],.gp-dialog input[type=checkbox],.gp-msg input[type=checkbox]{appearance:none;flex:none;width:18px;height:18px;margin:0;display:inline-grid;place-content:center;border:1px solid var(--line);background:var(--bg);border-radius:0;cursor:pointer;accent-color:var(--accent)}.gp-desk input[type=checkbox]:after,.gp-dialog input[type=checkbox]:after,.gp-msg input[type=checkbox]:after{content:"";width:10px;height:10px;background:var(--accent);transform:scale(0);transition:transform .12s var(--ease);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.gp-desk input[type=checkbox]:checked,.gp-dialog input[type=checkbox]:checked,.gp-msg input[type=checkbox]:checked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg))}.gp-desk input[type=checkbox]:checked:after,.gp-dialog input[type=checkbox]:checked:after,.gp-msg input[type=checkbox]:checked:after{transform:scale(1)}.gp-desk input[type=checkbox]:focus-visible,.gp-dialog input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gp-dialog .field--inline{display:flex;align-items:center;gap:10px;cursor:pointer}.gp-dialog select{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:0}.gp-toggle{position:relative;display:flex;align-items:flex-start;gap:12px;cursor:pointer}.gp-toggle input{position:absolute;opacity:0;width:0;height:0}.gp-toggle__track{flex:none;position:relative;width:38px;height:20px;margin-top:1px;border:1px solid var(--line);background:var(--bg);transition:border-color .15s,background .15s}.gp-toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-faint);transition:transform .15s var(--ease),background .15s}.gp-toggle input:checked+.gp-toggle__track{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--bg))}.gp-toggle input:checked+.gp-toggle__track:after{transform:translate(18px);background:var(--accent)}.gp-toggle input:focus-visible+.gp-toggle__track{outline:2px solid var(--accent);outline-offset:2px}.gp-toggle.is-disabled{opacity:.45;cursor:not-allowed}.gp-toggle__text{display:grid;gap:2px;min-width:0}.gp-toggle__help{font-size:.78rem;color:var(--text-faint);line-height:1.35}.gp-chat__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;margin:0;padding:10px 0;list-style:none}.gp-chat__msg{position:relative;padding:3px 14px}.gp-chat__msg:hover{background:color-mix(in srgb,var(--bg-raised) 70%,transparent)}.gp-chat__msg:not(.is-compact){margin-top:10px}.gp-chat__msg.is-pinned{border-left:2px solid var(--accent)}.gp-chat__head{display:flex;align-items:center;gap:8px}.gp-chat__who{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit}.gp-chat__who strong:hover{text-decoration:underline}.gp-chat__avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-family:var(--font-display);font-weight:700;-webkit-user-select:none;user-select:none}.gp-chat__content{margin-left:44px;min-width:0}.gp-chat__head+.gp-chat__content{margin-top:-14px}.gp-chat__text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.gp-chat__edited{font-size:.7rem}.gp-chat__quote{display:flex;gap:6px;margin-bottom:4px;padding-left:8px;border-left:2px solid var(--line);color:var(--text-faint);font-size:.82rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gp-chat__quotename{color:var(--text-muted);font-weight:600;flex:none}.gp-chat__imgbtn{display:block;line-height:0;padding:0;margin:4px 0 0;border:1px solid var(--line);background:var(--bg-sunken);cursor:zoom-in;max-width:100%}.gp-chat__img{display:block;width:100%;height:auto}.gp-chat__tools{position:absolute;right:14px;top:-14px;display:none;gap:2px;padding:2px;border:1px solid var(--line);background:var(--bg-raised)}.gp-chat__msg:hover .gp-chat__tools,.gp-chat__msg:focus-within .gp-chat__tools{display:flex}.gp-chat__tool{width:28px;height:26px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.95rem;line-height:1}.gp-chat__tool:hover{background:var(--bg);color:var(--text)}.gp-chat__tool.is-danger:hover{color:var(--danger)}.gp-chat__edit{display:grid;gap:4px;max-width:560px}.gp-chat__edit textarea{width:100%;resize:vertical}.gp-chat__composer{display:grid;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.gp-chat__inputrow{display:flex;align-items:flex-end;gap:8px}.gp-chat__inputrow textarea{flex:1;min-width:0;resize:none}.gp-chat__replybar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;border-left:2px solid var(--accent);background:var(--bg-raised);font-size:.85rem;color:var(--text-muted);overflow:hidden}.gp-chat__replybar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-chat__pins{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:50vh;overflow-y:auto}.gp-chat__pin{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:8px;border:1px solid var(--line-soft);background:var(--bg-raised)}.gp-chat__pin p{margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.gp-usercard{position:fixed;z-index:450000;width:280px;display:grid;gap:12px;padding:16px}.gp-usercard__head{display:flex;align-items:center;gap:12px}.gp-usercard__head>div{display:grid;gap:2px;min-width:0}.gp-usercard__name{font-family:var(--font-display);font-size:1.4rem;overflow:hidden;text-overflow:ellipsis}.gp-usercard__section{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line-soft)}.gp-msg__serverhead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 8px;border-bottom:1px solid var(--line-soft)}.gp-msg__serverhead .gp-msg__servername{margin:0}.gp-msg__headbtn{flex:none;width:26px;height:26px;border:1px solid transparent;background:transparent;color:var(--text-faint);cursor:pointer}.gp-msg__headbtn:hover{color:var(--text);border-color:var(--line)}.gp-msg__servertab.is-dragged{opacity:.4}.gp-msg__warn{color:var(--accent-hi);font-size:.78rem}.gp-msg__view--settings{grid-template-columns:minmax(0,1fr)}.gp-set{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:190px minmax(0,1fr)}.gp-set__nav{display:flex;flex-direction:column;gap:2px;padding:14px 10px;border-right:1px solid var(--line);background:var(--bg-sunken);overflow-y:auto}.gp-set__servername{margin:0 8px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-set__nav button{padding:8px 10px;border:0;border-left:2px solid transparent;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;font:inherit}.gp-set__nav button:hover{color:var(--text)}.gp-set__nav button.is-active{color:var(--text);border-left-color:var(--accent);background:var(--bg-raised)}.gp-set__close{margin-top:auto;color:var(--text-faint)!important}.gp-set__content{min-width:0;min-height:0;overflow-y:auto;padding:18px 22px 0;display:grid;gap:16px;align-content:start}.gp-set__content h2{margin:0;font-size:1.6rem}.gp-set__roles{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:24px;align-items:start}.gp-set__rolelist{display:grid;gap:8px}.gp-set__rolelist ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.gp-set__role{display:flex;align-items:center;border-left:2px solid transparent}.gp-set__role.is-active{border-left-color:var(--accent);background:var(--bg-raised)}.gp-set__grip{width:18px;flex:none;text-align:center;color:var(--text-faint);cursor:grab}.gp-set__rolebtn{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 6px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.gp-set__editor{display:grid;gap:22px;min-width:0;padding-bottom:8px}.gp-set__section{display:grid;gap:12px;padding:14px 16px;border:1px solid var(--line-soft);background:var(--bg-raised)}.gp-set__section h3{margin:0;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.gp-set__perms{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px 22px}.gp-set__colorrow{display:flex;align-items:center;gap:12px}.gp-set__colorrow input[type=color]{width:44px;height:30px;padding:0;border:1px solid var(--line);background:var(--bg);cursor:pointer}.gp-set__actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;padding:12px 0;background:var(--bg);border-top:1px solid var(--line-soft)}.gp-set__hint{padding:20px 0}@container (max-width: 760px){.gp-set{grid-template-columns:minmax(0,1fr)}.gp-set__nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.gp-set__servername{display:none}.gp-set__roles{grid-template-columns:minmax(0,1fr)}}.gp-log{display:grid;gap:2px;font-family:var(--font-mono);font-size:.78rem;line-height:1.5}.gp-log__line{display:flex;flex-wrap:wrap;gap:0 8px;margin:0;padding:2px 6px;border-left:2px solid transparent}.gp-log__line:hover{background:var(--bg-raised);border-left-color:var(--accent)}.gp-log__time{color:var(--text-faint);flex:none}.gp-log__actor{color:var(--accent-hi);font-weight:600}.gp-log__action{color:var(--text)}.gp-log__detail{color:var(--text-muted);overflow-wrap:anywhere}.gp-log__more{justify-self:center;margin-bottom:8px}.gp-msg__chip--add{min-width:28px;font-weight:700}.gp-quickroles{list-style:none;margin:6px 0 0;padding:4px;display:grid;gap:2px;max-height:160px;overflow-y:auto;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg)}.gp-quickroles button{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;border-radius:var(--radius);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.gp-quickroles button:hover{background:var(--panel-hover, rgba(127, 127, 127, .15))}.gp-quickroles__dot{width:10px;height:10px;border-radius:50%;flex:none}.gp-chat__avatar{position:relative;overflow:hidden}.gp-chat__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.gp-msg__avatarwrap{position:relative;display:inline-flex;flex:none}.gp-msg__avatarwrap .gp-msg__dot{position:absolute;right:-2px;bottom:-2px;box-shadow:0 0 0 2px var(--bg)}.gp-set__choices{display:grid;gap:8px}.gp-set__choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);cursor:pointer}.gp-set__choice:has(input:checked){border-color:var(--accent)}.gp-set__choice span{display:grid;gap:2px}.gp-usercard{max-height:calc(100vh - 16px);overflow-y:auto}.gp-store{height:100%;overflow:auto;padding:20px;display:grid;gap:18px;align-content:start}.gp-store h2{font-size:2rem}.gp-store__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.gp-store__card{display:grid;gap:12px;align-content:start;padding:12px;border:1px solid var(--line);background:var(--bg-raised)}.gp-store__card.is-active{border-color:var(--accent)}.gp-store__preview{position:relative;height:130px;overflow:hidden;border:1px solid var(--line-soft)}.gp-store__window{position:absolute;inset:14px 30px 30px 14px;overflow:hidden;box-shadow:0 6px 16px #0000004d}.gp-store__bar{display:flex;gap:5px;align-items:center;height:16px;padding:0 6px}.gp-store__bar i{width:7px;height:7px;border-radius:50%}.gp-store__lines{display:grid;gap:6px;padding:10px}.gp-store__lines b{display:block;height:5px;width:80%;border-radius:3px}.gp-store__dock{position:absolute;left:0;right:0;bottom:0;height:18px;padding:3px 6px}.gp-store__dock i{display:block;width:16px;height:12px}.gp-store__info{display:grid;gap:4px}.gp-store__info h3{font-size:1.3rem}.gp-store__tagline{color:var(--text-muted)}.gp-store__desc{font-size:.85rem;color:var(--text-faint);line-height:1.45}.gp-set__app select{flex:1;min-width:0;max-width:62%;margin-left:auto}
