:root{--control-radius:3px;--card-radius:4px;--panel-radius:5px;--sheet-radius:6px;--touch-target:44px}:where([data-sheet-shell]) button{color:var(--ink);background:var(--button-background);border:1px solid var(--button-border);border-radius:var(--control-radius);font-family:var(--serif);cursor:pointer;transition:background .1s,border-color .1s}:where([data-sheet-shell]) button:hover:not(:disabled){background:var(--button-hover);border-color:var(--border-input)}:where([data-sheet-shell]) button:focus-visible,:where([data-sheet-shell]) input:focus-visible,:where([data-sheet-shell]) select:focus-visible,:where([data-sheet-shell]) textarea:focus-visible{border-color:var(--focus-border);box-shadow:0 0 0 2px var(--focus-ring);outline:0}:where([data-sheet-shell]) button:disabled{color:var(--disabled-text);cursor:default}:where([data-sheet-shell]) input,:where([data-sheet-shell]) select,:where([data-sheet-shell]) textarea{color:var(--ink);background:var(--surface-input);border-color:var(--border-input);border-radius:var(--control-radius)}select:not([multiple]):not([size]){appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% - 1px),calc(100% - 12px) calc(50% - 1px);background-repeat:no-repeat;background-size:4px 4px;padding-inline-end:38px}.dialog-backdrop{z-index:10;background:var(--overlay);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.outcome-dialog{width:min(100%,390px);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--panel-radius);box-shadow:0 18px 55px var(--shadow-color);padding:25px}@media (width<=760px){:where([data-sheet-shell]) .dialog-backdrop{place-items:center;padding:8px}:where([data-sheet-shell]) .dialog-backdrop.keyboard-open{padding-top:calc(8px + env(safe-area-inset-top));place-items:start center}:where([data-sheet-shell]) .outcome-dialog{max-height:calc(100dvh - 16px);overflow:auto}}.dice-stack,.dice-row{justify-content:center;align-items:center;gap:5px;display:flex}.dice-stack{flex-direction:column}.die-slot{place-items:center;width:29px;height:29px;display:grid}.die-face{background:var(--die-background,#fffefa);border:var(--die-border,1px solid #aaa39b);border-radius:var(--die-radius,5px);width:29px;height:29px;box-shadow:var(--die-shadow,0 1px 2px #29262c24);flex:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.die-face i{background:var(--die-pip,var(--ink));border-radius:50%;place-self:center;width:4px;height:4px;display:none}.die-face i:first-child{grid-area:1/1}.die-face i:nth-child(2){grid-area:1/2}.die-face i:nth-child(3){grid-area:1/3}.die-face i:nth-child(4){grid-area:2/1}.die-face i:nth-child(5){grid-area:2/2}.die-face i:nth-child(6){grid-area:2/3}.die-face i:nth-child(7){grid-area:3/1}.die-face i:nth-child(8){grid-area:3/2}.die-face i:nth-child(9){grid-area:3/3}.die-1 i:nth-child(5),.die-2 i:first-child,.die-2 i:nth-child(9),.die-3 i:first-child,.die-3 i:nth-child(5),.die-3 i:nth-child(9),.die-4 i:first-child,.die-4 i:nth-child(3),.die-4 i:nth-child(7),.die-4 i:nth-child(9),.die-5 i:first-child,.die-5 i:nth-child(3),.die-5 i:nth-child(5),.die-5 i:nth-child(7),.die-5 i:nth-child(9),.die-6 i:first-child,.die-6 i:nth-child(3),.die-6 i:nth-child(4),.die-6 i:nth-child(6),.die-6 i:nth-child(7),.die-6 i:nth-child(9){display:block}.dice-style-parchment{--die-background:#fffefa;--die-border:1px solid #aaa39b;--die-pip:#29262c;--die-radius:5px;--die-shadow:0 1px 2px #29262c24}.dice-style-ivory{--die-background:#fffdf2;--die-border:1px solid #b9aa7c;--die-pip:#4c3d28;--die-radius:6px;--die-shadow:0 2px 3px #5c462233}.dice-style-bone{--die-background:#dfd0ad;--die-border:1px solid #79694c;--die-pip:#3c3123;--die-radius:2px;--die-shadow:inset 0 0 0 1px #ffffff47}.dice-style-porcelain{--die-background:#fcfdff;--die-border:1px solid #7892ad;--die-pip:#244c76;--die-radius:7px;--die-shadow:0 2px 5px #244c7633}.dice-style-ink{--die-background:#211f25;--die-border:1px solid #0d0c0f;--die-pip:#f8f4e8;--die-radius:4px;--die-shadow:0 2px 4px #00000061}.dice-style-charcoal{--die-background:#4a484d;--die-border:1px solid #252328;--die-pip:#e7dfca;--die-radius:2px;--die-shadow:inset 0 1px #ffffff21, 0 2px 3px #00000040}.dice-style-oxblood{--die-background:#7c292b;--die-border:1px solid #491416;--die-pip:#fff0d5;--die-radius:5px;--die-shadow:0 2px 4px #49141659}.dice-style-burgundy{--die-background:#4f1e37;--die-border:1px solid #2c0d1d;--die-pip:#e9c87b;--die-radius:7px;--die-shadow:inset 0 0 0 1px #e9c87b2e, 0 2px 4px #2c0d1d59}.dice-style-forest{--die-background:#315b43;--die-border:1px solid #173624;--die-pip:#f2edd5;--die-radius:5px;--die-shadow:0 2px 4px #17362452}.dice-style-navy{--die-background:#263b5b;--die-border:1px solid #12223b;--die-pip:#f6f2e8;--die-radius:4px;--die-shadow:0 2px 4px #12223b5c}.dice-style-royal{--die-background:#345fc7;--die-border:1px solid #193d91;--die-pip:#fff;--die-radius:9px;--die-shadow:inset 0 1px #ffffff40, 0 2px 4px #193d914d}.dice-style-teal{--die-background:#24706f;--die-border:1px solid #104543;--die-pip:#ddfff7;--die-radius:6px;--die-shadow:0 2px 4px #1045434d}.dice-style-amber{--die-background:#e3a72f;--die-border:1px solid #906314;--die-pip:#4b3210;--die-radius:5px;--die-shadow:inset 0 1px #ffffff4d, 0 2px 3px #4b32103d}.dice-style-brass{--die-background:linear-gradient(145deg, #e2cc7d, #9d7b2f);--die-border:1px solid #6c5221;--die-pip:#33270f;--die-radius:4px;--die-shadow:inset 0 1px #ffffff6b, 0 2px 4px #412e0d4d}.dice-style-copper{--die-background:linear-gradient(145deg, #cb805b, #87452f);--die-border:1px solid #633020;--die-pip:#2d1711;--die-radius:4px;--die-shadow:inset 0 1px #ffecd952, 0 2px 4px #4e231752}.dice-style-rose{--die-background:#e5aeb8;--die-border:1px solid #a66b79;--die-pip:#612f42;--die-radius:8px;--die-shadow:0 2px 4px #612f4233}.dice-style-lavender{--die-background:#c8b8df;--die-border:1px solid #8974a8;--die-pip:#443459;--die-radius:8px;--die-shadow:0 2px 4px #44345933}.dice-style-frost{--die-background:#e5f4f7;--die-border:1px solid #8bb7c2;--die-pip:#285e70;--die-radius:6px;--die-shadow:inset 0 0 5px #ffffffe6, 0 2px 4px #285e702b}.dice-style-glass{--die-background:#f4f8fa8c;--die-border:1px solid #5a6c778c;--die-pip:#475963;--die-radius:7px;--die-shadow:inset 2px 2px 4px #ffffffe6, inset -2px -2px 4px #58707e24, 0 2px 4px #2d3b4226}.dice-style-outline{--die-background:transparent;--die-border:2px solid #514b55;--die-pip:#514b55;--die-radius:3px;--die-shadow:none}.dice-style-phosphor{--die-background:#061008;--die-border:1px solid #65ff70;--die-pip:#8dff91;--die-radius:2px;--die-shadow:0 0 5px #65ff7073, inset 0 0 4px #65ff701f}.dice-style-monochrome{--die-background:#161616;--die-border:1px solid #9b9b9b;--die-pip:#e2e2e2;--die-radius:2px;--die-shadow:0 2px 4px #00000080}.dice-style-outline .die-face i{border:1px solid var(--die-pip);background:0 0}@font-face{font-family:Spectral;font-style:normal;font-display:block;font-weight:400;src:url(/assets/spectral-latin-400-normal-CTVgUekv.woff2)format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-display:block;font-weight:700;src:url(/assets/spectral-latin-700-normal-Cd2m0ohD.woff2)format("woff2")}:root{--ink:#29262c;--muted:#746e76;--surface:#fbfaf8;--surface-raised:#f7f5f2;--border:#dedad4;--border-strong:#cbc6bf;--border-input:#bcb6af;--accent:#665c70;--accent-dark:#514859;--focus:#665c70;--serif:Georgia, "Times New Roman", serif;--sans:Arial, Helvetica, sans-serif;--text-micro:10px;--text-small:11px;--text-label:12px;--text-control:14px;--text-body:16px;--text-input:17px;--text-heading:20px;--text-result:23px;--text-modal-title:27px;--text-character-name:32px;--control-height-small:36px;--control-height:42px;color:var(--ink);font-family:var(--serif);font-size:var(--text-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eeece8}*{box-sizing:border-box}body{background:var(--page-background,#eeece8);min-width:320px;min-height:100svh;margin:0}button,input,select,textarea{font:inherit}.sheet-library,.tools-home,.coming-soon,.route-message{color:#29262c;background:radial-gradient(circle at 50% 0,#ffffffe0,#0000 52%),#eeece8;min-height:100svh;padding:clamp(28px,6vw,76px)}.sheet-library,.tools-home,.coming-soon{place-items:center;display:grid}.tools-index{text-align:center;width:min(100%,560px)}.product-parent-link{color:#665c70;letter-spacing:.14em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;text-decoration:none;display:inline-block;position:relative}.product-parent-link:hover{text-decoration:none}.product-parent-link:after,.tools-index nav>a:after{content:"";background:currentColor;height:1px;transition:transform .12s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.product-parent-link:hover:after,.product-parent-link:focus-visible:after,.tools-index nav>a:hover:after,.tools-index nav>a:focus-visible:after{transform:scaleX(1)}.tools-index nav>a:after{bottom:4px;left:10px;right:10px}.tools-index h1{font-kerning:normal;letter-spacing:-.035em;margin:12px 0 28px;font-family:Spectral,Georgia,serif;font-size:clamp(34px,6vw,54px);font-weight:700;line-height:1}.tools-index nav{justify-items:center;gap:2px;display:grid}.tools-index nav>a,.tools-index-disabled{color:#29262c;font-kerning:normal;letter-spacing:-.02em;align-items:center;min-height:44px;padding:7px 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.4vw,23px);line-height:1.2;text-decoration:none;display:flex}.tools-index nav strong{font-weight:700}.tools-index nav>a{position:relative}.tools-index nav>a:hover,.tools-index nav>a:focus-visible{color:#665c70}.tools-index-disabled{color:#aaa4ab}.landing-page.dark .tools-index nav>a{color:#eeece8}.landing-page.dark .tools-index nav>a:hover,.landing-page.dark .tools-index nav>a:focus-visible,.landing-page.dark .product-parent-link{color:#c8bccf}.landing-page.dark .tools-index-disabled{color:#77717a}.mobile-appearance-toggle{display:none}.account-trigger{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:3;color:#746e76;cursor:pointer;opacity:.72;background:0 0;border:0;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;font:11px Arial,Helvetica,sans-serif;display:grid;position:fixed}.account-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45px;width:22px;height:22px}.account-trigger:hover,.account-trigger:focus-visible{color:#29262c;opacity:1}.landing-page.dark .account-trigger{color:#aaa4ad}.landing-page.dark .account-trigger:hover,.landing-page.dark .account-trigger:focus-visible{color:#eeece8}.account-dialog{--ink:#29262c;--surface:#fbfaf8;--border-strong:#cbc6bf;--shadow-color:#1c181f38;width:min(100%,360px);font-family:Georgia,Times New Roman,serif}.landing-page>.dialog-backdrop{--overlay:#221f257a;--shadow-color:#1c181f38;z-index:20}.account-dialog h2{margin:7px 0 22px;font:400 30px/1 Spectral,Georgia,serif}.account-kicker,.account-dialog label{color:#746e76;letter-spacing:.08em;text-transform:uppercase;font:600 11px Arial,Helvetica,sans-serif}.account-dialog label{margin-bottom:7px;display:block}.account-dialog input{border:1px solid #bcb6af;border-radius:3px;width:100%;min-height:44px;padding:8px 10px;font:16px Georgia,Times New Roman,serif}.account-email,.account-message{overflow-wrap:anywhere}.account-message{color:#665c70;min-height:1.4em;font-size:14px}.account-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.account-actions button{color:#29262c;cursor:pointer;background:#f1efeb;border:1px solid #cbc6bf;border-radius:3px;min-height:40px;padding:7px 13px;font-family:Georgia,Times New Roman,serif}.account-actions button:last-child{color:#f8f6f2;background:#665c70;border-color:#665c70}.account-actions button:disabled{opacity:.5}.coming-soon>div{text-align:center;width:min(100%,700px)}.coming-soon h1{letter-spacing:-.04em;margin:15px 0 8px;font-family:Spectral,Georgia,serif;font-size:clamp(38px,7vw,60px);font-weight:400;line-height:1}.coming-soon h1 strong{font-weight:700}.coming-soon p{color:#746e76;letter-spacing:.1em;text-transform:uppercase;margin:28px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:12px}.library-selector>span,.route-message>span{color:#665c70;letter-spacing:.14em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700}.library-selector h1,.route-message h1{letter-spacing:-.035em;margin:12px 0 34px;font-size:clamp(34px,6vw,54px);font-weight:500;line-height:1}.library-selector h1 strong{font-weight:700}.library-selector h1{font-family:Spectral,serif;font-weight:400}.route-message a,.ecosystem-bar a{color:inherit}.route-message a{color:#f8f6f2;background:#665c70;border:1px solid #665c70;border-radius:3px;flex:none;padding:9px 13px;text-decoration:none}.library-selector{text-align:center;width:min(100%,720px)}.library-selector form{text-align:left;gap:9px;width:min(100%,470px);margin:0 auto;display:grid}.library-selector h1{white-space:nowrap}.library-selector label{color:#746e76;letter-spacing:.04em;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600}.library-selector form>div{grid-template-columns:1fr auto;gap:8px;display:grid}.library-selector select,.library-selector button{border:1px solid #bcb6af;border-radius:3px;min-height:44px;font:16px Georgia,Times New Roman,serif}.library-selector select{color:#29262c;background-color:#fff;width:100%;padding:7px 10px}.landing-page.dark .library-selector label{color:#bbb4bd}.landing-page.dark .library-selector select{color:#eeece8;background-color:#38343c;border-color:#5d5761}.library-selector button{color:#f8f6f2;cursor:pointer;background:#665c70;border-color:#665c70;padding:7px 17px}.app-ecosystem{--ecosystem-bar-height:45px;min-height:100svh}.mapper-ecosystem{background:#fff;grid-template-rows:36px minmax(0,1fr);width:100%;height:100svh;display:grid;overflow:hidden}.mapper-ecosystem-bar{z-index:20;min-width:0;padding:5px max(12px, env(safe-area-inset-right)) 5px max(12px, env(safe-area-inset-left));color:#f3f0e9;background:#242228;border-bottom:1px solid #111014;grid-template-columns:1fr auto;align-items:center;font-family:Arial,Helvetica,sans-serif;font-size:12px;display:grid;position:relative}.mapper-ecosystem-bar>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mapper-ecosystem-bar a{color:#d8d2dc;text-underline-offset:3px}.mapper-progress{color:#29262c;background:radial-gradient(circle at 50% 0,#ffffffe0,#0000 52%),#eeece8;place-items:center;min-height:0;padding:28px;display:grid}.landing-page.dark{color:#eeece8;background:#29262c}.gb-tools-wordmark{white-space:nowrap}.gb-tools-wordmark>span:nth-child(3){margin-left:.22em}.landing-page .gb-tools-wordmark.rainbow>span:first-child{color:#d32f43}.landing-page .gb-tools-wordmark.rainbow>span:nth-child(2){color:#df6b25}.landing-page .gb-tools-wordmark.rainbow>span:nth-child(3){color:#e0b400}.landing-page .gb-tools-wordmark.rainbow>span:nth-child(4){color:#268f54}.landing-page .gb-tools-wordmark.rainbow>span:nth-child(5){color:#287bb2}.landing-page .gb-tools-wordmark.rainbow>span:nth-child(6){color:#5a58b2}.landing-page .gb-tools-wordmark.rainbow>span:nth-child(7){color:#9148a5}.landing-page.dark .gb-tools-wordmark.rainbow>span:first-child{color:#d96f7b}.landing-page.dark .gb-tools-wordmark.rainbow>span:nth-child(2){color:#d28a5c}.landing-page.dark .gb-tools-wordmark.rainbow>span:nth-child(3){color:#c6af62}.landing-page.dark .gb-tools-wordmark.rainbow>span:nth-child(4){color:#70a77d}.landing-page.dark .gb-tools-wordmark.rainbow>span:nth-child(5){color:#6e98b5}.landing-page.dark .gb-tools-wordmark.rainbow>span:nth-child(6){color:#8985b7}.landing-page.dark .gb-tools-wordmark.rainbow>span:nth-child(7){color:#ac7daf}.mapper-progress>div{text-align:center;width:min(100%,520px)}.mapper-progress span{color:#665c70;letter-spacing:.14em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700}.mapper-progress h1{letter-spacing:-.035em;margin:12px 0 24px;font-family:Spectral,Georgia,serif;font-size:clamp(32px,9vw,48px);font-weight:400;line-height:1}.mapper-progress h1 strong{font-weight:700}.mapper-progress p{color:#746e76;max-width:410px;margin:0 auto;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55}.mapper-loading{color:#746e76;place-items:center;min-height:0;font-family:Arial,Helvetica,sans-serif;font-size:13px;display:grid}.sheet-loading{min-height:calc(100svh - var(--ecosystem-bar-height));color:#746e76;background:#eeece8;place-items:center;font-family:Arial,Helvetica,sans-serif;font-size:13px;display:grid}.ecosystem-bar{z-index:9;min-height:var(--ecosystem-bar-height);padding:7px max(18px, env(safe-area-inset-right)) 7px max(18px, env(safe-area-inset-left));color:#f3f0e9;background:#242228;border-bottom:1px solid #111014;grid-template-columns:1fr auto;align-items:center;font-family:Arial,Helvetica,sans-serif;font-size:12px;display:grid;position:relative}.ecosystem-brand{justify-self:start;font-size:13px;font-weight:400;text-decoration:none}.ecosystem-brand strong{font-weight:700}.ecosystem-library-link{text-underline-offset:3px;justify-self:end;color:#d8d2dc!important}.route-message{align-content:center;justify-items:start;display:grid}.route-message h1{font-size:clamp(32px,6vw,52px)}@media (width<=520px){.sheet-library,.tools-home,.coming-soon,.route-message{padding:24px}.library-selector h1{white-space:normal}.account-trigger{top:max(4px, env(safe-area-inset-top));right:max(4px, env(safe-area-inset-right))}.account-trigger svg{width:18px;height:18px}.mobile-appearance-toggle{top:max(4px, env(safe-area-inset-top));left:max(4px, env(safe-area-inset-left));z-index:2;color:currentColor;width:44px;min-width:44px;height:44px;box-shadow:none;opacity:.32;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;place-items:center;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;display:grid;position:fixed}.mobile-appearance-toggle:focus-visible{outline-offset:-6px;opacity:.8;outline:1px solid}}@media (prefers-reduced-motion:reduce){.product-parent-link:after,.tools-index nav>a:after{transition:none}}
