.g-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.g-cal-head .g-h2{margin:0;flex:1;text-align:center}.g-cal-nav{width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:var(--secondary);color:var(--secfg);font:inherit;font-size:22px;font-weight:800;cursor:pointer;line-height:1}.g-cal-dows{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;text-align:center;font-size:11px;font-weight:800;color:var(--mutedfg)}.g-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.g-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-height:48px;padding:6px 2px 4px;border:1px solid transparent;border-radius:12px;background:var(--bg);font:inherit;cursor:pointer;color:var(--fg);overflow:hidden}.g-cell.empty{background:transparent;cursor:default;min-height:48px;border:0;overflow:visible}.g-cell .g-dn{font-size:13px;font-weight:800;line-height:1}.g-cell.has-ph{padding:3px 2px}.g-cell-ph{position:absolute;inset:3px;width:auto;height:auto;object-fit:cover;border-radius:9px;pointer-events:none}.g-cell.has-ph .g-dn{position:relative;z-index:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7);background:#0f172a6b;border-radius:999px;padding:2px 6px;margin-top:2px}.g-cell.has-ph .g-dots{position:relative;z-index:1}.g-cell-pn{position:absolute;top:4px;right:4px;z-index:1;font-size:9px;font-weight:800;color:#fff;background:#0f172a8c;border-radius:999px;padding:1px 4px}.g-cell .g-dots{display:flex;gap:2px;min-height:6px;flex-wrap:wrap;justify-content:center}.g-dotk{width:5px;height:5px;border-radius:50%;background:#94a3b8;display:inline-block}.g-dotk.vax{background:#6366f1}.g-dotk.check{background:#0ea5e9}.g-dotk.benefit{background:#f59e0b}.g-dotk.day{background:#ec4899}.g-dotk.more{background:#cbd5e1}.g-cal-grid,.g-cal-leg{--g-sel:#6d28d9;--g-sel-deep:#4c1d95}.g-cell.today{border-color:transparent;background:var(--bg);box-shadow:none}.g-today-lab{position:relative;z-index:1;display:block;font-size:8px;font-weight:800;line-height:1;letter-spacing:-.2px;color:#0369a1;margin-top:1px;max-width:100%;overflow:hidden;white-space:nowrap}.g-cell.has-ph .g-today-lab{color:#fff;background:#0284c7;border-radius:999px;padding:1px 4px;text-shadow:none}.g-cell.d100,.g-cell.dol{background:#fdf2f8}.g-cell.d100 .g-dn,.g-cell.dol .g-dn{color:#be185d}.g-cell.birth .g-dn{color:var(--primary)}.g-cell.sel{background:var(--g-sel);border-color:var(--g-sel-deep);color:#fff;outline:none;box-shadow:inset 0 0 0 1px #ffffff38}.g-cell.sel .g-dn,.g-cell.sel.birth .g-dn,.g-cell.sel.d100 .g-dn,.g-cell.sel.dol .g-dn{color:#fff}.g-cell.sel.d100,.g-cell.sel.dol{background:var(--g-sel)}.g-cell.sel .g-today-lab{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:1px 4px}.g-cell.sel.has-ph{background:transparent;border-color:transparent;box-shadow:none;color:var(--fg)}.g-cell.sel.has-ph:before{content:"";position:absolute;inset:0;border:3px solid var(--g-sel);border-radius:12px;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 1px #fff}.g-cell.sel.has-ph .g-dn{background:var(--g-sel);color:#fff;text-shadow:none}.g-cell.sel.has-ph .g-today-lab{background:#0284c7;color:#fff}.g-cal-leg{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:10px;font-size:11px;font-weight:700;color:var(--mutedfg)}.g-legi{display:inline-flex;align-items:center;white-space:nowrap}.g-leg{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:4px;vertical-align:middle}.g-leg.today{width:14px;height:8px;background:transparent;border:0;border-bottom:2px solid #0284c7;border-radius:0;vertical-align:middle}.g-leg.sel{background:var(--g-sel);border:1px solid var(--g-sel-deep)}.g-leg.d100,.g-leg.dol{background:#fbcfe8}@media(prefers-color-scheme:dark){.g-cal-grid,.g-cal-leg{--g-sel:#8b5cf6;--g-sel-deep:#c4b5fd}.g-cell.today{background:transparent}.g-today-lab{color:#7dd3fc}.g-cell.has-ph .g-today-lab,.g-cell.sel.has-ph .g-today-lab{background:#0369a1;color:#e0f2fe}.g-cell.sel{background:var(--g-sel);border-color:var(--g-sel-deep);color:#fff}.g-cell.sel .g-today-lab{background:#0c4a6e;color:#e0f2fe}.g-cell.sel.has-ph:before{border-color:var(--g-sel);box-shadow:inset 0 0 0 1px #1e1b4b}.g-leg.today{border-bottom-color:#7dd3fc}}html{scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.g-day{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);scroll-margin-bottom:calc(80px + env(safe-area-inset-bottom,0px))}#g-day-add{scroll-margin-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.g-day-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.g-day-h b{font-size:14px}.g-ms-g{border:1px solid var(--border);border-radius:14px;margin:8px 0 0;background:var(--bg)}.g-ms-g summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;cursor:pointer;font-weight:800}.g-ms-g summary::-webkit-details-marker{display:none}.g-ms-g.now{border-color:var(--primary);background:#f0f9ff}.g-ms-list{list-style:none;margin:0;padding:0 8px 10px;display:flex;flex-direction:column;gap:6px}.g-ms-it{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--card);border-radius:12px;padding:9px 10px}.g-ms-it.hi{border:1.5px solid #38bdf8;box-shadow:0 0 0 3px #e0f2fe}.g-ms-it.achieved{opacity:.7}.g-ms-it.achieved .g-tx b{text-decoration:line-through}.g-ms-it.upcoming{opacity:.85}.g-ms-edit{flex:1 1 100%;display:flex;flex-direction:column;gap:8px;padding:6px 0 0}.g-ms-date{max-width:180px}.g-ms-done{color:#166534}.g-chip.past{background:#e2e8f0;color:#475569}.g-dotk.custom,.g-dotk.ms{background:#10b981}.g-cell.has-ms .g-dn{text-decoration:underline;text-decoration-color:#10b981;text-decoration-thickness:2px;text-underline-offset:2px}.g-day-ms{margin-top:10px}.g-day-msadd{margin-top:10px;width:100%}.g-day-acts{margin:0 0 8px}.g-leg.custom{background:#bbf7d0;border:1px solid #10b981}.g-ms-it.custom{border:1px dashed #86efac;background:#f0fdf4}.g-ms-it.custom-add{background:transparent;border:0;justify-content:center;padding:4px}.g-custom-add{width:100%}.g-custom-form .g-custom-text{margin-top:4px}.g-danger-link{color:#b91c1c!important}.g-it.custom.done{opacity:.55}.g-seg{display:flex;background:var(--muted);border-radius:12px;padding:4px;gap:4px;margin:6px 0 4px}.g-seg button{flex:1;border:0;background:none;border-radius:9px;padding:9px;font:inherit;font-size:14px;font-weight:800;color:var(--mutedfg);cursor:pointer}.g-seg button[aria-selected=true]{background:#fff;color:var(--fg);box-shadow:0 1px 3px #00000014}.g-phc{font-size:12px;font-weight:700;color:var(--mutedfg)}.g-ths{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.g-th{position:relative;display:block;aspect-ratio:1;border:0;border-radius:12px;overflow:hidden;background:var(--muted);padding:0;cursor:pointer}.g-th img{width:100%;height:100%;object-fit:cover;display:block}.g-th span{position:absolute;left:4px;bottom:4px;font-size:10.5px;font-weight:800;color:#fff;background:#0f172a99;border-radius:6px;padding:1px 5px}.g-th i{position:absolute;left:0;right:0;top:0;font-style:normal;font-size:10.5px;color:#fff;background:linear-gradient(rgba(15,23,42,.55),transparent);padding:4px 5px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.g-add{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;color:var(--primary);border:2px dashed #7dd3fc;background:#f0f9ff}.g-add span{position:static;background:none;color:var(--primary);font-size:11px}.g-ph-act .g-btn{flex:1}.g-phnote{font-size:12.5px;line-height:18px;color:#334155;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:8px 10px;margin:10px 0 0}.g-famlink{display:block;margin-top:4px;color:var(--primary);font-weight:700}.g-fam{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe}.g-fam[hidden],.g-fam-offer[hidden],.g-phnote[hidden],.g-view-by[hidden]{display:none}.g-fam-h{margin:0;font-size:13px;line-height:19px;color:#1e3a8a}.g-fam-st{margin:4px 0 0}.g-fam-offer{margin:10px 0 0;padding-top:10px;border-top:1px dashed #bfdbfe}.g-fam-offer p{margin:0 0 8px;font-size:13.5px;font-weight:700}.g-shb{position:absolute;top:4px;right:4px;font-style:normal;font-size:12px;line-height:1;background:#ffffffe6;border-radius:999px;padding:3px 4px}.g-view{position:fixed;inset:0;z-index:60;background:#0f172ab8;display:flex;align-items:flex-end;justify-content:center}.g-view-in{position:relative;background:#fff;width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:20px 20px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.g-view-in img{display:block;width:100%;max-height:50vh;object-fit:contain;border-radius:12px;background:var(--muted)}.g-view-x{position:absolute;right:20px;top:20px;width:34px;height:34px;border-radius:50%;border:0;background:#0f172a99;color:#fff;font-size:16px;cursor:pointer;z-index:1}.g-view-age{font-size:14px;font-weight:800;margin:10px 0 0;color:var(--secfg)}.g-view-act{margin-top:12px}.g-view-act .g-btn{flex:1}.g-view-by{margin:0 0 6px}body.g-lock{overflow:hidden}.g-dotk.photo{background:#f59e0b}.g-leg.photo{background:#fde68a;border:1px solid #f59e0b}.g-day-ph{margin:0 0 10px}.g-day-hero{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;border-radius:14px;background:#0f172a;scrollbar-width:none}.g-day-hero::-webkit-scrollbar{display:none}.g-day-slide{flex:0 0 100%;scroll-snap-align:start;position:relative;aspect-ratio:4/3;border:0;padding:0;background:#0f172a;cursor:pointer}.g-day-slide img{width:100%;height:100%;object-fit:cover;display:block}.g-day-slide span{position:absolute;left:8px;bottom:8px;font-size:12px;font-weight:800;color:#fff;background:#0f172a8c;border-radius:8px;padding:3px 8px}.g-day-slide i{position:absolute;left:0;right:0;top:0;font-style:normal;font-size:12px;color:#fff;background:linear-gradient(rgba(15,23,42,.55),transparent);padding:8px 10px 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.g-day-dots{display:flex;justify-content:center;gap:5px;margin:8px 0 0}.g-day-dots i{width:6px;height:6px;border-radius:50%;background:#cbd5e1;display:inline-block}.g-day-dots i.on{background:var(--primary);width:16px;border-radius:99px}.g-day-phc{margin:6px 0 0;text-align:center}#g-day-add{display:flex;width:100%;margin:0 0 10px;box-sizing:border-box}.g-quick{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.g-qchip{border:1px solid var(--border);background:var(--secondary);color:var(--secfg);border-radius:999px;font:inherit;font-size:14px;font-weight:800;padding:9px 14px;cursor:pointer}.g-qchip.g-hint{background:#fef9c3;border-color:#fde68a;color:#854d0e}.g-qchip[hidden]{display:none}.g-ymd{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px}.g-ymd label{display:flex;align-items:center;gap:4px;font-weight:800;font-size:15px}.g-sel{flex:1;min-width:0;font:inherit;font-size:18px;font-weight:800;padding:12px 8px;border:1.5px solid var(--border);border-radius:14px;background:#fff;color:var(--fg);appearance:auto}.g-agein{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;font-weight:700;color:var(--mutedfg)}.g-num{flex:0 0 96px;font-size:18px;font-weight:800;text-align:center;padding:10px 8px}.g-unit{flex:0 1 auto;font-size:15px;padding:10px 8px}.g-confirm{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#f1f5f9;font-size:15px;font-weight:800;color:#334155}.g-confirm.ok{background:#ecfdf5;color:#047857}.g-confirm.bad{background:#fef2f2;color:#b91c1c}.g-setup-act{margin-top:12px}.g-btn.g-big{flex:1;font-size:16px;padding:14px}.g-btn[hidden]{display:none}.g-view-note{display:none;margin:6px 0 10px;font-size:13.5px;line-height:19px;font-weight:600;color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:9px 12px}body.g-viewonly .g-view-note{display:block}body.g-viewonly label[for=g-file],body.g-viewonly #g-setup,body.g-viewonly #g-change,body.g-viewonly #g-view-save,body.g-viewonly #g-view-del,body.g-viewonly .g-fam-offer,body.g-viewonly [data-ms],body.g-viewonly [data-custom],body.g-viewonly .g-custom-add,body.g-viewonly [data-done]{display:none!important}.g-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px;margin:14px 0;box-shadow:0 1px 4px #0000000d}.g-card[hidden],.g-seg[hidden],#g-pane-tl[hidden],#g-pane-ph[hidden],.g-view[hidden],.g-mini[hidden],#g-day[hidden]{display:none!important}.g-lbl{display:block;font-size:13px;font-weight:800;margin:6px 0}.g-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.g-input{flex:1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--fg);width:100%}.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;background:var(--primary);color:#fff;font:inherit;font-size:14px;font-weight:800;padding:10px 14px;cursor:pointer;white-space:nowrap}.g-btn.g-ghost{background:var(--secondary);color:var(--secfg)}.g-btn.g-danger{background:#fee2e2;color:#b91c1c}.g-link{background:none;border:0;color:var(--primary);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:4px}.g-err{color:#b91c1c;font-size:13px;font-weight:700;margin:8px 0 0}.g-mini{font-size:12px;color:var(--mutedfg);margin:8px 0 0}.g-now{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff;border:0}.g-now .g-link{color:#fff;text-decoration:underline}.g-now .g-mini{color:#ffffffd9}.g-now-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.g-dplus{display:block;font-size:30px;font-weight:900;letter-spacing:-.5px;line-height:1.1}.g-age{font-size:14px;font-weight:700}.g-now-band{margin:10px 0 0;font-size:14px;font-weight:800;background:#ffffff2e;border-radius:10px;padding:8px 10px}.g-h2{font-size:15.5px;font-weight:800;margin:0 0 10px}.g-h2 small{color:var(--mutedfg);font-weight:700}.g-up,.g-its{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.g-it{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:9px 10px;flex-wrap:wrap}.g-it.now{background:#eef2ff;border:1px solid #c7d2fe}.g-it.past,.g-it.done{opacity:.55}.g-it.done .g-tx b{text-decoration:line-through}.g-it.custom.done{opacity:1}.g-it.custom.done .g-tx b{text-decoration:none}.g-ic{font-size:18px;flex:none}.g-tx{flex:1 1 55%;min-width:0;display:flex;flex-direction:column}.g-tx b{font-size:14px;line-height:19px}.g-tx b a{color:var(--primary)}.g-tx small{font-size:12px;color:var(--mutedfg);line-height:17px}.g-when{flex:none;font-size:12px;font-weight:800;color:#4338ca;background:#e0e7ff;border-radius:100px;padding:3px 8px;white-space:nowrap}.g-it.past .g-when{background:#e2e8f0;color:#475569}.g-it .g-when+.g-done{margin-left:0}.g-done{flex:none;border:1px solid var(--border);background:#fff;border-radius:100px;padding:4px 10px;font:inherit;font-size:12px;font-weight:700;color:var(--fg);cursor:pointer}.g-done[aria-pressed=true]{background:#dcfce7;border-color:#86efac;color:#166534}.g-empty{color:var(--mutedfg);font-size:13px;list-style:none}.g-tl{position:relative;margin:4px 0 0;padding-left:18px;border-left:3px solid #bae6fd}.g-band{position:relative;background:var(--card);border:1px solid var(--border);border-radius:16px;margin:0 0 10px;padding:0}.g-band summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer}.g-band summary::-webkit-details-marker{display:none}.g-dot{position:absolute;left:-29px;top:16px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid #7dd3fc}.g-band.now{border:2px solid var(--primary);box-shadow:0 4px 14px #0ea5e92e}.g-band.now .g-dot{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px #bae6fd}.g-band.past{background:#f8fafc}.g-band.past .g-bt b{color:var(--mutedfg)}.g-band.past .g-dot{background:#cbd5e1;border-color:#cbd5e1}.g-bt{flex:1;display:flex;flex-direction:column}.g-bt b{font-size:15px;font-weight:800}.g-bt small{font-size:12px;color:var(--mutedfg)}.g-chip{font-style:normal;font-size:11px;font-weight:800;border-radius:100px;padding:3px 9px;background:#e2e8f0;color:#334155}.g-chip.now{background:var(--primary);color:#fff}.g-chip.next{background:var(--secondary);color:var(--secfg)}.g-body{padding:0 12px 12px}.g-h3{font-size:13.5px;font-weight:800;margin:14px 0 6px}.g-cats{display:grid;grid-template-columns:1fr;gap:8px}.g-cat{background:var(--bg);border-radius:12px;padding:8px 10px}.g-cat h4{margin:0 0 4px;font-size:12px;font-weight:800;color:var(--secfg)}.g-cat ul,.g-play{margin:0;padding-left:18px;font-size:13px;line-height:19px}.g-play li{margin:2px 0}.g-band.after{border:0;background:none;padding:4px 2px}.g-disc{font-size:12px;line-height:18px;color:var(--mutedfg);margin:18px 0 8px}.g-src h2{font-size:13px;font-weight:800;margin:0 0 4px}.g-src ul{margin:0;padding-left:18px;font-size:12px;line-height:19px}.g-src a{color:var(--primary)}
