:root{--k-title:46px;--k-sub:26px;--k-label:24px;--k-input:32px;--k-tile:28px;--k-btn:30px;--k-foot:20px;--k-touch:96px}.kstage{min-height:100vh;display:flex;flex-direction:column;padding:44px 60px 28px}.khead{display:flex;align-items:center;gap:18px}.khead .spacer{flex:1 1}.khead .site{font-weight:500}.khead .langtoggle,.khead .site{font-size:var(--k-foot);color:var(--ink-2);border-radius:var(--radius-pill);padding:12px 26px}.khead .langtoggle{flex:none;font-weight:700;line-height:1.2}@media (min-width:1024px){.khead{min-height:112px}.khead .gp-lockup{gap:16px}.khead .gp-lockup>svg{width:64px;height:64px}.khead .gp-lockup .gp-word{font-size:34px}.khead .gp-lockup .gp-badge{font-size:20px;padding:4px 12px}.khead .site{font-size:24px;line-height:1.4;padding:18px 20px}.khead .langtoggle{display:inline-flex;align-items:center;justify-content:center;min-width:60px;min-height:68px;font-size:24px;padding:0 20px}}.kmain{flex:1 1;display:flex;align-items:center;justify-content:center}.kcol{width:100%;max-width:840px}.kfoot{text-align:center;color:var(--on-stage-dim);font-size:var(--k-foot);padding-top:22px}.card{border-radius:34px;padding:52px 48px}.kcard{min-height:640px;display:flex;flex-direction:column;justify-content:center}.tcenter{text-align:center}h1.title{font-size:var(--k-title);font-weight:700;margin:0 0 10px;color:var(--ink);letter-spacing:-.02em}h1.title,p.sub{line-height:var(--leading-snug);text-wrap:balance}p.sub{font-size:var(--k-sub);color:var(--muted);margin:0 0 30px}.tcenter .sub:last-of-type{margin-bottom:0}p.glabel{display:flex;align-items:center;gap:10px;font-size:var(--k-label);font-weight:600;color:var(--ink-2);margin:0 0 14px}p.glabel+.chiprow{margin-bottom:30px}.note{font-size:var(--k-foot);color:var(--muted);line-height:var(--leading-normal);border-radius:var(--radius-card);padding:22px 26px;margin:30px 0 0}.stepper{padding:0 4px 20px}.stepper .count{margin:0 0 12px;font-size:var(--k-label);font-weight:600;color:var(--on-stage);letter-spacing:.01em}.stepper .bars{display:flex;gap:10px}.stepper .bars i{flex:1 1;height:10px;border-radius:var(--radius-pill);background:rgb(255 255 255/.18);transition:background .3s var(--e-soft)}.stepper .bars i.done{background:var(--color-brand-300)}.field{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}.field:last-child{margin-bottom:0}.field label{display:inline-flex;align-items:center;gap:10px;font-size:var(--k-label);font-weight:600;color:var(--ink-2)}.field input{font-size:var(--k-input);min-height:var(--k-touch);padding:0 28px;border-radius:var(--radius-card);color:var(--ink);width:100%}.field input::placeholder{color:var(--placeholder)}.chiprow{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:0}.chiprow button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:132px;padding:24px 20px;border-radius:24px;color:var(--ink-2);font-size:var(--k-tile);font-weight:600;text-align:center}.chiprow button .th,.chiprow button .tl{line-height:var(--leading-tight)}.chiprow button .th{font-size:var(--k-foot);font-weight:400;color:var(--muted)}.chiprow button.on{color:#fff;font-weight:700}.chiprow button.on .th{color:rgb(255 255 255/.82)}.chiprow button svg{color:currentColor;flex:none}.chiprow.scroll{max-height:430px;overflow-y:auto;padding-right:10px;scrollbar-width:thin}.knav{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:18px;gap:18px;padding-top:24px}.knav.one{grid-template-columns:1fr}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:var(--k-touch);padding:0 28px;border-radius:var(--radius-pill);color:var(--ink);font-size:var(--k-btn);font-weight:700}.btn.dark,.btn.primary{color:#fff}.btn:disabled{opacity:.42;cursor:not-allowed}.kwelcome{text-align:center;padding:72px 56px}.kwelcome .title{font-size:58px;margin-top:26px}.kwelcome .sub{font-size:28px;margin-bottom:44px}.kwelcome .btn{min-height:124px;font-size:36px}.kwelcome .foot{margin:34px 0 0;font-size:var(--k-foot);color:var(--muted);line-height:var(--leading-normal)}.kwelcome .btn.kalt{min-height:var(--k-touch);font-size:var(--k-sub);font-weight:600;color:var(--ink-2);margin-top:18px}.kcodebox{display:flex;align-items:center;justify-content:center;min-height:128px;margin:0;padding:20px 26px;border-radius:24px;font-family:var(--font-num);font-size:72px;font-weight:700;letter-spacing:.12em;color:var(--ink);line-height:1.1}.kcodebox .gh{font-style:normal;color:var(--placeholder)}.khint{margin:14px 0 30px;font-size:var(--k-foot);color:var(--muted);text-align:center;line-height:var(--leading-normal)}.kcode .chiprow button{min-height:104px;padding:16px 12px}.kcode .chiprow button .tl{font-family:var(--font-num);font-size:40px;letter-spacing:.04em}.kpad button{font-family:var(--font-num);font-size:46px;font-weight:700}.kpad button.kfn{font-family:var(--font-sans);font-size:var(--k-foot);font-weight:600;letter-spacing:0;color:var(--muted)}.kpad button.kfn:disabled{opacity:.42}.hero-ic{display:inline-flex;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;margin:0 auto 6px}.hero-ic.ok{background:var(--green-soft);color:var(--green);box-shadow:inset 0 0 0 2px var(--green-line)}.hero-ic.wait{background:var(--brand-soft);color:var(--brand-dark);box-shadow:inset 0 0 0 2px var(--brand-line)}.hero-ic.info{background:var(--orange-soft);color:var(--orange);box-shadow:inset 0 0 0 2px var(--orange-line)}.statusbig{font-family:var(--font-num);font-size:78px;font-weight:700;letter-spacing:.06em;color:var(--ink);margin:18px 0 22px;line-height:1.1}.err{display:flex;align-items:center;gap:14px;background:var(--red-soft);color:var(--red);box-shadow:inset 0 0 0 1px var(--red-line);border-radius:var(--radius-card);padding:22px 26px;font-size:var(--k-sub);font-weight:500;margin-bottom:28px;text-align:left}.kpass{padding-bottom:44px}.pass{border-radius:28px;padding:34px;display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:26px}.pass canvas{width:620px;height:620px;max-width:100%;image-rendering:pixelated;background:#fff;padding:20px;border-radius:var(--radius-card);box-shadow:inset 0 0 0 1px var(--line)}.pass .name{font-size:38px;font-weight:700;color:var(--ink);line-height:var(--leading-tight)}.pass .meta{font-size:var(--k-label);color:var(--muted);line-height:var(--leading-snug)}.rolechip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-num);font-size:var(--k-foot);font-weight:700;color:var(--green);background:var(--green-soft);border-radius:var(--radius-pill);padding:8px 22px}.kidle{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:26px 60px 30px;text-align:center;background:var(--amber-soft);color:var(--amber);box-shadow:inset 0 2px 0 0 var(--amber-line),0 -18px 40px -16px rgb(12 28 46/.5)}.kidle p{margin:0;font-size:30px;font-weight:600;line-height:var(--leading-tight)}.kidle b{font-family:var(--font-num);font-size:34px}.kidle span{display:block;margin-top:6px;opacity:.8}.kidle span,.ofalert{font-size:var(--k-foot)}.ofalert{display:flex;align-items:center;gap:14px;width:100%;margin:18px 0 0;padding:0 24px;min-height:64px;border:0;border-radius:var(--radius-pill);font-weight:600;text-align:left;font-family:inherit}.ofalert .ofic{flex:none;display:inline-flex}.ofalert .ofic svg,.ofalert>svg{width:28px;height:28px}.ofalert .oftext{flex:1 1;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.ofalert.warn{background:var(--red-soft);color:var(--red);box-shadow:inset 0 0 0 1px var(--red-line)}.ofalert.bad{background:var(--red);color:#fff}.ofsheet{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;background:var(--canvas);padding:40px 60px 32px;font-size:var(--k-foot)}.ofsheet .ofhead{flex:none;display:flex;align-items:center;gap:18px;padding-bottom:18px}.ofsheet .ofhead h2{flex:1 1;min-width:0;margin:0;font-size:var(--k-input);font-weight:700;color:var(--ink)}.ofsheet .ofclose{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--k-touch);height:var(--k-touch);border:0;background:transparent;border-radius:var(--radius-card);color:var(--ink-2)}.ofsheet .ofclose svg{width:40px;height:40px}.ofsheet .ofbody{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ofsheet .ofbody,.ofsheet .offoot{width:100%;max-width:840px;margin:0 auto}.ofsheet .offoot{flex:none;display:grid;grid-gap:18px;gap:18px;padding-top:20px}.ofsheet .err,.ofsheet .note{font-size:var(--k-foot)}.ofsheet .field{margin-bottom:14px;gap:8px}.ofsheet .field input,.ofsheet .field label{font-size:var(--k-foot)}.ofsheet .field input{min-height:72px;padding:0 20px}.ofsheet .btn{min-height:76px;font-size:var(--k-foot);padding:0 24px}.ofsum{display:flex;gap:28px;padding:14px 0;color:var(--ink-2)}.ofsum b{font-family:var(--font-num);font-size:var(--k-tile);color:var(--ink)}.ofsum .bad b{color:var(--red)}.ofnote{margin-bottom:12px}.ofempty{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:var(--green);font-weight:600}.oflist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.oflist>li{background:var(--surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--line);padding:20px 24px}.oflist>li.bad{box-shadow:inset 0 0 0 1px var(--red-line)}.oflist .ofrow{display:flex;align-items:center;gap:18px}.oflist .ofwho{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.oflist .ofwho b{font-size:var(--k-foot);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oflist .ofwho small{font-size:var(--k-foot);color:var(--muted)}.oflist .ofwhy{margin:12px 0 0;color:var(--red);line-height:var(--leading-snug);word-break:break-word}.oflist .ofacts{display:flex;gap:14px;margin-top:16px}.oflist .ofacts .btn{flex:1 1}.ofsheet .pill{flex:none;border-radius:var(--radius-pill);padding:6px 18px;font-size:var(--k-foot);font-weight:700}.ofsheet .pill.red{background:var(--red-soft);color:var(--red);box-shadow:inset 0 0 0 1px var(--red-line)}.ofsheet .pill.amber{background:var(--amber-soft);color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber-line)}