.header-actions{display:flex;align-items:center;gap:17px}.avatar-tools{display:flex;gap:4px}.avatar-toggle,.avatar-roll{width:36px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:#fdfdf833;position:relative;padding:5px;transition:background .2s,border-color .2s}.avatar-toggle:hover,.avatar-roll:hover{background:var(--accent);border-color:var(--ink)}#header-avatar-preview{display:block;width:26px;height:29px}.avatar-toggle .buddy-svg{width:100%;height:100%;filter:none}.avatar-toggle-tip{position:absolute;top:calc(100% + 12px);right:0;background:var(--ink);color:var(--paper);font-size:10px;padding:7px 10px;white-space:nowrap;pointer-events:none;opacity:0;translate:0 -4px;transition:opacity .2s,translate .2s}.avatar-toggle:hover .avatar-toggle-tip,.avatar-roll:hover .avatar-toggle-tip,.avatar-toggle:focus-visible .avatar-toggle-tip,.avatar-roll:focus-visible .avatar-toggle-tip{opacity:1;translate:0 0}.dice-icon{display:block;width:27px;height:27px;flex-shrink:0}.dice-icon>svg{display:block;width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(1px 2px 0 #24282044)}.roll-button.rolling .dice-icon{animation:pixel-dice-roll .76s var(--spring) both}.roll-button.rolling{cursor:progress;opacity:1}.roll-button:disabled:not(.rolling){opacity:.4}
.avatar-dialog{max-width:660px;padding:28px 32px}.avatar-dialog>h2{font-size:53px;line-height:1.03;margin:24px 0 18px}.avatar-dialog h2>em{font-style:normal;background:var(--accent);padding:0 5px}.avatar-dialog>p{font-size:12px;color:var(--muted);line-height:1.7}.avatar-roll-wide{display:flex;width:100%;align-items:center;gap:16px;text-align:left;padding:15px 17px;margin-top:23px;border:1px solid var(--ink);background:#e9eddc;transition:background .2s,box-shadow .2s}.avatar-roll-wide:hover{background:var(--paper);box-shadow:3px 3px 0 var(--lavender)}.avatar-roll-wide .dice-icon{width:37px;height:37px}.avatar-roll-wide>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.avatar-roll-wide b{font-family:var(--heading);font-size:20px;font-weight:500;letter-spacing:-.045em}.avatar-roll-wide>span:nth-child(2)>span{font-size:10px;color:var(--muted)}.avatar-roll-wide>span:last-child{margin-left:auto;font-size:22px}.avatar-roll-result{font:7px var(--mono);margin-top:10px;color:var(--muted);letter-spacing:.025em;min-height:12px}.avatar-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:22px 0 27px}.avatar-choice{padding:16px 6px 12px;border:1px solid var(--line);background:#fdfdf84d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative;min-width:0;transition:background .2s,border-color .2s,transform .25s var(--spring)}.avatar-choice:hover{transform:translateY(-3px);border-color:var(--ink);background:#fdfdf8}.avatar-choice.selected{border-color:var(--ink);background:#e8eddf}.avatar-thumb{display:grid;place-items:center;width:62px;height:68px;max-width:100%;pointer-events:none}.avatar-thumb .buddy-svg{width:100%;height:100%;filter:none;image-rendering:pixelated}.avatar-choice>span:nth-child(2){font-size:9px;line-height:1.3;white-space:nowrap}.avatar-check{position:absolute;top:4px;right:5px;display:grid;place-items:center;width:15px;height:15px;font-size:9px;background:var(--ink);color:var(--paper);opacity:0}.avatar-choice.selected>.avatar-check{opacity:1}.avatar-empty{font:28px var(--mono);color:var(--muted)}.avatar-picker-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:22px}.avatar-current{font:7px var(--mono);line-height:1.5;letter-spacing:.025em;color:var(--muted)}.avatar-picker-footer>.avatar-current{width:100%}.avatar-picker-footer>.button{font-size:11px;gap:18px}.avatar-picker-footer>.text-link{font-size:11px}.avatar-dialog>.avatar-picker-note{font-size:9px;margin-top:18px;max-width:410px}.lab-avatar-picker{border-top:1px solid var(--line);padding:16px 0 22px;margin-top:2px;max-width:320px}.lab-avatar-picker>.mini-label{font-size:7px}.avatar-choices.compact{gap:5px;margin:14px 0 10px}.compact>.avatar-choice{padding:9px 3px;gap:6px;min-height:69px}.compact .avatar-thumb{width:32px;height:36px}.compact>.avatar-choice>span:nth-child(2){font-size:6px;letter-spacing:-.02em}.compact .avatar-check{width:10px;height:10px;font-size:6px;top:2px;right:2px}.lab-avatar-picker>.text-link{font-size:10px;gap:7px;margin-top:9px}.lab-avatar-picker>.avatar-current{display:block;font-size:6px;margin-top:9px}.lab-avatar-roll{display:flex;align-items:center;gap:9px;width:100%;border:1px solid var(--ink);background:#e9eddc;padding:8px 10px;font-size:10px}.lab-avatar-roll:hover{background:var(--accent)}.lab-avatar-roll>.dice-icon{width:19px;height:19px}.lab-avatar-roll>span:last-child{margin-left:auto}.sweep-buddy{aspect-ratio:128/144}.sweep-buddy>.buddy-svg{position:absolute;inset:0;width:100%;height:100%}
@keyframes pixel-dice-roll{0%{transform:rotate(0) translateY(0)}20%{transform:rotate(-22deg) translateY(-5px) scale(1.13)}48%{transform:rotate(170deg) translateY(-7px) scale(.9)}73%{transform:rotate(340deg) translateY(-3px) scale(1.06)}100%{transform:rotate(360deg) translateY(0)}}
@media(max-width:950px){.header-actions{gap:10px}.avatar-toggle,.avatar-roll{width:32px;height:34px;padding:4px}#header-avatar-preview{width:23px;height:26px}.avatar-roll>.dice-icon{width:23px;height:23px}.compact .avatar-thumb{width:28px;height:32px}.compact>.avatar-choice{padding-left:2px;padding-right:2px}.compact>.avatar-choice>span:nth-child(2){font-size:5.5px}.lab-avatar-picker>.text-link{font-size:9px}.avatar-choices.compact{gap:4px}}
@media(max-width:740px){.header-actions{gap:9px}.avatar-tools{gap:3px}.avatar-toggle,.avatar-roll{width:30px;height:32px}.avatar-toggle-tip{display:none}.header-actions>.project-button{padding:10px 9px;gap:9px}.lab-avatar-picker{grid-column:1/-1;max-width:none;padding:17px 0 22px}.lab-avatar-picker>.mini-label{font-size:7px}.avatar-choices.compact{gap:7px;margin:14px 0 13px}.compact .avatar-thumb{width:35px;height:39px}.compact>.avatar-choice{min-height:76px;gap:7px}.compact>.avatar-choice>span:nth-child(2){font-size:7px}.compact .avatar-check{width:12px;height:12px;font-size:7px}.lab-avatar-picker>.text-link{font-size:11px;gap:9px}.lab-avatar-picker>.avatar-current{font-size:7px;margin-top:10px}.lab-avatar-roll{font-size:11px;padding:9px 12px}.avatar-dialog{padding:20px 22px}.avatar-dialog>h2{font-size:42px;margin:24px 0 18px}.avatar-dialog>p{font-size:11px}.avatar-choices:not(.compact){grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.avatar-thumb{width:53px;height:59px}.avatar-choice{padding:12px 5px 10px;gap:10px;min-height:100px}.avatar-choice>span:nth-child(2){font-size:8px}.avatar-picker-footer{gap:17px;padding-top:18px}.avatar-picker-footer>.button{font-size:10px;gap:13px;min-height:43px;padding:12px 14px}.avatar-picker-footer>.text-link{font-size:10px}.avatar-dialog>.avatar-picker-note{font-size:8px;margin-top:15px}.avatar-roll-wide{padding:13px;gap:13px;margin-top:20px}.avatar-roll-wide b{font-size:19px}.avatar-roll-wide .dice-icon{width:33px;height:33px}.avatar-roll-wide>span:nth-child(2)>span{font-size:9px}.avatar-roll-result{font-size:6px}}
@media(max-width:375px){.header-actions{gap:6px}.avatar-tools{gap:2px}.avatar-toggle,.avatar-roll{width:28px;height:30px}#header-avatar-preview{width:21px;height:23px}.avatar-roll>.dice-icon{width:22px;height:22px}.site-header .brand{font-size:18px;gap:7px}.site-header .brand-mark{width:26px;height:26px}.header-actions>.project-button{font-size:9px;gap:6px;padding:9px 8px}.compact>.avatar-choice>span:nth-child(2){font-size:6px}.avatar-choices.compact{gap:5px}.compact .avatar-thumb{width:30px;height:34px}.avatar-dialog>h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.roll-button.rolling .dice-icon{animation:none!important}}

/* Six real faces, square pips, and one quick tumble. */
.dice-icon{--die-size:25px;width:var(--die-size);height:var(--die-size);overflow:visible}.avatar-roll>.dice-icon{--die-size:23px;width:var(--die-size);height:var(--die-size)}.avatar-roll-wide .dice-icon{--die-size:33px;width:var(--die-size);height:var(--die-size);margin:2px}.lab-avatar-roll>.dice-icon{--die-size:18px;width:var(--die-size);height:var(--die-size)}.roll-button.rolling .dice-icon{animation:none}
.dice-stage{display:block;position:relative;width:100%;height:100%;perspective:180px;perspective-origin:50% 40%;pointer-events:none}.dice-cube{position:absolute;inset:0;display:block;transform-style:preserve-3d;transform:rotateX(var(--land-x,-18deg)) rotateY(var(--land-y,22deg)) rotateZ(-7deg);will-change:transform}.dice-face{position:absolute;inset:0;display:block;background:var(--accent);border:1px solid #242820aa;backface-visibility:hidden}.dice-face[data-face="1"]{transform:translateZ(calc(var(--die-size)*.5))}.dice-face[data-face="6"]{transform:rotateY(180deg) translateZ(calc(var(--die-size)*.5));background:color-mix(in srgb,var(--accent) 82%,#242820)}.dice-face[data-face="3"]{transform:rotateY(90deg) translateZ(calc(var(--die-size)*.5));background:color-mix(in srgb,var(--accent) 87%,#242820)}.dice-face[data-face="4"]{transform:rotateY(-90deg) translateZ(calc(var(--die-size)*.5));background:color-mix(in srgb,var(--accent) 92%,#242820)}.dice-face[data-face="2"]{transform:rotateX(90deg) translateZ(calc(var(--die-size)*.5));background:color-mix(in srgb,var(--accent) 82%,#fff)}.dice-face[data-face="5"]{transform:rotateX(-90deg) translateZ(calc(var(--die-size)*.5));background:color-mix(in srgb,var(--accent) 92%,#fff)}.dice-pip{position:absolute;display:block;width:16%;height:16%;background:var(--ink);transform:translate(-50%,-50%)}.dice-ground{position:absolute;left:7%;top:calc(100% + 4px);width:90%;height:3px;background:var(--ink);opacity:.1;transform:skewX(-20deg)}
.roll-button.rolling .dice-cube{animation:pixel-cube-tumble .9s cubic-bezier(.18,.65,.25,1) both}.roll-button.rolling .dice-ground{animation:pixel-dice-ground .9s ease both}.dice-sparks{position:absolute;inset:0;display:block;pointer-events:none}.dice-sparks>i{position:absolute;left:50%;top:50%;width:4px;height:4px;background:var(--accent);border:1px solid #24282033;opacity:0}.dice-sparks>i:nth-child(3n){background:var(--coral)}.dice-sparks>i:nth-child(3n + 1){background:var(--lavender)}.roll-button.rolling .dice-sparks>i{animation:pixel-die-burst .4s var(--ease) .82s both}
@keyframes pixel-cube-tumble{0%{transform:translateY(0) rotateX(var(--from-x,-18deg)) rotateY(var(--from-y,22deg)) rotateZ(-7deg)}24%{transform:translateY(-7px) rotateX(calc(var(--from-x,-18deg) + 160deg)) rotateY(calc(var(--from-y,22deg) + 120deg)) rotateZ(22deg)}60%{transform:translateY(-11px) rotateX(calc(var(--land-x) - 150deg)) rotateY(calc(var(--land-y) - 160deg)) rotateZ(-18deg)}84%{transform:translateY(2px) rotateX(var(--land-x)) rotateY(var(--land-y)) rotateZ(-7deg)}100%{transform:translateY(0) rotateX(var(--land-x)) rotateY(var(--land-y)) rotateZ(-7deg)}}
@keyframes pixel-dice-ground{0%,100%{opacity:.1;scale:1}45%{opacity:.04;scale:.6}85%{opacity:.15;scale:1.1}}
@keyframes pixel-die-burst{0%{opacity:0;translate:0 0;scale:.4}15%{opacity:1;scale:1}100%{opacity:0;translate:var(--spark-x) var(--spark-y);rotate:var(--spark-rotate);scale:.2}}
@media(max-width:375px){.avatar-roll>.dice-icon{--die-size:21px}}
.motion-off .roll-button.rolling .dice-cube,.motion-off .roll-button.rolling .dice-ground,.motion-off .roll-button.rolling .dice-sparks>i{animation:none!important}.motion-off .dice-sparks{display:none}
@media(prefers-reduced-motion:reduce){.roll-button.rolling .dice-cube,.roll-button.rolling .dice-ground,.roll-button.rolling .dice-sparks>i{animation:none!important}.dice-sparks{display:none}}
