/* Cookie同意だけを扱い、本文と初回イントロのデザインを維持する。 */
.analytics-choice { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:100; width:min(440px,calc(100vw - 48px)); max-height:calc(100dvh - 48px); overflow-y:auto; padding:24px; border:1px solid #dce3df; border-radius:6px; background:#fff; color:#17243a; box-shadow:0 6px 28px #17243a1a; font:400 13px/1.8 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif; }
.analytics-choice[hidden],.analytics-choice [hidden] { display:none!important; }
.analytics-choice h2 { margin:0 32px 12px 0; font:700 16px/1.5 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif; color:inherit; }
.analytics-choice p { margin:0; }
.analytics-choice a { color:#286452; text-decoration:underline; text-underline-offset:3px; }
.analytics-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.analytics-actions button { min-height:44px; padding:10px 12px; border:1px solid #286452; border-radius:4px; background:#fff; color:#286452; font:inherit; font-weight:700; line-height:1.5; cursor:pointer; }
.analytics-actions button:hover { background:#eef4f1; }
.analytics-choice .analytics-close { position:absolute; top:8px; right:8px; width:40px; height:40px; padding:0; border:0; background:transparent; color:#5c6878; font:400 24px/1 sans-serif; cursor:pointer; }
.analytics-choice .analytics-status { margin-top:12px; color:#5c6878; font-size:11px; }
.site-footer .analytics-settings { display:inline; margin:0; padding:0; border:0; border-radius:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.site-footer .analytics-settings:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.analytics-choice button:focus-visible,.analytics-choice a:focus-visible,.analytics-settings:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.intro-active .analytics-choice { visibility:hidden; }
@media(max-width:600px) { .analytics-choice { right:12px; bottom:max(12px,env(safe-area-inset-bottom)); width:calc(100vw - 24px); padding:20px; max-height:calc(100dvh - 24px); } }
