:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px)}body{padding-bottom:var(--safe-area-bottom);-webkit-tap-highlight-color:transparent}html{background-color:#1a2a27}html,body,#root{overscroll-behavior-x:none;max-width:100%;overflow-x:hidden}@keyframes phieg-stagger-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.phieg-stagger{animation:.26s cubic-bezier(.4,0,.2,1) both phieg-stagger-in}@media (prefers-reduced-motion:reduce){.phieg-stagger{animation:none}}.route-fade{animation:.15s ease-out route-fade-in}@media (max-width:600px){.route-fade{animation:.22s cubic-bezier(.16,1,.3,1) route-fade-in-mobile}}@keyframes route-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes route-fade-in-mobile{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.route-fade{animation:none}}.cp-root{background:var(--cp-surface);color:var(--cp-text-high);font-family:var(--cp-font);flex-direction:column;height:100%;max-height:min(64vh,560px);display:flex}.cp-header{padding:14px 16px;padding-top:calc(14px + var(--safe-area-top,0px));border-bottom:1px solid var(--cp-border);flex:none;align-items:center;gap:10px;display:flex}.cp-header-icon{color:var(--cp-text-low);flex:none}.cp-input{min-width:0;color:var(--cp-text-high);font-family:var(--cp-font);background:0 0;border:none;outline:none;flex:1;font-size:16px}.cp-input::placeholder{color:var(--cp-text-low)}.cp-esc-hint{color:var(--cp-text-low);border:1px solid var(--cp-border-strong);text-transform:uppercase;letter-spacing:.04em;border-radius:6px;flex:none;padding:2px 7px;font-size:11px;font-weight:600}.cp-close{width:32px;height:32px;color:var(--cp-text-mid);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.cp-close:active{background:var(--cp-accent-subtle)}.cp-list{padding:6px 8px;padding-bottom:calc(8px + var(--safe-area-bottom,0px));overscroll-behavior:contain;flex:1;overflow-y:auto}.cp-group{letter-spacing:.09em;text-transform:uppercase;color:var(--cp-text-low);padding:10px 10px 4px;font-size:10.5px;font-weight:700}.cp-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;transition:background-color .12s;display:flex;position:relative}.cp-row-active{background:var(--cp-accent-subtle)}.cp-row-active:before{content:"";background:var(--cp-accent);border-radius:0 4px 4px 0;width:3px;position:absolute;top:7px;bottom:7px;left:0}.cp-row-icon{color:var(--cp-text-low);flex:none;font-size:18px!important}.cp-row-active .cp-row-icon{color:var(--cp-accent)}.cp-row-label{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:60%;font-size:13.5px;font-weight:500;overflow:hidden}.cp-row-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cp-text-mid);flex:1;font-size:12px;overflow:hidden}.cp-row-chip{letter-spacing:.03em;text-transform:uppercase;color:var(--cp-accent);background:var(--cp-accent-subtle);border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:600}.cp-hint{color:var(--cp-text-low);padding:14px 12px;font-size:12.5px}.cp-footer{border-top:1px solid var(--cp-border);color:var(--cp-text-low);flex:none;gap:16px;padding:8px 16px;font-size:11px;display:flex}@media (max-width:600px){.cp-root{color:#eaf2ef;background:#1a2a27}.cp-header,.cp-footer{border-color:#ffffff14}.cp-input{color:#eaf2ef}.cp-input::placeholder,.cp-header-icon,.cp-group,.cp-hint,.cp-footer,.cp-row-icon{color:#6f8782}.cp-close,.cp-row-sub{color:#a8bcb6}.cp-esc-hint{color:#6f8782;border-color:#ffffff1f}.cp-row-active{background:#7fb09a24}.cp-row-active:before{background:#7fb09a}.cp-row-active .cp-row-icon{color:#7fb09a}.cp-row-chip{color:#7fb09a;background:#7fb09a24}.cp-close:active{background:#7fb09a24}}@media (prefers-reduced-motion:reduce){.cp-row{transition:none}}.toast-viewport{z-index:1500;width:360px;max-width:calc(100vw - 40px);font-family:var(--toast-font);pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;background:var(--toast-surface);color:var(--toast-text);border-radius:var(--toast-radius);border-left:4px solid var(--toast-info);box-shadow:var(--toast-shadow);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.9rem;line-height:1.45;animation:.16s cubic-bezier(.16,1,.3,1) toast-in;display:flex}.toast-success{border-left-color:var(--toast-success)}.toast-error{border-left-color:var(--toast-error)}.toast-info{border-left-color:var(--toast-info)}.toast-warning{border-left-color:var(--toast-warning)}.toast-msg{word-break:break-word;flex:1}.toast-action{cursor:pointer;color:var(--toast-text);font:inherit;white-space:nowrap;background:0 0;border:1px solid #0d2f2c38;border-radius:6px;flex:none;align-self:center;padding:3px 10px;font-size:.82rem;font-weight:600}.toast-action:hover{background:#0d2f2c0f}.toast-close{cursor:pointer;color:#0d2f2c73;background:0 0;border:none;flex:none;padding:0 2px;font-size:1.15rem;line-height:1}.toast-close:hover{color:#0d2f2cd9}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (max-width:600px){.toast-viewport{left:12px;right:12px;bottom:calc(72px + var(--safe-area-bottom,0px));width:auto}.toast{color:#eaf2ef;background:#213432;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;border-right:1px solid #ffffff1a;box-shadow:0 8px 20px #00000042}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.toast{-webkit-backdrop-filter:saturate(1.5)blur(16px);backdrop-filter:saturate(1.5)blur(16px);background:#213432e0}}.toast-action{color:#eaf2ef;border-color:#ffffff38}.toast-action:hover{background:#ffffff14}.toast-close{color:#eaf2ef8c}.toast-close:hover{color:#eaf2efe6}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.login-root{width:100%;min-height:100vh;font-family:var(--lg-font);background:var(--lg-surface);color:var(--lg-text-high);margin:0;display:flex}.login-brand{color:#eaf2ef;background:radial-gradient(120% 80% at 18% 8%, #7fb09a38, transparent 58%), linear-gradient(150deg, var(--lg-teal-raised) 0%, var(--lg-teal-deep) 72%);flex:46%;justify-content:center;align-items:center;max-width:620px;padding:48px;display:flex;position:relative;overflow:hidden}.login-brand__inner{z-index:1;text-align:center;width:100%;max-width:380px;position:relative}.login-brand__logo{width:140px;height:auto;margin:0 auto 28px;display:block}.login-brand__tagline{color:#a8bcb6;margin:0;font-size:1.05rem;line-height:1.6}.login-brand__glow{pointer-events:none;background:radial-gradient(circle,#7fb09a33,#0000 65%);border-radius:50%;width:520px;height:520px;position:absolute;bottom:-180px;right:-160px}.login-form-pane{flex:54%;justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{text-align:center;width:100%;max-width:384px}.login-card__logo{width:72px;height:auto;margin:0 auto 24px;display:block}.login-card__logo--ondark{display:none}.login-card__title{letter-spacing:-.02em;color:var(--lg-text-high);margin:0 0 8px;font-size:1.75rem;font-weight:700;line-height:1.15}.login-card__subtitle{color:var(--lg-text-mid);margin:0 0 28px;font-size:.95rem;line-height:1.5}.login-card .login-field,.login-card .login-field__label,.login-card .login-field__hint,.login-card .login-alert{text-align:left}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{text-align:left;flex-direction:column;gap:7px;display:flex}.login-field__label{color:var(--lg-text-mid);font-size:.82rem;font-weight:600}.login-field__hint{color:#1f3a35;background:#7fb09a1f;border:1px solid #7fb09a4d;border-radius:10px;align-items:flex-start;gap:8px;margin-top:8px;padding:9px 12px;font-size:.82rem;font-weight:500;line-height:1.45;display:flex}.login-field__hint:before{content:"i";background:var(--lg-accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;margin-top:1px;font-family:Georgia,serif;font-size:.7rem;font-style:italic;font-weight:700;line-height:1;display:grid}.login-input{box-sizing:border-box;width:100%;color:var(--lg-text-high);border:1px solid var(--lg-border-strong);border-radius:var(--lg-radius-btn);background:#fff;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .12s,box-shadow .12s}.login-input::placeholder{color:#9aa8a3}.login-input:focus{border-color:var(--lg-accent);box-shadow:var(--lg-focus)}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-wrap .login-input{padding-right:62px}.login-reveal{color:var(--lg-text-mid);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:.8rem;font-weight:600;position:absolute;right:8px}.login-reveal:hover{color:var(--lg-accent-hover)}.login-submit{border-radius:var(--lg-radius-btn);background:var(--lg-accent);color:var(--lg-accent-contrast);cursor:pointer;border:none;margin-top:6px;padding:12px 16px;font-family:inherit;font-size:.95rem;font-weight:700;transition:background-color .12s,opacity .12s}.login-submit:hover:not(:disabled){background:var(--lg-accent-hover)}.login-submit:focus-visible{box-shadow:var(--lg-focus);outline:none}.login-submit:disabled{opacity:.6;cursor:progress}.login-alert{border-radius:var(--lg-radius-btn);background:var(--lg-danger-soft);color:#7f1d1d;border:1px solid #ef444466;align-items:center;gap:10px;margin-bottom:20px;padding:11px 14px;font-size:.88rem;line-height:1.4;display:flex}.login-alert__icon{background:var(--lg-danger);color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:.72rem;font-weight:700;display:grid}.login-forgot{color:var(--lg-accent-hover);margin-top:20px;font-size:.85rem;text-decoration:none;display:inline-block}.login-forgot:hover{text-decoration:underline}@media (max-width:860px){.login-brand{display:none}.login-root{background:radial-gradient(120% 80% at 18% 8%, #7fb09a38, transparent 58%), linear-gradient(150deg, var(--lg-teal-raised) 0%, var(--lg-teal-deep) 72%);--lg-text-high:#eaf2ef!important;--lg-text-mid:#a8bcb6!important;--lg-border:#ffffff1f!important;--lg-border-strong:#ffffff2e!important}.login-form-pane{padding:calc(7vh + var(--safe-area-top,0px)) 18px calc(32px + var(--safe-area-bottom,0px));align-items:flex-start}.login-card{background:var(--lg-teal-raised);border:1px solid #ffffff1a;border-radius:18px;padding:32px 24px 28px;box-shadow:0 16px 40px #0000004d}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.login-card{-webkit-backdrop-filter:saturate(1.5)blur(16px);backdrop-filter:saturate(1.5)blur(16px);background:#213432cc}}.login-card__logo--onlight{display:none}.login-card__logo--ondark{display:block}.login-input{color:var(--lg-text-high);background:#1a2a2799;border-color:#ffffff24}.login-input::placeholder{color:#a8bcb68c}.login-field__hint{color:#cfe4da}.login-alert{color:#fecaca}}@media (prefers-reduced-motion:reduce){.login-input,.login-submit{transition:none}}.cd-overlay{background:var(--cd-overlay);z-index:1400;animation:.14s ease-out cd-fade-in;position:fixed;top:0;bottom:0;left:0;right:0}.cd-content{background:var(--cd-surface);width:calc(100% - 32px);max-width:420px;color:var(--cd-text-high);border-radius:var(--cd-radius);box-shadow:var(--cd-shadow);z-index:1401;font-family:var(--cd-font);padding:24px;animation:.16s cubic-bezier(.16,1,.3,1) cd-pop-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.cd-content:focus{outline:none}.cd-title{color:var(--cd-text-high);margin:0;font-size:1.05rem;font-weight:700;line-height:1.35}.cd-description{color:var(--cd-text-mid);white-space:pre-line;margin:10px 0 0;font-size:.9rem;line-height:1.5}.cd-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.cd-btn{border-radius:var(--cd-radius-btn);cursor:pointer;border:1px solid #0000;padding:9px 16px;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1;transition:background-color .12s,border-color .12s,box-shadow .12s,opacity .12s}.cd-btn:focus-visible{box-shadow:var(--cd-focus-ring);outline:none}.cd-btn-cancel{color:var(--cd-text-mid);border-color:var(--cd-border);background:0 0}.cd-btn-cancel:hover{border-color:var(--cd-border-strong);background:#0d2f2c0d}.cd-btn-confirm{background:var(--cd-accent);color:var(--cd-accent-contrast)}.cd-btn-confirm:hover{background:var(--cd-accent-hover)}.cd-btn-danger{background:var(--cd-danger);color:#fff}.cd-btn-danger:hover{background:var(--cd-danger-hover)}@keyframes cd-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cd-pop-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.cd-overlay,.cd-content{animation:none}}.nf-root{box-sizing:border-box;width:100%;min-height:70vh;font-family:var(--nf-font);justify-content:center;align-items:center;padding:24px;display:flex}.nf-card{text-align:center;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--nf-radius);width:100%;max-width:420px;box-shadow:var(--nf-shadow);padding:40px 32px}.nf-code{letter-spacing:-.03em;color:var(--nf-accent);font-size:3.2rem;font-weight:800;line-height:1}.nf-title{color:var(--nf-text-high);margin:12px 0 8px;font-size:1.3rem;font-weight:700}.nf-text{color:var(--nf-text-mid);margin:0 0 24px;font-size:.95rem;line-height:1.5}.nf-btn{border-radius:var(--nf-radius-btn);background:var(--nf-accent);color:var(--nf-accent-contrast);cursor:pointer;border:none;padding:11px 22px;font-family:inherit;font-size:.92rem;font-weight:700;transition:background-color .12s}.nf-btn:hover{background:var(--nf-accent-hover)}.nf-btn:focus-visible{box-shadow:var(--nf-focus);outline:none}
