.sumo{--s-ink:var(--ink,#1d1b18);--s-ink2:var(--ink-2,#45413a);--s-muted:var(--muted,#6b6458);--s-card:var(--card,#fff);--s-line:var(--line,#eae3d6);--s-bg:var(--bg,#faf7f0);--s-accent:var(--accent,#2a41e8);--s-cream:#f6e4c4;--s-wax:#a3172f;--s-wax2:#7a0f22;--s-rose:#e5486b;--s-ease:var(--ease,cubic-bezier(.2,.8,.2,1));--s-spring:var(--spring,cubic-bezier(.34,1.56,.64,1));color:var(--s-ink);font-family:var(--font,Inter,system-ui,sans-serif)}.sumo *,.sumo :after,.sumo :before{box-sizing:border-box}.sumo-wrap{max-width:980px;margin:0 auto;padding:24px 16px 64px}.sumo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sumo-brand{display:inline-flex;align-items:center;gap:8px;font:800 18px/1 var(--display,inherit);color:var(--s-ink);text-decoration:none;letter-spacing:-.02em}.sumo-brand svg{width:28px;height:28px;color:var(--s-accent)}.sumo h1{font:800 clamp(28px,4.2vw,46px)/1.05 var(--display,inherit);letter-spacing:-.03em;margin:6px 0 10px;text-wrap:balance}.sumo .sumo-lede{font-size:16.5px;line-height:1.55;color:var(--s-ink2);max-width:60ch;margin:0 0 18px}.sumo-eyebrow{font:600 12px/1.4 var(--font,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--s-muted)}.sumo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}@media (max-width:820px){.sumo-grid{grid-template-columns:1fr}}.sumo-panel{background:var(--s-card);border:1px solid var(--s-line);border-radius:20px;padding:22px;box-shadow:var(--shadow,0 10px 30px -14px rgba(0,0,0,.2))}.sumo-form{display:grid;gap:12px}.sumo-form label{display:grid;gap:6px;font-weight:600;font-size:14px}.sumo-form input{font:500 16px/1.3 var(--font,inherit);padding:12px 14px;border-radius:12px;border:1.5px solid var(--line-2,#d8cfbf);background:var(--card-2,#fffdf9);color:var(--s-ink);width:100%}.sumo-form input:focus{outline:3px solid color-mix(in srgb,var(--s-accent) 35%,transparent);border-color:var(--s-accent)}.sumo-form .sumo-code{font:700 18px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.sumo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1 var(--font,inherit);padding:14px 20px;border-radius:14px;border:2px solid var(--ink-edge,#1d1b18);background:var(--s-accent);color:#fff;cursor:pointer;text-decoration:none;box-shadow:3px 3px 0 var(--ink-edge,#1d1b18);transition:transform .15s var(--s-ease),box-shadow .15s var(--s-ease);min-height:44px}.sumo-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink-edge,#1d1b18)}.sumo-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink-edge,#1d1b18)}.sumo-btn.is-soft{background:var(--s-card);color:var(--s-ink)}.sumo-btn[aria-disabled=true]{opacity:.6;pointer-events:none}.sumo-err{background:var(--bad-soft,#ffe6db);color:var(--bad,#a3360a)}.sumo-err,.sumo-ok{border-radius:12px;padding:12px 14px;font-weight:600;margin:0 0 12px}.sumo-ok{background:var(--good-soft,#dcf5e5);color:var(--good,#116b32)}.sumo-note{color:var(--s-muted);font-size:13.5px;line-height:1.5;margin:6px 0 0}.sumo-link,.sumo-note a{color:var(--s-accent);font-weight:600}.sumo-don{display:flex;gap:14px;align-items:flex-end;margin-bottom:14px}.sumo-don .sumo-don-av{width:96px;flex:none}.sumo-don .sumo-don-av svg{width:100%;height:auto}.sumo-bubble{position:relative;background:var(--s-card);border:2px solid var(--ink-edge,#1d1b18);border-radius:16px;padding:12px 14px;font-weight:600;line-height:1.45;box-shadow:3px 3px 0 var(--ink-edge,#1d1b18)}.sumo-bubble:before{content:"";position:absolute;left:-10px;bottom:16px;border:8px solid transparent;border-right:8px solid var(--ink-edge,#1d1b18)}.sumo-ladder{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}.sumo-ladder li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:14px;border:1px solid var(--s-line);background:var(--card-2,#fffdf9);transition:background .4s var(--s-ease),border-color .4s var(--s-ease)}.sumo-ladder li b{display:block;font-size:14.5px}.sumo-ladder li span{display:block;font-size:13.5px;line-height:1.45;color:var(--s-ink2)}.sumo-ladder .pip{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:800 13px/1 var(--display,inherit);border:2px solid var(--line-2,#d8cfbf);color:var(--s-muted);background:var(--s-card)}.sumo-ladder li.is-past .pip{background:var(--good-soft,#dcf5e5);border-color:var(--good,#116b32);color:var(--good,#116b32)}.sumo-ladder li.is-on{border-color:var(--s-accent);background:var(--accent-soft,#e7eaff)}.sumo-ladder li.is-on .pip{background:var(--s-accent);border-color:var(--s-accent);color:#fff}.sumo-next{margin:12px 0 0;font-weight:600;color:var(--s-ink2)}.sumo-card{--c1:#fff4dc;--c2:#f2d9a6;--c3:#c99a45;--ct:#3a2a0e;position:relative;width:100%;max-width:420px;aspect-ratio:1.586;border-radius:22px;padding:20px 22px;color:var(--ct);background:radial-gradient(120% 140% at 0 0,var(--c1),var(--c2) 55%,var(--c3));border:2px solid var(--ink-edge,#1d1b18);box-shadow:4px 4px 0 var(--ink-edge,#1d1b18),0 24px 50px -24px rgba(0,0,0,.45);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;isolation:isolate}.sumo-card[data-level="2"]{--c1:#f3f6ff;--c2:#cdd6f2;--c3:#8e9cc9;--ct:#1c2340}.sumo-card[data-level="3"]{--c1:#e6fff1;--c2:#a8e3c2;--c3:#3e9a6c;--ct:#0e3322}.sumo-card[data-level="4"]{--c1:#f7e9ff;--c2:#d3b1ee;--c3:#7d4ba8;--ct:#2a1240}.sumo-card[data-level="5"]{--c1:#3a332a;--c2:#1e1a15;--c3:#0d0b09;--ct:#f6e4c4}.sumo-card:after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,hsla(0,0%,100%,.55) 50%,transparent 60%);transform:translateX(-60%);pointer-events:none;z-index:-1}.sumo-card .sc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.sumo-card .sc-house{font:800 15px/1.1 var(--display,inherit);letter-spacing:-.01em}.sumo-card .sc-house small{display:block;font:700 10.5px/1.3 var(--font,inherit);letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-top:3px}.sumo-card .sc-rose{width:40px;height:40px;flex:none}.sumo-card .sc-name{align-self:end;font:800 clamp(20px,5.4vw,26px)/1.1 var(--display,inherit);letter-spacing:-.02em;overflow-wrap:anywhere}.sumo-card .sc-rank{font-weight:700;font-size:13.5px;opacity:.9;margin-top:2px}.sumo-card .sc-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;font-size:12px;font-weight:600}.sumo-card .sc-foot small{display:block;opacity:.75;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.sumo-card .sc-pips{display:flex;gap:4px}.sumo-card .sc-pips i{width:11px;height:11px;border-radius:50%;border:1.5px solid;opacity:.45;transition:background .3s,opacity .3s,transform .4s var(--s-spring)}.sumo-card .sc-pips i.on{background:currentColor;opacity:1}.sumo-card .sc-extra{display:inline-block;margin-top:3px;font-weight:800;font-size:12px;line-height:1}.sumo-card .sc-extra[hidden]{display:none}.sumo-card .sc-tier{display:inline-block;padding:3px 8px;border-radius:99px;border:1.5px solid;font:800 11px/1.2 var(--font,inherit);letter-spacing:.06em;text-transform:uppercase}.sumo-card.is-leveling{animation:sumoLift .9s var(--s-spring) both}.sumo-card.is-leveling:after{animation:sumoShine 1.1s var(--s-ease) .15s both}.sumo-card.is-leveling .sc-pips i.on:last-child{animation:sumoPop .6s var(--s-spring) .5s both}@keyframes sumoLift{0%{transform:none}25%{transform:translateY(-6px) rotate(-2deg) scale(1.02)}55%{transform:translateY(-10px) rotate(2deg) scale(1.05)}to{transform:none}}@keyframes sumoShine{0%{transform:translateX(-60%)}to{transform:translateX(60%)}}@keyframes sumoPop{0%{transform:scale(.2)}70%{transform:scale(1.6)}to{transform:scale(1)}}.sumo-levelup{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:var(--hl,#ffe58a);color:#1d1b18;font-weight:800;border:2px solid var(--ink-edge,#1d1b18);margin:0 0 12px;animation:sumoBadge .7s var(--s-spring) both}@keyframes sumoBadge{0%{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}.sumo-sparks{position:absolute;inset:0;pointer-events:none;overflow:visible}.sumo-sparks i{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:2px;background:var(--k,#ffd66b);animation:sumoSpark .9s var(--s-ease) both}@keyframes sumoSpark{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(200deg) scale(.4);opacity:0}}.sumo-cer{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(60% 50% at 50% 30%,color-mix(in srgb,var(--s-cream) 70%,var(--s-bg)) 0,var(--s-bg) 70%)}.sumo-cer .sumo-skip{position:fixed;top:14px;right:14px;z-index:30}.sumo-stage{position:relative;max-width:760px;margin:0 auto;padding:72px 16px 48px;min-height:100vh;min-height:100dvh;display:grid;place-items:center}.sumo-scene{grid-area:1/1;width:100%;display:grid;justify-items:center;text-align:center;gap:14px;opacity:0;visibility:hidden;transition:opacity .6s var(--s-ease),transform .6s var(--s-ease),visibility 0s .6s;transform:translateY(14px)}.sumo-cer[data-scene="1"] .sumo-scene[data-n="1"],.sumo-cer[data-scene="2"] .sumo-scene[data-n="2"],.sumo-cer[data-scene="3"] .sumo-scene[data-n="3"],.sumo-cer[data-scene="4"] .sumo-scene[data-n="4"]{opacity:1;visibility:visible;transform:none;transition:opacity .6s var(--s-ease),transform .6s var(--s-ease),visibility 0s}.sumo-env{position:relative;width:min(340px,82vw);aspect-ratio:1.55;perspective:900px}.sumo-env .env-body{position:absolute;inset:0;border-radius:10px;background:linear-gradient(180deg,#fbefd6,var(--s-cream));border:2px solid var(--ink-edge,#1d1b18);box-shadow:4px 4px 0 var(--ink-edge,#1d1b18);overflow:hidden}.sumo-env .env-body:after,.sumo-env .env-body:before{content:"";position:absolute;bottom:0;width:60%;height:70%;background:#f1ddb4;border-top:2px solid rgba(29,27,24,.25)}.sumo-env .env-body:before{left:0;transform-origin:bottom left;transform:skewY(-28deg)}.sumo-env .env-body:after{right:0;transform-origin:bottom right;transform:skewY(28deg)}.sumo-env .env-flap{position:absolute;left:0;right:0;top:0;height:62%;transform-origin:top center;transition:transform .8s var(--s-ease) .9s;z-index:3}.sumo-env .env-flap svg{width:100%;height:100%;display:block}.sumo-env .env-letter{position:absolute;left:9%;right:9%;top:12%;height:76%;background:#fff;border:2px solid var(--ink-edge,#1d1b18);border-radius:6px;z-index:2;transition:transform .9s var(--s-ease) 1.5s;display:grid;place-items:center;font:700 italic 15px/1.3 Georgia,serif;color:#6b4a1c}.sumo-env .env-seal{position:absolute;left:50%;top:58%;width:72px;height:72px;transform:translate(-50%,-50%);z-index:4}.sumo-env .env-seal svg{width:100%;height:100%;overflow:visible}.sumo-env .seal-l,.sumo-env .seal-r{transition:transform .6s var(--s-ease) .3s,opacity .6s .3s;transform-box:fill-box}.sumo-cer[data-scene="1"].is-open .seal-l{transform:translate(-16px,26px) rotate(-30deg);opacity:0}.sumo-cer[data-scene="1"].is-open .seal-r{transform:translate(16px,26px) rotate(30deg);opacity:0}.sumo-cer[data-scene="1"].is-open .env-flap{transform:rotateX(180deg);z-index:1}.sumo-cer[data-scene="1"].is-open .env-letter{transform:translateY(-58%)}.sumo-env-says{font:700 18px/1.35 var(--display,inherit);color:var(--s-ink2)}.sumo-letter{position:relative;width:min(560px,100%);background:#fffdf6;color:#2a2114;border:2px solid var(--ink-edge,#1d1b18);border-radius:14px;padding:22px 22px 18px;box-shadow:4px 4px 0 var(--ink-edge,#1d1b18);text-align:left;display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start}.sumo-letter .lt-don svg{width:100%;height:auto}.sumo-letter p{margin:0 0 10px;line-height:1.55;font-size:16px}.sumo-letter .lt-hi{font:800 22px/1.2 var(--display,inherit)}.sumo-letter .lt-sign{font:700 italic 22px/1 Georgia,Times New Roman,serif;color:var(--s-wax2);margin-top:6px}.sumo-letter .lt-sign small{display:block;font:600 normal 12px/1.4 var(--font,inherit);color:#6b6458;margin-top:4px}.sumo-letter .lt-line{opacity:0;transform:translateY(6px)}.sumo-cer[data-scene="2"] .lt-line{animation:sumoLine .6s var(--s-ease) both;animation-delay:calc(.35s + var(--i, 0)*.55s)}@keyframes sumoLine{to{opacity:1;transform:none}}@media (max-width:520px){.sumo-letter{grid-template-columns:1fr}.sumo-letter .lt-don{width:84px}}.sumo-crew{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.sumo-crew li{width:116px;display:grid;justify-items:center;gap:6px;opacity:0;transform:translateY(26px) scale(.9)}.sumo-crew li .cw-av{width:84px;height:84px}.sumo-crew li .cw-av svg{width:100%;height:100%}.sumo-crew li b{font:800 15px/1.1 var(--display,inherit)}.sumo-crew li span{font-size:12.5px;line-height:1.35;color:var(--s-ink2)}.sumo-cer[data-scene="3"] .sumo-crew li{animation:sumoStep .7s var(--s-spring) both;animation-delay:calc(.3s + var(--i, 0)*.45s)}@keyframes sumoStep{0%{opacity:0;transform:translateY(26px) scale(.9)}60%{opacity:1;transform:translateY(-6px) scale(1.04)}to{opacity:1;transform:none}}.sumo-final .sumo-card{margin:4px auto 6px}.sumo-cer[data-scene="4"]:not(.is-skipped) .sumo-final .sumo-card{animation:sumoFlip 1s var(--s-spring) .2s both}@keyframes sumoFlip{0%{transform:perspective(900px) rotateY(-80deg) scale(.8);opacity:0}to{transform:none;opacity:1}}.sumo-family{font:800 clamp(30px,6vw,52px)/1 var(--display,inherit);letter-spacing:-.03em;margin:6px 0 0}.sumo-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}.sumo-petals{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden}.sumo-petals i{position:absolute;top:-40px;left:var(--x,50%);width:16px;height:13px;border-radius:0 80% 0 80%;background:linear-gradient(135deg,#ff9db4,var(--s-rose) 60%,#b8264a);opacity:.95;animation:sumoFall var(--d,5s) linear var(--w,0s) both}.sumo-petals i:nth-child(3n){width:11px;height:9px;background:linear-gradient(135deg,#ffd3de,#f07a97)}.sumo-petals i:nth-child(4n){border-radius:2px;width:8px;height:12px;background:#ffd66b}@keyframes sumoFall{0%{transform:translate(0) rotate(0)}50%{transform:translate(var(--sw,30px),55vh) rotate(220deg)}to{transform:translate(calc(var(--sw, 30px)*-1),110vh) rotate(460deg);opacity:.8}}.sumo-dots{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:8px;z-index:25}.sumo-dots i{width:8px;height:8px;border-radius:50%;background:var(--line-2,#d8cfbf);transition:background .3s,width .3s}.sumo-cer[data-scene="1"] .sumo-dots i:first-child,.sumo-cer[data-scene="2"] .sumo-dots i:nth-child(2),.sumo-cer[data-scene="3"] .sumo-dots i:nth-child(3),.sumo-cer[data-scene="4"] .sumo-dots i:nth-child(4){background:var(--s-accent);width:22px;border-radius:99px}.sumo-cer.is-still .sumo-stage{display:block;padding-top:64px}.sumo-cer.is-still .sumo-scene{opacity:1;visibility:visible;transform:none;transition:none;margin:0 auto 26px}.sumo-cer.is-still .sumo-dots,.sumo-cer.is-still .sumo-petals,.sumo-cer.is-still .sumo-scene[data-n="1"],.sumo-cer.is-still .sumo-skip{display:none}.sumo-cer.is-still .lt-line,.sumo-cer.is-still .sumo-crew li{opacity:1;transform:none;animation:none}.sumo-cer.is-still .sumo-scene[data-n="4"]{order:-1}.sumo-cer.is-skipped .lt-line,.sumo-cer.is-skipped .sumo-crew li{opacity:1;transform:none;animation:none}@media (prefers-reduced-motion:reduce){.sumo *,.sumo :after,.sumo :before{animation:none!important;transition:none!important}.sumo-petals,.sumo-sparks{display:none!important}}html.calm .sumo *,html.calm .sumo :after,html.calm .sumo :before{animation:none!important;transition:none!important}html.calm .sumo-petals,html.calm .sumo-sparks{display:none!important}:root[data-theme=dark] .sumo-env .env-letter,:root[data-theme=dark] .sumo-letter{color:#2a2114}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sumo-letter{color:#2a2114}}.sumo .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sumo-card{text-align:left}.sumo-family:focus{outline:none}.sumo-crew li .cw-av{display:block;margin-bottom:8px}.sumo-don{margin-bottom:22px}