.grl{gap:var(--space-2xl);display:grid}.grl-step{column-gap:var(--space-lg);grid-template-columns:5rem minmax(0,1fr);align-items:start;display:grid}.grl-step-no{font:var(--figure-weight) var(--text-display)/.85 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--color-ink);margin:0}.grl-out{border-top:var(--rule-hair) solid var(--color-rule-2);padding-top:var(--space-xl)}.grl-h{font-size:var(--text-2xl);margin:0 0 var(--space-md);text-wrap:balance}.grl-h:focus{outline:none}.grl-h:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.grl-label{font:500 var(--text-sm)/1.3 var(--font-display);margin:var(--space-md) 0 var(--space-xs);display:block}.grl-help{margin-top:var(--space-sm)}.grl-row{gap:var(--space-xs);align-items:stretch;display:flex}.grl-row input{flex:1;min-width:0}.grl input,.grl select{width:100%;min-height:48px;padding:var(--space-sm) var(--space-lg);font:400 var(--text-md)/1.4 var(--font-body);color:var(--color-ink);background:var(--color-paper);border:1.5px solid var(--color-muted);border-radius:var(--radius-pill)}.grl input:hover{border-color:var(--color-ink)}.grl input:focus-visible{border-color:var(--color-ink);outline:2px solid var(--color-focus);outline-offset:2px}.grl input:disabled{opacity:.55;cursor:not-allowed}#grl-link{font-size:var(--text-sm)}.grl-switch{gap:var(--space-2xs);margin-bottom:var(--space-md);padding:var(--space-2xs);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1.5px var(--color-rule-2);flex-wrap:wrap;display:inline-flex}.grl-switch button{min-height:44px;padding:0 var(--space-lg);font:500 var(--text-md)/1 var(--font-display);white-space:nowrap;border-radius:var(--radius-pill);color:var(--color-ink-2);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);background:0 0;border:0}.grl-switch button:hover{background:var(--color-paper-3);color:var(--color-ink)}.grl-switch button:active{background:var(--color-rule)}.grl-switch button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.grl-switch button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink)}.grl-notice{margin-top:var(--space-md);gap:var(--space-sm);justify-items:start;display:grid}.grl .error{margin-top:var(--space-sm)}.grl-results{gap:var(--space-2xs);margin-top:var(--space-md);display:grid}.grl-results button{text-align:start;width:100%;font:inherit;color:var(--color-ink);cursor:pointer;gap:var(--space-3xs);padding:var(--space-sm) var(--space-lg);background:var(--color-paper);border-radius:var(--radius-card);transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);border:0;display:grid}.grl-results button:hover{background:var(--color-paper-3)}.grl-results button:active{background:var(--color-rule)}.grl-results button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.grl-results button[aria-pressed=true]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1.5px var(--color-accent)}.grl-results span{font-size:var(--text-sm);color:var(--color-muted)}.grl-out-grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(12rem,16rem);align-items:start;display:grid}.grl-actions{gap:var(--space-xs) var(--space-sm);margin:var(--space-md) 0 var(--space-xs);flex-wrap:wrap;display:flex}.grl-qr{padding:var(--space-md);background:var(--color-mock-paper);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin:0}.grl-qr svg{width:100%;height:auto;display:block}.grl-qr figcaption{margin-top:var(--space-xs);font:500 var(--text-sm)/1.4 var(--font-display);color:var(--color-muted)}.grl-rules{margin:var(--space-xl) 0 0;padding:var(--space-md) var(--space-lg);background:var(--color-paper);border-radius:var(--radius-card)}.grl-howto{border-top:var(--rule-hair) solid var(--color-rule-2);padding-top:var(--space-xl);gap:var(--space-md);display:grid}.grl-howto h2{font-size:var(--text-2xl);text-wrap:balance}.grl-howto h3{margin-top:var(--space-md)}.grl-howto ol{gap:var(--space-sm);max-width:70ch;padding-inline-start:var(--space-lg);list-style:decimal;display:grid}.grl-howto li::marker{color:var(--color-accent)}.grl-print{display:none}@media (prefers-reduced-motion:reduce){.grl-switch button,.grl-results button{transition:none}}@media (max-width:45rem){.grl-step{grid-template-columns:minmax(0,1fr)}.grl-step-no{margin-bottom:var(--space-sm)}.grl-out-grid{grid-template-columns:minmax(0,1fr)}.grl-qr{max-width:16rem}.grl-row{flex-wrap:wrap}.grl-row .btn{flex:1 0 auto}.grl-switch button{padding:0 var(--space-md);font-size:var(--text-sm)}}@media print{@page{size:A4 portrait;margin:18mm}body *{visibility:hidden!important}.grl-print,.grl-print *{visibility:visible!important}.grl-print{text-align:center;color:var(--color-ink);background:var(--color-mock-paper);font-family:var(--font-body);padding-top:10mm;display:block;position:absolute;inset:0 0 auto}.grl-print-heading{font-family:var(--font-display);max-width:150mm;margin:0 auto 6mm;font-size:26pt;line-height:1.15}.grl-print-name{margin:0 0 8mm;font-size:15pt;font-weight:500}.grl-print-qr{width:110mm;height:110mm;margin:0 auto;display:block}.grl-print-hint{margin:6mm 0 2mm;font-size:13pt}.grl-print-link{font-family:var(--font-body);word-break:break-all;max-width:150mm;margin:0 auto;font-size:8pt}}
