:root { color-scheme: light; --paper:#fff; --ink:#1d1d1f; --muted:#515154; --blue:#0067cf; --rule:#d2d2d7; --wash:#f5f5f7; }
.gm-reading, .gm-document { color:var(--ink); font-family:'Zen Kaku Gothic New','Yu Gothic',sans-serif; line-height:1.9; text-align:left; }
.gm-reading { max-width:760px; margin:16px auto 48px; padding:32px 28px; border-top:3px solid var(--blue); background:var(--paper); }
.gm-reading h2 { margin:0 0 16px; font-size:1.6rem; line-height:1.45; }
.gm-reading p { margin:0 0 16px; }
.gm-reading a, .gm-document a { color:var(--blue); text-underline-offset:4px; }
.gm-reading nav { display:flex; flex-wrap:wrap; gap:12px 24px; }
.gm-document { margin:0; background:var(--wash); }
.gm-doc-wrap { max-width:820px; margin:auto; padding:28px 24px 64px; }
.gm-doc-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center; margin-bottom:28px; }
.gm-doc-head .brand { font:800 1.3rem 'Sora',sans-serif; color:var(--ink); text-decoration:none; }
.gm-doc-head nav { display:flex; gap:12px 20px; flex-wrap:wrap; font-size:.9rem; }
.gm-document article { background:var(--paper); padding:clamp(24px,5vw,48px); border:1px solid #e3e3e8; border-radius:18px; }
.gm-document h1 { font-size:clamp(1.8rem,4.5vw,2.4rem); line-height:1.4; margin:0 0 20px; letter-spacing:.01em; }
.gm-document h2 { font-size:1.35rem; line-height:1.5; margin:42px 0 16px; padding-top:24px; border-top:1px solid var(--rule); }
.gm-document h3 { font-size:1.1rem; margin:26px 0 10px; }
.gm-document p { margin:0 0 18px; }
.gm-document .meta { color:var(--muted); font-size:.85rem; }
.gm-document .worksheet { padding:18px 22px; border-left:4px solid var(--blue); background:#f2f7fc; margin:24px 0; }
.gm-document ul,.gm-document ol { padding-left:1.5em; }
.gm-document li { margin:8px 0; }
.gm-document .table-wrap { overflow-x:auto; }
.gm-document table { width:100%; border-collapse:collapse; font-size:.9rem; font-variant-numeric:tabular-nums; }
.gm-document th,.gm-document td { border-bottom:1px solid var(--rule); padding:12px 8px; text-align:left; }
.gm-document th { background:var(--wash); }
.gm-document footer { margin-top:28px; font-size:.85rem; }
.gm-document footer nav { display:flex; flex-wrap:wrap; gap:16px; }
.gm-reading a:focus-visible,.gm-document a:focus-visible,.gm-consent button:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.gm-consent { position:fixed; z-index:1000; bottom:0; left:0; right:0; padding:16px 24px; background:#fff; border-top:1px solid var(--rule); box-shadow:0 -4px 18px #0001; display:flex; align-items:center; gap:14px; flex-wrap:wrap; font:14px/1.6 sans-serif; }
.gm-consent p { flex:1 1 320px; margin:0; }
.gm-consent button { cursor:pointer; min-height:44px; padding:8px 18px; border:1px solid var(--blue); color:var(--blue); background:white; border-radius:8px; font:inherit; }
.gm-consent button:hover { background:#edf5fe; }
.gm-consent button:active { background:#dcecff; }
@media(max-width:600px) { .gm-doc-wrap { padding:20px 14px 120px; } .gm-reading { margin:12px 14px 32px; padding:24px 20px; } .gm-document article { padding:24px 20px; } .gm-document h1 { font-size:1.7rem; } .gm-consent { padding:12px 16px; } }
@media print { .gm-consent,.gm-doc-head,footer { display:none!important; } .gm-document,.gm-document article { background:#fff; border:0; } }
