.oshi-flow{flex-direction:column;gap:16px;display:flex}.oshi-lead{text-align:center}.oshi-headline{margin:0;font-size:1.25rem;font-weight:900;line-height:1.35}.oshi-subhead{color:var(--muted);margin:4px 0 0;font-size:.85rem;font-weight:700}.oshi-stage{--slot-w:132px;background:linear-gradient(160deg, var(--oshi-start), var(--oshi-end));border-radius:24px;justify-content:space-between;align-items:flex-end;gap:4px;height:236px;padding:12px 8px;display:flex;position:relative;overflow:hidden}.oshi-stage:before{content:"";background:radial-gradient(ellipse at 60% 30%, var(--glow), var(--glow-clear) 65%);pointer-events:none;width:78%;height:130%;position:absolute;top:-30%;right:-10%}.oshi-slot{justify-content:center;min-width:0;display:flex;position:relative}.oshi-slot-me{transform-origin:50% 100%;transform:scale(.88)}.oshi-badge{background:var(--surface-a92);border:1px solid var(--border-oshi);color:var(--accent);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:800;position:absolute;top:10px;left:50%;transform:translate(-50%)}.oshi-fx{pointer-events:none;font-weight:800;position:absolute}.oshi-stage[data-bracket=wave] .oshi-slot-oshi .chara-body{animation:1.1s ease-in-out infinite oshi-wave}.oshi-hand{font-size:1.6rem;animation:1.1s ease-in-out infinite oshi-hand;bottom:52%;right:14%}.oshi-spark{font-size:1.1rem;animation:1.8s ease-in-out infinite oshi-spark}.oshi-spark-1{top:18%;right:34%}.oshi-spark-2{animation-delay:.6s;top:34%;right:8%}.oshi-stage[data-bracket=glance] .oshi-slot-oshi .chara-body{animation:2.4s ease-in-out both oshi-glance}.oshi-sweat{font-size:1.2rem;animation:2.6s ease-in both oshi-sweat;top:22%;right:16%}.oshi-bubble{background:var(--surface);border:1px solid var(--border-oshi);border-radius:14px;max-width:44%;padding:5px 10px;font-size:.8rem;animation:.5s ease-out 1.4s both oshi-bubble;top:10%;right:6%}.oshi-bubble-cold{border-color:var(--border-cool);color:var(--muted);letter-spacing:.2em;animation-delay:.8s}.oshi-stage[data-bracket=ignore]{background:linear-gradient(160deg, var(--oshi-ignore-start), var(--oshi-ignore-end))}.oshi-stage[data-bracket=ignore] .oshi-slot-oshi .chara-body{filter:grayscale(.25);transform:scaleX(-1)}:root[data-theme=dark] .oshi-stage[data-bracket=ignore] .oshi-slot-oshi .chara-body{filter:grayscale(.25) drop-shadow(0 0 3px var(--art-halo))}.oshi-stage[data-bracket=ignore] .oshi-slot-me .chara-body{animation:2.2s ease-out both oshi-droop}.oshi-wind{background:linear-gradient(90deg, var(--glow-clear), var(--glow-wind), var(--glow-clear));height:2px;animation:2.4s linear infinite oshi-wind;top:46%;left:0;right:0}@keyframes oshi-wave{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes oshi-hand{0%,to{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}@keyframes oshi-spark{0%,to{opacity:.2;transform:translateY(4px)scale(.9)}50%{opacity:1;transform:translateY(-4px)scale(1.1)}}@keyframes oshi-glance{0%{transform:rotate(0)}25%{transform:rotate(-4deg)}55%{transform:rotate(6deg)translate(6px)}to{transform:rotate(9deg)translate(10px)}}@keyframes oshi-sweat{0%{opacity:0;transform:translateY(-6px)}40%{opacity:1}to{opacity:1;transform:translateY(10px)}}@keyframes oshi-bubble{0%{opacity:0;transform:translateY(6px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes oshi-droop{0%{transform:translateY(0)rotate(0)}to{transform:translateY(6px)rotate(-3deg)}}@keyframes oshi-wind{0%{transform:translate(-40%)}to{transform:translate(40%)}}.oshi-result{flex-direction:column;gap:14px;display:flex}.oshi-numbers{text-align:center;animation:.5s .4s both oshi-rise}.oshi-numbers p{margin:0}.oshi-bracket-title{letter-spacing:.1em;color:var(--accent);font-size:.85rem;font-weight:800}.oshi-percent{flex-direction:column;align-items:center;display:flex}.oshi-percent-label{color:var(--muted);font-size:.9rem}.oshi-percent-value{color:var(--accent);font-size:4rem;font-weight:900;line-height:1}.oshi-reaction{font-size:.95rem;font-weight:700;line-height:1.5;margin-top:6px!important}.oshi-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:14px;display:flex}.oshi-card-title{font-size:.85rem;font-weight:800}.oshi-card-line{text-align:left;margin:0;font-size:.95rem;line-height:1.7}.oshi-recognition-value{color:var(--cool-text);letter-spacing:.02em;font-size:1.15rem;font-weight:900}.oshi-recognition-joke{color:var(--muted);margin:2px 0 0;font-size:.85rem;line-height:1.6}.oshi-gift{border-color:var(--border)}.oshi-forbidden{border-color:var(--border-cool);background:var(--surface-cool)}.oshi-forbidden .oshi-card-title{color:var(--danger)}.oshi-share-card{background:linear-gradient(160deg, var(--oshi-start), var(--oshi-end));border:1px solid var(--border-oshi);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin-bottom:10px;padding:14px 10px 10px;display:flex}.oshi-share-faces{justify-content:center;align-items:flex-end;gap:4px;display:flex}.oshi-share-faces img{aspect-ratio:1;object-fit:contain;width:92px;height:auto}:root[data-theme=dark] .oshi-share-faces img{filter:drop-shadow(0 0 3px var(--art-halo))}.oshi-share-x{color:var(--accent);padding-bottom:28px;font-size:1.1rem;font-weight:900}.oshi-share-pair{margin:0;font-size:.85rem;font-weight:800}.oshi-share-nums{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:4px 0 0;font-size:.85rem;font-weight:700;display:flex}.oshi-share-num{align-items:baseline;gap:4px;display:inline-flex}.oshi-share-nums strong{color:var(--accent);font-size:1.25rem}.oshi-share-site{color:var(--muted);letter-spacing:.08em;margin:4px 0 0;font-size:.7rem;font-weight:800}.oshi-share-hint{color:var(--muted);margin:8px 0 0;font-size:.85rem}.oshi-share .share-btn{text-align:center;justify-content:center;align-items:center;min-height:48px;padding:0 8px;display:flex}@keyframes oshi-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-height:700px){.oshi-stage{--slot-w:116px;height:200px}}@media (prefers-reduced-motion:reduce){.oshi-stage *,.oshi-fx,.oshi-numbers,.oshi-stage[data-bracket=wave] .oshi-slot-oshi .chara-body,.oshi-stage[data-bracket=glance] .oshi-slot-oshi .chara-body,.oshi-stage[data-bracket=ignore] .oshi-slot-me .chara-body{transition:none!important;animation:none!important}.oshi-stage[data-bracket=glance] .oshi-slot-oshi .chara-body{transform:rotate(9deg)translate(10px)}.oshi-fx{opacity:1}}
