#gcb-root{--gcb-transition:var(--anim-duration-normal) var(--anim-timing-ease)}.gcb-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}.gcb-banner-backdrop{position:fixed;inset:0;z-index:calc(var(--z-popover) + 9);background:rgb(0 0 0/60%);opacity:0;visibility:hidden;transition:opacity var(--gcb-transition),visibility var(--gcb-transition);pointer-events:none}.gcb-banner-backdrop.gcb-banner-backdrop--visible{opacity:1;visibility:visible;pointer-events:auto}.gcb-banner{position:fixed;bottom:0;left:0;right:0;z-index:calc(var(--z-popover) + 10);background:var(--color-bg);color:var(--color-text);border-top:var(--glass-border);box-shadow:0 -4px 24px rgb(0 0 0/8%);max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;transform:translateY(100%);transition:transform var(--gcb-transition);visibility:hidden}.gcb-banner.gcb-banner--visible{transform:translateY(0);visibility:visible}.gcb-banner.gcb-banner--hiding{transform:translateY(100%)}.gcb-banner__inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);max-width:var(--max-width);margin:0 auto;padding:var(--space-5) var(--gutter)}.gcb-banner__content{flex:1 1 340px;min-width:0}.gcb-banner__title{font-family:var(--font-heading);font-size:var(--text-xl);line-height:var(--line-height-normal);margin:0 0 var(--space-2);color:var(--color-text)}.gcb-banner__description{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);margin:0;color:var(--color-muted)}.gcb-banner__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);flex-shrink:0}.gcb-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--btn-padding);min-height:44px;border:var(--btn-border);border-radius:var(--btn-border-radius);cursor:pointer;font-family:var(--font-sans);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);letter-spacing:var(--btn-letter-spacing);text-transform:uppercase;line-height:1.2;text-decoration:none;white-space:nowrap;transition:filter var(--anim-fast),transform var(--anim-fast),box-shadow var(--anim-fast),background var(--anim-fast),color var(--anim-fast),border-color var(--anim-fast);-webkit-font-smoothing:antialiased}.gcb-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gcb-btn--accept{background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:0 2px 8px rgb(var(--color-primary-rgb)/20%)}.gcb-btn--decline{background:#fff9ed;color:var(--color-primary);border:1.5px solid var(--color-primary)}.gcb-btn--purposes{background:transparent;color:var(--color-muted);border:none;min-height:40px;padding:var(--space-2) var(--space-3);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:2px}.gcb-btn--save{background:var(--color-sage-subdued);color:#ffffff;box-shadow:0 2px 8px rgb(var(--color-sage-subdued-rgb)/22%)}@media (hover:hover) and (pointer:fine){.gcb-btn--accept:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 4px 14px rgb(var(--color-primary-rgb)/28%)}.gcb-btn--decline:hover{background:#fff4dd}.gcb-btn--purposes:hover{color:var(--color-primary);background:var(--color-surface-subtle);text-decoration:none}.gcb-btn--save:hover{filter:brightness(1.08);transform:translateY(-1px)}}.gcb-btn--accept:active,.gcb-btn--save:active{transform:translateY(0)}.gcb-purposes{max-height:0;overflow:hidden;transition:max-height .35s var(--anim-timing-ease);border-top:1px solid transparent}.gcb-purposes.gcb-purposes--open{max-height:1600px;border-top-color:var(--color-border)}.gcb-purposes__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter) var(--space-6)}.gcb-purposes__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--divider-subtle)}.gcb-category-row{padding:var(--space-4) 0;border-bottom:var(--divider-subtle)}.gcb-category-row:first-child{padding-top:var(--space-5)}.gcb-category-row:last-of-type{border-bottom:none}.gcb-category-row__header{display:flex;align-items:flex-start;gap:var(--space-4)}.gcb-category-row__info{flex:1 1;min-width:0}.gcb-category-row__name{display:block;font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text);margin-bottom:var(--space-1)}.gcb-always-active{display:inline-block;font-size:var(--badge-font-size-lg);font-weight:var(--badge-font-weight);text-transform:var(--badge-text-transform);letter-spacing:var(--badge-letter-spacing);color:var(--color-sage-subdued);margin-left:var(--space-2);vertical-align:middle}.gcb-category-row__desc{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-muted);margin:var(--space-1) 0 0}.gcb-toggle{position:relative;display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gcb-toggle--required{cursor:default;opacity:.65;pointer-events:none}.gcb-toggle__input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.gcb-toggle__track{position:relative;display:block;width:48px;height:26px;background:var(--color-pre-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);transition:background var(--gcb-transition),border-color var(--gcb-transition)}.gcb-toggle__input:checked~.gcb-toggle__track{background:var(--color-sage-subdued);border-color:var(--color-sage-subdued)}.gcb-toggle__input:focus-visible~.gcb-toggle__track{outline:2px solid var(--color-primary);outline-offset:2px}.gcb-toggle__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgb(0 0 0/18%);transition:transform var(--gcb-transition)}.gcb-toggle__input:checked~.gcb-toggle__track .gcb-toggle__thumb{transform:translateX(22px)}.gcb-cookie-details{margin-top:var(--space-3)}.gcb-cookie-details>summary{display:inline-block;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-muted);cursor:pointer;padding:var(--space-1) 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;text-decoration:underline;text-underline-offset:2px}.gcb-cookie-details>summary::-webkit-details-marker{display:none}.gcb-cookie-details>summary::marker{display:none}@media (hover:hover) and (pointer:fine){.gcb-cookie-details>summary:hover{color:var(--color-primary)}}.gcb-cookie-table{width:100%;border-collapse:collapse;margin-top:var(--space-3);font-size:var(--text-sm)}.gcb-cookie-table td,.gcb-cookie-table th{text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border)}.gcb-cookie-table th{background:var(--color-surface-subtle);font-weight:var(--font-weight-semibold)}.gcb-cookie-table code{font-size:.8125rem;background:var(--color-code-bg);padding:1px 5px;border-radius:var(--radius-subtle)}.gcb-cookie-btn{position:fixed;bottom:var(--space-6);left:var(--space-6);z-index:calc(var(--z-popover) + 5);display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);padding:0;background:var(--category-badge-bg);color:var(--category-badge-text);border:none;border-radius:50%;cursor:pointer;box-shadow:0 4px 16px rgb(var(--color-sage-subdued-rgb)/28%);transition:transform var(--gcb-transition),box-shadow var(--gcb-transition),filter var(--gcb-transition);visibility:hidden;transform:translateY(8px);opacity:0}.gcb-cookie-btn.gcb-cookie-btn--visible{visibility:visible;transform:translateY(0);opacity:1}@media (hover:hover) and (pointer:fine){.gcb-cookie-btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 6px 20px rgb(var(--color-sage-subdued-rgb)/34%)}}.gcb-cookie-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gcb-cookie-btn__icon{font-size:1.125rem;line-height:1}.gcb-overlay{position:fixed;inset:0;z-index:calc(var(--z-modal-backdrop) + 10);background:rgb(0 0 0/45%);opacity:0;visibility:hidden;transition:opacity var(--gcb-transition),visibility var(--gcb-transition)}.gcb-overlay.gcb-overlay--open{opacity:1;visibility:visible}.gcb-modal{position:fixed;inset:0;z-index:calc(var(--z-modal) + 10);display:flex;align-items:center;justify-content:center;padding:var(--space-4);pointer-events:none;visibility:hidden}.gcb-modal.gcb-modal--open{pointer-events:auto;visibility:visible}.gcb-modal__card{background:var(--glass-bg);color:var(--color-text);border:var(--glass-border);border-radius:var(--radius-subtle);box-shadow:var(--shadow-md);width:100%;max-width:560px;height:70vh;max-height:calc(100dvh - var(--space-8));min-height:320px;display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px);opacity:0;transition:transform var(--gcb-transition),opacity var(--gcb-transition)}.gcb-modal--open .gcb-modal__card{transform:translateY(0);opacity:1}.gcb-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:var(--divider-subtle);flex-shrink:0}.gcb-modal__title{font-family:var(--font-heading);font-size:var(--text-xl);line-height:var(--line-height-normal);margin:0;color:var(--color-text)}.gcb-modal__close{margin:-14px -10px}.gcb-modal__body{flex:1 1;overflow-y:auto;padding:var(--space-1) var(--space-6) var(--space-4);overscroll-behavior:contain}.gcb-modal__desc{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-muted);margin:var(--space-4) 0 var(--space-1)}.gcb-modal__footer{justify-content:space-between;padding:var(--space-4) var(--space-6) var(--space-5);border-top:var(--divider-subtle);flex-shrink:0}.gcb-modal__footer,.gcb-modal__footer-right{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}@media (max-width:768px){.gcb-banner__inner{padding:var(--space-4);gap:var(--space-3)}.gcb-banner__actions{width:100%}.gcb-btn--accept,.gcb-btn--decline{flex:1 1 auto}.gcb-btn--purposes{width:100%;text-align:center}.gcb-purposes__inner{padding:0 var(--space-4) var(--space-5)}.gcb-purposes__actions{justify-content:stretch}.gcb-purposes__actions .gcb-btn{flex:1 1 auto}.gcb-modal__footer{flex-direction:column;align-items:stretch}.gcb-modal__footer .gcb-btn--decline{order:3}.gcb-modal__footer-right{order:1;flex-direction:column}.gcb-modal__footer-right .gcb-btn{width:100%}.gcb-cookie-btn{bottom:var(--space-4);left:var(--space-4)}}@media (max-width:380px){.gcb-banner__title{font-size:var(--text-lg)}.gcb-modal__card{max-height:100dvh;border-radius:var(--radius-subtle) var(--radius-subtle) 0 0}.gcb-modal{padding:0;align-items:flex-end}}.info-bubble-root{position:fixed;inset:0;z-index:10050;pointer-events:none}.info-bubble-backdrop{inset:0;border:none;padding:0;margin:0}.info-bubble-backdrop,.info-bubble-dim{position:fixed;z-index:0;background:rgba(0,0,0,.55);cursor:default;pointer-events:auto}.info-bubble-dim{box-sizing:border-box}.info-bubble-target-hit{-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:1;border:none;padding:0;margin:0;background:transparent;cursor:pointer}.info-bubble-callout,.info-bubble-target-hit{position:fixed;box-sizing:border-box;pointer-events:auto}.info-bubble-callout{z-index:2;will-change:transform,opacity;max-width:calc(100vw - 24px);padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-elevated);animation:info-bubble-enter var(--anim-duration-normal) var(--anim-timing-ease-out)}@keyframes info-bubble-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.info-bubble-title{font-family:var(--font-sans);font-size:var(--text-lg);color:var(--color-text);margin:0 0 var(--space-2);line-height:var(--title-h2-line-height)}.info-bubble-body{color:var(--color-muted);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.info-bubble-body,.info-bubble-dismiss{font-family:var(--font-sans);font-size:var(--text-sm)}.info-bubble-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:var(--radius-subtle);padding:var(--space-3) var(--space-4);font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:var(--color-primary);color:var(--color-text);transition:filter var(--anim-fast)}.info-bubble-dismiss:hover{filter:brightness(.95)}.info-bubble-dismiss:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}