.gdc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;
         border:1px solid #ffffff;border-radius:var(--r,3px);background:none;color:var(--ink);
         font:500 14px/1 var(--sans);white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s}
.gdc-btn--solid{background: #632a00;color:var(--paper)}
.gdc-btn--solid:hover{background:var(--brand);border-color:var(--brand)}
.gdc-btn--line:hover{background:var(--sunk)}
.gdc-btn--text{border-color:transparent;padding:0 6px;text-decoration:underline;text-underline-offset:3px}
.gdc-btn--text:hover{color:var(--brand)}
.gdc-link{color:var(--brand);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}

.gdc-banner{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;gap:16px;
            padding:8px max(20px,calc((100% - var(--max,1240px)) / 2));background:var(--card);
            background:color-mix(in oklch,var(--card) 70%,transparent);
            -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
            border-top:2px solid var(--brand);box-shadow:0 -4px 16px oklch(19.4% .006 56 / .08);
            animation:gdc-up .28s cubic-bezier(.2,.7,.3,1)}
.gdc-banner__text{flex:1;min-width:0;font-size:12px;line-height:1.6;color:var(--ink-2)}
.gdc-banner__actions{display:flex;align-items:center;gap:8px;flex:none}
.gdc-banner .gdc-btn{min-height:30px;padding:0 12px;font-size:12.5px}
.gdc-banner .gdc-btn--text{padding:0 4px}
.gdc-banner__close{width:28px;height:28px;margin-right:-6px}
.gdc-banner__close::before,.gdc-banner__close::after{left:8px;top:13px;width:12px}
@keyframes gdc-up{from{transform:translateY(100%)}to{transform:none}}

.gdc-dialog{position:fixed;inset:0;margin:auto;width:min(600px,calc(100% - 32px));max-height:min(760px,calc(100% - 48px));
            padding:0;border:0;border-radius:6px;background:var(--card);color:var(--ink);
            box-shadow:0 20px 60px oklch(12% .008 40 / .3);font-family:var(--sans)}
.gdc-dialog[open]{display:flex;flex-direction:column}
.gdc-dialog::backdrop{background:var(--overlay,oklch(12% .008 40 / .72))}
.gdc-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;
                  border-bottom:1px solid var(--line)}
.gdc-dialog__title{font:700 20px/1.3 var(--serif)}
.gdc-close{position:relative;width:32px;height:32px;border:0;border-radius:50%;background:none;cursor:pointer;flex:none}
.gdc-close:hover{background:var(--sunk)}
.gdc-close::before,.gdc-close::after{content:"";position:absolute;left:8px;top:15px;width:16px;height:1.5px;background:var(--ink)}
.gdc-close::before{transform:rotate(45deg)}
.gdc-close::after{transform:rotate(-45deg)}
.gdc-dialog__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 24px 6px}
.gdc-intro{font-size:13px;line-height:1.8;color:var(--ink-2)}
.gdc-note{margin-top:10px;padding:8px 12px;background:var(--sunk);border-left:3px solid var(--amber);
          font-size:12px;line-height:1.7;color:var(--ink-2)}
.gdc-dialog__foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--line);
                  background:var(--paper)}

.gdc-cat{padding:16px 0;border-top:1px solid var(--line)}
.gdc-cat:first-of-type{margin-top:16px}
.gdc-cat__row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gdc-cat__name{font:700 15px/1.4 var(--sans);cursor:pointer}
.gdc-cat__always{font-size:12px;font-weight:500;color:var(--brand)}
.gdc-cat__desc{margin-top:6px;font-size:13px;line-height:1.75;color:var(--ink-2)}
.gdc-cat__more{margin-top:8px}
.gdc-cat__more summary{display:inline-block;font-size:12px;color:var(--ink-2);cursor:pointer;
                       text-decoration:underline;text-underline-offset:2px}
.gdc-cat__more summary::-webkit-details-marker{display:none}
.gdc-cat__more summary:hover{color:var(--brand)}
.gdc-table{width:100%;margin-top:8px;border-collapse:collapse;font-size:12px;line-height:1.6}
.gdc-table th,.gdc-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.gdc-table th{background:var(--sunk);font-weight:500;color:var(--ink-2)}
.gdc-table__name{font-family:ui-monospace,Consolas,monospace;white-space:nowrap}
.gdc-table__exp{white-space:nowrap;color:var(--ink-2)}

.gdc-switch{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:42px;height:24px;margin:0;
            border-radius:12px;background:var(--line-2);cursor:pointer;transition:background-color .15s}
.gdc-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
                   background:#fff;box-shadow:0 1px 2px oklch(12% .008 40 / .3);transition:transform .15s}
.gdc-switch:checked{background:var(--brand)}
.gdc-switch:checked::after{transform:translateX(18px)}

@media (max-width:760px){
  .gdc-banner{flex-wrap:wrap;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .gdc-banner__text{flex:1 1 0;font-size:11.5px;line-height:1.55}
  .gdc-banner__close{order:2;align-self:flex-start;margin:-2px -4px 0 0}
  .gdc-banner__actions{order:3;flex:1 1 100%;display:grid;grid-template-columns:auto 1fr 1fr;gap:8px}

  .gdc-dialog{inset:auto 0 0;width:100%;max-width:100%;max-height:88vh;border-radius:12px 12px 0 0}
  .gdc-dialog__head{padding:14px 16px}
  .gdc-dialog__title{font-size:18px}
  .gdc-dialog__body{padding:14px 16px 4px}
  .gdc-dialog__foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;
                    padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .gdc-dialog__foot .gdc-btn--solid{grid-column:1 / -1}
  .gdc-table__name{white-space:normal;word-break:break-all}
}

@media (prefers-reduced-motion:reduce){
  .gdc-banner{animation:none}
  .gdc-switch,.gdc-switch::after,.gdc-btn{transition:none}
}
@media print{.gdc-banner,.gdc-dialog{display:none!important}}
