.st-auth{--line-2:#cfcce6;background:var(--wash);grid-template-columns:minmax(0,6fr) minmax(0,5fr);height:100dvh;min-height:640px;display:grid}.st-auth .ic{flex:none;width:20px;height:20px}.st-auth-form{align-content:center;justify-self:center;gap:14px;width:100%;max-width:640px;padding:40px clamp(16px,6vw,88px);display:grid}.st-logo{width:150px;margin-bottom:18px}.st-auth .auth-body{gap:14px;display:grid}.st-auth-form h2{font-size:32px}.st-auth .muted{color:var(--ink-soft)}.st-auth .fine{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;display:flex}.st-auth .fine .ic{width:16px;height:16px}.st-auth .fine.again{justify-content:center;margin-top:4px}.st-auth .lock-note .ic{color:var(--surface)}.st-auth .btn.sm{min-height:40px;box-shadow:inset 0 0 0 2px var(--bg), inset 0 0 0 3.5px var(--ring), 0 3px 0 var(--base);border-radius:11px;gap:8px;padding:0 16px;font-size:15px}.st-auth .btn.sm:active{box-shadow:inset 0 0 0 2px var(--bg), inset 0 0 0 3.5px var(--ring), 0 1px 0 var(--base)}.st-auth .btn.sm svg{width:18px;height:18px}.st-auth .form{gap:14px;display:grid}.st-auth-form .form{margin-top:6px}.st-auth .fld{gap:6px;min-width:0;display:grid}.st-auth .fld>span,.st-auth .fld-l{font:600 13.5px var(--body);color:var(--ink-2)}.st-auth .fld input{background:var(--paper);height:44px;font:400 16px var(--body);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line-2);border:0;border-radius:11px;width:100%;padding:0 12px}.st-auth .fld input:focus{box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 4px var(--surface-soft);outline:none}.st-auth .form-err{color:var(--oops);font-size:14px;font-weight:500}.st-auth .six{gap:8px;display:flex}.st-auth .six input{text-align:center;width:50px;height:58px;font:800 26px var(--display);color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line-2);border:0;border-radius:12px}.st-auth .six input:focus{box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 4px var(--surface-soft);outline:none}.st-auth .pw-rules{color:var(--ink-soft);gap:4px;margin:-4px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.st-auth .pw-rules li{align-items:center;gap:8px;display:flex}.st-auth .pw-rules li:before{content:"";width:16px;height:16px;box-shadow:inset 0 0 0 2px var(--line-2);border-radius:50%;flex:none}.st-auth .pw-rules li.ok{color:#17744f}.st-auth .pw-rules li.ok:before{background:var(--tick) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100%;box-shadow:none}.st-auth .totp{border-radius:var(--r-l);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);grid-template-columns:170px 1fr;align-items:start;gap:22px;padding:18px;display:grid}.st-auth .qr{box-sizing:border-box;width:170px;height:170px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:10px;padding:4px}.st-auth .qr svg{width:100%;height:100%;display:block}.st-auth .key-code{background:var(--wash);letter-spacing:.06em;border-radius:8px;margin:4px 0 12px;padding:6px 10px;font:600 15px ui-monospace,Consolas,monospace;display:inline-block}.st-auth .totp .form{gap:10px}.st-auth .totp .six input{width:42px;height:50px;font-size:22px}.st-auth .backup{border-radius:var(--r-l);background:var(--spark-soft);gap:10px;padding:18px;display:grid;box-shadow:inset 0 0 0 2px #f4d79e}.st-auth .backup h3{align-items:center;gap:8px;font-size:18px;display:flex}.st-auth .backup ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.st-auth .backup code{text-align:center;background:#fff;border-radius:8px;padding:8px;font:600 14px ui-monospace,Consolas,monospace;display:block}.st-auth .backup .btn{justify-self:start}.st-auth .saved-check{cursor:pointer;align-items:center;gap:8px;font-size:14.5px;display:flex}.st-auth .saved-check input{width:18px;height:18px;accent-color:var(--surface)}.st-auth-art{color:#fff;background:var(--surface);box-shadow:inset 0 0 0 4px var(--surface), inset 0 0 0 6.5px #ffffffe6, 0 6px 0 var(--surface-base);border-radius:28px;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:24px;min-height:0;margin:20px 20px 20px 0;padding:12px 12px 30px;display:grid}.st-auth .lab-art{object-fit:cover;object-position:50% 12%;border-radius:18px;width:100%;height:100%;min-height:0;display:block}.st-auth .art-cap{text-align:center;max-width:34ch;padding-inline:16px}.st-auth .art-cap h2{margin-top:6px;font-size:clamp(24px,2.6vw,30px);line-height:1.15}.st-auth .art-cap>p:last-child{color:var(--surface-soft);margin-top:10px;font-size:16px}@media (max-width:1280px){.st-auth .backup ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.st-auth{grid-template-columns:minmax(0,1fr)}.st-auth-art{display:none}}@media (max-width:560px){.st-auth .totp{grid-template-columns:minmax(0,1fr);justify-items:start}.st-auth .six input{width:42px;height:52px}}.code-card{color:#fff;text-align:center;background:var(--surface);width:min(600px,100%);box-shadow:inset 0 0 0 4px var(--surface), inset 0 0 0 7px #ffffffeb, 0 8px 0 var(--surface-base), 0 30px 60px -30px rgba(var(--shade), .7);border-radius:30px;justify-items:center;gap:10px;margin-top:190px;padding:46px clamp(20px,5vw,48px) 34px;display:grid;position:relative}.code-rooky{pointer-events:none;width:250px;margin-left:-125px;position:absolute;top:-212px;left:50%}.code-card h1{font-size:clamp(30px,5vw,42px);line-height:1.05}.code-card .lead{color:var(--surface-soft);margin-bottom:14px;font-size:17px}.code-form{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;display:grid}.code-ticket{box-shadow:0 5px 0 var(--surface-base), inset 0 0 0 3px #fff, inset 0 0 0 5px var(--surface-soft);background:#fff;border-radius:20px;align-items:center;gap:12px;padding:10px 12px;display:flex}.code-ticket:focus-within{box-shadow:0 5px 0 var(--surface-base), inset 0 0 0 3px #fff, inset 0 0 0 5px var(--spark)}.code-ticket.bad{box-shadow:0 5px 0 var(--surface-base), inset 0 0 0 3px #fff, inset 0 0 0 5px var(--oops);animation:.38s shake}.code-piece{background:var(--spark-soft);width:64px;height:64px;color:var(--ink);border-radius:16px;flex:none;place-items:center;display:grid}.code-piece svg{--pf:var(--ink);--ps:var(--ink);--pd:var(--spark);width:52px;height:52px}.code-piece .q{font:800 34px var(--display);color:var(--spark-deep)}.code-piece svg.popin{animation:piece-pop .42s var(--ease-spring)}@keyframes piece-pop{0%{opacity:0;transform:scale(.2)rotate(-25deg)}}.code-ticket input{min-width:0;height:64px;font:800 clamp(24px, 4.4vw, 34px)/1 var(--display);letter-spacing:.08em;color:var(--ink);text-transform:uppercase;background:0 0;border:0;outline:none;flex:1}.code-ticket input::placeholder{color:#c9c6de}.code-msg{min-height:40px;color:var(--surface-soft);justify-content:center;align-items:center;gap:8px;font-size:15px;display:flex}.code-msg .ic{width:18px;height:18px}.code-msg img{object-fit:contain;width:40px;height:40px}.code-msg.bad{color:#fff;background:#d9405a47;border-radius:12px;padding:4px 12px 4px 4px}.code-msg.good{color:#fff;font-weight:600}.code-msg.good .ic{color:#7fd3a4}@media (max-width:560px){.code-rooky{width:190px;margin-left:-95px;top:-161px}.code-card{margin-top:146px;padding-top:38px}}.faces,.pin-card{width:min(1080px,100%)}.k-head{background:var(--paper);box-shadow:inset 0 0 0 2px var(--line), 0 5px 0 var(--line);border-radius:22px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:26px;padding:16px 22px;display:flex}.k-head .crest,.k-head .k-logo{object-fit:contain;flex:none;width:52px;height:60px}.k-school{flex:1;min-width:0}.k-school h1{font-size:clamp(20px,2.6vw,26px)}.k-school p{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.k-batch{background:var(--js);color:var(--jb);border-radius:99px;align-items:center;gap:6px;padding:3px 12px 3px 6px;font-weight:600;display:inline-flex}.k-batch svg.pc{--pf:var(--j);--ps:var(--j);--pd:#fff;width:24px;height:24px}.k-change{color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:15px;text-decoration:underline}.faces-title{margin-bottom:16px;font-size:clamp(30px,4vw,40px)}.faces-empty{color:var(--ink-soft);font-size:18px}.face-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px;display:grid}.face-tile{--j:var(--surface);--jb:var(--surface-base);background:var(--paper);cursor:pointer;font:inherit;color:inherit;box-shadow:inset 0 0 0 2px var(--line), 0 5px 0 var(--line);transition:transform .14s var(--ease-out), box-shadow .14s;border:0;border-radius:22px;justify-items:center;gap:6px;padding:18px 10px 14px;display:grid}.face-tile svg.avatar{width:96px;height:96px;transition:transform .2s var(--ease-spring)}.face-tile b{font:700 18px var(--display)}.face-tile .cls{background:var(--wash);color:var(--ink-soft);border-radius:99px;padding:1px 9px;font-size:12.5px;font-weight:600}.face-tile:hover,.face-tile:focus-visible{box-shadow:inset 0 0 0 3px var(--j), 0 8px 0 var(--jb);transform:translateY(-4px)}.face-tile:hover svg.avatar{transform:scale(1.06)rotate(-3deg)}.face-tile:active{box-shadow:inset 0 0 0 3px var(--j), 0 2px 0 var(--jb);transform:translateY(2px)}.face-tile.locked{cursor:default;box-shadow:none;outline:2.5px dashed var(--line-2,#cfcce6);outline-offset:-2px;background:0 0}.face-tile.locked:hover{transform:none}.face-tile.locked svg.avatar{filter:grayscale();opacity:.45}.face-tile.locked:hover svg.avatar{transform:none}.face-tile.locked b{color:var(--ink-soft)}.face-tile .wait{color:var(--ink-soft);align-items:center;gap:4px;font-size:12.5px;font-weight:500;display:flex}.face-tile .wait .ic{width:14px;height:14px}.toast{z-index:200;background:var(--ink);color:#fff;max-width:calc(100vw - 32px);box-shadow:0 12px 30px -12px rgba(var(--shade), .6);border-radius:14px;align-items:center;gap:10px;padding:12px 18px;font-weight:500;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast .ic{color:#7fd3a4}.toast.in{animation:toast-in .26s var(--ease-spring)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}}@media (max-width:560px){.k-head{gap:12px;padding:14px 16px}.k-head .k-change{text-align:left;flex-basis:100%}.face-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.face-tile svg.avatar{width:76px;height:76px}}.pin-card .k-head{margin-bottom:18px}.pin-body{background:var(--paper);box-shadow:inset 0 0 0 2px var(--line), 0 6px 0 var(--line);border-radius:28px;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:34px clamp(18px,4vw,44px);display:grid}.pin-who{text-align:center;justify-items:center;gap:8px;display:grid}.pin-who svg.avatar.big{width:170px;height:170px;box-shadow:0 0 0 6px var(--j), 0 0 0 12px var(--js);animation:hop .7s var(--ease-out);border-radius:50%;margin-bottom:14px}.pin-who h2{font-size:clamp(30px,4vw,40px)}.pin-who .sub{color:var(--ink-soft)}.pin-boxes{gap:12px;margin-top:10px;display:flex}.pin-boxes i{background:var(--wash);width:54px;height:62px;box-shadow:inset 0 0 0 2.5px var(--line-2,#cfcce6);border-radius:14px;place-items:center;transition:box-shadow .12s;display:grid}.pin-boxes i.on{background:var(--paper);box-shadow:inset 0 0 0 3px var(--j), 0 4px 0 var(--js)}.pin-boxes i.on:after{content:"";background:var(--j);width:18px;height:18px;animation:piece-pop .22s var(--ease-spring);border-radius:50%}.pin-boxes.bad{animation:.38s shake}.pin-boxes.bad i{box-shadow:inset 0 0 0 2.5px var(--oops)}.pin-msg{min-height:48px;color:var(--oops);align-items:center;gap:8px;font-weight:600;display:flex}.pin-msg img{object-fit:contain;width:44px;height:44px}.keypad{grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:360px;margin-inline:auto;display:grid}.key{cursor:pointer;background:var(--surface);color:#fff;min-height:80px;font:800 34px/1 var(--display);box-shadow:inset 0 0 0 3px var(--surface), inset 0 0 0 5.5px #ffffffe6, 0 5px 0 var(--surface-base);border:0;border-radius:20px;transition:transform 80ms,box-shadow 80ms}.key:hover{background:#5747d0}.key:active,.key.down{box-shadow:inset 0 0 0 3px var(--surface), inset 0 0 0 5.5px #ffffffe6, 0 1px 0 var(--surface-base);transform:translateY(4px)}.key.del{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2.5px var(--line-2,#cfcce6), 0 5px 0 var(--line);place-items:center;display:grid}.key.del:active,.key.del.down{box-shadow:inset 0 0 0 2.5px var(--ink-soft), 0 1px 0 var(--line)}.key svg{width:34px;height:34px}.pin-locked{text-align:center;justify-items:center;gap:8px;display:grid;position:relative}.pin-locked>img{width:120px;position:absolute;top:-30px;left:-10px}.pin-locked h3{font-size:26px}.pin-locked p{color:var(--ink-soft);max-width:30ch}@media (max-width:960px){.pin-body{grid-template-columns:minmax(0,1fr);gap:26px}}@media (max-width:560px){.key{min-height:66px;font-size:28px}.pin-boxes i{width:48px;height:56px}.pin-locked>img{width:84px;top:-10px;left:0}}.st-auth.tall{align-items:start;height:auto;min-height:100dvh}.st-auth.tall .st-auth-form{align-content:start;padding-block:32px 48px}.st-auth.tall .st-auth-art{height:calc(100dvh - 40px);position:sticky;top:20px}.st-auth .fld select{background:var(--paper);height:44px;font:400 16px var(--body);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line-2);border:0;border-radius:11px;width:100%;padding:0 10px}.st-auth .fld select:focus{box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 4px var(--surface-soft);outline:none}.st-auth .form-ok{color:#17744f;font-size:14px;font-weight:500}.st-auth .join{gap:14px;display:grid}.st-auth .join-checkout{border-top:2px solid var(--line);gap:14px;padding-top:6px;display:grid}.st-auth .join-school{border-radius:var(--r-m);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);align-items:center;gap:12px;padding:12px 14px;display:flex}.st-auth .join-school img{object-fit:contain;flex:none;width:44px;height:52px}.st-auth .join-school .eyebrow{color:var(--ink-soft);font-size:12.5px}.st-auth .join-name{font:700 18px var(--display)}.st-auth .kid{border-radius:var(--r-l);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);border:0;gap:12px;min-width:0;margin:0;padding:16px;display:grid;position:relative}.st-auth .kid legend{float:left;font:700 16px var(--display);margin-bottom:2px;padding:0}.st-auth .kid-remove{font-size:13.5px;position:absolute;top:10px;right:10px}.st-auth .kid-row{clear:both;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.st-auth .add-kid{justify-self:start}.st-auth .pay-choice{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.st-auth .pay-opt{border-radius:var(--r-m);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line-2);cursor:pointer;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:14px 16px;display:grid}.st-auth .pay-opt.on{box-shadow:inset 0 0 0 2.5px var(--surface), 0 3px 0 var(--surface-soft)}.st-auth .pay-opt input{width:20px;height:20px;accent-color:var(--surface);grid-row:span 2;margin-top:2px}.st-auth .opt-h{font:700 17px var(--display);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.st-auth .opt-d{color:var(--ink-soft);font-size:14px}.st-auth .tag{font:600 12px var(--body);background:var(--tick-soft);color:#17744f;border-radius:99px;padding:2px 8px;font-style:normal}.st-auth .consent{border-radius:var(--r-m);background:var(--wash);box-shadow:inset 0 0 0 2px var(--line);color:var(--ink-2);gap:10px;padding:14px 16px;font-size:14px;display:grid}.st-auth .consent label{color:var(--ink);cursor:pointer;align-items:flex-start;gap:10px;font-weight:600;display:flex}.st-auth label.terms-tick{color:var(--ink);cursor:pointer;align-items:flex-start;gap:10px;font-weight:600;line-height:1.45;display:flex}.st-auth .terms-tick a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.st-auth .consent input{width:18px;height:18px;accent-color:var(--surface);flex:none;margin-top:2px}.st-auth .pay-kids{gap:8px;margin:0;padding:0;list-style:none;display:grid}.st-auth .pay-kids li{border-radius:var(--r-m);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);gap:2px;padding:12px 14px;display:grid}.st-auth .pay-kids b{font:700 16px var(--display)}.st-auth .pay-kids span{color:var(--ink-soft);font-size:14px}.st-auth .pay-kids .pay-note{color:var(--ink-2);font-weight:600}.st-auth .pay-ask{border-radius:var(--r-m);background:var(--spark-soft,var(--wash));color:var(--ink);margin:0;padding:14px 16px;font-weight:600;line-height:1.45}.st-auth .pay-total{border-top:2px solid var(--line);align-items:baseline;gap:10px;padding:8px 2px 0;display:flex}.st-auth .pay-total span{color:var(--ink-soft);flex:1}.st-auth .pay-total b{font:800 28px var(--display)}.st-auth .pay-total small{color:var(--ink-soft);font-size:13px}.pay-scrim{z-index:100;background:rgba(var(--shade), .45);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pay-dialog{border-radius:var(--r-l);background:var(--paper);width:min(420px,100%);box-shadow:0 20px 50px -20px rgba(var(--shade), .6);gap:12px;padding:22px;display:grid}.pay-dialog h3{font-size:20px}.pay-dialog-row{gap:10px;display:flex}.st-auth .thanks{gap:14px;display:grid}.st-auth .thanks-rooky{width:110px;height:auto}.st-auth .thanks-kids{gap:10px;margin:0;padding:0;list-style:none;display:grid}.st-auth .thanks-kid{border-radius:var(--r-l);background:var(--spark-soft);gap:4px;padding:14px 16px;display:grid;box-shadow:inset 0 0 0 2px #f4d79e}.st-auth .thanks-kid b{font:700 18px var(--display)}.st-auth .thanks-kid code{letter-spacing:.08em;background:#fff;border-radius:8px;padding:2px 8px;font:700 17px ui-monospace,Consolas,monospace;display:inline-block}@media (max-width:560px){.st-auth .kid-row{grid-template-columns:minmax(0,1fr)}.st-auth .pay-total b{font-size:24px}}
