@font-face{font-family:Elms Sans;src:url(/fonts/ElmsSans-SemiBold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Elms Sans;src:url(/fonts/ElmsSans-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Josefin Sans;src:url(/fonts/JosefinSans-SemiBold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}:root{color:#2a2220;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f2edfb;font-family:Elms Sans,Avenir Next,Avenir,sans-serif;font-weight:600}*{box-sizing:border-box}html,body{width:100%;height:100%;min-height:100%}html{overscroll-behavior:none;background:#f2edfb;overflow:hidden}body{overscroll-behavior:none;background:#f2edfb;place-items:center;min-height:100dvh;margin:0;padding:0;display:grid;overflow:hidden}button,canvas{-webkit-user-select:none;user-select:none}#root{background:#f2edfb;border-radius:0;width:auto;max-width:none;height:auto;min-height:0;position:fixed;inset:0;overflow:hidden}.app-error{color:#1d1031;text-align:center;background:#f2edfb;place-items:center;width:100%;height:100%;padding:32px;display:grid}.app-error h1{margin:0;font-size:1.35rem}.app-error p{color:#1d10319e;margin:8px 0 22px;font-size:.9rem}.app-error button{color:#1d1031;cursor:pointer;min-height:52px;font:inherit;background:#fff;border:1px solid #3838381f;border-radius:18px;padding:12px 24px;font-size:.95rem}.preview-capture{background:0 0;width:512px;height:512px}.preview-capture canvas{display:block;width:512px!important;height:512px!important}.preview-capture-output{display:none}@media (width>=601px) and (height>=701px){:root,html,body{background:#fff}body{padding:24px}#root{border-radius:34px;width:min(560px,100vw - 48px);max-width:560px;height:min(900px,100dvh - 48px);position:relative;inset:auto}}.app-shell{--dice-accent:#9d1d58;--dice-accent-rgb:157, 29, 88;--stage-lilac:#f2edfb;--action-lilac:#9161d9;--action-lilac-rgb:145, 97, 217;--setup-card-surface:linear-gradient(180deg, #ffffff80, #fff);--container-top-spacing:48px;--container-bottom-spacing:36px;border-radius:inherit;isolation:isolate;background:var(--stage-lilac);width:100%;height:100%;min-height:100%;position:relative;overflow:clip}.app-shell:has(.setup-sheet[open]):after{content:"";z-index:20;border-radius:inherit;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#f2edfb33;animation:.42s both setup-sheet-scrim-enter;position:absolute;inset:0}.app-shell:has(.setup-sheet.is-dismissing):after{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();transition:opacity .42s,-webkit-backdrop-filter .42s,backdrop-filter .42s;animation:none}@keyframes setup-sheet-scrim-enter{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.squircle-definitions{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}:where(.style-option,.style-option__preview){clip-path:url(#squircle-2)}.scene{z-index:0;touch-action:none;position:absolute;inset:0}.scene canvas{background:var(--stage-lilac);outline:none;width:100%;height:100%;display:block}.scene-fallback{color:#766e68;place-items:center;height:100%;font-size:.82rem;display:grid}.launch-preview{z-index:1;background:var(--stage-lilac);opacity:1;pointer-events:none;place-items:center;transition:opacity .16s;display:grid;position:absolute;inset:0}.launch-preview--ready{opacity:0}.launch-preview__die{width:min(68vw,300px);height:min(68vw,300px);animation:.36s cubic-bezier(.22,1,.36,1) both launch-preview-enter;display:block}.selector-actions{z-index:5;bottom:max(18px, calc(env(safe-area-inset-bottom) + 4px));gap:16px;width:min(328px,100% - 66px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.selector-action{appearance:none;cursor:pointer;width:100%;height:58px;font:inherit;letter-spacing:0;text-shadow:none;-webkit-tap-highlight-color:transparent;border:0;border-radius:24px;justify-content:center;align-items:center;padding:0 28px;font-size:17px;font-weight:600;line-height:normal;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:inset 0 0 0 2px #ffffffbf,0 0 0 2px #52229c14}.selector-action--advanced{color:#9161d9;background:linear-gradient(#fff0,#fff)}.selector-action--start{color:#fff;background:linear-gradient(#0000,#fff3),#9161d9}.selector-action:hover{box-shadow:inset 0 0 0 2px #ffffffbf,0 0 0 2px #52229c24}.selector-action--start,.selector-action--start:hover{box-shadow:inset 0 0 0 2px #a67fe1,0 0 0 2px #a67fff14}.selector-action:active{transform:scale(.98)}.selector-action:focus-visible,.style-menu button:focus-visible{outline:3px solid rgba(var(--dice-accent-rgb), .22);outline-offset:3px}.change-die-trigger,.rolling-advanced-trigger{z-index:7;top:max(29px, calc(env(safe-area-inset-top) + 13px));width:44px;height:44px;color:var(--action-lilac);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:14px;place-items:center;padding:0;transition:background-color .14s,transform .14s;animation:.42s cubic-bezier(.22,1,.36,1) both change-die-enter;display:grid;position:absolute}.change-die-trigger{left:max(32px, calc(env(safe-area-inset-left) + 20px))}.rolling-advanced-trigger{right:max(32px, calc(env(safe-area-inset-right) + 20px))}.change-die-trigger:hover,.rolling-advanced-trigger:hover{background:#9161d90a}.change-die-trigger:active,.rolling-advanced-trigger:active{background:#9161d91a;transform:scale(.96)}.change-die-trigger:focus-visible,.rolling-advanced-trigger:focus-visible{outline:3px solid rgba(var(--action-lilac-rgb), .3);outline-offset:2px}@media (width<=360px){.change-die-trigger{left:max(20px, calc(env(safe-area-inset-left) + 12px))}.rolling-advanced-trigger{right:max(20px, calc(env(safe-area-inset-right) + 12px))}}.onboarding{z-index:4;top:0;right:0;bottom:calc(var(--container-bottom-spacing) + 82px);flex-direction:column;justify-content:center;min-height:0;padding:clamp(54px,9svh,96px) 0 clamp(22px,4svh,40px);animation:.52s cubic-bezier(.22,1,.36,1) both onboarding-arrive;display:flex;position:absolute;left:0;overflow:hidden}.die-type-readout{z-index:5;color:var(--action-lilac);font-variant-numeric:tabular-nums;letter-spacing:-.055em;pointer-events:none;align-items:flex-start;padding:8px;font-family:Josefin Sans,Elms Sans,Avenir Next,Avenir,sans-serif;font-size:51px;font-weight:600;line-height:1.08;display:inline-flex;position:absolute;top:41px;left:50%;transform:translate(-50%)}.die-type-readout__prefix{z-index:1;filter:url(#die-title-inner-shadow);position:relative}.die-type-readout__measure{visibility:hidden;white-space:nowrap;width:max-content;position:absolute}.die-type-readout__window{width:var(--die-value-width);perspective:120px;clip-path:inset(0 -.12em);height:1.08em;transition:width .48s cubic-bezier(.4,0,.2,1);display:inline-block;position:relative;overflow:visible;transform:translateY(0)}.die-type-readout__transition,.die-type-readout__number{white-space:nowrap;filter:url(#die-title-inner-shadow);transform-style:preserve-3d;align-items:baseline;display:flex;position:absolute;inset:0}.die-type-readout__number--static{transform:translateY(0)rotateX(0)}.die-type-readout__transition--forward .die-type-readout__number--outgoing{animation:.48s cubic-bezier(.4,0,.2,1) both rolodex-out-forward}.die-type-readout__transition--forward .die-type-readout__number--incoming{animation:.48s cubic-bezier(.4,0,.2,1) both rolodex-in-forward}.die-type-readout__transition--backward .die-type-readout__number--outgoing{animation:.48s cubic-bezier(.4,0,.2,1) both rolodex-out-backward}.die-type-readout__transition--backward .die-type-readout__number--incoming{animation:.48s cubic-bezier(.4,0,.2,1) both rolodex-in-backward}.die-type-rail-frame{flex:none;width:100%;height:clamp(360px,52svh,440px);position:relative}.die-type-rail-frame--compact{height:101px}.die-type-rail-frame:not(.die-type-rail-frame--compact){overflow:hidden}.die-type-rail{overscroll-behavior-x:contain;overscroll-behavior-y:none;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;align-items:center;gap:16px;width:100%;height:100%;padding:10px calc(50% - 95px) 18px;scroll-padding-inline:calc(50% - 95px);display:flex;overflow:scroll hidden}.looping-rail--repositioning{scroll-behavior:auto;scroll-snap-type:none}.die-type-rail::-webkit-scrollbar{display:none}.material-swatches::-webkit-scrollbar{display:none}.die-type-option{color:#403748;cursor:pointer;min-width:0;height:100%;font:inherit;scroll-snap-align:center;text-align:center;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:0 0 190px;justify-content:center;align-items:center;gap:4px;padding:0;transition:opacity .28s,transform .36s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.die-type-option[data-selected=true]{transform:translateY(-3px)}.die-type-option:active{transform:scale(.98)}.die-type-option__preview{z-index:1;opacity:1;width:260px;height:260px;transform:translateY(5px) scale(var(--type-scale,.62));will-change:transform;transition:opacity .26s;display:block;position:relative;overflow:visible}.die-type-option[data-selected=true] .die-type-option__preview{opacity:1}.dice-carousel-canvas{--refraction-overscan:256px;z-index:2;inset:0 calc(-1 * var(--refraction-overscan));opacity:0;will-change:opacity;transition:opacity .32s cubic-bezier(.22,1,.36,1);overflow:hidden;width:calc(100% + 2 * var(--refraction-overscan))!important;pointer-events:none!important;height:100%!important;position:absolute!important}.dice-carousel-canvas *{pointer-events:none!important}.die-type-rail-frame[data-models-ready=true] .dice-carousel-canvas{opacity:1}.die-type-rail-frame[data-models-ready=true] .die-type-option__preview{opacity:0}.die-type-option>strong{z-index:1;color:#30283500;letter-spacing:.02em;opacity:0;min-height:18px;margin-top:-12px;font-size:.72rem;font-weight:600;transition:color .22s,opacity .22s,transform .28s;position:relative;transform:translateY(3px)}.die-type-option[data-selected=true]>strong{color:#30283585;opacity:1;transform:translateY(12px)}.die-type-rail:not(.die-type-rail--compact) .die-type-option>strong{visibility:hidden}.material-swatches{flex:none;justify-content:center;align-self:center;align-items:center;gap:5.613px;width:min(304.375px,100%);height:52px;margin-top:clamp(10px,2svh,20px);animation:.6s cubic-bezier(.22,1,.36,1) 90ms both swatches-arrive;display:flex;position:relative;top:-15.823px;left:.218px}.material-swatch{cursor:pointer;width:56px;height:56px;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;transition:transform .18s;display:grid;position:relative}.material-swatch:after{z-index:2;content:"";pointer-events:none;border:3px solid #0000;border-radius:50%;transition:border-color .18s;position:absolute;inset:0}.material-swatch__image{z-index:1;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:44px;height:44px;margin:auto;display:block;position:relative}.material-swatch[data-selected=true]:after{border-color:var(--action-lilac)}.material-swatch:active{transform:scale(.92)}.material-swatch:focus-visible{outline:3px solid rgba(var(--dice-accent-rgb), .24);outline-offset:1px;border-radius:50%}.die-preview-canvas{filter:drop-shadow(7px 10px 9px #45355b2b);pointer-events:none;width:100%!important;height:100%!important}.die-preview-image{object-fit:contain;filter:drop-shadow(7px 10px 9px #45355b2b);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.style-menu-backdrop{z-index:6;opacity:0;pointer-events:none;background:#342b4321;transition:opacity .26s;position:absolute;inset:0}.style-menu-backdrop--visible{opacity:1;pointer-events:auto}.style-menu{z-index:7;height:min(72svh,590px);padding:10px 0 max(22px, calc(env(safe-area-inset-bottom) + 14px));pointer-events:none;background:#fff;border:0;border-radius:30px 30px 0 0;display:none;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(calc(100% + 24px));box-shadow:0 -20px 54px #2b23361f}.style-menu--open{pointer-events:auto;animation:.44s cubic-bezier(.32,.72,0,1) both style-menu-enter;display:block;transform:translateY(0)}.style-menu__grabber{background:#d8d5dd;border-radius:99px;width:36px;height:5px;margin:0 auto 5px;display:block}.style-menu__heading{justify-content:space-between;align-items:center;padding:5px 16px 10px 20px;display:flex}.style-menu__heading h2{color:#2a2220;letter-spacing:-.035em;margin:0;font-size:1.22rem;font-weight:600}.style-menu__close{color:#524b58;cursor:pointer;background:#f1eff3;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.style-menu__type-section{margin-top:1px}.style-menu__section-label{color:#3b323f85;letter-spacing:.02em;text-transform:uppercase;padding:0 20px 5px;font-size:.68rem;font-weight:600;display:block}.die-type-rail--compact{gap:8px;height:101px;padding:3px calc(50% - 39px) 12px;scroll-padding-inline:calc(50% - 39px)}.die-type-rail--compact .die-type-option{opacity:1;clip-path:url(#squircle-2);background:#e4dbf7b8;border-radius:22px;flex-basis:78px;height:86px;padding:5px 5px 4px;transform:none}.die-type-rail--compact .die-type-option:before{z-index:0;background:inherit;clip-path:url(#squircle-2);content:"";pointer-events:none;transition:inset .18s,background-color .18s;position:absolute;inset:0}.die-type-rail--compact .die-type-option[data-selected=true]{background:var(--action-lilac);transform:translateY(-2px)}.die-type-rail--compact .die-type-option[data-selected=true]:before{background:#fffffff0;inset:3px}.die-type-rail--compact .die-type-option__preview{opacity:1;clip-path:url(#squircle-2);width:60px;height:60px;transform:none}.die-type-rail--compact .die-type-option[data-selected=true] .die-type-option__preview{transform:none}.die-type-rail--compact .die-type-option>strong,.die-type-rail--compact .die-type-option[data-selected=true]>strong{color:#302835a8;opacity:1;visibility:visible;min-height:0;margin-top:-3px;font-size:.64rem;transform:none}.style-menu__material-label{padding-top:1px;padding-bottom:8px}.style-menu__options{overscroll-behavior-y:contain;scrollbar-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:calc(100% - 226px);padding:0 16px 8px;display:grid;overflow-y:auto}.style-menu__options::-webkit-scrollbar{display:none}.style-option{aspect-ratio:.82;background:var(--stage-lilac);color:#362d2a;cursor:pointer;min-width:0;font:inherit;text-align:center;-webkit-tap-highlight-color:transparent;border:0;border-radius:24px;flex-direction:column;justify-content:space-between;align-items:center;gap:5px;padding:8px 8px 11px;transition:background-color .18s,transform .18s;display:flex;position:relative}.style-option:hover,.style-option[aria-pressed=true]{background:var(--action-lilac)}.style-option:before{z-index:0;background:var(--stage-lilac);clip-path:url(#squircle-2);content:"";pointer-events:none;transition:inset .18s;position:absolute;inset:0}.style-option:hover:before,.style-option[aria-pressed=true]:before{inset:2px}.style-option:active{transform:scale(.98)}.style-option__preview{z-index:1;aspect-ratio:1;border-radius:18px;width:100%;min-height:0;display:block;position:relative;overflow:hidden}.style-option>strong{z-index:1;color:#49404f;letter-spacing:-.018em;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.1em;font-size:.72rem;font-weight:600;line-height:1.05;display:-webkit-box;position:relative;overflow:hidden}.style-option__check{width:22px;height:22px;color:var(--action-lilac);z-index:2;background:#fff;border-radius:50%;padding:4px;position:absolute;top:10px;right:10px}.result{z-index:2;top:max(29px, calc(env(safe-area-inset-top) + 13px));opacity:0;pointer-events:none;place-items:center;min-width:48px;height:44px;padding:0;transition:opacity .28s,transform .42s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;left:50%;transform:translate(-50%,-8px)}.result--visible{opacity:1;transform:translate(-50%)}.result--visible .result__value{animation:.52s cubic-bezier(.18,.86,.26,1.2) both result-pop}.result__value{color:var(--action-lilac);font-variant-numeric:tabular-nums;letter-spacing:-.055em;font-family:Josefin Sans,Elms Sans,Avenir Next,Avenir,sans-serif;font-size:3rem;font-weight:600;line-height:1.08}.roll-surface{z-index:3;color:#1f1b238f;cursor:pointer;font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;position:absolute;inset:0}.roll-surface:disabled{cursor:default}.roll-surface:focus-visible{outline:none}.roll-surface:focus-visible .roll-prompt{outline:3px solid rgba(var(--action-lilac-rgb), .3);outline-offset:4px}.roll-prompt{bottom:max(18px, calc(env(safe-area-inset-bottom) + 16px));opacity:0;letter-spacing:0;pointer-events:none;border-radius:12px;place-items:center;width:154px;min-height:50px;font-size:.92rem;font-weight:600;transition:opacity .22s,transform .32s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;left:50%;transform:translate(-50%,6px)}.roll-prompt--initial{top:50%;bottom:auto;transform:translate(-50%,calc(6px - 50%))}.roll-prompt--initial.roll-prompt--visible{transform:translate(-50%,-50%)}.roll-prompt--revealed{top:auto;bottom:max(29px, calc(env(safe-area-inset-bottom) + 13px));min-height:61px}.roll-prompt--visible{opacity:1;transform:translate(-50%)}.roll-surface:active:not(:disabled) .roll-prompt--visible{transform:translate(-50%,2px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes launch-preview-enter{0%{opacity:.72;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes result-pop{0%{opacity:0;transform:translateY(8px)scale(.55)}58%{opacity:1;transform:translateY(-1px)scale(1.14)}78%{transform:translateY(0)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes onboarding-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes swatches-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes rolodex-out-forward{0%{opacity:1;transform:translateY(0)rotateX(0)}to{opacity:0;transform:translateY(-92%)rotateX(58deg)}}@keyframes rolodex-in-forward{0%{opacity:0;transform:translateY(92%)rotateX(-58deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes rolodex-out-backward{0%{opacity:1;transform:translateY(0)rotateX(0)}to{opacity:0;transform:translateY(92%)rotateX(-58deg)}}@keyframes rolodex-in-backward{0%{opacity:0;transform:translateY(-92%)rotateX(58deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes change-die-enter{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes style-menu-enter{0%{transform:translateY(calc(100% + 24px))}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.result,.roll-prompt,.change-die-trigger,.style-menu,.style-menu-backdrop,.selector-action,.style-trigger,.style-option,.die-type-option,.die-type-readout__window,.die-type-readout__number,.material-swatch{transition-duration:.01ms}.die-type-readout__number{animation-duration:.01ms!important}.launch-preview,.launch-preview__die,.onboarding,.material-swatches,.style-menu--open{animation:none}.result__value{animation:none!important}.change-die-trigger,.rolling-advanced-trigger{animation:none}}
