/* plus.css - plus pack: mood / extra screens, context cards, letter note, after-accept tools, share card, themes */
@media (max-width:760px){.screen{overflow-x:clip}}
@keyframes pxIn{0%{opacity:0;transform:translateY(22px) scale(.97)}100%{opacity:1;transform:none}}
@keyframes pxSpin{to{transform:rotate(360deg)}}
@keyframes pxSpinR{to{transform:rotate(-360deg)}}
@keyframes pxHop{0%,100%{transform:translateY(0)}40%{transform:translateY(-5px) rotate(-3deg)}70%{transform:translateY(0) rotate(2deg)}}
@keyframes pxBeat{0%,100%{transform:translate(2px,3px) scale(1.75)}14%{transform:translate(2px,3px) scale(1.95)}28%{transform:translate(2px,3px) scale(1.75)}}
@keyframes pxSway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes pxBobg{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes pxTw{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}
@keyframes pxPop{0%,100%{transform:scale(.8)}50%{transform:scale(1.08)}}
@keyframes pxLid{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-8deg)}50%{transform:translateY(0)}}
@keyframes pxClk{0%,100%{transform:rotate(0)}40%{transform:rotate(14deg)}}
@keyframes pxClk2{0%,100%{transform:rotate(0)}40%{transform:rotate(-14deg)}}
@keyframes pxSt{0%{transform:translateY(5px);opacity:0}50%{opacity:.9}100%{transform:translateY(-6px);opacity:0}}
@keyframes pxRain{0%{transform:translateY(-4px);opacity:0}40%{opacity:1}100%{transform:translateY(6px);opacity:0}}
@keyframes pxWave{0%,100%{transform:skewY(0)}50%{transform:skewY(5deg)}}
@keyframes pxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes pxZz{0%{opacity:0;transform:translate(0,4px)}40%{opacity:1}100%{opacity:0;transform:translate(3px,-6px)}}
@keyframes pxWob{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg) scale(1.05)}}
@keyframes pxChop{0%,100%{transform:rotate(0)}50%{transform:rotate(-8deg)}}
@keyframes pxLid2{0%,35%{transform:scaleY(1)}60%,85%{transform:scaleY(.12)}100%{transform:scaleY(1)}}
@keyframes pxType{0%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes pxStampIn{0%{opacity:0;transform:translate(-50%,-50%) scale(2.6) rotate(-26deg)}60%{opacity:1;transform:translate(-50%,-50%) scale(.9) rotate(-14deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-14deg)}}
@keyframes pxCell{0%{transform:scaleY(.2)}100%{transform:none}}
@keyframes pxDraw{to{stroke-dashoffset:0}}
@keyframes pxDrop{0%{opacity:0;transform:translateY(-26px) scale(.6)}60%{opacity:1;transform:translateY(3px) scale(1.08)}100%{opacity:1;transform:none}}
@keyframes pxShakeH{0%,100%{transform:translate(0,0)}25%{transform:translate(calc(var(--heat,0) * -3px),1px)}50%{transform:translate(calc(var(--heat,0) * 3px),-1px)}75%{transform:translate(calc(var(--heat,0) * -2px),-1px)}}
@keyframes pxFlame{0%,100%{transform:scale(1,1)}50%{transform:scale(1.12,1.3)}}
@keyframes pxDrip{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(22px)}}
@keyframes pxFall{0%{transform:translateY(-6vh) rotate(0)}100%{transform:translateY(108vh) rotate(360deg)}}
@keyframes pxRiseB{0%{transform:translateY(0)}100%{transform:translateY(-116vh)}}
@keyframes pxFlip{0%{transform:rotateY(90deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes pxPulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--pri-rgb),.45)}60%{box-shadow:0 0 0 12px rgba(var(--pri-rgb),0)}}

.px-spin{animation:pxSpin 9s linear infinite;transform-box:fill-box;transform-origin:50% 50%}
.px-spinr{animation:pxSpinR 9s linear infinite;transform-box:fill-box;transform-origin:50% 50%}
.px-hop{animation:pxHop 1.9s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.px-beat{animation:pxBeat 1.6s ease-in-out infinite;transform-box:view-box;transform-origin:0 0}
.px-sway{animation:pxSway 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 0}
.px-bobg{animation:pxBobg 2.4s ease-in-out infinite}
.px-tw{animation:pxTw 2s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}
.px-tw2{animation:pxTw 2s ease-in-out .8s infinite;transform-box:fill-box;transform-origin:50% 50%}
.px-pop{animation:pxPop 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}
.px-lid{animation:pxLid 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:0 100%}
.px-clk{animation:pxClk 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.px-clk2{animation:pxClk2 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.px-st{animation:pxSt 2.4s ease-in-out infinite}
.px-rain{animation:pxRain 1.4s ease-in infinite}
.px-wave{animation:pxWave 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:0 50%}
.px-float{animation:pxFloat 3s ease-in-out infinite}
.px-zz{animation:pxZz 2.6s ease-in-out infinite}
.px-wob{animation:pxWob 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 60%}
.px-chop{animation:pxChop 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:100% 100%}
.px-lid2{animation:pxLid2 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.px-ty{animation:pxType 1.2s ease-in-out infinite}
.px-ty2{animation-delay:.2s}
.px-ty3{animation-delay:.4s}
.px-bk{animation:pxTw 2.4s ease-in-out infinite}

.px-screen{align-items:center}
.px-wrap{width:min(980px,100%);display:flex;flex-direction:column;align-items:center;gap:18px}
.px-ctx{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(980px,100%)}
.px-ctx.one{grid-template-columns:minmax(0,520px);justify-content:center}
.px-cx{display:flex;gap:14px;align-items:center;padding:14px 18px;background:var(--paper);border:3px solid var(--ink);border-radius:22px;box-shadow:0 6px 0 var(--ink);animation:pxIn .55s var(--sp) both}
.px-cx:nth-child(2){animation-delay:.12s}
.px-cx svg{flex:none}
.px-cx b{display:block;font-family:"Noto Serif TC","Songti TC","PMingLiU","Noto Serif CJK TC","Source Han Serif TC","Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:19px;font-weight:900;color:var(--ink);margin-bottom:2px}
.px-cx span{font-size:14px;line-height:1.55;color:var(--soft)}
.px-moonline{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 8px;border:2px solid var(--ink);border-radius:999px;background:#fff;font-size:14px;font-weight:500;color:var(--ink)}
.px-guess{display:flex;align-items:center;gap:12px;padding:10px 16px;border:2px dashed var(--pri);border-radius:18px;background:var(--tint);width:min(560px,100%);box-sizing:border-box;font-size:15px;line-height:1.5;color:var(--deep);animation:pxIn .6s var(--sp) both}
.px-guess svg{flex:none;width:36px;height:36px}
.px-moods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(980px,100%)}
.px-mood{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 10px 16px;border:3px solid var(--ink);border-radius:24px;background:#fff;box-shadow:0 6px 0 var(--ink);cursor:pointer;transition:transform .2s var(--sp),background .2s;font:inherit;color:var(--ink)}
.px-mood:hover{transform:translateY(-5px) rotate(-1deg)}
.px-mood.on{background:var(--tint);transform:translateY(-5px)}
.px-mood svg.px-mi{width:66px;height:66px}
.px-mood b{font-family:"Noto Serif TC","Songti TC","PMingLiU","Noto Serif CJK TC","Source Han Serif TC","Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:22px;font-weight:900}
.px-mood i{font-style:normal;font-size:13px;color:var(--soft);text-align:center;line-height:1.4}
.px-ok{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:var(--pri);border:2px solid var(--ink);display:none;align-items:center;justify-content:center}
.px-mood.on .px-ok,.px-tile.on .px-ok,.px-opt.on .px-ok{display:flex;animation:pop2 .35s var(--sp)}
@keyframes pop2{from{transform:scale(.2)}to{transform:scale(1)}}
.px-bat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 22px 18px;border:3px solid var(--ink);border-radius:26px;background:var(--paper);box-shadow:0 6px 0 var(--ink);width:min(560px,100%);box-sizing:border-box}
.px-bat h3{margin:0;font-size:15px;letter-spacing:3px;color:var(--deep)}
.px-bat[data-lv="0"]{--c:var(--line3)}
.px-bat[data-lv="1"]{--c:#E4573D}
.px-bat[data-lv="2"]{--c:#F2A93B}
.px-bat[data-lv="3"]{--c:#C8D45E}
.px-bat[data-lv="4"]{--c:#7CC47A}
.px-bat[data-lv="5"]{--c:#3DAA6B}
.px-bface{width:74px;height:60px}
.px-bface .fx{display:none}
.px-bat[data-lv="0"] .f3,.px-bat[data-lv="1"] .f1,.px-bat[data-lv="2"] .f2,.px-bat[data-lv="3"] .f3,.px-bat[data-lv="4"] .f4,.px-bat[data-lv="5"] .f5{display:inline}
.px-bbody{position:relative;display:flex;gap:6px;padding:7px;border:4px solid var(--ink);border-radius:18px;background:#fff;width:min(330px,84%);box-sizing:border-box;margin-right:12px}
.px-bbody::after{content:"";position:absolute;right:-15px;top:50%;width:10px;height:26px;margin-top:-13px;background:var(--ink);border-radius:0 6px 6px 0}
.px-cell{flex:1;height:46px;border:0;border-radius:9px;background:var(--bg2);cursor:pointer;transition:background .25s,transform .2s var(--sp);padding:0}
.px-cell:hover{transform:translateY(-3px)}
.px-cell.f{background:var(--c);animation:pxCell .35s var(--sp) both}
.px-cell:nth-child(2).f{animation-delay:.05s}.px-cell:nth-child(3).f{animation-delay:.1s}.px-cell:nth-child(4).f{animation-delay:.15s}.px-cell:nth-child(5).f{animation-delay:.2s}
.px-bcap{min-height:44px;text-align:center;font-size:15px;line-height:1.5;color:var(--ink)}
.px-bcap b{font-family:"Noto Serif TC","Songti TC","PMingLiU","Noto Serif CJK TC","Source Han Serif TC","Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:24px;color:var(--deep);margin-right:6px}
.px-acts{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.px-hint{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border:2px solid var(--pri);border-radius:999px;background:var(--tint);font-size:14px;font-weight:500;color:var(--deep);max-width:100%;box-sizing:border-box;animation:pxIn .5s var(--sp) both}
.px-hint svg{flex:none;width:18px;height:18px}
.px-rec{position:absolute;top:-10px;left:50%;transform:translateX(-50%);z-index:2;padding:3px 12px;border-radius:999px;background:var(--pri);border:2px solid var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;white-space:nowrap;animation:pxPulse 1.8s ease-out infinite}
.food .px-rec{pointer-events:none}

/* wizard */
.px-dots{display:flex;gap:8px;align-items:center}
.px-dots i{display:block;width:10px;height:10px;border-radius:5px;background:var(--line3);transition:width .3s,background .3s}
.px-dots i.done{background:var(--pri)}
.px-dots i.cur{width:30px;background:var(--pri)}
.px-pane{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;animation:pxIn .5s var(--sp) both}
.px-pane h3{margin:0;font-family:"Noto Serif TC","Songti TC","PMingLiU","Noto Serif CJK TC","Source Han Serif TC","Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:clamp(26px,4.4vw,38px);font-weight:900;color:var(--ink);text-align:center;line-height:1.3}
.px-pane>p{margin:0;font-size:16px;color:var(--soft);text-align:center}
.px-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(760px,100%)}
.px-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 12px;border:3px solid var(--ink);border-radius:22px;background:#fff;box-shadow:0 5px 0 var(--ink);cursor:pointer;font:inherit;color:var(--ink);transition:transform .2s var(--sp),background .2s}
.px-tile:hover{transform:translateY(-4px)}
.px-tile svg.px-ti{width:54px;height:54px;transition:filter .25s,opacity .25s}
.px-tile b{font-size:17px;font-weight:700}
.px-tile.on{background:var(--bg2)}
.px-tile.ban svg.px-ti{filter:grayscale(1);opacity:.45}
.px-tile .px-st2{position:absolute;left:50%;top:46%;padding:2px 14px 4px;border:4px double var(--pri);border-radius:12px;color:var(--pri);font-family:"Noto Serif TC","Songti TC","PMingLiU","Noto Serif CJK TC","Source Han Serif TC","Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:26px;font-weight:900;letter-spacing:2px;background:rgba(255,253,248,.7);animation:pxStampIn .5s var(--sp) both;pointer-events:none;white-space:nowrap}
.px-tile.fear.on{background:var(--tint)}
.px-add{display:flex;align-items:center;gap:8px;width:min(520px,100%)}
.px-add input{flex:1;min-width:0;height:44px;border:2px dashed var(--pri);border-radius:14px;background:var(--paper);padding:0 14px;font-family:inherit;font-size:16px;color:var(--ink)}
.px-add input:focus{outline:none;border-style:solid}
.px-add button{height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:var(--pri);color:#fff;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 3px 0 var(--ink)}
.px-clash{display:flex;flex-direction:column;gap:6px;width:min(560px,100%);box-sizing:border-box;padding:12px 16px;border:2px solid var(--ink);border-radius:18px;background:#FFF6D6;font-size:14px;line-height:1.55;color:var(--ink);animation:pxIn .5s var(--sp) both}
.px-clash b{color:var(--deep)}
.px-clash .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.px-clash button{border:2px solid var(--ink);background:#fff;border-radius:999px;padding:4px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--ink)}
.px-clip{position:relative;width:min(520px,100%);box-sizing:border-box;border:3px solid var(--ink);border-radius:16px;background:#FFFDF8;padding:30px 18px 12px;box-shadow:0 6px 0 var(--ink)}
.px-clip::before{content:"";position:absolute;left:50%;top:-13px;width:84px;height:26px;margin-left:-42px;border:3px solid var(--ink);border-radius:9px;background:#C9B3B8}
.px-clip h4{margin:0 0 4px;font-size:14px;letter-spacing:3px;color:var(--deep)}
.px-task{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1.5px dashed var(--rule2);font-family:"LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB","KaiTi","STKaiti","Kaiti SC","Songti TC","SimSun",serif;font-size:17px;color:var(--ink);animation:pxIn .4s var(--sp) both}
.px-task svg{flex:none;width:20px;height:20px}
.px-task path{stroke-dasharray:24;stroke-dashoffset:24;animation:pxDraw .4s ease-out .15s forwards}
.px-clip .none{font-size:14px;color:var(--mute);padding:8px 0}
.px-fly{position:fixed;z-index:70;pointer-events:none;padding:6px 12px;border-radius:6px;background:#FFF3B8;border:2px solid var(--ink);font-family:"LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB","KaiTi","STKaiti","Kaiti SC","Songti TC","SimSun",serif;font-size:15px;color:var(--ink);box-shadow:0 3px 0 rgba(var(--ink-rgb),.4);white-space:nowrap}
.px-opts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:min(900px,100%)}
.px-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border:3px solid var(--ink);border-radius:20px;background:#fff;box-shadow:0 5px 0 var(--ink);cursor:pointer;font:inherit;color:var(--ink);transition:transform .2s var(--sp),background .2s}
.px-opt:hover{transform:translateY(-4px)}
.px-opt.on{background:var(--tint);transform:translateY(-4px)}
.px-opt svg{width:48px;height:48px}
.px-opt b{font-size:16px;font-weight:700}
.px-map{position:relative;width:min(640px,100%);border:3px solid var(--ink);border-radius:22px;background:#F6EFE2;box-shadow:0 6px 0 var(--ink);overflow:hidden}
.px-map svg{display:block;width:100%;height:auto}
.px-map .pin{animation:pxDrop .5s var(--sp) both}
.px-map .road{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600)}
.px-map.go .road{animation:pxDraw 1.6s ease-in-out forwards}
.px-ends{display:flex;flex-direction:column;gap:8px;width:min(560px,100%)}
.px-ends h4{margin:4px 0 0;font-size:14px;letter-spacing:3px;color:var(--deep);text-align:center}
.px-end{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid var(--line3);border-radius:16px;background:#fff;font:inherit;font-size:15px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,transform .15s}
.px-end:hover{transform:translateX(4px);border-color:var(--ink)}
.px-end.on{border-color:var(--pri);background:var(--tint);box-shadow:inset 4px 0 0 var(--pri)}
.px-end i{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--ink);background:#fff}
.px-end.on i{background:var(--pri)}
/* spice timer */
.px-spice{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}
.px-pot{position:relative;width:min(240px,66vw);height:min(240px,66vw);border:0;background:transparent;padding:0;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.px-pot svg{width:100%;height:100%;display:block}
.px-pot .face{animation:pxShakeH .22s linear infinite;transform-box:fill-box}
.px-pot .fl{transform-box:fill-box;transform-origin:50% 100%;animation:pxFlame .5s ease-in-out infinite;opacity:calc(var(--heat,0) * 1.4)}
.px-pot .fl2{animation-duration:.38s}
.px-pot .dr{opacity:0}
.px-pot.hold .dr{animation:pxDrip 1.1s ease-in infinite}
.px-pot.hold .dr2{animation-delay:.4s}
.px-pot.hold .dr3{animation-delay:.8s}
.px-pot .ring{transition:stroke-dashoffset .1s linear}
.px-sec{font-family:"Noto Serif TC","Songti TC","PMingLiU","Noto Serif CJK TC","Source Han Serif TC","Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:42px;font-weight:900;color:var(--deep);line-height:1}
.px-sec small{font-size:18px}
.px-water{height:44px;padding:0 20px;border:2px solid var(--ink);border-radius:999px;background:#fff;font:inherit;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink)}
.px-water[hidden]{display:none}
.px-res{font-family:"LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB","KaiTi","STKaiti","Kaiti SC","Songti TC","SimSun",serif;font-size:20px;font-weight:700;color:var(--deep);text-align:center;min-height:30px}
/* letter note + after-accept */
.px-note{position:relative;margin:6px 0 2px;padding:14px 16px 12px;background:#FFF3B8;border-radius:4px;box-shadow:0 5px 12px rgba(var(--ink-rgb),.16);transform:rotate(-.9deg);font-family:"LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB","KaiTi","STKaiti","Kaiti SC","Songti TC","SimSun",serif;font-size:16px;line-height:1.7;color:#3A2E12;animation:pxIn .6s var(--sp) both}
.px-note::before{content:"";position:absolute;top:-11px;left:50%;width:84px;height:22px;margin-left:-42px;transform:rotate(2deg);background:repeating-linear-gradient(45deg,#F4C9D3 0 8px,#FBE3EA 8px 16px);opacity:.92;border-radius:3px}
.px-note h5{margin:0 0 2px;font-family:inherit;font-size:13px;letter-spacing:3px;color:#8A6D1E}
.px-note ul{margin:0;padding:0;list-style:none}
.px-note li{display:flex;gap:8px;align-items:baseline}
.px-note li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--pri);transform:translateY(-2px)}
.px-note .ok{margin-left:6px;display:inline-block;padding:0 8px;border:2px solid var(--pri);border-radius:6px;color:var(--pri);font-size:13px;font-weight:700;transform:rotate(-6deg);animation:pxStampIn2 .5s var(--sp) .3s both}
@keyframes pxStampIn2{0%{opacity:0;transform:scale(2.2) rotate(-24deg)}100%{opacity:1;transform:scale(1) rotate(-6deg)}}
.px-after{display:flex;flex-direction:column;gap:12px;margin-top:12px;animation:pxIn .6s var(--sp) both}
.px-box{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:2px dashed var(--pri);border-radius:16px;background:var(--tint)}
.px-box h4{margin:0;font-size:16px;font-weight:700;color:var(--deep)}
.px-box p{margin:0;font-size:14px;line-height:1.6;color:var(--soft)}
.px-form{display:flex;gap:8px;flex-wrap:wrap}
.px-form input{flex:1;min-width:160px;height:42px;border:2px solid var(--line3);border-radius:12px;background:#fff;padding:0 12px;font:inherit;font-size:15px;color:var(--ink)}
.px-form input:focus{outline:none;border-color:var(--pri)}
.px-form button,.px-pill{height:42px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:var(--pri);color:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 3px 0 var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.px-pill.alt,.px-form button.alt{background:#fff;color:var(--ink)}
.px-form button:disabled{opacity:.5;cursor:default}
.px-msg{font-size:14px;font-weight:500}
.px-msg.ok{color:var(--ok)}.px-msg .px-env{width:26px;height:19px;vertical-align:-5px;margin-right:6px}.px-msg.err{color:var(--err)}
.px-row{display:flex;gap:8px;flex-wrap:wrap}
.px-rev{display:flex;gap:10px;align-items:stretch}
.px-rev .c{flex:1;min-width:0;padding:10px;border:2px solid var(--ink);border-radius:14px;background:#fff;text-align:center;animation:pxFlip .6s var(--sp) both}
.px-rev .c:nth-child(2){animation-delay:.25s}
.px-rev .c small{display:block;font-size:12px;letter-spacing:2px;color:var(--soft)}
.px-rev .c b{display:block;font-size:17px;color:var(--ink)}
.px-rev .c.hit{border-color:var(--pri);background:var(--tint)}
.px-score{font-family:"LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB","KaiTi","STKaiti","Kaiti SC","Songti TC","SimSun",serif;font-size:19px;font-weight:700;text-align:center;color:var(--deep)}
.px-env{display:inline-block;width:46px;height:34px;vertical-align:middle}
/* candle */
.px-cake{display:flex;flex-direction:column;align-items:center;gap:6px}
.px-cake svg{width:150px;height:130px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}
.px-cake .fl{transform-box:fill-box;transform-origin:50% 100%;animation:pxFlame .45s ease-in-out infinite}
.px-cake.out .fl{display:none}
.px-cake.blow .fl{animation-duration:.14s}
/* modal */
.px-modal{position:fixed;inset:0;z-index:80;background:rgba(var(--ink-rgb),.6);display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box}
.px-modal[hidden]{display:none}
.px-sheet{display:flex;flex-direction:column;gap:12px;background:var(--paper);border:3px solid var(--ink);border-radius:24px;padding:14px;width:min(430px,100%);max-height:94vh;overflow:auto;box-sizing:border-box;animation:pxIn .4s var(--sp) both}
.px-sheet canvas{width:100%;height:auto;max-height:56vh;object-fit:contain;border-radius:14px;border:2px solid var(--line3);background:#fff}
.px-sheet .top{display:flex;justify-content:space-between;align-items:center}
.px-sheet h4{margin:0;font-size:17px;color:var(--ink)}
.px-sheet .x{width:38px;height:38px;border:2px solid var(--ink);border-radius:50%;background:#fff;cursor:pointer;font-size:0;position:relative}
.px-sheet .x::before,.px-sheet .x::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:3px;margin:-1.5px 0 0 -8px;background:var(--ink);border-radius:2px;transform:rotate(45deg)}
.px-sheet .x::after{transform:rotate(-45deg)}
.px-styles{display:flex;gap:8px;flex-wrap:wrap}
.px-styles button{flex:1;height:38px;border:2px solid var(--line3);border-radius:999px;background:#fff;font:inherit;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer}
.px-styles button[aria-pressed=true]{border-color:var(--pri);background:var(--tint);color:var(--deep);box-shadow:0 3px 0 var(--pri)}
/* sound */
.px-snd{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:14px;z-index:40;width:46px;height:46px;padding:0;border:3px solid var(--ink);border-radius:50%;background:#fff;box-shadow:0 4px 0 var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
.px-snd svg{width:24px;height:24px}
.px-snd .wv{opacity:0}
.px-snd.on .wv{opacity:1;animation:pxTw 1.4s ease-in-out infinite}
.px-snd.on .wv2{animation-delay:.3s}
.px-snd .cx{opacity:1}
.px-snd.on .cx{opacity:0}
/* theme ribbon on hello */
.px-ribbon{display:none;align-items:center;gap:8px;padding:5px 18px;border-radius:999px;background:var(--pri);color:#fff;font-size:14px;font-weight:700;letter-spacing:3px;border:2px solid var(--ink)}
.px-tline{display:none;font-family:"LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB","KaiTi","STKaiti","Kaiti SC","Songti TC","SimSun",serif;font-size:17px;color:var(--deep);min-height:26px;margin-top:2px}
html[data-theme] .px-ribbon{display:inline-flex}
html[data-theme] .px-tline{display:block}
.px-deco{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.px-deco i{position:absolute;display:block}
.px-banner{display:none}
html[data-theme] .px-banner{display:block;position:fixed;left:0;right:0;top:0;z-index:2;height:34px;pointer-events:none}
.px-mem{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;padding:8px 16px;border:2px dashed var(--pri);border-radius:999px;background:var(--tint);font-size:14px;color:var(--deep);margin-top:6px}
.px-mem a{color:var(--deep);font-weight:700}
@media (max-width:760px){
.px-ctx{grid-template-columns:minmax(0,1fr)}
.px-moods{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.px-mood svg.px-mi{width:56px;height:56px}
.px-mood b{font-size:20px}
.px-tiles{gap:10px}
.px-tile b{font-size:15px}
.px-tile svg.px-ti{width:46px;height:46px}
.px-tile .px-st2{font-size:21px;padding:1px 10px 3px}
.px-opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.px-opt b{font-size:14px}
.px-opt svg{width:42px;height:42px}
.px-note{font-size:15px}
.px-rev{flex-direction:column}
}
@media (max-width:420px){.px-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---- themes (generated by plus/gen_theme.py): token + svg colour overrides, win over the him skin by specificity ---- */
html[data-theme=qixi][data-ver]{--bg:#F2EEFB;--pri:#6B4FC8;--deep:#3F2C8F;--deeper:#261A63;--pri-h:#5A3FB0;--tint:#E6DEFA;--pink1:#B8A5F0;--line1:#CFC2F2;--line2:#B7AEC9;--line3:#D9D0F0;--line4:#CBC2E0;--soft:#5B5478;--bg2:#E4DCF7;--dis1:#E6E1F0;--dis2:#A9A2C0;--paper:#FCFBFF;--rule:#E4DDF5;--rule2:#D3C9EC;--mute:#8C82B3;--pink2:#C9B8F5;--pink3:#DDD2FA;--wine:#3F3566;--ink:#1E1A3A;--dark:#14112B;--heart:#6B4FC8;--heart2:#A892EC;--heart3:#D8CBF8;--pri-rgb:107,79,200;--ink-rgb:30,26,58}
html[data-theme=qixi][data-ver] [fill="#C73A62" i]{fill:#6B4FC8}html[data-theme=qixi][data-ver] [stroke="#C73A62" i]{stroke:#6B4FC8}
html[data-theme=qixi][data-ver] [fill="#8C1D40" i]{fill:#3F2C8F}html[data-theme=qixi][data-ver] [stroke="#8C1D40" i]{stroke:#3F2C8F}
html[data-theme=qixi][data-ver] [fill="#A92E51" i]{fill:#5A3FB0}html[data-theme=qixi][data-ver] [stroke="#A92E51" i]{stroke:#5A3FB0}
html[data-theme=qixi][data-ver] [fill="#B8506F" i]{fill:#8A72E0}html[data-theme=qixi][data-ver] [stroke="#B8506F" i]{stroke:#8A72E0}
html[data-theme=qixi][data-ver] [fill="#F4A7B9" i]{fill:#C9B8F5}html[data-theme=qixi][data-ver] [stroke="#F4A7B9" i]{stroke:#C9B8F5}
html[data-theme=qixi][data-ver] [fill="#F2B8C6" i]{fill:#D8CBF8}html[data-theme=qixi][data-ver] [stroke="#F2B8C6" i]{stroke:#D8CBF8}
html[data-theme=qixi][data-ver] [fill="#E88AA3" i]{fill:#A892EC}html[data-theme=qixi][data-ver] [stroke="#E88AA3" i]{stroke:#A892EC}
html[data-theme=qixi][data-ver] [fill="#F6D2DB" i]{fill:#E6DEFA}html[data-theme=qixi][data-ver] [stroke="#F6D2DB" i]{stroke:#E6DEFA}
html[data-theme=qixi][data-ver] [fill="#F6D5DD" i]{fill:#E6DEFA}html[data-theme=qixi][data-ver] [stroke="#F6D5DD" i]{stroke:#E6DEFA}
html[data-theme=qixi][data-ver] [fill="#FBE3EA" i]{fill:#E6DEFA}html[data-theme=qixi][data-ver] [stroke="#FBE3EA" i]{stroke:#E6DEFA}
html[data-theme=qixi][data-ver] [fill="#FBF3EA" i]{fill:#F2EEFB}html[data-theme=qixi][data-ver] [stroke="#FBF3EA" i]{stroke:#F2EEFB}
html[data-theme=qixi][data-ver] [fill="#EFC0CC" i]{fill:#CFC2F2}html[data-theme=qixi][data-ver] [stroke="#EFC0CC" i]{stroke:#CFC2F2}
html[data-theme=qixi][data-ver] [fill="#E7AFC0" i]{fill:#BBA9EE}html[data-theme=qixi][data-ver] [stroke="#E7AFC0" i]{stroke:#BBA9EE}
html[data-theme=qixi][data-ver] [fill="#F58FA8" i]{fill:#9C84EA}html[data-theme=qixi][data-ver] [stroke="#F58FA8" i]{stroke:#9C84EA}
html[data-theme=qixi][data-ver] [fill="#D9557B" i]{fill:#7C5FD6}html[data-theme=qixi][data-ver] [stroke="#D9557B" i]{stroke:#7C5FD6}
html[data-theme=qixi][data-ver] [fill="#7A5C63" i]{fill:#5B5478}html[data-theme=qixi][data-ver] [stroke="#7A5C63" i]{stroke:#5B5478}
html[data-theme=qixi][data-ver] [fill="#B9A3A8" i]{fill:#A9A2C0}html[data-theme=qixi][data-ver] [stroke="#B9A3A8" i]{stroke:#A9A2C0}
html[data-theme=qixi][data-ver] [fill="#D8C4C9" i]{fill:#CBC2E0}html[data-theme=qixi][data-ver] [stroke="#D8C4C9" i]{stroke:#CBC2E0}
html[data-theme=qixi][data-ver] [fill="#6B3A48" i]{fill:#3F3566}html[data-theme=qixi][data-ver] [stroke="#6B3A48" i]{stroke:#3F3566}
html[data-theme=qixi][data-ver] [fill="#C9B3B8" i]{fill:#B7AEC9}html[data-theme=qixi][data-ver] [stroke="#C9B3B8" i]{stroke:#B7AEC9}
html[data-theme=qixi][data-ver] [fill="#EBD9CC" i]{fill:#D9D0F0}html[data-theme=qixi][data-ver] [stroke="#EBD9CC" i]{stroke:#D9D0F0}
html[data-theme=qixi][data-ver] [fill="#E3D0C7" i]{fill:#D9D0F0}html[data-theme=qixi][data-ver] [stroke="#E3D0C7" i]{stroke:#D9D0F0}
html[data-theme=qixi][data-ver] [fill="#F1DDD4" i]{fill:#E4DDF5}html[data-theme=qixi][data-ver] [stroke="#F1DDD4" i]{stroke:#E4DDF5}
html[data-theme=qixi][data-ver] [fill="#2A1A1F" i]{fill:#1E1A3A}html[data-theme=qixi][data-ver] [stroke="#2A1A1F" i]{stroke:#1E1A3A}
html[data-theme=qixi][data-ver] body{background-image:radial-gradient(rgba(107,79,200,.09) 1.6px,transparent 2.2px);background-size:28px 28px}
html[data-theme=qixi][data-ver] .letter::before{background:repeating-linear-gradient(45deg,var(--line1) 0 9px,var(--tint) 9px 18px)}html[data-theme=qixi][data-ver] .letter::after{background:repeating-linear-gradient(45deg,var(--pink3) 0 9px,var(--tint) 9px 18px)}
html[data-theme=qixi][data-ver] .ruled{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,var(--rule) 33px,var(--rule) 34px)}
html[data-theme=xmas][data-ver]{--bg:#F6FAF4;--pri:#C0312F;--deep:#1F6B45;--deeper:#123D28;--pri-h:#A32826;--tint:#E3F1E6;--pink1:#F0A29C;--line1:#C7E2CF;--line2:#AFC6B6;--line3:#D3E6D8;--line4:#BBD3C2;--soft:#4E6A58;--bg2:#E3EFE5;--dis1:#E0EBE3;--dis2:#9DB7A5;--paper:#FDFFFC;--rule:#DCEBDF;--rule2:#C9DDCE;--mute:#6E9A7E;--pink2:#F28B84;--pink3:#F8C9C4;--wine:#2E5A44;--ink:#1D2A22;--dark:#131E18;--heart:#C0312F;--heart2:#E8837C;--heart3:#F6C6C0;--pri-rgb:192,49,47;--ink-rgb:29,42,34}
html[data-theme=xmas][data-ver] [fill="#C73A62" i]{fill:#C0312F}html[data-theme=xmas][data-ver] [stroke="#C73A62" i]{stroke:#C0312F}
html[data-theme=xmas][data-ver] [fill="#8C1D40" i]{fill:#1F6B45}html[data-theme=xmas][data-ver] [stroke="#8C1D40" i]{stroke:#1F6B45}
html[data-theme=xmas][data-ver] [fill="#A92E51" i]{fill:#A32826}html[data-theme=xmas][data-ver] [stroke="#A92E51" i]{stroke:#A32826}
html[data-theme=xmas][data-ver] [fill="#B8506F" i]{fill:#D9645F}html[data-theme=xmas][data-ver] [stroke="#B8506F" i]{stroke:#D9645F}
html[data-theme=xmas][data-ver] [fill="#F4A7B9" i]{fill:#F28B84}html[data-theme=xmas][data-ver] [stroke="#F4A7B9" i]{stroke:#F28B84}
html[data-theme=xmas][data-ver] [fill="#F2B8C6" i]{fill:#F6C6C0}html[data-theme=xmas][data-ver] [stroke="#F2B8C6" i]{stroke:#F6C6C0}
html[data-theme=xmas][data-ver] [fill="#E88AA3" i]{fill:#E8837C}html[data-theme=xmas][data-ver] [stroke="#E88AA3" i]{stroke:#E8837C}
html[data-theme=xmas][data-ver] [fill="#F6D2DB" i]{fill:#F8D9D4}html[data-theme=xmas][data-ver] [stroke="#F6D2DB" i]{stroke:#F8D9D4}
html[data-theme=xmas][data-ver] [fill="#F6D5DD" i]{fill:#E3F1E6}html[data-theme=xmas][data-ver] [stroke="#F6D5DD" i]{stroke:#E3F1E6}
html[data-theme=xmas][data-ver] [fill="#FBE3EA" i]{fill:#E3F1E6}html[data-theme=xmas][data-ver] [stroke="#FBE3EA" i]{stroke:#E3F1E6}
html[data-theme=xmas][data-ver] [fill="#FBF3EA" i]{fill:#F6FAF4}html[data-theme=xmas][data-ver] [stroke="#FBF3EA" i]{stroke:#F6FAF4}
html[data-theme=xmas][data-ver] [fill="#EFC0CC" i]{fill:#C7E2CF}html[data-theme=xmas][data-ver] [stroke="#EFC0CC" i]{stroke:#C7E2CF}
html[data-theme=xmas][data-ver] [fill="#E7AFC0" i]{fill:#A9D3B8}html[data-theme=xmas][data-ver] [stroke="#E7AFC0" i]{stroke:#A9D3B8}
html[data-theme=xmas][data-ver] [fill="#F58FA8" i]{fill:#F28B84}html[data-theme=xmas][data-ver] [stroke="#F58FA8" i]{stroke:#F28B84}
html[data-theme=xmas][data-ver] [fill="#D9557B" i]{fill:#D95A55}html[data-theme=xmas][data-ver] [stroke="#D9557B" i]{stroke:#D95A55}
html[data-theme=xmas][data-ver] [fill="#7A5C63" i]{fill:#4E6A58}html[data-theme=xmas][data-ver] [stroke="#7A5C63" i]{stroke:#4E6A58}
html[data-theme=xmas][data-ver] [fill="#B9A3A8" i]{fill:#9DB7A5}html[data-theme=xmas][data-ver] [stroke="#B9A3A8" i]{stroke:#9DB7A5}
html[data-theme=xmas][data-ver] [fill="#D8C4C9" i]{fill:#BBD3C2}html[data-theme=xmas][data-ver] [stroke="#D8C4C9" i]{stroke:#BBD3C2}
html[data-theme=xmas][data-ver] [fill="#6B3A48" i]{fill:#2E5A44}html[data-theme=xmas][data-ver] [stroke="#6B3A48" i]{stroke:#2E5A44}
html[data-theme=xmas][data-ver] [fill="#C9B3B8" i]{fill:#B5CDBB}html[data-theme=xmas][data-ver] [stroke="#C9B3B8" i]{stroke:#B5CDBB}
html[data-theme=xmas][data-ver] [fill="#EBD9CC" i]{fill:#D3E6D8}html[data-theme=xmas][data-ver] [stroke="#EBD9CC" i]{stroke:#D3E6D8}
html[data-theme=xmas][data-ver] [fill="#E3D0C7" i]{fill:#D3E6D8}html[data-theme=xmas][data-ver] [stroke="#E3D0C7" i]{stroke:#D3E6D8}
html[data-theme=xmas][data-ver] [fill="#F1DDD4" i]{fill:#DCEBDF}html[data-theme=xmas][data-ver] [stroke="#F1DDD4" i]{stroke:#DCEBDF}
html[data-theme=xmas][data-ver] [fill="#2A1A1F" i]{fill:#1D2A22}html[data-theme=xmas][data-ver] [stroke="#2A1A1F" i]{stroke:#1D2A22}
html[data-theme=xmas][data-ver] body{background-image:radial-gradient(rgba(192,49,47,.09) 1.6px,transparent 2.2px);background-size:28px 28px}
html[data-theme=xmas][data-ver] .letter::before{background:repeating-linear-gradient(45deg,var(--line1) 0 9px,var(--tint) 9px 18px)}html[data-theme=xmas][data-ver] .letter::after{background:repeating-linear-gradient(45deg,var(--pink3) 0 9px,var(--tint) 9px 18px)}
html[data-theme=xmas][data-ver] .ruled{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,var(--rule) 33px,var(--rule) 34px)}
html[data-theme=nye][data-ver]{--bg:#F2F3FA;--pri:#1F2A5C;--deep:#121A42;--deeper:#0A0F2B;--pri-h:#2B3A7A;--tint:#E1E5F6;--pink1:#F2D27A;--line1:#C9D0EE;--line2:#B3B7CF;--line3:#D5DAF0;--line4:#C3C8E3;--soft:#565C80;--bg2:#E0E4F4;--dis1:#E2E5F0;--dis2:#A5AACB;--paper:#FBFBFF;--rule:#DDE1F3;--rule2:#CBD0EA;--mute:#838BB8;--pink2:#E8C24F;--pink3:#F6E3A8;--wine:#2E3668;--ink:#151B3A;--dark:#0E1230;--heart:#2B3A7A;--heart2:#EBC65A;--heart3:#F6DE98;--pri-rgb:31,42,92;--ink-rgb:21,27,58}
html[data-theme=nye][data-ver] [fill="#C73A62" i]{fill:#2B3A7A}html[data-theme=nye][data-ver] [stroke="#C73A62" i]{stroke:#2B3A7A}
html[data-theme=nye][data-ver] [fill="#8C1D40" i]{fill:#121A42}html[data-theme=nye][data-ver] [stroke="#8C1D40" i]{stroke:#121A42}
html[data-theme=nye][data-ver] [fill="#A92E51" i]{fill:#1F2A5C}html[data-theme=nye][data-ver] [stroke="#A92E51" i]{stroke:#1F2A5C}
html[data-theme=nye][data-ver] [fill="#B8506F" i]{fill:#4A5BA8}html[data-theme=nye][data-ver] [stroke="#B8506F" i]{stroke:#4A5BA8}
html[data-theme=nye][data-ver] [fill="#F4A7B9" i]{fill:#F2D27A}html[data-theme=nye][data-ver] [stroke="#F4A7B9" i]{stroke:#F2D27A}
html[data-theme=nye][data-ver] [fill="#F2B8C6" i]{fill:#F6DE98}html[data-theme=nye][data-ver] [stroke="#F2B8C6" i]{stroke:#F6DE98}
html[data-theme=nye][data-ver] [fill="#E88AA3" i]{fill:#E8C24F}html[data-theme=nye][data-ver] [stroke="#E88AA3" i]{stroke:#E8C24F}
html[data-theme=nye][data-ver] [fill="#F6D2DB" i]{fill:#F9E8B8}html[data-theme=nye][data-ver] [stroke="#F6D2DB" i]{stroke:#F9E8B8}
html[data-theme=nye][data-ver] [fill="#F6D5DD" i]{fill:#E1E5F6}html[data-theme=nye][data-ver] [stroke="#F6D5DD" i]{stroke:#E1E5F6}
html[data-theme=nye][data-ver] [fill="#FBE3EA" i]{fill:#E1E5F6}html[data-theme=nye][data-ver] [stroke="#FBE3EA" i]{stroke:#E1E5F6}
html[data-theme=nye][data-ver] [fill="#FBF3EA" i]{fill:#F2F3FA}html[data-theme=nye][data-ver] [stroke="#FBF3EA" i]{stroke:#F2F3FA}
html[data-theme=nye][data-ver] [fill="#EFC0CC" i]{fill:#C9D0EE}html[data-theme=nye][data-ver] [stroke="#EFC0CC" i]{stroke:#C9D0EE}
html[data-theme=nye][data-ver] [fill="#E7AFC0" i]{fill:#B1BCE6}html[data-theme=nye][data-ver] [stroke="#E7AFC0" i]{stroke:#B1BCE6}
html[data-theme=nye][data-ver] [fill="#F58FA8" i]{fill:#EBC65A}html[data-theme=nye][data-ver] [stroke="#F58FA8" i]{stroke:#EBC65A}
html[data-theme=nye][data-ver] [fill="#D9557B" i]{fill:#3A4A98}html[data-theme=nye][data-ver] [stroke="#D9557B" i]{stroke:#3A4A98}
html[data-theme=nye][data-ver] [fill="#7A5C63" i]{fill:#565C80}html[data-theme=nye][data-ver] [stroke="#7A5C63" i]{stroke:#565C80}
html[data-theme=nye][data-ver] [fill="#B9A3A8" i]{fill:#A5AACB}html[data-theme=nye][data-ver] [stroke="#B9A3A8" i]{stroke:#A5AACB}
html[data-theme=nye][data-ver] [fill="#D8C4C9" i]{fill:#C3C8E3}html[data-theme=nye][data-ver] [stroke="#D8C4C9" i]{stroke:#C3C8E3}
html[data-theme=nye][data-ver] [fill="#6B3A48" i]{fill:#2E3668}html[data-theme=nye][data-ver] [stroke="#6B3A48" i]{stroke:#2E3668}
html[data-theme=nye][data-ver] [fill="#C9B3B8" i]{fill:#B3B7CF}html[data-theme=nye][data-ver] [stroke="#C9B3B8" i]{stroke:#B3B7CF}
html[data-theme=nye][data-ver] [fill="#EBD9CC" i]{fill:#D5DAF0}html[data-theme=nye][data-ver] [stroke="#EBD9CC" i]{stroke:#D5DAF0}
html[data-theme=nye][data-ver] [fill="#E3D0C7" i]{fill:#D5DAF0}html[data-theme=nye][data-ver] [stroke="#E3D0C7" i]{stroke:#D5DAF0}
html[data-theme=nye][data-ver] [fill="#F1DDD4" i]{fill:#DDE1F3}html[data-theme=nye][data-ver] [stroke="#F1DDD4" i]{stroke:#DDE1F3}
html[data-theme=nye][data-ver] [fill="#2A1A1F" i]{fill:#151B3A}html[data-theme=nye][data-ver] [stroke="#2A1A1F" i]{stroke:#151B3A}
html[data-theme=nye][data-ver] body{background-image:radial-gradient(rgba(31,42,92,.09) 1.6px,transparent 2.2px);background-size:28px 28px}
html[data-theme=nye][data-ver] .letter::before{background:repeating-linear-gradient(45deg,var(--line1) 0 9px,var(--tint) 9px 18px)}html[data-theme=nye][data-ver] .letter::after{background:repeating-linear-gradient(45deg,var(--pink3) 0 9px,var(--tint) 9px 18px)}
html[data-theme=nye][data-ver] .ruled{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,var(--rule) 33px,var(--rule) 34px)}
html[data-theme=bday][data-ver]{--bg:#FFF7E8;--pri:#E8512F;--deep:#B33716;--deeper:#7A220B;--pri-h:#CC4222;--tint:#FFE9C7;--pink1:#FFC857;--line1:#FFE0A8;--line2:#D8C4A0;--line3:#F3E0BE;--line4:#E8D3AE;--soft:#7A5B3C;--bg2:#FBEBCF;--dis1:#F1E6D2;--dis2:#BBA783;--paper:#FFFDF7;--rule:#F6E7CB;--rule2:#EBD6B0;--mute:#B38A5A;--pink2:#FFC857;--pink3:#FFE0A8;--wine:#6B3A1E;--ink:#2B1B14;--dark:#20140E;--heart:#E8512F;--heart2:#FF9F7A;--heart3:#FFD0B8;--pri-rgb:232,81,47;--ink-rgb:43,27,20}
html[data-theme=bday][data-ver] [fill="#C73A62" i]{fill:#E8512F}html[data-theme=bday][data-ver] [stroke="#C73A62" i]{stroke:#E8512F}
html[data-theme=bday][data-ver] [fill="#8C1D40" i]{fill:#B33716}html[data-theme=bday][data-ver] [stroke="#8C1D40" i]{stroke:#B33716}
html[data-theme=bday][data-ver] [fill="#A92E51" i]{fill:#CC4222}html[data-theme=bday][data-ver] [stroke="#A92E51" i]{stroke:#CC4222}
html[data-theme=bday][data-ver] [fill="#B8506F" i]{fill:#F0805F}html[data-theme=bday][data-ver] [stroke="#B8506F" i]{stroke:#F0805F}
html[data-theme=bday][data-ver] [fill="#F4A7B9" i]{fill:#FFC857}html[data-theme=bday][data-ver] [stroke="#F4A7B9" i]{stroke:#FFC857}
html[data-theme=bday][data-ver] [fill="#F2B8C6" i]{fill:#FFD98A}html[data-theme=bday][data-ver] [stroke="#F2B8C6" i]{stroke:#FFD98A}
html[data-theme=bday][data-ver] [fill="#E88AA3" i]{fill:#FF9F7A}html[data-theme=bday][data-ver] [stroke="#E88AA3" i]{stroke:#FF9F7A}
html[data-theme=bday][data-ver] [fill="#F6D2DB" i]{fill:#FFE6B8}html[data-theme=bday][data-ver] [stroke="#F6D2DB" i]{stroke:#FFE6B8}
html[data-theme=bday][data-ver] [fill="#F6D5DD" i]{fill:#FFE9C7}html[data-theme=bday][data-ver] [stroke="#F6D5DD" i]{stroke:#FFE9C7}
html[data-theme=bday][data-ver] [fill="#FBE3EA" i]{fill:#FFE9C7}html[data-theme=bday][data-ver] [stroke="#FBE3EA" i]{stroke:#FFE9C7}
html[data-theme=bday][data-ver] [fill="#FBF3EA" i]{fill:#FFF7E8}html[data-theme=bday][data-ver] [stroke="#FBF3EA" i]{stroke:#FFF7E8}
html[data-theme=bday][data-ver] [fill="#EFC0CC" i]{fill:#FFE0A8}html[data-theme=bday][data-ver] [stroke="#EFC0CC" i]{stroke:#FFE0A8}
html[data-theme=bday][data-ver] [fill="#E7AFC0" i]{fill:#FFD08A}html[data-theme=bday][data-ver] [stroke="#E7AFC0" i]{stroke:#FFD08A}
html[data-theme=bday][data-ver] [fill="#F58FA8" i]{fill:#FF8F6B}html[data-theme=bday][data-ver] [stroke="#F58FA8" i]{stroke:#FF8F6B}
html[data-theme=bday][data-ver] [fill="#D9557B" i]{fill:#F26B45}html[data-theme=bday][data-ver] [stroke="#D9557B" i]{stroke:#F26B45}
html[data-theme=bday][data-ver] [fill="#7A5C63" i]{fill:#7A5B3C}html[data-theme=bday][data-ver] [stroke="#7A5C63" i]{stroke:#7A5B3C}
html[data-theme=bday][data-ver] [fill="#B9A3A8" i]{fill:#BBA783}html[data-theme=bday][data-ver] [stroke="#B9A3A8" i]{stroke:#BBA783}
html[data-theme=bday][data-ver] [fill="#D8C4C9" i]{fill:#E8D3AE}html[data-theme=bday][data-ver] [stroke="#D8C4C9" i]{stroke:#E8D3AE}
html[data-theme=bday][data-ver] [fill="#6B3A48" i]{fill:#6B3A1E}html[data-theme=bday][data-ver] [stroke="#6B3A48" i]{stroke:#6B3A1E}
html[data-theme=bday][data-ver] [fill="#C9B3B8" i]{fill:#D8C4A0}html[data-theme=bday][data-ver] [stroke="#C9B3B8" i]{stroke:#D8C4A0}
html[data-theme=bday][data-ver] [fill="#EBD9CC" i]{fill:#F3E0BE}html[data-theme=bday][data-ver] [stroke="#EBD9CC" i]{stroke:#F3E0BE}
html[data-theme=bday][data-ver] [fill="#E3D0C7" i]{fill:#F3E0BE}html[data-theme=bday][data-ver] [stroke="#E3D0C7" i]{stroke:#F3E0BE}
html[data-theme=bday][data-ver] [fill="#F1DDD4" i]{fill:#F6E7CB}html[data-theme=bday][data-ver] [stroke="#F1DDD4" i]{stroke:#F6E7CB}
html[data-theme=bday][data-ver] [fill="#2A1A1F" i]{fill:#2B1B14}html[data-theme=bday][data-ver] [stroke="#2A1A1F" i]{stroke:#2B1B14}
html[data-theme=bday][data-ver] body{background-image:radial-gradient(rgba(232,81,47,.09) 1.6px,transparent 2.2px);background-size:28px 28px}
html[data-theme=bday][data-ver] .letter::before{background:repeating-linear-gradient(45deg,var(--line1) 0 9px,var(--tint) 9px 18px)}html[data-theme=bday][data-ver] .letter::after{background:repeating-linear-gradient(45deg,var(--pink3) 0 9px,var(--tint) 9px 18px)}
html[data-theme=bday][data-ver] .ruled{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,var(--rule) 33px,var(--rule) 34px)}
@keyframes pxShoot{0%{transform:translate(0,0) rotate(-35deg);opacity:0}8%{opacity:1}55%,100%{transform:translate(-280px,190px) rotate(-35deg);opacity:0}}
.px-shoot{width:90px;height:3px;background:linear-gradient(90deg,transparent,#FFD66B);border-radius:3px;opacity:0;animation:pxShoot 9s ease-out infinite}
@keyframes pxBulb{0%,100%{opacity:1}50%{opacity:.4}}
.px-bulb{animation:pxBulb 1.6s ease-in-out infinite}
.px-deco i svg{display:block;width:100%;height:auto}
.px-banner{height:26px}
html[data-theme=nye] .px-ribbon{background:var(--deep);color:#F2D27A}
html[data-theme=xmas] .px-ribbon{background:var(--pri)}
html[data-theme=bday] .px-ribbon{background:var(--pri);color:#FFF7E8}
