:root{--ink:#3a2d57;--ink-soft:#5d5079;--ink-faint:#8e80ae;--iris:#6a4bb0;--iris-dark:#4e3590;--petal:#b9a0ea;--petal-light:#e4d7fa;--lilac:#e9dffa;--ground:#f8f4fc;--paper:#fffdf8;--beard:#f2c94c;--leaf:#8db596;--leaf-ink:#5e8a6a;--leaf-text:#3f7351;--blush:#f6c9d6;--sky:#cfe2f7;--line:#e0d6f0;--danger:#a3324f;--r-a:22px 16px 24px 14px / 14px 24px 16px 22px;--r-b:16px 20px 14px 22px / 20px 14px 22px 16px;--r-c:26px 20px 28px 18px / 18px 28px 20px 26px;--r-d:20px 24px 18px 26px / 24px 18px 26px 20px;--r-die:34px 28px 36px 26px / 26px 36px 28px 34px;--hand:"Caveat", "Comic Sans MS", cursive;--body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h:76px;--safe-b:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--safe-t:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--safe-l:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--safe-r:var(--safe-area-inset-right,env(safe-area-inset-right,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--body);color:var(--ink);background:var(--ground);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{background:var(--ground);min-height:100%;margin:0;overflow-x:clip}body{overscroll-behavior-y:none}body:before{content:"";z-index:55;height:var(--safe-t);background:var(--ground);pointer-events:none;position:fixed;top:0;left:0;right:0}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--iris)}a:hover{color:var(--iris-dark)}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--iris);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{max-width:480px;min-height:100dvh;padding-top:var(--safe-t);margin:0 auto;position:relative;overflow-x:clip}.screen{padding:24px 20px calc(var(--nav-h) + var(--safe-b) + 40px);min-height:100dvh;position:relative}.screen--no-nav{padding-bottom:calc(var(--safe-b) + 140px)}.screen-head{flex-direction:column;gap:2px;padding:4px 4px 0;display:flex;position:relative}.screen-head--row{flex-direction:row;align-items:center;gap:10px}.title{font-family:var(--hand);margin:0;font-size:42px;font-weight:700;line-height:1}.subtitle{color:var(--ink-soft);margin:0;font-size:14px;font-weight:600}.section-head{justify-content:space-between;align-items:baseline;margin:28px 4px 10px;display:flex}.section-head h2{font-family:var(--hand);margin:0;font-size:28px;font-weight:700;line-height:1}.section-head a,.link-btn{font-size:14px;font-weight:800}.link-btn{cursor:pointer;min-height:32px;color:var(--iris);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{color:var(--iris-dark)}.hand{font-family:var(--hand);font-weight:700}.garden-switch{border:2px solid var(--ink);border-radius:var(--r-b);background:var(--lilac);max-width:100%;color:var(--ink);align-self:flex-start;gap:6px;margin-top:6px;padding:4px 12px;font-size:14px;font-weight:800;text-decoration:none}.garden-switch:hover{color:var(--ink)}.muted{color:var(--ink-soft)}.deco{pointer-events:none;position:absolute}.card{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-d);padding:16px}.card--feature{background:var(--lilac);border-radius:var(--r-c);box-shadow:4px 5px 0 var(--petal);border-width:2.5px}.card--blush{background:#f6dce5}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.btn{background:var(--paper);min-height:52px;color:var(--ink);border:2.5px solid var(--ink);border-radius:var(--r-a);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:800;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:hover{color:inherit}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none!important}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--iris);color:#fff;box-shadow:3px 4px 0 var(--petal)}.btn--primary:hover{color:#fff}.btn--yellow{background:var(--beard);color:var(--ink)}.btn--dashed{border:2px dashed var(--ink-faint);background:0 0;border-radius:16px;min-height:44px;font-size:14px}.btn--small{border-width:2px;min-height:44px;padding:0 16px;font-size:14px}.btn--block{width:100%}.btn--danger{color:var(--danger);border-color:var(--danger)}.icon-btn{border:2px solid var(--ink);background:var(--paper);cursor:pointer;width:44px;height:44px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.chip{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-b);cursor:pointer;min-height:44px;color:var(--ink);flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.chip[aria-pressed=true]{background:var(--iris);color:#fff}.chip__n{opacity:.85;font-size:12px}.chips{scrollbar-width:none;gap:8px;margin:0 -20px;padding:4px 20px 8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.avatar{border:2px solid var(--ink);width:34px;height:34px;color:var(--ink);background:var(--sky);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.avatar--sm{border-width:1.5px;width:24px;height:24px;font-size:11px}.avatar--lg{width:72px;height:72px;box-shadow:3px 4px 0 var(--petal);border-width:2.5px;font-size:30px}.avatar{overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatars{display:flex}.avatars .avatar+.avatar{margin-left:-10px}.input,.textarea{background:var(--paper);border:2px solid var(--ink);width:100%;min-height:50px;color:var(--ink);border-radius:18px 14px 20px 12px/12px 20px 14px 18px;padding:0 16px;font-size:16px}.textarea{resize:vertical;min-height:84px;padding:12px 16px}.input::placeholder,.textarea::placeholder{color:#7a6e96}.field{flex-direction:column;gap:6px;display:flex}.field>span{padding-left:4px;font-size:14px;font-weight:800}.nav{width:100%;max-width:480px;height:calc(var(--nav-h) + var(--safe-b));padding:10px 6px var(--safe-b);background:var(--paper);border-top:2px solid var(--ink);z-index:20;border-radius:26px 22px 0 0/14px 18px 0 0;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav a{color:var(--ink-soft);flex-direction:column;align-items:center;gap:2px;width:64px;min-height:48px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.nav a[aria-current=page]{color:var(--iris);font-weight:800}.nav a.nav__roll{background:var(--iris);border:2.5px solid var(--ink);width:62px;height:62px;min-height:0;box-shadow:3px 4px 0 var(--petal);border-radius:22px 18px 24px 16px/16px 24px 18px 22px;justify-content:center;margin-top:-30px;transition:transform .2s;transform:rotate(-6deg)}.nav a.nav__roll:hover{transform:rotate(6deg)scale(1.04)}.nav a.nav__roll[aria-current=page]{box-shadow:3px 4px 0 var(--beard)}.wordmark{font-family:var(--hand);white-space:nowrap;font-size:46px;font-weight:700;line-height:1}.wordmark__of{color:var(--iris);font-size:.6em}.roll-cta{color:var(--ink);align-items:center;gap:16px;text-decoration:none;display:flex}.roll-cta:hover{color:var(--ink)}.list-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.list-tile{color:var(--ink);border:2px solid var(--ink);border-radius:var(--r-b);flex-direction:column;gap:2px;min-height:72px;padding:12px 10px;text-decoration:none;display:flex}.list-tile:hover{color:var(--ink)}.list-tile b{font-size:14px;line-height:1.2}.list-tile small{color:var(--ink-soft);font-size:12px}.date-badge{border:2px solid var(--ink);background:var(--ground);border-radius:14px 12px 16px 10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:64px;display:flex}.date-badge small{color:var(--iris);letter-spacing:.06em;font-size:12px;font-weight:800}.date-badge b{font-family:var(--hand);font-size:30px;line-height:1}.ok-line{color:var(--leaf-text);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.start{background:var(--paper);border-style:dashed}.start__steps{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.start__row{background:var(--ground);width:100%;min-height:48px;color:var(--ink);text-align:left;border:2px solid var(--ink);border-radius:var(--r-b);cursor:pointer;align-items:center;gap:10px;padding:6px 10px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.start__row:hover{color:var(--ink)}.start__n{border:2px solid var(--ink);background:var(--beard);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:inline-flex}.start__step--done .start__row{cursor:default;border-color:var(--line);color:var(--ink-soft);background:0 0;text-decoration:line-through}.start__step--done .start__n{background:var(--leaf);color:#fff;border-color:var(--leaf-ink)}.notice{background:var(--lilac);align-items:flex-start;gap:12px;padding:12px 12px 12px 14px;display:flex}.notice--warning{background:#fff3c9}.notice__icon{border:2px solid var(--ink);background:var(--paper);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.notice__text{overflow-wrap:anywhere;margin:6px 0 0;font-size:15px;font-weight:700;line-height:1.45}.notice__link{align-self:flex-start;align-items:center;gap:4px;min-height:32px;font-size:14px;font-weight:800;display:inline-flex}.notice__close{border-width:1.5px;width:34px;height:34px}.menu{flex-direction:column;padding:4px 14px;display:flex}.menu__item{width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:15px;font-weight:800;text-decoration:none;display:flex}.menu__item:hover{color:var(--iris)}.menu__item+.menu__item{border-top:2px dashed var(--line)}.menu__item>svg:last-child:not(:first-child){color:var(--ink-faint)}.die-stage{justify-content:center;align-items:center;height:220px;display:flex;position:relative}.die{width:176px;height:176px;position:relative}.die__shadow{background:var(--petal);opacity:.55;border-radius:50%;width:112px;height:18px;margin-left:-56px;position:absolute;bottom:6px;left:50%}.die__hop{transform-origin:50% 88%;position:absolute;inset:0}.die__canvas{width:176px;height:176px;display:block}@keyframes land{0%{scale:1.18}to{scale:1}}.legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.legend button{border:2px solid var(--ink);border-radius:var(--r-b);text-align:left;cursor:pointer;min-height:52px;color:var(--ink);align-items:center;gap:10px;padding:8px 12px;display:flex}.legend button[aria-pressed=false]{color:var(--ink-soft);border-style:dashed;background:var(--paper)!important}.legend .num{background:var(--paper);border:2px solid var(--ink);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:flex}.legend .lbl{flex-direction:column;min-width:0;font-size:14px;font-weight:800;line-height:1.2;display:flex}.legend .lbl small{color:var(--ink-soft);font-size:12px;font-weight:700}.pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;margin:-8px;padding:8px;display:grid;overflow:hidden auto}.pick{border:2px solid var(--ink);border-radius:14px 18px 12px 20px/18px 12px 20px 14px;align-items:center;gap:8px;min-height:48px;padding:8px 10px;font-size:14px;font-weight:800;line-height:1.2;transition:background 80ms,color 80ms,transform 80ms;display:flex}.pick--hl{color:#fff;transform:scale(1.04)rotate(-1deg);background:var(--iris)!important}.pick--won{box-shadow:3px 3px 0 var(--beard)}.countdown{z-index:2;color:var(--iris);pointer-events:none;font-size:56px;line-height:1;animation:.4s cubic-bezier(.3,1.6,.5,1) land;position:absolute;top:8px;left:50%;translate:-50%}.players{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:14px;display:flex}.player{opacity:.5;flex-direction:column;align-items:center;gap:3px;min-width:64px;transition:opacity .2s;display:flex}.player--in{opacity:1}.player__name{font-size:14px;font-weight:800}.player small{color:var(--ink-soft);font-size:12px;font-weight:700}.roll-note{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:700;line-height:1.4}.roll-note b{color:var(--ink)}.roll-invite{color:var(--ink);background:var(--beard);align-items:center;gap:12px;text-decoration:none;display:flex}.roll-invite:hover{color:var(--ink)}.petals{pointer-events:none;z-index:40;position:fixed;inset:0;overflow:hidden}.petal{animation:fall var(--dur,2.4s) cubic-bezier(.3, .6, .5, 1) forwards;position:absolute;top:-40px}@keyframes fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx,0px), 110vh) rotate(var(--rot,360deg));opacity:.6}}.idea{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-d);text-align:left;cursor:pointer;width:100%;color:var(--ink);align-items:center;gap:12px;padding:12px 14px;display:flex}.idea__title{overflow-wrap:anywhere;font-size:16px;font-weight:800;display:block}.idea__sub{color:var(--ink-soft);overflow-wrap:anywhere;font-size:13px;display:block}.idea--done .idea__title{color:var(--ink-soft);text-decoration:line-through}.done-tag{font-family:var(--hand);color:var(--leaf-text);flex-shrink:0;font-size:20px;font-weight:700;transform:rotate(-6deg)}.done-tags{flex-shrink:0;align-items:center;gap:6px;display:flex}.done-tag--n{transform:rotate(5deg)}.add-form{gap:8px;display:flex}.add-form .input{flex:1;min-width:0}.add-form .btn{width:52px;box-shadow:2px 3px 0 var(--petal);flex-shrink:0;padding:0}.swatches{flex-wrap:wrap;gap:10px;display:flex}.suggest{border:2px dashed var(--ink-faint);border-radius:var(--r-c);margin-top:12px;padding:12px 12px 14px}.suggest__title{color:var(--ink-soft);padding-left:2px;font-size:13px;font-weight:800}.suggest__chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip--suggest{background:var(--paper);border:2px dashed var(--ink);text-align:left;flex-shrink:1;max-width:100%;min-height:40px;padding:4px 12px;font-weight:700;line-height:1.2}.chip--suggest:active{background:var(--lilac)}.chip--suggest svg{color:var(--iris);flex-shrink:0}.swatch{border-radius:var(--r-b);border:2px solid var(--ink);cursor:pointer;width:44px;height:44px;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--iris)}.days{scrollbar-width:none;gap:6px;margin:0 -20px;padding:4px 20px 8px;display:flex;overflow-x:auto}.days::-webkit-scrollbar{display:none}.day{background:var(--paper);width:50px;min-height:66px;color:var(--ink);border:2px solid var(--ink);cursor:pointer;border-radius:14px 12px 16px 10px/10px 16px 12px 14px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;padding:4px 0;display:flex}.day small{letter-spacing:.04em;font-size:11px;font-weight:800}.day b{font-family:var(--hand);font-size:26px;line-height:1}.day[aria-pressed=true]{background:var(--iris);color:#fff}.opt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.opt{background:var(--paper);min-height:52px;color:var(--ink);border:2px solid var(--ink);border-radius:var(--r-b);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;padding:4px;font-size:15px;font-weight:800;display:flex}.opt small{font-size:12px;font-weight:700}.opt[aria-pressed=true]{background:var(--beard)}.switch-row{align-items:center;gap:12px;padding:10px 0;display:flex}.switch-row+.switch-row{border-top:2px dashed var(--line)}.switch{cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:44px;padding:0;display:flex}.switch span{border:2px solid var(--ink);background:#e6e0ef;border-radius:16px;width:52px;height:30px;transition:background .15s;display:block;position:relative}.switch span:after{content:"";background:var(--paper);border:2px solid var(--ink);box-sizing:border-box;border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true] span{background:var(--leaf)}.switch[aria-checked=true] span:after{left:25px}.switch:disabled{opacity:.45;cursor:default}.sticky-cta{width:100%;max-width:480px;padding:10px 20px calc(16px + var(--safe-b));background:var(--ground);z-index:15;flex-direction:column;gap:6px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.sticky-cta:before{content:"";background:linear-gradient(to bottom, #f8f4fc00, var(--ground));pointer-events:none;height:28px;position:absolute;bottom:100%;left:0;right:0}.sticky-cta p{text-align:center;color:var(--ink-soft);margin:0;font-size:14px;font-weight:700}.polaroids{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.polaroid{background:var(--paper);border:2px solid var(--ink);box-shadow:2px 3px 0 var(--line);cursor:pointer;border-radius:6px 8px 5px 9px;width:100%;padding:6px 6px 8px;transition:transform .15s;display:block}.polaroid:nth-child(3n+1){transform:rotate(-2.5deg)}.polaroid:nth-child(3n+2){transform:rotate(1.5deg)}.polaroid:nth-child(3n){transform:rotate(-1deg)}.polaroid:hover{transform:rotate(0)scale(1.03)}.polaroid__img{aspect-ratio:1;object-fit:cover;background:var(--lilac);border-radius:3px;width:100%}.polaroid--uploading .polaroid__img{opacity:.5}.progress{background:var(--line);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.progress span{background:var(--iris);height:100%;transition:width .2s;display:block}.lightbox{z-index:50;padding:calc(var(--safe-t) + 12px) calc(var(--safe-r) + 12px) calc(var(--safe-b) + 12px) calc(var(--safe-l) + 12px);color:#fff;background:#281e3ef0;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox__img{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.lightbox__img img{object-fit:contain;border:3px solid var(--paper);border-radius:8px;max-width:100%;max-height:100%}.lightbox .icon-btn{background:var(--paper)}.lightbox__bar{justify-content:space-between;align-items:center;gap:10px;padding:10px 4px;display:flex}dialog.sheet{background:0 0;border:0;width:100%;max-width:480px;max-height:92dvh;margin:auto auto 0;padding:0}dialog.sheet:focus{outline:none}dialog.sheet::backdrop{background:#3a2d5773}.sheet__body{background:var(--ground);border:2.5px solid var(--ink);padding:18px 20px calc(24px + var(--safe-b));border-bottom:0;border-radius:30px 26px 0 0/22px 26px 0 0;flex-direction:column;gap:14px;max-height:92dvh;display:flex;overflow-y:auto}.sheet__grab{background:var(--ink-faint);border-radius:3px;width:48px;height:5px;margin:0 auto 4px}.sheet h2{font-family:var(--hand);margin:0;font-size:32px;line-height:1}dialog.sheet[open] .sheet__body{animation:.22s ease-out up}@keyframes up{0%{opacity:.4;transform:translateY(40px)}}.toasts{inset:auto auto auto 50%;top:calc(var(--safe-t) + 12px);z-index:60;pointer-events:none;width:calc(100% - 32px);max-width:440px;color:inherit;background:0 0;border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex;position:fixed;overflow:visible;transform:translate(-50%)}.toast{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-a);box-shadow:3px 4px 0 var(--petal);pointer-events:auto;padding:12px 16px;font-size:15px;font-weight:700;animation:.2s ease-out up}.toast--error{box-shadow:3px 4px 0 var(--blush)}.toast{align-items:center;gap:12px;display:flex}.toast__action{background:var(--beard);min-height:36px;color:var(--ink);border:2px solid var(--ink);border-radius:var(--r-b);cursor:pointer;flex-shrink:0;padding:0 14px;font-size:14px;font-weight:800}.empty{text-align:center;border:2px dashed var(--ink-faint);border-radius:var(--r-c);color:var(--ink-soft);flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.empty p{margin:0;font-weight:700}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:32px 24px;display:flex}.spinner-flower{transform-origin:50% 100%;animation:1.6s ease-in-out infinite alternate sway}@keyframes sway{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.petals{display:none}}
