/* Desima v07.3 — generowane: _System/src/build_www.py (tokeny: 02_Tokeny) */
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/Barlow-400.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/Barlow-400i.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/Barlow-500.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/Barlow-600.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/Barlow-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/BarlowSemiCondensed-500.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/BarlowSemiCondensed-600.woff2) format("woff2")}
:root {
  --d-stal: #EAECF1;  
  --d-stal-hi: #F6F7F9;  
  --d-stal-2: #D4D9E2;  
  --d-stal-mid: #94A0B8;  
  --d-stal-lo: #697896;  
  --d-grafit: #1F242E;  
  --d-grafit-hi: #323A48;  
  --d-grafit-lo: #0F131A;  
  --d-mgla: #F0F1F5;  
  --d-tekst-2: #464E5E;  
  --d-tekst-3: #545C6C;  
  --d-tekst-2-d: #B8BDC7;  
  --d-tekst-3-d: #959CAA;  
  --d-blekit-50: #F2F8FD;  
  --d-blekit-100: #E4F0FC;  
  --d-blekit-200: #C7DEF5;  
  --d-blekit-300: #B2CEEA;  
  --d-blekit-400: #85ACD2;  
  --d-blekit-500: #5988B4;  
  --d-blekit-600: #47739B;  
  --d-blekit-700: #31587D;  
  --d-blekit-800: #1F405E;  
  --d-blekit-900: #13283B;  
  --d-blekit-d: #B5D1EE;  
  --d-font: "Barlow", "Helvetica Neue", Arial, sans-serif;
  --d-font-cond: "Barlow Semi Condensed", "Barlow", "Arial Narrow", Arial, sans-serif;
  --d-font-code: ui-monospace, "SF Mono", Menlo, Consolas, monospace;  
  --d-fs-hero: clamp(2.6rem, 5.6vw, 4.4rem); --d-fs-h1: clamp(2rem, 4vw, 3rem); --d-fs-h2: clamp(1.5rem, 2.6vw, 2rem); --d-fs-h3: 1.25rem;
  --d-fs-body: 1.0625rem; --d-fs-small: .9375rem; --d-fs-label: .8125rem;
  --d-lh-tight: 1.05; --d-lh-body: 1.55;
  --d-track-wordmark: 0.12em; --d-track-label: 0.04em;
  --d-r-s: 10px; --d-r-m: 18px; --d-r-l: 28px; --d-r-pill: 999px;
  --d-space: 8px; --d-max-w: 1180px; --d-nav-h: 64px;
  --d-ease: cubic-bezier(.2,.7,.2,1); --d-ease-snap: cubic-bezier(1,0,1,1); --d-spring: var(--d-ease); --d-t: 200ms;
  --m-press: 380ms; --m-press-d: 560ms; --m-slide: 500ms; --m-light: 250ms;
  --m-flash: 760ms; --m-melt: 460ms; --m-stagger: 90ms;
  --led-face: linear-gradient(180deg, #C7DEF5 8%, #85ACD2 30%, #5988B4 60%, #85ACD2 75%, #47739B 100%);
  --cta-face: linear-gradient(180deg, #5988B4 0%, #47739B 14%, #31587D 100%);
  --led-off: linear-gradient(180deg, rgba(255,255,255,.35), rgba(0,0,0,.18));
  --led-rim: inset 0 0 0 max(1px,.06em) rgba(19,40,59,0.55), inset 0 min(-2px,-.13em) max(2px,.19em) rgba(31,64,94,0.45);
  --led-glow: 0 0 .63em rgba(89,136,180,0.5), 0 0 1.63em rgba(89,136,180,0.3);
  --glow-rgb: 89,136,180;
  color-scheme: light dark;
}
@supports (animation-timing-function: linear(0, 1)) { :root { --d-spring: linear(0,.009,.035 2.1%,.141 4.4%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1); } }
:root, :root[data-theme="light"] {
  --bg: #EAECF1; --bg-2: #D4D9E2;
  --text: #1F242E; --text-2: #464E5E; --text-3: #545C6C;
  --accent: #5988B4; --accent-text: #31587D; --accent-display: #47739B; --on-accent: #FFFFFF;
  --line: rgba(31,36,46,.12); --ok: #2E6E46; --err: #B42318;
  --grad-key-a: #F6F7F9; --grad-key-b: #C9D0DC;
  --key-face-hover: linear-gradient(160deg, #FFFFFF 40%, #D4DAE4 100%);
  --key-edge: rgba(255,255,255,.95);
  --sh: 105,120,150;
  --key-shadow: inset max(1px,.07em) max(1px,.07em) 0 var(--key-edge), .06em .06em max(2px,.13em) rgba(var(--sh),.8), max(2px,.13em) .19em .38em rgba(var(--sh),.35), .5em .88em 1.4em rgba(var(--sh),.32);
  --key-shadow-lg: inset max(1px,.07em) max(1px,.07em) 0 var(--key-edge), .13em .13em .19em rgba(var(--sh),.8), .38em .63em .75em rgba(var(--sh),.3), 1em 1.63em 2.13em rgba(var(--sh),.4);
  --key-shadow-down: inset max(1px,.07em) max(1px,.07em) 0 rgba(255,255,255,.6), .06em .06em .06em rgba(var(--sh),.6), max(2px,.13em) .19em .31em rgba(var(--sh),.3);
  --grad-ch-a: #D3D8E1; --grad-ch-b: #DEE2EA;
  --ch-shadow: inset 5px 5px 8px rgba(var(--sh),.45), inset -4px -4px 8px rgba(255,255,255,.9), inset 0 0 1px rgba(var(--sh),.6);
  --ch-shadow-deep: inset 8px 8px 10px rgba(31,36,46,.55), inset 10px 10px 16px rgba(var(--sh),.5);
  --grad-plate-a: #F1F3F6; --grad-plate-b: #E1E5EC;
  --plate-shadow: inset 1px 1px 0 rgba(255,255,255,.9), 0 1px 2px rgba(var(--sh),.5), 0 10px 24px rgba(var(--sh),.22);
  --grad-ind-a: #F6F7F9; --grad-ind-b: #94A0B8; --grad-ind-c: #D4D9E2;
  --logo-light: block; --logo-dark: none;
  --engrave: 0 1px 0 rgba(255,255,255,.7);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --bg: #1F242E; --bg-2: #0F131A;
  --text: #F0F1F5; --text-2: #B8BDC7; --text-3: #959CAA;
  --accent: #5988B4; --accent-text: #B5D1EE; --accent-display: #85ACD2; --on-accent: #FFFFFF;
  --line: rgba(240,241,245,.12); --ok: #86D3A4; --err: #F4A39A;
  --grad-key-a: #3A4352; --grad-key-b: #1B2029;
  --key-face-hover: linear-gradient(160deg, #414A59 35%, #222833 100%);
  --key-edge: rgba(255,255,255,.14);
  --sh: 5,8,14;
  --key-shadow: inset max(1px,.07em) max(1px,.07em) 0 var(--key-edge), .06em .06em max(2px,.13em) rgba(var(--sh),.9), max(2px,.13em) .19em .38em rgba(var(--sh),.5), .5em .88em 1.4em rgba(var(--sh),.55);
  --key-shadow-lg: inset max(1px,.07em) max(1px,.07em) 0 var(--key-edge), .13em .13em .19em rgba(var(--sh),.9), .38em .63em .75em rgba(var(--sh),.5), 1em 1.63em 2.13em rgba(var(--sh),.6);
  --key-shadow-down: inset max(1px,.07em) max(1px,.07em) 0 rgba(255,255,255,.08), .06em .06em .06em rgba(var(--sh),.8), max(2px,.13em) .19em .31em rgba(var(--sh),.5);
  --grad-ch-a: #12161D; --grad-ch-b: #1A1F28;
  --ch-shadow: inset 5px 5px 8px rgba(var(--sh),.8), inset -4px -4px 8px rgba(255,255,255,.06), inset 0 0 1px rgba(0,0,0,.8);
  --ch-shadow-deep: inset 8px 8px 10px rgba(0,0,0,.85), inset 10px 10px 16px rgba(var(--sh),.6);
  --grad-plate-a: #272D39; --grad-plate-b: #1A1F28;
  --plate-shadow: inset 1px 1px 0 rgba(255,255,255,.07), 0 1px 2px rgba(var(--sh),.8), 0 10px 24px rgba(var(--sh),.5);
  --grad-ind-a: #3A4352; --grad-ind-b: #12161D; --grad-ind-c: #1A1F28;
  --logo-light: none; --logo-dark: block;
  --engrave: 0 -1px 0 rgba(0,0,0,.8);
  }
}
:root[data-theme="dark"] {
  --bg: #1F242E; --bg-2: #0F131A;
  --text: #F0F1F5; --text-2: #B8BDC7; --text-3: #959CAA;
  --accent: #5988B4; --accent-text: #B5D1EE; --accent-display: #85ACD2; --on-accent: #FFFFFF;
  --line: rgba(240,241,245,.12); --ok: #86D3A4; --err: #F4A39A;
  --grad-key-a: #3A4352; --grad-key-b: #1B2029;
  --key-face-hover: linear-gradient(160deg, #414A59 35%, #222833 100%);
  --key-edge: rgba(255,255,255,.14);
  --sh: 5,8,14;
  --key-shadow: inset max(1px,.07em) max(1px,.07em) 0 var(--key-edge), .06em .06em max(2px,.13em) rgba(var(--sh),.9), max(2px,.13em) .19em .38em rgba(var(--sh),.5), .5em .88em 1.4em rgba(var(--sh),.55);
  --key-shadow-lg: inset max(1px,.07em) max(1px,.07em) 0 var(--key-edge), .13em .13em .19em rgba(var(--sh),.9), .38em .63em .75em rgba(var(--sh),.5), 1em 1.63em 2.13em rgba(var(--sh),.6);
  --key-shadow-down: inset max(1px,.07em) max(1px,.07em) 0 rgba(255,255,255,.08), .06em .06em .06em rgba(var(--sh),.8), max(2px,.13em) .19em .31em rgba(var(--sh),.5);
  --grad-ch-a: #12161D; --grad-ch-b: #1A1F28;
  --ch-shadow: inset 5px 5px 8px rgba(var(--sh),.8), inset -4px -4px 8px rgba(255,255,255,.06), inset 0 0 1px rgba(0,0,0,.8);
  --ch-shadow-deep: inset 8px 8px 10px rgba(0,0,0,.85), inset 10px 10px 16px rgba(var(--sh),.6);
  --grad-plate-a: #272D39; --grad-plate-b: #1A1F28;
  --plate-shadow: inset 1px 1px 0 rgba(255,255,255,.07), 0 1px 2px rgba(var(--sh),.8), 0 10px 24px rgba(var(--sh),.5);
  --grad-ind-a: #3A4352; --grad-ind-b: #12161D; --grad-ind-c: #1A1F28;
  --logo-light: none; --logo-dark: block;
  --engrave: 0 -1px 0 rgba(0,0,0,.8);
}
:root {
  --key-face:   linear-gradient(160deg, var(--grad-key-a) 40%, var(--grad-key-b) 100%);
  --ch-face:    linear-gradient(180deg, var(--grad-ch-a), var(--grad-ch-b));
  --plate-face: linear-gradient(175deg, var(--grad-plate-a), var(--grad-plate-b));
  --ind-face:   linear-gradient(180deg, var(--grad-ind-a), var(--grad-ind-b) 60%, var(--grad-ind-c));
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent-text);
}
@property --grad-key-a { syntax: "<color>"; inherits: true; initial-value: #F6F7F9; }
@property --grad-key-b { syntax: "<color>"; inherits: true; initial-value: #C9D0DC; }
@property --grad-ch-a { syntax: "<color>"; inherits: true; initial-value: #D3D8E1; }
@property --grad-ch-b { syntax: "<color>"; inherits: true; initial-value: #DEE2EA; }
@property --grad-plate-a { syntax: "<color>"; inherits: true; initial-value: #F1F3F6; }
@property --grad-plate-b { syntax: "<color>"; inherits: true; initial-value: #E1E5EC; }
@property --grad-ind-a { syntax: "<color>"; inherits: true; initial-value: #F6F7F9; }
@property --grad-ind-b { syntax: "<color>"; inherits: true; initial-value: #94A0B8; }
@property --grad-ind-c { syntax: "<color>"; inherits: true; initial-value: #D4D9E2; }
.pnl-plate { background: var(--plate-face); border-radius: var(--d-r-l); box-shadow: var(--plate-shadow); padding: calc(var(--d-space) * 3); position: relative; }
.pnl-key {
  -webkit-appearance: none; appearance: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: .63em; text-decoration: none;
  font: 600 var(--d-fs-small)/1 var(--d-font); letter-spacing: .01em; color: var(--text);
  background: var(--key-face); border-radius: max(12px, 1.1em); padding: .94em 1.38em; box-shadow: var(--key-shadow);
  transition: box-shadow var(--d-t) var(--d-ease), transform var(--d-t) var(--d-ease), background var(--d-t); user-select: none;
}
.pnl-key:hover { background: var(--key-face-hover); box-shadow: var(--key-shadow-lg); text-decoration: none; transform: translateY(-.06em); }
.pnl-key:active { box-shadow: var(--key-shadow-down); transform: translateY(.13em); }
.pnl-key--lit { background: var(--cta-face); color: var(--on-accent); box-shadow: var(--key-shadow), var(--led-rim), var(--led-glow); text-shadow: 0 1px 0 rgba(19,40,59,0.35); }
.pnl-key--lit:hover { background: var(--cta-face); box-shadow: var(--key-shadow-lg), var(--led-rim), var(--led-glow); }
.pnl-key--lit:active { box-shadow: var(--key-shadow-down), var(--led-rim); }
.pnl-key--ghost { background: transparent; box-shadow: inset 0 0 0 1px var(--line); }
.pnl-key--ghost:hover { background: transparent; box-shadow: inset 0 0 0 1px var(--text-3); transform: none; }
.pnl-key .ic { width: 1.06em; height: 1.06em; }
.pnl-channel { background: var(--ch-face); border-radius: var(--d-r-s); box-shadow: var(--ch-shadow); }
.pnl-inset { background: var(--ch-face); border-radius: var(--d-r-m); box-shadow: var(--ch-shadow); padding: calc(var(--d-space) * 3); }
.pnl-input { width: 100%; box-sizing: border-box; border: 0; color: var(--text); background: var(--ch-face); font: 400 var(--d-fs-body)/1.4 var(--d-font); padding: 14px 16px; border-radius: var(--d-r-s); box-shadow: var(--ch-shadow); }
.pnl-input::placeholder { color: var(--text-3); }
.pnl-input:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 2px; }
.pnl-led { display: inline-block; width: .75em; height: .75em; border-radius: 50%; background: var(--led-off); box-shadow: var(--ch-shadow); vertical-align: middle; }
.pnl-led--bar { width: 2.1em; height: .75em; border-radius: var(--d-r-pill); }
.pnl-led.is-on { background: var(--led-face); box-shadow: var(--led-rim), var(--led-glow); }
.pnl-legend { font: 600 var(--d-fs-label)/1 var(--d-font-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); text-shadow: var(--engrave); }
.pnl-label { font: 500 var(--d-fs-label)/1.35 var(--d-font-cond); letter-spacing: var(--d-track-label); color: var(--text-3); }
.pnl-icon { font-size: 1rem; width: 3.5em; height: 3.5em; border-radius: 1em; background: var(--key-face); box-shadow: var(--key-shadow); display: grid; place-items: center; color: var(--accent-text); }
.ic, .pnl-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.pnl-icon svg { width: 1.63em; height: 1.63em; }
.pnl-switch { --w: 4.5em; position: relative; display: inline-block; width: var(--w); height: calc(var(--w) / 2.5); border-radius: var(--w); background: var(--ch-face); box-shadow: var(--ch-shadow); cursor: pointer; vertical-align: middle; flex: none; }
.pnl-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 2; }
.pnl-switch .ind { position: absolute; top: 20%; height: 60%; width: 40%; transition: box-shadow .5s var(--d-ease-snap), background .3s; }
.pnl-switch .ind--l { left: 10%; border-radius: 100px 0 0 100px; background: var(--led-face); box-shadow: var(--ch-shadow-deep); }
.pnl-switch .ind--r { right: 10%; border-radius: 0 100px 100px 0; background: var(--ind-face); box-shadow: inset 0 0 2px rgba(31,36,46,.6); }
.pnl-switch .knob { position: absolute; z-index: 1; top: 10%; left: 5%; width: 55%; height: 80%; border-radius: 100px; background: var(--key-face); box-shadow: var(--key-shadow); transition: left .5s var(--d-ease-snap); }
.pnl-switch input:checked ~ .knob { left: 40%; }
.pnl-switch input:checked ~ .ind--l { box-shadow: var(--led-rim), var(--led-glow); }
.pnl-switch input:checked ~ .ind--r { box-shadow: var(--ch-shadow-deep); }
.pnl-switch input:focus-visible ~ .knob { box-shadow: var(--key-shadow), var(--focus-ring); }
.pnl-svc { -webkit-appearance: none; appearance: none; border: 0; cursor: pointer; width: 3.85em; height: 3.85em; padding: 0; border-radius: .92em; background: var(--key-face); box-shadow: var(--key-shadow); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: .38em; font: 700 26px/1 var(--d-font); color: var(--text); letter-spacing: .04em; transition: transform var(--d-t) var(--d-ease), box-shadow var(--d-t) var(--d-ease), background var(--d-t); }
.pnl-svc .led { width: 1.38em; height: .31em; border-radius: 999px; background: var(--led-off); box-shadow: var(--ch-shadow); transition: background var(--d-t), box-shadow var(--d-t); }
.pnl-svc:hover { background: var(--key-face-hover); }
.pnl-svc:hover .led, .pnl-svc:focus-visible .led, .pnl-svc.is-on .led, .pnl-svc[aria-selected="true"] .led { background: var(--led-face); box-shadow: var(--led-rim), var(--led-glow); }
.pnl-svc:active, .pnl-svc[aria-selected="true"] { transform: translateY(.1em); box-shadow: var(--key-shadow-down); }
.pnl-pattern { position: relative; isolation: isolate; }
@keyframes d-press { 0% { transform: none; animation-timing-function: cubic-bezier(.6,.05,.75,.45); } 40% { transform: translateY(.31em) scale(.985); animation-timing-function: var(--d-spring); } 100% { transform: none; } }
.is-pressed { animation: d-press var(--m-press) both; }
.is-melting, .is-melting *, .is-melting *::before, .is-melting *::after {
  transition: background-color var(--m-melt) var(--d-ease), color var(--m-melt) var(--d-ease), border-color var(--m-melt) var(--d-ease),
    box-shadow var(--m-melt) var(--d-ease), fill var(--m-melt) var(--d-ease), stroke var(--m-melt) var(--d-ease),
    opacity var(--m-melt) var(--d-ease), transform var(--m-melt) var(--d-ease),
    --grad-key-a var(--m-melt) var(--d-ease), --grad-key-b var(--m-melt) var(--d-ease), --grad-ch-a var(--m-melt) var(--d-ease),
    --grad-ch-b var(--m-melt) var(--d-ease), --grad-plate-a var(--m-melt) var(--d-ease), --grad-plate-b var(--m-melt) var(--d-ease),
    --grad-ind-a var(--m-melt) var(--d-ease), --grad-ind-b var(--m-melt) var(--d-ease), --grad-ind-c var(--m-melt) var(--d-ease) !important;
}
.hero-key { position: relative; isolation: isolate; display: grid; border: 0; background: none; padding: 0; cursor: pointer; }
.hero-key svg { width: 100%; height: auto; display: block; transition: transform .35s var(--d-ease); }
.hero-key .sk-l, .hero-key .sk-d { grid-area: 1/1; transition: opacity var(--m-melt) var(--d-ease); }
.hero-key .sk-l { opacity: 1 } .hero-key .sk-d { opacity: 0 }
:root[data-theme="dark"] .hero-key .sk-l { opacity: 0 } :root[data-theme="dark"] .hero-key .sk-d { opacity: 1 }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .hero-key .sk-l { opacity: 0 } :root:not([data-theme="light"]) .hero-key .sk-d { opacity: 1 } }
.hero-key:hover svg { transform: translateY(-1.2%); }
@keyframes d-key-press { 0% { transform: translate(0,0); animation-timing-function: cubic-bezier(.6,.05,.75,.45); } 30% { transform: translate(1.1%,2.1%) scale(.985); animation-timing-function: var(--d-spring); } 100% { transform: translate(0,0); } }
.hero-key.is-pressed svg { animation: d-key-press var(--m-press-d) both; }
.hero-key::after { content: ""; position: absolute; z-index: -1; inset: 21.8%; border-radius: 24% 50% 50% 24%; pointer-events: none;
  background: linear-gradient(180deg, rgba(var(--glow-rgb),.75), rgba(var(--glow-rgb),.95) 55%, rgba(71,115,155,0.9));
  box-shadow: 0 .9em 1.8em rgba(var(--glow-rgb),.36); filter: blur(.8em); opacity: .5; animation: d-breathe 4.6s infinite; transition: filter .45s var(--d-ease); }
.hero-key:hover::after { filter: blur(.8em) brightness(1.25) saturate(1.1); }
@keyframes d-breathe { 0% { opacity: .4; animation-timing-function: cubic-bezier(.35,0,.25,1); } 55% { opacity: .62; animation-timing-function: cubic-bezier(.5,0,.55,1); } 100% { opacity: .4; } }
.hero-key.flash::after { animation: d-flash var(--m-flash) both; }
@keyframes d-flash { 0% { opacity: 1; transform: scale(1.045); animation-timing-function: cubic-bezier(.16,.6,.24,1); } 100% { opacity: .4; transform: scale(1); } }
.hero-key:focus-visible { outline: none; }
.hero-key::before { content: ""; position: absolute; inset: 20%; border-radius: 22% 50% 50% 22%; pointer-events: none; opacity: 0; box-shadow: 0 0 0 max(2px,.18em) var(--accent-text), 0 0 1.3em rgba(var(--glow-rgb),.45); transition: opacity .15s; }
.hero-key:focus-visible::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } .hero-key::after { opacity: .5; } }
@media (forced-colors: active) { .pnl-key, .pnl-plate, .pnl-input, .pnl-channel, .pnl-svc { border: 1px solid CanvasText; box-shadow: none; background: Canvas; } }
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--d-fs-body)/var(--d-lh-body) var(--d-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
p,li,dd,figcaption{text-wrap:pretty}
a{color:var(--accent-text);text-underline-offset:.18em}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--d-grafit);color:var(--d-mgla);padding:10px 18px;border-radius:0 0 12px 0;font:600 .95rem var(--d-font)}
.skip:focus{left:0}
.wrap{max-width:var(--d-max-w);margin:0 auto;padding:0 clamp(16px,4vw,32px)}
h1,h2,h3{font-family:var(--d-font);line-height:var(--d-lh-tight);margin:0;text-wrap:balance}
h1{font-size:var(--d-fs-hero);font-weight:700;letter-spacing:-.015em}
h2{font-size:var(--d-fs-h1);font-weight:700;letter-spacing:-.01em}
h3{font-size:var(--d-fs-h3);font-weight:600;line-height:1.25}
h1 em,h2 em,h3 em{font-style:normal;color:inherit}
.haslo{color:var(--accent-display);white-space:nowrap}
.lead{font-size:clamp(1.06rem,1.4vw,1.2rem);line-height:1.55;color:var(--text-2);max-width:58ch}
.small{font-size:var(--d-fs-small);color:var(--text-2)}
section{padding:clamp(56px,9vw,104px) 0;position:relative}
.sec-head{max-width:760px;margin-bottom:clamp(28px,4vw,44px)}
.sec-head .lead{margin:.8em 0 0}
.ic{width:20px;height:20px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font:600 var(--d-fs-small)/1.2 var(--d-font-cond);letter-spacing:.01em;color:var(--text-2);margin:0 0 14px}
.lamp{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--led-face);box-shadow:0 0 6px 1px rgba(var(--glow-rgb),.5);flex:none}
.eyebrow .lamp{vertical-align:1px}
.nav{position:fixed;inset:0 0 auto;z-index:100;height:var(--d-nav-h);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:box-shadow .25s var(--d-ease),border-color .25s var(--d-ease)}
.nav.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 24px rgba(15,19,26,.14)}
.nav .wrap{height:100%;display:flex;align-items:center;gap:20px}
.nav a.brand{display:flex;align-items:center;color:var(--text);text-decoration:none;margin-right:auto;flex:none}
.nav .logo{height:26px;width:auto;display:block}
.nav .pnl-switch,.nav .lang-seg,.nav .menu-btn{flex:none}
.nav .pnl-switch{font-size:.86rem}
.nav-links{display:flex;gap:2px}
.nav-links a{font:500 1rem/1 var(--d-font);color:var(--text-2);text-decoration:none;padding:10px 12px;border-radius:var(--d-r-s);transition:color .15s,background .15s}
.nav-links a:hover{color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent);text-decoration:none}
.menu-btn{display:none;border:0;background:none;color:var(--text);padding:10px;border-radius:var(--d-r-s);cursor:pointer}
.menu-btn .ic{width:24px;height:24px}
.only-m{display:none}
.lang-seg{display:inline-flex;gap:3px;padding:3px;border-radius:var(--d-r-pill);background:var(--ch-face);box-shadow:var(--ch-shadow)}
.lang-seg>a,.lang-seg>span{display:inline-flex;align-items:center;padding:.42em .8em;border-radius:var(--d-r-pill);font:500 .86rem/1 var(--d-font);color:var(--text-3);text-decoration:none}
.lang-seg a:hover{color:var(--text);text-decoration:none}
.lang-seg .is-act,.lang-seg .is-act span{color:var(--text)}
.lang-seg .is-act{background:var(--key-face);box-shadow:var(--key-shadow-down);font-weight:600}
.lang-seg .lg-code{display:none}
.nav-mail{display:inline-flex;align-items:center;gap:.5em}
.nav-mail .ic{width:1em;height:1em;color:var(--accent-text)}
@media (max-width:640px){.nav .wrap{gap:10px}.nav .logo{height:22px}.lang-seg .lg-full{display:none}.lang-seg .lg-code{display:inline}}
@media (max-width:920px){
  .nav-links,.nav .nav-cta{display:none}
  .menu-btn{display:block}
  .nav.is-open .only-m{display:block}
  .nav.is-open .nav-links{display:flex;position:absolute;top:var(--d-nav-h);left:0;right:0;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:10px clamp(16px,4vw,32px) 18px;box-shadow:0 24px 40px rgba(15,19,26,.25)}
  .nav.is-open .nav-links a{padding:13px 12px;font-size:1.06rem}
}
.brand-grp{display:flex;align-items:center;margin-right:auto;flex:none}
.brand-grp .brand{margin-right:0}
.brand-suffix{font:600 .82rem/1 var(--d-font-cond);letter-spacing:.02em;color:var(--text-2);background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-pill);padding:7px 12px;margin-left:12px;text-decoration:none;transition:color .15s}
.brand-suffix:hover{color:var(--text);text-decoration:none}
@media (max-width:480px){.nav .wrap{gap:8px}.nav .logo{height:20px}.lang-seg .is-act{display:none}.menu-btn{padding:8px}
  .brand-suffix{margin-left:6px;padding:5px 8px;font-size:.74rem}}
@media (max-width:374px){.brand-suffix{display:none}}
.key{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.6em;padding:.94em 1.38em;border:0;border-radius:max(12px,1.1em);cursor:pointer;text-decoration:none;font:600 var(--d-fs-small)/1 var(--d-font);letter-spacing:.01em;color:var(--text);background:var(--key-face);box-shadow:var(--key-shadow);transition:transform var(--d-t) var(--d-ease),box-shadow var(--d-t) var(--d-ease),background var(--d-t),filter var(--d-t);user-select:none;white-space:nowrap}
.key:hover{background:var(--key-face-hover);box-shadow:var(--key-shadow-lg);transform:translateY(-.06em);text-decoration:none}
.key:active{transform:translateY(.13em);box-shadow:var(--key-shadow-down)}
.key--lg{font-size:clamp(1rem,.92rem + .35vw,1.14rem)}
.key .ic{width:1.06em;height:1.06em}
.key--accent{background:var(--cta-face);color:var(--on-accent);box-shadow:var(--key-shadow),var(--led-rim),var(--led-glow);text-shadow:0 1px 0 rgba(67,14,21,.35)}
.key--accent:hover{background:var(--cta-face);box-shadow:var(--key-shadow-lg),var(--led-rim),var(--led-glow)}
.key--accent:active{box-shadow:var(--key-shadow-down),var(--led-rim)}
.key--ghost{background:none;box-shadow:inset 0 0 0 1px var(--line)}
.key--ghost:hover{background:none;box-shadow:inset 0 0 0 1px var(--text-3);transform:none}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero{padding:calc(var(--d-nav-h) + clamp(44px,7vw,92px)) 0 clamp(48px,7vw,88px);overflow:hidden;position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,5vw,64px);align-items:center;position:relative}
.hero h1{margin:0 0 22px;max-width:13ch}
.hero .lead{margin:0 0 30px}
.hero-micro{margin-top:22px;font:500 var(--d-fs-small)/1.6 var(--d-font-cond);color:var(--text-3)}
.hero-micro a{color:inherit;text-decoration:none}
.hero-micro a:hover{color:var(--accent-text)}
.hero-key-wrap{display:grid;justify-items:center;margin:0}
.hero-key{width:min(360px,64vw)}
.hero-key-cap{margin-top:18px;text-align:center;max-width:30ch;font:500 var(--d-fs-small)/1.45 var(--d-font-cond);color:var(--text-3)}
.hero .pat,.app-hero .pat{position:absolute;top:-40px;right:-120px;width:min(58vw,880px);height:auto;color:var(--text);opacity:.5;pointer-events:none;-webkit-mask-image:linear-gradient(215deg,#000 45%,transparent 78%);mask-image:linear-gradient(215deg,#000 45%,transparent 78%)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:clamp(40px,6vw,64px) 0 0;padding:0;list-style:none}
.stat{background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-m);padding:20px 22px}
.stat b{display:flex;align-items:baseline;gap:.25em;font:700 clamp(1.8rem,3.2vw,2.6rem)/1 var(--d-font);letter-spacing:-.02em}
.stat b small{font:600 .45em/1 var(--d-font-cond);letter-spacing:0;color:var(--text-2)}
.stat span{display:block;margin-top:9px;text-wrap:balance;font:500 var(--d-fs-small)/1.4 var(--d-font-cond);color:var(--text-2)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-key-wrap{order:-1;margin-bottom:6px}.hero-key{width:min(250px,58vw)}.stats{grid-template-columns:repeat(2,1fr)}}
.svc-keys{display:flex;flex-wrap:wrap;gap:.88em;margin:0 0 26px;padding:0;list-style:none}
.svc-key{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;width:3.85em;height:3.85em;border-radius:.92em;background:var(--key-face);box-shadow:var(--key-shadow);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.38em;font:700 26px/1 var(--d-font);color:var(--text);letter-spacing:.04em;transition:transform var(--d-t) var(--d-ease),box-shadow var(--d-t) var(--d-ease),background var(--d-t)}
.svc-key .led{width:1.38em;height:.31em;border-radius:999px;background:var(--led-off);box-shadow:var(--ch-shadow);transition:background var(--d-t),box-shadow var(--d-t)}
.svc-key:hover{background:var(--key-face-hover)}
.svc-key:hover .led,.svc-key:focus-visible .led{background:var(--led-face);box-shadow:var(--led-rim),var(--led-glow)}
.svc-key:active,.svc-key[aria-selected="true"]{transform:translateY(.1em);box-shadow:var(--key-shadow-down)}
.svc-key[aria-selected="true"] .led{background:var(--led-face);box-shadow:var(--led-rim),var(--led-glow)}
@keyframes key-press{0%{transform:none;animation-timing-function:cubic-bezier(.6,.05,.75,.45)}40%{transform:translateY(.08em)}100%{transform:translateY(.1em)}}
.svc-key.is-pressed{animation:key-press 240ms var(--d-ease) both}
.svc-panel{background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-l);padding:clamp(24px,3.5vw,40px)}
.svc-panel[hidden]{display:none}
.svc-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(22px,3.5vw,40px)}
.svc-panel h3{font-size:clamp(1.35rem,2.2vw,1.75rem);margin-bottom:12px}
.svc-panel .desc{color:var(--text-2);margin:0 0 20px;max-width:56ch}
.svc-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.svc-list li{display:flex;gap:12px;align-items:flex-start;color:var(--text-2)}
.svc-list .ic{color:var(--accent-text);margin-top:3px}
.svc-side{background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-m);padding:clamp(18px,2.5vw,28px);display:flex;flex-direction:column;gap:16px;align-self:start}
.svc-side .code{display:inline-flex;align-items:center;gap:10px;font:700 1rem/1 var(--d-font);letter-spacing:.04em}
.svc-side .fact{font:600 1.08rem/1.4 var(--d-font);margin:0}
.svc-side .key{align-self:flex-start}
@media (max-width:860px){.svc-grid{grid-template-columns:1fr}.svc-key{font-size:20px}}
.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(26px,5vw,60px);align-items:start}
.about-photo{position:relative;border-radius:var(--d-r-l);overflow:hidden;box-shadow:var(--key-shadow-lg);background:var(--plate-face);margin:0}
.about-photo img{width:100%;height:auto;display:block}
.about-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 14px;background:linear-gradient(180deg,transparent,rgba(15,19,26,.85));color:var(--d-mgla);font:500 var(--d-fs-small)/1.5 var(--d-font-cond);text-wrap:balance}
.about-copy h2{margin-bottom:22px}
.about-copy p{color:var(--text-2);margin:0 0 1em;max-width:60ch}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px;padding:0;list-style:none}
.chip{background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-pill);padding:8px 14px;font:500 .86rem/1.1 var(--d-font-cond);color:var(--text-2)}
.about-reg{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font:500 var(--d-fs-small)/1.8 var(--d-font-cond);color:var(--text-3);text-wrap:balance}
.segs>span{white-space:nowrap}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}.about-photo{max-width:440px}}
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;margin:0;list-style:none}
.pf-card{background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-l);padding:26px 26px 22px;display:flex;flex-direction:column;gap:12px;transition:transform .25s var(--d-ease),box-shadow .25s var(--d-ease)}
.pf-card:hover{transform:translateY(-3px);box-shadow:var(--key-shadow-lg)}
.pf-sector{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font:500 var(--d-fs-small)/1.4 var(--d-font-cond);color:var(--text-3);margin:0}
.pf-sector>span:first-child{flex:1;min-width:0}
.pf-sector .role{color:var(--accent-text);font-weight:600;flex:none;white-space:nowrap;text-align:right}
.pf-card h3{font-size:1.18rem;line-height:1.28}
.pf-card .desc{color:var(--text-2);font-size:.98rem;margin:0;flex:1}
.pf-meta{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 0;padding:0}
.pf-meta div{background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-s);padding:8px 12px;font:500 .82rem/1.35 var(--d-font-cond);color:var(--text-2)}
.pf-meta dt{order:2}.pf-meta dd{margin:0;font:600 .98rem var(--d-font);color:var(--text)}
.pf-meta div{display:flex;flex-direction:column}
.pf-award{display:inline-flex;align-items:center;gap:9px;font:600 var(--d-fs-small)/1.2 var(--d-font-cond);color:var(--accent-text)}
@media (max-width:1020px){.pf-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pf-grid{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(22px,4vw,44px);align-items:start}
.contact-panel{background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-l);padding:clamp(20px,3vw,32px);display:grid;gap:6px}
.c-row{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:var(--d-r-s);color:var(--text);text-decoration:none;transition:background .15s}
a.c-row:hover{background:color-mix(in srgb,var(--text) 6%,transparent);text-decoration:none}
.c-ico{flex:none;font-size:1rem;width:2.63em;height:2.63em;border-radius:.75em;background:var(--key-face);box-shadow:var(--key-shadow);display:grid;place-items:center;color:var(--accent-text)}
.c-row div{min-width:0}
.c-row small{display:block;font:500 var(--d-fs-label)/1.3 var(--d-font-cond);color:var(--text-3)}
.c-row span{font:500 1.02rem/1.4 var(--d-font);overflow-wrap:anywhere}
.form{background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-l);padding:clamp(20px,3vw,32px);display:grid;gap:16px}
.f-field{display:grid;gap:8px}
.f-field label{font:600 var(--d-fs-small)/1.2 var(--d-font-cond);color:var(--text-2)}
.f-in{width:100%;border:0;border-radius:var(--d-r-s);padding:14px 16px;font:400 1.02rem/1.4 var(--d-font);color:var(--text);background:var(--ch-face);box-shadow:var(--ch-shadow)}
.f-in:focus{outline:2px solid var(--accent-text);outline-offset:2px}
.f-in::placeholder{color:var(--text-3)}
textarea.f-in{resize:vertical;min-height:130px}
select.f-in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 21px) 50%,calc(100% - 15px) 50%;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer;padding-right:40px}
.f-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.f-status{margin:0;font:500 .98rem/1.5 var(--d-font);min-height:1.4em}
.f-status.ok{color:var(--ok)}
.f-status.err{color:var(--err)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.footer{background:var(--d-grafit-lo);color:var(--d-mgla);padding:clamp(44px,6vw,72px) 0 34px;margin-top:clamp(40px,7vw,88px)}
.footer a{color:inherit;text-decoration:none}
.footer a:hover{color:var(--d-blekit-d);text-decoration:underline}
.footer .logo{height:30px;width:auto;color:var(--d-mgla)}
.foot-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:clamp(24px,4vw,48px);align-items:start}
.foot-grid p{color:#BEC4D0;font-size:.98rem;max-width:42ch}
.foot-haslo{font:700 1.1rem/1.3 var(--d-font);color:var(--d-mgla);margin:18px 0 8px}
.foot-haslo b{color:var(--d-blekit-d);font-weight:700}
.foot-h{font:600 var(--d-fs-small)/1 var(--d-font-cond);color:#A9B0BE;margin:0 0 14px}
.foot-links{display:grid;gap:9px;font-size:1rem;margin:0;padding:0;list-style:none}
.foot-line{margin-top:clamp(30px,5vw,48px);padding-top:22px;border-top:1px solid rgba(240,241,245,.14);display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;font:500 var(--d-fs-label)/1.6 var(--d-font-cond);color:#A9B0BE}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.foot-grid{grid-template-columns:1fr}}
.rv{opacity:0;transform:translateY(14px);transition:opacity .5s var(--d-ease),transform .5s var(--d-ease);transition-delay:calc(var(--i,0)*70ms)}
.rv.on{opacity:1;transform:none}
html.no-js .rv,html.no-io .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
.section{padding:clamp(48px,8vw,96px) 0}
.app-hero{padding:calc(var(--d-nav-h) + clamp(40px,6vw,72px)) 0 clamp(40px,6vw,64px);overflow:hidden;position:relative}
.app-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,4.5vw,56px);align-items:center;position:relative}
.app-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem)}
.app-hero .lead{margin:18px 0 26px}
.micro-note{font:500 var(--d-fs-small)/1.6 var(--d-font-cond);color:var(--text-3);margin-top:18px}
.device-panel{background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-l);padding:clamp(18px,2.6vw,30px);display:grid;gap:18px}
.device-stage{display:flex;gap:18px;align-items:flex-end;justify-content:center}
.device-stage img{border-radius:14px;box-shadow:var(--key-shadow-lg)}
.frame-phone img{width:min(190px,38vw)}
.frame-tablet img{width:min(300px,52vw)}
.frame-desktop img{width:100%;max-width:560px}
.status-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.status-cell,.meta-cell{background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-s);padding:12px 14px}
.meta-cell{border-radius:var(--d-r-m);padding:16px 18px}
.status-cell small,.meta-cell small{display:block;font:500 var(--d-fs-label)/1.4 var(--d-font-cond);color:var(--text-3)}
.status-cell b{font:600 1rem var(--d-font);color:var(--text)}
.meta-cell b{font:600 1.04rem var(--d-font)}
.store-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(22px,4vw,44px);align-items:center}
.qr-key{display:grid;justify-items:center;gap:.63em;background:var(--key-face);box-shadow:var(--key-shadow);border-radius:1.75em;padding:1.63em 1.63em 1.38em;text-decoration:none;color:var(--text);max-width:290px;justify-self:center;transition:transform var(--d-t) var(--d-ease),box-shadow var(--d-t) var(--d-ease)}
.qr-key:hover{background:var(--key-face-hover);text-decoration:none}
.qr-key:active{transform:translate(.06em,.13em);box-shadow:var(--key-shadow-down)}
.qr-key img{width:132px;height:132px;border-radius:10px;background:#fff;padding:8px;box-shadow:var(--ch-shadow)}
.qr-key b{font:600 1rem var(--d-font)}
.qr-key small{font:400 .86rem/1.5 var(--d-font);color:var(--text-2);text-align:center}
.feature-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(22px,4vw,52px)}
.feature-list{display:grid;gap:14px}
.feature-item{display:flex;gap:16px;align-items:flex-start;background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-m);padding:18px 20px}
.feature-item .idx{flex:none;margin-top:8px;width:9px;height:9px;border-radius:3px;background:var(--led-face);box-shadow:0 0 6px 1px rgba(var(--glow-rgb),.45)}
.feature-item p{margin:0;color:var(--text-2)}
.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.screen-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.screen-card{margin:0;background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-m);padding:14px;display:grid;gap:10px}
.screen-card img{border-radius:10px;width:100%}
.screen-card figcaption{font:500 var(--d-fs-small)/1.5 var(--d-font-cond);color:var(--text-3);text-align:center}
.doc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(22px,4vw,44px);align-items:start}
.doc-panel{background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-l);padding:clamp(20px,3vw,30px)}
.doc-list{display:grid;gap:10px;margin-top:16px}
.doc-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-s);padding:13px 16px;text-decoration:none;color:var(--text);font:500 1rem var(--d-font);transition:transform .15s var(--d-ease)}
.doc-link:hover{transform:translateX(3px);text-decoration:none}
.doc-link .ic{color:var(--accent-text)}
.copy-block{max-width:78ch}
.copy-block h2{font-size:clamp(1.25rem,2vw,1.6rem);margin:1.6em 0 .5em;font-weight:600}
.copy-block h3{margin:1.4em 0 .5em}
.copy-block p,.copy-block li{color:var(--text-2)}
.copy-block ul{padding-left:1.2em;display:grid;gap:8px;margin:.8em 0}
.notice{display:flex;gap:14px;align-items:flex-start;background:var(--ch-face);box-shadow:var(--ch-shadow);border-radius:var(--d-r-m);padding:18px 20px;color:var(--text-2);margin:0 0 10px}
.notice .lamp{margin-top:8px}
.legal-title{display:grid;gap:8px;font-size:clamp(1.9rem,3.6vw,2.8rem)}
.legal-title .app{font:600 var(--d-fs-small)/1 var(--d-font-cond);color:var(--accent-text)}
.app-list{display:grid;gap:18px;max-width:880px}
.app-card{display:flex;gap:20px;align-items:center;background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-l);padding:clamp(18px,2.6vw,26px);text-decoration:none;color:var(--text);transition:transform .25s var(--d-ease),box-shadow .25s var(--d-ease)}
.app-card:hover{transform:translateY(-3px);box-shadow:var(--key-shadow-lg);text-decoration:none}
.app-card .app-ico{flex:none;font-size:1rem;width:4.75em;height:4.75em;border-radius:1.25em;box-shadow:var(--key-shadow);background:var(--key-face);padding:.5em}
.app-card .app-ico img{border-radius:14px}
.app-card h3{font-size:1.28rem;margin:2px 0 6px}
.app-card .eyebrow{margin:0 0 2px}
.app-card p{margin:0;color:var(--text-2);font-size:.98rem}
.app-card .go{margin-left:auto;flex:none;font-size:1rem;width:2.75em;height:2.75em;border-radius:.81em;background:var(--key-face);box-shadow:var(--key-shadow);display:grid;place-items:center;color:var(--accent-text)}
.dir{display:grid;gap:12px;margin-top:6px}
.dir-row{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;background:var(--plate-face);box-shadow:var(--plate-shadow);border-radius:var(--d-r-m);padding:16px 20px}
.dir-app{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--text);min-width:210px}
.dir-app:hover{text-decoration:none}
.dir-idx{flex:none;width:9px;height:9px;border-radius:3px;background:var(--led-face);box-shadow:0 0 6px 1px rgba(var(--glow-rgb),.45)}
.dir-app strong{font:600 1.06rem var(--d-font)}
.dir-app small{display:block;font:500 var(--d-fs-label)/1.4 var(--d-font-cond);color:var(--text-3)}
.dir-links{display:flex;flex-wrap:wrap;gap:4px 6px;margin-left:auto}
.dir-links a{font:500 .92rem/1 var(--d-font);color:var(--text-2);text-decoration:none;padding:9px 11px;border-radius:9px;display:inline-flex;gap:6px;align-items:center}
.dir-links a:hover{color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent)}
.dir-links .ic{width:14px;height:14px}
.err-wrap{min-height:60vh;display:grid;place-items:center;text-align:center;padding:120px 0 80px}
@media (max-width:860px){.app-hero-grid,.feature-grid,.store-grid,.doc-grid{grid-template-columns:1fr}.meta-grid{grid-template-columns:repeat(2,1fr)}.status-strip{grid-template-columns:1fr 1fr}.app-card{flex-wrap:wrap}.app-card .go{display:none}.dir-links{margin-left:0}}
.legal{padding:calc(var(--d-nav-h) + clamp(32px,6vw,72px)) 0 clamp(56px,8vw,96px)}
.legal-body{max-width:72ch}
.legal-body h1{font-size:var(--d-fs-h1);margin:0 0 .45em}
.legal-body .lead{margin:0 0 1.6em}
.legal-body h2{font-size:var(--d-fs-h3);font-weight:700;margin:1.9em 0 .55em}
.legal-body p{margin:0 0 .8em;color:var(--text-2)}
.legal-date{margin-top:2.4em!important;font-size:var(--d-fs-small);color:var(--text-3)!important}
.f-note{margin:16px 0 0;font:400 var(--d-fs-small)/1.5 var(--d-font);color:var(--text-3);max-width:60ch}
.foot-line a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.foot-line a:hover{color:#F0F1F5}
.nw{white-space:nowrap}
