.nfc-loader{animation:.25s .15s both nfc-appear;overflow:visible}.nfc-loader-wrap{color:var(--muted);text-align:center;justify-content:center;display:flex;position:relative}.nfc-loader-wrap>div{white-space:nowrap;margin-top:.6rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}.nfc-tag-ring{fill:none;stroke:var(--nfc-tag,var(--accent-text,#5b5fe0));stroke-width:6px}.nfc-tag-dot{fill:var(--nfc-tag,var(--accent-text,#5b5fe0))}.nfc-ripple{fill:none;stroke:var(--nfc-tag,var(--accent-text,#5b5fe0));stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite nfc-ripple}.nfc-ripple-2{animation-delay:.22s}.nfc-phone{animation:1.8s cubic-bezier(.22,.9,.3,1) infinite nfc-phone}.nfc-phone-body{fill:var(--nfc-phone-fill,var(--surface,#fff));stroke:var(--nfc-phone-stroke,var(--ink,#1b1a3b));stroke-width:3px}.nfc-phone-speaker{fill:var(--nfc-phone-stroke,var(--ink,#1b1a3b));opacity:.5}.nfc-loader-light{--nfc-tag:#fff;--nfc-phone-stroke:#fff;--nfc-phone-fill:#ffffff24}@keyframes nfc-appear{0%{opacity:0}to{opacity:1}}@keyframes nfc-phone{0%{opacity:0;transform:translate(24px)}12%{opacity:1}38%{opacity:1;transform:translate(0)}44%{transform:translate(-3px)}50%{transform:translate(0)}84%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes nfc-ripple{0%,44%{opacity:0;transform:scale(1)}48%{opacity:.55}82%,to{opacity:0;transform:scale(2.3)}}@media (prefers-reduced-motion:reduce){.nfc-loader,.nfc-phone,.nfc-ripple{animation:none}.nfc-ripple{opacity:0}}.sx-page,.sx{--sx-bg:var(--night-bg);--sx-surface:var(--night-surface);--sx-surface-2:var(--night-surface-2);--sx-text:var(--night-text);--sx-text-2:var(--night-text-2);--sx-muted:var(--night-muted);--sx-hint:var(--night-hint)}.sx-page{background:var(--sx-bg);min-height:100dvh}.sx{--accent:var(--night-green);--accent-text:var(--night-green-text);--accent-halo:var(--night-green-halo);--on-accent:var(--night-on-green);box-sizing:border-box;max-width:480px;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));background:var(--sx-bg);color:var(--sx-text);font-family:var(--font-display);-webkit-font-smoothing:antialiased;flex-direction:column;gap:20px;margin:0 auto;display:flex}.sx-error{--accent:var(--night-red);--accent-text:var(--night-red-text);--accent-halo:var(--night-red-halo);--on-accent:var(--night-on-red)}.sx-warn{--accent:var(--night-amber);--accent-text:var(--night-amber-text);--accent-halo:var(--night-amber-halo);--on-accent:var(--night-on-amber)}.sx-info{--accent:var(--night-indigo);--accent-text:var(--night-indigo-text);--accent-halo:var(--night-indigo-halo);--on-accent:var(--night-on-indigo)}.sx-page-warn,.sx-warn{--sx-bg:var(--night-warn-bg);--accent-text:var(--night-warn-status)}.sx-page-error,.sx-error{--sx-bg:var(--night-error-bg);--accent-text:var(--night-error-status)}.sx-page-warn,.sx-page-error,.sx-warn,.sx-error{--sx-surface:var(--night-tint-surface);--sx-surface-2:var(--night-tint-surface);--sx-text:var(--night-white);--sx-text-2:var(--night-white);--sx-muted:var(--night-tint-muted);--sx-hint:var(--night-tint-muted);--accent:var(--night-white);--accent-halo:var(--night-tint-halo);--on-accent:var(--sx-bg)}.sx-warn .sx-button-go,.sx-error .sx-button-go{background:var(--night-white);color:var(--sx-bg)}.sx-warn .sx-button-secondary,.sx-error .sx-button-secondary{background:var(--sx-surface-2);color:var(--sx-text-2)}.sx-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.sx-chip{background:var(--sx-surface-2);min-width:0;color:var(--sx-text-2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:12px 18px;font-size:18px;font-weight:700;overflow:hidden}.sx-home{background:var(--sx-surface-2);width:60px;height:60px;color:var(--sx-text-2);border-radius:18px;flex:none;place-items:center;display:grid}.sx-confirm{text-align:center;flex-direction:column;align-items:center;gap:14px;padding-top:8px;display:flex}.sx-halo{background:var(--accent-halo);border-radius:50%;place-items:center;width:156px;height:156px;display:grid}.sx-dot{background:var(--accent);width:116px;height:116px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid}.sx-dot .nfc-loader{transform:scale(.8)}.sx-draw{stroke-dasharray:24;stroke-dashoffset:0}.sx-status{color:var(--accent-text);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:24px;font-weight:800}.sx-status time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.sx-title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:46px;font-weight:800;line-height:1.02}.sx-title-sm{font-size:34px;line-height:1.1}.sx-card{background:var(--sx-surface);border-radius:24px;flex-direction:column;gap:16px;padding:20px;display:flex}.sx-text{color:var(--sx-text-2);font-family:var(--font-sans);margin:0;font-size:19px;font-weight:500;line-height:1.4}.sx-text b{color:var(--sx-text);font-weight:600}.sx-muted{color:var(--sx-muted);font-family:var(--font-sans);margin:0;font-size:16px;font-weight:500;line-height:1.4}.sx-big-time{color:var(--accent-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0;font-size:44px;font-weight:500;line-height:1}.sx-progress-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sx-round{font-size:24px;font-weight:800}.sx-count{color:var(--night-green-text);white-space:nowrap;font-size:30px;font-weight:800}.sx-round span,.sx-count span{color:var(--night-muted)}.sx-count span{font-size:22px}.sx-segments{gap:8px;display:flex}.sx-segments i{background:var(--night-track);border-radius:9px;flex:1;height:18px}.sx-segments i.sx-seg-done{background:var(--night-green)}.sx-spacer{flex:1}.sx-actions{bottom:env(safe-area-inset-bottom,0px);z-index:1;background:linear-gradient(to bottom, transparent, var(--sx-bg) 12px);text-align:center;flex-direction:column;align-items:stretch;gap:12px;margin:-12px -4px 0;padding:12px 4px 0;display:flex;position:sticky}.sx-button{box-sizing:border-box;background:var(--accent);width:100%;min-height:100px;color:var(--on-accent);font:800 25px/1.1 var(--font-display);text-align:center;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border:0;border-radius:24px;justify-content:center;align-items:center;gap:16px;padding:12px 20px;text-decoration:none;display:flex}.sx-button:active{transform:scale(.98)}.sx-button-go{background:var(--night-green);color:var(--night-on-green)}.sx-button-secondary{background:var(--sx-surface-2);min-height:60px;color:var(--sx-text-2);text-transform:none;border-radius:18px;font-size:20px;font-weight:700}.sx-hint{color:var(--sx-hint);font-family:var(--font-sans);margin:0;font-size:17px;font-weight:500;line-height:1.35}.sx-armed{flex-direction:column;gap:12px;display:flex}.sx :focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.sx-halo-pop{animation:.38s cubic-bezier(.2,.9,.3,1.3) both sx-pop}.sx-halo-pop .sx-draw{stroke-dashoffset:24px;animation:.36s ease-out .18s forwards sx-draw}.sx-segments i.sx-seg-new{animation:.42s ease-out .3s both sx-fill}}@keyframes sx-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes sx-draw{to{stroke-dashoffset:0}}@keyframes sx-fill{0%{background:var(--night-track)}to{background:var(--night-green)}}@media (height<=700px){.sx{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:12px}.sx-halo{width:92px;height:92px}.sx-dot{width:70px;height:70px}.sx-dot svg{width:42px;height:42px}.sx-dot .nfc-loader{transform:scale(.55)}.sx-confirm{gap:8px;padding-top:0}.sx-title{font-size:32px}.sx-title-sm{font-size:26px}.sx-status{font-size:20px}.sx-card{gap:12px;padding:16px}.sx-text{font-size:17px}}.sx-center{text-align:center}.qr-loading{z-index:100;color:#fff;text-align:center;background:#0d0d1f;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:fixed;inset:0}.qr-loading p{max-width:22rem;margin:0}.brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;font-weight:700;line-height:1;display:inline-block}.brand-i{color:var(--accent-text);margin-left:.07em}.brand-o{vertical-align:-.077em;width:.878em;height:.714em;color:var(--accent-text);margin-left:-.03em}.theme-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);width:32px;height:32px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--soft)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle-floating{z-index:60;position:fixed;top:.75rem;right:.75rem}@media print{.theme-toggle{display:none!important}}.soon{place-items:center;min-height:100dvh;padding:1.5rem 1rem;display:grid}.soon-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);text-align:center;flex-direction:column;align-items:center;gap:.5rem;width:min(100%,30rem);padding:2.5rem 1.5rem 2rem;display:flex}.soon-visual{color:var(--accent);place-items:center;margin:1.25rem 0 .25rem;display:grid;transform:scale(1.2)}.soon-title{margin:.75rem 0 0;font-size:2.4rem;line-height:1.1}.soon-text{max-width:24rem;color:var(--muted);margin:0;font-size:1.05rem}.soon-audience{color:var(--ink);margin-top:.4rem;font-size:1rem}.soon-chips{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.soon-chips li{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.soon-form{border-top:1px solid var(--border);text-align:left;gap:.6rem;width:100%;margin-top:1.5rem;padding-top:1.25rem;display:grid}.soon-form-title{text-align:center;margin:0;font-size:1.05rem;line-height:1.3}.soon-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.soon-form-row{flex-wrap:wrap;gap:.5rem;display:flex}.soon-input{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);min-width:0;min-height:46px;color:var(--ink);font:inherit;flex:13rem;padding:0 .9rem}.soon-input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.soon-submit{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);min-height:46px;color:var(--on-accent);font:inherit;cursor:pointer;flex:none;padding:0 1.3rem;font-weight:600}.soon-submit:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.soon-submit:disabled{opacity:.65;cursor:progress}.soon-submit:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.soon-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.soon-consent{color:var(--ink);cursor:pointer;align-items:flex-start;gap:.6rem;font-size:.9rem;line-height:1.4;display:flex}.soon-consent input{width:1.15rem;height:1.15rem;accent-color:var(--accent);flex:none;margin-top:.15rem}.soon-error{border-radius:var(--radius-control);background:var(--danger-soft);color:var(--danger);margin:0;padding:.6rem .8rem;font-size:.9rem}.soon-thanks{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent-soft);width:100%;color:var(--accent-ink);margin:1.5rem 0 0;padding:.9rem 1rem;font-weight:600}.soon-privacy{color:var(--muted);font-size:.8rem;line-height:1.45}.soon-privacy summary{cursor:pointer}.soon-privacy ul{margin:.5rem 0 0;padding-left:1.1rem}.soon-privacy li+li{margin-top:.35rem}.soon-privacy a{color:var(--accent-ink)}.soon-login{color:var(--muted);margin-top:1.25rem;font-size:.85rem;text-decoration:underline}.soon-login:hover{color:var(--ink)}.soon-login:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dd-menu{display:inline-block;position:relative}.dd-trigger{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:7px;padding:7px 12px;font-size:.9rem;font-weight:500;display:inline-flex}.dd-trigger:hover{background:var(--soft)}.dd-menu-list{z-index:60;border:1px solid var(--border);background:var(--surface);min-width:16rem;color:var(--ink);border-radius:14px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px -8px #1b1a3b47}.dd-menu-list.dd-align-right{left:auto;right:0}.dd-menu-header{border-bottom:1px solid var(--border);margin-bottom:4px;padding:8px 10px 10px}.dd-menu-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:flex-start;gap:10px;padding:8px 10px;font-size:13px;display:flex}.dd-menu-icon{color:var(--muted);flex:none;margin-top:1px;display:inline-flex}.dd-menu-text{flex-direction:column;gap:1px;display:flex}.dd-menu-text small{color:var(--muted);font-size:12px}.dd-menu-item:hover,.dd-menu-item:focus-visible{background:var(--soft);outline:none}.dd-menu-item-danger,.dd-menu-item-danger .dd-menu-icon{color:var(--danger)}@media print{.dd-menu{display:none}}.account-trigger{border:1px solid var(--border-strong);background:var(--surface);height:38px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.55rem;padding:0 .6rem 0 4px;font-size:.9rem;display:inline-flex}.account-trigger:hover{background:var(--soft)}.account-avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:500;display:inline-flex}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:11rem;overflow:hidden}.account-chevron{color:var(--muted)}.account-card{flex-direction:column;gap:2px;display:flex}.account-card-name{font-weight:500}.account-card-role,.account-card-login{color:var(--muted);font-size:12px}.account-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-avatar-button{border:2px solid var(--home-line);background:var(--home-avatar);width:60px;height:60px;color:var(--home-text-2);font-family:var(--font-display);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;font-size:18px;font-weight:800;display:grid}.account-avatar-button:focus-visible{outline:3px solid var(--home-accent);outline-offset:3px}.rounds-cells{flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.rounds-cell{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:.8rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-width:0;padding:.65rem .2rem .6rem;display:flex}.rounds-cell-label{color:var(--muted);font-family:var(--font-display);font-size:.7rem;font-weight:700;line-height:1.15}.rounds-cell-dots{justify-content:center;gap:.3rem;display:flex}.rounds-cell-status{color:var(--muted);font-size:.75rem;line-height:1}.rounds-cell-done{border-color:color-mix(in srgb, var(--ok) 45%, transparent);background:var(--ok-soft)}.rounds-cell-done .rounds-cell-label,.rounds-cell-done .rounds-cell-status{color:var(--ok-ink)}.rounds-cell-current{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 .5px var(--accent)}.rounds-cell-current .rounds-cell-label,.rounds-cell-current .rounds-cell-status{color:var(--accent-ink)}.rounds-cell-current .rounds-cell-status{font-weight:600}.rounds-dot{box-sizing:border-box;border:2px solid var(--border-strong);border-radius:50%;width:.9rem;height:.9rem}.rounds-dot-on{border-color:var(--ok);background:var(--ok)}@media (width>=640px){.rounds-cell-label{font-size:.9rem}.rounds-cell-status{font-size:.8rem}}.rounds-dot-new{animation:.5s ease-out .95s both rounds-dot-pop}.rounds-cell-closed{animation:.9s ease-out 1s both rounds-cell-glow}@keyframes rounds-dot-pop{0%{background:0 0;border-color:#ffffffb3;transform:scale(.6);box-shadow:0 0 #fff0}60%{background:#fff;border-color:#fff;transform:scale(1.4);box-shadow:0 0 0 4px #ffffff59}to{background:#fff;border-color:#fff;transform:scale(1);box-shadow:0 0 #fff0}}@keyframes rounds-cell-glow{0%{box-shadow:0 0 #ffffffbf}to{box-shadow:0 0 0 12px #fff0}}@media (prefers-reduced-motion:reduce){.rounds-dot-new,.rounds-cell-closed{animation:none}}.home{box-sizing:border-box;max-width:36rem;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));color:var(--home-text);flex-direction:column;gap:20px;margin:0 auto;display:flex}.home-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.home-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.home-steps{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.home-step{border:3px solid var(--home-line);background:var(--home-card);border-radius:26px;flex-direction:column;gap:18px;padding:20px;display:flex}.home-step-active{border-color:var(--home-accent)}.home-step-rail{text-align:center;flex-flow:wrap;justify-content:center;align-items:center;gap:8px 12px;display:flex}.home-step-text{display:contents}.home-step-num{background:var(--home-card-3);width:44px;height:44px;color:var(--home-text-2);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.home-step-active .home-step-num{background:var(--home-accent);color:var(--on-accent)}.home-step-done .home-step-num,.home-step-satisfied .home-step-num{background:var(--ok);color:var(--surface)}.home-step-title{color:var(--home-text);font-family:var(--font-display);margin:0;font-size:26px;font-weight:800;line-height:1.1}.home-step-done .home-step-title,.home-step-satisfied .home-step-title{color:var(--ok-ink)}.home-start-zone{border:1px solid color-mix(in srgb, var(--ok) 45%, transparent);border-radius:var(--radius-card);background:var(--ok-soft);color:var(--ok-ink);justify-content:center;align-items:center;gap:.55rem;padding:.45rem .85rem;font-size:.95rem;display:flex}.home-break-zone{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:var(--warn-soft);color:var(--warn)}.home-start-zone svg{flex:none}.home-start-zone b{font-family:var(--font-display);font-weight:800}.home-start-zone time{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.home-step-hint{color:var(--home-text-3);flex-basis:100%;margin:0;font-size:16px;font-weight:500;line-height:1.4}.home-step-hint b{color:var(--ink);font-family:var(--font-display);font-weight:800}.rounds-grid{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;gap:.7rem;padding:.85rem 1rem .9rem;display:flex}.rounds-grid-done{border-color:var(--scan-ok)}.rounds-grid .rounds-cells{gap:.65rem}.rounds-grid .rounds-cell{flex:4.25rem}.rounds-grid .rounds-cell-dots{box-sizing:border-box;justify-content:space-evenly;gap:.25rem;width:100%;max-width:11rem;padding:0 .15rem}.rounds-grid .rounds-dot{aspect-ratio:1;flex:0 1.5rem;width:auto;min-width:0;height:auto}.home-step-progress{color:var(--muted);flex-direction:column;gap:.1rem;margin-top:.4rem;font-size:.85rem;display:flex}.home-step-progress b{color:var(--ink);font-family:var(--font-display);font-size:.95rem;font-weight:800}.home-step-progress-ok b{color:var(--ok-ink)}.home-step-pending .home-step-body{opacity:.6}.home-step-pending .home-step-body:hover,.home-step-pending .home-step-body:focus-within{opacity:1}.home-step-pending .home-step-body:has(>.home-camera){opacity:1}.home-step-pending .home-point{opacity:.6}.home-step-body{flex-direction:column;gap:18px;min-width:0;display:flex}.home-point{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.home-point-tag{box-sizing:border-box;border:4px solid var(--home-accent);background:var(--home-card-2);width:108px;height:116px;font-family:var(--font-display);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;display:flex}.home-point-tag-label{color:var(--home-accent-soft);letter-spacing:.06em;font-size:15px;font-weight:800}.home-point-tag-num{color:var(--home-tag-num);font-size:72px;font-weight:800;line-height:.95}.home-point-cta{font-family:var(--font-display);margin:0;font-size:26px;font-weight:800;line-height:1.1}.home-point-where{color:var(--home-text-3);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:500;display:flex}.home-camera{box-sizing:border-box;background:var(--home-accent-btn);width:100%;min-height:88px;color:var(--on-accent);font:800 clamp(18px, 5.2vw, 23px) / 1.15 var(--font-display);text-align:center;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:20px;justify-content:center;align-items:center;gap:10px;padding:10px 12px;display:flex}.home-camera:active:not(:disabled){transform:scale(.98)}.home-camera:focus-visible{outline:3px solid var(--home-accent-soft);outline-offset:3px}.home-camera:disabled{border:3px dashed var(--home-line);background:var(--home-card-2);color:var(--home-muted);text-transform:none;cursor:default;font-size:19px}.home-options{flex-direction:column;gap:.75rem;display:flex}.home-option{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem 1rem 1.4rem;display:flex}.home-option-button{border-color:var(--accent);width:100%;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s,transform .1s}.home-option-button:hover{background:var(--accent-soft)}.home-option-button:active{transform:scale(.985)}.home-option-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.home-option-button .home-option-title{font-family:var(--font-display);font-weight:600}.home-option-visual{height:96px;color:var(--accent);place-items:center;margin-bottom:.4rem;display:grid}.home-option-visual .nfc-loader{transform:scale(1.25)}.home-option-title{margin:0;font-size:1.3rem;line-height:1.25}.home-option-hint{max-width:24rem;color:var(--muted);margin:0;font-size:.95rem}.home-or{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.75rem;margin:0;font-size:.85rem;font-weight:500;display:flex}.home-or:before,.home-or:after{content:"";background:var(--border);flex:1;height:1px}.home-admin{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.25rem;display:flex}.home-admin-link{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent-soft);min-height:48px;color:var(--accent-ink);flex:11rem;justify-content:center;align-items:center;padding:.6rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.home-admin-link:hover{background:var(--accent);color:var(--on-accent)}.home-admin-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-admin-reset{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--soft);margin-top:.6rem;padding:.7rem 1rem}.home-admin-reset summary{cursor:pointer;color:var(--ink-2);font-weight:600}.home-admin-reset[open] summary{margin-bottom:.5rem}.home-admin-reset-hint{color:var(--muted);margin:.4rem 0 .6rem;font-size:.9rem}.home-admin-reset-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.home-admin-reset-row select{flex:14rem}.home-admin-reset-ok{color:var(--ok-ink);margin-top:.5rem;font-weight:600}@media (height<=700px){.home{padding-top:calc(12px + env(safe-area-inset-top,0px));gap:14px}.home-step,.home-step-body{gap:12px}.home-step{padding:16px}.home-step-title{font-size:24px}.home-point{gap:8px}.home-point-tag{border-width:3px;border-radius:16px;width:84px;height:90px}.home-point-tag-label{font-size:12px}.home-point-tag-num{font-size:54px}.home-point-cta{font-size:22px}.home-point-where{font-size:16px}}@media (prefers-reduced-motion:no-preference){.home-step-enter{animation:.4s ease-out both home-step-enter}}@keyframes home-step-enter{0%{opacity:0;transform:translateY(-.75rem)}to{opacity:1;transform:none}}@media (width>=800px){.home-options{flex-direction:row;align-items:stretch}.home-option{flex:1}.home-or{flex-direction:column}.home-or:before,.home-or:after{width:1px;height:auto}}.home-greeting-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin:0;display:flex}.home-greeting-row-duty{margin-bottom:0}.home-greeting{min-width:0;font-family:var(--font-display);overflow-wrap:anywhere;flex:0 auto;margin:0;font-size:26px;font-weight:800}.home-duty-pill{box-sizing:border-box;background:var(--home-card);min-width:0;max-width:100%;color:var(--home-text);font-family:var(--font-display);white-space:nowrap;border:2px solid #0000;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 14px;font-size:16px;font-weight:800;line-height:1.2;display:inline-flex}.home-duty-pill-text{text-overflow:ellipsis;overflow:hidden}.home-duty-pill-text strong{font-weight:800}.home-duty-pill-on{border-color:var(--duty-on);min-height:calc(1.7rem + 4px);padding-left:.65rem}.home-duty-live{background:var(--duty-on);width:.6rem;height:.6rem;color:var(--duty-on);box-shadow:0 0 0 3px color-mix(in srgb, var(--duty-on) 25%, transparent);border-radius:50%;flex:none;position:relative}.home-duty-pill-off{background:var(--home-warn-bg);color:var(--home-warn)}.home-duty-dot{background:currentColor;border-radius:50%;flex:none;width:10px;height:10px}.home-duty{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow:hidden;box-shadow:0 2px 10px #1b1a3b14}.home-duty[aria-busy=true]{min-height:2.4rem}.home-duty-icon{flex:none;display:block}.home-duty-badge{background:color-mix(in srgb, currentColor 16%, transparent);border-radius:50%;flex:none;place-items:center;width:1.5rem;height:1.5rem;display:grid;position:relative}.home-duty-pulse{opacity:0;border:2px solid;border-radius:50%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.home-duty-pulse{animation:2.4s ease-out infinite home-duty-pulse}}@keyframes home-duty-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.home-duty-main{flex-direction:column;gap:.4rem;padding:.55rem 1rem .75rem;display:flex}.home-duty-title{font-family:var(--font-display);margin:0;line-height:1.15}.home-duty-error-row{color:var(--muted);flex-direction:row;align-items:center}.home-duty-error .home-duty-title{font-size:.95rem;font-weight:500}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2)format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2)format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sora-latin-800-normal-2tKLL3qT.woff2)format("woff2"),url(/assets/sora-latin-800-normal-c3Huklug.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-ext-600-normal-Cue1zdhl.woff2)format("woff2"),url(/assets/sora-latin-ext-600-normal-DLOJK0Ta.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-ext-700-normal-DM0oy5s8.woff2)format("woff2"),url(/assets/sora-latin-ext-700-normal-Oc7uZIYt.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sora-latin-ext-800-normal-YDFYE6t9.woff2)format("woff2"),url(/assets/sora-latin-ext-800-normal-BvAfeed7.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis-weight:none;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-display:"Sora", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:#f5f5fb;--surface:#fff;--soft:#efeff8;--border:#e4e4f1;--border-strong:#cdcde2;--ink:#1b1a3b;--ink-2:#4a4970;--muted:#6b6a8c;--accent:#5b5fe0;--accent-hover:#4b4fcc;--accent-soft:#ececfc;--accent-ink:#3f43b5;--accent-text:#5b5fe0;--on-accent:#fff;--ok:#15803d;--ok-soft:#ddf6e6;--ok-ink:#166534;--warn:#b45309;--warn-soft:#fdf0d3;--danger:#b91c1c;--danger-soft:#fde3e3;--info-soft:#ececfc;--scan-ok:#15803d;--scan-offline:#b45309;--scan-error:#dc2626;--scan-sending:#1b1a3b;--night-bg:#12131c;--night-surface:#1b1d2a;--night-surface-2:#1e2030;--night-track:#2e3142;--night-text:#f2f1ec;--night-text-2:#e1e4ea;--night-muted:#9aa0ae;--night-hint:#b5bac6;--night-green:#3fb86b;--night-green-text:#5fd08a;--night-green-halo:#1b3a27;--night-on-green:#0e1a12;--night-red:#ef5b5b;--night-red-text:#ff8a8a;--night-red-halo:#3d1d22;--night-on-red:#1f0a0b;--night-amber:#f0a63a;--night-amber-text:#ffc56b;--night-amber-halo:#3a2c14;--night-on-amber:#1f1605;--night-indigo:#8b8ef0;--night-indigo-text:#b3b5ff;--night-indigo-halo:#26264a;--night-on-indigo:#0f1030;--night-warn-bg:#b45309;--night-warn-status:#fff1d6;--night-error-bg:#b91c1c;--night-error-status:#ffd0d0;--night-white:#fff;--night-tint-surface:#00000038;--night-tint-halo:#ffffff2e;--night-tint-muted:#ffffffeb;--home-card:#fff;--home-card-2:#eeeefc;--home-card-3:#dedefa;--home-line:#d6d6ea;--home-avatar:#efeff8;--home-text:#1b1a3b;--home-text-2:#2b2a52;--home-text-3:#4a4970;--home-muted:#6b6a8c;--home-accent:#5b5fe0;--home-accent-btn:#5b5fe0;--home-accent-soft:#3f43b5;--home-tag-num:#1b1a3b;--home-warn-bg:#fdecd8;--home-warn:#9a4508;--duty-off:#ea580c;--duty-off-soft:#ffedd5;--duty-off-ink:#c2410c;--duty-on:#06b6d4;--gk-warn:#dc2626;--gk-absence:#991b1b;--gk-conflict-bg:#fde3e3;--gk-danger-faint:#fef0f0;--gk-weekend:#e4e4f3;--gk-empty:#f0f0f9;--gk-today-bg:#e3e4fb;--gk-tomorrow-bg:#e0f2fe;--gk-tomorrow:#0ea5e9;--gk-ignored:#e7e7f1;--gk-holiday-bg:#fce7f3;--gk-holiday:#db2777;--gk-duty-bg:#e3e4fb;--gk-note-bg:#e0edff;--gk-faint:#f5f5ff;--gk-strong:#1b1a3b;--gk-sub:#475569;--radius-card:14px;--radius-control:10px}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12112b;--surface:#1b1a3b;--soft:#26254d;--border:#302f5a;--border-strong:#45447a;--ink:#f1f0ff;--ink-2:#c5c4e6;--muted:#9a98be;--accent:#5b5fe0;--accent-hover:#6c70f0;--accent-soft:#a9abff29;--accent-ink:#c7c8ff;--accent-text:#a9abff;--on-accent:#fff;--ok:#4ade80;--ok-soft:#22c55e29;--ok-ink:#4ade80;--warn:#fbbf24;--warn-soft:#f59e0b29;--danger:#f87171;--danger-soft:#ef44442e;--info-soft:#a9abff29;--scan-sending:#26254d;--home-card:#1d1c3a;--home-card-2:#26255a;--home-card-3:#34336e;--home-line:#34335e;--home-avatar:#24234a;--home-text:#f2f1fa;--home-text-2:#e4e3fa;--home-text-3:#c9c8e6;--home-muted:#a9a8c8;--home-accent:#6e6cf0;--home-accent-btn:#5b59e0;--home-accent-soft:#c9c8f5;--home-tag-num:#fff;--home-warn-bg:#3a2323;--home-warn:#f4a259;--duty-off:#ea580c;--duty-off-soft:#ea580c2e;--duty-off-ink:#fb923c;--duty-on:#22d3ee;--gk-warn:#f87171;--gk-absence:#fca5a5;--gk-conflict-bg:#ef444429;--gk-danger-faint:#ef44441a;--gk-weekend:#24234a;--gk-empty:#1f1e42;--gk-today-bg:#34336e;--gk-tomorrow-bg:#123049;--gk-tomorrow:#38bdf8;--gk-ignored:#2a2952;--gk-holiday-bg:#3a1f35;--gk-holiday:#f472b6;--gk-duty-bg:#a9abff24;--gk-note-bg:#3b82f638;--gk-faint:#a9abff14;--gk-strong:#5b5fe0;--gk-sub:#64748b}}*,:before,:after{box-sizing:border-box}:root{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}body{background:var(--bg);color:var(--ink);min-height:100dvh;margin:0}.page{max-width:40rem;margin:0 auto;padding:1.5rem 1rem}h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.5rem;font-weight:600}h2{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}a{color:var(--accent-ink)}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.centered{place-items:center;min-height:100dvh;display:grid}.form{gap:1rem;display:grid}.field{gap:.25rem;font-weight:500;display:grid}.field input{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:.7rem .8rem;font-weight:400}input:focus-visible,select:focus-visible,textarea:focus-visible,.button:focus-visible,.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.button{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);cursor:pointer;padding:.65rem 1.1rem;font-weight:500}.button:hover:not(:disabled){background:var(--soft)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button:disabled{opacity:.6;cursor:progress}.form-error{border-radius:var(--radius-control);background:var(--danger-soft);color:var(--danger);margin:0;padding:.75rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-top:2rem;padding:1.5rem 1.25rem}.auth-card h1{font-size:1.25rem}.auth-brand{margin:0 0 1rem}.auth-brand-center{text-align:center;margin-bottom:1.25rem}
