.icon {
   width:1.25rem;
   height:1.25rem;
   fill:currentColor;
   display:inline-block;
   vertical-align:middle;
   flex-shrink:0;
}


.icon-sm {
   width:1rem;
   height:1rem;
}


.icon-lg {
   width:1.5rem;
   height:1.5rem;
}


.site-utility-bar {
   background-color:var(--surface);
   border-bottom:1px solid var(--line);
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   display:none;
}


@media (min-width: 1025px) {
   .site-utility-bar {
      display:block;
   }
}


.site-utility-inner {
   display:flex;
   justify-content:space-between;
   align-items:center;
   padding-block:0.5rem;
   gap:1rem;
}


.utility-group {
   display:flex;
   align-items:center;
   gap:1.5rem;
}


.utility-item {
   display:inline-flex;
   align-items:center;
   gap:0.5rem;
   color:var(--ink-soft);
}


.utility-item a {
   color:var(--ink-soft);
}


.utility-item a:hover {
   color:var(--accent);
}


.site-header {
   position:static;
   background-color:var(--ground);
   border-bottom:1px solid var(--line);
   width:100%;
   z-index:50;
}


.site-header-inner {
   display:flex;
   align-items:center;
   justify-content:space-between;
   min-height:var(--header-height);
   padding-block:0.75rem;

   gap:1.5rem;
}


.brand {
   display:inline-flex;
   align-items:center;
   flex-shrink:0;
   max-width:38vw;
}


.brand img {
   height:3.2rem;

   width:auto;
   max-width:100%;
   object-fit:contain;
}


@media (min-width: 1025px) {
   .brand {
      max-width:none;
   }
   .brand img {
      height:3.4rem;
   }
}


.site-nav-desk {
   display:none;
}


@media (min-width: 1025px) {
   .site-nav-desk {
      display:flex;
      align-items:center;
      gap:0.25rem;
   }
}


.nav-link {
   font-family:var(--zice-af3);
   font-size:var(--text-sm);
   font-weight:500;
   color:var(--ink-soft);
   padding:0.5rem 0.85rem;
   border-radius:var(--radius-0);
   border:1px solid transparent;
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}


.nav-link:hover {
   color:var(--ink);
   background-color:var(--surface);
   border-color:var(--line);
}


.nav-link:active {
   background-color:var(--surface-2);
   transform:translateY(1px);
}


.nav-link:focus-visible {
   outline:var(--focus-ring);
   outline-offset:var(--focus-offset);
}


.nav-link[aria-current='page'] {
   color:var(--accent);
   border-bottom-color:var(--accent);
   background-color:var(--surface);
}


.nav-has-mega {
   position:relative;
}


.mega-toggle {
   appearance:none;
   background:none;
   border:1px solid transparent;
   color:var(--ink-soft);
   font-family:var(--zice-af3);
   font-size:var(--text-sm);
   font-weight:500;
   padding:0.5rem 0.85rem;
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}


.mega-toggle:hover {
   color:var(--ink);
   background-color:var(--surface);
   border-color:var(--line);
}


.mega-toggle:active {
   background-color:var(--surface-2);
}


.mega-toggle:focus-visible {
   outline:var(--focus-ring);
   outline-offset:var(--focus-offset);
}


.mega-panel {
   position:absolute;
   top:100%;
   left:0;
   width:720px;
   background-color:var(--surface);
   border:1px solid var(--line);
   box-shadow:0 16px 36px rgba(0, 0, 0, 0.45);
   display:none;
   z-index:100;
   padding:1.5rem;
}


.nav-has-mega:focus-within .mega-panel,
.nav-has-mega[data-open='true'] .mega-panel {
   display:grid;
   grid-template-columns:repeat(2, 1fr);
   gap:1rem;
}


.mega-card {
   display:flex;
   flex-direction:column;
   background-color:var(--ground);
   border:1px solid var(--line);
   padding:1rem;
   transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}


.mega-card:hover {
   border-color:var(--accent);
   background-color:var(--surface-2);
}


.mega-card:active {
   border-color:var(--accent);
   transform:translateY(1px);
}


.mega-card:focus-visible {
   outline:var(--focus-ring);
}


.mega-card-title {
   font-family:var(--zice-04d);
   font-size:var(--text-base);
   font-weight:600;
   color:var(--ink);
   display:flex;
   align-items:center;
   justify-content:space-between;
   margin-bottom:0.35rem;
}


.mega-card-rate {
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   color:var(--accent);
}


.mega-card-desc {
   font-size:var(--text-xs);
   color:var(--ink-soft);
   line-height:1.5;
}


.header-actions {
   display:none;
}


@media (min-width: 1025px) {
   .header-actions {
      display:flex;
      align-items:center;
      gap:0.75rem;
   }
}


:root {
   --control-height:48px;
   --control-radius:var(--radius-0);
}


.btn {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   gap:0.5rem;
   font-family:var(--zice-af3);
   font-size:var(--text-sm);
   font-weight:600;
   line-height:1;
   padding:0 1.5rem;
   min-height:var(--control-height);
   height:var(--control-height);
   border-radius:var(--control-radius);
   border:1px solid transparent;
   box-shadow:none;
   text-decoration:none;
   cursor:pointer;
   white-space:nowrap;
   transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);
}


.btn-primary {
   background-color:var(--accent);
   color:var(--accent-ink);
   border-color:var(--accent);
}


.btn-primary:hover {
   background-color:#5ED2EE;
   border-color:#5ED2EE;
   color:var(--accent-ink);
}


.btn-primary:active {
   background-color:#26A5C4;
   border-color:#26A5C4;
   transform:translateY(1px);
}


.btn-primary:focus-visible {
   outline:var(--focus-ring);
   outline-offset:var(--focus-offset);
}


.btn-secondary {
   background-color:var(--surface);
   color:var(--ink);
   border-color:var(--line);
}


.btn-secondary:hover {
   background-color:var(--surface-2);
   border-color:var(--ink-soft);
   color:var(--ink);
}


.btn-secondary:active {
   background-color:var(--ground);
   transform:translateY(1px);
}


.btn-secondary:focus-visible {
   outline:var(--focus-ring);
   outline-offset:var(--focus-offset);

}


.btn-ghost {
   background-color:transparent;
   color:var(--ink);
   border-color:var(--line);
}


.btn-ghost:hover {
   border-color:var(--accent);
   color:var(--accent);
   background-color:rgba(53, 196, 230, 0.05);
}


.btn-ghost:active {
   background-color:rgba(53, 196, 230, 0.1);
   transform:translateY(1px);
}


.btn-ghost:focus-visible {
   outline:var(--focus-ring);
   outline-offset:var(--focus-offset);
}


.phone-dock {
   position:fixed;
   inset:auto 0 0 0;
   width:100%;
   height:var(--dock-height);
   background-color:var(--surface);
   border-top:1px solid var(--line);
   z-index:1000;
   padding-bottom:env(safe-area-inset-bottom, 0px);
   display:flex;
}


@media (min-width: 1025px) {
   .phone-dock {
      display:none;
   }
}


.dock-item {
   flex:1 1 0;
   display:flex;
   flex-direction:column;
   align-items:center;
   justify-content:center;
   gap:0.2rem;
   padding:0.35rem 0.25rem;
   color:var(--ink-soft);
   text-decoration:none;
   min-height:44px;
   appearance:none;
   background:none;
   border:0;
   font:inherit;
   transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}


.dock-item:hover {
   color:var(--ink);
}


.dock-item:active {
   background-color:var(--surface-2);
}


.dock-item:focus-visible {
   outline:var(--focus-ring);
   outline-offset:-2px;
}


.dock-item[aria-current='page'] {
   color:var(--accent);
}


.dock-label {
   font-family:var(--zice-af3);
   font-size:11px;
   line-height:1;
   font-weight:500;
   white-space:nowrap;
}


.dock-menu-sheet {
   position:fixed;
   inset:0;
   background-color:rgba(14, 20, 36, 0.85);
   backdrop-filter:blur(8px);
   z-index:1001;
   display:none;
   align-items:flex-end;
}


.dock-menu-sheet[data-open='true'] {
   display:flex;
}


.dock-menu-content {
   width:100%;
   max-height:85vh;
   overflow-y:auto;
   background-color:var(--surface);
   border-top:1px solid var(--line);
   padding:1.5rem;
   display:flex;
   flex-direction:column;
   gap:1.5rem;
}


.dock-menu-header {
   display:flex;
   align-items:center;
   justify-content:space-between;
   border-bottom:1px solid var(--line);
   padding-bottom:1rem;
}


.dock-menu-close {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   padding:0.5rem;
   color:var(--ink);
   border:1px solid var(--line);
   background-color:var(--surface-2);
   min-height:44px;
   min-width:44px;
   transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);
}


.dock-menu-close:hover {
   border-color:var(--accent);
   color:var(--accent);
}


.dock-menu-close:active {
   transform:translateY(1px);
}


.dock-menu-close:focus-visible {
   outline:var(--focus-ring);
}


.dock-menu-list {
   list-style:none;
   padding:0;
   display:flex;
   flex-direction:column;
   gap:0.5rem;
}


.dock-menu-link {
   display:flex;
   align-items:center;
   justify-content:space-between;
   padding:0.75rem 1rem;
   font-family:var(--zice-04d);
   font-size:var(--text-md);
   color:var(--ink);
   border:1px solid var(--line);
   background-color:var(--ground);
   text-decoration:none;
   transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}


.dock-menu-link:hover {
   border-color:var(--accent);
   background-color:var(--surface-2);
   color:var(--accent);
}


.dock-menu-link:active {
   transform:translateY(1px);
}


.dock-menu-link:focus-visible {
   outline:var(--focus-ring);
}


.dock-menu-link[aria-current='page'] {
   border-color:var(--accent);
   color:var(--accent);
}


.card {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-radius:var(--radius-0);
   padding:var(--space-md);
   display:flex;
   flex-direction:column;
   position:relative;
}


.card-technical {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-left:3px solid var(--line);
   padding:var(--space-xl) var(--space-lg);
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
   position:relative;
   box-shadow:0 12px 32px rgba(0, 0, 0, 0.28);
   transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}


.card-technical:hover {
   border-color:var(--line);
   border-left-color:var(--accent);
   background-color:var(--surface-2);
}


.card-technical-head {
   display:flex;
   justify-content:space-between;
   align-items:baseline;
   border-bottom:1px solid var(--line);
   padding-bottom:0.75rem;
   margin-bottom:0.5rem;
}


.card-technical-price {
   font-family:var(--zice-8dc);
   font-size:var(--text-sm);
   color:var(--accent);
   font-weight:500;
}


.card-technical h3 {
   font-size:var(--text-lg);
   color:var(--ink);
}


.card-technical p {
   color:var(--ink-soft);
   font-size:var(--text-sm);
   line-height:1.6;
}


.card-technical-meta {
   margin-top:auto;
   padding-top:var(--space-sm);
   border-top:1px dashed var(--line);
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   color:var(--ink-soft);
   display:flex;
   justify-content:space-between;
   align-items:center;
}


@media (pointer: coarse) {
   .card-technical-meta a {
      min-height:44px;
      display:inline-flex;
      align-items:center;
   }
}


.data-ledger {
   width:100%;
   border:1px solid var(--line);
   background-color:var(--surface);
   border-radius:var(--radius-0);
   overflow:hidden;
}


.data-ledger th {
   background-color:var(--surface-2);
   color:var(--ink);
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   text-transform:uppercase;
   letter-spacing:0.05em;
   padding:0.75rem 1rem;
   border-bottom:1px solid var(--line);
   border-right:1px solid var(--line);
}


.data-ledger th:last-child {
   border-right:none;
}


.data-ledger td {
   padding:0.85rem 1rem;
   border-bottom:1px solid var(--line);
   border-right:1px solid var(--line);
   color:var(--ink-soft);
   font-size:var(--text-sm);
}


.data-ledger td:last-child {
   border-right:none;
}


.data-ledger tr:last-child td {
   border-bottom:none;
}


.data-ledger tr:hover td {
   background-color:rgba(53, 196, 230, 0.04);
   color:var(--ink);
}


.data-ledger .col-highlight {
   color:var(--accent);
   font-family:var(--zice-8dc);
}


.spec-list {
   list-style:none;
   padding:0;
   margin:0;
   display:flex;
   flex-direction:column;
}


.spec-item {
   display:flex;
   align-items:baseline;
   justify-content:space-between;
   padding-block:0.75rem;
   border-bottom:1px solid var(--line);
   font-size:var(--text-sm);
   gap:1rem;
}


.spec-item:last-child {
   border-bottom:none;
}


.spec-key {
   color:var(--ink-soft);
   font-family:var(--zice-af3);
}


.spec-val {
   color:var(--ink);
   font-family:var(--zice-8dc);
   font-weight:500;
   text-align:right;
}


.form-group {
   display:flex;
   flex-direction:column;
   gap:0.4rem;
   margin-bottom:var(--space-md);
}


.form-label {
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   text-transform:uppercase;
   letter-spacing:0.06em;
   color:var(--ink-soft);
   display:flex;
   align-items:center;
   justify-content:space-between;
}


.form-label-optional {
   font-family:var(--zice-8dc);
   text-transform:none;
   font-size:var(--text-xs);
   color:var(--ink-soft);
   opacity:0.75;
}


.form-input,
.form-select,
.form-textarea {
   background-color:var(--ground);
   border:1px solid var(--line);
   border-radius:var(--control-radius);
   box-shadow:none;
   color:var(--ink);
   padding:0 1rem;
   font-size:var(--text-base);
   font-family:var(--zice-af3);
   width:100%;
   height:var(--control-height);
   min-height:var(--control-height);
   box-sizing:border-box;
   transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}


.form-textarea {
   height:auto;
   min-height:120px;
   padding:0.75rem 1rem;
}


@media (max-width: 48rem) {
   input, select, textarea {
      font-size:max(16px, 1rem) !important;
   }
}


.form-textarea {
   min-height:120px;
   resize:vertical;
}


.form-input:hover,
.form-select:hover,
.form-textarea:hover {
   border-color:var(--ink-soft);
}


.form-input:focus,
.form-select:focus,
.form-textarea:focus {
   outline:none;
   border-color:var(--accent);
   background-color:var(--surface);
}


.form-input[aria-invalid='true'],
.form-textarea[aria-invalid='true'] {
   border-color:#FF5C7C;
}


.form-error {
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   color:#FF5C7C;
   display:none;
   margin-top:0.25rem;
}


.form-input[aria-invalid='true'] + .form-error,
.form-error.is-visible {
   display:block;
}


.form-checkbox-label {
   display:grid;
   grid-template-columns:20px 1fr;
   align-items:start;
   gap:0.75rem;
   font-size:var(--text-sm);
   color:var(--ink-soft);
   cursor:pointer;
}


.form-checkbox-label input[type='checkbox'] {
   width:18px;
   height:18px;
   margin-top:0.2rem;
   accent-color:var(--accent);
   border:1px solid var(--line);
   border-radius:0;
   cursor:pointer;
}


.form-checkbox-label input[type='checkbox']:focus-visible {
   outline:var(--focus-ring);
}


.tag-badge {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   padding:0.25rem 0.6rem;
   background-color:var(--surface-2);
   border:1px solid var(--line);
   color:var(--ink);
   border-radius:var(--radius-0);
   line-height:1;
}


.tag-badge-accent {
   background-color:rgba(53, 196, 230, 0.1);
   border-color:var(--accent);
   color:var(--accent);
}


.site-footer {
   background-color:var(--surface);
   border-top:1px solid var(--line);
   margin-top:auto;
   padding-top:var(--space-lg);
   padding-bottom:var(--space-md);
}


.footer-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-lg);
   margin-bottom:var(--space-lg);
}


@media (min-width: 768px) {
   .footer-grid {
      grid-template-columns:repeat(2, 1fr);
   }
}


@media (min-width: 900px) {
   .footer-grid {
      grid-template-columns:2fr 1fr 1fr 1.5fr;
   }
}


.footer-brand {
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
}


.footer-brand .brand img {
   height:3.6rem;
}


.footer-brand p {
   font-size:var(--text-sm);
   color:var(--ink-soft);
   max-width:38ch;
}


.footer-col-title {
   font-family:var(--zice-8dc);
   font-size:var(--text-xs);
   text-transform:uppercase;
   letter-spacing:0.08em;
   color:var(--ink);
   margin-bottom:var(--space-sm);
}


.footer-links {
   list-style:none;
   padding:0;
   margin:0;
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}


.footer-links a {
   font-size:var(--text-sm);
   color:var(--ink-soft);
   display:inline-block;
   padding-block:0.25rem;
   transition:color var(--duration-fast) var(--ease-out);
}


.footer-links a:hover {
   color:var(--accent);
}


@media (pointer: coarse) {
   .footer-links a {
      min-height:44px;
      display:inline-flex;
      align-items:center;
   }
}


.footer-contact-block {
   display:flex;
   flex-direction:column;
   gap:0.5rem;
   font-size:var(--text-sm);
   color:var(--ink-soft);
}


.footer-contact-item {
   display:flex;
   align-items:flex-start;
   gap:0.6rem;
}


.footer-contact-item a {
   color:var(--ink-soft);
   display:inline-flex;
   align-items:center;
}


.footer-contact-item a:hover {
   color:var(--accent);
}


@media (pointer: coarse) {
   .footer-contact-item a {
      min-height:44px;
   }
}


.footer-legal-bar {
   border-top:1px solid var(--line);
   padding-top:var(--space-md);
   display:flex;
   flex-direction:column;
   gap:1rem;
   font-size:var(--text-xs);
   color:var(--ink-soft);
}


@media (min-width: 768px) {
   .footer-legal-bar {
      flex-direction:row;
      justify-content:space-between;
      align-items:center;
   }
}


.footer-legal-links {
   display:flex;
   flex-wrap:wrap;
   gap:1rem;
}


.footer-legal-links a {
   color:var(--ink-soft);
   display:inline-flex;
   align-items:center;
}


@media (pointer: coarse) {
   .footer-legal-links a,
   .btn-reopen-consent {
      min-height:44px;
   }
}


@media (pointer: coarse) {
   .cookie-ledger-table td a,
   .privacy-glance-val a,
   .card-technical a,
   .spec-val a {
      min-height:44px;
      display:inline-flex;
      align-items:center;
   }
}


.footer-legal-links a:hover {
   color:var(--accent);
}


.btn-reopen-consent {
   background:none;
   border:1px solid transparent;
   border-radius:var(--control-radius);
   box-shadow:none;
   padding:0 0.5rem;
   min-height:var(--control-height);
   height:var(--control-height);
   display:inline-flex;
   align-items:center;
   font-family:inherit;
   font-size:var(--text-xs);
   color:var(--ink-soft);
   text-decoration:underline;
   cursor:pointer;
   transition:color var(--duration-fast) var(--ease-out);
}


.btn-reopen-consent:hover {
   color:var(--accent);
}


.btn-reopen-consent:focus-visible {
   outline:var(--focus-ring);
}


.cookie-banner {
   position:fixed;
   bottom:0;
   left:0;
   right:0;
   background-color:var(--surface);
   border-top:1px solid var(--line);
   box-shadow:0 -8px 24px rgba(0, 0, 0, 0.4);
   z-index:1050;
   padding-block:0.85rem;
   padding-bottom:calc(0.85rem + env(safe-area-inset-bottom, 0px));
}


@media (max-width: 1024px) {
   .cookie-banner {
      bottom:var(--dock-height);
      padding-bottom:0.85rem;
   }
}


.cookie-banner[hidden] {
   display:none !important;
}


.cookie-banner-inner {
   display:flex;
   flex-direction:column;
   gap:0.75rem;
}


@media (min-width: 768px) {
   .cookie-banner-inner {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
   }
}


.cookie-banner-text {
   font-size:var(--text-xs);
   line-height:1.45;
   color:var(--ink-soft);
}


.cookie-banner-text a {
   color:var(--accent);
   text-decoration:underline;
}


.cookie-banner-actions {
   display:flex;
   align-items:center;
   gap:0.5rem;
   flex-shrink:0;
}


.btn-consent {
   padding:0 1.25rem;
   font-size:var(--text-xs);
   height:var(--control-height);
   min-height:var(--control-height);
   font-family:var(--zice-af3);
   font-weight:600;
   border-radius:var(--control-radius);
   box-shadow:none;
   cursor:pointer;
   border:1px solid transparent;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);
}


.btn-consent-accept {
   background-color:var(--accent);
   color:var(--accent-ink);
   border-color:var(--accent);
}


.btn-consent-accept:hover {
   background-color:#5ED2EE;
   border-color:#5ED2EE;
}


.btn-consent-accept:active {
   background-color:#26A5C4;
}


.btn-consent-accept:focus-visible {
   outline:var(--focus-ring);
}


.btn-consent-decline {
   background-color:var(--ground);
   color:var(--ink-soft);
   border-color:var(--line);
}


.btn-consent-decline:hover {
   color:var(--ink);
   border-color:var(--ink-soft);
}


.btn-consent-decline:active {
   background-color:var(--surface-2);
}


.btn-consent-decline:focus-visible {
   outline:var(--focus-ring);
}


.chat-launcher {
   position:fixed;
   bottom:calc(var(--dock-height) + 1rem);
   right:1.25rem;
   z-index:1040;
   display:flex;
   align-items:center;
   justify-content:center;
   width:52px;
   height:52px;
   background-color:var(--accent);
   color:var(--accent-ink);
   border:1px solid var(--accent);
   border-radius:var(--radius-0);
   cursor:pointer;
   box-shadow:0 4px 16px rgba(0, 0, 0, 0.35);
   transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}


@media (min-width: 1025px) {
   .chat-launcher {
      bottom:1.5rem;
      right:1.5rem;
   }
}


.chat-launcher:hover {
   background-color:#5ED2EE;
   border-color:#5ED2EE;
   transform:translateY(-2px);
}


.chat-launcher:active {
   background-color:#26A5C4;
   border-color:#26A5C4;
   transform:translateY(0);
}


.chat-launcher:focus-visible {
   outline:var(--focus-ring);
   outline-offset:3px;
}


.chat-launcher-badge {
   position:absolute;
   top:-4px;
   right:-4px;
   background-color:#FF5C7C;
   color:#FFF;
   font-family:var(--zice-8dc);
   font-size:10px;
   font-weight:700;
   padding:0.15rem 0.35rem;
   line-height:1;
   border-radius:0;
   border:1px solid var(--ground);
}


.chat-panel {
   position:fixed;
   bottom:calc(var(--dock-height) + 1rem);
   right:1.25rem;
   width:calc(100vw - 2.5rem);
   max-width:380px;
   height:520px;
   max-height:75vh;
   background-color:var(--surface);
   border:1px solid var(--line);
   box-shadow:0 16px 40px rgba(0, 0, 0, 0.5);
   z-index:1045;
   display:flex;
   flex-direction:column;
}


@media (min-width: 1025px) {
   .chat-panel {
      bottom:1.5rem;
      right:1.5rem;
   }
}


.chat-panel[hidden] {
   display:none !important;
}


.chat-panel-header {
   display:flex;
   align-items:center;
   justify-content:space-between;
   padding:0.85rem 1rem;
   background-color:var(--surface-2);
   border-bottom:1px solid var(--line);
}


.chat-panel-title {
   font-family:var(--zice-04d);
   font-size:var(--text-sm);
   font-weight:600;
   color:var(--ink);
   display:flex;
   align-items:center;
   gap:0.5rem;
}


.chat-status-dot {
   width:8px;
   height:8px;
   background-color:#2ECC71;
   display:inline-block;
}


.chat-close-btn {
   background:none;
   border:none;
   color:var(--ink-soft);
   cursor:pointer;
   padding:0.25rem;
   display:inline-flex;
   transition:color var(--duration-fast) var(--ease-out);
}


.chat-close-btn:hover {
   color:var(--accent);
}


.chat-close-btn:active {
   transform:translateY(1px);
}


.chat-close-btn:focus-visible {
   outline:var(--focus-ring);
}


.chat-messages {
   flex:1 1 auto;
   overflow-y:auto;
   padding:1rem;
   display:flex;
   flex-direction:column;
   gap:0.75rem;
}


.chat-msg {
   display:flex;
   flex-direction:column;
   gap:0.25rem;
   max-width:85%;
}


.chat-msg-operator {
   align-self:flex-start;
}


.chat-msg-visitor {
   align-self:flex-end;
}


.chat-msg-bubble {
   padding:0.65rem 0.85rem;
   font-size:var(--text-xs);
   line-height:1.45;
   border:1px solid var(--line);
}


.chat-msg-operator .chat-msg-bubble {
   background-color:var(--surface-2);
   color:var(--ink);
}


.chat-msg-visitor .chat-msg-bubble {
   background-color:var(--accent);
   color:var(--accent-ink);
   border-color:var(--accent);
}


.chat-msg-meta {
   font-family:var(--zice-8dc);
   font-size:10px;
   color:var(--ink-soft);
}


.chat-msg-visitor .chat-msg-meta {
   text-align:right;
}


.chat-form {
   border-top:1px solid var(--line);
   padding:0.75rem 1rem;
   display:flex;
   gap:0.5rem;
   background-color:var(--surface);
}


.chat-input {
   flex:1;
   background-color:var(--ground);
   border:1px solid var(--line);
   color:var(--ink);
   padding:0.5rem 0.75rem;
   font-size:var(--text-xs);
}


.chat-input:focus {
   outline:none;
   border-color:var(--accent);
}


.chat-send-btn {
   background-color:var(--accent);
   color:var(--accent-ink);
   border:1px solid var(--accent);
   padding:0.5rem 0.75rem;
   cursor:pointer;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   transition:background-color var(--duration-fast) var(--ease-out);
}


.chat-send-btn:hover {
   background-color:#5ED2EE;
}


.chat-send-btn:active {
   background-color:#26A5C4;
}


.chat-send-btn:focus-visible {
   outline:var(--focus-ring);
}


.chat-onboarding {
   padding:1rem;
   display:flex;
   flex-direction:column;
   gap:0.75rem;
   font-size:var(--text-xs);
   color:var(--ink-soft);
}


.chat-onboarding p {
   font-size:var(--text-xs);
   color:var(--ink);
}


.chat-onboarding input {
   background-color:var(--ground);
   border:1px solid var(--line);
   color:var(--ink);
   padding:0.5rem;
   font-size:var(--text-xs);
}


.chat-onboarding input:focus {
   outline:none;
   border-color:var(--accent);
}
