:root{--g-bg:#0a0a0a;--g-surface:#111;--g-surface-2:#1a1a1a;--g-border:#2a2a2a;--g-orange:#f97316;--g-orange-hover:#ea6c0a;--g-text:#e6e6e6;--g-text-muted:#777;--g-error:#ef4444;--g-radius:8px}body{background:var(--g-bg)}.g-page{background:var(--g-bg);min-height:100vh;color:var(--g-text);flex-direction:column;justify-content:center;align-items:center;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;display:flex}.g-brand{flex-direction:column;align-items:center;margin-bottom:2rem;display:flex}.g-logo{flex-shrink:0;width:72px;height:72px;margin-bottom:.75rem}.g-logo img{object-fit:contain;width:100%;height:100%}.g-brand-name{align-items:center;gap:.5rem;display:flex}.g-gp-logo{object-fit:contain;width:24px;height:24px}.g-brand-name span{color:var(--g-text-muted);letter-spacing:.02em;font-size:.875rem;font-weight:600}.g-card{background:var(--g-surface);border:1px solid var(--g-border);border-radius:var(--g-radius);text-align:center;width:100%;max-width:340px;padding:2rem}.g-card h1{color:var(--g-text);margin:0 0 1.5rem;font-size:1.125rem;font-weight:600}.g-field{text-align:left;margin-bottom:.875rem}.g-field label{color:var(--g-text-muted);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.g-field input{background:var(--g-bg);border:1px solid var(--g-border);width:100%;color:var(--g-text);border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.g-field input:focus{border-color:var(--g-orange)}.g-field input::placeholder{color:#444}.g-btn{cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s}.g-btn-primary{background:var(--g-orange);color:#000}.g-btn-primary:hover:not(:disabled){background:var(--g-orange-hover)}.g-btn:disabled{opacity:.55;cursor:not-allowed}.g-error{color:var(--g-error);text-align:left;margin:.5rem 0 .25rem;font-size:.8rem}.g-footer{color:var(--g-text-muted);border-top:1px solid var(--g-border);margin-top:1.25rem;padding-top:1.25rem;font-size:.8rem}.g-footer a{color:var(--g-orange);text-decoration:none}.g-footer a:hover{text-decoration:underline}.g-lang-picker{z-index:10;position:fixed;top:1rem;right:1rem}.g-lang-picker select{background:var(--g-surface);border:1px solid var(--g-border);color:var(--g-text-muted);cursor:pointer;border-radius:6px;outline:none;padding:.25rem .5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.75rem;transition:border-color .15s,color .15s}.g-lang-picker select:hover,.g-lang-picker select:focus{border-color:var(--g-orange);color:var(--g-text)}:root{--g-bg:#0a0a0a;--g-surface:#111;--g-surface-2:#1a1a1a;--g-border:#2a2a2a;--g-orange:#f97316;--g-orange-hover:#ea6c0a;--g-text:#e6e6e6;--g-text-muted:#777;--g-error:#ef4444;--g-radius:8px;--psc-phoenix:#f43f5e;--psc-dragon:#6366f1;--psc-sun:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--g-bg);color:var(--g-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{background:var(--g-surface);border-bottom:1px solid var(--g-border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.nav-brand{color:var(--g-text);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:700;display:flex}.nav-brand .sun{color:var(--g-orange)}.nav-right{align-items:center;gap:1rem;display:flex}.nav-link{color:var(--g-text-muted);font-size:.875rem;transition:color .15s}.nav-link:hover{color:var(--g-text)}.nav-cta{color:var(--g-orange);font-size:.875rem;font-weight:600}.nav-cta:hover{text-decoration:underline}.nav-sign-out{border:1px solid var(--g-border);color:var(--g-text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;transition:color .15s,border-color .15s}.nav-sign-out:hover{color:var(--g-text);border-color:#555}.home{text-align:center;justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:2rem;display:flex}.home-inner{max-width:600px}.home-powered-by{justify-content:center;align-items:center;gap:.375rem;margin-bottom:1.25rem;display:flex}.home-powered-by img{object-fit:contain;width:20px;height:20px}.home-powered-by span{letter-spacing:.1em;text-transform:uppercase;color:var(--g-text-muted);font-size:.75rem}.home-title{color:var(--g-text);margin:.75rem 0 1.25rem;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;line-height:1.08}.home-title .accent{color:var(--g-orange)}.home-sub{color:var(--g-text-muted);margin-bottom:2.25rem;font-size:1rem;line-height:1.6}.home-cta{background:var(--g-orange);color:#000;border-radius:6px;padding:.75rem 1.75rem;font-size:.9375rem;font-weight:600;transition:background .15s;display:inline-block}.home-cta:hover{background:var(--g-orange-hover)}.cycles-page{justify-content:center;min-height:calc(100vh - 56px);padding:3rem 1.5rem;display:flex}.cycles-inner{width:100%;max-width:720px}.cycles-header{margin-bottom:3rem}.cycles-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--g-text-muted);margin-bottom:.5rem;font-size:.75rem}.cycles-date{color:var(--g-text);font-size:1.5rem;font-weight:700}.cycles-list{flex-direction:column;gap:1.5rem;display:flex}.cycles-loading,.cycles-error{color:var(--g-text-muted);text-align:center;padding:3rem 0;font-size:.9375rem}.cycle-card{background:var(--g-surface);border:1px solid var(--g-border);border-radius:var(--g-radius);align-items:center;gap:2rem;padding:1.75rem;display:flex}.cycle-ring-wrap{flex-shrink:0;position:relative}.cycle-ring-center{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cycle-ring-pct{font-size:1rem;font-weight:700}.cycle-card-body{flex:1;min-width:0}.cycle-card-title{margin-bottom:.2rem;font-size:1rem;font-weight:700}.cycle-card-subtitle{color:var(--g-text-muted);margin-bottom:.75rem;font-size:.8125rem}.cycle-card-stats{flex-direction:column;gap:.3rem;list-style:none;display:flex}.cycle-card-stats li{color:var(--g-text-muted);font-size:.875rem}.cycle-card-stats li:before{content:"· ";color:var(--g-border)}.cycle-card-note{color:var(--g-text-muted);margin-top:.75rem;font-size:.8125rem;font-style:italic}.roman{font-family:Georgia,Times New Roman,serif;font-style:normal}.calendar-page{text-align:center;justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:2rem;display:flex}.calendar-inner{max-width:600px}.calendar-inner h1{margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.calendar-inner p{color:var(--g-text-muted);font-size:.9375rem;line-height:1.6}
