:root{--gn-surface:#f7fafc;--gn-surface-raised:#fff;--gn-surface-sunken:#edf2f6;--gn-ink:#12202e;--gn-ink-soft:#4b5c6b;--gn-ink-faint:#7c8ca0;--gn-border:#dce3e8;--gn-border-strong:#b9c6d1;--gn-sky:#1487d9;--gn-sky-text:#0b6cb3;--gn-sky-soft:#7ec8f2;--gn-on-sky:#fff;--gn-sky-gradient-top:#1c74c4;--gn-sky-gradient-bottom:#8fd3f4;--gn-sun-glow:#ffe9b8;--gn-good-bg:#e3f6ec;--gn-good-fg:#167a46;--gn-good-solid:#188045;--gn-caution-bg:#fff3d6;--gn-caution-fg:#8a5a00;--gn-caution-solid:#f0a400;--gn-caution-on-solid:#3a2600;--gn-hold-bg:#fde7e7;--gn-hold-fg:#b3261e;--gn-hold-solid:#c93a30;--gn-data-1:#6b5ce0;--gn-data-2:#21a6a6;--gn-font-body:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", system-ui, "Malgun Gothic", sans-serif;--gn-text-display:1.75rem;--gn-lh-display:1.2;--gn-text-h1:1.375rem;--gn-lh-h1:1.3;--gn-text-h2:1.125rem;--gn-lh-h2:1.35;--gn-text-body:1rem;--gn-lh-body:1.5;--gn-text-small:.875rem;--gn-lh-small:1.45;--gn-text-caption:.75rem;--gn-lh-caption:1.35;--gn-weight-regular:400;--gn-weight-medium:500;--gn-weight-semibold:600;--gn-weight-bold:700;--gn-numeral:tabular-nums;--gn-space-1:4px;--gn-space-2:8px;--gn-space-3:12px;--gn-space-4:16px;--gn-space-5:24px;--gn-space-6:32px;--gn-space-7:48px;--gn-space-8:64px;--gn-radius-sm:8px;--gn-radius-md:12px;--gn-radius-lg:20px;--gn-radius-pill:999px;--gn-touch-target:44px;--gn-shadow-card:0 1px 2px #12202e0a, 0 4px 12px #12202e14;--gn-shadow-sheet:0 -4px 24px #12202e1f;--gn-ease-standard:cubic-bezier(.16, 1, .3, 1);--gn-ease-exit:cubic-bezier(.4, 0, 1, 1);--gn-dur-instant:.1s;--gn-dur-fast:.18s;--gn-dur-base:.24s;--gn-dur-slow:.4s}@media (prefers-color-scheme:dark){:root{--gn-surface:#0b1420;--gn-surface-raised:#10202e;--gn-surface-sunken:#071018;--gn-ink:#eaf1f6;--gn-ink-soft:#9fb2c2;--gn-ink-faint:#6e8194;--gn-border:#24384a;--gn-border-strong:#34506a;--gn-sky:#5fb4ee;--gn-sky-text:#7bc4f2;--gn-sky-soft:#2e75a8;--gn-on-sky:#08202e;--gn-sky-gradient-top:#0a2a44;--gn-sky-gradient-bottom:#123655;--gn-sun-glow:#3a2f12;--gn-good-bg:#0f2a1c;--gn-good-fg:#7bdba3;--gn-good-solid:#1f9d55;--gn-caution-bg:#2e2103;--gn-caution-fg:#f5c25e;--gn-caution-solid:#f0a400;--gn-caution-on-solid:#3a2600;--gn-hold-bg:#2e1210;--gn-hold-fg:#f3948c;--gn-hold-solid:#d6392f;--gn-data-1:#9b8fff;--gn-data-2:#4fd1d1;--gn-shadow-card:0 0 0 1px var(--gn-border);--gn-shadow-sheet:0 0 0 1px var(--gn-border-strong)}}@media (prefers-reduced-motion:reduce){:root{--gn-dur-instant:0s;--gn-dur-fast:0s;--gn-dur-base:0s;--gn-dur-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--gn-surface);color:var(--gn-ink);font-family:var(--gn-font-body);font-size:var(--gn-text-body);line-height:var(--gn-lh-body);margin:0}button{font:inherit;color:inherit}img{max-width:100%;height:auto}:focus-visible{outline:3px solid var(--gn-sky);outline-offset:2px;border-radius:var(--gn-radius-sm)}.gn-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gn-num{font-variant-numeric:var(--gn-numeral)}.gn-caption{font-size:var(--gn-text-caption);line-height:var(--gn-lh-caption);color:var(--gn-ink-soft)}.gn-app{flex-direction:column;min-height:100dvh;display:flex}.gn-app-ait{padding-top:env(safe-area-inset-top)}.gn-app-ait .gn-app-content{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}.gn-ait-banner{background:var(--gn-surface);width:100%;min-height:96px}.gn-app-content{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;display:flex}.gn-page{width:100%;max-width:45rem;padding:var(--gn-space-4);gap:var(--gn-space-4);flex-direction:column;flex:1;margin:0 auto;display:flex}.gn-storage-notice{box-sizing:border-box;width:min(100%,45rem);margin:var(--gn-space-3) auto 0;padding:var(--gn-space-4);border-block:2px solid var(--gn-ink-soft);background:var(--gn-surface);color:var(--gn-ink);overflow-wrap:anywhere}.gn-storage-notice section+section{margin-top:var(--gn-space-4)}.gn-storage-notice p{margin-block:var(--gn-space-2)}.gn-storage-actions{gap:var(--gn-space-2);flex-wrap:wrap;display:flex}.gn-storage-actions .gn-btn{white-space:normal;max-width:100%;height:auto}.gn-page-header{gap:var(--gn-space-2);flex-direction:column;display:flex}.gn-page-title{font-size:var(--gn-text-h1);line-height:var(--gn-lh-h1);font-weight:var(--gn-weight-bold);margin:0}.gn-section-title{font-size:var(--gn-text-h2);line-height:var(--gn-lh-h2);font-weight:var(--gn-weight-semibold);margin:0 0 var(--gn-space-2)}.gn-tabbar{inset-inline:0;background:var(--gn-surface-raised);border-top:1px solid var(--gn-border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:30;justify-content:space-around;display:flex;position:fixed;bottom:0}.gn-tab{min-height:var(--gn-touch-target);padding:var(--gn-space-2) var(--gn-space-1);color:var(--gn-ink-soft);font-size:var(--gn-text-caption);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.gn-tab-active{color:var(--gn-sky-text);font-weight:var(--gn-weight-semibold)}.gn-tab-icon{line-height:0;display:inline-flex}@media (width>=768px){.gn-tabbar{justify-content:flex-start;gap:var(--gn-space-2);border-top:none;border-right:1px solid var(--gn-border);width:5.5rem;padding-top:var(--gn-space-5);flex-direction:column;inset:0 auto 0 0}.gn-tab{flex:none;width:100%}.gn-app-content{padding-bottom:var(--gn-space-6);margin-left:5.5rem}}.gn-btn{justify-content:center;align-items:center;gap:var(--gn-space-2);min-height:var(--gn-touch-target);padding:var(--gn-space-2) var(--gn-space-4);border-radius:var(--gn-radius-md);cursor:pointer;font-weight:var(--gn-weight-semibold);transition:filter var(--gn-dur-fast) var(--gn-ease-standard);border:1px solid #0000;text-decoration:none;display:inline-flex}.gn-btn:hover{filter:brightness(1.05)}.gn-btn:disabled{opacity:.55;cursor:default}.gn-btn-primary{background:var(--gn-sky);color:var(--gn-on-sky)}.gn-btn-secondary{background:var(--gn-surface-raised);color:var(--gn-sky-text);border-color:var(--gn-border-strong)}.gn-btn-icon{min-width:var(--gn-touch-target);padding:var(--gn-space-2);font-size:var(--gn-text-h2);background:0 0;border:none}.gn-btn-inline{color:var(--gn-sky-text);min-height:var(--gn-touch-target);padding:var(--gn-space-1) var(--gn-space-2);cursor:pointer;background:0 0;border:none;text-decoration:underline}.gn-text-link{color:var(--gn-sky-text)}.gn-input{width:100%;min-height:var(--gn-touch-target);padding:var(--gn-space-2) var(--gn-space-3);border:1px solid var(--gn-border-strong);border-radius:var(--gn-radius-md);background:var(--gn-surface-sunken);color:var(--gn-ink);font:inherit}.gn-form-hint{font-size:var(--gn-text-small);color:var(--gn-ink-soft);margin:var(--gn-space-1) 0 0}.gn-hint-error{color:var(--gn-hold-fg)}.gn-card{background:var(--gn-surface-raised);border-radius:var(--gn-radius-md);box-shadow:var(--gn-shadow-card);padding:var(--gn-space-4)}.gn-card-list{gap:var(--gn-space-3);flex-direction:column;display:flex}.gn-verdict-card{padding:var(--gn-space-2) var(--gn-space-3) var(--gn-space-3);border-left:4px solid var(--gn-border)}.gn-card-good{border-left-color:var(--gn-good-solid)}.gn-card-caution{border-left-color:var(--gn-caution-solid)}.gn-card-hold{border-left-color:var(--gn-hold-solid)}.gn-card-hit{cursor:pointer;text-align:left;width:100%;min-height:var(--gn-touch-target);padding:var(--gn-space-2) 0;background:0 0;border:none}.gn-card-row{align-items:center;gap:var(--gn-space-2);flex-wrap:wrap;display:flex}.gn-card-sub{margin-top:var(--gn-space-1);justify-content:space-between}.gn-card-emoji{color:currentColor;line-height:0;display:inline-flex}.gn-card-name{font-weight:var(--gn-weight-semibold)}.gn-card-stale{font-size:var(--gn-text-small)}.gn-card-arrow{color:var(--gn-ink-faint);font-size:var(--gn-text-h2);margin-left:auto}.gn-card-window{font-size:var(--gn-text-small);color:var(--gn-ink-soft)}.gn-card-chips{gap:var(--gn-space-1);flex-wrap:wrap;display:flex}.gn-verdict-badge{align-items:center;gap:var(--gn-space-1);padding:var(--gn-space-1) var(--gn-space-2);border-radius:var(--gn-radius-pill);font-size:var(--gn-text-small);font-weight:var(--gn-weight-semibold);display:inline-flex}.gn-verdict-good{background:var(--gn-good-bg);color:var(--gn-good-fg)}.gn-verdict-caution{background:var(--gn-caution-bg);color:var(--gn-caution-fg)}.gn-verdict-hold{background:var(--gn-hold-bg);color:var(--gn-hold-fg)}.gn-verdict-icon{flex:none}.gn-chip-wrap{display:inline-flex;position:relative}.gn-chip{padding:var(--gn-space-1) var(--gn-space-2);border-radius:var(--gn-radius-sm);background:var(--gn-surface-sunken);color:var(--gn-ink-soft);font-size:var(--gn-text-caption);border:none;align-items:center;display:inline-flex}.gn-chip-button{cursor:pointer;min-height:2rem}.gn-chip-warning{background:var(--gn-caution-bg);color:var(--gn-caution-fg)}.gn-chip-popover{z-index:20;min-width:14rem;max-width:80vw;padding:var(--gn-space-3);background:var(--gn-surface-raised);border:1px solid var(--gn-border);border-radius:var(--gn-radius-md);box-shadow:var(--gn-shadow-sheet);font-size:var(--gn-text-small);color:var(--gn-ink);position:absolute;top:calc(100% + 4px);left:0}.gn-banner{align-items:center;gap:var(--gn-space-2);padding:var(--gn-space-2) var(--gn-space-3);border-radius:var(--gn-radius-sm);font-size:var(--gn-text-small);flex-wrap:wrap;text-decoration:none;display:flex}.gn-banner-sub{color:var(--gn-ink-faint);font-size:var(--gn-text-caption)}.gn-banner-offline{background:var(--gn-surface-sunken);color:var(--gn-ink-soft);border:1px dashed var(--gn-border-strong)}.gn-banner-stale-soft{background:var(--gn-surface-sunken);color:var(--gn-ink-soft)}.gn-banner-stale-hard{background:var(--gn-caution-bg);color:var(--gn-caution-fg);font-weight:var(--gn-weight-semibold)}.gn-banner-alert{background:var(--gn-hold-bg);color:var(--gn-hold-fg);font-weight:var(--gn-weight-semibold)}.gn-state-block{align-items:flex-start;gap:var(--gn-space-3);padding:var(--gn-space-5);background:var(--gn-surface-raised);border-radius:var(--gn-radius-md);box-shadow:var(--gn-shadow-card);flex-direction:column;display:flex}.gn-state-text{margin:0}.gn-state-code{font-size:var(--gn-text-caption);color:var(--gn-ink-faint);margin:0}.gn-skeleton-list{gap:var(--gn-space-3);flex-direction:column;display:flex}.gn-skeleton-card{background:var(--gn-surface-raised);border-radius:var(--gn-radius-md);padding:var(--gn-space-4);gap:var(--gn-space-2);flex-direction:column;min-height:5.5rem;display:flex}.gn-skeleton-line{border-radius:var(--gn-radius-sm);background:var(--gn-surface-sunken);height:1rem}.gn-skeleton-line.w40{width:40%}.gn-skeleton-line.w70{width:70%}.gn-home-header{gap:var(--gn-space-2);flex-direction:column;display:flex}.gn-home-region{align-items:baseline;gap:var(--gn-space-2);flex-wrap:wrap;display:flex}.gn-home-title{font-size:var(--gn-text-h2);word-break:keep-all;margin:0;line-height:1.3}.gn-home-sido{color:var(--gn-ink-soft);font-size:var(--gn-text-small)}.gn-home-now{align-items:baseline;gap:var(--gn-space-3);flex-wrap:wrap;display:flex}.gn-home-tmp{font-size:var(--gn-text-display);line-height:var(--gn-lh-display);font-weight:var(--gn-weight-bold)}.gn-home-normals{color:var(--gn-sky-text);font-size:var(--gn-text-small)}.gn-summary-bar{gap:var(--gn-space-1);padding-bottom:var(--gn-space-1);display:flex;overflow-x:auto}.gn-summary-dot{min-width:var(--gn-touch-target);min-height:var(--gn-touch-target);cursor:pointer;font-size:var(--gn-text-caption);color:var(--gn-ink-soft);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;display:flex}.gn-dot{background:var(--gn-border-strong);border-radius:50%;width:.75rem;height:.75rem}.gn-dot-good .gn-dot{background:var(--gn-good-solid)}.gn-dot-caution .gn-dot{background:var(--gn-caution-solid)}.gn-dot-hold .gn-dot{background:var(--gn-hold-solid)}.gn-outfit-strip{align-items:center;gap:var(--gn-space-2);flex-wrap:wrap;display:flex}.gn-outfit-label{font-size:var(--gn-text-small)}.gn-datetabs{border-radius:var(--gn-radius-pill);background:var(--gn-surface-sunken);padding:var(--gn-space-1);display:flex}.gn-datetab{min-height:var(--gn-touch-target);border-radius:var(--gn-radius-pill);cursor:pointer;color:var(--gn-ink-soft);background:0 0;border:none;flex:1}.gn-datetab-active{background:var(--gn-surface-raised);color:var(--gn-ink);font-weight:var(--gn-weight-semibold);box-shadow:var(--gn-shadow-card)}.gn-relay-row{display:flex}.gn-hourly-scroll,.gn-week-scroll,.gn-windowbar-scroll{overflow-x:auto}.gn-hourly-strip,.gn-week-strip{gap:var(--gn-space-2);padding:var(--gn-space-1) 0;margin:0;list-style:none;display:flex}.gn-hourly-cell,.gn-week-cell{min-width:3.25rem;padding:var(--gn-space-2);background:var(--gn-surface-raised);border-radius:var(--gn-radius-sm);font-size:var(--gn-text-caption);flex-direction:column;align-items:center;gap:2px;display:flex}.gn-hourly-pop,.gn-week-pop{color:var(--gn-sky-text)}.gn-week-cell{min-width:4.5rem}.gn-week-block{gap:var(--gn-space-2);flex-direction:column;display:flex}.gn-week-unlock{width:100%;margin-top:var(--gn-space-3)}.gn-home-extra{gap:var(--gn-space-4);flex-direction:column;display:flex}.gn-region-chip{align-items:center;gap:var(--gn-space-2);white-space:nowrap;min-height:var(--gn-touch-target);padding:var(--gn-space-2) var(--gn-space-3);border:1px solid var(--gn-border-strong);border-radius:var(--gn-radius-pill);background:var(--gn-surface-raised);font-weight:var(--gn-weight-semibold);cursor:pointer;flex:none;display:inline-flex}.gn-data-state{gap:var(--gn-space-3);padding:var(--gn-space-5);border:1px solid var(--gn-caution-solid);border-radius:var(--gn-radius-lg);background:var(--gn-caution-bg);color:var(--gn-caution-fg);grid-template-columns:auto 1fr;display:grid}.gn-data-state p{margin:var(--gn-space-1) 0 0}.gn-data-state .gn-btn{grid-column:2;justify-self:start}.gn-data-state-mark{width:var(--gn-space-6);height:var(--gn-space-6);background:var(--gn-caution-solid);color:var(--gn-caution-on-solid);font-weight:var(--gn-weight-bold);border-radius:50%;place-items:center;display:grid}.gn-brief{padding:var(--gn-space-5);border-radius:var(--gn-radius-lg);background:var(--gn-surface-raised);border:1px solid var(--gn-border);box-shadow:var(--gn-shadow-card)}.gn-brief h2{margin:var(--gn-space-1) 0 var(--gn-space-4);font-size:var(--gn-text-h1)}.gn-brief-kicker{color:var(--gn-sky-text);font-size:var(--gn-text-small);font-weight:var(--gn-weight-semibold)}.gn-brief-grid{gap:var(--gn-space-3);grid-template-columns:repeat(3,1fr);display:grid}.gn-brief-grid article{gap:var(--gn-space-1);min-width:0;padding-top:var(--gn-space-3);border-top:3px solid var(--gn-sky-soft);flex-direction:column;display:flex}.gn-brief-grid article>span,.gn-brief-grid small{color:var(--gn-ink-soft);font-size:var(--gn-text-caption)}.gn-brief-grid strong{word-break:keep-all}.gn-fortune{margin-top:var(--gn-space-5);padding:var(--gn-space-3) var(--gn-space-4);border-left:3px solid var(--gn-data-1);background:var(--gn-surface-sunken)}.gn-fortune>span{color:var(--gn-data-1);font-size:var(--gn-text-small);font-weight:var(--gn-weight-bold)}.gn-fortune p{margin:var(--gn-space-1) 0}.gn-fortune small{color:var(--gn-ink-soft)}.gn-section-heading{justify-content:space-between;align-items:end;gap:var(--gn-space-3);margin-bottom:var(--gn-space-3);display:flex}.gn-section-heading span{color:var(--gn-sky-text);font-size:var(--gn-text-small);font-weight:var(--gn-weight-semibold)}.gn-section-heading h2{font-size:var(--gn-text-h1);margin:0}.gn-activity-more,.gn-personal-quick,.gn-history-empty{margin-top:var(--gn-space-3);padding:var(--gn-space-3) var(--gn-space-4);border:1px solid var(--gn-border);border-radius:var(--gn-radius-md);background:var(--gn-surface-raised)}.gn-activity-more summary,.gn-personal-quick summary,.gn-history-empty summary{min-height:var(--gn-touch-target);cursor:pointer;color:var(--gn-sky-text);font-weight:var(--gn-weight-semibold);align-items:center;display:flex}.gn-activity-more[open] summary{margin-bottom:var(--gn-space-3)}.gn-personal-form{gap:var(--gn-space-4);margin-top:var(--gn-space-3);flex-direction:column;display:flex}.gn-personal-fieldset{border:0;margin:0;padding:0}.gn-personal-fieldset legend{font-weight:var(--gn-weight-semibold)}.gn-interest-grid{gap:var(--gn-space-2);margin-top:var(--gn-space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gn-interest{justify-content:space-between;align-items:center;gap:var(--gn-space-1);min-height:var(--gn-touch-target);padding:var(--gn-space-1) var(--gn-space-2);border:1px solid var(--gn-border);border-radius:var(--gn-radius-sm);display:flex}.gn-interest-selected{background:var(--gn-good-bg);border-color:var(--gn-good-solid)}.gn-interest label{align-items:center;gap:var(--gn-space-2);min-width:0;display:flex}.gn-order-buttons{display:flex}.gn-order-buttons button{min-width:var(--gn-space-6);min-height:var(--gn-space-6);cursor:pointer;background:0 0;border:0}.gn-personal-grid{gap:var(--gn-space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gn-personal-grid label{gap:var(--gn-space-1);font-size:var(--gn-text-small);font-weight:var(--gn-weight-semibold);flex-direction:column;display:flex}@media (width<=420px){.gn-page{padding-inline:var(--gn-space-3)}.gn-brief{padding:var(--gn-space-4)}.gn-brief-grid{grid-template-columns:1fr}.gn-brief-grid article{display:flex}.gn-interest-grid,.gn-personal-grid,.gn-data-state{grid-template-columns:1fr}.gn-data-state .gn-btn{grid-column:1}}@media (width>=900px){.gn-page.gn-home{max-width:62rem}.gn-card-list-primary{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}}.gn-push-optin{justify-content:space-between;align-items:center;gap:var(--gn-space-3);background:var(--gn-surface-raised);border-radius:var(--gn-radius-md);padding:var(--gn-space-4);box-shadow:var(--gn-shadow-card);flex-wrap:wrap;display:flex}.gn-push-optin p{margin:0}.gn-source-footer{padding:var(--gn-space-4) 0 var(--gn-space-5);border-top:1px solid var(--gn-border);gap:var(--gn-space-1);flex-direction:column;margin-top:auto;display:flex}.gn-source-line,.gn-source-disclaimer{font-size:var(--gn-text-caption);line-height:var(--gn-lh-caption);color:var(--gn-ink-soft);margin:0}.gn-source-disclaimer{font-weight:var(--gn-weight-medium)}.gn-modal-backdrop{z-index:50;background:var(--gn-surface);justify-content:center;display:flex;position:fixed;inset:0;overflow-y:auto}.gn-modal{width:100%;max-width:30rem;padding:var(--gn-space-6) var(--gn-space-4);gap:var(--gn-space-4);flex-direction:column;display:flex}.gn-onboarding-head{gap:var(--gn-space-2);flex-direction:column;display:flex;position:relative}.gn-onboarding-title{font-size:var(--gn-text-display);line-height:var(--gn-lh-display);margin:0}.gn-onboarding-sub{color:var(--gn-ink-soft);font-size:var(--gn-text-small);line-height:var(--gn-lh-body);margin:0}.gn-modal-close{position:absolute;top:0;right:0}.gn-region-picker{gap:var(--gn-space-2);flex-direction:column;display:flex}.gn-region-results{gap:var(--gn-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gn-region-result{width:100%;min-height:var(--gn-touch-target);padding:var(--gn-space-2) var(--gn-space-3);border:1px solid var(--gn-border);border-radius:var(--gn-radius-md);background:var(--gn-surface-raised);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.gn-region-sido{color:var(--gn-ink-faint);font-size:var(--gn-text-small)}.gn-detail-layout{gap:var(--gn-space-4);align-items:flex-start;display:flex}.gn-detail-side{display:none}@media (width>=768px){.gn-detail-side{gap:var(--gn-space-3);flex-direction:column;flex:0 0 40%;display:flex}}.gn-detail-main{gap:var(--gn-space-4);flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.gn-detail-header{align-items:center;gap:var(--gn-space-2);display:flex}.gn-detail-title{font-size:var(--gn-text-h1);margin:0}.gn-detail-ad-exit{gap:var(--gn-space-1);justify-items:start;display:grid}.gn-detail-ad-exit .gn-btn{white-space:normal;text-align:left;max-width:100%;height:auto}.gn-detail-ad-exit p{color:var(--gn-ink-soft);font-size:var(--gn-text-caption);margin:0}.gn-detail-summary{gap:var(--gn-space-3);border-left:4px solid var(--gn-border);flex-direction:column;display:flex}.gn-detail-chips{gap:var(--gn-space-1);flex-wrap:wrap;display:flex}.gn-window-highlight{font-size:var(--gn-text-h2);font-weight:var(--gn-weight-bold);color:var(--gn-good-fg);background:var(--gn-good-bg);padding:var(--gn-space-2) var(--gn-space-3);border-radius:var(--gn-radius-sm);margin:0;display:inline-block}.gn-detail-actions{gap:var(--gn-space-3);flex-wrap:wrap;align-items:center;display:flex}.gn-windowbar-tick{fill:var(--gn-ink-faint);font-size:10px}.gn-keepclock{gap:var(--gn-space-1);flex-direction:column;display:flex}.gn-keepclock-track{border-radius:var(--gn-radius-pill);background:var(--gn-surface-sunken);height:1rem;position:relative;overflow:hidden}.gn-keepclock-fill{border-radius:var(--gn-radius-pill);height:100%;transition:width var(--gn-dur-base) var(--gn-ease-standard)}.gn-fill-good{background:var(--gn-good-solid)}.gn-fill-caution{background:var(--gn-caution-solid)}.gn-fill-hold{background:var(--gn-hold-solid)}.gn-keepclock-tick{background:var(--gn-surface-raised);width:2px;position:absolute;top:0;bottom:0}.gn-keepclock-labels{font-size:var(--gn-text-caption);color:var(--gn-ink-faint);justify-content:space-between;display:flex}.gn-keepclock-value{font-weight:var(--gn-weight-semibold);margin:0}.gn-basis-table,.gn-accuracy-table{border-collapse:collapse;width:100%;font-size:var(--gn-text-small)}.gn-basis-table th,.gn-basis-table td,.gn-accuracy-table th,.gn-accuracy-table td{text-align:left;padding:var(--gn-space-2) var(--gn-space-2);border-bottom:1px solid var(--gn-border)}.gn-basis-table th{color:var(--gn-ink-soft);font-weight:var(--gn-weight-medium);width:45%}.gn-outcome-hit{color:var(--gn-good-fg)}.gn-outcome-miss{color:var(--gn-hold-fg)}.gn-outcome-partial{color:var(--gn-caution-fg)}.gn-accuracy-rate{margin:0}.gn-accuracy-num{font-size:var(--gn-text-display);font-weight:var(--gn-weight-bold)}.gn-air-grid{gap:var(--gn-space-4);flex-wrap:wrap;display:flex}.gn-air-cell{flex-direction:column;gap:2px;min-width:7rem;display:flex}.gn-air-value{font-size:var(--gn-text-display);font-weight:var(--gn-weight-bold)}.gn-air-unit{font-size:var(--gn-text-caption);color:var(--gn-ink-faint)}.gn-air-grade{font-weight:var(--gn-weight-semibold);color:var(--gn-sky-text)}.gn-alert-list,.gn-typhoon-list{gap:var(--gn-space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gn-alert-card{border-left:4px solid var(--gn-caution-solid)}.gn-alert-preliminary{border-left-color:var(--gn-border-strong)}.gn-alert-head{justify-content:space-between;gap:var(--gn-space-2);flex-wrap:wrap;display:flex}.gn-alert-status{color:var(--gn-caution-fg);font-size:var(--gn-text-small)}.gn-alert-body{white-space:pre-wrap;font-size:var(--gn-text-small);margin:var(--gn-space-2) 0 0}.gn-typhoon-row{flex-direction:column;gap:2px;display:flex}.gn-normal-block{background:var(--gn-good-bg);color:var(--gn-good-fg);box-shadow:none}.gn-imagery{background:var(--gn-surface-raised);border-radius:var(--gn-radius-md);padding:var(--gn-space-4);box-shadow:var(--gn-shadow-card);gap:var(--gn-space-2);flex-direction:column;margin:0;display:flex}.gn-imagery img{border-radius:var(--gn-radius-sm)}.gn-stargaze-card{gap:var(--gn-space-2);flex-direction:column;align-items:flex-start;display:flex}.gn-settings-section{gap:var(--gn-space-3);flex-direction:column;align-items:flex-start;display:flex}.gn-toggle-grid{gap:var(--gn-space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.gn-toggle-row{align-items:center;gap:var(--gn-space-2);min-height:var(--gn-touch-target);cursor:pointer;display:flex}.gn-toggle-row input{width:1.25rem;height:1.25rem;accent-color:var(--gn-sky)}.gn-push-hour{gap:var(--gn-space-1);flex-direction:column;width:100%;max-width:12rem;display:flex}.gn-settings-btnrow{gap:var(--gn-space-2);flex-wrap:wrap;display:flex}.gn-turnstile-slot{min-height:var(--gn-space-6);border:1px dashed var(--gn-border);border-radius:var(--gn-radius-sm);width:100%}.gn-landing-hero{padding:var(--gn-space-6) 0 var(--gn-space-2)}.gn-landing-h1{margin:0 0 var(--gn-space-2);font-size:var(--gn-text-display);line-height:var(--gn-lh-display)}.gn-landing-sub{color:var(--gn-ink-soft);margin:0}.gn-landing-body{margin:0}.gn-landing-cta{align-self:flex-start}.gn-faq-item summary{cursor:pointer;font-weight:var(--gn-weight-semibold);min-height:var(--gn-touch-target);align-items:center;display:flex}.gn-legal-body h2{font-size:var(--gn-text-h2);margin:var(--gn-space-5) 0 var(--gn-space-2)}.gn-legal-body p,.gn-legal-body li{font-size:var(--gn-text-small);line-height:var(--gn-lh-body)}.gn-share-summary{gap:var(--gn-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gn-share-summary-row{align-items:center;gap:var(--gn-space-2);background:var(--gn-surface-raised);border-radius:var(--gn-radius-md);padding:var(--gn-space-3);box-shadow:var(--gn-shadow-card);flex-wrap:wrap;display:flex}.gn-share-cta{bottom:calc(72px + env(safe-area-inset-bottom,0px));align-self:center;position:sticky}.gn-calendar-grid{background:var(--gn-surface-raised);border-radius:var(--gn-radius-md);padding:var(--gn-space-2);box-shadow:var(--gn-shadow-card);grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.gn-calendar-head{text-align:center;font-size:var(--gn-text-caption);color:var(--gn-ink-faint);padding:var(--gn-space-1) 0}.gn-calendar-cell{min-height:3rem;padding:var(--gn-space-1) 0;border-radius:var(--gn-radius-sm);flex-direction:column;align-items:center;gap:2px;display:flex}.gn-calendar-day{font-size:var(--gn-text-caption);color:var(--gn-ink-soft)}.gn-calendar-marks{font-size:var(--gn-text-caption)}.gn-notfound{padding-top:var(--gn-space-8);align-items:flex-start}.gn-card-hit{transition:transform var(--gn-dur-fast) var(--gn-ease-standard), box-shadow var(--gn-dur-fast) var(--gn-ease-standard)}.gn-card-hit:active{transform:scale(.985)}.gn-tab-item,.gn-btn,.gn-region-result{transition:background-color var(--gn-dur-fast) var(--gn-ease-standard), color var(--gn-dur-fast) var(--gn-ease-standard)}.gn-banner,.gn-modal-backdrop{animation:gn-fade-in var(--gn-dur-base) var(--gn-ease-standard)}.gn-summary-dot{transition:transform var(--gn-dur-fast) var(--gn-ease-standard)}@keyframes gn-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.gn-card-hit,.gn-tab-item,.gn-btn,.gn-region-result,.gn-summary-dot{transition:none}.gn-banner,.gn-modal-backdrop{animation:none}}button,input,a{transition:background-color var(--gn-dur-fast) var(--gn-ease-standard), border-color var(--gn-dur-fast) var(--gn-ease-standard), opacity var(--gn-dur-fast) var(--gn-ease-standard)}main{animation:gn-fade-in var(--gn-dur-base) var(--gn-ease-standard)}@media (prefers-reduced-motion:reduce){button,input,a{transition:none}main{animation:none}}
