:root{--gps-p:#1a1a2e;--gps-a:#e94560;--gps-w:#fff;--gps-bg:rgba(26,26,46,.97);--gps-r:10px}#gps-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999997;opacity:0;transition:opacity .3s;pointer-events:none}#gps-overlay.gps-visible{opacity:1;pointer-events:all}#gps-banner{position:fixed;left:0;right:0;z-index:999998;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.5;opacity:0;transform:translateY(30px);transition:opacity .4s ease,transform .4s ease;pointer-events:none}#gps-banner.gps-visible{opacity:1;transform:none;pointer-events:all}#gps-banner.gps-pos-bottom{bottom:0}#gps-banner.gps-pos-top{top:0}#gps-banner.gps-pos-center{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%) scale(.96);width:580px;max-width:calc(100vw - 40px)}#gps-banner.gps-pos-center.gps-visible{transform:translate(-50%,-50%) scale(1)}.gps-inner{background:var(--gps-bg);backdrop-filter:blur(12px);color:var(--gps-w);padding:22px 28px;box-shadow:0 -4px 30px rgba(0,0,0,.25)}.gps-pos-bottom .gps-inner{border-radius:var(--gps-r) var(--gps-r) 0 0}.gps-pos-top .gps-inner{border-radius:0 0 var(--gps-r) var(--gps-r)}.gps-pos-center .gps-inner{border-radius:var(--gps-r)}.gps-layout-bar .gps-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.gps-layout-bar .gps-text{flex:1;min-width:200px}.gps-layout-bar .gps-btns{display:flex;gap:10px;flex-shrink:0}.gps-layout-box .gps-inner{max-width:420px;margin:0 auto 20px}.gps-layout-box .gps-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.gps-layout-panel .gps-inner{max-width:700px;margin:0 auto}.gps-title{font-size:16px;font-weight:700;margin:0 0 6px;display:flex;align-items:center;gap:8px}.gps-desc{margin:0;color:rgba(255,255,255,.8);font-size:13px}.gps-desc a{color:var(--gps-a);text-decoration:underline}.gps-categories{margin:16px 0 0}.gps-cat-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.gps-cat-row:first-child{border-top:none}.gps-cat-info{flex:1}.gps-cat-name{font-weight:600;font-size:13px}.gps-cat-desc{font-size:12px;color:rgba(255,255,255,.6);margin:2px 0 0}.gps-toggle{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.gps-toggle input{opacity:0;width:0;height:0}.gps-slider{position:absolute;inset:0;cursor:pointer;background:rgba(255,255,255,.2);border-radius:24px;transition:background .25s}.gps-slider:before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .25s}.gps-toggle input:checked+.gps-slider{background:var(--gps-a)}.gps-toggle input:checked+.gps-slider:before{transform:translateX(18px)}.gps-toggle input:disabled+.gps-slider{opacity:.5;cursor:not-allowed}.gps-btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:13px;font-weight:600;transition:opacity .2s,transform .1s;white-space:nowrap;font-family:inherit}.gps-btn:hover{opacity:.88;transform:translateY(-1px)}.gps-btn:active{transform:translateY(0)}.gps-btn--accept{background:var(--gps-a);color:#fff}.gps-btn--reject{background:rgba(255,255,255,.15);color:#fff}.gps-btn--custom{background:0 0;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.3);font-size:12px}.gps-btn--save{background:var(--gps-a);color:#fff}.gps-btn--expand{background:0 0;color:rgba(255,255,255,.6);font-size:12px;padding:6px 0;border:none;text-decoration:underline;cursor:pointer;font-family:inherit}.gps-btns-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}.gps-custom-panel{overflow:hidden;max-height:0;transition:max-height .4s ease}.gps-custom-panel.gps-open{max-height:600px}#gps-reopen-banner{position:fixed;bottom:20px;left:20px;z-index:999996;background:var(--gps-p);color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s;display:none}#gps-reopen-banner:hover{transform:scale(1.1);box-shadow:0 5px 18px rgba(0,0,0,.3)}@media (max-width:600px){.gps-layout-bar .gps-inner{flex-direction:column;align-items:stretch}.gps-layout-bar .gps-btns{flex-direction:column}.gps-btn{text-align:center}#gps-banner.gps-pos-center{width:calc(100vw - 32px);top:auto;bottom:16px;left:50%;transform:translateX(-50%)}#gps-banner.gps-pos-center.gps-visible{transform:translateX(-50%)}}