.portal-root{--p-bg:#0f0d0b;--p-bg-2:#191715;--p-bg-3:#22201e;--p-ink:#f5f1ec;--p-ink-2:#bab7b2;--p-ink-dim:#898681;--p-ink-faint:#605d59;--p-line:#2a2826;--p-line-2:#3a3735;--p-accent:var(--p-ink);--p-accent-ink:var(--p-bg);--p-positive:#58c38b;--p-warning:#f4a25c;--p-danger:#f3625b;--p-sans:var(--font-geist-sans),ui-sans-serif,system-ui,sans-serif;--p-mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,monospace;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--d-fast:.14s;--d-med:.22s;--d-slow:.28s;background:var(--p-bg);min-height:100vh;color:var(--p-ink);font-family:var(--p-sans);font-feature-settings:"ss01","cv11","cv01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@supports (color:lab(0% 0 0)){.portal-root{--p-bg:lab(3.70056% .364035 1.02936);--p-bg-2:lab(7.78358% .587344 1.70524);--p-bg-3:lab(12.4219% .589252 1.81206);--p-ink:lab(95.3832% .459492 3.01512);--p-ink-2:lab(74.5029% .463963 3.01807);--p-ink-dim:lab(55.9426% .470191 3.02218);--p-ink-faint:lab(39.7021% .478998 3.02813);--p-line:lab(16.4821% .58569 1.80963);--p-line-2:lab(23.4423% .581324 1.80668);--p-positive:lab(71.5554% -42.3463 18.6554);--p-warning:lab(74.0027% 26.297 48.9969);--p-danger:lab(61.1184% 56.3693 34.527)}}.portal-root *{box-sizing:border-box}@media (prefers-reduced-motion:reduce){.portal-root *,.portal-root :before,.portal-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portal-root .p-impersonation{background:var(--p-bg-3);color:var(--p-ink);border-bottom:1px solid var(--p-line-2);font-family:var(--p-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:11px;display:flex}.portal-root .p-impersonation:before{content:"";background:var(--p-warning);border-radius:999px;width:6px;height:6px;margin-right:-4px;display:inline-block}.portal-root .p-impersonation-link{color:var(--p-ink-2);transition:color var(--d-fast)var(--ease-out);border-bottom:1px solid;padding-bottom:1px;text-decoration:none}@media (hover:hover) and (pointer:fine){.portal-root .p-impersonation-link:hover{color:var(--p-ink)}}.portal-root .p-wrap{max-width:640px;margin:0 auto;padding:56px 24px 96px}@media (min-width:720px){.portal-root .p-wrap{max-width:720px;padding:72px 32px 120px}}.portal-root .p-brand{margin-bottom:36px}.portal-root .p-brand-mark{font-family:var(--p-mono);letter-spacing:.18em;color:var(--p-ink-dim);text-transform:uppercase;font-size:11px}.portal-root .p-brand-title{letter-spacing:-.022em;color:var(--p-ink);margin:10px 0 0;font-size:26px;font-weight:600}.portal-root .p-card{background:var(--p-bg-2);border:1px solid var(--p-line);transition:border-color var(--d-med)var(--ease-out);border-radius:16px;padding:28px 26px}.portal-root .p-section{margin-top:36px}.portal-root .p-h1{letter-spacing:-.018em;margin:0 0 6px;font-size:20px;font-weight:600}.portal-root .p-h2{font-family:var(--p-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--p-ink-dim);margin:0 0 16px;font-size:11px;font-weight:500}.portal-root .p-sub{color:var(--p-ink-dim);max-width:56ch;margin:0 0 24px;font-size:14px;line-height:1.55}.portal-root .p-label{font-family:var(--p-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--p-ink-dim);margin-bottom:8px;font-size:10px;font-weight:500;display:block}.portal-root .p-input{background:var(--p-bg);border:1px solid var(--p-line);width:100%;color:var(--p-ink);font-family:var(--p-sans);transition:border-color var(--d-fast)var(--ease-out),background-color var(--d-fast)var(--ease-out);border-radius:11px;outline:none;padding:13px 15px;font-size:15px}.portal-root .p-input:focus{border-color:var(--p-ink-2);background:var(--p-bg-2)}.portal-root .p-input::placeholder{color:var(--p-ink-faint)}.portal-root .p-btn{background:var(--p-accent);width:100%;color:var(--p-accent-ink);font-family:var(--p-sans);letter-spacing:.005em;cursor:pointer;transition:transform .16s var(--ease-out),opacity var(--d-fast)var(--ease-out),background-color var(--d-fast)var(--ease-out);will-change:transform;border:0;border-radius:11px;justify-content:center;align-items:center;margin-top:16px;padding:13px 20px;font-size:14px;font-weight:600;display:inline-flex}.portal-root .p-btn:active{transform:scale(.97)}.portal-root .p-btn[disabled]{opacity:.4;cursor:not-allowed}.portal-root .p-btn[aria-busy=true]{opacity:.88;cursor:progress}@media (hover:hover) and (pointer:fine){.portal-root .p-btn:hover{opacity:.92}}.portal-root .p-btn-spinner{vertical-align:-2px;opacity:0;width:14px;height:14px;animation:p-btn-spinner-in var(--d-fast)var(--ease-out)forwards,p-btn-spinner-spin .7s linear infinite;border:1.5px solid;border-top-color:#0000;border-radius:50%;margin-right:8px;display:inline-block}@keyframes p-btn-spinner-in{to{opacity:1}}@keyframes p-btn-spinner-spin{to{transform:rotate(360deg)}}.portal-root .p-btn-ghost{color:var(--p-ink);border:1px solid var(--p-line);background:0 0}@media (hover:hover) and (pointer:fine){.portal-root .p-btn-ghost:hover{border-color:var(--p-line-2);background:var(--p-bg-2)}}.portal-root .p-note{color:var(--p-ink-dim);margin-top:22px;font-size:12px}.portal-root .p-error{background:color-mix(in oklch,var(--p-danger)9%,transparent);border:1px solid color-mix(in oklch,var(--p-danger)36%,transparent);color:#ffaba2;color:lab(78.1849% 30.816 17.724);border-radius:10px;margin:0 0 16px;padding:11px 14px;font-size:13px}.portal-root .p-code-input{text-align:center;font-family:var(--p-mono);letter-spacing:.42em;padding:16px 0 16px .42em;font-size:30px}.portal-root .p-link{color:var(--p-ink);border-bottom:1px solid;padding-bottom:1px;text-decoration:none}.portal-root .p-link-button{color:var(--p-ink);font:inherit;cursor:pointer;transition:opacity var(--d-fast)var(--ease-out);background:0 0;border:0;border-bottom:1px solid;margin:0;padding:0 0 1px}@media (hover:hover) and (pointer:fine){.portal-root .p-link-button:hover{opacity:.72}}.portal-root .p-step{animation:p-step-in var(--d-med)var(--ease-out)forwards}@keyframes p-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portal-root .p-error-in{animation:p-error-in var(--d-fast)var(--ease-out)forwards}@keyframes p-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.portal-root .p-skel{background:var(--p-bg-2);animation:p-skel-pulse 1.4s var(--ease-in-out)infinite;border-radius:11px}@keyframes p-skel-pulse{0%,to{opacity:.45}50%{opacity:.75}}.portal-root .p-skel-line{border-radius:4px;height:14px}.portal-root .p-skel-w-50{width:50px}.portal-root .p-skel-w-80{width:80px}.portal-root .p-skel-w-120{width:120px}.portal-root .p-skel-tab{border-radius:8px;width:84px;height:32px;margin:0 4px}.portal-root .p-skel-stat{height:88px}.portal-root .p-skel-card{width:100%}.portal-root .p-top{margin-bottom:28px}.portal-root .p-top-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.portal-root .p-top-week{font-family:var(--p-mono);letter-spacing:.08em;color:var(--p-ink-dim);text-transform:uppercase;margin-top:4px;font-size:11px}.portal-root .p-top-link{font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-dim);border:1px solid var(--p-line);transition:color var(--d-fast)var(--ease-out),border-color var(--d-fast)var(--ease-out);border-radius:8px;padding:8px 12px;font-size:10px;text-decoration:none}@media (hover:hover) and (pointer:fine){.portal-root .p-top-link:hover{color:var(--p-ink);border-color:var(--p-line-2)}}.portal-root .p-tabs{background:var(--p-bg-2);border:1px solid var(--p-line);scrollbar-width:none;border-radius:11px;gap:2px;margin:16px 0 14px;padding:4px;display:flex;overflow-x:auto}.portal-root .p-tabs::-webkit-scrollbar{display:none}.portal-root .p-tab{text-align:center;color:var(--p-ink-dim);letter-spacing:-.005em;transition:color var(--d-fast)var(--ease-out),background-color var(--d-med)var(--ease-out);border-radius:7px;flex:1 0 auto;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none}@media (hover:hover) and (pointer:fine){.portal-root .p-tab:hover{color:var(--p-ink)}}.portal-root .p-tab-active{background:var(--p-bg);color:var(--p-ink);box-shadow:0 1px 0 var(--p-line-2)}.portal-root .p-progress{background:var(--p-line);border-radius:999px;height:3px;overflow:hidden}.portal-root .p-progress-fill{background:var(--p-ink-2);height:100%;transition:width .48s var(--ease-out);transform-origin:0}.portal-root .p-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:32px;display:grid}@media (min-width:640px){.portal-root .p-stat-grid{grid-template-columns:repeat(4,1fr);gap:12px}}.portal-root .p-stat{background:var(--p-bg-2);border:1px solid var(--p-line);opacity:0;animation:p-stat-in .36s var(--ease-out)forwards;border-radius:14px;padding:14px 14px 16px;transform:translateY(6px)}.portal-root .p-stat:first-child{animation-delay:0s}.portal-root .p-stat:nth-child(2){animation-delay:50ms}.portal-root .p-stat:nth-child(3){animation-delay:.1s}.portal-root .p-stat:nth-child(4){animation-delay:.15s}@keyframes p-stat-in{to{opacity:1;transform:translateY(0)}}.portal-root .p-stat-label{font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-dim);margin-bottom:8px;font-size:10px}.portal-root .p-stat-value{letter-spacing:-.022em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.portal-root .p-stat-down .p-stat-value{color:var(--p-positive)}.portal-root .p-stat-up .p-stat-value{color:var(--p-warning)}.portal-root .p-quicklog-row{display:block}.portal-root .p-quicklog-input-row{gap:10px;display:flex}.portal-root .p-quicklog-input-row .p-input{font-variant-numeric:tabular-nums;flex:1;margin:0}.portal-root .p-quicklog-btn{width:auto;margin-top:0;padding-left:22px;padding-right:22px}.portal-root .p-quicklog-confirm{font-family:var(--p-mono);letter-spacing:.04em;color:var(--p-ink-dim);margin:12px 0 0;font-size:11px}.portal-root .p-habit-grid{grid-template-columns:1fr;gap:8px;display:grid}.portal-root .p-habit{background:var(--p-bg-2);border:1px solid var(--p-line);transition:border-color var(--d-med)var(--ease-out),background-color var(--d-med)var(--ease-out);border-radius:14px;align-items:flex-start;gap:14px;padding:14px;display:flex}.portal-root .p-habit-hit{background:color-mix(in oklch,var(--p-positive)6%,var(--p-bg-2));border-color:color-mix(in oklch,var(--p-positive)28%,var(--p-line))}.portal-root .p-habit-toggle{cursor:pointer;transition:transform .16s var(--ease-out);background:0 0;border:0;padding:0}.portal-root .p-habit-toggle:active{transform:scale(.92)}.portal-root .p-habit-ring{border:1.5px solid var(--p-line-2);width:34px;height:34px;color:var(--p-bg);transition:background-color var(--d-med)var(--ease-out),border-color var(--d-med)var(--ease-out),color var(--d-fast)var(--ease-out);background:0 0;border-radius:999px;justify-content:center;align-items:center;font-size:14px;font-weight:700;line-height:1;display:inline-flex;position:relative}.portal-root .p-habit-hit .p-habit-ring{background:var(--p-positive);border-color:var(--p-positive)}.portal-root .p-habit-body{flex:1;min-width:0}.portal-root .p-habit-name{letter-spacing:-.012em;font-size:15px;font-weight:500}.portal-root .p-habit-target{font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-dim);margin-top:3px;font-size:10px}.portal-root .p-habit-info-btn{color:var(--p-ink-dim);font-family:var(--p-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color var(--d-fast)var(--ease-out);background:0 0;border:0;margin-top:10px;padding:0;font-size:10px}@media (hover:hover) and (pointer:fine){.portal-root .p-habit-info-btn:hover{color:var(--p-ink)}}.portal-root .p-habit-info{color:var(--p-ink-2);opacity:0;max-width:56ch;animation:p-habit-info-in .22s var(--ease-out)forwards;margin:10px 0 0;font-size:13px;line-height:1.55}.portal-root .p-habit-error{color:#ffaba2;color:lab(78.1849% 30.816 17.724);word-break:break-word;margin:10px 0 0;font-size:12px;line-height:1.45}@keyframes p-habit-info-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.portal-root .p-mini{background:var(--p-bg-2);border:1px solid var(--p-line);border-radius:14px;gap:7px;padding:16px;display:grid}.portal-root .p-mini-head,.portal-root .p-mini-row{grid-template-columns:80px repeat(7,1fr);align-items:center;gap:7px;display:grid}.portal-root .p-mini-day,.portal-root .p-mini-corner,.portal-root .p-mini-label{font-family:var(--p-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--p-ink-dim);font-size:10px}.portal-root .p-mini-day{text-align:center;color:var(--p-ink-dim);transition:background-color var(--d-fast)var(--ease-out),border-color var(--d-fast)var(--ease-out),color var(--d-fast)var(--ease-out);border:1px solid #0000;border-radius:7px;flex-direction:column;align-items:center;gap:1px;padding:3px 0;text-decoration:none;display:flex}.portal-root .p-mini-label{text-align:left}.portal-root .p-mini-day-num{font-family:var(--p-sans);color:var(--p-ink-2);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.portal-root a.p-mini-day{cursor:pointer}@media (hover:hover) and (pointer:fine){.portal-root a.p-mini-day:hover{border-color:var(--p-line-2);background:var(--p-bg-3);color:var(--p-ink)}}.portal-root .p-mini-day-today .p-mini-day-letter{color:var(--p-ink)}.portal-root .p-mini-day-selected{background:var(--p-bg-3);border-color:var(--p-line-2);color:var(--p-ink)}.portal-root .p-mini-day-selected .p-mini-day-num{color:var(--p-ink)}.portal-root .p-mini-cell{background:var(--p-line);height:16px;transition:background-color var(--d-med)var(--ease-out),box-shadow var(--d-fast)var(--ease-out);border-radius:4px}.portal-root .p-mini-cell-hit{background:var(--p-positive)}.portal-root .p-mini-cell-selected{box-shadow:inset 0 0 0 1.5px var(--p-ink-2)}.portal-root .p-datepicker{display:block}.portal-root .p-datepicker-row{align-items:stretch;gap:10px;display:flex}.portal-root .p-datepicker-arrow{background:var(--p-bg-2);border:1px solid var(--p-line);width:44px;color:var(--p-ink-2);cursor:pointer;transition:transform .16s var(--ease-out),border-color var(--d-fast)var(--ease-out),color var(--d-fast)var(--ease-out),opacity var(--d-fast)var(--ease-out);border-radius:11px;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.portal-root .p-datepicker-arrow:active{transform:scale(.94)}.portal-root .p-datepicker-arrow[disabled]{opacity:.32;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.portal-root .p-datepicker-arrow:not([disabled]):hover{border-color:var(--p-line-2);color:var(--p-ink)}}.portal-root .p-datepicker-field{background:var(--p-bg-2);border:1px solid var(--p-line);cursor:pointer;min-height:46px;transition:border-color var(--d-fast)var(--ease-out);border-radius:11px;flex:1;justify-content:center;align-items:center;padding:0 14px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.portal-root .p-datepicker-field:hover{border-color:var(--p-line-2)}}.portal-root .p-datepicker-day{letter-spacing:-.012em;color:var(--p-ink);pointer-events:none;font-size:15px;font-weight:600}.portal-root .p-datepicker-input{opacity:0;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.portal-root .p-datepicker-note{font-family:var(--p-mono);letter-spacing:.04em;color:var(--p-ink-dim);margin:12px 0 0;font-size:11px}.portal-root .p-datepicker-today{color:var(--p-ink-2);font:inherit;letter-spacing:inherit;text-underline-offset:2px;cursor:pointer;transition:color var(--d-fast)var(--ease-out);background:0 0;border:0;padding:0;text-decoration:underline}@media (hover:hover) and (pointer:fine){.portal-root .p-datepicker-today:hover{color:var(--p-ink)}}.portal-root .p-chart-wrap{background:var(--p-bg-2);border:1px solid var(--p-line);border-radius:14px;padding:18px}.portal-root .p-chart-canvas{display:block}.portal-root .p-notes-empty{background:var(--p-bg-2);border:1px dashed var(--p-line-2);color:var(--p-ink-dim);border-radius:14px;padding:22px;font-size:13px;line-height:1.55}.portal-root .p-notes-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.portal-root .p-note{background:var(--p-bg-2);border:1px solid var(--p-line);border-radius:12px;padding:16px 18px;position:relative}.portal-root .p-note:before{content:"";background:var(--p-ink-2);border-radius:0 2px 2px 0;width:2px;position:absolute;top:18px;bottom:18px;left:0}.portal-root .p-note-meta{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.portal-root .p-note-author{font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-2);font-size:10px;font-weight:500}.portal-root .p-note-date{font-family:var(--p-mono);color:var(--p-ink-faint);font-size:10px}.portal-root .p-note-body{white-space:pre-wrap;color:var(--p-ink);margin:0;font-size:14px;line-height:1.6}.portal-root .p-wl-form{gap:14px;display:grid}.portal-root .p-wl-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-root .p-wl-field .p-input{margin-top:0}.portal-root .p-wl-table-wrap{background:var(--p-bg-2);border:1px solid var(--p-line);border-radius:14px;overflow:hidden}.portal-root .p-wl-table{border-collapse:collapse;width:100%;font-size:13px}.portal-root .p-wl-table th{text-align:left;font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-dim);border-bottom:1px solid var(--p-line);padding:14px 16px;font-size:10px;font-weight:500}.portal-root .p-wl-table td{border-bottom:1px solid var(--p-line);color:var(--p-ink);padding:13px 16px}.portal-root .p-wl-table tr:last-child td{border-bottom:0}.portal-root .p-wl-table tr{transition:background-color var(--d-fast)var(--ease-out)}@media (hover:hover) and (pointer:fine){.portal-root .p-wl-table tbody tr:hover{background:var(--p-bg-3)}}.portal-root .p-num{text-align:right;font-family:var(--p-mono);font-variant-numeric:tabular-nums}.portal-root .p-wl-weight{font-weight:600}.portal-root .p-wl-delta-down{color:var(--p-positive)}.portal-root .p-wl-delta-up{color:var(--p-warning)}.portal-root .p-wl-note{color:var(--p-ink-dim);text-overflow:ellipsis;white-space:nowrap;max-width:32ch;overflow:hidden}.portal-root .p-wl-delete{color:var(--p-ink-faint);cursor:pointer;transition:color var(--d-fast)var(--ease-out),background-color var(--d-fast)var(--ease-out);background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1}@media (hover:hover) and (pointer:fine){.portal-root .p-wl-delete:hover{color:#ffaba2;color:lab(78.1849% 30.816 17.724);background:color-mix(in oklch,var(--p-danger)14%,transparent)}}.portal-root .p-lb-list{background:var(--p-bg-2);border:1px solid var(--p-line);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.portal-root .p-lb-row{border-bottom:1px solid var(--p-line);grid-template-columns:36px 1fr auto;align-items:center;gap:14px;padding:15px 18px;display:grid}.portal-root .p-lb-row:last-child{border-bottom:0}.portal-root .p-lb-self{background:color-mix(in oklch,var(--p-ink)4%,var(--p-bg-2))}.portal-root .p-lb-rank{font-family:var(--p-mono);letter-spacing:.08em;color:var(--p-ink-dim);border:1px solid var(--p-line-2);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;display:inline-flex}.portal-root .p-lb-rank-1{color:var(--p-ink);border-color:var(--p-ink-2);background:color-mix(in oklch,var(--p-ink)8%,transparent)}.portal-root .p-lb-rank-2,.portal-root .p-lb-rank-3{color:var(--p-ink-2)}.portal-root .p-lb-name{letter-spacing:-.008em;font-size:14px;font-weight:500}.portal-root .p-lb-name-self{color:var(--p-ink)}.portal-root .p-lb-name-self:after{content:"you";font-family:var(--p-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--p-ink-faint);border:1px solid var(--p-line-2);vertical-align:1px;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:9px}.portal-root .p-lb-value{font-family:var(--p-mono);color:var(--p-ink-dim);font-variant-numeric:tabular-nums;font-size:12px}.portal-root .p-lb-empty{color:var(--p-ink-dim);padding:22px 18px;font-size:13px}.portal-root .p-photos{background:var(--p-bg-2);border:1px solid var(--p-line);border-radius:14px;gap:10px;padding:14px;display:grid}.portal-root .p-photos-head,.portal-root .p-photos-row{grid-template-columns:36px repeat(3,1fr);align-items:center;gap:10px;display:grid}.portal-root .p-photos-angle{font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-dim);text-align:center;font-size:10px}.portal-root .p-photos-week{font-family:var(--p-mono);letter-spacing:.06em;color:var(--p-ink-dim);text-align:center;font-size:11px;font-weight:500}.portal-root .p-photos-cell{aspect-ratio:3/4;background:var(--p-bg);border:1px solid var(--p-line);transition:border-color var(--d-fast)var(--ease-out);border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.portal-root .p-photos-cell:hover{border-color:var(--p-line-2)}}.portal-root .p-photos-img{object-fit:cover;opacity:0;width:100%;height:100%;animation:p-photo-in .28s var(--ease-out)forwards;position:absolute;inset:0}@keyframes p-photo-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.portal-root .p-photos-busy{background:color-mix(in oklch,var(--p-bg)70%,transparent);color:var(--p-ink);font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.portal-root .p-photos-input{display:none}.portal-root .p-photos-upload{z-index:1;color:var(--p-ink-dim);font-family:var(--p-mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:0;border:1px solid var(--p-line);transition:color var(--d-fast)var(--ease-out),border-color var(--d-fast)var(--ease-out),transform .16s var(--ease-out);background:0 0;border-radius:7px;padding:6px 10px;font-size:10px;font-weight:500;position:relative}.portal-root .p-photos-upload:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.portal-root .p-photos-upload:hover{color:var(--p-ink);border-color:var(--p-line-2)}}.portal-root .p-photos-x{background:color-mix(in oklch,var(--p-bg)60%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid color-mix(in oklch,var(--p-ink)20%,transparent);width:22px;height:22px;color:var(--p-ink);cursor:pointer;z-index:2;transition:background-color var(--d-fast)var(--ease-out),border-color var(--d-fast)var(--ease-out),transform .16s var(--ease-out);border-radius:999px;font-size:13px;line-height:1;position:absolute;top:6px;right:6px}.portal-root .p-photos-x:active{transform:scale(.92)}@media (hover:hover) and (pointer:fine){.portal-root .p-photos-x:hover{background:var(--p-danger);border-color:var(--p-danger)}}@property --p-prestart-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.portal-root .p-prestart{background:conic-gradient(from var(--p-prestart-angle),#ee343b,#007ae7,#ee343b);border-radius:18px;padding:2px;animation:6s linear infinite p-prestart-rotate;position:relative}@supports (color:lab(0% 0 0)){.portal-root .p-prestart{background:conic-gradient(from var(--p-prestart-angle),lab(53.6853% 69.6775 43.7724),lab(49.4801% 6.88157 -74.0519),lab(53.6853% 69.6775 43.7724))}}.portal-root .p-prestart-inner{background:var(--p-bg-2);border-radius:16px;padding:28px 26px}@keyframes p-prestart-rotate{to{--p-prestart-angle:360deg}}.portal-root .p-prestart-countdown{font-family:var(--p-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--p-ink-2);margin:6px 0 14px;font-size:12px}.portal-root .p-steps-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.portal-root .p-steps-head .p-label{margin-bottom:8px}.portal-root .p-steps-target{font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-dim);margin-bottom:8px;font-size:10px}.portal-root .p-steps-confirm-hit{color:var(--p-positive)}.portal-root .p-steps-info-btn{cursor:pointer;font-family:var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ink-dim);text-underline-offset:3px;transition:color var(--d-fast)var(--ease-out);background:0 0;border:0;margin-top:12px;padding:0;font-size:10px;text-decoration:underline}@media (hover:hover) and (pointer:fine){.portal-root .p-steps-info-btn:hover{color:var(--p-ink)}}.portal-root .p-leader{background:var(--p-bg-2);border:1px solid var(--p-line);border-radius:14px;gap:8px;margin:0;padding:14px 16px;list-style:none;display:grid}.portal-root .p-leader-row{grid-template-columns:22px minmax(80px,1fr) minmax(0,2.2fr) auto;align-items:center;gap:10px;padding:4px 0;display:grid}.portal-root .p-leader-rank{font-family:var(--p-mono);color:var(--p-ink-dim);text-align:right;font-size:12px}.portal-root .p-leader-name{color:var(--p-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.portal-root .p-leader-bar-wrap{background:color-mix(in oklch,var(--p-line)60%,transparent);border-radius:999px;height:8px;overflow:hidden}.portal-root .p-leader-bar{background:var(--p-positive);height:100%;transition:width var(--d-med)var(--ease-out);border-radius:999px;display:block}.portal-root .p-leader-value{font-family:var(--p-mono);color:var(--p-ink-2);letter-spacing:.02em;font-size:12px}.portal-root .p-leader-you .p-leader-name{color:var(--p-positive);font-weight:600}.portal-root .p-leader-you .p-leader-bar{background:color-mix(in oklch,var(--p-positive)100%,transparent);box-shadow:0 0 0 1px color-mix(in oklch,var(--p-positive)50%,transparent)}
