:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1d2130;--surface:#262b3c;--surface-sunken:#191c29;--border:#353b50;--border-strong:#757c9a;--ink:#e7e5f0;--ink-muted:#a7aac0;--accent:#b3a4ef;--accent-soft:#33304f;--on-accent:#1d2130;--sage:#8fcaa5;--sage-soft:#25393a;--mist:#86c3cb;--mist-soft:#233641;--rose:#e8a3ad;--font-sans:Inter, "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--control-height:48px;--content-max:420px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f3f9;--surface:#fff;--surface-sunken:#ece9f3;--border:#dedaea;--border-strong:#8a85a3;--ink:#23263a;--ink-muted:#585c74;--accent:#5f4fbf;--accent-soft:#e7e2fa;--on-accent:#fff;--sage:#2a7048;--sage-soft:#dff0e5;--mist:#2b6f78;--mist-soft:#ddeef0;--rose:#a8384b}.gl-root,.gl-screen{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.gl-root *,.gl-screen *{box-sizing:border-box}.gl-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);font:500 15px/20px var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.gl-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gl-btn--primary{background:var(--accent);color:var(--on-accent)}.gl-btn--primary:hover{background:var(--ink)}.gl-btn--secondary{color:var(--ink);border-color:var(--border-strong);background:0 0}.gl-btn--secondary:hover{background:var(--surface)}.gl-btn--quiet{color:var(--mist);padding:0 var(--space-3);background:0 0}.gl-btn--quiet:hover{background:var(--mist-soft)}.gl-btn[disabled]{opacity:.45;cursor:not-allowed}.gl-field{gap:var(--space-2);width:100%;display:flex}.gl-input{min-width:0;height:var(--control-height);padding:0 var(--space-3);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:500 17px/24px var(--font-sans);font-variant-numeric:tabular-nums;flex:1;transition:border-color .15s}.gl-input::placeholder{color:var(--ink-muted);font-weight:400}.gl-input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.gl-input[aria-invalid=true]{border-color:var(--rose)}.gl-hint{margin:var(--space-2) 0 0;font:400 13px/18px var(--font-sans);color:var(--ink-muted)}.gl-hint--error{color:var(--rose)}.gl-badge{min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);font:500 16px/1 var(--font-mono);background:var(--accent-soft);color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.gl-badge--sage{background:var(--sage-soft);color:var(--sage)}.gl-badge--mist{background:var(--mist-soft);color:var(--mist)}.gl-badge--lg{min-width:72px;height:56px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:32px}.gl-footer{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);font:400 13px/18px var(--font-sans);color:var(--ink-muted);display:flex}.gl-footer a{color:var(--ink-muted);border-bottom:1px solid var(--border);padding-bottom:1px;text-decoration:none}.gl-footer a:hover{color:var(--accent);border-color:var(--accent)}.gl-footer .gl-dot{opacity:.6}.gl-screen{box-sizing:border-box;min-height:100%;padding:var(--space-6) var(--space-3) 0;flex-direction:column;align-items:center;display:flex}.gl-mark{width:72px;height:72px;color:var(--accent)}.gl-content{width:100%;max-width:var(--content-max);margin-top:var(--space-5)}.gl-heading{justify-content:center;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);font:600 22px/28px var(--font-sans);display:flex}.gl-row{margin-top:var(--space-3);justify-content:center;display:flex}@media (prefers-reduced-motion:reduce){.gl-btn,.gl-input{transition:none}}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0}code{font-family:var(--font-mono)}.App{--phi:1.618;--sage-strong:color-mix(in srgb, var(--sage) 75%, var(--bg));--gutter:var(--space-4);--fade:.3s ease;min-height:100dvh;padding-left:var(--gutter);padding-right:var(--gutter);overflow-x:clip}[data-theme=light] .App{--sage-strong:color-mix(in srgb, var(--sage) 75%, var(--ink))}.App-spacer{flex:1 1 0}.App-spacer--below{flex-grow:var(--phi)}.App-lotus{--width:min(var(--content-max) * var(--phi), 100vw - 2 * var(--gutter));width:var(--width);height:calc(var(--rows) * 1.2 * var(--art-font) * var(--fit));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:zoom-in;z-index:1;transform-origin:var(--zoom-x) var(--zoom-y);transform:scale(var(--zoom));transition:transform var(--zoom-ms) ease;position:relative}.App-lotus-art{--bloom:15%;width:max-content;font-family:var(--font-mono);font-size:var(--art-font);color:var(--accent);text-shadow:0 0 .5em color-mix(in srgb, var(--accent) var(--bloom), transparent), 0 0 2em color-mix(in srgb, var(--accent) var(--bloom), transparent);transform-origin:0 0;transform:scale(var(--fit));margin:0;line-height:1.2;position:absolute;top:0;left:0}.App-lotus:focus-visible{outline:2px solid var(--accent-soft);outline-offset:var(--space-2);border-radius:var(--radius-md)}.App-lotus[data-zoomed]{cursor:zoom-out}.App-lotus[data-zoomed]>.App-lotus-art{text-shadow:0 0 .5em color-mix(in srgb, var(--accent) var(--bloom), transparent)}@media (prefers-reduced-motion:reduce){.App-lotus{transition:none}}.App-footer{margin:0 calc(-1 * var(--gutter));align-self:stretch;position:relative}@media (orientation:landscape) and (height<=540px){.App{--footer-height:calc(20px + 2 * var(--space-3));place-items:center;column-gap:var(--space-5);padding-top:var(--space-3);grid-template-rows:1fr auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.App-spacer{grid-column:1/-1}.App-lotus{--width:min((100vw - 2 * var(--gutter) - var(--space-5)) / 2, (100dvh - var(--footer-height) - 2 * var(--space-3)) * var(--cols) / var(--rows) / 2);grid-area:2/1}.App>.gl-content{grid-area:2/2;margin-top:0}.App .App-hint{right:calc(50vw + var(--space-5) / 2);max-width:calc(50vw - var(--gutter) - var(--space-5) / 2)}.App-footer{grid-area:4/1/auto/-1;justify-self:stretch}}.App-input{font-size:22px;line-height:28px}.App-heading{letter-spacing:-.01em;-webkit-user-select:none;user-select:none;font-size:32px;line-height:40px}.App-badge{--disc:calc(32px * var(--phi));width:var(--disc);min-width:0;height:var(--disc);border-radius:var(--radius-pill);color:var(--ink);padding:0;font-size:32px;line-height:1;position:relative}.App-badge[data-released]:after{content:attr(data-released);content:attr(data-released) / "";z-index:2;color:var(--sage);pointer-events:none;place-items:center;animation:1.2s cubic-bezier(.2,.6,.3,1) forwards App-release;display:grid;position:absolute;inset:0}@keyframes App-release{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(3.5)}}@media (prefers-reduced-motion:reduce){.App-badge[data-released]:after{animation-name:App-release-fade}}@keyframes App-release-fade{0%{opacity:1}to{opacity:0}}.App-heart{width:.75em;height:.75em;color:var(--rose)}.App-field{gap:0}.App-field>.gl-input{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.App-field>.gl-btn{border-top-left-radius:0;border-bottom-left-radius:0}.App-field{border-radius:var(--radius-md);transition:box-shadow var(--fade)}.App-field:focus-within{box-shadow:0 0 0 3px var(--accent-soft), 0 0 16px var(--accent-soft)}.App-field>.gl-input:focus{border-color:var(--accent);outline:none}.App-field>.gl-btn--primary:active{background:var(--sage-strong)}@media (hover:hover){.App-field>.gl-btn--primary:hover{background:var(--sage-strong)}}@media (hover:none){.App-field>.gl-btn--primary:hover:not(:active){background:var(--accent)}}.App-field[data-cheered]:not(:has(.gl-input:focus))>.gl-btn--primary{background:var(--sage-strong)}.App-field>.gl-btn:focus-visible{outline:2px solid var(--on-accent);outline-offset:-5px}.App .gl-btn{transition:background-color var(--fade), border-color var(--fade), color var(--fade)}.App .gl-input{transition:border-color var(--fade)}@media (prefers-reduced-motion:reduce){.App-field,.App .gl-btn,.App .gl-input{transition:none}}.App-help{right:var(--gutter);bottom:var(--gutter);width:var(--control-height);border-radius:var(--radius-pill);padding:0;font-size:20px;position:absolute}.App-hint{inset:auto;right:var(--gutter);bottom:calc(var(--gutter) + var(--control-height) + var(--space-2));width:max-content;max-width:min(var(--content-max), 100vw - 2 * var(--gutter));padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);font:400 15px/22px var(--font-sans);color:var(--ink-muted);margin:0}.App-hint p{margin:0 0 var(--space-2)}.App-hint b{color:var(--ink);font-weight:600}.App-hint .App-hint-example{font-family:var(--font-mono);color:var(--sage);margin:0}.App-quiet{color:var(--accent)}.App-quiet:active{background:var(--accent-soft)}@media (hover:hover){.App-quiet:hover{background:var(--accent-soft)}}@media (hover:none){.App-quiet:hover:not(:active){background:0 0}}
